var hljs=new function(){var G=["css","xml","html"];var B=(G.join(",")+","+["1c","axapta","delphi","rib","rsl","vbscript","profile","dos","bash","lisp","smalltalk","mel"].join(",")).split(",");var D={xml:"www",html:"www",css:"www",django:"www",python:"dynamic",perl:"dynamic",php:"dynamic",ruby:"dynamic",cpp:"static",java:"static",delphi:"static",cs:"static",rib:"renderman",rsl:"renderman"};var J={};var N={};function L(S){return S.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function H(U,T){if(!U){return false}for(var S in U){if(U[S]==T){return true}}return false}function E(f,h){function g(q,r){q.sub_modes=[];for(var p in q.contains){for(var e in r.modes){if(r.modes[e].className==q.contains[p]){q.sub_modes[q.sub_modes.length]=r.modes[e]}}}}function U(e,q){if(!q.contains){return null}if(!q.sub_modes){g(q,i)}for(var p=0;p<q.sub_modes.length;p++){if(q.sub_modes[p].beginRe.test(e)){return q.sub_modes[p]}}return null}function Z(p,e){if(S[p].end&&S[p].endRe.test(e)){return 1}if(S[p].endsWithParent){var q=Z(p-1,e);return q?q+1:0}return 0}function a(e,p){return p.illegalRe&&p.illegalRe.test(e)}function o(u,v){var p=[];function t(w){if(!H(p,w)){p[p.length]=w}}if(u.contains){for(var s in v.modes){if(H(u.contains,v.modes[s].className)){t(v.modes[s].begin)}}}var q=S.length-1;do{if(S[q].end){t(S[q].end)}q--}while(S[q+1].endsWithParent);if(u.illegal){t(u.illegal)}var e="("+p[0];for(var r=0;r<p.length;r++){e+="|"+p[r]}e+=")";return C(v,e)}function T(q,p){var r=S[S.length-1];if(!r.terminators){r.terminators=o(r,i)}q=q.substr(p);var e=r.terminators.exec(q);if(!e){return[q,"",true]}if(e.index==0){return["",e[0],false]}else{return[q.substr(0,e.index),e[0],false]}}function d(s,e){var q=i.case_insensitive?e[0].toLowerCase():e[0];for(var p in s.keywordGroups){var r=s.keywordGroups[p].hasOwnProperty(q);if(r){return[p,r]}}return false}function j(p,u){if(!u.keywords||!u.lexems){return L(p)}if(!u.lexemsRe){var t="("+u.lexems[0];for(var r=1;r<u.lexems.length;r++){t+="|"+u.lexems[r]}t+=")";u.lexemsRe=C(i,t,true)}var e="";var s=0;u.lexemsRe.lastIndex=0;var q=u.lexemsRe.exec(p);while(q){e+=L(p.substr(s,q.index-s));keyword_match=d(u,q);if(keyword_match){b+=keyword_match[1];e+='<span class="'+keyword_match[0]+'">'+L(q[0])+"</span>"}else{e+=L(q[0])}s=u.lexemsRe.lastIndex;q=u.lexemsRe.exec(p)}e+=L(p.substr(s,p.length-s));return e}function n(p,q){if(q.subLanguage&&N[q.subLanguage]){var e=E(q.subLanguage,p);b+=e.keyword_count;X+=e.relevance;return e.value}else{return j(p,q)}}function m(p,e){if(p.returnBegin){c+='<span class="'+p.className+'">';p.buffer=""}else{if(p.excludeBegin){c+=L(e)+'<span class="'+p.className+'">';p.buffer=""}else{c+='<span class="'+p.className+'">';p.buffer=e}}S[S.length]=p}function k(r,q,p){var u=S[S.length-1];if(p){c+=n(u.buffer+r,u);return false}var s=U(q,u);if(s){c+=n(u.buffer+r,u);m(s,q);X+=s.relevance;return s.returnBegin}var e=Z(S.length-1,q);if(e){if(u.returnEnd){c+=n(u.buffer+r,u)+"</span>"}else{if(u.excludeEnd){c+=n(u.buffer+r,u)+"</span>"+L(q)}else{c+=n(u.buffer+r+q,u)+"</span>"}}while(e>1){c+="</span>";e--;S.length--}S.length--;S[S.length-1].buffer="";if(u.starts){for(var t=0;t<i.modes.length;t++){if(i.modes[t].className==u.starts){m(i.modes[t],"");break}}}return u.returnEnd}if(a(q,u)){throw"Illegal"}}var i=J[f];var S=[i.defaultMode];var X=0;var b=0;var c="";try{var Y=0;i.defaultMode.buffer="";do{var V=T(h,Y);var W=k(V[0],V[1],V[2]);Y+=V[0].length;if(!W){Y+=V[1].length}}while(!V[2]);if(S.length>1){throw"Illegal"}return{relevance:X,keyword_count:b,value:c}}catch(l){if(l=="Illegal"){return{relevance:0,keyword_count:0,value:L(h)}}else{throw l}}}function F(U){var S="";for(var T=0;T<U.childNodes.length;T++){if(U.childNodes[T].nodeType==3){S+=U.childNodes[T].nodeValue}else{if(U.childNodes[T].nodeName=="BR"){S+="\n"}else{throw"No highlight"}}}return S}function Q(U){var T=U.className.split(/\s+/);for(var S=0;S<T.length;S++){if(T[S]=="no-highlight"){throw"No highlight"}if(J[T[S]]){return T[S]}}}function O(U){try{var b=F(U);var X=Q(U)}catch(Y){if(Y=="No highlight"){return }}if(X){var d=E(X,b).value}else{var c=2;var W=0;for(var a in N){var S=E(a,b);W=S.keyword_count+S.relevance;if(W>c){c=W;var d=S.value;X=a}}}if(d){var Z=U.className;if(!Z.match(X)){Z+=" "+X}var T=document.createElement("div");T.innerHTML='<pre><code class="'+Z+'">'+d+"</code></pre>";var V=U.parentNode.parentNode;V.replaceChild(T.firstChild,U.parentNode)}}function C(V,T,S){var U="m"+(V.case_insensitive?"i":"")+(S?"g":"");return new RegExp(T,U)}function P(){for(var T in J){var U=J[T];for(var S in U.modes){if(U.modes[S].begin){U.modes[S].beginRe=C(U,"^"+U.modes[S].begin)}if(U.modes[S].end){U.modes[S].endRe=C(U,"^"+U.modes[S].end)}if(U.modes[S].illegal){U.modes[S].illegalRe=C(U,"^(?:"+U.modes[S].illegal+")")}U.defaultMode.illegalRe=C(U,"^(?:"+U.defaultMode.illegal+")");if(U.modes[S].relevance==undefined){U.modes[S].relevance=1}}}}function I(){function S(X){if(!X.keywordGroups){for(var W in X.keywords){if(X.keywords[W] instanceof Object){X.keywordGroups=X.keywords}else{X.keywordGroups={keyword:X.keywords}}break}}}for(var U in J){var V=J[U];S(V.defaultMode);for(var T in V.modes){S(V.modes[T])}}}function K(T){for(var S=0;S<T.childNodes.length;S++){node=T.childNodes[S];if(node.nodeName=="CODE"){return node}if(!(node.nodeType==3&&node.nodeValue.match(/\s+/))){return null}}}function M(){if(M.called){return }M.called=true;P();I();if(arguments.length){for(var S=0;S<arguments.length;S++){if(J[arguments[S]]){N[arguments[S]]=J[arguments[S]]}}}else{N=J}var U=document.getElementsByTagName("pre");for(var S=0;S<U.length;S++){var T=K(U[S]);if(T){O(T)}}}function R(W){var S=document.getElementsByTagName("SCRIPT");for(var U=0;U<S.length;U++){if(S[U].src.match(/highlight\.js(\?.+)?$/)){var V=S[U].src.replace(/highlight\.js(\?.+)?$/,"");break}}if(W.length==0){W=G}var T={};document.write('<script type="text/javascript" src="'+V+'www.js"><\/script>')}function A(){var S=arguments;R(arguments);var T=function(){M.apply(null,S)};if(window.addEventListener){window.addEventListener("DOMContentLoaded",T,false);window.addEventListener("load",T,false)}else{if(window.attachEvent){window.attachEvent("onload",T)}else{window.onload=T}}}this.LANGUAGES=J;this.ALL_LANGUAGES=B;this.initHighlightingOnLoad=A;this.highlightBlock=O;this.IDENT_RE="[a-zA-Z][a-zA-Z0-9_]*";this.UNDERSCORE_IDENT_RE="[a-zA-Z_][a-zA-Z0-9_]*";this.NUMBER_RE="\\b\\d+(\\.\\d+)?";this.C_NUMBER_RE="\\b(0x[A-Za-z0-9]+|\\d+(\\.\\d+)?)";this.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:["escape"],relevance:0};this.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:["escape"],relevance:0};this.BACKSLASH_ESCAPE={className:"escape",begin:"\\\\.",end:"^",relevance:0};this.C_LINE_COMMENT_MODE={className:"comment",begin:"//",end:"$",relevance:0};this.C_BLOCK_COMMENT_MODE={className:"comment",begin:"/\\*",end:"\\*/"};this.HASH_COMMENT_MODE={className:"comment",begin:"#",end:"$"};this.C_NUMBER_MODE={className:"number",begin:this.C_NUMBER_RE,end:"^",relevance:0}}();var initHighlightingOnLoad=hljs.initHighlightingOnLoad;