shData = {"base_url":"http:\/\/www.heliosamsterdam.nl\/sh\/","root_url":"http:\/\/www.heliosamsterdam.nl\/sh\/","current_url":"http:\/\/www.heliosamsterdam.nl\/sh\/assetmgr\/js\/ff074411a77fb13f75de930c9b29c6b3.js","elapsed_time":"0.0201","memory_usage":"3.73MB"};
/**
 * Loaded files: 
 * jquery-1.3.2.min
 * jquery.xLazyLoader
 * jquery.contextmenu
 * jquery.corner
 * jquery.tablednd
 * jquery.rule-1.0.1-pack
 * jquery.jgrowl
 * jquery.sh
 * jquery.cookie
 * cufon
 * ArnoPro_400-ArnoPro_700.font
 * mootools-1.2.2-core
 * form
 * helios
 * string
 */
request_key="1568cbc41cf8644fcfa0d0d8ceb362e7"; root_url = "http://www.heliosamsterdam.nl/sh/"; base_url = "http://www.heliosamsterdam.nl/sh/";
/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
/*
 * xLazyLoader 1.1 - Plugin for jQuery
 * 
 * Load js, css and  imgs
 *
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Depends:
 *   jquery.js
 *
 *  Copyright (c) 2008 Oleg Slobodskoi (ajaxsoft.de)
 */

;(function($){

    $.xLazyLoader =  function ( method, options ) {
        if ( typeof method == 'object' ) {
            options = method;
            method = 'init';
        };
        var obj = {instance: new xLazyLoader(options, function(){
            delete obj.instance;    
        })};
        obj.instance[method](options);
    };
    
    $.xLazyLoader.defaults = {
        js: [], css: [], img: [],
        name: null,
        timeout: 20000,
        /* success callback for all files*/
        success: function(){}, 
        /* error callback - by load errors / timeout */
        error: function(){},
        /* complete callbck - by success or errors */
        complete: function(){},
        /* success callback for each file */
        each: function(){} 
    };

    var $head = $('head');
    
    function xLazyLoader ( options, deleteInstance )
    {

        var self = this,
            s = $.extend({}, $.xLazyLoader.defaults, options),
            loaded = [],
            errors = [],
            tTimeout,
            cssTimeout,
            toLoad = {js: s.js, css: s.css, img: s.img},
            files = []
        ;
        
        this.init = function ()
        {
            $.each(toLoad, function( type, f ){
                if ( typeof f == 'string' )        
                    f = f.split(',');
                files = files.concat(f);    
            });

            if ( !files.length ) {
                dispatchCallbacks('error');
                return;    
            };

            if (s.timeout)
                tTimeout = setTimeout(function(){
                    var handled = loaded.concat(errors);
                    /* search for unhandled files */
                    $.each(files, function(i, file){
                        $.inArray(file, handled) == -1 && errors.push(file);        
                    });
                    dispatchCallbacks('error');            
                }, s.timeout);


            $.each(toLoad, function(type, urls){
                if ( $.isArray(urls) )
                    $.each( urls, function(i, url){
                        load(type, url);
                    });
                else if (typeof urls == 'string')
                    load(type, urls);
            });
            


        };

        this.js = function ( src, callback, name )
        {
        
            if ( $('script[src*="'+src+'"]').length ) {
                callback();
                return;
            };

            var script = document.createElement('script');
            script.setAttribute("type","text/javascript");
            script.setAttribute("src", src);
            script.setAttribute('id', name);

            /* Mozilla only */
               script.onerror = addError;
            
            
            if ($.browser.msie)
                script.onreadystatechange = function ()    {
                     /loaded|complete/.test(script.readyState) && callback();
                }
            else
                /* Mozilla, Safari, Opera, Chrome */
                script.onload = callback;

            $head[0].appendChild(script);

        };
        
        this.css = function ( href, callback, name )
        {

            if ( $('link[href*="'+href+'"]').length ) {
                callback();
                return;
            };
            

            var link = $('<link rel="stylesheet" type="text/css" media="all" href="'+href+'" id="'+name+'"></link>')[0];
            if ( $.browser.msie )
                link.onreadystatechange = function () {
                    /loaded|complete/.test(link.readyState) && callback();
                }
            else if ( $.browser.opera )
                link.onload = callback;
            else
                /* Mozilla, Safari, Chrome 
                 * unfortunately it is inpossible to check if the stylesheet is really loaded or it is "HTTP/1.0 400 Bad Request"
                 * the only way to do this is to check if some special properties  were set, so there is no error callback for stylesheets -
                 * it fires alway success
                 */
                (function(){
                    try {
                        link.sheet;
                    } catch (e) {
                        cssTimeout = setTimeout(arguments.callee, 20);
                        return;
                    };
                    callback();
                })();
            $head.append(link);
        };
        
        this.img = function ( src, callback )
        {
            var img = new Image();
            img.onload = callback;
            /* working in all browsers */
            img.onerror = addError;
            img.src = src;
        };
        
        /* It works only for css */
        this.disable = function ( name )
        {    
            $('#lazy-loaded-'+name, $head[0]).attr('disabled', 'disabled');
            deleteInstance();
        };

        /* It works only for css */
        this.enable = function ( name )
        {    
            $('#lazy-loaded-'+name, $head[0]).removeAttr('disabled');
            deleteInstance();
        };
        
        /*
         * By removing js tag, script ist still living in browser memory,
         * css will be really destroyed
         */
        this.destroy = function ( name )
        {
            $('#lazy-loaded-'+name, $head[0]).remove();    
            deleteInstance();
        };
        
        function load ( type, url ) {
            self[type](url, function(status) { 
                status == 'error' ? errors.push(url) : loaded.push(url) && s.each(url);
                checkProgress();
            }, 'lazy-loaded-'+ (s.name ? s.name : new Date().getTime()) );
        };
        
        function dispatchCallbacks ( status ) {
            s.complete(status, loaded, errors);
            s[status]( status=='error' ? errors : loaded);
            clearTimeout(tTimeout);
            clearTimeout(cssTimeout);
            deleteInstance();
        };
        
        function checkProgress () {
            if (loaded.length == files.length) dispatchCallbacks('success')
            else if (loaded.length+errors.length == files.length) dispatchCallbacks('error');
        };
        
        function addError () {
            errors.push(this.src);    
            checkProgress();
        };

    };



})(jQuery);        

/*
 * ContextMenu - jQuery plugin for right-click context menus
 *
 * Author: Chris Domigan
 * Contributors: Dan G. Switzer, II
 * Parts of this plugin are inspired by Joern Zaefferer's Tooltip plugin
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Version: r2
 * Date: 16 July 2007
 *
 * For documentation visit http://www.trendskitchens.co.nz/jquery/contextmenu/
 *
 */

(function($) {

 	var menu, shadow, trigger, content, hash, currentTarget;
  var defaults = {
    menuStyle: {
      listStyle: 'none',
      padding: '1px',
      margin: '0px',
      backgroundColor: '#fff',
      border: '1px solid #999',
      width: '100px'
    },
    itemStyle: {
      margin: '0px',
      color: '#000',
      display: 'block',
      cursor: 'default',
      padding: '3px',
      border: '1px solid #fff',
      backgroundColor: 'transparent'
    },
    itemHoverStyle: {
      border: '1px solid #0a246a',
      backgroundColor: '#b6bdd2'
    },
    eventPosX: 'pageX',
    eventPosY: 'pageY',
    shadow : true,
    onContextMenu: null,
    onShowMenu: null
 	};

  $.fn.contextMenu = function(id, options) {
    if (!menu) {                                      // Create singleton menu
      menu = $('<div id="jqContextMenu"></div>')
               .hide()
               .css({position:'absolute', zIndex:'500'})
               .appendTo('body')
               .bind('click', function(e) {
                 e.stopPropagation();
               });
    }
    if (!shadow) {
      shadow = $('<div></div>')
                 .css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499})
                 .appendTo('body')
                 .hide();
    }
    hash = hash || [];
    hash.push({
      id : id,
      menuStyle: $.extend({}, defaults.menuStyle, options.menuStyle || {}),
      itemStyle: $.extend({}, defaults.itemStyle, options.itemStyle || {}),
      itemHoverStyle: $.extend({}, defaults.itemHoverStyle, options.itemHoverStyle || {}),
      bindings: options.bindings || {},
      shadow: options.shadow || options.shadow === false ? options.shadow : defaults.shadow,
      onContextMenu: options.onContextMenu || defaults.onContextMenu,
      onShowMenu: options.onShowMenu || defaults.onShowMenu,
      eventPosX: options.eventPosX || defaults.eventPosX,
      eventPosY: options.eventPosY || defaults.eventPosY
    });

    var index = hash.length - 1;
    $(this).bind('contextmenu', function(e) {
      // Check if onContextMenu() defined
      var bShowContext = (!!hash[index].onContextMenu) ? hash[index].onContextMenu(e) : true;
      if (bShowContext) display(index, this, e, options);
      return false;
    });
    return this;
  };

  function display(index, trigger, e, options) {
    var cur = hash[index];
    content = $('#'+cur.id).find('ul:first').clone(true);
    content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(
      function() {
        $(this).css(cur.itemHoverStyle);
      },
      function(){
        $(this).css(cur.itemStyle);
      }
    ).find('img').css({verticalAlign:'middle',paddingRight:'2px'});

    // Send the content to the menu
    menu.html(content);

    // if there's an onShowMenu, run it now -- must run after content has been added
		// if you try to alter the content variable before the menu.html(), IE6 has issues
		// updating the content
    if (!!cur.onShowMenu) menu = cur.onShowMenu(e, menu);

    $.each(cur.bindings, function(id, func) {
      $('#'+id, menu).bind('click', function(e) {
        hide();
        func(trigger, currentTarget);
      });
    });

    menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();
    if (cur.shadow) shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();
    $(document).one('click', hide);
  }

  function hide() {
    menu.hide();
    shadow.hide();
  }

  // Apply defaults
  $.contextMenu = {
    defaults : function(userDefaults) {
      $.each(userDefaults, function(i, val) {
        if (typeof val == 'object' && defaults[i]) {
          $.extend(defaults[i], val);
        }
        else defaults[i] = val;
      });
    }
  };

})(jQuery);

$(function() {
  $('div.contextMenu').hide();
});
/*!
 * jQuery corner plugin: simple corner rounding
 * Examples and documentation at: http://jquery.malsup.com/corner/
 * version 2.01 (08-SEP-2009)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */

/**
 *  corner() takes a single string argument:  $('#myDiv').corner("effect corners width")
 *
 *  effect:  name of the effect to apply, such as round, bevel, notch, bite, etc (default is round).
 *  corners: one or more of: top, bottom, tr, tl, br, or bl.
 *           by default, all four corners are adorned.
 *  width:   width of the effect; in the case of rounded corners this is the radius.
 *           specify this value using the px suffix such as 10px (and yes, it must be pixels).
 *
 * @author Dave Methvin (http://methvin.com/jquery/jq-corner.html)
 * @author Mike Alsup   (http://jquery.malsup.com/corner/)
 */
;(function($) {

var moz = $.browser.mozilla && /gecko/i.test(navigator.userAgent);
var webkit = $.browser.safari && $.browser.version >= 3;

var expr = $.browser.msie && (function() {
    var div = document.createElement('div');
    try { div.style.setExpression('width','0+0'); }
    catch(e) { return false; }
    return true;
})();

function sz(el, p) {
    return parseInt($.css(el,p))||0;
};
function hex2(s) {
    var s = parseInt(s).toString(16);
    return ( s.length < 2 ) ? '0'+s : s;
};
function gpc(node) {
    for ( ; node && node.nodeName.toLowerCase() != 'html'; node = node.parentNode ) {
        var v = $.css(node,'backgroundColor');
        if (v == 'rgba(0, 0, 0, 0)')
            continue; // webkit
        if (v.indexOf('rgb') >= 0) {
            var rgb = v.match(/\d+/g);
            return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
        }
        if ( v && v != 'transparent' )
            return v;
    }
    return '#ffffff';
};

function getWidth(fx, i, width) {
    switch(fx) {
    case 'round':  return Math.round(width*(1-Math.cos(Math.asin(i/width))));
    case 'cool':   return Math.round(width*(1+Math.cos(Math.asin(i/width))));
    case 'sharp':  return Math.round(width*(1-Math.cos(Math.acos(i/width))));
    case 'bite':   return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
    case 'slide':  return Math.round(width*(Math.atan2(i,width/i)));
    case 'jut':    return Math.round(width*(Math.atan2(width,(width-i-1))));
    case 'curl':   return Math.round(width*(Math.atan(i)));
    case 'tear':   return Math.round(width*(Math.cos(i)));
    case 'wicked': return Math.round(width*(Math.tan(i)));
    case 'long':   return Math.round(width*(Math.sqrt(i)));
    case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
    case 'dog':    return (i&1) ? (i+1) : width;
    case 'dog2':   return (i&2) ? (i+1) : width;
    case 'dog3':   return (i&3) ? (i+1) : width;
    case 'fray':   return (i%2)*width;
    case 'notch':  return width;
    case 'bevel':  return i+1;
    }
};

$.fn.corner = function(options) {
    // in 1.3+ we can fix mistakes with the ready state
	if (this.length == 0) {
        if (!$.isReady && this.selector) {
            var s = this.selector, c = this.context;
            $(function() {
                $(s,c).corner(options);
            });
        }
        return this;
	}

    return this.each(function(index){
		var $this = $(this);
		var o = (options || $this.attr($.fn.corner.defaults.metaAttr) || '').toLowerCase();
		var keep = /keep/.test(o);                       // keep borders?
		var cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]);  // corner color
		var sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]);  // strip color
		var width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10; // corner width
		var re = /round|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dog/;
		var fx = ((o.match(re)||['round'])[0]);
		var edges = { T:0, B:1 };
		var opts = {
			TL:  /top|tl|left/.test(o),       TR:  /top|tr|right/.test(o),
			BL:  /bottom|bl|left/.test(o),    BR:  /bottom|br|right/.test(o)
		};
		if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
			opts = { TL:1, TR:1, BL:1, BR:1 };

		// support native rounding
		if ($.fn.corner.defaults.useNative && fx == 'round' && (moz || webkit) && !cc && !sc) {
			if (opts.TL)
				$this.css(moz ? '-moz-border-radius-topleft' : '-webkit-border-top-left-radius', width + 'px');
			if (opts.TR)
				$this.css(moz ? '-moz-border-radius-topright' : '-webkit-border-top-right-radius', width + 'px');
			if (opts.BL)
				$this.css(moz ? '-moz-border-radius-bottomleft' : '-webkit-border-bottom-left-radius', width + 'px');
			if (opts.BR)
				$this.css(moz ? '-moz-border-radius-bottomright' : '-webkit-border-bottom-right-radius', width + 'px');
			return;
		}

		var strip = document.createElement('div');
		strip.style.overflow = 'hidden';
		strip.style.height = '1px';
		strip.style.backgroundColor = sc || 'transparent';
		strip.style.borderStyle = 'solid';

        var pad = {
            T: parseInt($.css(this,'paddingTop'))||0,     R: parseInt($.css(this,'paddingRight'))||0,
            B: parseInt($.css(this,'paddingBottom'))||0,  L: parseInt($.css(this,'paddingLeft'))||0
        };

        if (typeof this.style.zoom != undefined) this.style.zoom = 1; // force 'hasLayout' in IE
        if (!keep) this.style.border = 'none';
        strip.style.borderColor = cc || gpc(this.parentNode);
        var cssHeight = $.curCSS(this, 'height');

        for (var j in edges) {
            var bot = edges[j];
            // only add stips if needed
            if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) {
                strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
                var d = document.createElement('div');
                $(d).addClass('jquery-corner');
                var ds = d.style;

                bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);

                if (bot && cssHeight != 'auto') {
                    if ($.css(this,'position') == 'static')
                        this.style.position = 'relative';
                    ds.position = 'absolute';
                    ds.bottom = ds.left = ds.padding = ds.margin = '0';
                    if (expr)
                        ds.setExpression('width', 'this.parentNode.offsetWidth');
                    else
                        ds.width = '100%';
                }
                else if (!bot && $.browser.msie) {
                    if ($.css(this,'position') == 'static')
                        this.style.position = 'relative';
                    ds.position = 'absolute';
                    ds.top = ds.left = ds.right = ds.padding = ds.margin = '0';

                    // fix ie6 problem when blocked element has a border width
                    if (expr) {
                        var bw = sz(this,'borderLeftWidth') + sz(this,'borderRightWidth');
                        ds.setExpression('width', 'this.parentNode.offsetWidth - '+bw+'+ "px"');
                    }
                    else
                        ds.width = '100%';
                }
                else {
                	ds.position = 'relative';
                    ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' :
                                        (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';
                }

                for (var i=0; i < width; i++) {
                    var w = Math.max(0,getWidth(fx,i, width));
                    var e = strip.cloneNode(false);
                    e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
                    bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
                }
            }
        }
    });
};

$.fn.uncorner = function() {
	if (moz || webkit)
		this.css(moz ? '-moz-border-radius' : '-webkit-border-radius', 0);
	$('div.jquery-corner', this).remove();
	return this;
};

// expose options
$.fn.corner.defaults = {
	useNative: true, // true if plugin should attempt to use native browser support for border radius rounding
	metaAttr:  'data-corner' // name of meta attribute to use for options
};

})(jQuery);
/**
 * TableDnD plug-in for JQuery, allows you to drag and drop table rows
 * You can set up various options to control how the system will work
 * Copyright (c) Denis Howlett <denish@isocra.com>
 * Licensed like jQuery, see http://docs.jquery.com/License.
 *
 * Configuration options:
 * 
 * onDragStyle
 *     This is the style that is assigned to the row during drag. There are limitations to the styles that can be
 *     associated with a row (such as you can't assign a border--well you can, but it won't be
 *     displayed). (So instead consider using onDragClass.) The CSS style to apply is specified as
 *     a map (as used in the jQuery css(...) function).
 * onDropStyle
 *     This is the style that is assigned to the row when it is dropped. As for onDragStyle, there are limitations
 *     to what you can do. Also this replaces the original style, so again consider using onDragClass which
 *     is simply added and then removed on drop.
 * onDragClass
 *     This class is added for the duration of the drag and then removed when the row is dropped. It is more
 *     flexible than using onDragStyle since it can be inherited by the row cells and other content. The default
 *     is class is tDnD_whileDrag. So to use the default, simply customise this CSS class in your
 *     stylesheet.
 * onDrop
 *     Pass a function that will be called when the row is dropped. The function takes 2 parameters: the table
 *     and the row that was dropped. You can work out the new order of the rows by using
 *     table.rows.
 * onDragStart
 *     Pass a function that will be called when the user starts dragging. The function takes 2 parameters: the
 *     table and the row which the user has started to drag.
 * onAllowDrop
 *     Pass a function that will be called as a row is over another row. If the function returns true, allow 
 *     dropping on that row, otherwise not. The function takes 2 parameters: the dragged row and the row under
 *     the cursor. It returns a boolean: true allows the drop, false doesn't allow it.
 * scrollAmount
 *     This is the number of pixels to scroll if the user moves the mouse cursor to the top or bottom of the
 *     window. The page should automatically scroll up or down as appropriate (tested in IE6, IE7, Safari, FF2,
 *     FF3 beta
 * dragHandle
 *     This is the name of a class that you assign to one or more cells in each row that is draggable. If you
 *     specify this class, then you are responsible for setting cursor: move in the CSS and only these cells
 *     will have the drag behaviour. If you do not specify a dragHandle, then you get the old behaviour where
 *     the whole row is draggable.
 * 
 * Other ways to control behaviour:
 *
 * Add class="nodrop" to any rows for which you don't want to allow dropping, and class="nodrag" to any rows
 * that you don't want to be draggable.
 *
 * Inside the onDrop method you can also call $.tableDnD.serialize() this returns a string of the form
 * <tableID>[]=<rowID1>&<tableID>[]=<rowID2> so that you can send this back to the server. The table must have
 * an ID as must all the rows.
 *
 * Other methods:
 *
 * $("...").tableDnDUpdate() 
 * Will update all the matching tables, that is it will reapply the mousedown method to the rows (or handle cells).
 * This is useful if you have updated the table rows using Ajax and you want to make the table draggable again.
 * The table maintains the original configuration (so you don't have to specify it again).
 *
 * $("...").tableDnDSerialize()
 * Will serialize and return the serialized string as above, but for each of the matching tables--so it can be
 * called from anywhere and isn't dependent on the currentTable being set up correctly before calling
 *
 * Known problems:
 * - Auto-scoll has some problems with IE7  (it scrolls even when it shouldn't), work-around: set scrollAmount to 0
 * 
 * Version 0.2: 2008-02-20 First public version
 * Version 0.3: 2008-02-07 Added onDragStart option
 *                         Made the scroll amount configurable (default is 5 as before)
 * Version 0.4: 2008-03-15 Changed the noDrag/noDrop attributes to nodrag/nodrop classes
 *                         Added onAllowDrop to control dropping
 *                         Fixed a bug which meant that you couldn't set the scroll amount in both directions
 *                         Added serialize method
 * Version 0.5: 2008-05-16 Changed so that if you specify a dragHandle class it doesn't make the whole row
 *                         draggable
 *                         Improved the serialize method to use a default (and settable) regular expression.
 *                         Added tableDnDupate() and tableDnDSerialize() to be called when you are outside the table
 */
jQuery.tableDnD = {
    /** Keep hold of the current table being dragged */
    currentTable : null,
    /** Keep hold of the current drag object if any */
    dragObject: null,
    /** The current mouse offset */
    mouseOffset: null,
    /** Remember the old value of Y so that we don't do too much processing */
    oldY: 0,

    /** Actually build the structure */
    build: function(options) {
        // Set up the defaults if any

        this.each(function() {
            // This is bound to each matching table, set up the defaults and override with user options
            this.tableDnDConfig = jQuery.extend({
                onDragStyle: null,
                onDropStyle: null,
				// Add in the default class for whileDragging
				onDragClass: "tDnD_whileDrag",
                onDrop: null,
                onDragStart: null,
                scrollAmount: 5,
				serializeRegexp: /[^\-]*$/, // The regular expression to use to trim row IDs
				serializeParamName: null, // If you want to specify another parameter name instead of the table ID
                dragHandle: null // If you give the name of a class here, then only Cells with this class will be draggable
            }, options || {});
            // Now make the rows draggable
            jQuery.tableDnD.makeDraggable(this);
        });

        // Now we need to capture the mouse up and mouse move event
        // We can use bind so that we don't interfere with other event handlers
        jQuery(document)
            .bind('mousemove', jQuery.tableDnD.mousemove)
            .bind('mouseup', jQuery.tableDnD.mouseup);

        // Don't break the chain
        return this;
    },

    /** This function makes all the rows on the table draggable apart from those marked as "NoDrag" */
    makeDraggable: function(table) {
        var config = table.tableDnDConfig;
		if (table.tableDnDConfig.dragHandle) {
			// We only need to add the event to the specified cells
			var cells = jQuery("td."+table.tableDnDConfig.dragHandle, table);
			cells.each(function() {
				// The cell is bound to "this"
                jQuery(this).mousedown(function(ev) {
                    jQuery.tableDnD.dragObject = this.parentNode;
                    jQuery.tableDnD.currentTable = table;
                    jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
                    if (config.onDragStart) {
                        // Call the onDrop method if there is one
                        config.onDragStart(table, this);
                    }
                    return false;
                });
			})
		} else {
			// For backwards compatibility, we add the event to the whole row
	        var rows = jQuery("tr", table); // get all the rows as a wrapped set
	        rows.each(function() {
				// Iterate through each row, the row is bound to "this"
				var row = jQuery(this);
				if (! row.hasClass("nodrag")) {
	                row.mousedown(function(ev) {
	                    if (ev.target.tagName == "TD") {
	                        jQuery.tableDnD.dragObject = this;
	                        jQuery.tableDnD.currentTable = table;
	                        jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
	                        if (config.onDragStart) {
	                            // Call the onDrop method if there is one
	                            config.onDragStart(table, this);
	                        }
	                        return false;
	                    }
	                }).css("cursor", "move"); // Store the tableDnD object
				}
			});
		}
	},

	updateTables: function() {
		this.each(function() {
			// this is now bound to each matching table
			if (this.tableDnDConfig) {
				jQuery.tableDnD.makeDraggable(this);
			}
		})
	},

    /** Get the mouse coordinates from the event (allowing for browser differences) */
    mouseCoords: function(ev){
        if(ev.pageX || ev.pageY){
            return {x:ev.pageX, y:ev.pageY};
        }
        return {
            x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
            y:ev.clientY + document.body.scrollTop  - document.body.clientTop
        };
    },

    /** Given a target element and a mouse event, get the mouse offset from that element.
        To do this we need the element's position and the mouse position */
    getMouseOffset: function(target, ev) {
        ev = ev || window.event;

        var docPos    = this.getPosition(target);
        var mousePos  = this.mouseCoords(ev);
        return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
    },

    /** Get the position of an element by going up the DOM tree and adding up all the offsets */
    getPosition: function(e){
        var left = 0;
        var top  = 0;
        /** Safari fix -- thanks to Luis Chato for this! */
        if (e.offsetHeight == 0) {
            /** Safari 2 doesn't correctly grab the offsetTop of a table row
            this is detailed here:
            http://jacob.peargrove.com/blog/2006/technical/table-row-offsettop-bug-in-safari/
            the solution is likewise noted there, grab the offset of a table cell in the row - the firstChild.
            note that firefox will return a text node as a first child, so designing a more thorough
            solution may need to take that into account, for now this seems to work in firefox, safari, ie */
            e = e.firstChild; // a table cell
        }
		if (e && e.offsetParent) {
        	while (e.offsetParent){
            	left += e.offsetLeft;
            	top  += e.offsetTop;
            	e     = e.offsetParent;
        	}

        	left += e.offsetLeft;
        	top  += e.offsetTop;
        }

        return {x:left, y:top};
    },

    mousemove: function(ev) {
        if (jQuery.tableDnD.dragObject == null) {
            return;
        }

        var dragObj = jQuery(jQuery.tableDnD.dragObject);
        var config = jQuery.tableDnD.currentTable.tableDnDConfig;
        var mousePos = jQuery.tableDnD.mouseCoords(ev);
        var y = mousePos.y - jQuery.tableDnD.mouseOffset.y;
        //auto scroll the window
	    var yOffset = window.pageYOffset;
	 	if (document.all) {
	        // Windows version
	        //yOffset=document.body.scrollTop;
	        if (typeof document.compatMode != 'undefined' &&
	             document.compatMode != 'BackCompat') {
	           yOffset = document.documentElement.scrollTop;
	        }
	        else if (typeof document.body != 'undefined') {
	           yOffset=document.body.scrollTop;
	        }

	    }
		    
		if (mousePos.y-yOffset < config.scrollAmount) {
	    	window.scrollBy(0, -config.scrollAmount);
	    } else {
            var windowHeight = window.innerHeight ? window.innerHeight
                    : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
            if (windowHeight-(mousePos.y-yOffset) < config.scrollAmount) {
                window.scrollBy(0, config.scrollAmount);
            }
        }


        if (y != jQuery.tableDnD.oldY) {
            // work out if we're going up or down...
            var movingDown = y > jQuery.tableDnD.oldY;
            // update the old value
            jQuery.tableDnD.oldY = y;
            // update the style to show we're dragging
			if (config.onDragClass) {
				dragObj.addClass(config.onDragClass);
			} else {
	            dragObj.css(config.onDragStyle);
			}
            // If we're over a row then move the dragged row to there so that the user sees the
            // effect dynamically
            var currentRow = jQuery.tableDnD.findDropTargetRow(dragObj, y);
            if (currentRow) {
                // TODO worry about what happens when there are multiple TBODIES
                if (movingDown && jQuery.tableDnD.dragObject != currentRow) {
                    jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow.nextSibling);
                } else if (! movingDown && jQuery.tableDnD.dragObject != currentRow) {
                    jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow);
                }
            }
        }

        return false;
    },

    /** We're only worried about the y position really, because we can only move rows up and down */
    findDropTargetRow: function(draggedRow, y) {
        var rows = jQuery.tableDnD.currentTable.rows;
        for (var i=0; i<rows.length; i++) {
            var row = rows[i];
            var rowY    = this.getPosition(row).y;
            var rowHeight = parseInt(row.offsetHeight)/2;
            if (row.offsetHeight == 0) {
                rowY = this.getPosition(row.firstChild).y;
                rowHeight = parseInt(row.firstChild.offsetHeight)/2;
            }
            // Because we always have to insert before, we need to offset the height a bit
            if ((y > rowY - rowHeight) && (y < (rowY + rowHeight))) {
                // that's the row we're over
				// If it's the same as the current row, ignore it
				if (row == draggedRow) {return null;}
                var config = jQuery.tableDnD.currentTable.tableDnDConfig;
                if (config.onAllowDrop) {
                    if (config.onAllowDrop(draggedRow, row)) {
                        return row;
                    } else {
                        return null;
                    }
                } else {
					// If a row has nodrop class, then don't allow dropping (inspired by John Tarr and Famic)
                    var nodrop = jQuery(row).hasClass("nodrop");
                    if (! nodrop) {
                        return row;
                    } else {
                        return null;
                    }
                }
                return row;
            }
        }
        return null;
    },

    mouseup: function(e) {
        if (jQuery.tableDnD.currentTable && jQuery.tableDnD.dragObject) {
            var droppedRow = jQuery.tableDnD.dragObject;
            var config = jQuery.tableDnD.currentTable.tableDnDConfig;
            // If we have a dragObject, then we need to release it,
            // The row will already have been moved to the right place so we just reset stuff
			if (config.onDragClass) {
	            jQuery(droppedRow).removeClass(config.onDragClass);
			} else {
	            jQuery(droppedRow).css(config.onDropStyle);
			}
            jQuery.tableDnD.dragObject   = null;
            if (config.onDrop) {
                // Call the onDrop method if there is one
                config.onDrop(jQuery.tableDnD.currentTable, droppedRow);
            }
            jQuery.tableDnD.currentTable = null; // let go of the table too
        }
    },

    serialize: function() {
        if (jQuery.tableDnD.currentTable) {
            return jQuery.tableDnD.serializeTable(jQuery.tableDnD.currentTable);
        } else {
            return "Error: No Table id set, you need to set an id on your table and every row";
        }
    },

	serializeTable: function(table) {
        var result = "";
        var tableId = table.id;
        var rows = table.rows;
        for (var i=0; i<rows.length; i++) {
            if (result.length > 0) result += "&";
            var rowId = rows[i].id;
            if (rowId && rowId && table.tableDnDConfig && table.tableDnDConfig.serializeRegexp) {
                rowId = rowId.match(table.tableDnDConfig.serializeRegexp)[0];
            }

            result += tableId + '[]=' + rowId;
        }
        return result;
	},

	serializeTables: function() {
        var result = "";
        this.each(function() {
			// this is now bound to each matching table
			result += jQuery.tableDnD.serializeTable(this);
		});
        return result;
    }

}

jQuery.fn.extend(
	{
		tableDnD : jQuery.tableDnD.build,
		tableDnDUpdate : jQuery.tableDnD.updateTables,
		tableDnDSerialize: jQuery.tableDnD.serializeTables
	}
);
/**
 * jQuery.Rule - Css Rules manipulation, the jQuery way.
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 02/27/2008
 * @author Ariel Flesler
 * @version 1.0.1
 */
;eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}(';(4($){7 d=$(\'<9 1k="1l 1m" 1n="G/W" />\').H(\'1o\')[0],g=d.I?\'I\':\'1p\',h=d[g],j=h.15?\'15\':\'J\',l=h.16?\'16\':\'1q\',q=h.N?\'N\':\'1r\',t=/^([^{]+)\\{([^}]*)\\}/m,u=/([^:]+):([^;}]+)/;h.1s=!0;7 w=$.X=4(r,c){6(!(3 1t w))5 1u w(r,c);3.z=w.z(c);6(r&&t.17(r))r=w.18(r);6(C r==\'O\'&&!r.P)5 3.Y(r.D?r.D():r.1v?r:[r]);3.Y(3.z.J().D());5 r?3.E(r):3};$.1w(w,{z:4(c){7 o=c;6(C o!=\'O\')o=$.Z(1x.1y);o=$(o).19(h);6(C c==\'10\')o=o.N().E(c).I();5 o},X:4(a){6(a.A)5[\'\',a.A,a.9.K];5 t.P(a)},H:4(r,a,b){1z(C a){1a\'10\':a=3.z(a);1a\'O\':6(a[0])a=a[0];6(a[g])a=a[g];6(a[j])1A;1B:6(C r==\'O\')5 r;a=h}7 p;6(!b&&(p=3.Q(r)))r=3.R(r,p);7 c=3.X(r);6(a.1b)a.1b(c[1],c[2]||\';\');1c 6(a.1d)a.1d(c[1]+\'{\'+c[2]+\'}\',a[j].L);5 a[j][a[j].L-1]},R:4(r,p){p=p||3.Q(r);6(p!=h){7 i=p?$.S(r,p[j]):-1;6(i!=-1){r=3.H(r,0,1);p[l](i)}}5 r},18:4(r){5 $.T(r.B(\'}\'),4(a){6(a)5 w.H(a+\'}\')})},Q:4(r){6(C r==\'10\'||!$.1C.1D)5 r.1E;7 a;3.z().8(4(){6($.S(r,3[j])!=-1){a=3;5!1}});5 a},U:4(a){5!a?\'\':[a.A+\'{\',\'\\t\'+a.9.K,\'}\'].1e(\'\\n\').V()},G:4(a,b){6(b!==1F)a.9.K=b;5!a?\'\':a.9.K.V()}});w.F=w.1G={11:4(a,b){7 c=w(a,b||3.z);c.1f=3;5 c},1H:4(){5 3.1f||w(0,[])},E:4(s){7 o;6(!s)s=/./;6(s.B){o=$.1I(s).V().B(/\\s*,\\s*/);s=4(){5!!$.1g(3.A.V().B(/\\s*,\\s*/),4(a){5 $.S(a,o)!=-1}).L}}1c 6(s.P){o=s;s=4(){5 o.17(3.A)}}5 3.11($.1g(3,4(e,i){5 s.1J(e,i)}))},1K:4(a,c){5 3.11($.1L(3.D(),w(a,c)))},1M:4(s){5!!(s&&3.E(s).L)},19:4(n,c){n=w(n,c);5 3.E(4(){5 $.S(3,n)==-1})},1N:4(s){7 a=3,b;$.8(s.B(/\\s*;\\s*/),4(i,v){6((b=u.P(v)))a.W(b[1],b[2])});5 3},G:4(a){5!M.L?w.G(3[0]):3.8(4(){w.G(3,a)})},U:4(){5 w.U(3[0])}};$.8({N:q,I:g,J:j},4(m,a){7 b=a==j;$.F[m]=4(){5 3.T(4(){5 b?$.Z(3[a]):3[a]})}});$.F.K=4(){5 3.E(\'1O,9\').1h(0).I().J().T(4(){5 w.U(3)}).D().1e(\'\\n\')};$.8(\'R,H,Q\'.B(\',\'),4(k,f){w.F[f]=4(){7 a=$.Z(M),b=3;a.1P(0);5 3.8(4(i){a[0]=3;b[i]=w[f].12(w,a)||b[i]})}});$.8((\'8,1Q,Y,D,1R,1h,1S,T,1T,1U,W,1V,1W,1X,\'+\'1Y,1Z,20,21,22,23,24\').B(\',\'),4(k,f){w.F[f]=$.F[f]});7 x=$.13;$.13=4(e,a){5(\'A\'25 e)?e.9[a]||$.26(e,a==\'27\'?1:0,\'13\',0,a):x.12(3,M)};w.14={};7 y=4(c){5 4(a){7 b=a.A;6(b)M[0]=w.14[b]=w.14[b]||{};5 c.12($,M)}};$.1i=y($.1i);$.1j=y($.1j);$(28).29(4(){$(h).J().R()})})(2a);',62,135,'|||this|function|return|if|var|each|style||||||||||||||||||||||||||sheets|selectorText|split|typeof|get|filter|fn|text|appendTo|sheet|cssRules|cssText|length|arguments|ownerNode|object|exec|parent|remove|inArray|map|outerText|toLowerCase|css|rule|setArray|makeArray|string|pushStack|apply|curCSS|cache|rules|deleteRule|test|clean|not|case|addRule|else|insertRule|join|prevObject|grep|eq|data|removeData|rel|alternate|stylesheet|type|head|styleSheet|removeRule|owningElement|disabled|instanceof|new|splice|extend|document|styleSheets|switch|break|default|browser|msie|parentStyleSheet|undefined|prototype|end|trim|call|add|merge|is|append|link|unshift|index|size|slice|attr|andSelf|show|hide|toggle|queue|dequeue|stop|animate|fadeIn|fadeOut|fadeTo|in|prop|opacity|window|unload|jQuery'.split('|'),0,{}));
/**
 * jGrowl 1.2.1
 *
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Written by Stan Lemon <stosh1985@gmail.com>
 * Last updated: 2009.10.01
 *
 * jGrowl is a jQuery plugin implementing unobtrusive userland notifications.  These 
 * notifications function similarly to the Growl Framework available for
 * Mac OS X (http://growl.info).
 *
 * To Do:
 * - Move library settings to containers and allow them to be changed per container
 *
 * Changes in 1.2.1
 * - Fixed instance where the interval would fire the close method multiple times.
 * - Added CSS to hide from print media
 * - Fixed issue with closer button when div { position: relative } is set
 * - Fixed leaking issue with multiple containers.  Special thanks to Matthew Hanlon!
 *
 * Changes in 1.2.0
 * - Added message pooling to limit the number of messages appearing at a given time.
 * - Closing a notification is now bound to the notification object and triggered by the close button.
 *
 * Changes in 1.1.2
 * - Added iPhone styled example
 * - Fixed possible IE7 bug when determining if the ie6 class shoudl be applied.
 * - Added template for the close button, so that it's content could be customized.
 *
 * Changes in 1.1.1
 * - Fixed CSS styling bug for ie6 caused by a mispelling
 * - Changes height restriction on default notifications to min-height
 * - Added skinned examples using a variety of images
 * - Added the ability to customize the content of the [close all] box
 * - Added jTweet, an example of using jGrowl + Twitter
 *
 * Changes in 1.1.0
 * - Multiple container and instances.
 * - Standard $.jGrowl() now wraps $.fn.jGrowl() by first establishing a generic jGrowl container.
 * - Instance methods of a jGrowl container can be called by $.fn.jGrowl(methodName)
 * - Added glue preferenced, which allows notifications to be inserted before or after nodes in the container
 * - Added new log callback which is called before anything is done for the notification
 * - Corner's attribute are now applied on an individual notification basis.
 *
 * Changes in 1.0.4
 * - Various CSS fixes so that jGrowl renders correctly in IE6.
 *
 * Changes in 1.0.3
 * - Fixed bug with options persisting across notifications
 * - Fixed theme application bug
 * - Simplified some selectors and manipulations.
 * - Added beforeOpen and beforeClose callbacks
 * - Reorganized some lines of code to be more readable
 * - Removed unnecessary this.defaults context
 * - If corners plugin is present, it's now customizable.
 * - Customizable open animation.
 * - Customizable close animation.
 * - Customizable animation easing.
 * - Added customizable positioning (top-left, top-right, bottom-left, bottom-right, center)
 *
 * Changes in 1.0.2
 * - All CSS styling is now external.
 * - Added a theme parameter which specifies a secondary class for styling, such
 *   that notifications can be customized in appearance on a per message basis.
 * - Notification life span is now customizable on a per message basis.
 * - Added the ability to disable the global closer, enabled by default.
 * - Added callbacks for when a notification is opened or closed.
 * - Added callback for the global closer.
 * - Customizable animation speed.
 * - jGrowl now set itself up and tears itself down.
 *
 * Changes in 1.0.1:
 * - Removed dependency on metadata plugin in favor of .data()
 * - Namespaced all events
 */
(function($) {

	/** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/
	$.jGrowl = function( m , o ) {
		// To maintain compatibility with older version that only supported one instance we'll create the base container.
		if ( $('#jGrowl').size() == 0 ) $('<div id="jGrowl"></div>').addClass($.jGrowl.defaults.position).appendTo('body');
		// Create a notification on the container.
		$('#jGrowl').jGrowl(m,o);
	};


	/** Raise jGrowl Notification on a jGrowl Container **/
	$.fn.jGrowl = function( m , o ) {
		if ( $.isFunction(this.each) ) {
			var args = arguments;

			return this.each(function() {
				var self = this;

				/** Create a jGrowl Instance on the Container if it does not exist **/
				if ( $(this).data('jGrowl.instance') == undefined ) {
					$(this).data('jGrowl.instance', $.extend( new $.fn.jGrowl(), { notifications: [], element: null, interval: null } ));
					$(this).data('jGrowl.instance').startup( this );
				}

				/** Optionally call jGrowl instance methods, or just raise a normal notification **/
				if ( $.isFunction($(this).data('jGrowl.instance')[m]) ) {
					$(this).data('jGrowl.instance')[m].apply( $(this).data('jGrowl.instance') , $.makeArray(args).slice(1) );
				} else {
					$(this).data('jGrowl.instance').create( m , o );
				}
			});
		};
	};

	$.extend( $.fn.jGrowl.prototype , {

		/** Default JGrowl Settings **/
		defaults: {
			pool: 			0,
			header: 		'',
			group: 			'',
			sticky: 		false,
			position: 		'top-right', // Is this still needed?
			glue: 			'after',
			theme: 			'default',
			corners: 		'10px',
			check: 			250,
			life: 			3000,
			speed: 			'normal',
			easing: 		'swing',
			closer: 		true,
			closeTemplate: '&times;',
			closerTemplate: '<div>[ close all ]</div>',
			log: 			function(e,m,o) {},
			beforeOpen: 	function(e,m,o) {},
			open: 			function(e,m,o) {},
			beforeClose: 	function(e,m,o) {},
			close: 			function(e,m,o) {},
			animateOpen: 	{
				opacity: 	'show'
			},
			animateClose: 	{
				opacity: 	'hide'
			}
		},
		
		notifications: [],
		
		/** jGrowl Container Node **/
		element: 	null,
	
		/** Interval Function **/
		interval:   null,
		
		/** Create a Notification **/
		create: 	function( message , o ) {
			var o = $.extend({}, this.defaults, o);

			this.notifications[ this.notifications.length ] = { message: message , options: o };
			
			o.log.apply( this.element , [this.element,message,o] );
		},
		
		render: 		function( notification ) {
			var self = this;
			var message = notification.message;
			var o = notification.options;

			var notification = $('<div class="jGrowl-notification' + ((o.group != undefined && o.group != '') ? ' ' + o.group : '') + '"><div class="close">' + o.closeTemplate + '</div><div class="header">' + o.header + '</div><div class="message">' + message + '</div></div>')
				.data("jGrowl", o).addClass(o.theme).children('div.close').bind("click.jGrowl", function() {
					$(this).parent().trigger('jGrowl.close');
				}).parent();
				
			( o.glue == 'after' ) ? $('div.jGrowl-notification:last', this.element).after(notification) : $('div.jGrowl-notification:first', this.element).before(notification);

			/** Notification Actions **/
			$(notification).bind("mouseover.jGrowl", function() {
				$(this).data("jGrowl").pause = true;
			}).bind("mouseout.jGrowl", function() {
				$(this).data("jGrowl").pause = false;
			}).bind('jGrowl.beforeOpen', function() {
				o.beforeOpen.apply( self.element , [self.element,message,o] );
			}).bind('jGrowl.open', function() {
				o.open.apply( self.element , [self.element,message,o] );
			}).bind('jGrowl.beforeClose', function() {
				o.beforeClose.apply( self.element , [self.element,message,o] );
			}).bind('jGrowl.close', function() {
				// Pause the notification, lest during the course of animation another close event gets called.
				$(this).data('jGrowl').pause = true;
				$(this).trigger('jGrowl.beforeClose').animate(o.animateClose, o.speed, o.easing, function() {
					$(this).remove();
					o.close.apply( self.element , [self.element,message,o] );
				});
			}).trigger('jGrowl.beforeOpen').animate(o.animateOpen, o.speed, o.easing, function() {
				$(this).data("jGrowl").created = new Date();
			}).trigger('jGrowl.open');
		
			/** Optional Corners Plugin **/
			if ( $.fn.corner != undefined ) $(notification).corner( o.corners );

			/** Add a Global Closer if more than one notification exists **/
			if ( $('div.jGrowl-notification:parent', this.element).size() > 1 && $('div.jGrowl-closer', this.element).size() == 0 && this.defaults.closer != false ) {
				$(this.defaults.closerTemplate).addClass('jGrowl-closer').addClass(this.defaults.theme).appendTo(this.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing).bind("click.jGrowl", function() {
					$(this).siblings().children('div.close').trigger("click.jGrowl");

					if ( $.isFunction( self.defaults.closer ) ) self.defaults.closer.apply( $(this).parent()[0] , [$(this).parent()[0]] );
				});
			};
		},

		/** Update the jGrowl Container, removing old jGrowl notifications **/
		update:	 function() {
			$(this.element).find('div.jGrowl-notification:parent').each( function() {
				if ( $(this).data("jGrowl") != undefined && $(this).data("jGrowl").created != undefined && ($(this).data("jGrowl").created.getTime() + $(this).data("jGrowl").life)  < (new Date()).getTime() && $(this).data("jGrowl").sticky != true && 
					 ($(this).data("jGrowl").pause == undefined || $(this).data("jGrowl").pause != true) ) {
					// Pause the notification, lest during the course of animation another close event gets called.
					$(this).trigger('jGrowl.close');
				}
			});

			if ( this.notifications.length > 0 && (this.defaults.pool == 0 || $(this.element).find('div.jGrowl-notification:parent').size() < this.defaults.pool) ) {
				this.render( this.notifications.shift() );
			}

			if ( $(this.element).find('div.jGrowl-notification:parent').size() < 2 ) {
				$(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() {
					$(this).remove();
				});
			};
		},

		/** Setup the jGrowl Notification Container **/
		startup:	function(e) {
			this.element = $(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>');
			this.interval = setInterval( function() { 
				$(e).data('jGrowl.instance').update(); 
			}, this.defaults.check);
			
			if ($.browser.msie && parseInt($.browser.version) < 7 && !window["XMLHttpRequest"]) $(this.element).addClass('ie6');
		},

		/** Shutdown jGrowl, removing it and clearing the interval **/
		shutdown:   function() {
			$(this.element).removeClass('jGrowl').find('div.jGrowl-notification').remove();
			clearInterval( this.interval );
		}
	});
	
	/** Reference the Defaults Object for compatibility with older versions of jGrowl **/
	$.jGrowl.defaults = $.fn.jGrowl.prototype.defaults;

})(jQuery);
$(document).ready(function(){
   //check for autoupdate element

   var $list = $('.autoupdate[id]');

   if ($list.length>0) {
       setInterval(function() {
	   shData.getData('common','ajaxupdate',{key:request_key},function(data) {
		for(var i in data.blocks) {
		    if (!data.blocks[i].id || !data.blocks[i].content) continue;

		    $('#'+data.blocks[i].id).html(data.blocks[i].content);
		}
	    });
       }, 4000);
   }
});

shData.randomString = function (string_length) {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var randomstring = '';
    for (var i=0; i<string_length; i++) {
	var rnum = Math.floor(Math.random() * chars.length);
	randomstring += chars.charAt(rnum);
    }
    return randomstring;
};

shData.trDate = function (context)
{
   $('input.date[type=text]',context).each(function() {
       if ($(this).datepicker) $(this).datepicker();
   });
};

/**
 * success: function (data, textStatus) {
 *	// data could be xmlDoc, jsonObj, html, text, etc...
 *	this; // the options for this ajax request
 * }
 */

shData.getData = function(controller,method,params,success,error)
{
    //TODO: build in a cache (and the ability to prefetch/set data in view_xhtml)

    if (!success) success = function(){};
    if (!error)	error = function(){};

    params['controller'] = controller;
    params['method'] = method;
    params['rand'] = shData.randomString(4);

    var uri = root_url+'query.php';

    jQuery.ajax({
       url: uri,
       data:params,
       type:'get',
       cache:false,
       dataType:"json",
       success: success,
       error: error
    });
}

shData.getFromForm = function (el) {
    var params = {};

    //snippet taken from http://be.twixt.us/jquery/formSubmission.php
    $(el)
	.find("input:checked, input[type='text'], input[type='hidden'], input[type='password'], input[type='submit'], option:selected, textarea")
	.filter(":enabled")
	.each(function() {
	    params[ this.name || this.id || this.parentNode.name || this.parentNode.id ] = this.value;
	});
    return params;
}

shData.showMessage = function(msg) {
    $.jGrowl(msg);
    if (window.console) console.log(msg);
}

//parts half inched from: http://www.softwareunity.com/jquery/JQueryMoreSelectors/

jQuery.extend(jQuery.expr[':'], {

    "nth-of-type"	:
	function(a,i,m,r) {
	    return jQuery(a).parent().children(a.nodeName).index(a)==m[3]-1;
	    //return a==jQuery(r).filter( a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']')[m[3]-1];
	    //return a==jQuery(r).filter( a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']')[m[3]-1];
	},
	//"a==jQuery(r).filter( a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']')[m[3]]"

    "first-of-type" :
	function(a,i,m,r) {
	    return jQuery(a).parent().children(a.nodeName).filter(':first')[0]==a;
	},

    "last-of-type" :
	function(a,i,m,r) {
	    return jQuery(a).parent().children(a.nodeName).filter(':last')[0]==a;
	},

    submitable: function(a) {
        return !a.disabled&&(a.selected||a.checked||(a.nodeName.toUpperCase()=='TEXTAREA')||(a.nodeName.toUpperCase()=='INPUT'&&(a.type=='text'||a.type=='hidden'||a.type=='password')));
    },
    ///////////////////////////////////////////////////////////
    // elements that have a type attribute not equal to hidden
    //    use if you want to select all input elements that are not hidden
    //  @usage: $('input:nothidden')
    nothidden: function(a) {
        return a.type&&a.type!='hidden';
    }
})

//jQuery.extend(jQuery.expr[':'], {

	/*
	 *	KEY/LEGEND: Params made available by jQuery for use in the selector definitions:
	 *	 r		= jQuery array of elements being scrutinised. (eg: r.length = Number of elements)
	 *	 i		= index of element currently under scrutiny, within array r.
	 *	 a		= element currently under scrutiny. Selector statement must return true to include it in its matched results.
	 *	 m[2]	= nodeName or * that we a looking for (left of colon).
	 *	 m[3]	= param passed into the :selector(param). Typically an index number, as in :nth-of-type(5), or a string, as in :color(blue).
	 */

	// Form attributes:
	//hover		: "a==document.hoverElement",		// hoverElement is custom property maintained by dedicated document.mouseover event (see below).
	//focus		: "a==document.activeElement",		// activeElement is natively available in IE. Is custom property in other browsers, maintained by dedicated blur/focus events.
	//blur		: "a==document.lastActiveElement",	// lastActiveElement is custom property maintained by dedicated blur/focus events.

	// Parent and Sibling checks:
	// These :siblings(x) and :parents(x) selectors match elements that have siblings or parents that match simple selector x.
	// Sample usage: $(myElem).is(":parents('FORM')")	- identifies whether element is within a <form>.
	//siblings	: "jQuery(a).siblings(m[3]).length>0",
	//parents		: "jQuery(a).parents(m[3]).length>0",


	// Type and Child checks:
	//"only-of-type"	: "1==jQuery(r).filter( a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']').length",
	//"first-of-type"	: "a==jQuery(r).filter( a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']')[0]",
	//"nth-of-type"	: "a==jQuery(r).filter( a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']')[m[3]]"
	//"last-of-type"	: "a==jQuery(r).filter((a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']') +':last')[0]"
	// Note: These use the enhanced siblings() method which accepts extra param to keep current element (self) in the results:
	//"only-child-of-type"	: "1==jQuery(a).siblings(  a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']', true).length",
	//"first-child-of-type"	: "a==jQuery(a).siblings(  a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']', true)[0]",
	//"nth-child-of-type"		: "a==jQuery(a).siblings(  a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']', true)[m[3]]",
	//"last-child-of-type"	: "a==jQuery(a).siblings( (a.nodeName!='INPUT' ? a.nodeName : a.nodeName+'[@type='+a.type+']', true) +':last')[0]",
	//"nth-last-child"		: "jQuery.sibling(a,jQuery.sibling(a).length-1-m[3]).cur"
    //});

    // Add support for the ":hover" selector.
	// Add event to maintain a custom document.hoverElement property:
	// This enables use of the custom :hover selector.
	// KNOWN ISSUE: e.srcElement (target) is not always up to date when we use mouseover.
	// (Note: mouseover is lighter on cpu than mousemove but srcElement is not always up to date in certain circumstances!)

	//jQuery(document.body).mouseover(function(e){ document.hoverElement = e.target; });


// Plugin to extend siblings() method to include the current items (self) in the results if desired (default=false).
		// The standard siblings() method excludes self, so this does too by default, that way existing code will not break.
		// You can also specify 'prev' or 'next' (or true or false)) to only return siblings before or after the current one in the html.
/*$.fn.siblings = function(s,orSelf,prevNext){
	if(prevNext=="undefined")
		// Default to the standard jQuery functionality: (Trying to minimise impact on performance too!)
		return !orSelf ? _siblings.apply(this,[s]) : _siblings.apply(this,[s]).add(this);
	else{
		// Restrict results to only include siblings before or after the current element(s):
		var r = [];
		prevNext = (prevNext==true || prevNext=='next' || prevNext=='after');	// Else false/prev/before.
		this.each(function(){
			var n = this;
			if(orSelf) prevNext ? r.push(n) : r.unshift(n);				// Include self in the results?
			if(prevNext){
				while( n = n.nextSibling ){ if( n.nodeType==1 ) r.push(n) };	// We explicity choose to use push or unshift in order to retain original source-order of elements in the results.
			}else{
				while( n = n.previousSibling ){ if( n.nodeType==1 ) r.unshift(n) };
			}
		});
		return this.pushStack( jQuery.multiFilter(s,r) );						// Filter results by the selector before adding them to jQuery chain.
	}
}*/
/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};
/*!
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version ${Version}
 */

var Cufon = (function() {

	var api = function() {
		return api.replace.apply(null, arguments);
	};

	var DOM = api.DOM = {

		ready: (function() {

			var complete = false, readyStatus = { loaded: 1, complete: 1 };

			var queue = [], perform = function() {
				if (complete) return;
				complete = true;
				for (var fn; fn = queue.shift(); fn());
			};

			// Gecko, Opera, WebKit r26101+

			if (document.addEventListener) {
				document.addEventListener('DOMContentLoaded', perform, false);
				window.addEventListener('pageshow', perform, false); // For cached Gecko pages
			}

			// Old WebKit, Internet Explorer

			if (!window.opera && document.readyState) (function() {
				readyStatus[document.readyState] ? perform() : setTimeout(arguments.callee, 10);
			})();

			// Internet Explorer

			if (document.readyState && document.createStyleSheet) (function() {
				try {
					document.body.doScroll('left');
					perform();
				}
				catch (e) {
					setTimeout(arguments.callee, 1);
				}
			})();

			addEvent(window, 'load', perform); // Fallback

			return function(listener) {
				if (!arguments.length) perform();
				else complete ? listener() : queue.push(listener);
			};

		})(),

		root: function() {
			return document.documentElement || document.body;
		}

	};

	var CSS = api.CSS = {

		Size: function(value, base) {

			this.value = parseFloat(value);
			this.unit = String(value).match(/[a-z%]*$/)[0] || 'px';

			this.convert = function(value) {
				return value / base * this.value;
			};

			this.convertFrom = function(value) {
				return value / this.value * base;
			};

			this.toString = function() {
				return this.value + this.unit;
			};

		},

		addClass: function(el, className) {
			var current = el.className;
			el.className = current + (current && ' ') + className;
			return el;
		},

		color: cached(function(value) {
			var parsed = {};
			parsed.color = value.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function($0, $1, $2) {
				parsed.opacity = parseFloat($2);
				return 'rgb(' + $1 + ')';
			});
			return parsed;
		}),

		// has no direct CSS equivalent.
		// @see http://msdn.microsoft.com/en-us/library/system.windows.fontstretches.aspx
		fontStretch: cached(function(value) {
			if (typeof value == 'number') return value;
			if (/%$/.test(value)) return parseFloat(value) / 100;
			return {
				'ultra-condensed': 0.5,
				'extra-condensed': 0.625,
				condensed: 0.75,
				'semi-condensed': 0.875,
				'semi-expanded': 1.125,
				expanded: 1.25,
				'extra-expanded': 1.5,
				'ultra-expanded': 2
			}[value] || 1;
		}),

		getStyle: function(el) {
			var view = document.defaultView;
			if (view && view.getComputedStyle) return new Style(view.getComputedStyle(el, null));
			if (el.currentStyle) return new Style(el.currentStyle);
			return new Style(el.style);
		},

		gradient: cached(function(value) {
			var gradient = {
				id: value,
				type: value.match(/^-([a-z]+)-gradient\(/)[1],
				stops: []
			}, colors = value.substr(value.indexOf('(')).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);
			for (var i = 0, l = colors.length, stop; i < l; ++i) {
				stop = colors[i].split('=', 2).reverse();
				gradient.stops.push([ stop[1] || i / (l - 1), stop[0] ]);
			}
			return gradient;
		}),

		hasClass: function(el, className) {
			return RegExp('(?:^|\\s)' + className +  '(?=\\s|$)').test(el.className);
		},

		quotedList: cached(function(value) {
			// doesn't work properly with empty quoted strings (""), but
			// it's not worth the extra code.
			var list = [], re = /\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g, match;
			while (match = re.exec(value)) list.push(match[3] || match[1]);
			return list;
		}),

		recognizesMedia: cached(function(media) {
			var el = document.createElement('style'), sheet, container, supported;
			el.type = 'text/css';
			el.media = media;
			try { // this is cached anyway
				el.appendChild(document.createTextNode('/**/'));
			} catch (e) {}
			container = elementsByTagName('head')[0];
			container.insertBefore(el, container.firstChild);
			sheet = (el.sheet || el.styleSheet);
			supported = sheet && !sheet.disabled;
			container.removeChild(el);
			return supported;
		}),

		removeClass: function(el, className) {
			var re = RegExp('(?:^|\\s+)' + className +  '(?=\\s|$)', 'g');
			el.className = el.className.replace(re, '');
			return el;
		},

		supports: function(property, value) {
			var checker = document.createElement('span').style;
			if (checker[property] === undefined) return false;
			checker[property] = value;
			return checker[property] === value;
		},

		textAlign: function(word, style, position, wordCount) {
			if (style.get('textAlign') == 'right') {
				if (position > 0) word = ' ' + word;
			}
			else if (position < wordCount - 1) word += ' ';
			return word;
		},

		textDecoration: function(el, style) {
			if (!style) style = this.getStyle(el);
			var types = {
				underline: null,
				overline: null,
				'line-through': null
			};
			for (var search = el; search.parentNode && search.parentNode.nodeType == 1; ) {
				var foundAll = true;
				for (var type in types) {
					if (!hasOwnProperty(types, type) || types[type]) continue;
					if (style.get('textDecoration').indexOf(type) != -1) types[type] = style.get('color');
					foundAll = false;
				}
				if (foundAll) break; // this is rather unlikely to happen
				style = this.getStyle(search = search.parentNode);
			}
			return types;
		},

		textShadow: cached(function(value) {
			if (value == 'none') return null;
			var shadows = [], currentShadow = {}, result, offCount = 0;
			var re = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;
			while (result = re.exec(value)) {
				if (result[0] == ',') {
					shadows.push(currentShadow);
					currentShadow = {};
					offCount = 0;
				}
				else if (result[1]) {
					currentShadow.color = result[1];
				}
				else {
					currentShadow[[ 'offX', 'offY', 'blur' ][offCount++]] = result[2];
				}
			}
			shadows.push(currentShadow);
			return shadows;
		}),

		textTransform: (function() {
			var map = {
				uppercase: function(s) {
					return s.toUpperCase();
				},
				lowercase: function(s) {
					return s.toLowerCase();
				},
				capitalize: function(s) {
					return s.replace(/\b./g, function($0) {
						return $0.toUpperCase();
					});
				}
			};
			return function(text, style) {
				var transform = map[style.get('textTransform')];
				return transform ? transform(text) : text;
			};
		})(),

		whiteSpace: (function() {
			var ignore = {
				inline: 1,
				'inline-block': 1,
				'run-in': 1
			};
			return function(text, style, node) {
				if (ignore[style.get('display')]) return text;
				if (!node.previousSibling) text = text.replace(/^\s+/, '');
				if (!node.nextSibling) text = text.replace(/\s+$/, '');
				return text;
			};
		})()

	};

	CSS.ready = (function() {

		// don't do anything in Safari 2 (it doesn't recognize any media type)
		var complete = !CSS.recognizesMedia('all'), hasLayout = false;

		var queue = [], perform = function() {
			complete = true;
			for (var fn; fn = queue.shift(); fn());
		};

		var links = elementsByTagName('link'), styles = elementsByTagName('style');

		function isContainerReady(el) {
			return el.disabled || isSheetReady(el.sheet, el.media || 'screen');
		}

		function isSheetReady(sheet, media) {
			// in Opera sheet.disabled is true when it's still loading,
			// even though link.disabled is false. they stay in sync if
			// set manually.
			if (!CSS.recognizesMedia(media || 'all')) return true;
			if (!sheet || sheet.disabled) return false;
			try {
				var rules = sheet.cssRules, rule;
				if (rules) {
					// needed for Safari 3 and Chrome 1.0.
					// in standards-conforming browsers cssRules contains @-rules.
					// Chrome 1.0 weirdness: rules[<number larger than .length - 1>]
					// returns the last rule, so a for loop is the only option.
					search: for (var i = 0, l = rules.length; rule = rules[i], i < l; ++i) {
						switch (rule.type) {
							case 2: // @charset
								break;
							case 3: // @import
								if (!isSheetReady(rule.styleSheet, rule.media.mediaText)) return false;
								break;
							default:
								// only @charset can precede @import
								break search;
						}
					}
				}
			}
			catch (e) {} // probably a style sheet from another domain
			return true;
		}

		function allStylesLoaded() {
			// Internet Explorer's style sheet model, there's no need to do anything
			if (document.createStyleSheet) return true;
			// standards-compliant browsers
			var el, i;
			for (i = 0; el = links[i]; ++i) {
				if (el.rel.toLowerCase() == 'stylesheet' && !isContainerReady(el)) return false;
			}
			for (i = 0; el = styles[i]; ++i) {
				if (!isContainerReady(el)) return false;
			}
			return true;
		}

		DOM.ready(function() {
			// getComputedStyle returns null in Gecko if used in an iframe with display: none
			if (!hasLayout) hasLayout = CSS.getStyle(document.body).isUsable();
			if (complete || (hasLayout && allStylesLoaded())) perform();
			else setTimeout(arguments.callee, 10);
		});

		return function(listener) {
			if (complete) listener();
			else queue.push(listener);
		};

	})();

	function Font(data) {

		var face = this.face = data.face;
		this.glyphs = data.glyphs;
		this.w = data.w;
		this.baseSize = parseInt(face['units-per-em'], 10);

		this.family = face['font-family'].toLowerCase();
		this.weight = face['font-weight'];
		this.style = face['font-style'] || 'normal';

		this.viewBox = (function () {
			var parts = face.bbox.split(/\s+/);
			var box = {
				minX: parseInt(parts[0], 10),
				minY: parseInt(parts[1], 10),
				maxX: parseInt(parts[2], 10),
				maxY: parseInt(parts[3], 10)
			};
			box.width = box.maxX - box.minX;
			box.height = box.maxY - box.minY;
			box.toString = function() {
				return [ this.minX, this.minY, this.width, this.height ].join(' ');
			};
			return box;
		})();

		this.ascent = -parseInt(face.ascent, 10);
		this.descent = -parseInt(face.descent, 10);

		this.height = -this.ascent + this.descent;

	}

	function FontFamily() {

		var styles = {}, mapping = {
			oblique: 'italic',
			italic: 'oblique'
		};

		this.add = function(font) {
			(styles[font.style] || (styles[font.style] = {}))[font.weight] = font;
		};

		this.get = function(style, weight) {
			var weights = styles[style] || styles[mapping[style]]
				|| styles.normal || styles.italic || styles.oblique;
			if (!weights) return null;
			// we don't have to worry about "bolder" and "lighter"
			// because IE's currentStyle returns a numeric value for it,
			// and other browsers use the computed value anyway
			weight = {
				normal: 400,
				bold: 700
			}[weight] || parseInt(weight, 10);
			if (weights[weight]) return weights[weight];
			// http://www.w3.org/TR/CSS21/fonts.html#propdef-font-weight
			// Gecko uses x99/x01 for lighter/bolder
			var up = {
				1: 1,
				99: 0
			}[weight % 100], alts = [], min, max;
			if (up === undefined) up = weight > 400;
			if (weight == 500) weight = 400;
			for (var alt in weights) {
				if (!hasOwnProperty(weights, alt)) continue;
				alt = parseInt(alt, 10);
				if (!min || alt < min) min = alt;
				if (!max || alt > max) max = alt;
				alts.push(alt);
			}
			if (weight < min) weight = min;
			if (weight > max) weight = max;
			alts.sort(function(a, b) {
				return (up
					? (a > weight && b > weight) ? a < b : a > b
					: (a < weight && b < weight) ? a > b : a < b) ? -1 : 1;
			});
			return weights[alts[0]];
		};

	}

	function HoverHandler() {

		function contains(node, anotherNode) {
			if (node.contains) return node.contains(anotherNode);
			return node.compareDocumentPosition(anotherNode) & 16;
		}

		function onOverOut(e) {
			var related = e.relatedTarget;
			if (!related || contains(this, related)) return;
			trigger(this);
		}

		function onEnterLeave(e) {
			trigger(this);
		}

		function trigger(el) {
			// A timeout is needed so that the event can actually "happen"
			// before replace is triggered. This ensures that styles are up
			// to date.
			setTimeout(function() {
				api.replace(el, sharedStorage.get(el).options, true);
			}, 10);
		}

		this.attach = function(el) {
			if (el.onmouseenter === undefined) {
				addEvent(el, 'mouseover', onOverOut);
				addEvent(el, 'mouseout', onOverOut);
			}
			else {
				addEvent(el, 'mouseenter', onEnterLeave);
				addEvent(el, 'mouseleave', onEnterLeave);
			}
		};

	}

	function ReplaceHistory() {

		var list = [], map = {};

		function filter(keys) {
			var values = [], key;
			for (var i = 0; key = keys[i]; ++i) values[i] = list[map[key]];
			return values;
		}

		this.add = function(key, args) {
			map[key] = list.push(args) - 1;
		};

		this.repeat = function() {
			var snapshot = arguments.length ? filter(arguments) : list, args;
			for (var i = 0; args = snapshot[i++];) api.replace(args[0], args[1], true);
		};

	}

	function Storage() {

		var map = {}, at = 0;

		function identify(el) {
			return el.cufid || (el.cufid = ++at);
		}

		this.get = function(el) {
			var id = identify(el);
			return map[id] || (map[id] = {});
		};

	}

	function Style(style) {

		var custom = {}, sizes = {};

		this.extend = function(styles) {
			for (var property in styles) {
				if (hasOwnProperty(styles, property)) custom[property] = styles[property];
			}
			return this;
		};

		this.get = function(property) {
			return custom[property] != undefined ? custom[property] : style[property];
		};

		this.getSize = function(property, base) {
			return sizes[property] || (sizes[property] = new CSS.Size(this.get(property), base));
		};

		this.isUsable = function() {
			return !!style;
		};

	}

	function addEvent(el, type, listener) {
		if (el.addEventListener) {
			el.addEventListener(type, listener, false);
		}
		else if (el.attachEvent) {
			el.attachEvent('on' + type, function() {
				return listener.call(el, window.event);
			});
		}
	}

	function attach(el, options) {
		var storage = sharedStorage.get(el);
		if (storage.options) return el;
		if (options.hover && options.hoverables[el.nodeName.toLowerCase()]) {
			hoverHandler.attach(el);
		}
		storage.options = options;
		return el;
	}

	function cached(fun) {
		var cache = {};
		return function(key) {
			if (!hasOwnProperty(cache, key)) cache[key] = fun.apply(null, arguments);
			return cache[key];
		};
	}

	function getFont(el, style) {
		var families = CSS.quotedList(style.get('fontFamily').toLowerCase()), family;
		for (var i = 0; family = families[i]; ++i) {
			if (fonts[family]) return fonts[family].get(style.get('fontStyle'), style.get('fontWeight'));
		}
		return null;
	}

	function elementsByTagName(query) {
		return document.getElementsByTagName(query);
	}

	function hasOwnProperty(obj, property) {
		return obj.hasOwnProperty(property);
	}

	function merge() {
		var merged = {}, args, key;
		for (var i = 0, l = arguments.length; args = arguments[i], i < l; ++i) {
			for (key in args) {
				if (hasOwnProperty(args, key)) merged[key] = args[key];
			}
		}
		return merged;
	}

	function process(font, text, style, options, node, el) {
		var fragment = document.createDocumentFragment(), processed;
		if (text === '') return fragment;
		var separate = options.separate;
		var parts = text.split(separators[separate]), needsAligning = (separate == 'words');
		if (needsAligning && HAS_BROKEN_REGEXP) {
			// @todo figure out a better way to do this
			if (/^\s/.test(text)) parts.unshift('');
			if (/\s$/.test(text)) parts.push('');
		}
		for (var i = 0, l = parts.length; i < l; ++i) {
			processed = engines[options.engine](font,
				needsAligning ? CSS.textAlign(parts[i], style, i, l) : parts[i],
				style, options, node, el, i < l - 1);
			if (processed) fragment.appendChild(processed);
		}
		return fragment;
	}

	function replaceElement(el, options) {
		var style = CSS.getStyle(attach(el, options)).extend(options);
		var font = getFont(el, style), node, type, next, anchor, text;
		for (node = el.firstChild; node; node = next) {
			type = node.nodeType;
			next = node.nextSibling;
			if (type == 3) {
				// Node.normalize() is broken in IE 6, 7, 8
				if (anchor) {
					anchor.appendData(node.data);
					el.removeChild(node);
				}
				else anchor = node;
				if (next) continue;
			}
			if (anchor) {
				el.replaceChild(process(font,
					CSS.whiteSpace(anchor.data, style, anchor),
					style, options, node, el), anchor);
				anchor = null;
			}
			if (type == 1 && node.firstChild) {
				if (CSS.hasClass(node, 'cufon')) {
					engines[options.engine](font, null, style, options, node, el);
				}
				else arguments.callee(node, options);
			}
		}
	}

	var HAS_BROKEN_REGEXP = ' '.split(/\s+/).length == 0;

	var sharedStorage = new Storage();
	var hoverHandler = new HoverHandler();
	var replaceHistory = new ReplaceHistory();
	var initialized = false;

	var engines = {}, fonts = {}, defaultOptions = {
		autoDetect: false,
		enableTextDecoration: false,
		engine: null,
		//fontScale: 1,
		//fontScaling: false,
		forceHitArea: false,
		hover: false,
		hoverables: {
			a: true
		},
		printable: true,
		//rotation: 0,
		//selectable: false,
		selector: (
				window.Sizzle
			||	(window.jQuery && function(query) { return jQuery(query); }) // avoid noConflict issues
			||	(window.dojo && dojo.query)
			||	(window.Ext && Ext.query)
			||	(window.$$ && function(query) { return $$(query); })
			||	(window.$ && function(query) { return $(query); })
			||	(document.querySelectorAll && function(query) { return document.querySelectorAll(query); })
			||	elementsByTagName
		),
		separate: 'words', // 'none' and 'characters' are also accepted
		textShadow: 'none'
	};

	var separators = {
		words: /[^\S\u00a0]+/,
		characters: '',
		none: /^/
	};

	api.now = function() {
		DOM.ready();
		return api;
	};

	api.refresh = function() {
		replaceHistory.repeat.apply(replaceHistory, arguments);
		return api;
	};

	api.registerEngine = function(id, engine) {
		if (!engine) return api;
		engines[id] = engine;
		return api.set('engine', id);
	};

	api.registerFont = function(data) {
		var font = new Font(data), family = font.family;
		if (!fonts[family]) fonts[family] = new FontFamily();
		fonts[family].add(font);
		return api.set('fontFamily', '"' + family + '"');
	};

	api.replace = function(elements, options, ignoreHistory) {
		options = merge(defaultOptions, options);
		if (!options.engine) return api; // there's no browser support so we'll just stop here
		if (!initialized) {
			CSS.addClass(DOM.root(), 'cufon-active cufon-loading');
			CSS.ready(function() {
				// fires before any replace() calls, but it doesn't really matter
				CSS.addClass(CSS.removeClass(DOM.root(), 'cufon-loading'), 'cufon-ready');
			});
			initialized = true;
		}
		if (options.hover) options.forceHitArea = true;
		if (options.autoDetect) delete options.fontFamily;
		if (typeof options.textShadow == 'string')
			options.textShadow = CSS.textShadow(options.textShadow);
		if (typeof options.color == 'string' && /^-/.test(options.color))
			options.textGradient = CSS.gradient(options.color);
		if (!ignoreHistory) replaceHistory.add(elements, arguments);
		if (elements.nodeType || typeof elements == 'string') elements = [ elements ];
		CSS.ready(function() {
			for (var i = 0, l = elements.length; i < l; ++i) {
				var el = elements[i];
				if (typeof el == 'string') api.replace(options.selector(el), options, true);
				else replaceElement(el, options);
			}
		});
		return api;
	};

	api.set = function(option, value) {
		defaultOptions[option] = value;
		return api;
	};

	return api;

})();

Cufon.registerEngine('canvas', (function() {

	// Safari 2 doesn't support .apply() on native methods

	var check = document.createElement('canvas');
	if (!check || !check.getContext || !check.getContext.apply) return;
	check = null;

	var HAS_INLINE_BLOCK = Cufon.CSS.supports('display', 'inline-block');

	// Firefox 2 w/ non-strict doctype (almost standards mode)
	var HAS_BROKEN_LINEHEIGHT = !HAS_INLINE_BLOCK && (document.compatMode == 'BackCompat' || /frameset|transitional/i.test(document.doctype.publicId));

	var styleSheet = document.createElement('style');
	styleSheet.type = 'text/css';
	styleSheet.appendChild(document.createTextNode((
		'.cufon-canvas{text-indent:0;}' +
		'@media screen,projection{' +
			'.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;' +
			(HAS_BROKEN_LINEHEIGHT
				? ''
				: 'font-size:1px;line-height:1px;') +
			'}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}' +
			(HAS_INLINE_BLOCK
				? '.cufon-canvas canvas{position:relative;}'
				: '.cufon-canvas canvas{position:absolute;}') +
		'}' +
		'@media print{' +
			'.cufon-canvas{padding:0;}' +
			'.cufon-canvas canvas{display:none;}' +
			'.cufon-canvas .cufon-alt{display:inline;}' +
		'}'
	).replace(/;/g, '!important;')));
	document.getElementsByTagName('head')[0].appendChild(styleSheet);

	function generateFromVML(path, context) {
		var atX = 0, atY = 0;
		var code = [], re = /([mrvxe])([^a-z]*)/g, match;
		generate: for (var i = 0; match = re.exec(path); ++i) {
			var c = match[2].split(',');
			switch (match[1]) {
				case 'v':
					code[i] = { m: 'bezierCurveTo', a: [ atX + ~~c[0], atY + ~~c[1], atX + ~~c[2], atY + ~~c[3], atX += ~~c[4], atY += ~~c[5] ] };
					break;
				case 'r':
					code[i] = { m: 'lineTo', a: [ atX += ~~c[0], atY += ~~c[1] ] };
					break;
				case 'm':
					code[i] = { m: 'moveTo', a: [ atX = ~~c[0], atY = ~~c[1] ] };
					break;
				case 'x':
					code[i] = { m: 'closePath' };
					break;
				case 'e':
					break generate;
			}
			context[code[i].m].apply(context, code[i].a);
		}
		return code;
	}

	function interpret(code, context) {
		for (var i = 0, l = code.length; i < l; ++i) {
			var line = code[i];
			context[line.m].apply(context, line.a);
		}
	}

	return function(font, text, style, options, node, el) {

		var redraw = (text === null);

		if (redraw) text = node.alt;

		var viewBox = font.viewBox;

		var size = style.getSize('fontSize', font.baseSize);

		var letterSpacing = style.get('letterSpacing');
		letterSpacing = (letterSpacing == 'normal') ? 0 : size.convertFrom(parseInt(letterSpacing, 10));

		var expandTop = 0, expandRight = 0, expandBottom = 0, expandLeft = 0;
		var shadows = options.textShadow, shadowOffsets = [];
		if (shadows) {
			for (var i = shadows.length; i--;) {
				var shadow = shadows[i];
				var x = size.convertFrom(parseFloat(shadow.offX));
				var y = size.convertFrom(parseFloat(shadow.offY));
				shadowOffsets[i] = [ x, y ];
				if (y < expandTop) expandTop = y;
				if (x > expandRight) expandRight = x;
				if (y > expandBottom) expandBottom = y;
				if (x < expandLeft) expandLeft = x;
			}
		}

		var chars = Cufon.CSS.textTransform(text, style).split(''), chr;

		var glyphs = font.glyphs, glyph, kerning, k;
		var width = 0, advance, jumps = [];

		for (var i = 0, j = 0, l = chars.length; i < l; ++i) {
			glyph = glyphs[chr = chars[i]] || font.missingGlyph;
			if (!glyph) continue;
			if (kerning) {
				width -= k = kerning[chr] || 0;
				jumps[j - 1] -= k;
			}
			width += advance = jumps[j++] = ~~(glyph.w || font.w) + letterSpacing;
			kerning = glyph.k;
		}

		if (advance === undefined) return null; // there's nothing to render

		expandRight += viewBox.width - advance;
		expandLeft += viewBox.minX;

		var wrapper, canvas;

		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('span');
			wrapper.className = 'cufon cufon-canvas';
			wrapper.alt = text;

			canvas = document.createElement('canvas');
			wrapper.appendChild(canvas);

			if (options.printable) {
				var print = document.createElement('span');
				print.className = 'cufon-alt';
				print.appendChild(document.createTextNode(text));
				wrapper.appendChild(print);
			}
		}

		var wStyle = wrapper.style;
		var cStyle = canvas.style;

		var height = size.convert(viewBox.height);
		var roundedHeight = Math.ceil(height);
		var roundingFactor = roundedHeight / height;
		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
		var stretchedWidth = width * stretchFactor;

		var canvasWidth = Math.ceil(size.convert(stretchedWidth + expandRight - expandLeft));
		var canvasHeight = Math.ceil(size.convert(viewBox.height - expandTop + expandBottom));

		canvas.width = canvasWidth;
		canvas.height = canvasHeight;

		// needed for WebKit and full page zoom
		cStyle.width = canvasWidth + 'px';
		cStyle.height = canvasHeight + 'px';

		// minY has no part in canvas.height
		expandTop += viewBox.minY;

		cStyle.top = Math.round(size.convert(expandTop - font.ascent)) + 'px';
		cStyle.left = Math.round(size.convert(expandLeft)) + 'px';

		var wrapperWidth = Math.ceil(size.convert(stretchedWidth)) + 'px';

		if (HAS_INLINE_BLOCK) {
			wStyle.width = wrapperWidth;
			wStyle.height = size.convert(font.height) + 'px';
		}
		else {
			wStyle.paddingLeft = wrapperWidth;
			wStyle.paddingBottom = (size.convert(font.height) - 1) + 'px';
		}

		var g = canvas.getContext('2d'), scale = height / viewBox.height;

		// proper horizontal scaling is performed later
		g.scale(scale, scale * roundingFactor);
		g.translate(-expandLeft, -expandTop);

		g.lineWidth = font.face['underline-thickness'];

		g.save();

		function line(y, color) {
			g.strokeStyle = color;

			g.beginPath();

			g.moveTo(0, y);
			g.lineTo(width, y);

			g.stroke();
		}

		var textDecoration = options.enableTextDecoration ? Cufon.CSS.textDecoration(el, style) : {};

		if (textDecoration.underline) line(-font.face['underline-position'], textDecoration.underline);
		if (textDecoration.overline) line(font.ascent, textDecoration.overline);

		function renderText() {
			g.scale(stretchFactor, 1);
			for (var i = 0, j = 0, l = chars.length; i < l; ++i) {
				var glyph = glyphs[chars[i]] || font.missingGlyph;
				if (!glyph) continue;
				if (glyph.d) {
					g.beginPath();
					if (glyph.code) interpret(glyph.code, g);
					else glyph.code = generateFromVML('m' + glyph.d, g);
					g.fill();
				}
				g.translate(jumps[j++], 0);
			}
			g.restore();
		}

		if (shadows) {
			for (var i = shadows.length; i--;) {
				var shadow = shadows[i];
				g.save();
				g.fillStyle = shadow.color;
				g.translate.apply(g, shadowOffsets[i]);
				renderText();
			}
		}

		var gradient = options.textGradient;
		if (gradient) {
			var stops = gradient.stops, fill = g.createLinearGradient(0, viewBox.minY, 0, viewBox.maxY);
			for (var i = 0, l = stops.length; i < l; ++i) {
				fill.addColorStop.apply(fill, stops[i]);
			}
			g.fillStyle = fill;
		}
		else g.fillStyle = style.get('color');

		renderText();

		if (textDecoration['line-through']) line(-font.descent, textDecoration['line-through']);

		return wrapper;

	};

})());

Cufon.registerEngine('vml', (function() {

	var ns = document.namespaces;
	if (!ns) return;
	ns.add('cvml', 'urn:schemas-microsoft-com:vml');
	ns = null;

	var check = document.createElement('cvml:shape');
	check.style.behavior = 'url(#default#VML)';
	if (!check.coordsize) return; // VML isn't supported
	check = null;

	var HAS_BROKEN_LINEHEIGHT = (document.documentMode || 0) < 8;

	document.write(('<style type="text/css">' +
		'.cufon-vml-canvas{text-indent:0;}' +
		'@media screen{' +
			'cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}' +
			'.cufon-vml-canvas{position:absolute;text-align:left;}' +
			'.cufon-vml{display:inline-block;position:relative;vertical-align:' +
			(HAS_BROKEN_LINEHEIGHT
				? 'middle'
				: 'text-bottom') +
			';}' +
			'.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}' +
			'a .cufon-vml{cursor:pointer}' + // ignore !important here
		'}' +
		'@media print{' +
			'.cufon-vml *{display:none;}' +
			'.cufon-vml .cufon-alt{display:inline;}' +
		'}' +
	'</style>').replace(/;/g, '!important;'));

	function getFontSizeInPixels(el, value) {
		return getSizeInPixels(el, /(?:em|ex|%)$|^[a-z-]+$/i.test(value) ? '1em' : value);
	}

	// Original by Dead Edwards.
	// Combined with getFontSizeInPixels it also works with relative units.
	function getSizeInPixels(el, value) {
		if (/px$/i.test(value)) return parseFloat(value);
		var style = el.style.left, runtimeStyle = el.runtimeStyle.left;
		el.runtimeStyle.left = el.currentStyle.left;
		el.style.left = value.replace('%', 'em');
		var result = el.style.pixelLeft;
		el.style.left = style;
		el.runtimeStyle.left = runtimeStyle;
		return result;
	}

	var fills = {};

	function gradientFill(gradient) {
		var id = gradient.id;
		if (!fills[id]) {
			var stops = gradient.stops, fill = document.createElement('cvml:fill'), colors = [];
			fill.type = 'gradient';
			fill.angle = 180;
			fill.focus = '0';
			fill.method = 'sigma';
			fill.color = stops[0][1];
			for (var j = 1, k = stops.length - 1; j < k; ++j) {
				colors.push(stops[j][0] * 100 + '% ' + stops[j][1]);
			}
			fill.colors = colors.join(',');
			fill.color2 = stops[k][1];
			fills[id] = fill;
		}
		return fills[id];
	}

	return function(font, text, style, options, node, el, hasNext) {

		var redraw = (text === null);

		if (redraw) text = node.alt;

		// @todo word-spacing, text-decoration

		var viewBox = font.viewBox;

		var size = style.computedFontSize || (style.computedFontSize = new Cufon.CSS.Size(getFontSizeInPixels(el, style.get('fontSize')) + 'px', font.baseSize));

		var letterSpacing = style.computedLSpacing;

		if (letterSpacing == undefined) {
			letterSpacing = style.get('letterSpacing');
			style.computedLSpacing = letterSpacing = (letterSpacing == 'normal') ? 0 : ~~size.convertFrom(getSizeInPixels(el, letterSpacing));
		}

		var wrapper, canvas;

		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('span');
			wrapper.className = 'cufon cufon-vml';
			wrapper.alt = text;

			canvas = document.createElement('span');
			canvas.className = 'cufon-vml-canvas';
			wrapper.appendChild(canvas);

			if (options.printable) {
				var print = document.createElement('span');
				print.className = 'cufon-alt';
				print.appendChild(document.createTextNode(text));
				wrapper.appendChild(print);
			}

			// ie6, for some reason, has trouble rendering the last VML element in the document.
			// we can work around this by injecting a dummy element where needed.
			// @todo find a better solution
			if (!hasNext) wrapper.appendChild(document.createElement('cvml:shape'));
		}

		var wStyle = wrapper.style;
		var cStyle = canvas.style;

		var height = size.convert(viewBox.height), roundedHeight = Math.ceil(height);
		var roundingFactor = roundedHeight / height;
		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
		var minX = viewBox.minX, minY = viewBox.minY;

		cStyle.height = roundedHeight;
		cStyle.top = Math.round(size.convert(minY - font.ascent));
		cStyle.left = Math.round(size.convert(minX));

		wStyle.height = size.convert(font.height) + 'px';

		var textDecoration = options.enableTextDecoration ? Cufon.CSS.textDecoration(el, style) : {};

		var color = style.get('color');
		var chars = Cufon.CSS.textTransform(text, style).split(''), chr;

		var glyphs = font.glyphs, glyph, kerning, k;
		var width = 0, jumps = [], offsetX = 0, advance;

		var shape, shadows = options.textShadow;

		// pre-calculate width
		for (var i = 0, j = 0, l = chars.length; i < l; ++i) {
			glyph = glyphs[chr = chars[i]] || font.missingGlyph;
			if (!glyph) continue;
			if (kerning) {
				width -= k = kerning[chr] || 0;
				jumps[j - 1] -= k;
			}
			width += advance = jumps[j++] = ~~(glyph.w || font.w) + letterSpacing;
			kerning = glyph.k;
		}

		if (advance === undefined) return null;

		var fullWidth = -minX + width + (viewBox.width - advance);

		var shapeWidth = size.convert(fullWidth * stretchFactor), roundedShapeWidth = Math.round(shapeWidth);

		var coordSize = fullWidth + ',' + viewBox.height, coordOrigin;
		var stretch = 'r' + coordSize + 'ns';

		var fill = options.textGradient && gradientFill(options.textGradient);

		for (i = 0, j = 0; i < l; ++i) {

			glyph = glyphs[chars[i]] || font.missingGlyph;
			if (!glyph) continue;

			if (redraw) {
				// some glyphs may be missing so we can't use i
				shape = canvas.childNodes[j];
				while (shape.firstChild) shape.removeChild(shape.firstChild); // shadow, fill
			}
			else {
				shape = document.createElement('cvml:shape');
				canvas.appendChild(shape);
			}

			shape.stroked = 'f';
			shape.coordsize = coordSize;
			shape.coordorigin = coordOrigin = (minX - offsetX) + ',' + minY;
			shape.path = (glyph.d ? 'm' + glyph.d + 'xe' : '') + 'm' + coordOrigin + stretch;
			shape.fillcolor = color;

			if (fill) shape.appendChild(fill.cloneNode(false));

			// it's important to not set top/left or IE8 will grind to a halt
			var sStyle = shape.style;
			sStyle.width = roundedShapeWidth;
			sStyle.height = roundedHeight;

			if (shadows) {
				// due to the limitations of the VML shadow element there
				// can only be two visible shadows. opacity is shared
				// for all shadows.
				var shadow1 = shadows[0], shadow2 = shadows[1];
				var color1 = Cufon.CSS.color(shadow1.color), color2;
				var shadow = document.createElement('cvml:shadow');
				shadow.on = 't';
				shadow.color = color1.color;
				shadow.offset = shadow1.offX + ',' + shadow1.offY;
				if (shadow2) {
					color2 = Cufon.CSS.color(shadow2.color);
					shadow.type = 'double';
					shadow.color2 = color2.color;
					shadow.offset2 = shadow2.offX + ',' + shadow2.offY;
				}
				shadow.opacity = color1.opacity || (color2 && color2.opacity) || 1;
				shape.appendChild(shadow);
			}

			offsetX += jumps[j++];
		}

		// addresses flickering issues on :hover

		var cover = shape.nextSibling, coverFill, vStyle;

		if (options.forceHitArea) {

			if (!cover) {
				cover = document.createElement('cvml:rect');
				cover.stroked = 'f';
				cover.className = 'cufon-vml-cover';
				coverFill = document.createElement('cvml:fill');
				coverFill.opacity = 0;
				cover.appendChild(coverFill);
				canvas.appendChild(cover);
			}

			vStyle = cover.style;

			vStyle.width = roundedShapeWidth;
			vStyle.height = roundedHeight;

		}
		else if (cover) canvas.removeChild(cover);

		wStyle.width = Math.max(Math.ceil(size.convert(width * stretchFactor)), 0);

		if (HAS_BROKEN_LINEHEIGHT) {

			var yAdjust = style.computedYAdjust;

			if (yAdjust === undefined) {
				var lineHeight = style.get('lineHeight');
				if (lineHeight == 'normal') lineHeight = '1em';
				else if (!isNaN(lineHeight)) lineHeight += 'em'; // no unit
				style.computedYAdjust = yAdjust = 0.5 * (getSizeInPixels(el, lineHeight) - parseFloat(wStyle.height));
			}

			if (yAdjust) {
				wStyle.marginTop = Math.ceil(yAdjust) + 'px';
				wStyle.marginBottom = yAdjust + 'px';
			}

		}

		return wrapper;

	};

})());

Cufon.registerFont({"w":171,"face":{"font-family":"ArnoPro","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 2 5 2 4 5 6 2 4 3","ascent":"244","descent":"-116","x-height":"4","cap-height":"1","bbox":"-32.8176 -273 339.414 112","underline-thickness":"18","underline-position":"-18","stemh":"13","stemv":"27","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":68},"!":{"d":"41,-208v0,-14,29,-16,38,-11v0,8,-9,97,-13,151v-1,1,-10,-1,-11,-2v-5,-49,-13,-123,-14,-138xm41,-15v-1,-10,10,-22,21,-20v12,-2,19,11,19,20v0,8,-10,22,-21,20v-10,1,-21,-8,-19,-20","w":107},"\"":{"d":"90,-240v2,30,4,86,-19,90v0,-28,-2,-67,-5,-76v4,-3,17,-16,24,-14xm39,-238v6,0,4,7,4,15v0,33,1,69,-20,75v0,-29,-3,-68,-6,-77v1,-2,18,-12,22,-13","w":108,"k":{"A":31,"B":-4,"D":-4,"E":-4,"F":-4,"H":-4,"I":-4,"K":-4,"L":-4,"N":-4,"P":-4,"R":-4,"J":-8,"C":4,"G":4,"O":4,"Q":4,"T":-13,"U":-6,"V":-17,"W":-25,"X":-11,"Y":-21,"Z":-8,"b":-17,"i":-2,"j":-6,"m":6,"n":6,"r":6,"c":13,"d":13,"e":13,"o":13,"q":13,"s":15,"t":-5,"v":-10,"x":-7,"y":-13,"M":-4,"S":3,"g":12,".":12,"z":1,"a":14,"h":-16,"k":-16,"l":-16,"w":-9}},"#":{"d":"139,-101v1,23,-25,19,-39,25v-5,17,-5,38,-13,52v-20,-4,0,-37,0,-54v-11,1,-27,-3,-35,2v-5,17,-6,39,-14,53v-21,-8,1,-36,1,-55v-19,0,-30,0,-33,-1v-1,-2,6,-22,7,-23v8,1,19,2,30,2r9,-40v-8,0,-27,0,-31,-1v-1,-3,4,-20,7,-21v8,1,19,1,29,1r9,-44v2,-1,13,-8,14,-3v-2,15,-9,33,-8,47r32,0r10,-48v2,-1,13,-6,15,-3v-2,17,-10,36,-10,51v13,0,26,0,34,-1v0,21,-20,20,-40,23v-2,13,-8,28,-7,39v12,0,23,1,33,-1xm100,-140v-11,1,-25,-1,-35,1v-2,13,-8,27,-7,39r33,0","w":163},"$":{"d":"91,-204v-51,-6,-49,63,-10,74v1,0,2,0,3,-1xm93,-90v-8,20,-5,56,-9,78v21,0,40,-11,41,-36v1,-20,-12,-31,-32,-42xm105,-217v12,4,30,3,44,6v-2,10,-4,28,-6,44v-1,2,-10,3,-11,1v0,-28,-12,-41,-29,-37v-2,26,-8,55,-7,80v28,14,58,29,58,62v0,35,-28,56,-72,63r-3,29v-2,1,-11,3,-13,2v0,-11,4,-24,2,-33v-18,-1,-40,-7,-46,-10v0,-6,-19,-53,2,-49v10,34,23,44,47,45v2,-27,8,-57,7,-82v-30,-16,-53,-32,-53,-63v-1,-38,32,-56,68,-58r2,-27v1,-1,11,-2,13,-2"},"%":{"d":"47,-4r145,-217v4,-2,16,-8,16,0v-13,17,-129,193,-154,228v-4,3,-6,-8,-7,-11xm137,-56v0,-43,21,-69,58,-69v26,0,41,26,41,53v-1,52,-24,68,-58,68v-26,0,-41,-24,-41,-52xm185,-111v-18,0,-24,23,-24,42v0,37,15,51,28,51v38,-2,34,-95,-4,-93xm15,-148v0,-43,23,-68,59,-68v27,0,40,28,40,53v0,49,-23,69,-57,69v-25,0,-42,-25,-42,-54xm63,-202v-19,0,-24,24,-24,43v0,37,15,50,29,50v39,-3,33,-95,-5,-93","w":251},"&":{"d":"47,-168v0,-64,101,-77,102,-12v0,19,-14,32,-46,55v10,9,44,43,70,57v6,-15,29,-40,16,-57v-4,-1,-10,-3,-18,-4v-2,0,-1,-9,0,-10v8,1,67,1,71,0v1,1,2,10,0,11v-39,2,-45,51,-59,68v21,15,48,35,55,43v-3,8,-9,33,-21,30v-14,-19,-37,-33,-55,-47v-41,63,-138,49,-143,-24v-1,-20,17,-34,48,-61v-12,-14,-20,-28,-20,-49xm152,-40v-21,-23,-56,-49,-78,-69v-43,22,-27,92,28,92v17,0,37,-8,50,-23xm96,-212v-35,0,-29,61,-2,78v18,-9,31,-29,31,-46v0,-15,-10,-32,-29,-32","w":255},"(":{"d":"31,-96v0,-82,41,-143,89,-177v2,0,7,7,6,9v-39,35,-69,82,-69,162v0,69,23,130,65,168v0,2,-5,9,-7,9v-24,-10,-84,-74,-84,-171","w":145,"k":{"A":5,"B":5,"D":5,"E":5,"F":5,"H":5,"I":5,"K":5,"L":5,"N":5,"P":5,"R":5,"J":-40,"C":11,"G":11,"O":11,"Q":11,"T":2,"U":1,"Z":1,"b":-6,"f":14,"i":9,"j":-12,"m":18,"n":18,"r":18,"c":19,"d":19,"e":19,"o":19,"q":19,"p":-6,"s":12,"t":9,"u":18,"v":12,"x":2,"M":3,"S":7,"z":10,"a":15,"h":-4,"k":-4,"l":-4}},")":{"d":"114,-102v0,83,-40,143,-88,177v-2,0,-6,-7,-6,-9v40,-36,69,-81,69,-162v0,-68,-21,-127,-66,-168v0,-2,6,-9,7,-9v24,11,84,73,84,171","w":145},"*":{"d":"60,-199v6,-28,3,-49,26,-42v-4,10,-10,38,-11,44v6,-2,30,-11,44,-17v6,18,-28,23,-41,30v6,6,31,24,39,28v-14,17,-41,-11,-48,-15v-5,14,-4,44,-11,47v-15,-6,-5,-32,-3,-51v-5,0,-40,17,-47,13v8,-17,24,-17,42,-26v-5,-6,-31,-22,-31,-33v20,-17,25,13,41,22","w":130},"+":{"d":"181,-96v4,33,-33,15,-72,20v-11,30,17,87,-22,77r0,-77r-71,0v-1,-6,3,-16,4,-20r67,0r-1,-71v4,-1,17,-4,19,-4v6,16,-2,57,4,75r72,0","w":196},",":{"d":"9,61v-3,-1,-9,-2,-10,-5v25,-22,42,-54,19,-84v4,-5,17,-24,28,-21v27,33,-9,97,-37,110","w":73},"-":{"d":"18,-84v17,0,61,-2,71,-2v1,7,-2,17,-5,20v-3,-1,-68,8,-71,0v0,-5,3,-18,5,-18","w":102,"k":{"A":3,"B":7,"D":7,"E":7,"F":7,"H":7,"I":7,"K":7,"L":7,"N":7,"P":7,"R":7,"J":2,"C":-4,"G":-4,"O":-4,"Q":-4,"T":23,"U":4,"V":21,"W":9,"X":5,"Y":22,"b":1,"f":-1,"m":1,"n":1,"r":1,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"s":-4,"u":1,"v":5,"x":4,"y":5,"M":1,"S":-10,"g":-4,"z":-3}},".":{"d":"17,-17v0,-10,10,-22,20,-21v26,2,26,42,-1,42v-10,0,-19,-10,-19,-21","w":73,"k":{"A":-15,"J":-2,"C":16,"G":16,"O":16,"Q":16,"T":27,"U":20,"V":30,"W":21,"X":-9,"Y":23,"b":4,"f":-1,"j":6,"m":1,"n":1,"r":1,"c":9,"d":9,"e":9,"o":9,"q":9,"\"":6,"'":6,"s":-1,"t":7,"u":10,"v":22,"x":-10,"y":19,"M":-3,"g":3,"z":3,"a":1}},"\/":{"d":"129,-242v1,0,18,-10,18,-2v-3,9,-92,241,-112,277v-2,3,-17,12,-20,7v27,-58,103,-251,114,-282","w":163},"0":{"d":"12,-104v-3,-57,27,-115,80,-115v23,0,37,12,42,18v12,13,26,40,26,87v0,67,-28,118,-77,118v-56,0,-67,-40,-71,-108xm90,-10v37,-8,38,-36,38,-94v0,-67,-18,-101,-45,-101v-37,0,-40,43,-40,87v0,72,17,108,47,108"},"1":{"d":"139,-9v1,1,0,9,-1,10v-17,-1,-86,-1,-101,0v-1,-1,-1,-9,0,-10v19,-3,36,-1,36,-23v0,-26,1,-129,0,-149v0,-13,-15,-12,-31,-12v-1,-1,0,-8,1,-9v22,0,47,-17,62,-15v-2,10,-3,150,-1,184v0,23,13,22,35,24"},"2":{"d":"12,-7v32,-29,92,-85,92,-140v0,-23,-12,-46,-41,-46v-17,0,-31,9,-45,27v-2,0,-8,-6,-8,-7v10,-19,36,-46,68,-46v32,0,57,26,57,64v1,46,-55,92,-82,125v-1,1,0,3,1,3v13,2,51,2,72,2v7,0,14,-4,27,-32v2,-1,8,2,9,4v-3,11,-13,43,-19,52v-32,6,-90,-2,-130,2v-1,-1,-1,-6,-1,-8"},"3":{"d":"22,-35v12,45,99,54,100,-11v0,-34,-28,-59,-68,-52v-1,-1,4,-13,5,-14v34,-7,47,-23,47,-44v1,-43,-57,-50,-79,-18v-1,0,-5,-7,-5,-9v12,-15,35,-36,62,-36v30,0,50,22,50,49v1,25,-18,38,-31,50v24,8,50,24,50,57v0,46,-43,78,-90,78v-35,0,-47,-15,-49,-45v0,-2,7,-5,8,-5"},"4":{"d":"165,-62v-12,1,-29,-3,-38,2r0,69v-10,0,-24,2,-31,4v-1,-24,3,-53,0,-75r-91,0v0,-1,0,-10,1,-11v23,-33,93,-126,103,-142v2,-1,15,-3,17,-3v2,44,-4,95,2,135v19,0,32,-1,42,-1v-2,7,-5,17,-5,22xm31,-85v10,6,43,1,65,3v4,-30,1,-66,3,-98v-13,9,-60,85,-68,95"},"5":{"d":"67,15v-37,-1,-65,-18,-46,-48v0,-1,4,-1,5,-1v12,37,98,50,97,-8v8,-43,-68,-70,-88,-84v-4,-27,26,-72,32,-86v11,-12,50,5,66,-8v11,8,-11,33,-24,34v-20,1,-36,-6,-43,1v-4,10,-15,24,-11,35v32,18,96,39,96,89v0,46,-46,76,-84,76"},"6":{"d":"160,-77v1,44,-33,82,-77,82v-49,0,-70,-39,-70,-80v0,-66,54,-130,140,-159v2,1,5,8,4,10v-64,32,-94,68,-100,97v47,-30,100,-11,103,50xm82,-122v-22,-1,-40,16,-37,41v-6,81,84,99,85,20v0,-41,-22,-61,-48,-61"},"7":{"d":"160,-215v-6,44,-87,198,-98,226v-4,-1,-16,-4,-13,-11v19,-41,78,-155,87,-184v-13,-3,-73,-1,-90,-1v-10,0,-13,4,-25,28v-1,1,-10,-2,-11,-4v5,-16,11,-38,14,-56v38,5,94,1,136,2"},"8":{"d":"62,-107v-65,-34,-35,-111,29,-112v32,0,56,22,56,52v0,18,-13,29,-38,52v32,21,45,34,45,59v0,32,-32,60,-70,60v-49,0,-67,-31,-67,-54v-3,-16,13,-30,45,-57xm122,-164v0,-49,-70,-59,-70,-10v-1,22,17,41,48,52v18,-15,22,-29,22,-42xm44,-54v0,45,80,69,82,13v1,-23,-15,-42,-55,-58v-19,16,-27,28,-27,45"},"9":{"d":"12,-141v0,-40,33,-78,77,-78v44,0,69,40,69,86v0,72,-58,129,-131,152v-2,0,-4,-7,-4,-9v58,-27,83,-63,97,-102v-13,3,-40,20,-53,17v-29,0,-55,-27,-55,-66xm90,-97v24,0,36,-13,36,-37v0,-40,-19,-71,-47,-71v-23,0,-38,20,-38,49v0,41,23,59,49,59"},":":{"d":"28,-17v0,-10,10,-20,21,-20v12,0,20,12,19,21v1,10,-9,20,-20,20v-10,0,-20,-10,-20,-21xm28,-109v0,-10,11,-20,21,-20v12,0,20,12,19,21v1,10,-9,20,-20,20v-10,0,-20,-10,-20,-21","w":96,"k":{"A":-14,"J":-14,"C":-3,"G":-3,"O":-3,"Q":-3,"T":15,"U":3,"V":13,"X":-7,"Y":15,"Z":-6,"f":-5,"i":-4,"j":-4,"p":-4,"s":-2,"x":-9,"M":-2,"S":-4,"g":-3,"z":-4,"a":-2}},";":{"d":"28,-109v0,-10,11,-20,21,-20v12,0,20,12,20,21v0,9,-10,21,-21,20v-9,-1,-21,-11,-20,-21xm19,61v-3,-1,-9,-2,-10,-5v25,-21,43,-54,20,-84v4,-5,17,-25,29,-21v24,33,-9,96,-39,110","w":96,"k":{"A":-14,"J":-14,"C":-3,"G":-3,"O":-3,"Q":-3,"T":15,"U":3,"V":13,"X":-7,"Y":15,"Z":-6,"f":-5,"i":-4,"j":-4,"p":-4,"s":-2,"x":-9,"M":-2,"S":-4,"g":-3,"z":-4,"a":-2}},"<":{"d":"167,-145v-7,8,-92,45,-109,60v12,7,106,53,115,61v0,1,-3,18,-9,18v-14,-11,-108,-58,-141,-72v0,-2,2,-13,4,-14v33,-14,129,-70,144,-74v0,4,-2,20,-4,21","w":196},"=":{"d":"175,-109r-158,0v-6,-3,2,-16,3,-20r161,0v1,5,-3,16,-6,20xm175,-44r-158,0v-3,-4,2,-15,3,-20r160,1v3,4,-3,18,-5,19","w":196},">":{"d":"30,-28v8,-6,87,-46,109,-57v1,-1,0,-3,0,-3v-12,-7,-106,-53,-115,-61v0,-1,3,-18,9,-18v14,10,108,58,141,72v0,2,-3,13,-5,14v-33,14,-128,70,-143,74v0,-4,2,-19,4,-21","w":196},"?":{"d":"113,-165v0,46,-78,43,-37,84v2,9,-14,14,-24,13v-10,-5,-16,-14,-16,-23v3,-28,52,-34,54,-63v1,-18,-25,-39,-57,-40v-9,-6,-1,-28,16,-28v32,0,64,28,64,57xm44,-15v0,-10,9,-21,20,-20v11,-1,20,10,20,20v0,8,-10,21,-21,20v-9,-1,-19,-9,-19,-20","w":131},"@":{"d":"219,-144v-13,28,-22,89,-24,113v0,8,3,14,11,14v24,0,56,-23,56,-79v0,-69,-45,-101,-99,-101v-40,0,-118,32,-118,147v0,80,34,110,91,112v2,12,-15,13,-25,13v-21,0,-92,-34,-92,-123v0,-90,76,-165,159,-165v71,0,105,57,105,105v0,76,-60,112,-100,112v-21,1,-16,-31,-11,-52v-24,28,-55,53,-69,53v-15,0,-18,-23,-18,-37v1,-68,54,-128,134,-112xm189,-126v-46,-22,-78,38,-77,78v0,16,5,24,12,24v26,1,62,-63,65,-102","w":302},"A":{"d":"-8,-9v26,-3,31,-5,42,-34r66,-179v1,1,23,1,24,0v11,37,48,139,66,183v10,24,13,27,39,30v1,1,0,9,-1,10v-19,-1,-73,-1,-91,0v-1,-1,-2,-9,-1,-10v11,-2,28,-2,24,-13v-5,-16,-13,-52,-25,-65v-22,2,-51,-4,-67,3v-7,19,-18,50,-19,59v-3,12,15,15,28,16v1,1,1,9,0,10v-12,-1,-73,-1,-85,0v-1,-1,-1,-9,0,-10xm130,-104v-2,-20,-19,-69,-27,-80v-5,19,-25,61,-26,80v6,1,44,1,53,0","w":220},"B":{"d":"190,-69v0,77,-95,74,-182,70v-2,-1,-3,-9,-1,-10v17,-3,36,1,35,-22r0,-163v0,-19,-15,-15,-30,-18v-1,-1,-1,-9,0,-10v62,9,163,-27,163,50v0,21,-14,37,-35,46v-1,0,-1,2,0,2v28,6,50,23,50,55xm73,-129v33,11,77,-2,70,-35v0,-31,-20,-46,-54,-46v-30,-1,-10,45,-16,81xm75,-113v-3,40,-16,112,35,101v29,0,47,-16,47,-49v0,-39,-36,-58,-82,-52","w":206,"k":{"x":4,"v":5,"b":4,"X":2,"J":-1,"M":1,"C":-1,"G":-1,"O":-1,"Q":-1,"S":1,"T":10,"U":1,"V":5,"W":2,"Y":5,"Z":2,"a":3,",":8,"f":2,"i":2,"j":1,"h":3,"k":3,"l":3,"m":2,"n":2,"r":2,"p":2,".":9,"\"":6,"'":6,"s":1,":":-4,";":-4,"t":3,"w":5,"y":6,"z":3,"-":-7,")":18,"]":18,"}":18,"u":3}},"C":{"d":"20,-112v0,-63,51,-116,130,-116v31,0,55,6,71,7v-2,13,-6,40,-6,56v-1,1,-11,2,-11,0v-4,-49,-25,-50,-66,-50v-52,0,-82,38,-82,99v0,58,32,107,96,107v38,0,51,-19,67,-48v2,0,7,3,8,6v-4,15,-19,44,-27,48v-10,5,-33,9,-55,9v-80,0,-125,-43,-125,-118","w":242,"k":{"A":-1,"B":4,"D":4,"E":4,"F":4,"H":4,"I":4,"K":4,"L":4,"N":4,"P":4,"R":4,"J":-3,"M":1,"C":6,"G":6,"O":6,"Q":6,"S":4,"T":7,"U":4,"V":-5,"W":-8,"Y":-6,"a":6,"b":5,",":5,"f":5,"g":7,"i":4,"j":4,"h":3,"k":3,"l":3,"m":4,"n":4,"r":4,"p":9,".":5,"\"":-5,"'":-5,"s":4,"t":6,"v":12,"w":8,"y":8,"z":8,"-":-5,")":9,"]":9,"}":9,"u":8,"!":-2,"c":7,"d":7,"e":7,"o":7,"q":7,"?":-4}},"D":{"d":"235,-116v-4,123,-103,123,-229,117v-1,-2,-1,-9,0,-10v20,-4,36,2,36,-21r0,-161v-1,-22,-14,-17,-32,-21v-1,-1,0,-9,1,-10v40,2,66,0,113,-1v67,-2,113,44,111,107xm74,-114v0,66,-15,105,47,102v49,-2,80,-37,80,-98v0,-58,-38,-103,-105,-100v-42,-7,-22,49,-22,96","w":255,"k":{"A":5,"C":-4,"G":-4,"O":-4,"Q":-4,"S":1,"T":9,"V":6,"W":-1,"X":10,"Y":8,"Z":4,"a":5,",":16,"f":-1,"g":3,"j":-3,"p":-2,".":17,"\"":3,"'":3,"s":3,":":-3,";":-3,"v":-4,"w":-4,"y":-4,"z":2,"-":-6,")":10,"]":10,"}":10,"c":2,"d":2,"e":2,"o":2,"q":2}},"E":{"d":"137,-14v31,0,32,-23,44,-44v2,0,10,2,11,4v-2,11,-10,39,-15,50v-36,13,-121,-1,-173,5v-1,-1,-1,-8,0,-10v22,-4,39,2,39,-23v1,-10,0,-143,0,-159v0,-22,-13,-17,-30,-22v-2,-1,0,-8,1,-10v41,5,121,-1,160,2v-3,11,-6,35,-7,49v-1,2,-10,2,-11,1v-4,-20,-1,-34,-22,-36r-55,0v-9,20,-3,60,-3,86v29,-2,74,10,72,-26v19,-5,9,18,9,35v0,13,1,24,1,33v-2,2,-11,2,-13,0v6,-36,-39,-23,-69,-26v-3,16,-1,57,-1,75v1,25,36,16,62,16","w":200,"k":{"A":-9,"J":-4,"M":-4,"C":7,"G":7,"O":7,"Q":7,"T":10,"W":-4,"X":-6,"Y":1,"Z":1,"b":3,"g":3,"i":1,"j":3,"m":3,"n":3,"r":3,"p":5,".":-2,"\"":4,"'":4,":":-6,";":-6,"t":8,"v":12,"w":9,"x":-5,"y":8,"z":5,"-":-5,")":13,"]":13,"}":13,"u":8,"c":4,"d":4,"e":4,"o":4,"q":4}},"F":{"d":"42,-191v1,-21,-12,-18,-30,-21v-1,-1,-1,-9,0,-10r166,1v-3,9,-5,31,-6,51v-1,2,-10,2,-11,0v-4,-21,-3,-34,-22,-36v-16,3,-63,-8,-65,6v2,20,-5,63,1,83v34,-2,80,13,77,-28v3,-1,11,0,13,1v-3,17,-3,51,-2,71v-2,2,-8,2,-11,1v-4,-13,-5,-28,-17,-28r-62,1v4,44,-16,93,38,90v1,1,1,9,0,10r-101,0v-1,-1,-1,-9,0,-10v19,-3,32,0,32,-22r0,-160","w":191,"k":{"x":4,"v":4,"A":19,"C":3,"G":3,"O":3,"Q":3,"S":4,"V":-9,"W":-14,"Y":-12,"Z":2,"a":16,",":26,"f":7,"g":15,"i":8,"j":5,"m":10,"n":10,"r":10,"p":9,".":26,"\"":-6,"'":-6,"s":13,"t":8,"w":3,"y":2,"z":7,"-":4,")":7,"]":7,"}":7,"u":8,"c":12,"d":12,"e":12,"o":12,"q":12}},"G":{"d":"155,-6v35,0,34,-26,33,-57v-1,-21,-16,-19,-38,-22v-2,-1,-1,-10,0,-11r90,0v1,1,1,10,0,11v-28,-4,-21,38,-21,60v-3,7,13,7,8,18v-12,4,-48,13,-79,13v-84,0,-128,-42,-128,-118v0,-100,108,-133,205,-108v-3,13,-7,41,-7,57v-1,2,-10,2,-12,1v-5,-51,-19,-53,-66,-53v-56,0,-83,40,-83,99v0,62,33,110,98,110","w":253,"k":{"A":-6,"J":-6,"C":-2,"G":-2,"O":-2,"Q":-2,"T":8,"U":2,"V":-1,"W":-3,"Z":3,"a":4,"b":4,",":5,"g":2,"i":1,"j":1,"p":2,".":5,"\"":-2,"'":-2,":":-4,";":-4,"t":3,"v":5,"w":5,"y":5,"z":5,"-":-8,")":8,"]":8,"}":8,"u":3}},"H":{"d":"43,-113v0,-65,16,-99,-33,-99v-1,-1,0,-9,1,-10v16,1,77,1,91,0v6,22,-31,1,-28,29v1,10,-3,44,2,71v38,-2,84,4,119,-2v-5,-35,20,-94,-29,-88v-2,-1,-1,-9,1,-11v14,2,74,2,89,1v1,1,1,9,0,10v-18,3,-27,1,-28,23v-1,19,-1,135,0,159v2,20,12,18,33,21v1,1,0,9,-2,10r-94,0v-1,-1,-1,-8,0,-10v17,-3,30,0,30,-21v0,-24,3,-54,-2,-74v-18,1,-111,-5,-119,2v5,38,-18,95,33,93v1,19,-19,9,-48,9v-21,0,-41,1,-48,1v-1,-1,-2,-9,-1,-10v22,-4,32,-2,32,-30v0,-12,1,-43,1,-74","w":269,"k":{"A":-4,"B":-2,"D":-2,"E":-2,"F":-2,"H":-2,"I":-2,"K":-2,"L":-2,"N":-2,"P":-2,"R":-2,"J":-6,"M":-2,"U":1,"W":-3,"X":-1,"Y":-4,"Z":-1,"a":7,"b":3,"f":4,"g":8,"i":5,"j":5,"m":8,"n":8,"r":8,"p":7,"\"":-5,"'":-5,"s":5,"t":9,"v":10,"w":11,"y":9,"z":3,"-":3,")":3,"]":3,"}":3,"u":10,"c":9,"d":9,"e":9,"o":9,"q":9,"?":-6}},"I":{"d":"11,-212v-1,-1,-1,-9,0,-10v16,1,75,1,92,0v1,1,1,8,0,10v-19,2,-28,1,-29,20v-2,30,0,134,0,160v0,19,15,20,34,23v1,1,0,9,-1,10v-20,-1,-76,-1,-96,0v-2,-1,-2,-9,-1,-10v17,-2,31,-3,31,-19v0,-15,2,-133,1,-164v-1,-19,-13,-17,-31,-20","w":115,"k":{"A":-4,"B":-2,"D":-2,"E":-2,"F":-2,"H":-2,"I":-2,"K":-2,"L":-2,"N":-2,"P":-2,"R":-2,"J":-6,"M":-2,"U":1,"W":-3,"X":-1,"Y":-4,"Z":-1,"a":7,"b":3,"f":4,"g":8,"i":5,"j":5,"m":8,"n":8,"r":8,"p":7,"\"":-5,"'":-5,"s":5,"t":9,"v":10,"w":11,"y":9,"z":3,"-":3,")":3,"]":3,"}":3,"u":10,"c":9,"d":9,"e":9,"o":9,"q":9,"?":-6}},"J":{"d":"-26,43v40,29,72,16,72,-51v0,-45,-1,-163,-1,-180v0,-19,-13,-23,-34,-24v-1,-1,0,-9,1,-10v13,1,77,1,93,0v1,1,2,9,0,10v-17,3,-26,2,-27,18v-4,48,8,187,-15,225v-25,41,-63,68,-95,41v-3,-9,3,-22,6,-29","w":115,"k":{"J":-6,"S":2,"U":3,"V":-3,"W":-6,"Y":-4,"a":12,"b":1,",":13,"f":7,"g":11,"i":9,"j":9,"h":3,"k":3,"l":3,"m":9,"n":9,"r":9,"p":7,".":14,"\"":-8,"'":-8,"s":10,"t":10,"v":7,"w":6,"x":7,"y":8,"z":11,"-":5,")":4,"]":4,"}":4,"u":9,"c":11,"d":11,"e":11,"o":11,"q":11}},"K":{"d":"73,-190r0,155v1,26,12,21,33,26v1,1,0,9,-1,10r-95,0v-1,-1,-1,-9,0,-10v20,-3,33,-2,32,-24r0,-160v1,-18,-12,-17,-29,-19v-2,-1,-2,-9,0,-10v13,1,73,1,89,0v1,1,1,8,0,10v-17,3,-29,1,-29,22xm153,-187v15,-18,2,-23,-18,-25v-1,-1,-1,-9,0,-10v19,1,70,1,85,0v1,1,1,9,-1,10v-20,3,-29,5,-44,22v-21,24,-45,45,-64,71v28,29,70,107,129,110v1,1,1,9,-1,10v-25,0,-64,4,-74,-12v-21,-17,-64,-73,-88,-97v0,-1,0,-4,1,-5v17,-6,54,-48,75,-74","w":231,"k":{"J":-14,"C":10,"G":10,"O":10,"Q":10,"S":-5,"T":2,"U":11,"V":6,"W":6,"X":-3,"Y":3,"Z":-10,"a":-7,"b":-3,",":-17,"g":-4,"j":-8,"h":-3,"k":-3,"l":-3,"p":-5,".":-17,"\"":-3,"'":-3,"s":-9,":":-18,";":-18,"t":3,"v":19,"w":19,"x":-4,"y":13,"z":-10,"-":5,"u":3,"!":-7,"?":-6}},"L":{"d":"195,-63v-10,18,-4,66,-34,65r-155,-1v-1,-1,-2,-9,0,-10v18,-4,33,0,35,-18v1,-8,3,-144,1,-161v3,-25,-14,-20,-31,-24v-1,-1,-1,-9,1,-10v12,1,80,1,91,0v2,1,2,9,0,10v-15,2,-30,1,-28,17v-3,26,-2,148,0,168v2,22,44,9,66,13v24,-2,32,-31,43,-53v3,-1,10,2,11,4","w":198,"k":{"A":-14,"J":-9,"M":-3,"C":3,"G":3,"O":3,"Q":3,"S":-1,"T":27,"U":11,"V":23,"W":18,"X":-5,"Y":18,"a":-4,"b":4,",":-3,"f":-3,"g":-2,"i":-2,"j":-3,"h":-4,"k":-4,"l":-4,"m":-3,"n":-3,"r":-3,".":-4,"\"":28,"'":28,"s":-5,":":-7,";":-7,"v":13,"w":13,"x":-9,"y":9,"-":-18,")":12,"]":12,"}":12,"u":3,"!":-6,"c":-3,"d":-3,"e":-3,"o":-3,"q":-3,"?":-7}},"M":{"d":"156,-55v13,-17,63,-122,78,-166v35,0,48,-1,63,-1v1,1,1,9,0,10v-19,4,-32,0,-33,18v-1,22,3,136,4,161v1,22,13,21,34,24v1,2,0,8,-1,10v-16,-1,-78,-1,-95,0v-1,-1,-1,-9,0,-10v16,-3,29,-3,29,-20v0,-24,0,-118,-1,-150v0,-1,-1,-1,-2,0v-10,22,-69,144,-81,179v-1,1,-10,1,-11,1v-9,-30,-62,-150,-75,-180v-1,-1,-2,-1,-2,0v-2,32,-7,112,-7,142v0,24,12,26,34,28v1,1,1,9,-1,10v-13,-1,-75,-1,-86,0v-1,-1,-1,-9,0,-10v22,-3,31,-2,34,-29v3,-27,13,-121,13,-154v0,-16,-15,-17,-35,-20v-1,-1,-1,-9,0,-10v12,0,29,1,66,1v17,49,68,151,75,166","w":307,"k":{"A":-4,"J":-5,"M":-3,"U":1,"W":-2,"X":-4,"Z":-3,"a":4,"b":1,",":-1,"f":1,"g":6,"i":4,"j":5,"m":4,"n":4,"r":4,"p":8,".":-1,"\"":-5,"'":-5,"s":3,":":-2,";":-2,"t":7,"v":9,"w":10,"x":-3,"y":9,"z":4,"-":3,")":6,"]":6,"}":6,"u":9,"c":8,"d":8,"e":8,"o":8,"q":8,"?":-3}},"N":{"d":"44,-187v0,-16,-18,-25,-39,-25v-1,-1,0,-9,1,-10r61,0v43,60,94,121,143,176v0,-49,-2,-117,-2,-143v0,-19,-18,-21,-38,-23v-1,-1,-1,-9,0,-10v14,1,68,1,86,0v1,1,1,9,0,10v-16,2,-28,6,-28,23v0,29,-4,134,-2,191r-25,0v-19,-27,-117,-151,-139,-178r-2,0v-1,37,-1,121,0,141v2,24,15,23,37,26v1,1,0,9,-1,10v-14,-1,-75,-1,-88,0v-1,-1,-1,-9,0,-10v19,-4,31,-2,33,-25v1,-19,3,-77,3,-153","w":264,"k":{"J":-4,"S":3,"T":-1,"W":-1,"X":2,"a":13,",":12,"f":5,"g":12,"i":7,"j":6,"m":8,"n":8,"r":8,"p":8,".":13,"\"":-9,"'":-9,"s":10,"t":8,"v":8,"w":6,"x":5,"y":6,"z":11,"-":1,")":4,"]":4,"}":4,"u":9,"c":10,"d":10,"e":10,"o":10,"q":10,"?":-7}},"O":{"d":"249,-116v0,74,-55,122,-117,122v-70,0,-112,-55,-112,-119v0,-68,55,-114,118,-115v73,0,111,53,111,112xm55,-121v-1,53,29,112,91,112v50,0,69,-47,69,-94v0,-56,-28,-110,-89,-110v-52,0,-70,44,-71,92","w":268,"k":{"A":5,"C":-4,"G":-4,"O":-4,"Q":-4,"S":1,"T":9,"V":6,"W":-1,"X":10,"Y":8,"Z":4,"a":5,",":16,"f":-1,"g":3,"j":-3,"p":-2,".":17,"\"":3,"'":3,"s":3,":":-3,";":-3,"v":-4,"w":-4,"y":-4,"z":2,"-":-6,")":10,"]":10,"}":10,"c":2,"d":2,"e":2,"o":2,"q":2}},"P":{"d":"107,-88v-12,1,-24,-5,-18,-14v39,7,61,-16,61,-51v0,-33,-17,-57,-58,-57v-7,1,-18,-1,-18,7v-1,6,-1,154,0,172v1,22,16,17,35,22v1,1,0,9,-1,10r-96,0v-1,-1,-2,-9,-1,-10v20,-3,30,-1,30,-24r1,-157v0,-21,-12,-20,-30,-22v-1,-2,-1,-9,0,-10v71,4,173,-20,171,62v-2,48,-34,69,-76,72","w":196,"k":{"A":19,"M":3,"T":-5,"U":-1,"V":-5,"W":-6,"Y":-4,"Z":-3,"a":14,"b":2,",":36,"f":1,"g":13,"i":3,"h":2,"k":2,"l":2,"m":6,"n":6,"r":6,"p":3,".":36,"\"":-9,"'":-9,"s":11,":":3,";":3,"v":-6,"w":-6,"x":-5,"y":-8,"z":5,"-":9,")":10,"]":10,"}":10,"u":2,"!":-6,"c":15,"d":15,"e":15,"o":15,"q":15,"?":-9}},"Q":{"d":"170,1v58,20,110,64,168,33v1,1,2,8,1,11v-61,54,-138,10,-182,-24v-24,-19,-67,-15,-93,-36v-30,-24,-44,-58,-44,-97v0,-71,56,-116,119,-116v67,0,110,49,110,112v0,63,-33,100,-79,117xm126,-213v-50,0,-71,46,-71,92v0,64,36,113,93,113v39,0,67,-38,67,-96v0,-57,-27,-109,-89,-109","w":268,"k":{"A":5,"C":-4,"G":-4,"O":-4,"Q":-4,"S":1,"T":9,"V":6,"W":-1,"X":10,"Y":8,"Z":4,"a":5,",":16,"f":-1,"g":3,"j":-3,"p":-2,".":17,"\"":3,"'":3,"s":3,":":-3,";":-3,"v":-4,"w":-4,"y":-4,"z":2,"-":-6,")":10,"]":10,"}":10,"c":2,"d":2,"e":2,"o":2,"q":2}},"R":{"d":"42,-193v1,-18,-14,-18,-31,-19v-1,-1,0,-9,1,-10r101,0v80,-4,79,96,23,113v5,24,41,62,58,81v14,16,19,16,41,19v1,1,0,9,-2,10v-28,1,-63,0,-75,-21v-18,-18,-35,-62,-58,-77v0,0,-24,-2,-27,2v4,40,-15,89,32,86v2,1,2,9,0,10v-10,-1,-83,-1,-94,0v-5,-22,31,0,31,-33r0,-161xm73,-113v50,7,72,-1,72,-43v0,-34,-17,-54,-56,-54v-4,1,-16,0,-15,7v-1,12,-1,62,-1,90","w":220,"k":{"A":-10,"B":-3,"D":-3,"E":-3,"F":-3,"H":-3,"I":-3,"K":-3,"L":-3,"N":-3,"P":-3,"R":-3,"J":-14,"M":-5,"C":3,"G":3,"O":3,"Q":3,"S":-9,"T":19,"U":4,"V":16,"W":11,"X":-2,"Y":14,"Z":-14,"a":-12,"b":-7,",":-21,"f":-5,"g":-9,"i":-5,"j":-11,"h":-5,"k":-5,"l":-5,"m":-4,"n":-4,"r":-4,"p":-10,".":-22,"\"":13,"'":13,"s":-14,":":-20,";":-20,"t":-4,"v":10,"w":10,"x":-12,"y":3,"z":-14,")":2,"]":2,"}":2,"u":-5,"!":-10,"c":-5,"d":-5,"e":-5,"o":-5,"q":-5,"?":-10}},"S":{"d":"53,-180v0,65,104,52,104,120v0,35,-29,66,-80,66v-22,0,-43,-7,-52,-11v-3,-5,-9,-42,-10,-54v1,-2,9,-4,11,-3v10,35,23,54,61,55v18,0,39,-11,39,-38v0,-50,-111,-64,-101,-122v-4,-61,75,-68,126,-55v-3,12,-5,32,-6,50v-1,2,-10,2,-11,0v-2,-34,-13,-43,-43,-44v-25,0,-38,18,-38,36","w":173,"k":{"B":2,"D":2,"E":2,"F":2,"H":2,"I":2,"K":2,"L":2,"N":2,"P":2,"R":2,"J":-2,"M":1,"C":3,"G":3,"O":3,"Q":3,"S":2,"T":7,"U":5,"V":-2,"W":-6,"X":2,"Y":-5,"a":4,"b":5,",":5,"f":3,"g":3,"i":3,"j":4,"h":3,"k":3,"l":3,"m":4,"n":4,"r":4,"p":4,".":7,"\"":-3,"'":-3,"s":1,":":-3,";":-3,"t":4,"v":8,"w":8,"x":3,"y":9,"z":6,"-":-8,")":9,"]":9,"}":9,"u":4,"c":3,"d":3,"e":3,"o":3,"q":3}},"T":{"d":"166,-9v1,2,1,9,-1,10v-18,-1,-93,-1,-108,0v-1,-2,-1,-9,0,-10v25,-4,39,0,39,-30v0,-28,2,-105,2,-165v-16,-5,-54,-10,-65,7v-4,7,-9,20,-14,34v-1,1,-10,-1,-11,-3v3,-15,6,-44,7,-59v44,3,152,11,202,-2v1,0,3,1,3,2v-4,13,-6,42,-8,61v-1,2,-10,1,-11,0v-3,-20,-2,-42,-20,-42r-51,0v-4,50,0,156,0,174v0,24,13,19,36,23","w":230,"k":{"A":29,"M":3,"C":14,"G":14,"O":14,"Q":14,"S":9,"T":1,"V":-11,"W":-14,"Y":-13,"a":39,",":37,"f":15,"g":38,"i":15,"j":10,"h":3,"k":3,"l":3,"m":35,"n":35,"r":35,"p":30,".":36,"\"":-11,"'":-11,"s":36,":":18,";":18,"t":19,"v":27,"w":27,"x":22,"y":23,"z":31,"-":27,")":2,"]":2,"}":2,"u":28,"c":40,"d":40,"e":40,"o":40,"q":40,"?":-6}},"U":{"d":"70,-190v1,93,-20,173,69,176v30,0,60,-9,63,-66v1,-27,0,-67,0,-104v0,-27,-13,-24,-34,-28v-1,-1,-1,-9,0,-10v10,1,69,1,82,0v1,1,1,9,0,10v-19,3,-28,5,-28,30v0,74,-2,100,-7,125v-11,49,-50,63,-88,63v-57,0,-81,-26,-86,-65v-3,-23,-3,-114,-3,-132v0,-17,-13,-20,-29,-21v-1,-1,-1,-9,0,-10v16,1,72,1,89,0v1,1,1,9,0,10v-18,3,-28,1,-28,22","w":253,"k":{"A":7,"S":2,"T":-8,"V":-3,"W":-4,"Y":-1,"a":12,"b":-3,",":18,"f":5,"g":10,"i":8,"j":6,"h":-3,"k":-3,"l":-3,"m":11,"n":11,"r":11,"p":8,".":21,"\"":-11,"'":-11,"s":11,":":3,";":3,"t":8,"v":5,"w":5,"x":10,"y":5,"z":12,"-":5,")":1,"]":1,"}":1,"u":8,"c":11,"d":11,"e":11,"o":11,"q":11}},"V":{"d":"-6,-212v-1,-1,-1,-9,1,-10v17,1,78,1,90,0v8,19,-30,6,-23,25v11,31,51,141,58,157v14,-19,47,-116,59,-148v10,-23,-12,-21,-28,-24v-3,-19,17,-9,44,-9v19,0,29,-1,38,-1v1,1,1,9,0,10v-25,3,-27,7,-39,34r-54,130v-9,22,-14,40,-18,51v-5,-1,-17,-1,-22,0v-17,-62,-45,-124,-66,-183v-11,-28,-15,-28,-40,-32","w":224,"k":{"A":24,"J":-3,"C":4,"G":4,"O":4,"Q":4,"T":-15,"V":-5,"W":-9,"Y":-6,"Z":-8,"a":32,"b":-18,",":37,"f":9,"g":31,"i":7,"j":5,"h":-16,"k":-16,"l":-16,"m":21,"n":21,"r":21,"p":20,".":37,"\"":-20,"'":-20,"s":29,":":13,";":13,"t":11,"v":13,"w":13,"x":15,"y":12,"z":21,"-":24,")":-3,"]":-3,"}":-3,"u":21,"!":-10,"c":32,"d":32,"e":32,"o":32,"q":32,"?":-18}},"W":{"d":"157,-163r-59,165v-3,0,-14,0,-18,1v-11,-44,-40,-153,-52,-188v-7,-24,-15,-23,-37,-27v-1,-1,-1,-10,1,-11v21,1,75,3,92,1v1,1,2,9,0,10v-14,4,-28,1,-24,18v7,30,24,107,41,144v15,-42,45,-126,55,-161v5,1,15,1,19,0v11,31,41,137,58,163v10,-30,32,-107,40,-137v6,-23,-9,-25,-29,-27v-2,-1,-1,-9,0,-10v16,1,72,1,83,0v1,1,1,9,0,10v-20,4,-27,5,-35,26v-15,42,-47,144,-60,188v-3,0,-16,1,-19,1v-8,-30,-43,-131,-56,-166","w":315,"k":{"A":18,"B":-1,"D":-1,"E":-1,"F":-1,"H":-1,"I":-1,"K":-1,"L":-1,"N":-1,"P":-1,"R":-1,"J":-8,"M":-2,"T":-18,"U":-1,"V":-8,"W":-12,"X":-4,"Y":-7,"Z":-11,"a":23,"b":-21,",":27,"f":2,"g":21,"i":1,"j":1,"h":-19,"k":-19,"l":-19,"m":17,"n":17,"r":17,"p":13,".":29,"\"":-26,"'":-26,"s":21,"t":6,"v":8,"w":7,"x":10,"y":8,"z":17,"-":12,")":-5,"]":-5,"}":-5,"u":14,"!":-14,"c":25,"d":25,"e":25,"o":25,"q":25,"?":-20}},"X":{"d":"206,-13v6,2,26,1,19,14v-10,-1,-84,-1,-96,0v-1,-1,-1,-9,0,-10v7,-2,26,-2,20,-13v-6,-12,-27,-49,-42,-72v0,-1,-3,-1,-3,0v-22,32,-40,60,-45,71v-5,10,13,12,23,14v1,1,0,9,-1,10r-83,0v-1,-1,-1,-9,0,-10v55,-5,69,-67,99,-99v-10,-27,-32,-55,-44,-77v-10,-19,-22,-24,-47,-27v-2,-1,-1,-9,0,-10r89,0v9,15,-19,7,-17,19v5,10,27,49,39,68v0,0,3,1,3,0v15,-23,32,-52,38,-64v8,-17,-32,-4,-22,-23v14,1,68,1,80,0v1,1,1,9,0,10v-45,0,-67,59,-89,92v21,31,49,97,79,107","w":221,"k":{"x":-5,"v":22,"b":-6,"X":-5,"?":-10,"!":-8,"A":-5,"B":-3,"D":-3,"E":-3,"F":-3,"H":-3,"I":-3,"K":-3,"L":-3,"N":-3,"P":-3,"R":-3,"J":-12,"M":-1,"C":10,"G":10,"O":10,"Q":10,"S":-5,"T":-1,"U":8,"V":2,"Z":-9,"a":-5,",":-13,"g":-2,"i":-2,"j":-5,"h":-4,"k":-4,"l":-4,"p":-3,".":-13,"\"":-14,"'":-14,"s":-6,":":-12,";":-12,"t":4,"w":21,"y":14,"z":-6,"-":7,")":-4,"]":-4,"}":-4,"u":4,"c":4,"d":4,"e":4,"o":4,"q":4}},"Y":{"d":"-6,-212v-1,-1,-1,-9,0,-10r85,0v10,16,-24,5,-15,22v10,20,37,75,45,88v16,-19,38,-66,47,-83v7,-14,-9,-16,-24,-17v-1,-2,-1,-9,1,-10r78,0v6,10,-7,12,-15,12v-32,15,-60,89,-76,111v-6,17,-1,39,-2,63v-1,28,12,24,34,27v1,1,0,9,-1,10v-17,-1,-87,-1,-102,0v-1,-1,-1,-9,0,-10v19,-3,39,-1,37,-23v-2,-21,2,-46,-2,-64v-8,-17,-29,-57,-44,-83v-18,-31,-16,-30,-46,-33","w":203,"k":{"A":20,"J":-6,"C":8,"G":8,"O":8,"Q":8,"S":2,"T":-13,"V":-6,"W":-9,"Y":-5,"Z":-10,"a":32,"b":-15,",":28,"f":8,"g":35,"i":5,"j":4,"h":-11,"k":-11,"l":-11,"m":27,"n":27,"r":27,"p":24,".":28,"\"":-21,"'":-21,"s":30,":":12,";":12,"t":15,"v":19,"w":19,"x":19,"y":18,"z":26,"-":21,"u":25,"!":-9,"c":35,"d":35,"e":35,"o":35,"q":35,"?":-16}},"Z":{"d":"207,-63v-1,10,-13,50,-19,61v-58,8,-124,-2,-173,3v-1,0,-1,-6,-1,-7v30,-39,118,-170,135,-200v-13,-7,-68,-1,-90,-1v-22,0,-28,25,-36,45v-1,1,-11,-2,-11,-3v3,-14,7,-39,9,-60v35,6,123,5,168,3v1,1,1,4,1,5v-16,29,-106,163,-130,199v7,11,61,1,90,4v29,-3,31,-24,47,-53v1,-1,9,2,10,4","w":213,"k":{"A":-11,"J":-6,"M":-1,"C":3,"G":3,"O":3,"Q":3,"T":8,"U":3,"W":-6,"X":-5,"Y":-2,"Z":2,"b":1,",":-3,"i":-1,"h":-1,"k":-1,"l":-1,":":-6,";":-6,"v":8,"w":7,"x":-7,"y":8,"z":1,"-":-14,")":2,"]":2,"}":2,"u":2,"!":-5,"c":-3,"d":-3,"e":-3,"o":-3,"q":-3,"?":-8}},"[":{"d":"115,66v-16,-1,-59,3,-74,-3r2,-329r73,0v0,0,0,15,-3,15v-12,2,-49,-3,-54,4v-2,12,-1,281,0,289v2,16,38,6,59,9v1,1,0,15,-3,15","w":138,"k":{"A":5,"B":5,"D":5,"E":5,"F":5,"H":5,"I":5,"K":5,"L":5,"N":5,"P":5,"R":5,"J":-40,"C":11,"G":11,"O":11,"Q":11,"T":2,"U":1,"Z":1,"b":-6,"f":14,"i":9,"j":-12,"m":18,"n":18,"r":18,"c":19,"d":19,"e":19,"o":19,"q":19,"p":-6,"s":12,"t":9,"u":18,"v":12,"x":2,"M":3,"S":7,"z":10,"a":15,"h":-4,"k":-4,"l":-4}},"\\":{"d":"15,-238v2,-2,10,-13,16,-10v21,56,85,232,111,287v-4,5,-18,-4,-21,-6v-15,-27,-84,-217,-106,-271","w":157},"]":{"d":"98,64v-14,9,-48,0,-74,3v-1,0,-1,-16,2,-16v12,-2,50,4,54,-4v3,-37,3,-261,0,-289v-2,-16,-38,-3,-59,-7v-1,-2,-1,-16,2,-16v17,2,66,-5,75,2r0,327","w":138},"^":{"d":"37,-98v-4,4,-17,8,-20,3v8,-10,53,-102,60,-119v0,-1,12,-4,13,-4v10,27,57,106,61,121v-3,3,-18,7,-19,6v-10,-8,-41,-85,-51,-91v-9,18,-38,78,-44,84","w":168},"_":{"d":"203,66r0,18r-204,0r0,-18r204,0","w":199},"a":{"d":"14,-36v-3,-41,59,-24,76,-48v8,-30,-21,-55,-46,-41v-4,3,-11,14,-16,26v-1,1,-10,-4,-10,-7v0,-27,41,-40,55,-41v51,-3,47,67,43,115v-1,13,15,18,26,13v0,29,-50,32,-52,5v-36,27,-72,23,-76,-22xm67,-17v7,-1,24,-3,23,-14v0,-9,2,-33,-1,-38v-18,10,-47,6,-47,28v0,14,10,24,25,24","w":146,"k":{"A":-9,"C":3,"G":3,"O":3,"Q":3,"T":27,"U":4,"V":26,"W":19,"X":-6,"Y":26,"Z":-3,"a":2,"b":3,",":-4,"f":1,"g":4,"j":2,"m":2,"n":2,"r":2,"p":2,".":-2,"\"":16,"'":16,"t":5,"v":8,"w":8,"x":-8,"y":8,"z":4,"-":1,")":10,"]":10,"}":10,"u":4,"c":3,"d":3,"e":3,"o":3,"q":3}},"b":{"d":"76,4v-20,1,-29,-9,-49,-4v-6,-22,2,-178,-3,-211v1,-13,-13,-10,-25,-13v-1,-2,-2,-8,0,-9v18,-1,45,-7,57,-11v1,37,-5,82,0,115v17,-10,36,-18,48,-18v36,-3,57,35,57,64v0,52,-42,84,-85,87xm131,-67v0,-49,-37,-73,-73,-52v-10,7,-2,58,-3,78v-1,27,19,25,35,29v26,0,41,-25,41,-55","w":176,"k":{"A":3,"B":4,"D":4,"E":4,"F":4,"H":4,"I":4,"K":4,"L":4,"N":4,"P":4,"R":4,"J":2,"M":2,"T":26,"U":6,"V":29,"W":19,"X":4,"Y":33,"Z":3,"a":4,"b":1,",":14,"g":1,"i":-1,"h":1,"k":1,"l":1,".":15,"\"":10,"'":10,"v":3,"w":4,"x":3,"y":2,"z":3,"-":-3,")":21,"]":21,"}":21,"!":4,"?":4}},"c":{"d":"138,-37v6,28,-45,43,-57,41v-41,1,-66,-32,-66,-73v0,-56,82,-103,123,-63v-2,9,-8,21,-17,20v-8,-8,-22,-19,-40,-19v-27,0,-38,25,-38,49v0,55,56,85,95,45","w":145,"k":{"A":-9,"C":-3,"G":-3,"O":-3,"Q":-3,"T":17,"U":1,"V":12,"W":2,"X":-2,"Y":17,"b":2,"i":-2,"j":-5,"p":-3,".":2,"\"":-8,"'":-8,"s":-2,":":-1,";":-1,"v":-7,"w":-7,"x":-8,"y":-9,"-":1,")":7,"]":7,"}":7,"u":-1,"c":2,"d":2,"e":2,"o":2,"q":2,"?":-3}},"d":{"d":"151,-30v0,19,10,12,24,13v1,19,-39,19,-49,23v-7,-2,1,-20,-5,-24v-45,43,-106,16,-106,-49v0,-56,52,-83,109,-80v0,-42,0,-54,-1,-63v0,-15,-15,-11,-28,-15v-1,-2,-1,-9,1,-10v23,0,47,-5,58,-9v-3,37,-4,147,-3,214xm123,-107v1,-20,-20,-25,-37,-25v-27,0,-43,23,-42,54v0,39,21,59,48,59v13,-1,29,-3,31,-17v1,-9,0,-55,0,-71","w":178,"k":{"A":-3,"T":1,"U":2,"X":-3,"Z":-5,"a":1,"b":-3,",":-2,"f":-2,"g":2,"i":-1,"j":-1,"h":-4,"k":-4,"l":-4,".":-2,"\"":-5,"'":-5,"s":-3,":":-5,";":-5,"x":-7,"z":-1,"-":2,")":8,"]":8,"}":8,"?":-4}},"e":{"d":"44,-76v-10,44,56,79,93,41v5,26,-42,39,-57,39v-42,1,-66,-36,-65,-74v0,-48,29,-77,71,-77v35,0,47,31,50,51v1,2,8,7,3,12v-15,4,-65,7,-95,8xm75,-134v-16,0,-35,22,-30,44v14,-1,59,3,63,-5v-2,-18,-14,-39,-33,-39","w":151,"k":{"T":23,"U":4,"V":23,"W":13,"Y":27,"a":4,"b":3,",":5,"g":2,"h":1,"k":1,"l":1,"m":2,"n":2,"r":2,"p":1,".":6,"\"":4,"'":4,"s":1,"t":1,"v":3,"w":1,")":12,"]":12,"}":12,"u":1,"c":2,"d":2,"e":2,"o":2,"q":2}},"f":{"d":"83,-223v-29,0,-28,49,-24,81v24,0,34,-1,39,-1v-1,4,-3,14,-3,19v-12,2,-35,-6,-38,3v0,35,0,76,1,95v1,16,13,15,30,17v1,1,0,9,-1,10v-13,-1,-64,-1,-80,0v-8,-18,24,-6,22,-25v-2,-18,4,-70,-1,-101r-21,-1v0,-13,18,-11,23,-18v-5,-49,27,-100,73,-100v13,0,26,3,26,15v-3,5,-8,24,-16,21v-8,-7,-20,-15,-30,-15","w":94,"k":{"A":-5,"B":-38,"D":-38,"E":-38,"F":-38,"H":-38,"I":-38,"K":-38,"L":-38,"N":-38,"P":-38,"R":-38,"J":-43,"M":-33,"C":-16,"G":-16,"O":-16,"Q":-16,"S":-19,"T":-40,"U":-39,"V":-54,"W":-56,"X":-42,"Y":-54,"Z":-35,"b":-5,",":-4,"f":-5,"i":-6,"j":-5,"h":-5,"k":-5,"l":-5,"m":-3,"n":-3,"r":-3,"p":-7,".":2,"\"":-44,"'":-44,"s":-3,":":-9,";":-9,"t":-3,"v":-15,"w":-13,"x":-15,"y":-16,"z":-6,"-":-2,")":-31,"]":-31,"}":-31,"u":-6,"!":-28,"?":-32}},"g":{"d":"15,-90v0,-32,34,-56,65,-57v24,0,55,21,74,2v1,0,5,2,5,3v0,14,-14,26,-31,26v14,48,-26,79,-64,80v-3,0,-9,3,-9,9v18,29,99,-5,99,53v0,35,-44,70,-85,70v-31,0,-60,-19,-60,-46v0,-26,19,-23,37,-43v-16,-7,-26,-14,-22,-28v5,-4,24,-10,24,-18v-18,-6,-33,-22,-33,-51xm78,-51v19,0,26,-17,26,-38v0,-22,-9,-45,-36,-45v-16,0,-26,14,-26,36v0,23,11,47,36,47xm35,42v0,23,25,36,49,36v33,0,46,-18,46,-36v0,-29,-33,-31,-63,-31v-20,0,-32,20,-32,31","w":157,"k":{"A":-12,"B":-6,"D":-6,"E":-6,"F":-6,"H":-6,"I":-6,"K":-6,"L":-6,"N":-6,"P":-6,"R":-6,"J":-48,"M":-6,"C":-10,"G":-10,"O":-10,"Q":-10,"T":17,"V":8,"W":2,"X":-8,"Y":15,"Z":-5,"a":4,"b":3,",":-13,"f":-3,"i":-3,"j":-10,"p":-5,"\"":-11,"'":-11,":":-11,";":-11,"t":-5,"v":-9,"w":-8,"x":-12,"y":-10,"z":-2,"-":2,")":-7,"]":-7,"}":-7,"u":-4,"!":-3,"c":4,"d":4,"e":4,"o":4,"q":4,"?":-4}},"h":{"d":"88,-127v-11,0,-31,6,-33,19v6,43,-17,98,24,99v2,1,1,9,0,10v-6,-1,-65,-1,-73,0v-1,-1,-1,-9,0,-10v34,6,22,-52,22,-78v0,-87,0,-111,-1,-124v-1,-12,-13,-9,-24,-12v-2,-1,-1,-8,0,-9v22,-2,43,-7,54,-12r-2,118v40,-32,92,-30,95,36v2,31,-14,82,23,81v4,18,-17,7,-37,9v-19,-2,-39,9,-35,-9v15,-4,23,1,22,-22v-3,-41,14,-94,-35,-96","w":178,"k":{"C":3,"G":3,"O":3,"Q":3,"T":28,"U":8,"V":31,"W":22,"Y":29,"a":2,"g":3,"j":1,".":1,"\"":14,"'":14,"s":1,":":1,";":1,"t":2,"v":8,"w":5,"y":6,")":21,"]":21,"}":21,"u":2}},"i":{"d":"45,-212v20,0,15,23,6,31v-13,4,-25,-1,-25,-14v0,-12,9,-17,19,-17xm30,-112v2,-14,-25,-10,-19,-25v11,0,33,-5,47,-11r0,124v1,12,10,13,23,15v2,18,-16,7,-39,9v-19,-3,-40,10,-35,-9v39,1,18,-59,23,-103","w":85,"k":{"A":-3,"T":1,"U":2,"X":-3,"Z":-5,"a":1,"b":-3,",":-2,"f":-2,"g":2,"i":-1,"j":-1,"h":-4,"k":-4,"l":-4,".":-2,"\"":-5,"'":-5,"s":-3,":":-5,";":-5,"x":-7,"z":-1,"-":2,")":8,"]":8,"}":8,"?":-4}},"j":{"d":"47,-213v19,-2,14,22,6,30v-11,4,-27,3,-27,-12v0,-14,9,-17,21,-18xm60,-30v0,60,-26,105,-54,123v-4,-1,-11,-2,-10,-8v24,-17,35,-42,35,-90v0,-71,25,-117,-26,-122v-2,-2,0,-9,1,-10v17,-1,42,-5,55,-10v0,28,-1,95,-1,117","w":86,"k":{"J":-17,"U":2,"a":2,",":4,".":9,"\"":-4,"'":-4,":":-1,";":-1,"x":-2,"z":2,")":10,"]":10,"}":10,"c":1,"d":1,"e":1,"o":1,"q":1,"?":4}},"k":{"d":"104,-124v1,-8,-12,-7,-21,-8v-1,-2,0,-9,1,-10v30,0,54,-1,68,-3v1,1,1,8,0,10v-33,6,-47,31,-66,52v20,22,42,74,83,74v3,16,-18,10,-37,11v-32,-6,-40,-41,-65,-66v-2,-3,-5,-5,-12,-5v2,28,-11,62,24,60v4,18,-17,9,-37,9v-20,0,-30,1,-36,1v-1,-1,-2,-9,0,-10v35,3,22,-49,22,-84v0,-79,0,-110,-1,-119v0,-13,-12,-10,-24,-13v-1,-1,-1,-8,0,-9v21,-1,43,-5,54,-10r-2,167v19,-4,46,-38,49,-47","w":161,"k":{"S":-6,"T":14,"U":5,"V":13,"W":9,"Y":17,"Z":-15,"a":-4,"b":2,",":-10,"f":-3,"g":-1,"i":-3,"j":-4,"h":-2,"k":-2,"l":-2,"p":-1,".":-12,"\"":-2,"'":-2,"s":-7,":":-8,";":-8,"v":6,"w":5,"x":-7,"y":4,"z":-5,"-":10,")":9,"]":9,"}":9,"u":3,"c":3,"d":3,"e":3,"o":3,"q":3}},"l":{"d":"78,1v-19,-7,-83,12,-73,-10v12,-2,21,-3,22,-14v1,-13,0,-154,0,-184v0,-14,-9,-13,-24,-15v-1,-1,-1,-8,0,-9v18,-1,40,-7,53,-13r0,215v0,18,8,17,23,20v1,2,0,8,-1,10","w":83,"k":{"A":-3,"T":1,"U":2,"X":-3,"Z":-5,"a":1,"b":-3,",":-2,"f":-2,"g":2,"i":-1,"j":-1,"h":-4,"k":-4,"l":-4,".":-2,"\"":-5,"'":-5,"s":-3,":":-5,";":-5,"x":-7,"z":-1,"-":2,")":8,"]":8,"}":8,"?":-4}},"m":{"d":"91,-126v-9,0,-31,6,-34,19v0,23,1,68,1,85v0,11,10,11,21,13v1,1,0,9,-1,10v-14,-1,-58,-1,-70,0v-2,-1,-2,-9,0,-10v12,-2,23,-3,21,-17v-3,-29,17,-97,-19,-100v-1,-1,0,-7,1,-8v17,0,38,-15,46,-12v1,7,-2,20,2,22v37,-32,65,-28,88,1v40,-38,92,-33,96,34v2,30,-17,81,23,80v2,16,-15,9,-35,9v-18,0,-28,0,-37,1v-1,-1,-1,-9,0,-10v13,-4,22,-1,21,-21v-3,-46,12,-93,-34,-96v-9,0,-25,4,-32,16r2,89v2,11,11,9,21,12v1,1,0,9,-1,10v-17,-1,-53,-1,-70,0v-1,-1,-1,-9,0,-10v11,-3,22,1,21,-15v-3,-43,16,-101,-31,-102","w":271,"k":{"C":3,"G":3,"O":3,"Q":3,"T":28,"U":8,"V":31,"W":22,"Y":29,"a":2,"g":3,"j":1,".":1,"\"":14,"'":14,"s":1,":":1,";":1,"t":2,"v":8,"w":5,"y":6,")":21,"]":21,"}":21,"u":2}},"n":{"d":"91,-126v-13,2,-34,4,-34,24v0,26,1,61,1,78v0,15,10,12,22,15v2,17,-10,9,-36,9v-23,0,-39,10,-35,-9v37,1,16,-63,20,-103v-1,-5,-6,-9,-19,-14v-1,-2,1,-7,2,-8v14,-1,36,-9,45,-14v4,4,-3,20,2,24v41,-41,93,-25,93,38v0,32,-13,79,22,77v3,17,-11,9,-35,9v-17,0,-27,1,-36,1v-1,-1,-1,-9,0,-10v16,-3,21,-1,21,-18v-2,-45,12,-97,-33,-99","w":180,"k":{"C":3,"G":3,"O":3,"Q":3,"T":28,"U":8,"V":31,"W":22,"Y":29,"a":2,"g":3,"j":1,".":1,"\"":14,"'":14,"s":1,":":1,";":1,"t":2,"v":8,"w":5,"y":6,")":21,"]":21,"}":21,"u":2}},"o":{"d":"15,-73v0,-46,34,-74,79,-74v43,0,68,32,68,72v1,44,-29,79,-75,79v-53,0,-72,-40,-72,-77xm96,-10v26,0,35,-21,35,-53v0,-42,-19,-70,-50,-70v-25,0,-35,15,-35,51v0,42,21,72,50,72","w":177,"k":{"A":3,"B":4,"D":4,"E":4,"F":4,"H":4,"I":4,"K":4,"L":4,"N":4,"P":4,"R":4,"J":2,"M":2,"T":26,"U":6,"V":29,"W":19,"X":4,"Y":33,"Z":3,"a":4,"b":1,",":14,"g":1,"i":-1,"h":1,"k":1,"l":1,".":15,"\"":10,"'":10,"v":3,"w":4,"x":3,"y":2,"z":3,"-":-3,")":21,"]":21,"}":21,"!":4,"?":4}},"p":{"d":"162,-84v2,58,-55,93,-107,87v3,43,-14,74,34,73v3,9,-6,10,-16,10v-36,0,-57,3,-71,4v-1,-2,-1,-8,0,-10v13,-4,27,-3,25,-22v-1,-10,8,-170,-5,-179v-4,-2,-10,-3,-17,-4v-1,-2,0,-9,1,-10v14,0,40,-16,51,-14v0,5,-4,21,1,24v50,-46,102,-13,104,41xm132,-69v0,-49,-52,-78,-77,-38v-1,9,0,57,0,69v1,20,17,25,36,25v26,0,41,-24,41,-56","w":176,"k":{"A":3,"B":4,"D":4,"E":4,"F":4,"H":4,"I":4,"K":4,"L":4,"N":4,"P":4,"R":4,"J":2,"M":2,"T":26,"U":6,"V":29,"W":19,"X":4,"Y":33,"Z":3,"a":4,"b":1,",":14,"g":1,"i":-1,"h":1,"k":1,"l":1,".":15,"\"":10,"'":10,"v":3,"w":4,"x":3,"y":2,"z":3,"-":-3,")":21,"]":21,"}":21,"!":4,"?":4}},"q":{"d":"156,-140v-13,41,-5,154,-5,197v0,19,11,15,28,19v1,1,0,9,-1,10v-27,-1,-74,4,-85,4v-1,-1,-1,-9,0,-10v16,-4,28,0,28,-21v0,-23,3,-51,0,-72v-47,36,-107,10,-106,-55v0,-66,77,-93,141,-72xm122,-28v-7,-62,22,-104,-37,-103v-24,0,-41,18,-41,51v0,41,23,63,53,63v9,-1,23,-1,25,-11","w":176,"k":{"X":-3,"J":-44,"T":18,"U":3,"V":14,"W":8,"Y":21,",":-9,".":5,":":-10,";":-10,")":-9,"]":-9,"}":-9}},"r":{"d":"57,-118v12,-12,38,-43,59,-21v0,11,-7,24,-14,30v-17,-20,-42,-12,-45,16v5,46,-17,87,31,84v1,2,0,9,-2,10v-13,-1,-62,-1,-78,0v-1,-1,-1,-9,0,-10v39,2,16,-55,22,-102v-1,-5,-4,-9,-20,-15v0,-2,1,-7,2,-8v14,1,36,-14,45,-12r0,28","w":116,"k":{"C":-8,"G":-8,"O":-8,"Q":-8,"T":14,"V":8,"W":2,"X":6,"Y":11,"Z":3,"a":3,"b":-1,",":13,"f":-5,"g":3,"i":-4,"j":-10,"m":-2,"n":-2,"r":-2,"p":-6,".":17,"\"":-16,"'":-16,"s":-1,":":-2,";":-2,"t":-7,"v":-13,"w":-14,"x":-13,"y":-12,"z":-5,"-":4,")":5,"]":5,"}":5,"u":-7,"c":5,"d":5,"e":5,"o":5,"q":5}},"s":{"d":"107,-143v-3,11,-3,23,-4,38v-1,1,-9,1,-10,0v4,-36,-52,-43,-52,-11v0,12,6,22,34,33v63,25,39,86,-20,87v-13,0,-29,-3,-37,-7v-1,-11,-15,-45,4,-42v8,26,15,37,39,37v15,0,24,-8,24,-20v0,-13,-7,-19,-29,-30v-29,-14,-39,-28,-39,-47v0,-35,48,-51,90,-38","w":124,"k":{"B":2,"D":2,"E":2,"F":2,"H":2,"I":2,"K":2,"L":2,"N":2,"P":2,"R":2,"T":20,"U":3,"V":14,"W":8,"Y":23,"Z":1,"a":1,"b":1,"j":1,"m":1,"n":1,"r":1,".":2,"\"":2,"'":2,"s":1,"t":2,"v":-1,"w":-1,"x":-4,"y":-1,"z":2,"-":-4,")":12,"]":12,"}":12,"u":2,"c":1,"d":1,"e":1,"o":1,"q":1}},"t":{"d":"100,-12v-30,30,-84,18,-73,-42v-1,-23,4,-58,-1,-71r-20,-1v0,-2,2,-10,3,-12v6,-2,16,-2,19,-6r0,-31v9,-2,18,-18,29,-17v0,4,-5,32,0,50v17,0,39,-1,44,-2v-1,5,-3,15,-3,20v-9,1,-33,-4,-43,1v2,46,-15,131,46,100v1,1,0,10,-1,11","w":105,"k":{"A":-8,"T":5,"U":3,"V":9,"X":-4,"Y":12,"a":1,"b":4,",":-3,"g":3,"i":-2,"j":-2,"p":-3,"\"":-7,"'":-7,":":-5,";":-5,"t":5,"v":-5,"w":-6,"x":-10,"y":-5,"-":4,")":9,"]":9,"}":9,"c":5,"d":5,"e":5,"o":5,"q":5}},"u":{"d":"69,4v-87,-2,-3,-133,-65,-134v0,-2,0,-9,2,-10v14,0,42,-2,51,-5v-1,9,-3,28,-3,70v0,40,-1,57,32,57v13,0,30,-5,33,-19r0,-79v-1,-13,-15,-12,-30,-14v-1,-2,1,-9,2,-10v19,0,49,-3,57,-5v-2,31,0,78,-1,113v-1,18,10,12,23,13v0,2,-1,9,-2,10v-15,3,-42,19,-48,12v-1,-4,1,-21,-3,-21v-21,17,-37,22,-48,22","w":175,"k":{"A":-3,"T":25,"U":4,"V":19,"W":9,"X":-2,"Y":21,",":-3,"f":-2,"g":1,"p":-1,".":-2,"\"":7,"'":7,"x":-6,"y":-1,")":9,"]":9,"}":9}},"v":{"d":"-3,-133v-3,-18,15,-7,36,-9v19,2,40,-9,36,9v-7,2,-17,1,-17,8v6,14,27,85,34,87v8,-18,23,-58,28,-75v7,-20,-6,-17,-19,-20v-4,-18,14,-7,34,-9v18,2,34,-8,29,9v-13,3,-21,6,-27,19v-11,26,-35,82,-46,116v-4,0,-13,-1,-17,0v-9,-33,-29,-83,-39,-107v-10,-26,-11,-23,-32,-28","w":151,"k":{"A":12,"B":2,"D":2,"E":2,"F":2,"H":2,"I":2,"K":2,"L":2,"N":2,"P":2,"R":2,"M":1,"C":-7,"G":-7,"O":-7,"Q":-7,"S":-2,"T":17,"U":2,"V":3,"X":12,"Y":14,"Z":6,"a":1,"b":-4,",":22,"f":-10,"g":-1,"i":-9,"j":-13,"h":-5,"k":-5,"l":-5,"m":-5,"n":-5,"r":-5,"p":-11,".":22,"\"":-21,"'":-21,"s":-3,":":-8,";":-8,"t":-9,"v":-6,"w":-5,"x":-6,"y":-5,"z":-8,"-":4,")":6,"]":6,"}":6,"u":-7,"!":-5,"c":2,"d":2,"e":2,"o":2,"q":2,"?":-6}},"w":{"d":"-3,-133v-3,-18,13,-7,36,-9v17,3,43,-10,38,9v-8,2,-20,1,-18,10v3,14,20,72,25,85v11,-22,29,-73,36,-96v4,1,13,0,17,-1v7,24,30,88,35,98v8,-13,24,-67,28,-81v3,-13,-10,-13,-23,-15v-3,-17,16,-9,34,-9v15,0,24,-1,31,-1v1,2,1,8,0,10v-14,3,-22,6,-26,19r-42,116v-4,-1,-14,-1,-18,0v-8,-22,-27,-88,-36,-95v-7,20,-27,69,-36,95v-4,-1,-14,-1,-18,0v-8,-29,-26,-89,-34,-111v-7,-20,-10,-22,-29,-24","w":230,"k":{"A":12,"B":2,"D":2,"E":2,"F":2,"H":2,"I":2,"K":2,"L":2,"N":2,"P":2,"R":2,"M":1,"C":-7,"G":-7,"O":-7,"Q":-7,"S":-2,"T":17,"U":2,"V":3,"X":12,"Y":14,"Z":6,"a":1,"b":-4,",":22,"f":-10,"g":-1,"i":-9,"j":-13,"h":-5,"k":-5,"l":-5,"m":-5,"n":-5,"r":-5,"p":-11,".":22,"\"":-21,"'":-21,"s":-3,":":-8,";":-8,"t":-9,"v":-6,"w":-5,"x":-6,"y":-5,"z":-8,"-":4,")":6,"]":6,"}":6,"u":-7,"!":-5,"c":2,"d":2,"e":2,"o":2,"q":2,"?":-6}},"x":{"d":"59,-67v-16,-30,-22,-63,-59,-66v0,-2,0,-9,1,-10v11,1,57,1,68,0v1,1,2,8,1,10v-6,2,-14,0,-12,7v6,8,12,30,22,36v10,-19,26,-28,17,-41v-3,-1,-6,-1,-12,-2v-1,-2,-1,-9,0,-10v12,1,49,1,59,0v1,1,2,8,1,10v-33,3,-44,35,-58,56v17,26,28,70,64,68v3,18,-20,7,-38,9v-23,-3,-40,10,-37,-9v8,-1,16,-3,13,-9v-6,-9,-13,-30,-23,-37v-13,25,-28,28,-20,43v3,1,8,2,14,3v3,17,-17,9,-35,9v-18,0,-33,8,-30,-9v39,-1,46,-42,64,-58","w":143,"k":{"x":-13,"v":-4,"b":-3,"X":-5,"A":-5,"B":-1,"D":-1,"E":-1,"F":-1,"H":-1,"I":-1,"K":-1,"L":-1,"N":-1,"P":-1,"R":-1,"C":-2,"G":-2,"O":-2,"Q":-2,"S":-5,"T":19,"U":3,"V":8,"W":3,"Y":14,"Z":-15,"a":-5,",":-12,"f":-9,"g":-1,"i":-9,"j":-11,"h":-6,"k":-6,"l":-6,"m":-5,"n":-5,"r":-5,"p":-8,".":-10,"\"":-13,"'":-13,"s":-9,":":-13,";":-13,"t":-6,"w":-3,"y":-5,"z":-10,"-":4,")":4,"]":4,"}":4,"u":-4}},"y":{"d":"-3,-133v-4,-18,16,-7,36,-9v20,3,42,-10,38,9v-7,2,-18,1,-17,9r34,87v11,-24,26,-65,30,-83v2,-10,-12,-11,-22,-13v-4,-17,13,-9,32,-9v13,0,24,-1,34,-1v1,1,1,8,0,10v-14,3,-22,5,-27,19v-29,76,-61,141,-96,203v-8,2,-21,-5,-22,-14v12,-15,40,-51,53,-79r-37,-94v-13,-29,-12,-32,-36,-35","w":155,"k":{"A":10,"B":2,"D":2,"E":2,"F":2,"H":2,"I":2,"K":2,"L":2,"N":2,"P":2,"R":2,"M":2,"C":-7,"G":-7,"O":-7,"Q":-7,"S":-2,"T":13,"U":2,"V":4,"X":10,"Y":13,"Z":5,"b":-4,",":23,"f":-9,"i":-9,"j":-11,"h":-5,"k":-5,"l":-5,"m":-6,"n":-6,"r":-6,"p":-9,".":26,"\"":-21,"'":-21,"t":-10,"v":-6,"w":-5,"x":-6,"y":-5,"z":-8,"-":4,")":8,"]":8,"}":8,"u":-6,"!":-6,"c":3,"d":3,"e":3,"o":3,"q":3,"?":-5}},"z":{"d":"88,-130v-42,4,-54,-14,-69,33v-1,0,-8,0,-10,-3v4,-15,7,-34,8,-46v25,8,76,3,106,3v1,0,1,5,1,6v-12,24,-54,90,-72,120v2,9,39,3,47,5v5,0,15,-9,26,-33v1,-1,10,-3,11,-1v-7,19,-7,44,-23,48v-24,0,-85,-2,-99,-2v-1,-1,-1,-5,-1,-6v19,-29,59,-91,75,-122v1,-1,0,-2,0,-2","w":139,"k":{"A":-8,"T":21,"U":4,"V":14,"W":8,"X":-4,"Y":23,"b":5,",":-2,"f":-2,"g":3,"i":-2,"j":-1,"h":-2,"k":-2,"l":-2,"p":1,".":-3,"\"":-2,"'":-2,"s":-3,":":-4,";":-4,"v":-3,"x":-6,"y":-3,"z":1,"-":-5,")":5,"]":5,"}":5,"u":1,"c":3,"d":3,"e":3,"o":3,"q":3}},"{":{"d":"21,-105v55,1,34,-47,34,-88v0,-48,25,-71,72,-75v1,1,3,10,2,11v-65,7,-46,55,-46,109v0,15,-2,39,-38,48r0,2v65,10,36,64,36,108v0,33,27,43,51,46v1,1,0,10,-2,11v-52,1,-80,-30,-70,-93v6,-39,10,-60,-42,-67v-1,-2,1,-11,3,-12","w":152,"k":{"A":5,"B":5,"D":5,"E":5,"F":5,"H":5,"I":5,"K":5,"L":5,"N":5,"P":5,"R":5,"J":-40,"C":11,"G":11,"O":11,"Q":11,"T":2,"U":1,"Z":1,"b":-6,"f":14,"i":9,"j":-12,"m":18,"n":18,"r":18,"c":19,"d":19,"e":19,"o":19,"q":19,"p":-6,"s":12,"t":9,"u":18,"v":12,"x":2,"M":3,"S":7,"z":10,"a":15,"h":-4,"k":-4,"l":-4}},"|":{"d":"40,-256r24,0r0,368r-24,0r0,-368","w":104},"}":{"d":"132,-93v-55,0,-34,47,-34,87v0,49,-25,71,-73,75v-1,-1,-3,-10,-2,-11v66,-7,46,-54,46,-108v0,-15,4,-38,39,-48v0,0,1,-2,0,-2v-67,-9,-36,-65,-36,-110v0,-33,-28,-43,-52,-46v-1,-1,2,-9,3,-10v52,-2,81,29,70,92v-7,39,-8,64,42,70v1,2,-1,10,-3,11","w":154},"~":{"d":"16,-64v2,-27,37,-40,56,-44v37,3,73,43,105,-3v0,0,3,0,4,1v-1,26,-27,40,-55,44v-15,2,-44,-22,-65,-20v-16,-2,-38,25,-45,22","w":196},"'":{"d":"39,-238v5,1,4,6,5,14v-4,35,2,69,-21,76v0,-29,-3,-68,-6,-77v1,-2,18,-13,22,-13","w":60,"k":{"A":31,"B":-4,"D":-4,"E":-4,"F":-4,"H":-4,"I":-4,"K":-4,"L":-4,"N":-4,"P":-4,"R":-4,"J":-8,"C":4,"G":4,"O":4,"Q":4,"T":-13,"U":-6,"V":-17,"W":-25,"X":-11,"Y":-21,"Z":-8,"b":-17,"i":-2,"j":-6,"m":6,"n":6,"r":6,"c":13,"d":13,"e":13,"o":13,"q":13,"s":15,"t":-5,"v":-10,"x":-7,"y":-13,"M":-4,"S":3,"g":12,".":12,"z":1,"a":14,"h":-16,"k":-16,"l":-16,"w":-9}},"`":{"d":"62,-221v4,8,17,42,22,56v-1,2,-8,5,-9,5v-7,-13,-40,-44,-39,-58v3,-1,22,-4,26,-3","w":144},"\u00a0":{"w":68}}});Cufon.registerFont({"w":182,"face":{"font-family":"ArnoPro","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 2 8 2 5 5 6 2 4 3","ascent":"244","descent":"-116","x-height":"4","cap-height":"1","bbox":"-28.0963 -273 331.75 112","underline-thickness":"18","underline-position":"-18","stemh":"14","stemv":"47","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":63},"!":{"d":"32,-197v0,-21,48,-23,63,-15v0,12,-17,110,-23,140v-3,0,-14,-1,-16,-3v-4,-19,-24,-104,-24,-122xm38,-23v0,-14,13,-27,28,-27v16,0,28,14,28,28v0,14,-14,27,-30,27v-12,0,-26,-13,-26,-28","w":115},"\"":{"d":"52,-236v3,36,4,95,-25,98v-1,-31,-5,-75,-9,-85v3,-2,25,-17,34,-13xm102,-239v8,0,5,9,6,17v-4,41,-1,76,-28,81v-1,-31,-5,-72,-9,-82v3,-2,27,-16,31,-16","w":126,"k":{"A":35,"J":-9,"M":-5,"C":5,"G":5,"O":5,"Q":5,"S":3,"T":-10,"U":-11,"V":-21,"W":-26,"X":-14,"Y":-22,"Z":-9,"b":-16,"i":-3,"j":-7,"h":-13,"k":-13,"l":-13,"c":15,"d":15,"e":15,"o":15,"q":15,"p":-2,"s":17,"t":-3,"u":-2,"v":-9,"x":-8,"y":-7,"g":13,"m":8,"n":8,"r":8,".":12,"z":8,"B":-5,"D":-5,"E":-5,"F":-5,"H":-5,"I":-5,"K":-5,"L":-5,"N":-5,"P":-5,"R":-5,"a":10,"w":-7}},"#":{"d":"147,-103v-1,23,-24,29,-43,32v-6,19,-4,68,-25,44r11,-45v-11,1,-26,-2,-35,1v-8,21,-6,68,-27,44v3,-12,8,-31,11,-45v-19,0,-31,-1,-34,-2v-1,-3,6,-27,9,-28v8,1,19,1,31,1r8,-37v-8,0,-28,-1,-32,-2v0,-4,6,-26,9,-27v8,0,18,1,28,1r9,-42v1,-1,15,-7,17,-4v-2,15,-9,32,-8,46r32,1r10,-47v2,-1,14,-7,17,-4v-2,16,-12,37,-9,51v13,0,29,-1,35,-2v-1,24,-22,25,-43,30v-1,12,-7,25,-6,36v12,0,25,0,35,-2xm103,-138v-11,1,-27,-3,-35,2v-1,11,-10,26,-6,35r32,0","w":169},"$":{"d":"94,-198v-36,-1,-41,49,-7,60v7,-15,4,-41,7,-60xm97,-76v-4,18,-6,43,-6,61v13,0,30,-8,30,-28v0,-16,-7,-23,-24,-33xm72,28v0,-9,3,-21,1,-29v-18,-2,-41,-7,-48,-9v-5,-7,-10,-37,-10,-50v0,-1,11,-4,13,-4v14,38,30,47,48,47v1,-21,9,-47,5,-66v-35,-19,-57,-34,-57,-69v-1,-39,31,-58,72,-61r2,-25v2,-1,12,-2,15,-2v0,9,-5,22,-1,28r48,6v-3,14,-6,31,-8,48v-1,1,-11,1,-12,0v-1,-26,-11,-40,-32,-40v0,22,-8,49,-4,67v32,16,62,30,62,67v0,39,-32,59,-77,64r-3,26v-2,1,-12,3,-14,2"},"%":{"d":"52,-5r143,-214v4,-1,18,-9,19,-2v-14,17,-128,191,-153,226v-5,1,-7,-7,-9,-10xm139,-59v0,-43,23,-66,62,-66v30,0,45,27,45,53v0,84,-108,89,-107,13xm193,-112v-14,0,-18,25,-18,43v0,37,13,50,23,50v30,-3,23,-93,-5,-93xm15,-148v0,-43,23,-65,61,-65v31,0,46,27,46,53v0,81,-107,92,-107,12xm68,-201v-14,0,-17,25,-17,43v0,37,12,51,22,51v31,-2,22,-100,-5,-94","w":261},"&":{"d":"125,-175v0,-34,-45,-47,-45,-5v0,15,11,35,29,45v8,-9,16,-20,16,-40xm147,-38v-20,-21,-55,-48,-78,-67v-36,44,34,100,78,67xm15,-59v-1,-21,14,-33,45,-57v-38,-36,-14,-104,46,-104v33,0,56,20,56,46v1,22,-19,31,-44,48v19,14,42,37,63,47v13,-23,33,-49,-4,-53v-2,0,-1,-12,0,-13v10,1,70,1,75,0v1,1,1,13,-1,14v-35,1,-49,49,-58,62v20,14,47,32,53,40v-3,11,-18,47,-32,45v-17,-18,-35,-33,-55,-45v-42,54,-140,45,-144,-30","w":263},"(":{"d":"27,-98v0,-82,43,-143,91,-175v2,0,8,7,8,9v-37,35,-64,81,-64,161v0,73,19,125,60,166v1,2,-6,9,-9,10v-24,-11,-86,-74,-86,-171","w":143,"k":{"A":2,"J":-35,"C":13,"G":13,"O":13,"Q":13,"T":2,"Y":-4,"Z":3,"b":-4,"i":7,"j":-6,"h":-2,"k":-2,"l":-2,"c":14,"d":14,"e":14,"o":14,"q":14,"p":-5,"s":13,"t":11,"u":11,"v":12,"x":2,"y":4,"f":11,"m":14,"n":14,"r":14,"z":13,"B":4,"D":4,"E":4,"F":4,"H":4,"I":4,"K":4,"L":4,"N":4,"P":4,"R":4,"a":12}},")":{"d":"117,-101v0,82,-42,142,-91,174v-3,0,-9,-8,-8,-10v38,-39,64,-83,64,-159v0,-75,-20,-127,-61,-168v0,-1,8,-9,9,-9v27,13,87,73,87,172","w":143},"*":{"d":"12,-150v-7,-20,20,-24,38,-31v-8,-8,-30,-21,-29,-34v4,-3,15,-7,18,-7v6,7,15,16,24,24v6,-22,1,-42,30,-39v1,8,-10,33,-11,44v9,-4,33,-12,43,-17v8,18,-23,27,-38,34v8,7,29,23,36,26v2,9,-16,9,-21,7v-10,-5,-19,-13,-27,-18v-5,12,-4,36,-10,44v-19,-4,-14,-29,-10,-48","w":136},"+":{"d":"112,-74v-13,33,16,87,-27,75r0,-75r-69,0v-3,-5,3,-20,4,-25r65,1r-1,-69v4,-1,21,-4,23,-4v6,15,-2,56,4,73r69,0v8,35,-26,21,-68,24","w":196},",":{"d":"18,-31v8,-7,23,-30,40,-26v31,36,-13,108,-42,117v-3,0,-14,0,-13,-7v28,-24,40,-55,15,-84","w":87},"-":{"d":"19,-87r77,-3v1,9,-4,26,-7,28v-3,1,-67,3,-75,3v-3,-7,3,-27,5,-28","w":109,"k":{"J":2,"C":-8,"G":-8,"O":-8,"Q":-8,"S":-10,"T":22,"V":17,"W":5,"X":4,"Y":17,"b":1,"c":-5,"d":-5,"e":-5,"o":-5,"q":-5,"s":-4,"v":5,"x":3,"y":6,"g":-4,"z":-4,"B":3,"D":3,"E":3,"F":3,"H":3,"I":3,"K":3,"L":3,"N":3,"P":3,"R":3}},".":{"d":"16,-24v0,-16,15,-30,28,-30v15,0,30,16,28,30v0,14,-15,30,-30,29v-13,-1,-26,-13,-26,-29","w":87,"k":{"A":-13,"J":-5,"M":-4,"C":16,"G":16,"O":16,"Q":16,"T":27,"U":17,"V":33,"W":24,"X":-10,"Y":19,"b":7,"j":6,"c":8,"d":8,"e":8,"o":8,"q":8,"\"":5,"'":5,"s":-1,"t":9,"u":10,"v":24,"x":-11,"y":19,"g":1,"m":2,"n":2,"r":2,"z":2}},"\/":{"d":"128,-240v2,-1,21,-9,21,-2v-2,9,-91,238,-112,275v-4,2,-18,12,-22,7v26,-55,102,-249,113,-280","w":165},"0":{"d":"11,-107v0,-53,28,-111,85,-108v58,3,73,42,76,105v2,56,-23,112,-82,114v-62,2,-79,-54,-79,-111xm95,-10v29,-9,26,-21,26,-94v0,-64,-11,-97,-31,-97v-26,7,-27,36,-27,87v0,73,13,104,32,104"},"1":{"d":"152,-12v1,1,0,12,-2,13r-115,0v-1,-1,-1,-11,0,-12v49,-1,34,-40,34,-93v0,-49,15,-78,-29,-80v-1,-2,0,-11,1,-12v28,-2,58,-13,75,-19v1,-1,5,2,5,3r0,174v-3,23,14,27,31,26"},"2":{"d":"14,-10v38,-30,83,-65,86,-123v2,-47,-50,-60,-79,-22v-2,1,-9,-8,-9,-10v20,-32,48,-50,75,-50v33,0,62,26,62,66v0,39,-48,84,-77,105v0,1,-1,3,2,3v10,1,46,2,63,2v8,0,19,-9,29,-30v2,-1,10,2,11,4v-10,18,-6,66,-41,66r-121,0v-1,-4,-1,-7,-1,-11"},"3":{"d":"25,-37v12,38,90,59,93,-4v1,-32,-29,-54,-64,-50v-1,-3,6,-19,8,-20v31,-6,43,-15,43,-34v2,-38,-54,-47,-77,-18v-2,0,-6,-7,-6,-10v11,-14,38,-42,70,-42v34,0,56,23,56,51v0,20,-17,31,-35,44v31,10,53,28,53,57v0,54,-75,94,-132,72v-13,-5,-17,-25,-19,-41v1,-2,8,-5,10,-5"},"4":{"d":"175,-57v-10,1,-26,-4,-34,1r0,62v-14,0,-41,3,-51,5v-1,-22,2,-48,-1,-69r-84,0v0,-3,1,-12,2,-15v24,-34,88,-122,101,-138v8,-1,25,-4,32,-4v2,43,-4,94,2,133v13,0,28,-1,37,-2v-2,8,-3,18,-4,27xm36,-85v7,4,41,5,54,1v-1,-26,5,-59,0,-81v-8,10,-40,58,-54,80"},"5":{"d":"70,15v-43,0,-69,-24,-44,-55v1,-1,4,-2,5,-2v14,20,36,38,63,38v42,0,36,-53,1,-73v-19,-11,-55,-26,-63,-31v-2,-32,23,-74,36,-98v8,-17,55,6,76,-10v1,0,5,3,5,5v-1,5,-16,45,-36,44v-36,-2,-55,-10,-52,18v31,18,104,32,104,87v0,48,-53,77,-95,77"},"6":{"d":"172,-77v2,43,-34,82,-84,82v-54,0,-76,-40,-76,-81v0,-70,63,-132,147,-153v2,1,6,11,5,12v-58,28,-81,62,-91,87v48,-22,95,-11,99,53xm82,-117v-18,-1,-19,21,-19,38v0,47,16,69,36,69v45,-12,26,-115,-17,-107"},"7":{"d":"175,-205v-16,42,-89,187,-104,218v-6,-1,-21,-3,-16,-13v18,-37,70,-131,83,-163r0,-3v-15,0,-64,-1,-88,1v-12,1,-16,6,-28,27v-2,1,-11,-3,-12,-5v7,-23,14,-51,17,-70v40,6,100,3,145,2v1,0,3,5,3,6"},"8":{"d":"24,-154v0,-37,34,-61,72,-61v36,0,62,21,62,53v0,13,-8,26,-36,43v27,18,46,34,45,60v0,32,-32,63,-80,63v-52,0,-71,-30,-71,-55v-3,-16,16,-29,43,-49v-19,-14,-35,-30,-35,-54xm110,-125v25,-21,14,-77,-21,-76v-15,0,-25,13,-25,27v0,18,12,29,46,49xm55,-55v0,40,65,67,69,18v1,-16,-16,-37,-54,-54v-10,10,-15,23,-15,36"},"9":{"d":"10,-135v0,-45,36,-80,84,-80v52,0,77,43,77,88v0,65,-53,124,-140,145v-2,-1,-6,-10,-5,-13v52,-24,74,-55,87,-90v1,-1,0,-2,-1,-1v-49,37,-102,7,-102,-49xm99,-97v19,4,23,-20,22,-34v0,-37,-10,-69,-37,-69v-14,0,-28,15,-28,44v0,42,21,59,43,59"},":":{"d":"28,-23v0,-14,14,-28,28,-28v15,0,28,14,28,28v0,13,-13,27,-29,27v-13,0,-27,-12,-27,-27xm28,-111v0,-14,13,-27,28,-27v16,0,29,15,28,29v-1,13,-13,26,-29,26v-14,0,-27,-12,-27,-28","w":111,"k":{"A":-14,"J":-26,"M":-3,"C":-3,"G":-3,"O":-3,"Q":-3,"S":-3,"T":15,"U":2,"V":12,"X":-8,"Y":12,"Z":-7,"b":4,"i":-5,"j":-4,"p":-4,"s":-3,"t":2,"u":-1,"v":2,"x":-10,"f":-5,"m":-3,"n":-3,"r":-3,"z":-5,"a":-3}},";":{"d":"28,-111v0,-14,15,-27,29,-27v17,0,27,15,27,28v0,13,-14,26,-29,26v-13,0,-27,-12,-27,-27xm29,-31v8,-7,23,-29,39,-26v32,35,-12,107,-41,117v-2,0,-14,0,-13,-7v28,-24,42,-55,15,-84","w":111,"k":{"A":-14,"J":-26,"M":-3,"C":-3,"G":-3,"O":-3,"Q":-3,"S":-3,"T":15,"U":2,"V":12,"X":-8,"Y":12,"Z":-7,"b":4,"i":-5,"j":-4,"p":-4,"s":-3,"t":2,"u":-1,"v":2,"x":-10,"f":-5,"m":-3,"n":-3,"r":-3,"z":-5,"a":-3}},"<":{"d":"166,-143v-7,9,-88,44,-105,58v12,7,104,50,113,59v0,1,-5,22,-11,22v-15,-11,-107,-59,-140,-72v-1,-3,4,-17,5,-18v31,-14,130,-66,142,-76v6,3,-2,24,-4,27","w":196},"=":{"d":"175,-107r-158,0v-3,-4,2,-21,3,-24r161,0v1,6,-3,21,-6,24xm175,-42r-158,1v-3,-4,3,-21,4,-25r160,0v1,6,-3,21,-6,24","w":196},">":{"d":"31,-31v8,-7,83,-44,105,-55v1,-1,0,-3,0,-3v-12,-7,-104,-49,-113,-58v0,-2,4,-22,10,-23v15,11,108,59,141,72v0,3,-4,18,-5,19v-31,14,-130,65,-142,75v-6,-3,2,-24,4,-27","w":196},"?":{"d":"124,-161v0,37,-35,29,-48,52v-3,4,13,16,9,24v-3,3,-21,12,-25,13v-17,1,-28,-17,-28,-26v0,-27,52,-20,54,-46v1,-20,-32,-28,-53,-35v-14,-9,6,-37,21,-38v32,-2,70,31,70,56xm39,-23v0,-14,13,-27,29,-27v16,0,27,15,27,28v0,14,-14,27,-30,27v-12,0,-26,-14,-26,-28","w":139},"@":{"d":"225,-141v-9,27,-20,85,-21,103v0,10,3,16,11,16v15,0,47,-20,47,-70v0,-73,-50,-102,-98,-102v-45,0,-118,35,-118,146v0,87,31,109,83,110v2,12,-19,12,-28,13v-16,0,-84,-29,-84,-120v0,-92,76,-167,162,-167v68,0,106,54,106,103v0,80,-64,114,-106,114v-21,0,-18,-24,-15,-45v-18,16,-47,45,-65,45v-17,0,-20,-21,-20,-36v1,-72,67,-134,146,-110xm181,-122v-38,-22,-58,28,-59,66v0,17,5,23,10,23v24,0,45,-55,49,-89","w":301},"A":{"d":"70,-75v-9,21,-31,51,-8,60v6,1,12,3,18,4v1,1,0,11,-1,12r-86,0v-1,-2,-1,-10,0,-12v25,-4,30,-7,39,-29v20,-47,49,-127,58,-153v3,-7,6,-19,7,-25v10,1,28,1,37,0v14,47,43,128,59,170v11,30,14,33,41,37v1,1,0,11,-1,12v-14,-1,-93,-1,-108,0v-1,-2,-1,-11,0,-12v40,1,10,-47,1,-64r-56,0xm121,-96v0,-12,-15,-50,-23,-69v-6,23,-20,46,-22,69r45,0","w":225},"B":{"d":"211,-68v0,81,-112,73,-205,69v-1,-2,-1,-11,1,-12v48,-4,33,-29,33,-98v0,-37,0,-59,-1,-78v-1,-18,-15,-17,-29,-19v-1,-2,-1,-11,0,-12v68,10,183,-28,186,49v0,19,-14,38,-40,45v-1,0,-1,2,0,2v32,6,55,22,55,54xm90,-127v28,8,57,-1,57,-31v0,-28,-19,-49,-53,-44v-8,10,-2,47,-4,75xm91,-32v0,13,22,21,29,21v22,0,36,-17,36,-49v0,-34,-31,-58,-66,-47v0,26,1,58,1,75","w":226,"k":{"x":6,"v":9,"b":7,"B":3,"D":3,"E":3,"F":3,"H":3,"I":3,"K":3,"L":3,"N":3,"P":3,"R":3,"J":-3,"T":9,"U":6,"V":5,"W":3,"Y":4,"Z":4,"a":3,",":6,"f":3,"g":4,"-":-9,"i":3,"j":2,"h":4,"k":4,"l":4,"m":4,"n":4,"r":4,"p":3,".":6,"\"":7,"'":7,"s":1,":":-4,";":-4,"t":5,"u":4,"w":6,"y":8,"z":6,")":13,"]":13,"}":13}},"C":{"d":"18,-111v0,-65,54,-115,132,-113v28,0,57,5,73,6v-2,11,-6,41,-6,60v-1,2,-12,3,-13,1v-1,-37,-27,-52,-63,-52v-38,0,-64,30,-64,95v0,49,22,101,80,101v30,0,50,-24,62,-47v3,1,9,4,11,7v-4,14,-19,44,-29,51v-12,4,-28,8,-54,8v-81,0,-129,-39,-129,-117","w":240,"k":{"A":-3,"B":1,"D":1,"E":1,"F":1,"H":1,"I":1,"K":1,"L":1,"N":1,"P":1,"R":1,"J":-2,"M":-3,"C":3,"G":3,"O":3,"Q":3,"S":1,"T":2,"U":1,"V":-8,"W":-12,"X":-5,"Y":-11,"a":6,"b":5,",":3,"!":-3,"f":6,"g":7,"-":-9,"i":5,"j":6,"h":3,"k":3,"l":3,"m":6,"n":6,"r":6,"c":5,"d":5,"e":5,"o":5,"q":5,"p":4,".":3,"\"":-6,"'":-6,"s":4,"t":6,"u":8,"v":9,"w":8,"y":8,"z":5,")":5,"]":5,"}":5,"?":-4}},"D":{"d":"243,-114v0,78,-62,118,-136,117r-101,-2v-1,-2,-1,-12,0,-12v51,-4,34,-34,34,-103v0,-39,-1,-55,-1,-72v0,-17,-16,-18,-30,-20v-1,-2,-1,-11,0,-12r122,-1v69,-2,112,43,112,105xm188,-108v0,-53,-34,-106,-94,-94v-8,38,-1,129,-2,168v0,14,27,22,36,21v40,-3,60,-41,60,-95","w":261,"k":{"A":7,"J":1,"C":-4,"G":-4,"O":-4,"Q":-4,"T":6,"U":-1,"V":5,"W":1,"X":12,"Y":6,"Z":3,"a":6,"b":1,",":17,"-":-11,"m":2,"n":2,"r":2,"c":2,"d":2,"e":2,"o":2,"q":2,"p":-2,".":17,"\"":3,"'":3,"s":3,":":-3,";":-3,"t":-1,"u":1,"v":-4,"w":-6,"x":-2,"y":-3,"z":2,")":9,"]":9,"}":9}},"E":{"d":"144,-18v33,3,38,-22,49,-44v3,0,12,3,13,5v-2,8,-11,41,-17,53v-1,3,-3,5,-18,5r-168,0v-1,-3,-1,-10,0,-12v23,-6,37,2,37,-22r0,-155v0,-18,-14,-16,-29,-18v-1,-2,0,-11,1,-12r174,0v-3,11,-4,35,-5,55v-2,1,-12,2,-14,1v5,-44,-38,-38,-71,-37v-10,17,-1,53,-4,77v12,2,59,11,61,-10v1,-4,2,-8,3,-13v2,-1,13,-1,15,0v-2,20,-2,49,-1,72v-2,1,-12,1,-14,0v1,-29,-29,-27,-61,-26v-8,15,-1,46,-3,67v4,20,23,12,52,14","w":210,"k":{"A":-12,"J":-4,"M":-9,"C":4,"G":4,"O":4,"Q":4,"S":-2,"T":9,"V":-2,"W":-4,"X":-8,"b":4,"g":2,"-":-13,"j":2,"c":-1,"d":-1,"e":-1,"o":-1,"q":-1,"p":1,"\"":4,"'":4,":":-5,";":-5,"t":4,"u":5,"v":10,"w":6,"x":-8,"y":7,"z":2,")":5,"]":5,"}":5}},"F":{"d":"91,-33v-1,23,16,18,35,22v0,3,-1,10,-2,12r-113,0v-1,-2,-2,-11,-1,-12v47,5,30,-51,30,-99v0,-41,-1,-62,-1,-76v0,-21,-16,-15,-31,-20v-1,-2,0,-11,1,-12r135,1v28,2,41,-7,45,0v-3,13,-5,34,-6,57v-3,1,-10,2,-12,1v-5,-19,-5,-39,-23,-39v-15,0,-57,-8,-57,6v0,25,-3,56,2,77v18,-3,60,7,63,-11v1,-4,4,-10,5,-16v2,-1,11,0,14,1v-3,17,-2,53,-1,73v-2,2,-11,2,-14,1v3,-35,-36,-27,-67,-28v-6,16,-1,42,-2,62","w":201,"k":{"x":3,"v":4,"b":-2,"X":-4,"A":21,"S":3,"V":-10,"W":-17,"Y":-15,"Z":1,"a":19,",":26,"f":9,"g":15,"-":3,"i":9,"j":7,"m":13,"n":13,"r":13,"c":14,"d":14,"e":14,"o":14,"q":14,"p":8,".":23,"\"":-10,"'":-10,"s":13,"t":7,"u":8,"w":1,"y":4,"z":9,")":4,"]":4,"}":4}},"G":{"d":"225,-62v1,19,-6,41,9,46v0,2,-2,8,-3,9v-14,4,-50,13,-83,13v-81,0,-130,-37,-130,-116v0,-73,53,-115,138,-114v33,0,57,7,74,8v-3,14,-6,45,-6,64v-2,2,-12,2,-14,1v-3,-47,-26,-58,-65,-58v-35,0,-68,21,-68,93v0,63,31,107,77,107v25,0,20,-27,20,-51v0,-22,-14,-23,-35,-25v-1,-3,-1,-12,0,-13v13,1,92,3,106,0v1,1,1,11,0,13v-13,5,-22,0,-20,23","w":256,"k":{"A":-8,"J":-6,"M":-3,"C":-4,"G":-4,"O":-4,"Q":-4,"T":6,"V":-3,"W":-7,"X":-4,"Z":2,"a":3,"b":2,",":4,"g":2,"-":-12,"i":1,"j":1,".":4,":":-4,";":-4,"t":1,"u":3,"v":6,"w":5,"x":-2,"y":4,"z":2,")":6,"]":6,"}":6}},"H":{"d":"179,-100v-13,1,-100,-5,-88,2v5,40,-16,86,30,87v1,2,0,11,-1,12v-5,-1,-102,-1,-110,0v-1,-1,-1,-11,0,-12v17,-3,30,-2,30,-26r0,-148v0,-21,-12,-18,-29,-21v-1,-1,0,-11,1,-12v9,1,95,1,105,0v1,2,2,11,0,12v-38,-5,-26,51,-24,83v28,-2,64,4,88,-2v-5,-29,16,-85,-28,-81v-2,-1,-2,-11,0,-12v17,1,92,1,106,0v1,1,2,10,0,12v-14,3,-27,2,-26,21r0,151v0,22,10,19,31,23v1,1,0,11,-2,12v-14,-1,-93,-1,-108,0v-2,-1,-2,-10,0,-12v39,5,27,-53,25,-89","w":271,"k":{"A":-6,"J":-5,"M":-7,"W":-2,"X":-4,"Y":-1,"a":7,"b":4,"f":5,"g":9,"i":4,"j":7,"h":4,"k":4,"l":4,"m":6,"n":6,"r":6,"c":10,"d":10,"e":10,"o":10,"q":10,"p":8,"\"":-5,"'":-5,"s":6,"t":9,"u":11,"v":11,"w":10,"x":-1,"y":9,"z":4,")":1,"]":1,"}":1,"?":-3}},"I":{"d":"39,-188v0,-16,-16,-15,-29,-18v-1,-2,-1,-11,0,-12v16,1,100,1,109,0v1,1,1,10,0,12v-15,3,-28,3,-28,22r0,152v-2,15,16,20,32,21v1,2,-1,11,-2,12r-111,0v-2,-1,-2,-11,0,-12v47,3,30,-52,30,-106v0,-38,-1,-56,-1,-71","w":130,"k":{"A":-6,"J":-5,"M":-7,"W":-2,"X":-4,"Y":-1,"a":7,"b":4,"f":5,"g":9,"i":4,"j":7,"h":4,"k":4,"l":4,"m":6,"n":6,"r":6,"c":10,"d":10,"e":10,"o":10,"q":10,"p":8,"\"":-5,"'":-5,"s":6,"t":9,"u":11,"v":11,"w":10,"x":-1,"y":9,"z":4,")":1,"]":1,"}":1,"?":-3}},"J":{"d":"12,-206v-1,-2,-1,-11,0,-12v10,1,97,1,110,0v1,2,1,10,0,12v-14,4,-25,1,-25,21v0,72,12,158,-18,206v-26,42,-67,72,-107,47v-1,-14,6,-30,11,-39v28,18,61,43,61,-17v0,-54,0,-167,-1,-196v0,-18,-13,-20,-31,-22","w":129,"k":{"A":2,"J":-3,"M":-2,"U":1,"V":-6,"W":-5,"Y":-5,"a":12,",":12,"f":8,"g":12,"i":7,"j":9,"h":3,"k":3,"l":3,"m":9,"n":9,"r":9,"c":9,"d":9,"e":9,"o":9,"q":9,"p":8,".":13,"\"":-8,"'":-8,"s":7,"t":9,"u":8,"v":7,"w":6,"x":5,"y":6,"z":12}},"K":{"d":"91,-185r0,154v0,17,14,17,30,20v1,2,-1,11,-2,12r-109,0v-1,-2,-1,-10,0,-12v17,-3,29,-2,29,-26r0,-148v1,-18,-11,-19,-27,-21v-2,-1,-1,-11,0,-12v13,1,81,1,104,0v1,2,1,10,0,12v-15,1,-26,3,-25,21xm94,-108v14,-4,62,-54,74,-87v-2,-10,-14,-9,-27,-11v-1,-3,0,-11,1,-12v20,1,76,1,91,0v1,1,2,10,0,12v-45,2,-72,60,-94,81v24,35,61,89,94,110v6,2,15,4,20,4v1,2,-1,10,-2,12v-17,2,-66,2,-76,-2v-35,-24,-57,-68,-82,-101v0,-1,0,-6,1,-6","w":242,"k":{"J":-15,"C":8,"G":8,"O":8,"Q":8,"S":-7,"T":2,"U":7,"W":6,"X":-6,"Y":2,"Z":-10,"a":-9,"b":-4,",":-14,"!":-8,"g":-6,"-":3,"j":-5,"h":-4,"k":-4,"l":-4,"p":-5,".":-14,"\"":-1,"'":-1,"s":-9,":":-14,";":-14,"t":2,"u":2,"v":23,"w":18,"x":-4,"y":16,"z":-11,")":2,"]":2,"}":2,"?":-5}},"L":{"d":"92,-31v2,21,27,10,52,13v24,-2,35,-35,45,-55v2,-1,12,1,13,4v-1,9,-13,52,-22,66v-38,13,-126,-2,-172,4v-1,-2,-1,-11,0,-12v50,-2,32,-38,32,-102v0,-42,-1,-61,-1,-75v0,-15,-14,-16,-29,-18v-1,-2,0,-11,1,-12r107,0v1,1,1,10,0,12v-43,-3,-27,50,-27,84v0,36,0,82,1,91","w":204,"k":{"A":-11,"J":-6,"M":-5,"C":2,"G":2,"O":2,"Q":2,"S":-2,"T":25,"U":10,"V":21,"W":21,"X":-7,"Y":19,"Z":4,"a":-3,"b":2,",":-2,"!":-3,"f":-3,"-":-19,"i":-3,"h":-3,"k":-3,"l":-3,"m":-2,"n":-2,"r":-2,"c":-5,"d":-5,"e":-5,"o":-5,"q":-5,".":-6,"\"":27,"'":27,"s":-5,":":-7,";":-7,"t":-3,"v":14,"w":10,"x":-9,"y":10,")":6,"]":6,"}":6,"?":-3}},"M":{"d":"44,-183v2,-19,-17,-20,-35,-23v-1,-2,0,-11,1,-12v27,0,51,1,86,1v12,41,44,110,60,133v14,-28,50,-95,59,-133v41,0,57,-1,79,-1v1,1,1,11,0,12v-19,2,-31,4,-31,23v0,26,4,123,4,148v0,19,14,22,33,24v1,2,1,10,-1,12r-113,0v-1,-2,-1,-11,0,-12v17,-4,28,0,27,-22r-1,-130v-16,37,-59,132,-69,161v-2,1,-16,0,-17,0v-10,-28,-30,-89,-66,-161v-2,28,-6,100,-6,126v0,23,15,22,36,26v1,1,0,10,-1,12r-92,0v-1,-2,-1,-11,0,-12v21,-3,32,-3,34,-27v3,-27,12,-117,13,-145","w":302,"k":{"A":-3,"B":-3,"D":-3,"E":-3,"F":-3,"H":-3,"I":-3,"K":-3,"L":-3,"N":-3,"P":-3,"R":-3,"J":-6,"M":-5,"C":-2,"G":-2,"O":-2,"Q":-2,"S":-2,"T":-2,"X":-7,"Z":-4,"a":1,"b":1,",":-3,"f":3,"g":3,"i":3,"j":4,"h":1,"k":1,"l":1,"m":4,"n":4,"r":4,"c":7,"d":7,"e":7,"o":7,"q":7,"p":6,".":-3,"\"":-7,"'":-7,"s":2,":":-3,";":-3,"t":8,"u":8,"v":8,"w":7,"x":-2,"y":10,")":1,"]":1,"}":1,"?":-4}},"N":{"d":"86,-218v31,44,86,118,119,151v0,-45,-2,-92,-2,-115v0,-20,-19,-21,-38,-24v-1,-1,-1,-11,0,-12v13,1,77,1,91,0v1,1,1,11,0,12v-17,3,-29,5,-30,26v-3,44,-3,128,-2,182v-6,-1,-29,0,-36,1r-126,-167v-7,30,-1,114,-1,126v0,26,16,22,37,27v1,1,2,10,0,12r-93,0v-1,-2,-1,-11,0,-12v18,-4,32,-4,33,-25v1,-19,4,-88,4,-141v0,-19,-17,-28,-36,-29v-1,-1,-1,-11,0,-12r80,0","w":257,"k":{"A":-3,"J":-4,"M":-3,"C":-1,"G":-1,"O":-1,"Q":-1,"T":-6,"U":-1,"W":-4,"X":-3,"Y":-1,"Z":-1,"a":11,"b":-3,",":12,"f":5,"g":10,"i":5,"j":6,"m":7,"n":7,"r":7,"c":7,"d":7,"e":7,"o":7,"q":7,"p":5,".":11,"\"":-13,"'":-13,"s":7,"t":6,"u":7,"v":6,"w":6,"x":3,"y":4,"z":10,"?":-4}},"O":{"d":"254,-112v0,71,-56,118,-118,118v-75,0,-118,-52,-118,-115v0,-63,51,-115,122,-115v75,0,114,52,114,112xm76,-120v0,45,17,110,71,110v41,0,49,-48,49,-90v-1,-49,-15,-108,-66,-108v-44,0,-53,44,-54,88","w":272,"k":{"A":7,"J":1,"C":-4,"G":-4,"O":-4,"Q":-4,"T":6,"U":-1,"V":5,"W":1,"X":12,"Y":6,"Z":3,"a":6,"b":1,",":17,"-":-11,"m":2,"n":2,"r":2,"c":2,"d":2,"e":2,"o":2,"q":2,"p":-2,".":17,"\"":3,"'":3,"s":3,":":-3,";":-3,"t":-1,"u":1,"v":-4,"w":-6,"x":-2,"y":-3,"z":2,")":9,"]":9,"}":9}},"P":{"d":"125,-84v-15,1,-27,-6,-21,-16v31,4,46,-12,45,-47v0,-33,-17,-56,-45,-56v-4,1,-12,0,-12,7v-2,22,0,123,0,163v0,19,15,20,34,22v1,2,1,10,-1,12r-115,0v-1,-3,-1,-11,0,-12v16,-2,29,-2,29,-22r0,-150v1,-20,-12,-20,-29,-23v-1,-3,-1,-11,0,-12v84,4,192,-24,192,63v0,48,-34,68,-77,71","w":214,"k":{"A":24,"T":-4,"U":-2,"V":-8,"W":-6,"Y":-6,"Z":-4,"a":13,"b":-1,",":36,"!":-3,"g":10,"-":5,"i":2,"h":3,"k":3,"l":3,"m":4,"n":4,"r":4,"c":13,"d":13,"e":13,"o":13,"q":13,"p":1,".":38,"\"":-4,"'":-4,"s":9,":":4,";":4,"t":-1,"v":-7,"w":-8,"x":-7,"y":-6,"z":4,")":9,"]":9,"}":9,"?":-4}},"Q":{"d":"182,-4v41,13,96,57,146,32v1,2,4,10,3,13v-39,32,-80,42,-123,19v-29,-15,-53,-48,-89,-53v-60,-9,-101,-60,-101,-115v0,-71,62,-116,123,-116v76,0,113,54,113,111v1,57,-29,92,-72,109xm129,-208v-37,0,-53,38,-53,88v0,57,21,111,75,111v31,0,46,-42,46,-91v0,-49,-17,-108,-68,-108","w":272,"k":{"A":7,"J":1,"C":-4,"G":-4,"O":-4,"Q":-4,"T":6,"U":-1,"V":5,"W":1,"X":12,"Y":6,"Z":3,"a":6,"b":1,",":17,"-":-11,"m":2,"n":2,"r":2,"c":2,"d":2,"e":2,"o":2,"q":2,"p":-2,".":17,"\"":3,"'":3,"s":3,":":-3,";":-3,"t":-1,"u":1,"v":-4,"w":-6,"x":-2,"y":-3,"z":2,")":9,"]":9,"}":9}},"R":{"d":"91,-94v0,39,-12,87,29,83v2,0,1,11,-1,12v-10,-1,-98,-1,-107,0v-1,-1,-2,-11,0,-12v45,3,28,-58,28,-103v0,-35,0,-56,-1,-72v0,-20,-12,-17,-29,-20v-1,-2,0,-11,2,-12v74,2,190,-17,187,55v0,28,-18,45,-42,54v1,17,38,63,56,82v12,13,16,13,34,15v1,1,-2,12,-3,13v-32,3,-82,0,-91,-21v-14,-18,-30,-48,-42,-67v-4,-7,-10,-8,-20,-7xm92,-111v38,1,54,0,55,-41v0,-30,-16,-51,-44,-51v-5,0,-12,1,-12,7v1,4,-4,47,1,85","w":230,"k":{"A":-11,"B":-6,"D":-6,"E":-6,"F":-6,"H":-6,"I":-6,"K":-6,"L":-6,"N":-6,"P":-6,"R":-6,"J":-14,"M":-12,"S":-14,"T":12,"U":2,"V":7,"W":5,"X":-8,"Y":7,"Z":-20,"a":-14,"b":-8,",":-24,"!":-10,"f":-5,"g":-14,"-":-2,"i":-6,"j":-10,"h":-7,"k":-7,"l":-7,"m":-5,"n":-5,"r":-5,"c":-4,"d":-4,"e":-4,"o":-4,"q":-4,"p":-8,".":-25,"\"":8,"'":8,"s":-14,":":-21,";":-21,"t":-4,"u":-4,"v":9,"w":8,"x":-10,"y":5,"z":-18,")":-5,"]":-5,"}":-5,"?":-10}},"S":{"d":"66,-180v0,55,101,56,101,118v0,38,-31,68,-87,68v-25,0,-47,-6,-56,-11v-1,-8,-26,-67,2,-62v12,36,26,59,63,59v17,0,30,-10,30,-28v0,-44,-108,-64,-97,-122v-3,-66,82,-74,137,-59v-3,14,-5,30,-6,53v-2,2,-11,2,-13,1v-4,-35,-13,-47,-43,-47v-19,0,-31,13,-31,30","w":179,"k":{"A":-2,"J":-4,"M":-3,"T":7,"V":-5,"W":-8,"Y":-4,"Z":2,"a":1,"b":1,",":3,"-":-14,"i":1,"h":1,"k":1,"l":1,"m":1,"n":1,"r":1,".":2,"\"":-1,"'":-1,":":-4,";":-4,"u":1,"v":6,"w":4,"x":1,"y":6,"z":4,")":2,"]":2,"}":2}},"T":{"d":"140,-32v0,18,13,19,34,21v1,1,0,11,-1,12r-122,0v-2,-2,-2,-11,0,-12v22,-5,36,1,36,-26v0,-35,6,-110,0,-161v-19,1,-47,-7,-52,13v-4,8,-9,18,-13,30v-1,1,-13,0,-14,-3v3,-15,6,-46,7,-62v51,3,149,7,205,-1v4,13,-8,41,-7,65v-1,1,-12,2,-13,1v-4,-19,-3,-43,-21,-43v-11,0,-39,-5,-39,2r0,164","w":231,"k":{"A":27,"C":11,"G":11,"O":11,"Q":11,"S":5,"T":2,"U":-1,"V":-13,"W":-16,"X":-4,"Y":-13,"Z":3,"a":36,",":30,"f":16,"g":35,"-":24,"i":12,"j":10,"h":2,"k":2,"l":2,"m":35,"n":35,"r":35,"c":37,"d":37,"e":37,"o":37,"q":37,"p":27,".":34,"\"":-10,"'":-10,"s":34,":":18,";":18,"t":13,"u":26,"v":24,"w":18,"x":21,"y":21,"z":27,")":2,"]":2,"}":2,"?":-4}},"U":{"d":"129,6v-118,0,-93,-81,-93,-190v0,-17,-14,-19,-31,-22v-1,-2,-1,-10,0,-12r113,0v1,2,1,10,0,12v-47,-7,-27,68,-29,100v-4,51,5,88,59,87v24,0,51,-8,55,-57v2,-27,0,-84,0,-103v0,-24,-15,-23,-36,-27v-1,-2,-1,-9,0,-12r88,0v2,2,2,10,0,12v-46,-2,-27,67,-31,115v-6,74,-39,97,-95,97","w":254,"k":{"A":10,"M":-5,"S":1,"T":-7,"V":-4,"W":-5,"X":-3,"Y":-3,"a":14,"b":-3,",":15,"f":6,"g":12,"i":6,"j":3,"h":-4,"k":-4,"l":-4,"m":8,"n":8,"r":8,"c":9,"d":9,"e":9,"o":9,"q":9,"p":3,".":17,"\"":-13,"'":-13,"s":9,":":2,";":2,"t":5,"u":5,"v":3,"w":-2,"x":3,"y":1,"z":11}},"V":{"d":"-8,-206v-1,-3,1,-11,2,-12r109,0v2,1,2,11,1,12v-14,4,-24,1,-20,16v6,21,43,109,51,128v0,0,1,1,2,0v10,-21,38,-95,45,-118v8,-24,-10,-23,-30,-26v-1,-23,12,-11,46,-11v23,0,35,-1,43,-1v1,1,2,9,1,12v-26,4,-30,10,-40,34r-70,175v-7,-1,-23,-1,-31,0r-65,-168v-16,-36,-16,-35,-44,-41","w":230,"k":{"A":24,"J":-8,"C":3,"G":3,"O":3,"Q":3,"S":-1,"T":-17,"V":-10,"W":-9,"X":-1,"Y":-7,"Z":-7,"a":31,"b":-17,",":35,"!":-9,"f":7,"g":26,"-":15,"h":-13,"k":-13,"l":-13,"m":19,"n":19,"r":19,"c":28,"d":28,"e":28,"o":28,"q":28,"p":17,".":35,"\"":-22,"'":-22,"s":29,":":12,";":12,"t":6,"u":17,"v":8,"w":7,"x":11,"y":10,"z":21,")":-6,"]":-6,"}":-6,"?":-15}},"W":{"d":"-11,-206v-1,-1,-1,-11,1,-12r110,0v1,1,1,10,0,12v-12,3,-25,4,-22,14v11,39,26,97,39,117v13,-33,36,-99,44,-131v6,1,21,1,26,0v9,28,44,118,53,139v16,-30,30,-94,35,-113v6,-21,-12,-24,-32,-26v-2,-1,-1,-11,0,-12v12,1,78,1,88,0v1,1,1,10,0,12v-19,4,-25,6,-33,26v-17,46,-47,138,-62,184v-6,0,-21,-1,-26,0v-9,-28,-42,-114,-52,-136v-15,34,-39,104,-50,136v-5,-1,-20,-1,-26,0v-11,-48,-44,-147,-57,-183v-7,-17,-14,-26,-36,-27","w":318,"k":{"A":23,"J":-4,"M":-1,"T":-19,"U":-2,"V":-10,"W":-14,"X":-8,"Y":-8,"Z":-12,"a":23,"b":-15,",":24,"!":-10,"f":4,"g":21,"-":8,"j":2,"h":-10,"k":-10,"l":-10,"m":18,"n":18,"r":18,"c":23,"d":23,"e":23,"o":23,"q":23,"p":10,".":24,"\"":-26,"'":-26,"s":20,"t":5,"u":10,"v":5,"w":4,"x":6,"y":4,"z":14,")":-12,"]":-12,"}":-12,"?":-14}},"X":{"d":"231,-11v1,1,1,10,-1,12r-115,0v-2,-1,-2,-11,-1,-12v12,-4,22,-1,21,-11v-10,-17,-21,-47,-37,-62v-22,33,-37,54,-38,59v-2,11,13,12,26,14v0,1,-1,11,-2,12r-88,0v-1,-2,-1,-11,0,-12v46,-2,70,-61,94,-88v-9,-28,-30,-54,-42,-74v-16,-28,-18,-29,-45,-33v-2,-1,-1,-12,0,-13v23,2,90,2,107,0v1,1,1,12,0,13v-5,1,-20,3,-16,11v7,14,20,43,33,55v20,-35,57,-60,9,-66v-1,-2,1,-11,2,-12v20,1,66,1,82,0v1,1,1,10,0,12v-45,2,-64,55,-84,82v27,34,47,114,95,113","w":223,"k":{"x":-5,"v":20,"b":-6,"X":-9,"?":-5,"!":-4,"A":-6,"B":-7,"D":-7,"E":-7,"F":-7,"H":-7,"I":-7,"K":-7,"L":-7,"N":-7,"P":-7,"R":-7,"J":-13,"M":-6,"C":6,"G":6,"O":6,"Q":6,"S":-9,"T":-2,"Z":-11,"a":-6,",":-13,"g":-8,"-":2,"i":-3,"j":-3,"h":-5,"k":-5,"l":-5,"p":-5,".":-13,"\"":-14,"'":-14,"s":-11,":":-8,";":-8,"t":2,"u":2,"w":18,"y":12,"z":-11,")":-3,"]":-3,"}":-3}},"Y":{"d":"-8,-206v-1,-3,-1,-11,0,-12r105,0v1,1,2,11,1,12v-7,1,-21,2,-14,13v8,14,30,69,40,75v12,-20,33,-60,37,-73v3,-13,-15,-13,-27,-15v-3,-22,21,-11,45,-11v18,0,30,-1,41,-1v1,1,1,11,0,12v-50,0,-64,77,-85,103v-8,16,-2,44,-4,67v-2,20,14,23,32,25v1,1,0,11,-1,12r-115,0v-1,-1,-1,-11,0,-12v47,5,35,-54,29,-89v-20,-25,-37,-108,-84,-106","w":208,"k":{"A":18,"J":-8,"C":6,"G":6,"O":6,"Q":6,"T":-15,"V":-7,"W":-12,"Y":-6,"Z":-13,"a":28,"b":-11,",":23,"!":-9,"f":8,"g":30,"-":20,"i":1,"j":-1,"h":-11,"k":-11,"l":-11,"m":23,"n":23,"r":23,"c":29,"d":29,"e":29,"o":29,"q":29,"p":22,".":26,"\"":-21,"'":-21,"s":25,":":12,";":12,"t":8,"u":21,"v":16,"w":14,"x":14,"y":13,"z":21,")":-5,"]":-5,"}":-5,"?":-17}},"Z":{"d":"23,-221v43,8,122,3,172,3v1,0,1,6,1,8v-13,22,-86,147,-112,188v2,7,69,13,86,-2v8,-7,18,-25,27,-45v2,-1,13,3,14,5v-2,11,-12,48,-18,61v-46,13,-121,-2,-178,4v-1,-1,-1,-8,-1,-9v23,-33,110,-165,117,-192v-26,4,-79,-9,-90,15v-4,9,-10,19,-16,33v-1,1,-12,-3,-13,-4v5,-23,9,-45,11,-65","w":215,"k":{"A":-10,"J":-4,"M":-6,"C":3,"G":3,"O":3,"Q":3,"T":6,"U":4,"V":-4,"W":-8,"X":-9,"Y":-4,"Z":3,",":-2,"!":-4,"g":2,"-":-17,"j":1,"m":2,"n":2,"r":2,"c":-2,"d":-2,"e":-2,"o":-2,"q":-2,"p":2,"\"":-3,"'":-3,":":-7,";":-7,"t":2,"u":3,"v":12,"w":12,"x":-10,"y":11,"z":2,")":2,"]":2,"}":2,"?":-5}},"[":{"d":"117,66v-19,0,-61,3,-77,-4r2,-329r76,0v0,0,0,20,-4,20v-16,2,-41,-4,-52,3v-2,35,-2,255,0,281v1,19,38,5,59,9v1,2,0,20,-4,20","w":139,"k":{"A":2,"J":-35,"C":13,"G":13,"O":13,"Q":13,"T":2,"Y":-4,"Z":3,"b":-4,"i":7,"j":-6,"h":-2,"k":-2,"l":-2,"c":14,"d":14,"e":14,"o":14,"q":14,"p":-5,"s":13,"t":11,"u":11,"v":12,"x":2,"y":4,"f":11,"m":14,"n":14,"r":14,"z":13,"B":4,"D":4,"E":4,"F":4,"H":4,"I":4,"K":4,"L":4,"N":4,"P":4,"R":4,"a":12}},"\\":{"d":"14,-235v2,-3,13,-13,19,-13v21,56,85,232,111,287v-5,6,-22,-5,-25,-7v-15,-27,-83,-213,-105,-267","w":159},"]":{"d":"99,64v-21,6,-52,1,-77,3v0,0,-1,-20,3,-20v12,-1,47,3,53,-3v2,-35,0,-255,0,-282v0,-18,-38,-5,-59,-9v-1,-2,0,-19,4,-19v25,1,55,-3,76,2r0,328","w":139},"^":{"d":"40,-95v-5,4,-23,8,-25,2v8,-10,52,-103,58,-120v0,-1,16,-4,17,-4v10,26,55,107,59,122v-3,2,-22,7,-23,6v-8,-6,-37,-80,-47,-87v-9,20,-34,75,-39,81","w":164},"_":{"d":"201,66r0,18r-205,0r0,-18r205,0","w":180},"a":{"d":"90,-13v-37,26,-76,21,-78,-27v0,-5,3,-18,6,-22v11,-11,70,-9,72,-31v3,-24,-29,-39,-48,-25v-3,3,-9,18,-11,22v-16,2,-14,-20,-6,-30v44,-38,109,-27,109,35v0,26,-16,76,20,67v5,24,-26,29,-41,29v-15,0,-23,-5,-23,-18xm79,-22v18,0,10,-40,10,-50v-14,7,-34,5,-34,23v0,18,13,27,24,27","w":159,"k":{"A":-9,"C":3,"G":3,"O":3,"Q":3,"T":27,"U":4,"V":25,"W":19,"X":-6,"Y":25,"Z":-3,"a":4,"b":1,",":-5,"f":1,"g":3,"i":1,"j":3,"h":2,"k":2,"l":2,"m":1,"n":1,"r":1,"c":2,"d":2,"e":2,"o":2,"q":2,"p":1,".":-2,"\"":13,"'":13,"s":1,":":-3,";":-3,"t":3,"u":2,"v":9,"w":5,"x":-8,"y":6,"z":2,")":9,"]":9,"}":9}},"b":{"d":"83,4v-24,2,-36,-9,-58,-4v-13,-13,13,-203,-11,-212r-14,-2v-1,-1,-1,-11,0,-12v20,-1,56,-7,72,-13v5,9,-4,69,-2,105v15,-4,35,-15,47,-15v37,0,56,34,57,65v2,55,-47,83,-91,88xm100,-14v46,-12,30,-131,-27,-107v-2,32,-16,111,27,107","w":187,"k":{"A":2,"B":3,"D":3,"E":3,"F":3,"H":3,"I":3,"K":3,"L":3,"N":3,"P":3,"R":3,"J":1,"M":2,"T":26,"U":5,"V":28,"W":18,"X":4,"Y":32,"Z":2,"a":3,"b":2,",":11,"!":5,"-":-4,"m":1,"n":1,"r":1,".":12,"\"":11,"'":11,"u":1,"v":4,"w":3,"x":3,"y":3,"z":2,")":20,"]":20,"}":20}},"c":{"d":"85,-133v-51,10,-23,114,23,105v13,0,26,-4,39,-15v7,31,-46,47,-64,47v-43,0,-70,-32,-70,-75v0,-57,85,-104,134,-63v3,12,-13,25,-17,29v-17,0,-24,-32,-45,-28","w":154,"k":{"A":-9,"C":-4,"G":-4,"O":-4,"Q":-4,"T":17,"U":1,"V":12,"W":2,"X":-3,"Y":16,"a":2,"g":1,"j":-3,"h":1,"k":1,"l":1,"c":2,"d":2,"e":2,"o":2,"q":2,"p":-4,"\"":-5,"'":-5,":":-1,";":-1,"v":-8,"w":-9,"x":-9,"y":-7,"z":1,")":6,"]":6,"}":6,"?":-3}},"d":{"d":"13,-67v0,-58,50,-82,106,-83v-3,-33,11,-68,-28,-67v-1,-2,-1,-10,1,-11v21,0,61,-6,75,-11r-1,201v1,21,5,14,21,16v0,1,-1,11,-2,12v-16,6,-59,22,-66,13v-2,-3,2,-17,-3,-19v-46,41,-104,11,-103,-51xm103,-25v6,-1,16,0,15,-10v-3,-27,15,-106,-30,-99v-46,7,-28,117,15,109","w":190,"k":{"A":-4,"U":1,"X":-4,"Z":-6,"a":2,"b":-2,",":-2,"g":1,"j":1,"p":-1,".":-3,"\"":-3,"'":-3,"s":-1,":":-6,";":-6,"x":-6,"z":-2,")":6,"]":6,"}":6}},"e":{"d":"61,-74v-6,41,56,61,88,31v5,32,-42,46,-66,47v-48,2,-69,-35,-70,-76v0,-47,33,-77,77,-77v40,0,54,32,57,52v4,3,8,8,3,15v-10,4,-63,7,-89,8xm79,-135v-12,0,-24,25,-18,44v9,-1,39,3,41,-4v-1,-23,-9,-40,-23,-40","w":161,"k":{"T":22,"U":4,"V":23,"W":12,"Y":26,"a":4,"b":4,",":3,"f":1,"g":1,"h":3,"k":3,"l":3,"m":2,"n":2,"r":2,"c":1,"d":1,"e":1,"o":1,"q":1,".":4,"\"":5,"'":5,"s":1,"t":1,"u":1,"v":3,"w":2,"y":1,"z":2,")":11,"]":11,"}":11}},"f":{"d":"86,-217v-20,-1,-11,41,-13,70v7,7,26,0,38,2v-1,5,-3,16,-4,23v-11,1,-27,-4,-34,1v0,41,2,74,2,91v0,17,12,16,27,19v1,1,-1,11,-2,12v-8,-1,-77,-1,-93,0v-1,-2,-1,-11,0,-12v12,-1,20,-4,20,-16r-1,-95r-18,-1v-2,-16,13,-15,20,-22v-6,-56,65,-118,113,-82v1,14,-12,30,-23,33v-9,-10,-23,-23,-32,-23","w":107,"k":{"A":-5,"B":-39,"D":-39,"E":-39,"F":-39,"H":-39,"I":-39,"K":-39,"L":-39,"N":-39,"P":-39,"R":-39,"J":-44,"M":-33,"C":-17,"G":-17,"O":-17,"Q":-17,"S":-19,"T":-41,"U":-39,"V":-55,"W":-57,"X":-43,"Y":-55,"Z":-36,"a":3,"b":-6,",":-2,"!":-26,"-":-1,"i":-3,"j":-2,"h":-5,"k":-5,"l":-5,"m":-1,"n":-1,"r":-1,"p":-4,"\"":-39,"'":-39,":":-9,";":-9,"t":-3,"u":-6,"v":-11,"w":-17,"x":-14,"y":-11,"z":-5,")":-31,"]":-31,"}":-31,"?":-26}},"g":{"d":"13,-93v0,-34,35,-56,69,-56v24,0,41,8,62,11v16,2,19,-12,28,-4v-1,13,-11,31,-31,28v11,49,-19,73,-74,73v-9,4,-4,14,7,15v41,4,91,-2,92,45v1,40,-46,73,-93,73v-33,0,-64,-16,-66,-43v-2,-24,27,-25,34,-36v-14,-6,-24,-16,-24,-30v0,-14,29,-13,33,-26v-26,-8,-37,-28,-37,-50xm82,-55v30,0,24,-81,-6,-81v-11,0,-19,11,-19,32v0,35,11,49,25,49xm42,38v0,22,25,34,49,34v29,0,40,-13,40,-26v0,-26,-43,-28,-69,-28v-14,0,-20,13,-20,20","w":170,"k":{"A":-13,"B":-6,"D":-6,"E":-6,"F":-6,"H":-6,"I":-6,"K":-6,"L":-6,"N":-6,"P":-6,"R":-6,"J":-48,"M":-7,"C":-11,"G":-11,"O":-11,"Q":-11,"T":17,"V":8,"W":1,"X":-9,"Y":15,"Z":-6,"a":6,"b":3,",":-11,"f":-1,"g":1,"-":6,"i":-1,"j":-5,"h":1,"k":1,"l":1,"c":5,"d":5,"e":5,"o":5,"q":5,"p":-6,".":2,"\"":-7,"'":-7,"s":2,":":-12,";":-12,"t":-2,"v":-7,"w":-10,"x":-12,"y":-7,")":-3,"]":-3,"}":-3,"?":-3}},"h":{"d":"119,-29v3,-49,8,-109,-45,-89v0,40,-17,103,17,107v2,2,0,10,-1,12v-14,-1,-72,-1,-84,0v-2,-3,-2,-11,0,-12v33,-2,20,-46,20,-83v0,-72,-1,-98,-2,-108v-1,-10,-11,-11,-21,-13v-2,-1,-1,-10,0,-11v28,-1,60,-9,70,-13v4,13,-4,73,-1,108v12,-3,33,-21,47,-18v55,-7,47,75,47,126v1,8,12,11,20,12v2,20,-13,11,-44,11v-15,0,-30,0,-39,1v-8,-19,20,-7,16,-30","w":191,"k":{"C":2,"G":2,"O":2,"Q":2,"T":28,"U":6,"V":31,"W":22,"Y":28,"a":3,",":1,"!":1,"g":3,"-":1,"j":1,"c":1,"d":1,"e":1,"o":1,"q":1,"\"":13,"'":13,"t":2,"u":2,"v":8,"w":5,"y":7,")":17,"]":17,"}":17,"?":1}},"i":{"d":"94,-11v1,1,1,10,-1,12v-10,-1,-73,-1,-86,0v-1,-2,-1,-11,0,-12v36,2,14,-57,20,-98v-2,-11,-5,-11,-17,-17v-1,-2,-1,-10,0,-11v8,0,46,-5,64,-13r0,120v0,18,8,16,20,19xm26,-205v11,-10,51,-14,47,10v2,17,-18,30,-37,24v-10,-3,-16,-20,-10,-34","w":99,"k":{"A":-4,"U":1,"X":-4,"Z":-6,"a":2,"b":-2,",":-2,"g":1,"j":1,"p":-1,".":-3,"\"":-3,"'":-3,"s":-1,":":-6,";":-6,"x":-6,"z":-2,")":6,"]":6,"}":6}},"j":{"d":"27,-205v9,-11,52,-17,47,9v2,19,-19,28,-36,25v-12,-6,-17,-20,-11,-34xm76,-37v8,63,-40,118,-62,125v-7,-1,-15,-3,-13,-11v46,-11,21,-137,26,-185v1,-12,-10,-16,-22,-18v-1,-3,-1,-12,0,-13v24,-1,56,-5,71,-10r0,112","w":99,"k":{"J":-18,"U":1,"a":4,",":5,"!":1,"j":2,"c":1,"d":1,"e":1,"o":1,"q":1,".":6,"\"":-2,"'":-2,":":-1,";":-1,"x":-1,"z":3,")":8,"]":8,"}":8,"?":2}},"k":{"d":"117,-122v1,-13,-32,-3,-21,-22v23,0,55,-1,74,-3v1,1,2,11,0,13v-29,6,-45,27,-59,45v6,12,41,59,54,70v6,6,9,7,23,8v6,21,-30,11,-49,14v-38,-4,-40,-47,-67,-71v1,24,-8,59,21,57v1,2,0,11,-2,12v-13,-1,-70,-1,-85,0v-2,-2,-2,-11,0,-12v31,1,20,-42,20,-74v0,-95,-1,-110,-1,-117v0,-11,-10,-12,-20,-14v-1,-2,-1,-11,0,-12v23,-1,57,-7,69,-11v1,24,-4,112,-2,161v18,-4,44,-36,45,-44","w":180,"k":{"S":-7,"T":13,"U":4,"V":13,"W":9,"Y":16,"Z":-16,"a":-1,"b":1,",":-10,"f":-3,"g":-1,"-":9,"i":-4,"j":-3,"c":4,"d":4,"e":4,"o":4,"q":4,".":-12,"\"":-3,"'":-3,"s":-6,":":-9,";":-9,"u":6,"v":10,"w":6,"x":-9,"y":9,"z":-6,")":4,"]":4,"}":4,"?":2}},"l":{"d":"6,1v-1,-2,-2,-10,0,-12v35,-2,13,-67,20,-106v-3,-56,5,-73,-7,-94v-3,-1,-9,-2,-15,-3v-1,-1,-1,-9,0,-11v19,-2,57,-9,69,-14r0,211v-1,15,9,14,21,17v1,21,-12,11,-48,11v-21,0,-34,1,-40,1","w":97,"k":{"A":-4,"U":1,"X":-4,"Z":-6,"a":2,"b":-2,",":-2,"g":1,"j":1,"p":-1,".":-3,"\"":-3,"'":-3,"s":-1,":":-6,";":-6,"x":-6,"z":-2,")":6,"]":6,"}":6}},"m":{"d":"95,-120v-8,1,-21,4,-21,12v0,27,1,55,1,81v-1,14,7,14,18,16v1,1,-1,10,-2,12r-83,0v-1,-3,-1,-11,0,-12v35,2,15,-69,19,-96v-2,-10,-7,-11,-18,-17v-1,-2,1,-10,2,-11v24,-1,53,-16,64,-13v1,2,-4,20,1,22v36,-30,62,-32,85,1v43,-35,94,-35,99,34v2,30,-15,78,21,80v1,2,0,10,-1,12r-83,0v-8,-17,19,-9,15,-30v2,-50,8,-108,-46,-83v5,29,-4,72,6,96v4,3,8,4,14,5v1,1,1,11,-1,12r-82,0v-1,-2,-1,-10,0,-12v10,-1,18,-4,17,-15v-3,-46,14,-89,-25,-94","w":285,"k":{"C":2,"G":2,"O":2,"Q":2,"T":28,"U":6,"V":31,"W":22,"Y":28,"a":3,",":1,"!":1,"g":3,"-":1,"j":1,"c":1,"d":1,"e":1,"o":1,"q":1,"\"":13,"'":13,"t":2,"u":2,"v":8,"w":5,"y":7,")":17,"]":17,"}":17,"?":1}},"n":{"d":"93,-120v-5,0,-20,2,-20,10v0,23,1,64,1,84v0,15,7,12,18,15v1,1,0,10,-1,12r-83,0v-1,-2,-1,-10,0,-12v29,0,15,-44,19,-72v-2,-26,7,-32,-18,-41v0,-3,1,-9,2,-11v22,-3,49,-10,61,-16v4,6,-2,20,3,24v40,-40,97,-21,93,40v4,28,-14,75,20,76v1,20,-11,11,-43,11v-20,0,-28,1,-40,1v-7,-17,16,-10,15,-25v-1,-28,13,-101,-27,-96","w":192,"k":{"C":2,"G":2,"O":2,"Q":2,"T":28,"U":6,"V":31,"W":22,"Y":28,"a":3,",":1,"!":1,"g":3,"-":1,"j":1,"c":1,"d":1,"e":1,"o":1,"q":1,"\"":13,"'":13,"t":2,"u":2,"v":8,"w":5,"y":7,")":17,"]":17,"}":17,"?":1}},"o":{"d":"13,-73v0,-46,33,-75,83,-76v50,0,78,33,78,75v0,49,-33,78,-82,78v-55,0,-79,-34,-79,-77xm99,-10v42,-4,24,-136,-11,-125v-43,7,-21,138,11,125","w":187,"k":{"A":2,"B":3,"D":3,"E":3,"F":3,"H":3,"I":3,"K":3,"L":3,"N":3,"P":3,"R":3,"J":1,"M":2,"T":26,"U":5,"V":28,"W":18,"X":4,"Y":32,"Z":2,"a":3,"b":2,",":11,"!":5,"-":-4,"m":1,"n":1,"r":1,".":12,"\"":11,"'":11,"u":1,"v":4,"w":3,"x":3,"y":3,"z":2,")":20,"]":20,"}":20}},"p":{"d":"176,-84v0,62,-57,88,-104,90v2,28,-10,69,32,63v1,7,-1,15,-11,12v-35,0,-60,1,-92,5v-1,-2,-2,-11,-1,-13v14,-3,25,-3,25,-22v0,-26,1,-131,-1,-156v1,-12,-10,-14,-20,-16v-1,-2,-1,-10,0,-12v17,-3,50,-13,65,-20v8,2,-1,20,5,24v15,-10,33,-20,47,-20v33,0,55,34,55,65xm102,-13v41,-7,35,-112,-12,-107v-33,-6,-15,53,-18,80v-3,14,18,29,30,27","w":189,"k":{"A":2,"B":3,"D":3,"E":3,"F":3,"H":3,"I":3,"K":3,"L":3,"N":3,"P":3,"R":3,"J":1,"M":2,"T":26,"U":5,"V":28,"W":18,"X":4,"Y":32,"Z":2,"a":3,"b":2,",":11,"!":5,"-":-4,"m":1,"n":1,"r":1,".":12,"\"":11,"'":11,"u":1,"v":4,"w":3,"x":3,"y":3,"z":2,")":20,"]":20,"}":20}},"q":{"d":"170,-141v-10,36,-3,151,-4,185v0,25,9,22,28,24v1,1,0,12,-1,13v-33,-1,-85,3,-102,4v-1,-2,-1,-11,0,-12v37,5,26,-52,26,-83v-49,32,-104,10,-104,-58v0,-71,87,-95,157,-73xm117,-23v-1,-67,17,-107,-28,-109v-13,0,-27,10,-27,47v0,50,26,69,55,62","w":189,"k":{"X":-4,"?":5,"!":2,"J":-44,"T":17,"U":3,"V":14,"W":7,"Y":21,"a":1,",":-10,".":4,"\"":2,"'":2,")":-9,"]":-9,"}":-9}},"r":{"d":"72,-121v13,-12,45,-45,63,-17v1,14,-7,36,-21,42v-10,-12,-32,-25,-41,-7v6,42,-16,95,29,92v1,1,0,10,-2,12v-11,-1,-76,-1,-94,0v-1,-2,-1,-11,0,-12v36,4,16,-59,20,-99v0,-4,-2,-9,-18,-15v0,-2,1,-9,2,-10v14,-1,47,-8,61,-16v5,2,0,24,1,30","w":135,"k":{"C":-8,"G":-8,"O":-8,"Q":-8,"T":13,"V":7,"W":1,"X":6,"Y":10,"Z":3,"a":4,"b":-1,",":11,"f":-4,"-":3,"i":-4,"j":-8,"h":1,"k":1,"l":1,"m":-3,"n":-3,"r":-3,"c":3,"d":3,"e":3,"o":3,"q":3,"p":-7,".":14,"\"":-9,"'":-9,"t":-8,"u":-7,"v":-13,"w":-16,"x":-12,"y":-14,"z":-5,")":10,"]":10,"}":10}},"s":{"d":"24,-52v8,26,16,41,43,42v28,-5,21,-27,-4,-38v-37,-17,-48,-31,-48,-53v0,-40,55,-57,104,-44v-3,13,-3,28,-4,43v-2,1,-11,2,-12,1v-4,-21,-10,-34,-31,-35v-10,0,-18,7,-18,15v0,10,3,18,35,30v65,24,35,95,-27,95v-19,0,-34,-3,-45,-7v1,-14,-16,-53,7,-49","w":137,"k":{"B":1,"D":1,"E":1,"F":1,"H":1,"I":1,"K":1,"L":1,"N":1,"P":1,"R":1,"T":19,"U":3,"V":13,"W":8,"Y":23,"Z":1,"b":3,",":-1,"f":1,"-":-4,"j":2,"h":3,"k":3,"l":3,"m":3,"n":3,"r":3,"c":1,"d":1,"e":1,"o":1,"q":1,"\"":6,"'":6,"s":1,":":-1,";":-1,"t":2,"u":3,"v":2,"w":-3,"x":-3,"z":2,")":13,"]":13,"}":13}},"t":{"d":"110,-15v-29,33,-98,25,-86,-38v-1,-22,3,-50,-2,-69v-5,-1,-12,-1,-17,-2v0,-3,2,-12,3,-15v6,-2,15,-1,16,-6r0,-31v18,-3,32,-19,49,-20v0,6,-5,35,0,52v8,0,29,-1,39,-1v-1,6,-4,17,-4,23v-12,1,-29,-3,-37,2v3,41,-17,117,39,92v1,2,1,10,0,13","w":115,"k":{"A":-9,"T":5,"U":3,"V":8,"X":-4,"Y":12,"a":4,"b":4,",":-3,"g":3,"-":3,"c":5,"d":5,"e":5,"o":5,"q":5,"p":-4,"\"":-6,"'":-6,":":-1,";":-1,"t":3,"v":-4,"w":-6,"x":-12,"y":-6,"z":-3,")":8,"]":8,"}":8}},"u":{"d":"95,-26v36,-7,16,-23,20,-88v1,-13,-13,-13,-25,-15v-1,-4,0,-10,1,-12v31,0,61,-4,72,-6r-1,110v-1,14,9,14,22,13v0,3,-1,10,-2,12v-16,4,-59,23,-65,14v-2,-4,0,-20,-4,-20v-30,33,-90,29,-89,-23r0,-71v1,-14,-8,-15,-19,-17v-1,-3,0,-10,1,-12v16,-1,49,-2,67,-6v-1,11,-2,29,-2,65v0,38,-5,51,24,56","w":187,"k":{"A":-3,"T":25,"U":3,"V":18,"W":9,"X":-3,"Y":21,",":-3,"!":2,"f":-3,"p":-1,".":-2,"\"":3,"'":3,"v":2,"x":-8,")":9,"]":9,"}":9}},"v":{"d":"-3,-133v-1,-3,1,-11,2,-12r85,0v1,2,1,10,0,12v-6,2,-16,1,-15,8v5,14,20,54,28,73v9,-15,21,-49,26,-64v5,-17,-9,-13,-20,-17v-5,-19,15,-10,34,-11v11,0,25,-1,33,-1v1,1,0,10,-1,12v-16,3,-20,4,-27,21r-47,113v-6,-1,-20,-1,-26,0v-11,-32,-24,-67,-38,-98v-15,-35,-12,-30,-34,-36","w":164,"k":{"A":11,"B":1,"D":1,"E":1,"F":1,"H":1,"I":1,"K":1,"L":1,"N":1,"P":1,"R":1,"M":1,"C":-8,"G":-8,"O":-8,"Q":-8,"S":-2,"T":16,"U":1,"V":3,"X":11,"Y":13,"Z":5,"a":4,"b":-3,",":26,"!":-2,"f":-6,"-":5,"i":-5,"j":-13,"h":-4,"k":-4,"l":-4,"m":-4,"n":-4,"r":-4,"c":4,"d":4,"e":4,"o":4,"q":4,"p":-10,".":23,"\"":-14,"'":-14,"t":-10,"u":-5,"v":-5,"w":-7,"x":-5,"y":-6,"z":-6,")":5,"]":5,"}":5,"?":-3}},"w":{"d":"-6,-133v-1,-3,0,-11,1,-12v16,1,70,1,88,0v2,1,2,10,1,12v-10,2,-16,4,-15,10v5,11,12,59,21,68v8,-18,24,-61,29,-82v5,1,20,1,24,0v7,22,27,74,34,84v6,-14,15,-47,20,-64v4,-13,-12,-15,-25,-16v-2,-19,12,-9,38,-11v12,0,26,-1,34,-1v1,1,1,11,0,12v-16,3,-22,6,-28,21v-11,26,-34,92,-41,113v-6,-1,-21,-1,-27,0v-8,-22,-25,-73,-32,-79v-6,15,-24,56,-32,79v-5,-1,-21,-1,-26,0v-8,-30,-23,-77,-33,-105v-7,-23,-10,-26,-31,-29","w":236,"k":{"A":11,"B":1,"D":1,"E":1,"F":1,"H":1,"I":1,"K":1,"L":1,"N":1,"P":1,"R":1,"M":1,"C":-8,"G":-8,"O":-8,"Q":-8,"S":-2,"T":16,"U":1,"V":3,"X":11,"Y":13,"Z":5,"a":4,"b":-3,",":26,"!":-2,"f":-6,"-":5,"i":-5,"j":-13,"h":-4,"k":-4,"l":-4,"m":-4,"n":-4,"r":-4,"c":4,"d":4,"e":4,"o":4,"q":4,"p":-10,".":23,"\"":-14,"'":-14,"t":-10,"u":-5,"v":-5,"w":-7,"x":-5,"y":-6,"z":-6,")":5,"]":5,"}":5,"?":-3}},"x":{"d":"63,-11v0,2,0,10,-1,12v-16,-1,-54,-1,-67,0v-1,-2,-2,-11,-1,-12v33,-3,51,-37,63,-56v-19,-22,-21,-62,-59,-65v-6,-23,17,-9,46,-12v27,3,47,-11,42,12v-5,0,-14,3,-11,8v5,8,10,24,18,28v10,-16,21,-23,14,-34v-3,-1,-7,-2,-12,-2v0,-3,0,-12,1,-13v15,7,72,-14,61,13v-36,3,-38,30,-56,48v15,28,31,73,62,73v0,2,-1,11,-2,12v-16,-1,-75,-1,-86,0v-1,-2,-2,-10,-1,-12v25,-5,0,-24,-7,-40v-17,18,-35,37,-4,40","w":156,"k":{"x":-14,"v":-3,"b":-4,"X":-5,"A":-5,"B":-1,"D":-1,"E":-1,"F":-1,"H":-1,"I":-1,"K":-1,"L":-1,"N":-1,"P":-1,"R":-1,"C":-3,"G":-3,"O":-3,"Q":-3,"S":-6,"T":19,"U":2,"V":7,"W":3,"Y":13,"Z":-16,"a":-5,",":-11,"f":-7,"g":-2,"-":5,"i":-4,"j":-6,"h":-5,"k":-5,"l":-5,"m":-5,"n":-5,"r":-5,"c":1,"d":1,"e":1,"o":1,"q":1,"p":-6,".":-12,"\"":-5,"'":-5,"s":-8,":":-9,";":-9,"t":-5,"u":-3,"w":-4,"y":-3,"z":-9,")":3,"]":3,"}":3}},"y":{"d":"86,-133v-7,1,-14,3,-13,10v7,16,20,62,29,69v9,-32,33,-58,16,-75v-4,-2,-8,-3,-16,-4v0,-4,0,-11,1,-12v18,1,48,1,68,0v1,2,1,9,0,12v-17,4,-20,5,-28,25v-24,67,-61,133,-92,191v-9,2,-31,-3,-29,-17v13,-14,38,-45,50,-69v-13,-24,-24,-56,-40,-92v-14,-32,-12,-33,-37,-38v-2,-23,18,-11,49,-11v21,0,32,-1,42,-1v1,2,0,9,0,12","w":163,"k":{"A":10,"B":1,"D":1,"E":1,"F":1,"H":1,"I":1,"K":1,"L":1,"N":1,"P":1,"R":1,"M":1,"C":-8,"G":-8,"O":-8,"Q":-8,"S":-2,"T":13,"U":1,"V":3,"X":9,"Y":12,"Z":5,"a":3,"b":-4,",":22,"!":-3,"f":-9,"-":5,"i":-8,"j":-10,"h":-3,"k":-3,"l":-3,"m":-6,"n":-6,"r":-6,"c":3,"d":3,"e":3,"o":3,"q":3,"p":-10,".":24,"\"":-17,"'":-17,"s":-2,"t":-12,"u":-6,"v":-6,"w":-3,"x":-7,"y":-8,"z":-8,")":12,"]":12,"}":12,"?":-1}},"z":{"d":"146,-51v1,12,-7,53,-26,53v-24,0,-92,-2,-108,-2v-1,-2,-2,-6,-2,-7v21,-35,56,-89,70,-120v-29,-4,-46,-9,-59,32v-2,1,-11,-1,-13,-3v4,-17,8,-37,10,-50v30,8,80,3,116,3v3,28,-51,94,-63,129v38,2,41,12,63,-33v2,-2,8,-2,12,-2","w":150,"k":{"A":-9,"T":21,"U":3,"V":13,"W":8,"X":-4,"Y":23,"b":3,",":-1,"!":2,"f":-2,"g":1,"-":-4,"h":-1,"k":-1,"l":-1,"c":3,"d":3,"e":3,"o":3,"q":3,"p":1,"\"":2,"'":2,"s":-1,":":-4,";":-4,"u":2,"v":-1,"x":-6,"y":-1,"z":1,")":6,"]":6,"}":6,"?":1}},"{":{"d":"21,-106v54,0,34,-48,33,-88v0,-49,33,-71,80,-75v1,1,2,11,1,13v-101,12,10,129,-85,157v65,10,41,61,40,108v0,33,25,41,48,44v1,1,-2,12,-3,13v-51,2,-88,-27,-76,-92v7,-38,10,-61,-41,-68v-1,-2,1,-11,3,-12","w":156,"k":{"A":2,"J":-35,"C":13,"G":13,"O":13,"Q":13,"T":2,"Y":-4,"Z":3,"b":-4,"i":7,"j":-6,"h":-2,"k":-2,"l":-2,"c":14,"d":14,"e":14,"o":14,"q":14,"p":-5,"s":13,"t":11,"u":11,"v":12,"x":2,"y":4,"f":11,"m":14,"n":14,"r":14,"z":13,"B":4,"D":4,"E":4,"F":4,"H":4,"I":4,"K":4,"L":4,"N":4,"P":4,"R":4,"a":12}},"|":{"d":"39,-256r29,0r0,368r-29,0r0,-368","w":106},"}":{"d":"100,-211v1,45,-27,103,39,106v0,2,-1,10,-3,12v-53,-1,-33,46,-33,85v0,49,-33,71,-80,75v-1,-1,-2,-11,-1,-12v100,-11,-11,-128,85,-154r0,-2v-66,-9,-40,-61,-41,-109v0,-33,-24,-42,-47,-45v-1,-3,1,-11,2,-12v37,-1,79,15,79,56","w":156},"~":{"d":"16,-62v-1,-31,34,-44,56,-49v16,-3,46,20,64,20v11,0,26,-5,41,-23v0,0,3,0,4,1v1,31,-25,45,-55,49v-15,2,-44,-22,-65,-20v-16,-2,-37,26,-45,22","w":196},"'":{"d":"53,-236v3,36,3,95,-27,98v0,-31,-4,-75,-8,-85v4,-2,27,-18,35,-13","w":72,"k":{"A":35,"J":-9,"M":-5,"C":5,"G":5,"O":5,"Q":5,"S":3,"T":-10,"U":-11,"V":-21,"W":-26,"X":-14,"Y":-22,"Z":-9,"b":-16,"i":-3,"j":-7,"h":-13,"k":-13,"l":-13,"c":15,"d":15,"e":15,"o":15,"q":15,"p":-2,"s":17,"t":-3,"u":-2,"v":-9,"x":-8,"y":-7,"g":13,"m":8,"n":8,"r":8,".":12,"z":8,"B":-5,"D":-5,"E":-5,"F":-5,"H":-5,"I":-5,"K":-5,"L":-5,"N":-5,"P":-5,"R":-5,"a":10,"w":-7}},"`":{"d":"68,-219v2,4,14,45,17,56v-1,1,-9,5,-11,5v-6,-11,-46,-43,-42,-58v4,-2,32,-4,36,-3","w":144},"\u00a0":{"w":63}}});
//MooTools, <http://mootools.net>, My Object Oriented (JavaScript) Tools. Copyright (c) 2006-2009 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

var MooTools={version:"1.2.2",build:"f0491d62fbb7e906789aa3733d6a67d43e5af7c9"};var Native=function(k){k=k||{};var a=k.name;var i=k.legacy;var b=k.protect;
var c=k.implement;var h=k.generics;var f=k.initialize;var g=k.afterImplement||function(){};var d=f||i;h=h!==false;d.constructor=Native;d.$family={name:"native"};
if(i&&f){d.prototype=i.prototype;}d.prototype.constructor=d;if(a){var e=a.toLowerCase();d.prototype.$family={name:e};Native.typize(d,e);}var j=function(n,l,o,m){if(!b||m||!n.prototype[l]){n.prototype[l]=o;
}if(h){Native.genericize(n,l,b);}g.call(n,l,o);return n;};d.alias=function(n,l,o){if(typeof n=="string"){if((n=this.prototype[n])){return j(this,l,n,o);
}}for(var m in n){this.alias(m,n[m],l);}return this;};d.implement=function(m,l,o){if(typeof m=="string"){return j(this,m,l,o);}for(var n in m){j(this,n,m[n],l);
}return this;};if(c){d.implement(c);}return d;};Native.genericize=function(b,c,a){if((!a||!b[c])&&typeof b.prototype[c]=="function"){b[c]=function(){var d=Array.prototype.slice.call(arguments);
return b.prototype[c].apply(d.shift(),d);};}};Native.implement=function(d,c){for(var b=0,a=d.length;b<a;b++){d[b].implement(c);}};Native.typize=function(a,b){if(!a.type){a.type=function(c){return($type(c)===b);
};}};(function(){var a={Array:Array,Date:Date,Function:Function,Number:Number,RegExp:RegExp,String:String};for(var h in a){new Native({name:h,initialize:a[h],protect:true});
}var d={"boolean":Boolean,"native":Native,object:Object};for(var c in d){Native.typize(d[c],c);}var f={Array:["concat","indexOf","join","lastIndexOf","pop","push","reverse","shift","slice","sort","splice","toString","unshift","valueOf"],String:["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","valueOf"]};
for(var e in f){for(var b=f[e].length;b--;){Native.genericize(window[e],f[e][b],true);}}})();var Hash=new Native({name:"Hash",initialize:function(a){if($type(a)=="hash"){a=$unlink(a.getClean());
}for(var b in a){this[b]=a[b];}return this;}});Hash.implement({forEach:function(b,c){for(var a in this){if(this.hasOwnProperty(a)){b.call(c,this[a],a,this);
}}},getClean:function(){var b={};for(var a in this){if(this.hasOwnProperty(a)){b[a]=this[a];}}return b;},getLength:function(){var b=0;for(var a in this){if(this.hasOwnProperty(a)){b++;
}}return b;}});Hash.alias("forEach","each");Array.implement({forEach:function(c,d){for(var b=0,a=this.length;b<a;b++){c.call(d,this[b],b,this);}}});Array.alias("forEach","each");
function $A(b){if(b.item){var a=b.length,c=new Array(a);while(a--){c[a]=b[a];}return c;}return Array.prototype.slice.call(b);}function $arguments(a){return function(){return arguments[a];
};}function $chk(a){return !!(a||a===0);}function $clear(a){clearTimeout(a);clearInterval(a);return null;}function $defined(a){return(a!=undefined);}function $each(c,b,d){var a=$type(c);
((a=="arguments"||a=="collection"||a=="array")?Array:Hash).each(c,b,d);}function $empty(){}function $extend(c,a){for(var b in (a||{})){c[b]=a[b];}return c;
}function $H(a){return new Hash(a);}function $lambda(a){return(typeof a=="function")?a:function(){return a;};}function $merge(){var a=Array.slice(arguments);
a.unshift({});return $mixin.apply(null,a);}function $mixin(e){for(var d=1,a=arguments.length;d<a;d++){var b=arguments[d];if($type(b)!="object"){continue;
}for(var c in b){var g=b[c],f=e[c];e[c]=(f&&$type(g)=="object"&&$type(f)=="object")?$mixin(f,g):$unlink(g);}}return e;}function $pick(){for(var b=0,a=arguments.length;
b<a;b++){if(arguments[b]!=undefined){return arguments[b];}}return null;}function $random(b,a){return Math.floor(Math.random()*(a-b+1)+b);}function $splat(b){var a=$type(b);
return(a)?((a!="array"&&a!="arguments")?[b]:b):[];}var $time=Date.now||function(){return +new Date;};function $try(){for(var b=0,a=arguments.length;b<a;
b++){try{return arguments[b]();}catch(c){}}return null;}function $type(a){if(a==undefined){return false;}if(a.$family){return(a.$family.name=="number"&&!isFinite(a))?false:a.$family.name;
}if(a.nodeName){switch(a.nodeType){case 1:return"element";case 3:return(/\S/).test(a.nodeValue)?"textnode":"whitespace";}}else{if(typeof a.length=="number"){if(a.callee){return"arguments";
}else{if(a.item){return"collection";}}}}return typeof a;}function $unlink(c){var b;switch($type(c)){case"object":b={};for(var e in c){b[e]=$unlink(c[e]);
}break;case"hash":b=new Hash(c);break;case"array":b=[];for(var d=0,a=c.length;d<a;d++){b[d]=$unlink(c[d]);}break;default:return c;}return b;}var Browser=$merge({Engine:{name:"unknown",version:0},Platform:{name:(window.orientation!=undefined)?"ipod":(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime),query:!!(document.querySelector)},Plugins:{},Engines:{presto:function(){return(!window.opera)?false:((arguments.callee.caller)?960:((document.getElementsByClassName)?950:925));
},trident:function(){return(!window.ActiveXObject)?false:((window.XMLHttpRequest)?5:4);},webkit:function(){return(navigator.taintEnabled)?false:((Browser.Features.xpath)?((Browser.Features.query)?525:420):419);
},gecko:function(){return(document.getBoxObjectFor==undefined)?false:((document.getElementsByClassName)?19:18);}}},Browser||{});Browser.Platform[Browser.Platform.name]=true;
Browser.detect=function(){for(var b in this.Engines){var a=this.Engines[b]();if(a){this.Engine={name:b,version:a};this.Engine[b]=this.Engine[b+a]=true;
break;}}return{name:b,version:a};};Browser.detect();Browser.Request=function(){return $try(function(){return new XMLHttpRequest();},function(){return new ActiveXObject("MSXML2.XMLHTTP");
});};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var a=($try(function(){return navigator.plugins["Shockwave Flash"].description;
},function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");})||"0 r0").match(/\d+/g);return{version:parseInt(a[0]||0+"."+a[1],10)||0,build:parseInt(a[2],10)||0};
})();function $exec(b){if(!b){return b;}if(window.execScript){window.execScript(b);}else{var a=document.createElement("script");a.setAttribute("type","text/javascript");
a[(Browser.Engine.webkit&&Browser.Engine.version<420)?"innerText":"text"]=b;document.head.appendChild(a);document.head.removeChild(a);}return b;}Native.UID=1;
var $uid=(Browser.Engine.trident)?function(a){return(a.uid||(a.uid=[Native.UID++]))[0];}:function(a){return a.uid||(a.uid=Native.UID++);};var Window=new Native({name:"Window",legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(a){$uid(a);
if(!a.Element){a.Element=$empty;if(Browser.Engine.webkit){a.document.createElement("iframe");}a.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{};
}a.document.window=a;return $extend(a,Window.Prototype);},afterImplement:function(b,a){window[b]=Window.Prototype[b]=a;}});Window.Prototype={$family:{name:"window"}};
new Window(window);var Document=new Native({name:"Document",legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(a){$uid(a);a.head=a.getElementsByTagName("head")[0];
a.html=a.getElementsByTagName("html")[0];if(Browser.Engine.trident&&Browser.Engine.version<=4){$try(function(){a.execCommand("BackgroundImageCache",false,true);
});}if(Browser.Engine.trident){a.window.attachEvent("onunload",function(){a.window.detachEvent("onunload",arguments.callee);a.head=a.html=a.window=null;
});}return $extend(a,Document.Prototype);},afterImplement:function(b,a){document[b]=Document.Prototype[b]=a;}});Document.Prototype={$family:{name:"document"}};
new Document(document);Array.implement({every:function(c,d){for(var b=0,a=this.length;b<a;b++){if(!c.call(d,this[b],b,this)){return false;}}return true;
},filter:function(d,e){var c=[];for(var b=0,a=this.length;b<a;b++){if(d.call(e,this[b],b,this)){c.push(this[b]);}}return c;},clean:function(){return this.filter($defined);
},indexOf:function(c,d){var a=this.length;for(var b=(d<0)?Math.max(0,a+d):d||0;b<a;b++){if(this[b]===c){return b;}}return -1;},map:function(d,e){var c=[];
for(var b=0,a=this.length;b<a;b++){c[b]=d.call(e,this[b],b,this);}return c;},some:function(c,d){for(var b=0,a=this.length;b<a;b++){if(c.call(d,this[b],b,this)){return true;
}}return false;},associate:function(c){var d={},b=Math.min(this.length,c.length);for(var a=0;a<b;a++){d[c[a]]=this[a];}return d;},link:function(c){var a={};
for(var e=0,b=this.length;e<b;e++){for(var d in c){if(c[d](this[e])){a[d]=this[e];delete c[d];break;}}}return a;},contains:function(a,b){return this.indexOf(a,b)!=-1;
},extend:function(c){for(var b=0,a=c.length;b<a;b++){this.push(c[b]);}return this;},getLast:function(){return(this.length)?this[this.length-1]:null;},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null;
},include:function(a){if(!this.contains(a)){this.push(a);}return this;},combine:function(c){for(var b=0,a=c.length;b<a;b++){this.include(c[b]);}return this;
},erase:function(b){for(var a=this.length;a--;a){if(this[a]===b){this.splice(a,1);}}return this;},empty:function(){this.length=0;return this;},flatten:function(){var d=[];
for(var b=0,a=this.length;b<a;b++){var c=$type(this[b]);if(!c){continue;}d=d.concat((c=="array"||c=="collection"||c=="arguments")?Array.flatten(this[b]):this[b]);
}return d;},hexToRgb:function(b){if(this.length!=3){return null;}var a=this.map(function(c){if(c.length==1){c+=c;}return c.toInt(16);});return(b)?a:"rgb("+a+")";
},rgbToHex:function(d){if(this.length<3){return null;}if(this.length==4&&this[3]==0&&!d){return"transparent";}var b=[];for(var a=0;a<3;a++){var c=(this[a]-0).toString(16);
b.push((c.length==1)?"0"+c:c);}return(d)?b:"#"+b.join("");}});Function.implement({extend:function(a){for(var b in a){this[b]=a[b];}return this;},create:function(b){var a=this;
b=b||{};return function(d){var c=b.arguments;c=(c!=undefined)?$splat(c):Array.slice(arguments,(b.event)?1:0);if(b.event){c=[d||window.event].extend(c);
}var e=function(){return a.apply(b.bind||null,c);};if(b.delay){return setTimeout(e,b.delay);}if(b.periodical){return setInterval(e,b.periodical);}if(b.attempt){return $try(e);
}return e();};},run:function(a,b){return this.apply(b,$splat(a));},pass:function(a,b){return this.create({bind:b,arguments:a});},bind:function(b,a){return this.create({bind:b,arguments:a});
},bindWithEvent:function(b,a){return this.create({bind:b,arguments:a,event:true});},attempt:function(a,b){return this.create({bind:b,arguments:a,attempt:true})();
},delay:function(b,c,a){return this.create({bind:c,arguments:a,delay:b})();},periodical:function(c,b,a){return this.create({bind:b,arguments:a,periodical:c})();
}});Number.implement({limit:function(b,a){return Math.min(a,Math.max(b,this));},round:function(a){a=Math.pow(10,a||0);return Math.round(this*a)/a;},times:function(b,c){for(var a=0;
a<this;a++){b.call(c,a,this);}},toFloat:function(){return parseFloat(this);},toInt:function(a){return parseInt(this,a||10);}});Number.alias("times","each");
(function(b){var a={};b.each(function(c){if(!Number[c]){a[c]=function(){return Math[c].apply(null,[this].concat($A(arguments)));};}});Number.implement(a);
})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]);String.implement({test:function(a,b){return((typeof a=="string")?new RegExp(a,b):a).test(this);
},contains:function(a,b){return(b)?(b+this+b).indexOf(b+a+b)>-1:this.indexOf(a)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,"");},clean:function(){return this.replace(/\s+/g," ").trim();
},camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return("-"+a.charAt(0).toLowerCase());
});},capitalize:function(){return this.replace(/\b[a-z]/g,function(a){return a.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1");
},toInt:function(a){return parseInt(this,a||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(b){var a=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return(a)?a.slice(1).hexToRgb(b):null;},rgbToHex:function(b){var a=this.match(/\d{1,3}/g);return(a)?a.rgbToHex(b):null;},stripScripts:function(b){var a="";
var c=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){a+=arguments[1]+"\n";return"";});if(b===true){$exec(a);}else{if($type(b)=="function"){b(a,c);
}}return c;},substitute:function(a,b){return this.replace(b||(/\\?\{([^{}]+)\}/g),function(d,c){if(d.charAt(0)=="\\"){return d.slice(1);}return(a[c]!=undefined)?a[c]:"";
});}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(b){for(var a in this){if(this.hasOwnProperty(a)&&this[a]===b){return a;}}return null;
},hasValue:function(a){return(Hash.keyOf(this,a)!==null);},extend:function(a){Hash.each(a,function(c,b){Hash.set(this,b,c);},this);return this;},combine:function(a){Hash.each(a,function(c,b){Hash.include(this,b,c);
},this);return this;},erase:function(a){if(this.hasOwnProperty(a)){delete this[a];}return this;},get:function(a){return(this.hasOwnProperty(a))?this[a]:null;
},set:function(a,b){if(!this[a]||this.hasOwnProperty(a)){this[a]=b;}return this;},empty:function(){Hash.each(this,function(b,a){delete this[a];},this);
return this;},include:function(a,b){if(this[a]==undefined){this[a]=b;}return this;},map:function(b,c){var a=new Hash;Hash.each(this,function(e,d){a.set(d,b.call(c,e,d,this));
},this);return a;},filter:function(b,c){var a=new Hash;Hash.each(this,function(e,d){if(b.call(c,e,d,this)){a.set(d,e);}},this);return a;},every:function(b,c){for(var a in this){if(this.hasOwnProperty(a)&&!b.call(c,this[a],a)){return false;
}}return true;},some:function(b,c){for(var a in this){if(this.hasOwnProperty(a)&&b.call(c,this[a],a)){return true;}}return false;},getKeys:function(){var a=[];
Hash.each(this,function(c,b){a.push(b);});return a;},getValues:function(){var a=[];Hash.each(this,function(b){a.push(b);});return a;},toQueryString:function(a){var b=[];
Hash.each(this,function(f,e){if(a){e=a+"["+e+"]";}var d;switch($type(f)){case"object":d=Hash.toQueryString(f,e);break;case"array":var c={};f.each(function(h,g){c[g]=h;
});d=Hash.toQueryString(c,e);break;default:d=e+"="+encodeURIComponent(f);}if(f!=undefined){b.push(d);}});return b.join("&");}});Hash.alias({keyOf:"indexOf",hasValue:"contains"});
function Class(b){if(b instanceof Function){b={initialize:b};}var a=function(){Object.reset(this);if(a._prototyping){return this;}this._current=$empty;
var c=(this.initialize)?this.initialize.apply(this,arguments):this;delete this._current;delete this.caller;return c;}.extend(this);a.implement(b);a.constructor=Class;
a.prototype.constructor=a;return a;}Function.prototype.protect=function(){this._protected=true;return this;};Object.reset=function(a,c){if(c==null){for(var e in a){Object.reset(a,e);
}return a;}delete a[c];switch($type(a[c])){case"object":var d=function(){};d.prototype=a[c];var b=new d;a[c]=Object.reset(b);break;case"array":a[c]=$unlink(a[c]);
break;}return a;};new Native({name:"Class",initialize:Class}).extend({instantiate:function(b){b._prototyping=true;var a=new b;delete b._prototyping;return a;
},wrap:function(a,b,c){if(c._origin){c=c._origin;}return function(){if(c._protected&&this._current==null){throw new Error('The method "'+b+'" cannot be called.');
}var e=this.caller,f=this._current;this.caller=f;this._current=arguments.callee;var d=c.apply(this,arguments);this._current=f;this.caller=e;return d;}.extend({_owner:a,_origin:c,_name:b});
}});Class.implement({implement:function(a,d){if($type(a)=="object"){for(var e in a){this.implement(e,a[e]);}return this;}var f=Class.Mutators[a];if(f){d=f.call(this,d);
if(d==null){return this;}}var c=this.prototype;switch($type(d)){case"function":if(d._hidden){return this;}c[a]=Class.wrap(this,a,d);break;case"object":var b=c[a];
if($type(b)=="object"){$mixin(b,d);}else{c[a]=$unlink(d);}break;case"array":c[a]=$unlink(d);break;default:c[a]=d;}return this;}});Class.Mutators={Extends:function(a){this.parent=a;
this.prototype=Class.instantiate(a);this.implement("parent",function(){var b=this.caller._name,c=this.caller._owner.parent.prototype[b];if(!c){throw new Error('The method "'+b+'" has no parent.');
}return c.apply(this,arguments);}.protect());},Implements:function(a){$splat(a).each(function(b){if(b instanceof Function){b=Class.instantiate(b);}this.implement(b);
},this);}};
$(document).ready(function() {

   //TODO: for datetime/timestamp, use:
   //date_obj_time = "'"+date_obj_hours+":"+date_obj_mins+date_obj_am_pm+"'";
   //$("#entry_date").datepicker({dateFormat: $.datepicker.W3C + date_obj_time});
    
   if ($.datepicker) {
       $.datepicker.setDefaults({ dateFormat: 'yy-mm-dd' });
       shData.trDate(document);
   }
});
$(window).load(function() {
     var cH = $('#content').outerHeight();
     var sH = $('#sidebar').outerHeight();
     
     if (sH>cH) {
        $('#content').height(sH);
     } else {
        $('#sidebar').height(cH-60);
     }
     
});

$(document).ready(function() {

    //Cufon for H2
    $('#content h2:not(#content h1 + h2)').css({'font-family':'"Arno Pro", "Times New Roman",Times,serif','font-weight':'normal'});
    Cufon.replace('#content h2:not(#content h1 + h2)');
    
    //Cufon for menu items
    $('#menu li').css('font-family','"Arno Pro", "Times New Roman",Times,serif');
    Cufon.replace('#menu li',{hover:false});

    $('#content h1 + h2').each(function() {
	var a = $(this).text().split(' ');
	if (a.length>1) {
	    //Emphasise first word
	    var html = '<em>'+a[0]+'</em>';
	    
	    //Wrap the rest in a span
	    a.shift();
	    html = html+' <span>'+a.join(' ')+'</span>';
	    $(this).html(html);
	}
    });

    $('#content h1').each(function(){
	var $h1 = $(this);
	var title = $h1.text();
	var titleChar = title.charAt(0).toUpperCase();
	var charImg = root_url+'assets/css/letters/'+titleChar+'.jpg';

	var Img = new Image();

	$(Img).load(function() {
	    $h1.css({height: Img.height, 'line-height':Img.height+'px',
		'background':'url('+charImg+') no-repeat top left'});
	}).attr('src',charImg);
    });

})
String.prototype.nl2br = function(br) {
	return this.replace( /\r\n|\r|\n/g, br || '');
};
/**
 * @author Vincent Weevers <vw@vanduik.nl>
 * @see http://rafael.adm.br/css_browser_selector/
 * @todo credits
 * @todo fixin class: objects are never destroyed?
 * @todo use live events, to account for new elements
 */

function css_browser_selector(u)
{
	var ua = u.toLowerCase();
	is = function(t){
		return ua.indexOf(t)>-1;
	};
	g='gecko',
	w='webkit',
	s='safari',
	h=document.getElementsByTagName('html')[0],
	b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3')?g+' ff3':is('gecko/')?g:/opera(\s|\/)(\d+)/.test(ua)?'opera opera'+RegExp.$2:is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js'];
	c = b.join(' ');
	h.className += ' '+c;
	return b; //original returned c, not b
}

aBClasses = css_browser_selector(navigator.userAgent);
aBrowserClasses = [];

for(var i = 0, len = aBClasses.length; i<len; i++) {
	var a = aBClasses[i].split(' ');
	for(var j=0, aLen = a.length; j<aLen; j++) {
		aBrowserClasses[a[j]] = true;
	}
}

Fixer = new Class({
	immediateRun : true,
	initialize: function(selector, rules){
	    this.selector = selector;
	    this.rules = rules;
	    if (typeof Fixer.uniqid == 'undefined') Fixer.uniqid = 1;
	    if (typeof Fixer.instances == 'undefined') Fixer.instances = [];
	    this.uniqid = Fixer.uniqid++;
	    Fixer.instances[this.uniqid] = this;
	    if (this.immediateRun) this.run();
    },
	run : function() {
		
	},
	globalMethodRef : function (method) {
		return 'Fixer.instances['+this.uniqid+'].'+method+'()';
	},
	callDelayed : function(method,ms) {
		setTimeout(this.globalMethodRef(method),ms);
	},
	destroy : function() {
		delete Fixer.instances[this.uniqid];
	}
});

Fixer.fixers = [];
Fixer.addFixer = function(name,obj) {
	Fixer.fixers[name] = obj;
}
Fixer.runFixer = function(name, selector, rules) {
	if (typeof Fixer.fixers[name] != 'undefined' && typeof selector == 'string' && typeof rules == 'object') {
		new Fixer.fixers[name](selector,rules);
	}
}
Fixer.addFixer('pseudo-selector_focus',new Class({
	Extends: Fixer,
	run: function() {
		this.parent();

		var self = this;

		var defaultrules = {};
		for(var rule in self.rules) {
		    defaultrules[rule] = $(self.selector).css(rule);
		}
		
		$(document).ready(function(){
			$(self.selector).focus(function(){
				$(this).css(self.rules);
			});
			$(self.selector).blur(function() {
				$(this).css(defaultrules);
			});
		});
	}
}));



Fixer.addFixer('doubled-float-margin',new Class({
	Extends: Fixer,
	run: function() {
		this.parent();
		var self = this;
		$(document).ready(function(){
			$(self.selector).css('display','inline');
			$(self.selector).parent().css('zoom','1'); //peekaboo bug
			//see http://www.positioniseverything.net/explorer/doubled-margin.html
		});
		this.destroy();
	}
}));
Fixer.addFixer('pseudo-selector_hover',new Class({
	Extends: Fixer,
	run: function() {
		this.parent();

		var self = this;

		var defaultrules = {};
		for(var rule in self.rules) {
		    defaultrules[rule] = $(self.selector).css(rule);
		}
		
		$(document).ready(function(){
		    $(self.selector).filter(':not(a)').hover(function(){
			$(this).css(self.rules);
		    },function() {
			$(this).css(defaultrules);
		    });
		});
	}
}));



Fixer.addFixer('unsupported-selector',new Class({
	Extends: Fixer,
	run: function() {
		this.parent();
		var self = this;
		$(document).ready(function(){
			$(self.selector).css(self.rules);
		});
		this.destroy();
	}
}));
Fixer.addFixer('nth-child',new Class({
	Extends: Fixer,
	run: function() {
		this.parent();
		var self = this;
		$(document).ready(function(){
			$(self.selector).css(self.rules);
		});
		this.destroy();
	}
}));
Fixer.addFixer('img-align',new Class({
	Extends: Fixer,
	run: function() {
		this.parent();
		$(document).ready(function() {
			$('img[align=left],img[align=right]').each(function() {
				$(this).css('float',$(this).attr('align'));
			});
		});
	}
}));
if (aBrowserClasses['ie6'] || aBrowserClasses['ie7']) {
	Fixer.runFixer('pseudo-selector_focus','',{"outline":"0"});
	Fixer.runFixer('img-align','',[]);
}
if (aBrowserClasses['ie6']) {
	Fixer.runFixer('doubled-float-margin','#menu li',[]);
	Fixer.runFixer('pseudo-selector_hover','#menu li',{"background":"url(menu_over.jpg) no-repeat","height":"30px","z-index":"50"});
	Fixer.runFixer('doubled-float-margin','label',[]);
	Fixer.runFixer('unsupported-selector','label + textarea',{"clear":"both"});
	Fixer.runFixer('unsupported-selector','label + input',{"margin-left":"160px"});
	Fixer.runFixer('unsupported-selector','input[type=submit]',{"margin-top":"1em","font-weight":"700","padding":"2px"});
	Fixer.runFixer('pseudo-selector_hover','input[type=submit]',{"background-color":"#ccc"});
	Fixer.runFixer('doubled-float-margin','#content img',[]);
	Fixer.runFixer('unsupported-selector','#content img[align=right]',{"float":"right","margin-left":"20px"});
	Fixer.runFixer('doubled-float-margin','#content img[align=right]',[]);
	Fixer.runFixer('unsupported-selector','#content p > img',{"max-width":"100%"});
	Fixer.runFixer('unsupported-selector','#content img + img',{"clear":"none"});
	Fixer.runFixer('unsupported-selector','#content p + p',{"text-indent":"3px","margin-bottom":"15px"});
	Fixer.runFixer('doubled-float-margin','#content p img.inlist',[]);
	Fixer.runFixer('unsupported-selector','#content h1:first-child + h2 + p,#content h1:first-child + p',{"color":"#000","font-weight":"700","text-align":"justify","font-size":"13px","line-height":"24px","margin-bottom":"20px","padding":"0"});
	Fixer.runFixer('doubled-float-margin','#content h1',[]);
	Fixer.runFixer('unsupported-selector','#content h1 + h2',{"line-height":"88px","height":"60px","border-bottom":"1px solid #ccc","color":"#ccc","font-family":"\"Times New Roman\"","text-transform":"uppercase","font-weight":"400","font-size":"13px","clear":"none","float":"none","font-variant":"normal","margin":"0","padding":"0"});
	Fixer.runFixer('doubled-float-margin','#content h1 + h2',[]);
	Fixer.runFixer('unsupported-selector','#content h1 + h2:first-letter',{"font-size":"13px"});
	Fixer.runFixer('unsupported-selector','#content h1+h2 em',{"text-transform":"lowercase","font-size":"17px","float":"left","margin-right":"4px"});
	Fixer.runFixer('doubled-float-margin','#content h1+h2 em',[]);
	Fixer.runFixer('doubled-float-margin','#content h2 span',[]);
	Fixer.runFixer('doubled-float-margin','#content h2',[]);
	Fixer.runFixer('unsupported-selector','#content h2 + h3',{"line-height":"88px","height":"60px","border-bottom":"1px solid #ccc","color":"#666","font-family":"\"Times New Roman\"","font-weight":"400","font-size":"14px","margin-bottom":"3em","clear":"none","float":"none","padding":"0"});
	Fixer.runFixer('doubled-float-margin','#content h2 + h3',[]);
	Fixer.runFixer('doubled-float-margin','#disqus_thread label',[]);
}
if (aBrowserClasses['ie'] || aBrowserClasses['gecko'] || aBrowserClasses['webkit'] || aBrowserClasses['opera']) {
	Fixer.runFixer('nth-child','#content p + p:last-of-type',{"text-indent":"0"});
	Fixer.runFixer('nth-child','#content p:nth-of-type(1),#content h1 + p,#content h2 + p,#content h3 + p,#content h1 + p,#content h2 + p,#disqus_thread',{"clear":"both"});
}

