????JFIF??x?x????'
Server IP : 104.21.64.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/tempvsty/./pontiacques.org/wp-content/plugins/soliloquy-lite/assets/js/min/ |
Upload File : |
// CodeMirror base. (function(a){if(typeof exports=="object"&&typeof module=="object"){module.exports=a()}else{if(typeof define=="function"&&define.amd){return define([],a)}else{this.CodeMirror=a()}}})(function(){var ce=/gecko\/\d/i.test(navigator.userAgent);var eo=/MSIE \d/.test(navigator.userAgent);var b1=eo&&(document.documentMode==null||document.documentMode<8);var bY=eo&&(document.documentMode==null||document.documentMode<9);var bX=eo&&(document.documentMode==null||document.documentMode<10);var by=/Trident\/([7-9]|\d{2,})\./.test(navigator.userAgent);var dn=eo||by;var cJ=/WebKit\//.test(navigator.userAgent);var dr=cJ&&/Qt\/\d+\.\d+/.test(navigator.userAgent);var cV=/Chrome\//.test(navigator.userAgent);var dF=/Opera\//.test(navigator.userAgent);var ay=/Apple Computer/.test(navigator.vendor);var a1=/KHTML\//.test(navigator.userAgent);var cP=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent);var e5=/PhantomJS/.test(navigator.userAgent);var eD=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent);var dS=eD||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent);var bU=eD||/Mac/.test(navigator.platform);var aG=/win/i.test(navigator.platform);var aO=dF&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);if(aO){aO=Number(aO[1])}if(aO&&aO>=15){dF=false;cJ=true}var bF=bU&&(dr||dF&&(aO==null||aO<12.11));var fE=ce||(dn&&!bY);var fH=false,aX=false;function I(fO,fP){if(!(this instanceof I)){return new I(fO,fP)}this.options=fP=fP||{};aE(eF,fP,false);b4(fP);var fR=fP.value;if(typeof fR=="string"){fR=new ao(fR,fP.mode)}this.doc=fR;var fQ=this.display=new em(fO,fR);fQ.wrapper.CodeMirror=this;dO(this);cB(this);if(fP.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(fP.autofocus&&!dS){ed(this)}this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,draggingText:false,highlight:new fM()};if(eo){setTimeout(cl(eZ,this,true),20)}fp(this);a8();var fN=this;cz(this,function(){fN.curOp.forceUpdate=true;dN(fN,fR);if((fP.autofocus&&!dS)||ds()==fQ.input){setTimeout(cl(cq,fN),20)}else{aL(fN)}for(var fT in a4){if(a4.hasOwnProperty(fT)){a4[fT](fN,fP[fT],b2)}}for(var fS=0;fS<aY.length;++fS){aY[fS](fN)}})}function em(fN,fP){var fQ=this;var fO=fQ.input=fw("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none");if(cJ){fO.style.width="1000px"}else{fO.setAttribute("wrap","off")}if(eD){fO.style.border="1px solid black"}fO.setAttribute("autocorrect","off");fO.setAttribute("autocapitalize","off");fO.setAttribute("spellcheck","false");fQ.inputDiv=fw("div",[fO],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");fQ.scrollbarH=fw("div",[fw("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");fQ.scrollbarV=fw("div",[fw("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");fQ.scrollbarFiller=fw("div",null,"CodeMirror-scrollbar-filler");fQ.gutterFiller=fw("div",null,"CodeMirror-gutter-filler");fQ.lineDiv=fw("div",null,"CodeMirror-code");fQ.selectionDiv=fw("div",null,null,"position: relative; z-index: 1");fQ.cursorDiv=fw("div",null,"CodeMirror-cursors");fQ.measure=fw("div",null,"CodeMirror-measure");fQ.lineMeasure=fw("div",null,"CodeMirror-measure");fQ.lineSpace=fw("div",[fQ.measure,fQ.lineMeasure,fQ.selectionDiv,fQ.cursorDiv,fQ.lineDiv],null,"position: relative; outline: none");fQ.mover=fw("div",[fw("div",[fQ.lineSpace],"CodeMirror-lines")],null,"position: relative");fQ.sizer=fw("div",[fQ.mover],"CodeMirror-sizer");fQ.heightForcer=fw("div",null,null,"position: absolute; height: "+ba+"px; width: 1px;");fQ.gutters=fw("div",null,"CodeMirror-gutters");fQ.lineGutter=null;fQ.scroller=fw("div",[fQ.sizer,fQ.heightForcer,fQ.gutters],"CodeMirror-scroll");fQ.scroller.setAttribute("tabIndex","-1");fQ.wrapper=fw("div",[fQ.inputDiv,fQ.scrollbarH,fQ.scrollbarV,fQ.scrollbarFiller,fQ.gutterFiller,fQ.scroller],"CodeMirror");if(b1){fQ.gutters.style.zIndex=-1;fQ.scroller.style.paddingRight=0}if(eD){fO.style.width="0px"}if(!cJ){fQ.scroller.draggable=true}if(a1){fQ.inputDiv.style.height="1px";fQ.inputDiv.style.position="absolute"}if(b1){fQ.scrollbarH.style.minHeight=fQ.scrollbarV.style.minWidth="18px"}if(fN.appendChild){fN.appendChild(fQ.wrapper)}else{fN(fQ.wrapper)}fQ.viewFrom=fQ.viewTo=fP.first;fQ.view=[];fQ.externalMeasured=null;fQ.viewOffset=0;fQ.lastSizeC=0;fQ.updateLineNumbers=null;fQ.lineNumWidth=fQ.lineNumInnerWidth=fQ.lineNumChars=null;fQ.prevInput="";fQ.alignWidgets=false;fQ.pollingFast=false;fQ.poll=new fM();fQ.cachedCharWidth=fQ.cachedTextHeight=fQ.cachedPaddingH=null;fQ.inaccurateSelection=false;fQ.maxLine=null;fQ.maxLineLength=0;fQ.maxLineChanged=false;fQ.wheelDX=fQ.wheelDY=fQ.wheelStartX=fQ.wheelStartY=null;fQ.shift=false;fQ.selForContextMenu=null}function bh(fN){fN.doc.mode=I.getMode(fN.options,fN.doc.modeOption);dX(fN)}function dX(fN){fN.doc.iter(function(fO){if(fO.stateAfter){fO.stateAfter=null}if(fO.styles){fO.styles=null}});fN.doc.frontier=fN.doc.first;dR(fN,100);fN.state.modeGen++;if(fN.curOp){af(fN)}}function ek(fN){if(fN.options.lineWrapping){fb(fN.display.wrapper,"CodeMirror-wrap");fN.display.sizer.style.minWidth=""}else{g(fN.display.wrapper,"CodeMirror-wrap");h(fN)}X(fN);af(fN);ai(fN);setTimeout(function(){eB(fN)},100)}function a3(fN){var fP=aN(fN.display),fO=fN.options.lineWrapping;var fQ=fO&&Math.max(5,fN.display.scroller.clientWidth/di(fN.display)-3);return function(fS){if(e7(fN.doc,fS)){return 0}var fR=0;if(fS.widgets){for(var fT=0;fT<fS.widgets.length;fT++){if(fS.widgets[fT].height){fR+=fS.widgets[fT].height}}}if(fO){return fR+(Math.ceil(fS.text.length/fQ)||1)*fP}else{return fR+fP}}}function X(fN){var fP=fN.doc,fO=a3(fN);fP.iter(function(fQ){var fR=fO(fQ);if(fR!=fQ.height){fA(fQ,fR)}})}function fK(fN){var fP=eK[fN.options.keyMap],fO=fP.style;fN.display.wrapper.className=fN.display.wrapper.className.replace(/\s*cm-keymap-\S+/g,"")+(fO?" cm-keymap-"+fO:"")}function cB(fN){fN.display.wrapper.className=fN.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+fN.options.theme.replace(/(^|\s)\s*/g," cm-s-");ai(fN)}function db(fN){dO(fN);af(fN);setTimeout(function(){ei(fN)},20)}function dO(fN){var fO=fN.display.gutters,fS=fN.options.gutters;dE(fO);for(var fP=0;fP<fS.length;++fP){var fQ=fS[fP];var fR=fO.appendChild(fw("div",null,"CodeMirror-gutter "+fQ));if(fQ=="CodeMirror-linenumbers"){fN.display.lineGutter=fR;fR.style.width=(fN.display.lineNumWidth||1)+"px"}}fO.style.display=fP?"":"none";cN(fN)}function cN(fN){var fO=fN.display.gutters.offsetWidth;fN.display.sizer.style.marginLeft=fO+"px";fN.display.scrollbarH.style.left=fN.options.fixedGutter?fO+"px":0}function dY(fP){if(fP.height==0){return 0}var fO=fP.text.length,fN,fR=fP;while(fN=er(fR)){var fQ=fN.find(0,true);fR=fQ.from.line;fO+=fQ.from.ch-fQ.to.ch}fR=fP;while(fN=d7(fR)){var fQ=fN.find(0,true);fO-=fR.text.length-fQ.from.ch;fR=fQ.to.line;fO+=fR.text.length-fQ.to.ch}return fO}function h(fN){var fP=fN.display,fO=fN.doc;fP.maxLine=eP(fO,fO.first);fP.maxLineLength=dY(fP.maxLine);fP.maxLineChanged=true;fO.iter(function(fR){var fQ=dY(fR);if(fQ>fP.maxLineLength){fP.maxLineLength=fQ;fP.maxLine=fR}})}function b4(fN){var fO=c1(fN.gutters,"CodeMirror-linenumbers");if(fO==-1&&fN.lineNumbers){fN.gutters=fN.gutters.concat(["CodeMirror-linenumbers"])}else{if(fO>-1&&!fN.lineNumbers){fN.gutters=fN.gutters.slice(0);fN.gutters.splice(fO,1)}}}function df(fO){var fN=fO.display.scroller;return{clientHeight:fN.clientHeight,barHeight:fO.display.scrollbarV.clientHeight,scrollWidth:fN.scrollWidth,clientWidth:fN.clientWidth,barWidth:fO.display.scrollbarH.clientWidth,docHeight:Math.round(fO.doc.height+bx(fO.display))}}function eB(fN,fS){if(!fS){fS=df(fN)}var fU=fN.display;var fR=fS.docHeight+ba;var fT=fS.scrollWidth>fS.clientWidth;var fP=fR>fS.clientHeight;if(fP){fU.scrollbarV.style.display="block";fU.scrollbarV.style.bottom=fT?l(fU.measure)+"px":"0";fU.scrollbarV.firstChild.style.height=Math.max(0,fR-fS.clientHeight+(fS.barHeight||fU.scrollbarV.clientHeight))+"px"}else{fU.scrollbarV.style.display="";fU.scrollbarV.firstChild.style.height="0"}if(fT){fU.scrollbarH.style.display="block";fU.scrollbarH.style.right=fP?l(fU.measure)+"px":"0";fU.scrollbarH.firstChild.style.width=(fS.scrollWidth-fS.clientWidth+(fS.barWidth||fU.scrollbarH.clientWidth))+"px"}else{fU.scrollbarH.style.display="";fU.scrollbarH.firstChild.style.width="0"}if(fT&&fP){fU.scrollbarFiller.style.display="block";fU.scrollbarFiller.style.height=fU.scrollbarFiller.style.width=l(fU.measure)+"px"}else{fU.scrollbarFiller.style.display=""}if(fT&&fN.options.coverGutterNextToScrollbar&&fN.options.fixedGutter){fU.gutterFiller.style.display="block";fU.gutterFiller.style.height=l(fU.measure)+"px";fU.gutterFiller.style.width=fU.gutters.offsetWidth+"px"}else{fU.gutterFiller.style.display=""}if(!fN.state.checkedOverlayScrollbar&&fS.clientHeight>0){if(l(fU.measure)===0){var fO=bU&&!cP?"12px":"18px";fU.scrollbarV.style.minWidth=fU.scrollbarH.style.minHeight=fO;var fQ=function(fV){if(L(fV)!=fU.scrollbarV&&L(fV)!=fU.scrollbarH){cL(fN,d5)(fV)}};bM(fU.scrollbarV,"mousedown",fQ);bM(fU.scrollbarH,"mousedown",fQ)}fN.state.checkedOverlayScrollbar=true}}function bT(fP,fT,fV){var fQ=fV&&fV.top!=null?fV.top:fP.scroller.scrollTop;fQ=Math.floor(fQ-eI(fP));var fN=fV&&fV.bottom!=null?fV.bottom:fQ+fP.wrapper.clientHeight;var fR=bv(fT,fQ),fS=bv(fT,fN);if(fV&&fV.ensure){var fO=fV.ensure.from.line,fU=fV.ensure.to.line;if(fO<fR){return{from:fO,to:bv(fT,bB(eP(fT,fO))+fP.wrapper.clientHeight)}}if(Math.min(fU,fT.lastLine())>=fS){return{from:bv(fT,bB(eP(fT,fU))-fP.wrapper.clientHeight),to:fU}}}return{from:fR,to:fS}}function ei(fV){var fT=fV.display,fU=fT.view;if(!fT.alignWidgets&&(!fT.gutters.firstChild||!fV.options.fixedGutter)){return}var fR=dA(fT)-fT.scroller.scrollLeft+fV.doc.scrollLeft;var fN=fT.gutters.offsetWidth,fO=fR+"px";for(var fQ=0;fQ<fU.length;fQ++){if(!fU[fQ].hidden){if(fV.options.fixedGutter&&fU[fQ].gutter){fU[fQ].gutter.style.left=fO}var fS=fU[fQ].alignable;if(fS){for(var fP=0;fP<fS.length;fP++){fS[fP].style.left=fO}}}}if(fV.options.fixedGutter){fT.gutters.style.left=(fR+fN)+"px"}}function dI(fN){if(!fN.options.lineNumbers){return false}var fS=fN.doc,fO=d4(fN.options,fS.first+fS.size-1),fR=fN.display;if(fO.length!=fR.lineNumChars){var fT=fR.measure.appendChild(fw("div",[fw("div",fO)],"CodeMirror-linenumber CodeMirror-gutter-elt"));var fP=fT.firstChild.offsetWidth,fQ=fT.offsetWidth-fP;fR.lineGutter.style.width="";fR.lineNumInnerWidth=Math.max(fP,fR.lineGutter.offsetWidth-fQ);fR.lineNumWidth=fR.lineNumInnerWidth+fQ;fR.lineNumChars=fR.lineNumInnerWidth?fO.length:-1;fR.lineGutter.style.width=fR.lineNumWidth+"px";cN(fN);return true}return false}function d4(fN,fO){return String(fN.lineNumberFormatter(fO+fN.firstLineNumber))}function dA(fN){return fN.scroller.getBoundingClientRect().left-fN.sizer.getBoundingClientRect().left}function dp(fS,fV,fW){var fU=fS.display.viewFrom,fT=fS.display.viewTo,fQ;var fN=bT(fS.display,fS.doc,fV);for(var fP=true;;fP=false){var fO=fS.display.scroller.clientWidth;if(!cZ(fS,fN,fW)){break}fQ=true;if(fS.display.maxLineChanged&&!fS.options.lineWrapping){b(fS)}var fR=df(fS);br(fS);de(fS,fR);eB(fS,fR);if(cJ&&fS.options.lineWrapping){fz(fS,fR)}if(fP&&fS.options.lineWrapping&&fO!=fS.display.scroller.clientWidth){fW=true;continue}fW=false;if(fV&&fV.top!=null){fV={top:Math.min(fR.docHeight-ba-fR.clientHeight,fV.top)}}fN=bT(fS.display,fS.doc,fV);if(fN.from>=fS.display.viewFrom&&fN.to<=fS.display.viewTo){break}}fS.display.updateLineNumbers=null;if(fQ){ac(fS,"update",fS);if(fS.display.viewFrom!=fU||fS.display.viewTo!=fT){ac(fS,"viewportChange",fS,fS.display.viewFrom,fS.display.viewTo)}}return fQ}function cZ(fX,fP,fY){var fR=fX.display,fW=fX.doc;if(!fR.wrapper.offsetWidth){d9(fX);return}if(!fY&&fP.from>=fR.viewFrom&&fP.to<=fR.viewTo&&cU(fX)==0){return}if(dI(fX)){d9(fX)}var fV=eM(fX);var fQ=fW.first+fW.size;var fU=Math.max(fP.from-fX.options.viewportMargin,fW.first);var fT=Math.min(fQ,fP.to+fX.options.viewportMargin);if(fR.viewFrom<fU&&fU-fR.viewFrom<20){fU=Math.max(fW.first,fR.viewFrom)}if(fR.viewTo>fT&&fR.viewTo-fT<20){fT=Math.min(fQ,fR.viewTo)}if(aX){fU=aM(fX.doc,fU);fT=dG(fX.doc,fT)}var fO=fU!=fR.viewFrom||fT!=fR.viewTo||fR.lastSizeC!=fR.wrapper.clientHeight;cD(fX,fU,fT);fR.viewOffset=bB(eP(fX.doc,fR.viewFrom));fX.display.mover.style.top=fR.viewOffset+"px";var fN=cU(fX);if(!fO&&fN==0&&!fY){return}var fS=ds();if(fN>4){fR.lineDiv.style.display="none"}cc(fX,fR.updateLineNumbers,fV);if(fN>4){fR.lineDiv.style.display=""}if(fS&&ds()!=fS&&fS.offsetHeight){fS.focus()}dE(fR.cursorDiv);dE(fR.selectionDiv);if(fO){fR.lastSizeC=fR.wrapper.clientHeight;dR(fX,400)}aZ(fX);return true}function b(fN){var fR=fN.display;var fP=dT(fN,fR.maxLine,fR.maxLine.text.length).left;fR.maxLineChanged=false;var fO=Math.max(0,fP+3);var fQ=Math.max(0,fR.sizer.offsetLeft+fO+ba-fR.scroller.clientWidth);fR.sizer.style.minWidth=fO+"px";if(fQ<fN.doc.scrollLeft){bt(fN,Math.min(fR.scroller.scrollLeft,fQ),true)}}function de(fN,fO){fN.display.sizer.style.minHeight=fN.display.heightForcer.style.top=fO.docHeight+"px";fN.display.gutters.style.height=Math.max(fO.docHeight,fO.clientHeight-ba)+"px"}function fz(fN,fO){if(fN.display.sizer.offsetWidth+fN.display.gutters.offsetWidth<fN.display.scroller.clientWidth-1){fN.display.sizer.style.minHeight=fN.display.heightForcer.style.top="0px";fN.display.gutters.style.height=fO.docHeight+"px"}}function aZ(fU){var fS=fU.display;var fO=fS.lineDiv.offsetTop;for(var fP=0;fP<fS.view.length;fP++){var fV=fS.view[fP],fW;if(fV.hidden){continue}if(b1){var fR=fV.node.offsetTop+fV.node.offsetHeight;fW=fR-fO;fO=fR}else{var fQ=fV.node.getBoundingClientRect();fW=fQ.bottom-fQ.top}var fT=fV.line.height-fW;if(fW<2){fW=aN(fS)}if(fT>0.001||fT<-0.001){fA(fV.line,fW);b0(fV.line);if(fV.rest){for(var fN=0;fN<fV.rest.length;fN++){b0(fV.rest[fN])}}}}}function b0(fN){if(fN.widgets){for(var fO=0;fO<fN.widgets.length;++fO){fN.widgets[fO].height=fN.widgets[fO].node.offsetHeight}}}function eM(fN){var fR=fN.display,fQ={},fP={};for(var fS=fR.gutters.firstChild,fO=0;fS;fS=fS.nextSibling,++fO){fQ[fN.options.gutters[fO]]=fS.offsetLeft;fP[fN.options.gutters[fO]]=fS.offsetWidth}return{fixedPos:dA(fR),gutterTotalWidth:fR.gutters.offsetWidth,gutterLeft:fQ,gutterWidth:fP,wrapperWidth:fR.wrapper.clientWidth}}function cc(fY,fP,fX){var fU=fY.display,f0=fY.options.lineNumbers;var fN=fU.lineDiv,fZ=fN.firstChild;function fT(f2){var f1=f2.nextSibling;if(cJ&&bU&&fY.display.currentWheelTarget==f2){f2.style.display="none"}else{f2.parentNode.removeChild(f2)}return f1}var fV=fU.view,fS=fU.viewFrom;for(var fQ=0;fQ<fV.length;fQ++){var fR=fV[fQ];if(fR.hidden){}else{if(!fR.node){var fO=aA(fY,fR,fS,fX);fN.insertBefore(fO,fZ)}else{while(fZ!=fR.node){fZ=fT(fZ)}var fW=f0&&fP!=null&&fP<=fS&&fR.lineNumber;if(fR.changes){if(c1(fR.changes,"gutter")>-1){fW=false}Z(fY,fR,fS,fX)}if(fW){dE(fR.lineNumber);fR.lineNumber.appendChild(document.createTextNode(d4(fY.options,fS)))}fZ=fR.node.nextSibling}}fS+=fR.size}while(fZ){fZ=fT(fZ)}}function Z(fN,fP,fR,fS){for(var fO=0;fO<fP.changes.length;fO++){var fQ=fP.changes[fO];if(fQ=="text"){eV(fN,fP)}else{if(fQ=="gutter"){cY(fN,fP,fR,fS)}else{if(fQ=="class"){dl(fP)}else{if(fQ=="widget"){al(fP,fS)}}}}}fP.changes=null}function fi(fN){if(fN.node==fN.text){fN.node=fw("div",null,null,"position: relative");if(fN.text.parentNode){fN.text.parentNode.replaceChild(fN.node,fN.text)}fN.node.appendChild(fN.text);if(b1){fN.node.style.zIndex=2}}return fN.node}function d6(fO){var fN=fO.bgClass?fO.bgClass+" "+(fO.line.bgClass||""):fO.line.bgClass;if(fN){fN+=" CodeMirror-linebackground"}if(fO.background){if(fN){fO.background.className=fN}else{fO.background.parentNode.removeChild(fO.background);fO.background=null}}else{if(fN){var fP=fi(fO);fO.background=fP.insertBefore(fw("div",null,fN),fP.firstChild)}}}function dy(fN,fO){var fP=fN.display.externalMeasured;if(fP&&fP.line==fO.line){fN.display.externalMeasured=null;fO.measure=fP.measure;return fP.built}return ev(fN,fO)}function eV(fN,fQ){var fO=fQ.text.className;var fP=dy(fN,fQ);if(fQ.text==fQ.node){fQ.node=fP.pre}fQ.text.parentNode.replaceChild(fP.pre,fQ.text);fQ.text=fP.pre;if(fP.bgClass!=fQ.bgClass||fP.textClass!=fQ.textClass){fQ.bgClass=fP.bgClass;fQ.textClass=fP.textClass;dl(fQ)}else{if(fO){fQ.text.className=fO}}}function dl(fO){d6(fO);if(fO.line.wrapClass){fi(fO).className=fO.line.wrapClass}else{if(fO.node!=fO.text){fO.node.className=""}}var fN=fO.textClass?fO.textClass+" "+(fO.line.textClass||""):fO.line.textClass;fO.text.className=fN||""}function cY(fV,fT,fS,fU){if(fT.gutter){fT.node.removeChild(fT.gutter);fT.gutter=null}var fQ=fT.line.gutterMarkers;if(fV.options.lineNumbers||fQ){var fO=fi(fT);var fR=fT.gutter=fO.insertBefore(fw("div",null,"CodeMirror-gutter-wrapper","position: absolute; left: "+(fV.options.fixedGutter?fU.fixedPos:-fU.gutterTotalWidth)+"px"),fT.text);if(fV.options.lineNumbers&&(!fQ||!fQ["CodeMirror-linenumbers"])){fT.lineNumber=fR.appendChild(fw("div",d4(fV.options,fS),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+fU.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+fV.display.lineNumInnerWidth+"px"))}if(fQ){for(var fP=0;fP<fV.options.gutters.length;++fP){var fN=fV.options.gutters[fP],fW=fQ.hasOwnProperty(fN)&&fQ[fN];if(fW){fR.appendChild(fw("div",[fW],"CodeMirror-gutter-elt","left: "+fU.gutterLeft[fN]+"px; width: "+fU.gutterWidth[fN]+"px"))}}}}}function al(fN,fQ){if(fN.alignable){fN.alignable=null}for(var fP=fN.node.firstChild,fO;fP;fP=fO){var fO=fP.nextSibling;if(fP.className=="CodeMirror-linewidget"){fN.node.removeChild(fP)}}e4(fN,fQ)}function aA(fN,fP,fQ,fR){var fO=dy(fN,fP);fP.text=fP.node=fO.pre;if(fO.bgClass){fP.bgClass=fO.bgClass}if(fO.textClass){fP.textClass=fO.textClass}dl(fP);cY(fN,fP,fQ,fR);e4(fP,fR);return fP.node}function e4(fO,fP){fB(fO.line,fO,fP,true);if(fO.rest){for(var fN=0;fN<fO.rest.length;fN++){fB(fO.rest[fN],fO,fP,false)}}}function fB(fV,fS,fU,fQ){if(!fV.widgets){return}var fN=fi(fS);for(var fP=0,fT=fV.widgets;fP<fT.length;++fP){var fR=fT[fP],fO=fw("div",[fR.node],"CodeMirror-linewidget");if(!fR.handleMouseEvents){fO.ignoreEvents=true}bu(fR,fO,fS,fU);if(fQ&&fR.above){fN.insertBefore(fO,fS.gutter||fS.text)}else{fN.appendChild(fO)}ac(fR,"redraw")}}function bu(fQ,fP,fN,fR){if(fQ.noHScroll){(fN.alignable||(fN.alignable=[])).push(fP);var fO=fR.wrapperWidth;fP.style.left=fR.fixedPos+"px";if(!fQ.coverGutter){fO-=fR.gutterTotalWidth;fP.style.paddingLeft=fR.gutterTotalWidth+"px"}fP.style.width=fO+"px"}if(fQ.coverGutter){fP.style.zIndex=5;fP.style.position="relative";if(!fQ.noHScroll){fP.style.marginLeft=-fR.gutterTotalWidth+"px"}}}var W=I.Pos=function(fN,fO){if(!(this instanceof W)){return new W(fN,fO)}this.line=fN;this.ch=fO};var b5=I.cmpPos=function(fO,fN){return fO.line-fN.line||fO.ch-fN.ch};function b9(fN){return W(fN.line,fN.ch)}function bn(fO,fN){return b5(fO,fN)<0?fN:fO}function am(fO,fN){return b5(fO,fN)<0?fO:fN}function fx(fN,fO){this.ranges=fN;this.primIndex=fO}fx.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(fN){if(fN==this){return true}if(fN.primIndex!=this.primIndex||fN.ranges.length!=this.ranges.length){return false}for(var fP=0;fP<this.ranges.length;fP++){var fO=this.ranges[fP],fQ=fN.ranges[fP];if(b5(fO.anchor,fQ.anchor)!=0||b5(fO.head,fQ.head)!=0){return false}}return true},deepCopy:function(){for(var fN=[],fO=0;fO<this.ranges.length;fO++){fN[fO]=new dB(b9(this.ranges[fO].anchor),b9(this.ranges[fO].head))}return new fx(fN,this.primIndex)},somethingSelected:function(){for(var fN=0;fN<this.ranges.length;fN++){if(!this.ranges[fN].empty()){return true}}return false},contains:function(fQ,fN){if(!fN){fN=fQ}for(var fP=0;fP<this.ranges.length;fP++){var fO=this.ranges[fP];if(b5(fN,fO.from())>=0&&b5(fQ,fO.to())<=0){return fP}}return -1}};function dB(fN,fO){this.anchor=fN;this.head=fO}dB.prototype={from:function(){return am(this.anchor,this.head)},to:function(){return bn(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function cm(fN,fU){var fP=fN[fU];fN.sort(function(fX,fW){return b5(fX.from(),fW.from())});fU=c1(fN,fP);for(var fR=1;fR<fN.length;fR++){var fV=fN[fR],fO=fN[fR-1];if(b5(fO.to(),fV.from())>=0){var fS=am(fO.from(),fV.from()),fT=bn(fO.to(),fV.to());var fQ=fO.empty()?fV.from()==fV.head:fO.from()==fO.head;if(fR<=fU){--fU}fN.splice(--fR,2,new dB(fQ?fT:fS,fQ?fS:fT))}}return new fx(fN,fU)}function eu(fN,fO){return new fx([new dB(fN,fO||fN)],0)}function cO(fN,fO){return Math.max(fN.first,Math.min(fO,fN.first+fN.size-1))}function fj(fO,fP){if(fP.line<fO.first){return W(fO.first,0)}var fN=fO.first+fO.size-1;if(fP.line>fN){return W(fN,eP(fO,fN).text.length)}return e3(fP,eP(fO,fP.line).text.length)}function e3(fP,fO){var fN=fP.ch;if(fN==null||fN>fO){return W(fP.line,fO)}else{if(fN<0){return W(fP.line,0)}else{return fP}}}function bW(fO,fN){return fN>=fO.first&&fN<fO.first+fO.size}function dC(fP,fQ){for(var fN=[],fO=0;fO<fQ.length;fO++){fN[fO]=fj(fP,fQ[fO])}return fN}function e6(fS,fO,fR,fN){if(fS.cm&&fS.cm.display.shift||fS.extend){var fQ=fO.anchor;if(fN){var fP=b5(fR,fQ)<0;if(fP!=(b5(fN,fQ)<0)){fQ=fR;fR=fN}else{if(fP!=(b5(fR,fN)<0)){fR=fN}}}return new dB(fQ,fR)}else{return new dB(fN||fR,fR)}}function ft(fQ,fP,fN,fO){bJ(fQ,new fx([e6(fQ,fQ.sel.primary(),fP,fN)],0),fO)}function at(fS,fR,fP){for(var fO=[],fQ=0;fQ<fS.sel.ranges.length;fQ++){fO[fQ]=e6(fS,fS.sel.ranges[fQ],fR[fQ],null)}var fN=cm(fO,fS.sel.primIndex);bJ(fS,fN,fP)}function f(fR,fQ,fO,fP){var fN=fR.sel.ranges.slice(0);fN[fQ]=fO;bJ(fR,cm(fN,fR.sel.primIndex),fP)}function G(fQ,fO,fP,fN){bJ(fQ,eu(fO,fP),fN)}function d(fP,fN){var fO={ranges:fN.ranges,update:function(fQ){this.ranges=[];for(var fR=0;fR<fQ.length;fR++){this.ranges[fR]=new dB(fj(fP,fQ[fR].anchor),fj(fP,fQ[fR].head))}}};az(fP,"beforeSelectionChange",fP,fO);if(fP.cm){az(fP.cm,"beforeSelectionChange",fP.cm,fO)}if(fO.ranges!=fN.ranges){return cm(fO.ranges,fO.ranges.length-1)}else{return fN}}function eH(fR,fQ,fO){var fN=fR.history.done,fP=fh(fN);if(fP&&fP.ranges){fN[fN.length-1]=fQ;d1(fR,fQ,fO)}else{bJ(fR,fQ,fO)}}function bJ(fP,fO,fN){d1(fP,fO,fN);fG(fP,fP.sel,fP.cm?fP.cm.curOp.id:NaN,fN)}function d1(fQ,fP,fO){if(eS(fQ,"beforeSelectionChange")||fQ.cm&&eS(fQ.cm,"beforeSelectionChange")){fP=d(fQ,fP)}var fN=b5(fP.primary().head,fQ.sel.primary().head)<0?-1:1;cS(fQ,o(fQ,fP,fN,true));if(!(fO&&fO.scroll===false)&&fQ.cm){fg(fQ.cm)}}function cS(fO,fN){if(fN.equals(fO.sel)){return}fO.sel=fN;if(fO.cm){fO.cm.curOp.updateInput=fO.cm.curOp.selectionChanged=true;V(fO.cm)}ac(fO,"cursorActivity",fO)}function ea(fN){cS(fN,o(fN,fN.sel,null,false),Y)}function o(fV,fN,fS,fT){var fP;for(var fQ=0;fQ<fN.ranges.length;fQ++){var fR=fN.ranges[fQ];var fU=bK(fV,fR.anchor,fS,fT);var fO=bK(fV,fR.head,fS,fT);if(fP||fU!=fR.anchor||fO!=fR.head){if(!fP){fP=fN.ranges.slice(0,fQ)}fP[fQ]=new dB(fU,fO)}}return fP?cm(fP,fN.primIndex):fN}function bK(fW,fV,fS,fT){var fX=false,fP=fV;var fQ=fS||1;fW.cantEdit=false;search:for(;;){var fY=eP(fW,fP.line);if(fY.markedSpans){for(var fR=0;fR<fY.markedSpans.length;++fR){var fN=fY.markedSpans[fR],fO=fN.marker;if((fN.from==null||(fO.inclusiveLeft?fN.from<=fP.ch:fN.from<fP.ch))&&(fN.to==null||(fO.inclusiveRight?fN.to>=fP.ch:fN.to>fP.ch))){if(fT){az(fO,"beforeCursorEnter");if(fO.explicitlyCleared){if(!fY.markedSpans){break}else{--fR;continue}}}if(!fO.atomic){continue}var fU=fO.find(fQ<0?-1:1);if(b5(fU,fP)==0){fU.ch+=fQ;if(fU.ch<0){if(fU.line>fW.first){fU=fj(fW,W(fU.line-1))}else{fU=null}}else{if(fU.ch>fY.text.length){if(fU.line<fW.first+fW.size-1){fU=W(fU.line+1,0)}else{fU=null}}}if(!fU){if(fX){if(!fT){return bK(fW,fV,fS,true)}fW.cantEdit=true;return W(fW.first,0)}fX=true;fU=fV;fQ=-fQ}}fP=fU;continue search}}}return fP}}function br(fZ){var fU=fZ.display,fY=fZ.doc;var fW=document.createDocumentFragment();var fQ=document.createDocumentFragment();for(var fS=0;fS<fY.sel.ranges.length;fS++){var fT=fY.sel.ranges[fS];var fR=fT.empty();if(fR||fZ.options.showCursorWhenSelecting){B(fZ,fT,fW)}if(!fR){bs(fZ,fT,fQ)}}if(fZ.options.moveInputWithCursor){var fV=dx(fZ,fY.sel.primary().head,"div");var fN=fU.wrapper.getBoundingClientRect(),fP=fU.lineDiv.getBoundingClientRect();var fX=Math.max(0,Math.min(fU.wrapper.clientHeight-10,fV.top+fP.top-fN.top));var fO=Math.max(0,Math.min(fU.wrapper.clientWidth-10,fV.left+fP.left-fN.left));fU.inputDiv.style.top=fX+"px";fU.inputDiv.style.left=fO+"px"}bG(fU.cursorDiv,fW);bG(fU.selectionDiv,fQ)}function B(fN,fQ,fP){var fS=dx(fN,fQ.head,"div");var fR=fP.appendChild(fw("div","\u00a0","CodeMirror-cursor"));fR.style.left=fS.left+"px";fR.style.top=fS.top+"px";fR.style.height=Math.max(0,fS.bottom-fS.top)*fN.options.cursorHeight+"px";if(fS.other){var fO=fP.appendChild(fw("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor"));fO.style.display="";fO.style.left=fS.other.left+"px";fO.style.top=fS.other.top+"px";fO.style.height=(fS.other.bottom-fS.other.top)*0.85+"px"}}function bs(fR,fX,fS){var f0=fR.display,f4=fR.doc;var fN=document.createDocumentFragment();var fW=eG(fR.display),fQ=fW.left,f1=f0.lineSpace.offsetWidth-fW.right;function fY(f8,f7,f6,f5){if(f7<0){f7=0}f7=Math.round(f7);f5=Math.round(f5);fN.appendChild(fw("div",null,"CodeMirror-selected","position: absolute; left: "+f8+"px; top: "+f7+"px; width: "+(f6==null?f1-f8:f6)+"px; height: "+(f5-f7)+"px"))}function fO(f6,f8,gb){var f7=eP(f4,f6);var f9=f7.text.length;var gc,f5;function ga(ge,gd){return cx(fR,W(f6,ge),"div",f7,gd)}dH(a(f7),f8||0,gb==null?f9:gb,function(gk,gj,gd){var gg=ga(gk,"left"),gh,gi,gf;if(gk==gj){gh=gg;gi=gf=gg.left}else{gh=ga(gj-1,"right");if(gd=="rtl"){var ge=gg;gg=gh;gh=ge}gi=gg.left;gf=gh.right}if(f8==null&&gk==0){gi=fQ}if(gh.top-gg.top>3){fY(gi,gg.top,null,gg.bottom);gi=fQ;if(gg.bottom<gh.top){fY(gi,gg.bottom,null,gh.top)}}if(gb==null&&gj==f9){gf=f1}if(!gc||gg.top<gc.top||gg.top==gc.top&&gg.left<gc.left){gc=gg}if(!f5||gh.bottom>f5.bottom||gh.bottom==f5.bottom&&gh.right>f5.right){f5=gh}if(gi<fQ+1){gi=fQ}fY(gi,gh.top,gf-gi,gh.bottom)});return{start:gc,end:f5}}var f3=fX.from(),f2=fX.to();if(f3.line==f2.line){fO(f3.line,f3.ch,f2.ch)}else{var fP=eP(f4,f3.line),fU=eP(f4,f2.line);var fT=z(fP)==z(fU);var fV=fO(f3.line,f3.ch,fT?fP.text.length+1:null).end;var fZ=fO(f2.line,fT?0:null,f2.ch).start;if(fT){if(fV.top<fZ.top-2){fY(fV.right,fV.top,null,fV.bottom);fY(fQ,fZ.top,fZ.left,fZ.bottom)}else{fY(fV.right,fV.top,fZ.left-fV.right,fV.bottom)}}if(fV.bottom<fZ.top){fY(fQ,fV.bottom,null,fZ.top)}}fS.appendChild(fN)}function p(fN){if(!fN.state.focused){return}var fP=fN.display;clearInterval(fP.blinker);var fO=true;fP.cursorDiv.style.visibility="";if(fN.options.cursorBlinkRate>0){fP.blinker=setInterval(function(){fP.cursorDiv.style.visibility=(fO=!fO)?"":"hidden"},fN.options.cursorBlinkRate)}}function dR(fN,fO){if(fN.doc.mode.startState&&fN.doc.frontier<fN.display.viewTo){fN.state.highlight.set(fO,cl(cC,fN))}}function cC(fN){var fQ=fN.doc;if(fQ.frontier<fQ.first){fQ.frontier=fQ.first}if(fQ.frontier>=fN.display.viewTo){return}var fO=+new Date+fN.options.workTime;var fP=bR(fQ.mode,dg(fN,fQ.frontier));cz(fN,function(){fQ.iter(fQ.frontier,Math.min(fQ.first+fQ.size,fN.display.viewTo+500),function(fR){if(fQ.frontier>=fN.display.viewFrom){var fT=fR.styles;var fU=fa(fN,fR,fP,true);fR.styles=fU.styles;if(fU.classes){fR.styleClasses=fU.classes}else{if(fR.styleClasses){fR.styleClasses=null}}var fV=!fT||fT.length!=fR.styles.length;for(var fS=0;!fV&&fS<fT.length;++fS){fV=fT[fS]!=fR.styles[fS]}if(fV){R(fN,fQ.frontier,"text")}fR.stateAfter=bR(fQ.mode,fP)}else{dc(fN,fR.text,fP);fR.stateAfter=fQ.frontier%5==0?bR(fQ.mode,fP):null}++fQ.frontier;if(+new Date>fO){dR(fN,fN.options.workDelay);return true}})})}function co(fT,fN,fQ){var fO,fR,fS=fT.doc;var fP=fQ?-1:fN-(fT.doc.mode.innerMode?1000:100);for(var fW=fN;fW>fP;--fW){if(fW<=fS.first){return fS.first}var fV=eP(fS,fW-1);if(fV.stateAfter&&(!fQ||fW<=fS.frontier)){return fW}var fU=bI(fV.text,null,fT.options.tabSize);if(fR==null||fO>fU){fR=fW-1;fO=fU}}return fR}function dg(fN,fT,fO){var fR=fN.doc,fQ=fN.display;if(!fR.mode.startState){return true}var fS=co(fN,fT,fO),fP=fS>fR.first&&eP(fR,fS-1).stateAfter;if(!fP){fP=bP(fR.mode)}else{fP=bR(fR.mode,fP)}fR.iter(fS,fT,function(fU){dc(fN,fU.text,fP);var fV=fS==fT-1||fS%5==0||fS>=fQ.viewFrom&&fS<fQ.viewTo;fU.stateAfter=fV?bR(fR.mode,fP):null;++fS});if(fO){fR.frontier=fS}return fP}function eI(fN){return fN.lineSpace.offsetTop}function bx(fN){return fN.mover.offsetHeight-fN.lineSpace.offsetHeight}function eG(fQ){if(fQ.cachedPaddingH){return fQ.cachedPaddingH}var fP=bG(fQ.measure,fw("pre","x"));var fN=window.getComputedStyle?window.getComputedStyle(fP):fP.currentStyle;var fO={left:parseInt(fN.paddingLeft),right:parseInt(fN.paddingRight)};if(!isNaN(fO.left)&&!isNaN(fO.right)){fQ.cachedPaddingH=fO}return fO}function b8(fU,fQ,fT){var fP=fU.options.lineWrapping;var fR=fP&&fU.display.scroller.clientWidth;if(!fQ.measure.heights||fP&&fQ.measure.width!=fR){var fS=fQ.measure.heights=[];if(fP){fQ.measure.width=fR;var fW=fQ.text.firstChild.getClientRects();for(var fN=0;fN<fW.length-1;fN++){var fV=fW[fN],fO=fW[fN+1];if(Math.abs(fV.bottom-fO.bottom)>2){fS.push((fV.bottom+fO.top)/2-fT.top)}}}fS.push(fT.bottom-fT.top)}}function cj(fP,fN,fQ){if(fP.line==fN){return{map:fP.measure.map,cache:fP.measure.cache}}for(var fO=0;fO<fP.rest.length;fO++){if(fP.rest[fO]==fN){return{map:fP.measure.maps[fO],cache:fP.measure.caches[fO]}}}for(var fO=0;fO<fP.rest.length;fO++){if(bC(fP.rest[fO])>fQ){return{map:fP.measure.maps[fO],cache:fP.measure.caches[fO],before:true}}}}function cK(fN,fP){fP=z(fP);var fR=bC(fP);var fO=fN.display.externalMeasured=new bl(fN.doc,fP,fR);fO.lineN=fR;var fQ=fO.built=ev(fN,fO);fO.text=fQ.pre;bG(fN.display.lineMeasure,fQ.pre);return fO}function dT(fN,fO,fQ,fP){return D(fN,aU(fN,fO),fQ,fP)}function eL(fN,fP){if(fP>=fN.display.viewFrom&&fP<fN.display.viewTo){return fN.display.view[c7(fN,fP)]}var fO=fN.display.externalMeasured;if(fO&&fP>=fO.lineN&&fP<fO.lineN+fO.size){return fO}}function aU(fN,fP){var fQ=bC(fP);var fO=eL(fN,fQ);if(fO&&!fO.text){fO=null}else{if(fO&&fO.changes){Z(fN,fO,fQ,eM(fN))}}if(!fO){fO=cK(fN,fP)}var fR=cj(fO,fP,fQ);return{line:fP,view:fO,rect:null,map:fR.map,cache:fR.cache,before:fR.before,hasHeights:false}}function D(fN,fS,fQ,fO){if(fS.before){fQ=-1}var fP=fQ+(fO||""),fR;if(fS.cache.hasOwnProperty(fP)){fR=fS.cache[fP]}else{if(!fS.rect){fS.rect=fS.view.text.getBoundingClientRect()}if(!fS.hasHeights){b8(fN,fS.view,fS.rect);fS.hasHeights=true}fR=k(fN,fS,fQ,fO);if(!fR.bogus){fS.cache[fP]=fR}}return{left:fR.left,right:fR.right,top:fR.top,bottom:fR.bottom}}var ee={left:0,right:0,top:0,bottom:0};function k(fU,f2,fW,fS){var f5=f2.map;var fZ,fR,fQ,fN;for(var f1=0;f1<f5.length;f1+=3){var f4=f5[f1],f0=f5[f1+1];if(fW<f4){fR=0;fQ=1;fN="left"}else{if(fW<f0){fR=fW-f4;fQ=fR+1}else{if(f1==f5.length-3||fW==f0&&f5[f1+3]>fW){fQ=f0-f4;fR=fQ-1;if(fW>=f0){fN="right"}}}}if(fR!=null){fZ=f5[f1+2];if(f4==f0&&fS==(fZ.insertLeft?"left":"right")){fN=fS}if(fS=="left"&&fR==0){while(f1&&f5[f1-2]==f5[f1-3]&&f5[f1-1].insertLeft){fZ=f5[(f1-=3)+2];fN="left"}}if(fS=="right"&&fR==f0-f4){while(f1<f5.length-3&&f5[f1+3]==f5[f1+4]&&!f5[f1+5].insertLeft){fZ=f5[(f1+=3)+2];fN="right"}}break}}var fO;if(fZ.nodeType==3){while(fR&&e0(f2.line.text.charAt(f4+fR))){--fR}while(f4+fQ<f0&&e0(f2.line.text.charAt(f4+fQ))){++fQ}if(bY&&fR==0&&fQ==f0-f4){fO=fZ.parentNode.getBoundingClientRect()}else{if(dn&&fU.options.lineWrapping){var fP=cb(fZ,fR,fQ).getClientRects();if(fP.length){fO=fP[fS=="right"?fP.length-1:0]}else{fO=ee}}else{fO=cb(fZ,fR,fQ).getBoundingClientRect()||ee}}}else{if(fR>0){fN=fS="right"}var fP;if(fU.options.lineWrapping&&(fP=fZ.getClientRects()).length>1){fO=fP[fS=="right"?fP.length-1:0]}else{fO=fZ.getBoundingClientRect()}}if(bY&&!fR&&(!fO||!fO.left&&!fO.right)){var fT=fZ.parentNode.getClientRects()[0];if(fT){fO={left:fT.left,right:fT.left+di(fU.display),top:fT.top,bottom:fT.bottom}}else{fO=ee}}var fY,fX=(fO.bottom+fO.top)/2-f2.rect.top;var f3=f2.view.measure.heights;for(var f1=0;f1<f3.length-1;f1++){if(fX<f3[f1]){break}}fY=f1?f3[f1-1]:0;fX=f3[f1];var fV={left:(fN=="right"?fO.right:fO.left)-f2.rect.left,right:(fN=="left"?fO.left:fO.right)-f2.rect.left,top:fY,bottom:fX};if(!fO.left&&!fO.right){fV.bogus=true}return fV}function ap(fO){if(fO.measure){fO.measure.cache={};fO.measure.heights=null;if(fO.rest){for(var fN=0;fN<fO.rest.length;fN++){fO.measure.caches[fN]={}}}}}function aF(fN){fN.display.externalMeasure=null;dE(fN.display.lineMeasure);for(var fO=0;fO<fN.display.view.length;fO++){ap(fN.display.view[fO])}}function ai(fN){aF(fN);fN.display.cachedCharWidth=fN.display.cachedTextHeight=fN.display.cachedPaddingH=null;if(!fN.options.lineWrapping){fN.display.maxLineChanged=true}fN.display.lineNumChars=null}function ck(){return window.pageXOffset||(document.documentElement||document.body).scrollLeft}function ci(){return window.pageYOffset||(document.documentElement||document.body).scrollTop}function et(fT,fQ,fS,fO){if(fQ.widgets){for(var fP=0;fP<fQ.widgets.length;++fP){if(fQ.widgets[fP].above){var fV=cH(fQ.widgets[fP]);fS.top+=fV;fS.bottom+=fV}}}if(fO=="line"){return fS}if(!fO){fO="local"}var fR=bB(fQ);if(fO=="local"){fR+=eI(fT.display)}else{fR-=fT.display.viewOffset}if(fO=="page"||fO=="window"){var fN=fT.display.lineSpace.getBoundingClientRect();fR+=fN.top+(fO=="window"?0:ci());var fU=fN.left+(fO=="window"?0:ck());fS.left+=fU;fS.right+=fU}fS.top+=fR;fS.bottom+=fR;return fS}function fJ(fO,fR,fP){if(fP=="div"){return fR}var fT=fR.left,fS=fR.top;if(fP=="page"){fT-=ck();fS-=ci()}else{if(fP=="local"||!fP){var fQ=fO.display.sizer.getBoundingClientRect();fT+=fQ.left;fS+=fQ.top}}var fN=fO.display.lineSpace.getBoundingClientRect();return{left:fT-fN.left,top:fS-fN.top}}function cx(fN,fR,fQ,fP,fO){if(!fP){fP=eP(fN.doc,fR.line)}return et(fN,fP,dT(fN,fP,fR.ch,fO),fQ)}function dx(fV,fU,fP,fT,fX){fT=fT||eP(fV.doc,fU.line);if(!fX){fX=aU(fV,fT)}function fR(f0,fZ){var fY=D(fV,fX,f0,fZ?"right":"left");if(fZ){fY.left=fY.right}else{fY.right=fY.left}return et(fV,fT,fY,fP)}function fW(f1,fY){var fZ=fS[fY],f0=fZ.level%2;if(f1==dd(fZ)&&fY&&fZ.level<fS[fY-1].level){fZ=fS[--fY];f1=fI(fZ)-(fZ.level%2?0:1);f0=true}else{if(f1==fI(fZ)&&fY<fS.length-1&&fZ.level<fS[fY+1].level){fZ=fS[++fY];f1=dd(fZ)-fZ.level%2;f0=false}}if(f0&&f1==fZ.to&&f1>fZ.from){return fR(f1-1)}return fR(f1,f0)}var fS=a(fT),fN=fU.ch;if(!fS){return fR(fN)}var fO=aB(fS,fN);var fQ=fW(fN,fO);if(eE!=null){fQ.other=fW(fN,eE)}return fQ}function dm(fN,fR){var fQ=0,fR=fj(fN.doc,fR);if(!fN.options.lineWrapping){fQ=di(fN.display)*fR.ch}var fO=eP(fN.doc,fR.line);var fP=bB(fO)+eI(fN.display);return{left:fQ,right:fQ,top:fP,bottom:fP+fO.height}}function fv(fN,fO,fP,fR){var fQ=W(fN,fO);fQ.xRel=fR;if(fP){fQ.outside=true}return fQ}function fo(fU,fR,fQ){var fT=fU.doc;fQ+=fU.display.viewOffset;if(fQ<0){return fv(fT.first,0,true,-1)}var fP=bv(fT,fQ),fV=fT.first+fT.size-1;if(fP>fV){return fv(fT.first+fT.size-1,eP(fT,fV).text.length,true,1)}if(fR<0){fR=0}var fO=eP(fT,fP);for(;;){var fW=cI(fU,fO,fP,fR,fQ);var fS=d7(fO);var fN=fS&&fS.find(0,true);if(fS&&(fW.ch>fN.from.ch||fW.ch==fN.from.ch&&fW.xRel>0)){fP=bC(fO=fN.to.line)}else{return fW}}}function cI(fX,fP,f0,fZ,fY){var fW=fY-bB(fP);var fT=false,f6=2*fX.display.wrapper.clientWidth;var f3=aU(fX,fP);function ga(gc){var gd=dx(fX,W(f0,gc),"line",fP,f3);fT=true;if(fW>gd.bottom){return gd.left-f6}else{if(fW<gd.top){return gd.left+f6}else{fT=false}}return gd.left}var f2=a(fP),f5=fP.text.length;var f7=ct(fP),fQ=cE(fP);var f4=ga(f7),fN=fT,fO=ga(fQ),fS=fT;if(fZ>fO){return fv(f0,fQ,fS,1)}for(;;){if(f2?fQ==f7||fQ==v(fP,f7,1):fQ-f7<=1){var f1=fZ<f4||fZ-f4<=fO-fZ?f7:fQ;var f9=fZ-(f1==f7?f4:fO);while(e0(fP.text.charAt(f1))){++f1}var fV=fv(f0,f1,f1==f7?fN:fS,f9<-1?-1:f9>1?1:0);return fV}var fU=Math.ceil(f5/2),gb=f7+fU;if(f2){gb=f7;for(var f8=0;f8<fU;++f8){gb=v(fP,gb,1)}}var fR=ga(gb);if(fR>fZ){fQ=gb;fO=fR;if(fS=fT){fO+=1000}f5=fU}else{f7=gb;f4=fR;fN=fT;f5-=fU}}}var aC;function aN(fP){if(fP.cachedTextHeight!=null){return fP.cachedTextHeight}if(aC==null){aC=fw("pre");for(var fO=0;fO<49;++fO){aC.appendChild(document.createTextNode("x"));aC.appendChild(fw("br"))}aC.appendChild(document.createTextNode("x"))}bG(fP.measure,aC);var fN=aC.offsetHeight/50;if(fN>3){fP.cachedTextHeight=fN}dE(fP.measure);return fN||1}function di(fR){if(fR.cachedCharWidth!=null){return fR.cachedCharWidth}var fN=fw("span","xxxxxxxxxx");var fQ=fw("pre",[fN]);bG(fR.measure,fQ);var fP=fN.getBoundingClientRect(),fO=(fP.right-fP.left)/10;if(fO>2){fR.cachedCharWidth=fO}return fO||10}var dL=0;function cw(fN){fN.curOp={viewChanged:false,startHeight:fN.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,id:++dL};if(!ch++){be=[]}}function aj(fY){var fT=fY.curOp,fX=fY.doc,fU=fY.display;fY.curOp=null;if(fT.updateMaxLine){h(fY)}if(fT.viewChanged||fT.forceUpdate||fT.scrollTop!=null||fT.scrollToPos&&(fT.scrollToPos.from.line<fU.viewFrom||fT.scrollToPos.to.line>=fU.viewTo)||fU.maxLineChanged&&fY.options.lineWrapping){var fR=dp(fY,{top:fT.scrollTop,ensure:fT.scrollToPos},fT.forceUpdate);if(fY.display.scroller.offsetHeight){fY.doc.scrollTop=fY.display.scroller.scrollTop}}if(!fR&&fT.selectionChanged){br(fY)}if(!fR&&fT.startHeight!=fY.doc.height){eB(fY)}if(fT.scrollTop!=null&&fU.scroller.scrollTop!=fT.scrollTop){var fV=Math.max(0,Math.min(fU.scroller.scrollHeight-fU.scroller.clientHeight,fT.scrollTop));fU.scroller.scrollTop=fU.scrollbarV.scrollTop=fX.scrollTop=fV}if(fT.scrollLeft!=null&&fU.scroller.scrollLeft!=fT.scrollLeft){var fO=Math.max(0,Math.min(fU.scroller.scrollWidth-fU.scroller.clientWidth,fT.scrollLeft));fU.scroller.scrollLeft=fU.scrollbarH.scrollLeft=fX.scrollLeft=fO;ei(fY)}if(fT.scrollToPos){var fW=E(fY,fj(fY.doc,fT.scrollToPos.from),fj(fY.doc,fT.scrollToPos.to),fT.scrollToPos.margin);if(fT.scrollToPos.isCursor&&fY.state.focused){dJ(fY,fW)}}if(fT.selectionChanged){p(fY)}if(fY.state.focused&&fT.updateInput){eZ(fY,fT.typing)}var fS=fT.maybeHiddenMarkers,fN=fT.maybeUnhiddenMarkers;if(fS){for(var fQ=0;fQ<fS.length;++fQ){if(!fS[fQ].lines.length){az(fS[fQ],"hide")}}}if(fN){for(var fQ=0;fQ<fN.length;++fQ){if(fN[fQ].lines.length){az(fN[fQ],"unhide")}}}var fP;if(!--ch){fP=be;be=null}if(fT.changeObjs){az(fY,"changes",fY,fT.changeObjs)}if(fP){for(var fQ=0;fQ<fP.length;++fQ){fP[fQ]()}}if(fT.cursorActivityHandlers){for(var fQ=0;fQ<fT.cursorActivityHandlers.length;fQ++){fT.cursorActivityHandlers[fQ](fY)}}}function cz(fN,fO){if(fN.curOp){return fO()}cw(fN);try{return fO()}finally{aj(fN)}}function cL(fN,fO){return function(){if(fN.curOp){return fO.apply(fN,arguments)}cw(fN);try{return fO.apply(fN,arguments)}finally{aj(fN)}}}function cR(fN){return function(){if(this.curOp){return fN.apply(this,arguments)}cw(this);try{return fN.apply(this,arguments)}finally{aj(this)}}}function cs(fN){return function(){var fO=this.cm;if(!fO||fO.curOp){return fN.apply(this,arguments)}cw(fO);try{return fN.apply(this,arguments)}finally{aj(fO)}}}function bl(fP,fN,fO){this.line=fN;this.rest=i(fN);this.size=this.rest?bC(fh(this.rest))-fO+1:1;this.node=this.text=null;this.hidden=e7(fP,fN)}function ey(fN,fT,fS){var fR=[],fP;for(var fQ=fT;fQ<fS;fQ=fP){var fO=new bl(fN.doc,eP(fN.doc,fQ),fQ);fP=fQ+fO.size;fR.push(fO)}return fR}function af(fU,fS,fT,fV){if(fS==null){fS=fU.doc.first}if(fT==null){fT=fU.doc.first+fU.doc.size}if(!fV){fV=0}var fP=fU.display;if(fV&&fT<fP.viewTo&&(fP.updateLineNumbers==null||fP.updateLineNumbers>fS)){fP.updateLineNumbers=fS}fU.curOp.viewChanged=true;if(fS>=fP.viewTo){if(aX&&aM(fU.doc,fS)<fP.viewTo){d9(fU)}}else{if(fT<=fP.viewFrom){if(aX&&dG(fU.doc,fT+fV)>fP.viewFrom){d9(fU)}else{fP.viewFrom+=fV;fP.viewTo+=fV}}else{if(fS<=fP.viewFrom&&fT>=fP.viewTo){d9(fU)}else{if(fS<=fP.viewFrom){var fR=cX(fU,fT,fT+fV,1);if(fR){fP.view=fP.view.slice(fR.index);fP.viewFrom=fR.lineN;fP.viewTo+=fV}else{d9(fU)}}else{if(fT>=fP.viewTo){var fR=cX(fU,fS,fS,-1);if(fR){fP.view=fP.view.slice(0,fR.index);fP.viewTo=fR.lineN}else{d9(fU)}}else{var fQ=cX(fU,fS,fS,-1);var fO=cX(fU,fT,fT+fV,1);if(fQ&&fO){fP.view=fP.view.slice(0,fQ.index).concat(ey(fU,fQ.lineN,fO.lineN)).concat(fP.view.slice(fO.index));fP.viewTo+=fV}else{d9(fU)}}}}}}var fN=fP.externalMeasured;if(fN){if(fT<fN.lineN){fN.lineN+=fV}else{if(fS<fN.lineN+fN.size){fP.externalMeasured=null}}}}function R(fO,fP,fS){fO.curOp.viewChanged=true;var fT=fO.display,fR=fO.display.externalMeasured;if(fR&&fP>=fR.lineN&&fP<fR.lineN+fR.size){fT.externalMeasured=null}if(fP<fT.viewFrom||fP>=fT.viewTo){return}var fQ=fT.view[c7(fO,fP)];if(fQ.node==null){return}var fN=fQ.changes||(fQ.changes=[]);if(c1(fN,fS)==-1){fN.push(fS)}}function d9(fN){fN.display.viewFrom=fN.display.viewTo=fN.doc.first;fN.display.view=[];fN.display.viewOffset=0}function c7(fN,fQ){if(fQ>=fN.display.viewTo){return null}fQ-=fN.display.viewFrom;if(fQ<0){return null}var fO=fN.display.view;for(var fP=0;fP<fO.length;fP++){fQ-=fO[fP].size;if(fQ<0){return fP}}}function cX(fV,fP,fR,fO){var fS=c7(fV,fP),fU,fT=fV.display.view;if(!aX){return{index:fS,lineN:fR}}for(var fQ=0,fN=fV.display.viewFrom;fQ<fS;fQ++){fN+=fT[fQ].size}if(fN!=fP){if(fO>0){if(fS==fT.length-1){return null}fU=(fN+fT[fS].size)-fP;fS++}else{fU=fN-fP}fP+=fU;fR+=fU}while(aM(fV.doc,fR)!=fR){if(fS==(fO<0?0:fT.length-1)){return null}fR+=fO*fT[fS-(fO<0?1:0)].size;fS+=fO}return{index:fS,lineN:fR}}function cD(fN,fR,fQ){var fP=fN.display,fO=fP.view;if(fO.length==0||fR>=fP.viewTo||fQ<=fP.viewFrom){fP.view=ey(fN,fR,fQ);fP.viewFrom=fR}else{if(fP.viewFrom>fR){fP.view=ey(fN,fR,fP.viewFrom).concat(fP.view)}else{if(fP.viewFrom<fR){fP.view=fP.view.slice(c7(fN,fR))}}fP.viewFrom=fR;if(fP.viewTo<fQ){fP.view=fP.view.concat(ey(fN,fP.viewTo,fQ))}else{if(fP.viewTo>fQ){fP.view=fP.view.slice(0,c7(fN,fQ))}}}fP.viewTo=fQ}function cU(fN){var fO=fN.display.view,fR=0;for(var fQ=0;fQ<fO.length;fQ++){var fP=fO[fQ];if(!fP.hidden&&(!fP.node||fP.changes)){++fR}}return fR}function bc(fN){if(fN.display.pollingFast){return}fN.display.poll.set(fN.options.pollInterval,function(){b7(fN);if(fN.state.focused){bc(fN)}})}function C(fN){var fO=false;fN.display.pollingFast=true;function fP(){var fQ=b7(fN);if(!fQ&&!fO){fO=true;fN.display.poll.set(60,fP)}else{fN.display.pollingFast=false;bc(fN)}}fN.display.poll.set(20,fP)}function b7(fR){var fS=fR.display.input,fV=fR.display.prevInput,f6=fR.doc;if(!fR.state.focused||(bi(fS)&&!fV)||ah(fR)||fR.options.disableInput){return false}if(fR.state.pasteIncoming&&fR.state.fakedLastChar){fS.value=fS.value.substring(0,fS.value.length-1);fR.state.fakedLastChar=false}var fU=fS.value;if(fU==fV&&!fR.somethingSelected()){return false}if(dn&&!bY&&fR.display.inputHasSelection===fU){eZ(fR);return false}var f2=!fR.curOp;if(f2){cw(fR)}fR.display.shift=false;if(fU.charCodeAt(0)==8203&&f6.sel==fR.display.selForContextMenu&&!fV){fV="\u200b"}var f1=0,fY=Math.min(fV.length,fU.length);while(f1<fY&&fV.charCodeAt(f1)==fU.charCodeAt(f1)){++f1}var fO=fU.slice(f1),fW=aQ(fO);var f5=fR.state.pasteIncoming&&fW.length>1&&f6.sel.ranges.length==fW.length;for(var f3=f6.sel.ranges.length-1;f3>=0;f3--){var fX=f6.sel.ranges[f3];var fZ=fX.from(),fN=fX.to();if(f1<fV.length){fZ=W(fZ.line,fZ.ch-(fV.length-f1))}else{if(fR.state.overwrite&&fX.empty()&&!fR.state.pasteIncoming){fN=W(fN.line,Math.min(eP(f6,fN.line).text.length,fN.ch+fh(fW).length))}}var fQ=fR.curOp.updateInput;var f4={from:fZ,to:fN,text:f5?[fW[f3]]:fW,origin:fR.state.pasteIncoming?"paste":fR.state.cutIncoming?"cut":"+input"};a5(fR.doc,f4);ac(fR,"inputRead",fR,f4);if(fO&&!fR.state.pasteIncoming&&fR.options.electricChars&&fR.options.smartIndent&&fX.head.ch<100&&(!f3||f6.sel.ranges[f3-1].head.line!=fX.head.line)){var fT=fR.getModeAt(fX.head);if(fT.electricChars){for(var f0=0;f0<fT.electricChars.length;f0++){if(fO.indexOf(fT.electricChars.charAt(f0))>-1){ab(fR,fX.head.line,"smart");break}}}else{if(fT.electricInput){var fP=cG(f4);if(fT.electricInput.test(eP(f6,fP.line).text.slice(0,fP.ch))){ab(fR,fX.head.line,"smart")}}}}}fg(fR);fR.curOp.updateInput=fQ;fR.curOp.typing=true;if(fU.length>1000||fU.indexOf("\n")>-1){fS.value=fR.display.prevInput=""}else{fR.display.prevInput=fU}if(f2){aj(fR)}fR.state.pasteIncoming=fR.state.cutIncoming=false;return true}function eZ(fN,fR){var fO,fQ,fT=fN.doc;if(fN.somethingSelected()){fN.display.prevInput="";var fP=fT.sel.primary();fO=cT&&(fP.to().line-fP.from().line>100||(fQ=fN.getSelection()).length>1000);var fS=fO?"-":fQ||fN.getSelection();fN.display.input.value=fS;if(fN.state.focused){dq(fN.display.input)}if(dn&&!bY){fN.display.inputHasSelection=fS}}else{if(!fR){fN.display.prevInput=fN.display.input.value="";if(dn&&!bY){fN.display.inputHasSelection=null}}}fN.display.inaccurateSelection=fO}function ed(fN){if(fN.options.readOnly!="nocursor"&&(!dS||ds()!=fN.display.input)){fN.display.input.focus()}}function s(fN){if(!fN.state.focused){ed(fN);cq(fN)}}function ah(fN){return fN.options.readOnly||fN.doc.cantEdit}function fp(fN){var fP=fN.display;bM(fP.scroller,"mousedown",cL(fN,d5));if(eo){bM(fP.scroller,"dblclick",cL(fN,function(fT){if(aI(fN,fT)){return}var fU=cd(fN,fT);if(!fU||m(fN,fT)||a0(fN.display,fT)){return}cu(fT);var fS=ar(fN.doc,fU);ft(fN.doc,fS.anchor,fS.head)}))}else{bM(fP.scroller,"dblclick",function(fS){aI(fN,fS)||cu(fS)})}bM(fP.lineSpace,"selectstart",function(fS){if(!a0(fP,fS)){cu(fS)}});if(!fE){bM(fP.scroller,"contextmenu",function(fS){av(fN,fS)})}bM(fP.scroller,"scroll",function(){if(fP.scroller.clientHeight){N(fN,fP.scroller.scrollTop);bt(fN,fP.scroller.scrollLeft,true);az(fN,"scroll",fN)}});bM(fP.scrollbarV,"scroll",function(){if(fP.scroller.clientHeight){N(fN,fP.scrollbarV.scrollTop)}});bM(fP.scrollbarH,"scroll",function(){if(fP.scroller.clientHeight){bt(fN,fP.scrollbarH.scrollLeft)}});bM(fP.scroller,"mousewheel",function(fS){c(fN,fS)});bM(fP.scroller,"DOMMouseScroll",function(fS){c(fN,fS)});function fR(){if(fN.state.focused){setTimeout(cl(ed,fN),0)}}bM(fP.scrollbarH,"mousedown",fR);bM(fP.scrollbarV,"mousedown",fR);bM(fP.wrapper,"scroll",function(){fP.wrapper.scrollTop=fP.wrapper.scrollLeft=0});bM(fP.input,"keyup",cL(fN,a7));bM(fP.input,"input",function(){if(dn&&!bY&&fN.display.inputHasSelection){fN.display.inputHasSelection=null}C(fN)});bM(fP.input,"keydown",cL(fN,q));bM(fP.input,"keypress",cL(fN,cn));bM(fP.input,"focus",cl(cq,fN));bM(fP.input,"blur",cl(aL,fN));function fO(fS){if(!aI(fN,fS)){d3(fS)}}if(fN.options.dragDrop){bM(fP.scroller,"dragstart",function(fS){Q(fN,fS)});bM(fP.scroller,"dragenter",fO);bM(fP.scroller,"dragover",fO);bM(fP.scroller,"drop",cL(fN,a9))}bM(fP.scroller,"paste",function(fS){if(a0(fP,fS)){return}fN.state.pasteIncoming=true;ed(fN);C(fN)});bM(fP.input,"paste",function(){if(cJ&&!fN.state.fakedLastChar&&!(new Date-fN.state.lastMiddleDown<200)){var fT=fP.input.selectionStart,fS=fP.input.selectionEnd;fP.input.value+="$";fP.input.selectionStart=fT;fP.input.selectionEnd=fS;fN.state.fakedLastChar=true}fN.state.pasteIncoming=true;C(fN)});function fQ(fW){if(fN.somethingSelected()){if(fP.inaccurateSelection){fP.prevInput="";fP.inaccurateSelection=false;fP.input.value=fN.getSelection();dq(fP.input)}}else{var fX="",fT=[];for(var fU=0;fU<fN.doc.sel.ranges.length;fU++){var fS=fN.doc.sel.ranges[fU].head.line;var fV={anchor:W(fS,0),head:W(fS+1,0)};fT.push(fV);fX+=fN.getRange(fV.anchor,fV.head)}if(fW.type=="cut"){fN.setSelections(fT,null,Y)}else{fP.prevInput="";fP.input.value=fX;dq(fP.input)}}if(fW.type=="cut"){fN.state.cutIncoming=true}}bM(fP.input,"cut",fQ);bM(fP.input,"copy",fQ);if(a1){bM(fP.sizer,"mouseup",function(){if(ds()==fP.input){fP.input.blur()}ed(fN)})}}function aK(fN){var fO=fN.display;fO.cachedCharWidth=fO.cachedTextHeight=fO.cachedPaddingH=null;fN.setSize()}function a0(fO,fN){for(var fP=L(fN);fP!=fO.wrapper;fP=fP.parentNode){if(!fP||fP.ignoreEvents||fP.parentNode==fO.sizer&&fP!=fO.mover){return true}}}function cd(fX,fR,fO,fP){var fT=fX.display;if(!fO){var fS=L(fR);if(fS==fT.scrollbarH||fS==fT.scrollbarV||fS==fT.scrollbarFiller||fS==fT.gutterFiller){return null}}var fW,fU,fN=fT.lineSpace.getBoundingClientRect();try{fW=fR.clientX-fN.left;fU=fR.clientY-fN.top}catch(fR){return null}var fV=fo(fX,fW,fU),fY;if(fP&&fV.xRel==1&&(fY=eP(fX.doc,fV.line).text).length==fV.ch){var fQ=bI(fY,fY.length,fX.options.tabSize)-fY.length;fV=W(fV.line,Math.max(0,Math.round((fW-eG(fX.display).left)/di(fX.display))-fQ))}return fV}function d5(fP){if(aI(this,fP)){return}var fN=this,fO=fN.display;fO.shift=fP.shiftKey;if(a0(fO,fP)){if(!cJ){fO.scroller.draggable=false;setTimeout(function(){fO.scroller.draggable=true},100)}return}if(m(fN,fP)){return}var fQ=cd(fN,fP);window.focus();switch(fn(fP)){case 1:if(fQ){au(fN,fP,fQ)}else{if(L(fP)==fO.scroller){cu(fP)}}break;case 2:if(cJ){fN.state.lastMiddleDown=+new Date}if(fQ){ft(fN.doc,fQ)}setTimeout(cl(ed,fN),20);cu(fP);break;case 3:if(fE){av(fN,fP)}break}}var c4,cW;function au(fN,fS,fT){setTimeout(cl(s,fN),0);var fO=+new Date,fP;if(cW&&cW.time>fO-400&&b5(cW.pos,fT)==0){fP="triple"}else{if(c4&&c4.time>fO-400&&b5(c4.pos,fT)==0){fP="double";cW={time:fO,pos:fT}}else{fP="single";c4={time:fO,pos:fT}}}var fQ=fN.doc.sel,fR=bU?fS.metaKey:fS.ctrlKey;if(fN.options.dragDrop&&ep&&!fR&&!ah(fN)&&fP=="single"&&fQ.contains(fT)>-1&&fQ.somethingSelected()){aT(fN,fS,fT)}else{n(fN,fS,fT,fP,fR)}}function aT(fO,fQ,fR){var fP=fO.display;var fN=cL(fO,function(fS){if(cJ){fP.scroller.draggable=false}fO.state.draggingText=false;dP(document,"mouseup",fN);dP(fP.scroller,"drop",fN);if(Math.abs(fQ.clientX-fS.clientX)+Math.abs(fQ.clientY-fS.clientY)<10){cu(fS);ft(fO.doc,fR);ed(fO);if(eo&&!bY){setTimeout(function(){document.body.focus();ed(fO)},20)}}});if(cJ){fP.scroller.draggable=true}fO.state.draggingText=fN;if(fP.scroller.dragDrop){fP.scroller.dragDrop()}bM(document,"mouseup",fN);bM(fP.scroller,"drop",fN)}function n(fQ,f4,fP,fN,fS){var f1=fQ.display,f6=fQ.doc;cu(f4);var fO,f5,fR=f6.sel;if(fS&&!f4.shiftKey){f5=f6.sel.contains(fP);if(f5>-1){fO=f6.sel.ranges[f5]}else{fO=new dB(fP,fP)}}else{fO=f6.sel.primary()}if(f4.altKey){fN="rect";if(!fS){fO=new dB(fP,fP)}fP=cd(fQ,f4,true,true);f5=-1}else{if(fN=="double"){var f2=ar(f6,fP);if(fQ.display.shift||f6.extend){fO=e6(f6,fO,f2.anchor,f2.head)}else{fO=f2}}else{if(fN=="triple"){var fV=new dB(W(fP.line,0),fj(f6,W(fP.line+1,0)));if(fQ.display.shift||f6.extend){fO=e6(f6,fO,fV.anchor,fV.head)}else{fO=fV}}else{fO=e6(f6,fO,fP)}}}if(!fS){f5=0;bJ(f6,new fx([fO],0),M);fR=f6.sel}else{if(f5>-1){f(f6,f5,fO,M)}else{f5=f6.sel.ranges.length;bJ(f6,cm(f6.sel.ranges.concat([fO]),f5),{scroll:false,origin:"*mouse"})}}var f0=fP;function fZ(gh){if(b5(f0,gh)==0){return}f0=gh;if(fN=="rect"){var f8=[],ge=fQ.options.tabSize;var f7=bI(eP(f6,fP.line).text,fP.ch,ge);var gk=bI(eP(f6,gh.line).text,gh.ch,ge);var f9=Math.min(f7,gk),gi=Math.max(f7,gk);for(var gl=Math.min(fP.line,gh.line),gb=Math.min(fQ.lastLine(),Math.max(fP.line,gh.line));gl<=gb;gl++){var gj=eP(f6,gl).text,ga=d2(gj,f9,ge);if(f9==gi){f8.push(new dB(W(gl,ga),W(gl,ga)))}else{if(gj.length>ga){f8.push(new dB(W(gl,ga),W(gl,d2(gj,gi,ge))))}}}if(!f8.length){f8.push(new dB(fP,fP))}bJ(f6,cm(fR.ranges.slice(0,f5).concat(f8),f5),M)}else{var gf=fO;var gc=gf.anchor,gg=gh;if(fN!="single"){if(fN=="double"){var gd=ar(f6,gh)}else{var gd=new dB(W(gh.line,0),fj(f6,W(gh.line+1,0)))}if(b5(gd.anchor,gc)>0){gg=gd.head;gc=am(gf.from(),gd.anchor)}else{gg=gd.anchor;gc=bn(gf.to(),gd.head)}}var f8=fR.ranges.slice(0);f8[f5]=new dB(fj(f6,gc),gg);bJ(f6,cm(f8,f5),M)}}var fX=f1.wrapper.getBoundingClientRect();var fT=0;function f3(f9){var f7=++fT;var gb=cd(fQ,f9,true,fN=="rect");if(!gb){return}if(b5(gb,f0)!=0){s(fQ);fZ(gb);var ga=bT(f1,f6);if(gb.line>=ga.to||gb.line<ga.from){setTimeout(cL(fQ,function(){if(fT==f7){f3(f9)}}),150)}}else{var f8=f9.clientY<fX.top?-20:f9.clientY>fX.bottom?20:0;if(f8){setTimeout(cL(fQ,function(){if(fT!=f7){return}f1.scroller.scrollTop+=f8;f3(f9)}),50)}}}function fW(f7){fT=Infinity;cu(f7);ed(fQ);dP(document,"mousemove",fY);dP(document,"mouseup",fU);f6.history.lastSelOrigin=null}var fY=cL(fQ,function(f7){if((dn&&!bX)?!f7.buttons:!fn(f7)){fW(f7)}else{f3(f7)}});var fU=cL(fQ,fW);bM(document,"mousemove",fY);bM(document,"mouseup",fU)}function fL(fY,fU,fW,fX,fQ){try{var fO=fU.clientX,fN=fU.clientY}catch(fU){return false}if(fO>=Math.floor(fY.display.gutters.getBoundingClientRect().right)){return false}if(fX){cu(fU)}var fV=fY.display;var fT=fV.lineDiv.getBoundingClientRect();if(fN>fT.bottom||!eS(fY,fW)){return bA(fU)}fN-=fT.top-fV.viewOffset;for(var fR=0;fR<fY.options.gutters.length;++fR){var fS=fV.gutters.childNodes[fR];if(fS&&fS.getBoundingClientRect().right>=fO){var fZ=bv(fY.doc,fN);var fP=fY.options.gutters[fR];fQ(fY,fW,fY,fZ,fP,fU);return bA(fU)}}}function m(fN,fO){return fL(fN,fO,"gutterClick",true,ac)}var ae=0;function a9(fT){var fV=this;if(aI(fV,fT)||a0(fV.display,fT)){return}cu(fT);if(dn){ae=+new Date}var fU=cd(fV,fT,true),fN=fT.dataTransfer.files;if(!fU||ah(fV)){return}if(fN&&fN.length&&window.FileReader&&window.File){var fP=fN.length,fW=Array(fP),fO=0;var fR=function(fZ,fY){var fX=new FileReader;fX.onload=cL(fV,function(){fW[fY]=fX.result;if(++fO==fP){fU=fj(fV.doc,fU);var f0={from:fU,to:fU,text:aQ(fW.join("\n")),origin:"paste"};a5(fV.doc,f0);eH(fV.doc,eu(fU,cG(f0)))}});fX.readAsText(fZ)};for(var fS=0;fS<fP;++fS){fR(fN[fS],fS)}}else{if(fV.state.draggingText&&fV.doc.sel.contains(fU)>-1){fV.state.draggingText(fT);setTimeout(cl(ed,fV),20);return}try{var fW=fT.dataTransfer.getData("Text");if(fW){var fQ=fV.state.draggingText&&fV.listSelections();d1(fV.doc,eu(fU,fU));if(fQ){for(var fS=0;fS<fQ.length;++fS){aR(fV.doc,"",fQ[fS].anchor,fQ[fS].head,"drag")}}fV.replaceSelection(fW,"around","paste");ed(fV)}}catch(fT){}}}function Q(fN,fP){if(dn&&(!fN.state.draggingText||+new Date-ae<100)){d3(fP);return}if(aI(fN,fP)||a0(fN.display,fP)){return}fP.dataTransfer.setData("Text",fN.getSelection());if(fP.dataTransfer.setDragImage&&!ay){var fO=fw("img",null,null,"position: fixed; left: 0; top: 0;");fO.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";if(dF){fO.width=fO.height=1;fN.display.wrapper.appendChild(fO);fO._top=fO.offsetTop}fP.dataTransfer.setDragImage(fO,0,0);if(dF){fO.parentNode.removeChild(fO)}}}function N(fN,fO){if(Math.abs(fN.doc.scrollTop-fO)<2){return}fN.doc.scrollTop=fO;if(!ce){dp(fN,{top:fO})}if(fN.display.scroller.scrollTop!=fO){fN.display.scroller.scrollTop=fO}if(fN.display.scrollbarV.scrollTop!=fO){fN.display.scrollbarV.scrollTop=fO}if(ce){dp(fN)}dR(fN,100)}function bt(fN,fP,fO){if(fO?fP==fN.doc.scrollLeft:Math.abs(fN.doc.scrollLeft-fP)<2){return}fP=Math.min(fP,fN.display.scroller.scrollWidth-fN.display.scroller.clientWidth);fN.doc.scrollLeft=fP;ei(fN);if(fN.display.scroller.scrollLeft!=fP){fN.display.scroller.scrollLeft=fP}if(fN.display.scrollbarH.scrollLeft!=fP){fN.display.scrollbarH.scrollLeft=fP}}var eW=0,b6=null;if(dn){b6=-0.53}else{if(ce){b6=15}else{if(cV){b6=-0.7}else{if(ay){b6=-1/3}}}}function c(fV,fP){var fY=fP.wheelDeltaX,fX=fP.wheelDeltaY;if(fY==null&&fP.detail&&fP.axis==fP.HORIZONTAL_AXIS){fY=fP.detail}if(fX==null&&fP.detail&&fP.axis==fP.VERTICAL_AXIS){fX=fP.detail}else{if(fX==null){fX=fP.wheelDelta}}var fR=fV.display,fU=fR.scroller;if(!(fY&&fU.scrollWidth>fU.clientWidth||fX&&fU.scrollHeight>fU.clientHeight)){return}if(fX&&bU&&cJ){outer:for(var fW=fP.target,fT=fR.view;fW!=fU;fW=fW.parentNode){for(var fO=0;fO<fT.length;fO++){if(fT[fO].node==fW){fV.display.currentWheelTarget=fW;break outer}}}}if(fY&&!ce&&!dF&&b6!=null){if(fX){N(fV,Math.max(0,Math.min(fU.scrollTop+fX*b6,fU.scrollHeight-fU.clientHeight)))}bt(fV,Math.max(0,Math.min(fU.scrollLeft+fY*b6,fU.scrollWidth-fU.clientWidth)));cu(fP);fR.wheelStartX=null;return}if(fX&&b6!=null){var fN=fX*b6;var fS=fV.doc.scrollTop,fQ=fS+fR.wrapper.clientHeight;if(fN<0){fS=Math.max(0,fS+fN-50)}else{fQ=Math.min(fV.doc.height,fQ+fN+50)}dp(fV,{top:fS,bottom:fQ})}if(eW<20){if(fR.wheelStartX==null){fR.wheelStartX=fU.scrollLeft;fR.wheelStartY=fU.scrollTop;fR.wheelDX=fY;fR.wheelDY=fX;setTimeout(function(){if(fR.wheelStartX==null){return}var fZ=fU.scrollLeft-fR.wheelStartX;var f1=fU.scrollTop-fR.wheelStartY;var f0=(f1&&fR.wheelDY&&f1/fR.wheelDY)||(fZ&&fR.wheelDX&&fZ/fR.wheelDX);fR.wheelStartX=fR.wheelStartY=null;if(!f0){return}b6=(b6*eW+f0)/(eW+1);++eW},200)}else{fR.wheelDX+=fY;fR.wheelDY+=fX}}}function fq(fO,fR,fN){if(typeof fR=="string"){fR=eh[fR];if(!fR){return false}}if(fO.display.pollingFast&&b7(fO)){fO.display.pollingFast=false}var fQ=fO.display.shift,fP=false;try{if(ah(fO)){fO.state.suppressEdits=true}if(fN){fO.display.shift=false}fP=fR(fO)!=bZ}finally{fO.display.shift=fQ;fO.state.suppressEdits=false}return fP}function c9(fN){var fO=fN.state.keyMaps.slice(0);if(fN.options.extraKeys){fO.push(fN.options.extraKeys)}fO.push(fN.options.keyMap);return fO}var an;function eT(fN,fT){var fO=fu(fN.options.keyMap),fR=fO.auto;clearTimeout(an);if(fR&&!eg(fT)){an=setTimeout(function(){if(fu(fN.options.keyMap)==fO){fN.options.keyMap=(fR.call?fR.call(null,fN):fR);fK(fN)}},50)}var fQ=e2(fT,true),fS=false;if(!fQ){return false}var fP=c9(fN);if(fT.shiftKey){fS=j("Shift-"+fQ,fP,function(fU){return fq(fN,fU,true)})||j(fQ,fP,function(fU){if(typeof fU=="string"?/^go[A-Z]/.test(fU):fU.motion){return fq(fN,fU)}})}else{fS=j(fQ,fP,function(fU){return fq(fN,fU)})}if(fS){cu(fT);p(fN);ac(fN,"keyHandled",fN,fQ,fT)}return fS}function dV(fN,fQ,fO){var fP=j("'"+fO+"'",c9(fN),function(fR){return fq(fN,fR,true)});if(fP){cu(fQ);p(fN);ac(fN,"keyHandled",fN,"'"+fO+"'",fQ)}return fP}var c3=null;function q(fQ){var fN=this;s(fN);if(aI(fN,fQ)){return}if(eo&&fQ.keyCode==27){fQ.returnValue=false}var fO=fQ.keyCode;fN.display.shift=fO==16||fQ.shiftKey;var fP=eT(fN,fQ);if(dF){c3=fP?fO:null;if(!fP&&fO==88&&!cT&&(bU?fQ.metaKey:fQ.ctrlKey)){fN.replaceSelection("",null,"cut")}}if(fO==18&&!/\bCodeMirror-crosshair\b/.test(fN.display.lineDiv.className)){aq(fN)}}function aq(fO){var fP=fO.display.lineDiv;fb(fP,"CodeMirror-crosshair");function fN(fQ){if(fQ.keyCode==18||!fQ.altKey){g(fP,"CodeMirror-crosshair");dP(document,"keyup",fN);dP(document,"mouseover",fN)}}bM(document,"keyup",fN);bM(document,"mouseover",fN)}function a7(fN){if(aI(this,fN)){return}if(fN.keyCode==16){this.doc.sel.shift=false}}function cn(fR){var fN=this;if(aI(fN,fR)){return}var fQ=fR.keyCode,fO=fR.charCode;if(dF&&fQ==c3){c3=null;cu(fR);return}if(((dF&&(!fR.which||fR.which<10))||a1)&&eT(fN,fR)){return}var fP=String.fromCharCode(fO==null?fQ:fO);if(dV(fN,fR,fP)){return}if(dn&&!bY){fN.display.inputHasSelection=null}C(fN)}function cq(fN){if(fN.options.readOnly=="nocursor"){return}if(!fN.state.focused){az(fN,"focus",fN);fN.state.focused=true;fb(fN.display.wrapper,"CodeMirror-focused");if(!fN.curOp&&fN.display.selForContextMenu!=fN.doc.sel){eZ(fN);if(cJ){setTimeout(cl(eZ,fN,true),0)}}}bc(fN);p(fN)}function aL(fN){if(fN.state.focused){az(fN,"blur",fN);fN.state.focused=false;g(fN.display.wrapper,"CodeMirror-focused")}clearInterval(fN.display.blinker);setTimeout(function(){if(!fN.state.focused){fN.display.shift=false}},150)}function av(fW,fR){if(aI(fW,fR,"contextmenu")){return}var fT=fW.display;if(a0(fT,fR)||c0(fW,fR)){return}var fV=cd(fW,fR),fN=fT.scroller.scrollTop;if(!fV||dF){return}var fP=fW.options.resetSelectionOnContextMenu;if(fP&&fW.doc.sel.contains(fV)==-1){cL(fW,bJ)(fW.doc,eu(fV),Y)}var fS=fT.input.style.cssText;fT.inputDiv.style.position="absolute";fT.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(fR.clientY-5)+"px; left: "+(fR.clientX-5)+"px; z-index: 1000; background: "+(dn?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";ed(fW);eZ(fW);if(!fW.somethingSelected()){fT.input.value=fT.prevInput=" "}fT.selForContextMenu=fW.doc.sel;clearTimeout(fT.detectingSelectAll);function fQ(){if(fT.input.selectionStart!=null){var fX=fW.somethingSelected();var fY=fT.input.value="\u200b"+(fX?fT.input.value:"");fT.prevInput=fX?"":"\u200b";fT.input.selectionStart=1;fT.input.selectionEnd=fY.length}}function fU(){fT.inputDiv.style.position="relative";fT.input.style.cssText=fS;if(bY){fT.scrollbarV.scrollTop=fT.scroller.scrollTop=fN}bc(fW);if(fT.input.selectionStart!=null){if(!dn||bY){fQ()}var fX=0,fY=function(){if(fT.selForContextMenu==fW.doc.sel&&fT.input.selectionStart==0){cL(fW,eh.selectAll)(fW)}else{if(fX++<10){fT.detectingSelectAll=setTimeout(fY,500)}else{eZ(fW)}}};fT.detectingSelectAll=setTimeout(fY,200)}}if(dn&&!bY){fQ()}if(fE){d3(fR);var fO=function(){dP(window,"mouseup",fO);setTimeout(fU,20)};bM(window,"mouseup",fO)}else{setTimeout(fU,50)}}function c0(fN,fO){if(!eS(fN,"gutterContextMenu")){return false}return fL(fN,fO,"gutterContextMenu",false,az)}var cG=I.changeEnd=function(fN){if(!fN.text){return fN.to}return W(fN.from.line+fN.text.length-1,fh(fN.text).length+(fN.text.length==1?fN.from.ch:0))};function bO(fQ,fP){if(b5(fQ,fP.from)<0){return fQ}if(b5(fQ,fP.to)<=0){return cG(fP)}var fN=fQ.line+fP.text.length-(fP.to.line-fP.from.line)-1,fO=fQ.ch;if(fQ.line==fP.to.line){fO+=cG(fP).ch-fP.to.ch}return W(fN,fO)}function eU(fQ,fR){var fO=[];for(var fP=0;fP<fQ.sel.ranges.length;fP++){var fN=fQ.sel.ranges[fP];fO.push(new dB(bO(fN.anchor,fR),bO(fN.head,fR)))}return cm(fO,fQ.sel.primIndex)}function bk(fP,fO,fN){if(fP.line==fO.line){return W(fN.line,fP.ch-fO.ch+fN.ch)}else{return W(fN.line+(fP.line-fO.line),fP.ch)}}function ad(fX,fU,fO){var fP=[];var fN=W(fX.first,0),fY=fN;for(var fR=0;fR<fU.length;fR++){var fT=fU[fR];var fW=bk(fT.from,fN,fY);var fV=bk(cG(fT),fN,fY);fN=fT.to;fY=fV;if(fO=="around"){var fS=fX.sel.ranges[fR],fQ=b5(fS.head,fS.anchor)<0;fP[fR]=new dB(fQ?fV:fW,fQ?fW:fV)}else{fP[fR]=new dB(fW,fW)}}return new fx(fP,fX.sel.primIndex)}function dv(fO,fQ,fP){var fN={canceled:false,from:fQ.from,to:fQ.to,text:fQ.text,origin:fQ.origin,cancel:function(){this.canceled=true}};if(fP){fN.update=function(fU,fT,fS,fR){if(fU){this.from=fj(fO,fU)}if(fT){this.to=fj(fO,fT)}if(fS){this.text=fS}if(fR!==undefined){this.origin=fR}}}az(fO,"beforeChange",fO,fN);if(fO.cm){az(fO.cm,"beforeChange",fO.cm,fN)}if(fN.canceled){return null}return{from:fN.from,to:fN.to,text:fN.text,origin:fN.origin}}function a5(fQ,fR,fP){if(fQ.cm){if(!fQ.cm.curOp){return cL(fQ.cm,a5)(fQ,fR,fP)}if(fQ.cm.state.suppressEdits){return}}if(eS(fQ,"beforeChange")||fQ.cm&&eS(fQ.cm,"beforeChange")){fR=dv(fQ,fR,true);if(!fR){return}}var fO=fH&&!fP&&cv(fQ,fR.from,fR.to);if(fO){for(var fN=fO.length-1;fN>=0;--fN){K(fQ,{from:fO[fN].from,to:fO[fN].to,text:fN?[""]:fR.text})}}else{K(fQ,fR)}}function K(fP,fQ){if(fQ.text.length==1&&fQ.text[0]==""&&b5(fQ.from,fQ.to)==0){return}var fO=eU(fP,fQ);fm(fP,fQ,fO,fP.cm?fP.cm.curOp.id:NaN);dQ(fP,fQ,fO,dW(fP,fQ));var fN=[];dK(fP,function(fS,fR){if(!fR&&c1(fN,fS.history)==-1){dj(fS.history,fQ);fN.push(fS.history)}dQ(fS,fQ,null,dW(fS,fQ))})}function bV(fY,fW,f0){if(fY.cm&&fY.cm.state.suppressEdits){return}var fV=fY.history,fP,fR=fY.sel;var fN=fW=="undo"?fV.done:fV.undone,fZ=fW=="undo"?fV.undone:fV.done;for(var fS=0;fS<fN.length;fS++){fP=fN[fS];if(f0?fP.ranges&&!fP.equals(fY.sel):!fP.ranges){break}}if(fS==fN.length){return}fV.lastOrigin=fV.lastSelOrigin=null;for(;;){fP=fN.pop();if(fP.ranges){cA(fP,fZ);if(f0&&!fP.equals(fY.sel)){bJ(fY,fP,{clearRedo:false});return}fR=fP}else{break}}var fU=[];cA(fR,fZ);fZ.push({changes:fU,generation:fV.generation});fV.generation=fP.generation||++fV.maxGeneration;var fQ=eS(fY,"beforeChange")||fY.cm&&eS(fY.cm,"beforeChange");for(var fS=fP.changes.length-1;fS>=0;--fS){var fX=fP.changes[fS];fX.origin=fW;if(fQ&&!dv(fY,fX,false)){fN.length=0;return}fU.push(da(fY,fX));var fO=fS?eU(fY,fX,null):fh(fN);dQ(fY,fX,fO,dM(fY,fX));if(!fS&&fY.cm){fY.cm.scrollIntoView(fX)}var fT=[];dK(fY,function(f2,f1){if(!f1&&c1(fT,f2.history)==-1){dj(f2.history,fX);fT.push(f2.history)}dQ(f2,fX,null,dM(f2,fX))})}}function eX(fO,fQ){if(fQ==0){return}fO.first+=fQ;fO.sel=new fx(bH(fO.sel.ranges,function(fR){return new dB(W(fR.anchor.line+fQ,fR.anchor.ch),W(fR.head.line+fQ,fR.head.ch))}),fO.sel.primIndex);if(fO.cm){af(fO.cm,fO.first,fO.first-fQ,fQ);for(var fP=fO.cm.display,fN=fP.viewFrom;fN<fP.viewTo;fN++){R(fO.cm,fN,"gutter")}}}function dQ(fR,fS,fQ,fO){if(fR.cm&&!fR.cm.curOp){return cL(fR.cm,dQ)(fR,fS,fQ,fO)}if(fS.to.line<fR.first){eX(fR,fS.text.length-1-(fS.to.line-fS.from.line));return}if(fS.from.line>fR.lastLine()){return}if(fS.from.line<fR.first){var fN=fS.text.length-1-(fR.first-fS.from.line);eX(fR,fN);fS={from:W(fR.first,0),to:W(fS.to.line+fN,fS.to.ch),text:[fh(fS.text)],origin:fS.origin}}var fP=fR.lastLine();if(fS.to.line>fP){fS={from:fS.from,to:W(fP,eP(fR,fP).text.length),text:[fS.text[0]],origin:fS.origin}}fS.removed=fy(fR,fS.from,fS.to);if(!fQ){fQ=eU(fR,fS,null)}if(fR.cm){aD(fR.cm,fS,fO)}else{e9(fR,fS,fO)}d1(fR,fQ,Y)}function aD(fY,fU,fS){var fX=fY.doc,fT=fY.display,fV=fU.from,fW=fU.to;var fN=false,fR=fV.line;if(!fY.options.lineWrapping){fR=bC(z(eP(fX,fV.line)));fX.iter(fR,fW.line+1,function(f0){if(f0==fT.maxLine){fN=true;return true}})}if(fX.sel.contains(fU.from,fU.to)>-1){V(fY)}e9(fX,fU,fS,a3(fY));if(!fY.options.lineWrapping){fX.iter(fR,fV.line+fU.text.length,function(f1){var f0=dY(f1);if(f0>fT.maxLineLength){fT.maxLine=f1;fT.maxLineLength=f0;fT.maxLineChanged=true;fN=false}});if(fN){fY.curOp.updateMaxLine=true}}fX.frontier=Math.min(fX.frontier,fV.line);dR(fY,400);var fZ=fU.text.length-(fW.line-fV.line)-1;if(fV.line==fW.line&&fU.text.length==1&&!dw(fY.doc,fU)){R(fY,fV.line,"text")}else{af(fY,fV.line,fW.line+1,fZ)}var fP=eS(fY,"changes"),fQ=eS(fY,"change");if(fQ||fP){var fO={from:fV,to:fW,text:fU.text,removed:fU.removed,origin:fU.origin};if(fQ){ac(fY,"change",fY,fO)}if(fP){(fY.curOp.changeObjs||(fY.curOp.changeObjs=[])).push(fO)}}fY.display.selForContextMenu=null}function aR(fQ,fP,fS,fR,fN){if(!fR){fR=fS}if(b5(fR,fS)<0){var fO=fR;fR=fS;fS=fO}if(typeof fP=="string"){fP=aQ(fP)}a5(fQ,{from:fS,to:fR,text:fP,origin:fN})}function dJ(fO,fR){var fS=fO.display,fP=fS.sizer.getBoundingClientRect(),fN=null;if(fR.top+fP.top<0){fN=true}else{if(fR.bottom+fP.top>(window.innerHeight||document.documentElement.clientHeight)){fN=false}}if(fN!=null&&!e5){var fQ=fw("div","\u200b",null,"position: absolute; top: "+(fR.top-fS.viewOffset-eI(fO.display))+"px; height: "+(fR.bottom-fR.top+ba)+"px; left: "+fR.left+"px; width: 2px;");fO.display.lineSpace.appendChild(fQ);fQ.scrollIntoView(fN);fO.display.lineSpace.removeChild(fQ)}}function E(fW,fU,fR,fQ){if(fQ==null){fQ=0}for(;;){var fS=false,fV=dx(fW,fU);var fN=!fR||fR==fU?fV:dx(fW,fR);var fP=H(fW,Math.min(fV.left,fN.left),Math.min(fV.top,fN.top)-fQ,Math.max(fV.left,fN.left),Math.max(fV.bottom,fN.bottom)+fQ);var fT=fW.doc.scrollTop,fO=fW.doc.scrollLeft;if(fP.scrollTop!=null){N(fW,fP.scrollTop);if(Math.abs(fW.doc.scrollTop-fT)>1){fS=true}}if(fP.scrollLeft!=null){bt(fW,fP.scrollLeft);if(Math.abs(fW.doc.scrollLeft-fO)>1){fS=true}}if(!fS){return fV}}}function F(fN,fP,fR,fO,fQ){var fS=H(fN,fP,fR,fO,fQ);if(fS.scrollTop!=null){N(fN,fS.scrollTop)}if(fS.scrollLeft!=null){bt(fN,fS.scrollLeft)}}function H(fT,f1,fQ,f0,fP){var fY=fT.display,fX=aN(fT.display);if(fQ<0){fQ=0}var fW=fT.curOp&&fT.curOp.scrollTop!=null?fT.curOp.scrollTop:fY.scroller.scrollTop;var fO=fY.scroller.clientHeight-ba,fV={};var f3=fT.doc.height+bx(fY);var f4=fQ<fX,fZ=fP>f3-fX;if(fQ<fW){fV.scrollTop=f4?0:fQ}else{if(fP>fW+fO){var fU=Math.min(fQ,(fZ?f3:fP)-fO);if(fU!=fW){fV.scrollTop=fU}}}var fN=fT.curOp&&fT.curOp.scrollLeft!=null?fT.curOp.scrollLeft:fY.scroller.scrollLeft;var fS=fY.scroller.clientWidth-ba;f1+=fY.gutters.offsetWidth;f0+=fY.gutters.offsetWidth;var fR=fY.gutters.offsetWidth;var f2=f1<fR+10;if(f1<fN+fR||f2){if(f2){f1=0}fV.scrollLeft=Math.max(0,f1-10-fR)}else{if(f0>fS+fN-3){fV.scrollLeft=f0+10-fS}}return fV}function cy(fN,fP,fO){if(fP!=null||fO!=null){fd(fN)}if(fP!=null){fN.curOp.scrollLeft=(fN.curOp.scrollLeft==null?fN.doc.scrollLeft:fN.curOp.scrollLeft)+fP}if(fO!=null){fN.curOp.scrollTop=(fN.curOp.scrollTop==null?fN.doc.scrollTop:fN.curOp.scrollTop)+fO}}function fg(fN){fd(fN);var fO=fN.getCursor(),fQ=fO,fP=fO;if(!fN.options.lineWrapping){fQ=fO.ch?W(fO.line,fO.ch-1):fO;fP=W(fO.line,fO.ch+1)}fN.curOp.scrollToPos={from:fQ,to:fP,margin:fN.options.cursorScrollMargin,isCursor:true}}function fd(fN){var fP=fN.curOp.scrollToPos;if(fP){fN.curOp.scrollToPos=null;var fR=dm(fN,fP.from),fQ=dm(fN,fP.to);var fO=H(fN,Math.min(fR.left,fQ.left),Math.min(fR.top,fQ.top)-fP.margin,Math.max(fR.right,fQ.right),Math.max(fR.bottom,fQ.bottom)+fP.margin);fN.scrollTo(fO.scrollLeft,fO.scrollTop)}}function ab(f0,fQ,fZ,fP){var fY=f0.doc,fO;if(fZ==null){fZ="add"}if(fZ=="smart"){if(!f0.doc.mode.indent){fZ="prev"}else{fO=dg(f0,fQ)}}var fU=f0.options.tabSize;var f1=eP(fY,fQ),fT=bI(f1.text,null,fU);if(f1.stateAfter){f1.stateAfter=null}var fN=f1.text.match(/^\s*/)[0],fW;if(!fP&&!/\S/.test(f1.text)){fW=0;fZ="not"}else{if(fZ=="smart"){fW=f0.doc.mode.indent(fO,f1.text.slice(fN.length),f1.text);if(fW==bZ){if(!fP){return}fZ="prev"}}}if(fZ=="prev"){if(fQ>fY.first){fW=bI(eP(fY,fQ-1).text,null,fU)}else{fW=0}}else{if(fZ=="add"){fW=fT+f0.options.indentUnit}else{if(fZ=="subtract"){fW=fT-f0.options.indentUnit}else{if(typeof fZ=="number"){fW=fT+fZ}}}}fW=Math.max(0,fW);var fX="",fV=0;if(f0.options.indentWithTabs){for(var fR=Math.floor(fW/fU);fR;--fR){fV+=fU;fX+="\t"}}if(fV<fW){fX+=cf(fW-fV)}if(fX!=fN){aR(f0.doc,fX,W(fQ,0),W(fQ,fN.length),"+input")}else{for(var fR=0;fR<fY.sel.ranges.length;fR++){var fS=fY.sel.ranges[fR];if(fS.head.line==fQ&&fS.head.ch<fN.length){var fV=W(fQ,fN.length);f(fY,fR,new dB(fV,fV));break}}}f1.stateAfter=null}function eb(fO,fQ,fN,fT){var fS=fQ,fP=fQ,fR=fO.doc;if(typeof fQ=="number"){fP=eP(fR,cO(fR,fQ))}else{fS=bC(fQ)}if(fS==null){return null}if(fT(fP,fS)){R(fO,fS,fN)}return fP}function eA(fN,fT){var fO=fN.doc.sel.ranges,fR=[];for(var fQ=0;fQ<fO.length;fQ++){var fP=fT(fO[fQ]);while(fR.length&&b5(fP.from,fh(fR).to)<=0){var fS=fR.pop();if(b5(fS.from,fP.from)<0){fP.from=fS.from;break}}fR.push(fP)}cz(fN,function(){for(var fU=fR.length-1;fU>=0;fU--){aR(fN.doc,"",fR[fU].from,fR[fU].to,"+delete")}fg(fN)})}function bm(f4,fQ,fY,fX,fS){var fV=fQ.line,fW=fQ.ch,f3=fY;var fN=eP(f4,fV);var f1=true;function f2(){var f5=fV+fY;if(f5<f4.first||f5>=f4.first+f4.size){return(f1=false)}fV=f5;return fN=eP(f4,f5)}function f0(f6){var f5=(fS?v:ag)(fN,fW,fY,true);if(f5==null){if(!f6&&f2()){if(fS){fW=(fY<0?cE:ct)(fN)}else{fW=fY<0?fN.text.length:0}}else{return(f1=false)}}else{fW=f5}return true}if(fX=="char"){f0()}else{if(fX=="column"){f0(true)}else{if(fX=="word"||fX=="group"){var fZ=null,fT=fX=="group";for(var fR=true;;fR=false){if(fY<0&&!f0(!fR)){break}var fO=fN.text.charAt(fW)||"\n";var fP=cp(fO)?"w":fT&&fO=="\n"?"n":!fT||/\s/.test(fO)?null:"p";if(fT&&!fR&&!fP){fP="s"}if(fZ&&fZ!=fP){if(fY<0){fY=1;f0()}break}if(fP){fZ=fP}if(fY>0&&!f0(!fR)){break}}}}}var fU=bK(f4,W(fV,fW),f3,true);if(!f1){fU.hitSide=true}return fU}function bg(fV,fQ,fN,fU){var fT=fV.doc,fS=fQ.left,fR;if(fU=="page"){var fP=Math.min(fV.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);fR=fQ.top+fN*(fP-(fN<0?1.5:0.5)*aN(fV.display))}else{if(fU=="line"){fR=fN>0?fQ.bottom+3:fQ.top-3}}for(;;){var fO=fo(fV,fS,fR);if(!fO.outside){break}if(fN<0?fR<=0:fR>=fT.height){fO.hitSide=true;break}fR+=fN*5}return fO}function ar(fR,fT){var fQ=eP(fR,fT.line).text;var fS=fT.ch,fP=fT.ch;if(fQ){if((fT.xRel<0||fP==fQ.length)&&fS){--fS}else{++fP}var fO=fQ.charAt(fS);var fN=cp(fO)?cp:/\s/.test(fO)?function(fU){return/\s/.test(fU)}:function(fU){return !/\s/.test(fU)&&!cp(fU)};while(fS>0&&fN(fQ.charAt(fS-1))){--fS}while(fP<fQ.length&&fN(fQ.charAt(fP))){++fP}}return new dB(W(fT.line,fS),W(fT.line,fP))}I.prototype={constructor:I,focus:function(){window.focus();ed(this);C(this)},setOption:function(fP,fQ){var fO=this.options,fN=fO[fP];if(fO[fP]==fQ&&fP!="mode"){return}fO[fP]=fQ;if(a4.hasOwnProperty(fP)){cL(this,a4[fP])(this,fQ,fN)}},getOption:function(fN){return this.options[fN]},getDoc:function(){return this.doc},addKeyMap:function(fO,fN){this.state.keyMaps[fN?"push":"unshift"](fO)},removeKeyMap:function(fO){var fP=this.state.keyMaps;for(var fN=0;fN<fP.length;++fN){if(fP[fN]==fO||(typeof fP[fN]!="string"&&fP[fN].name==fO)){fP.splice(fN,1);return true}}},addOverlay:cR(function(fN,fO){var fP=fN.token?fN:I.getMode(this.options,fN);if(fP.startState){throw new Error("Overlays may not be stateful.")}this.state.overlays.push({mode:fP,modeSpec:fN,opaque:fO&&fO.opaque});this.state.modeGen++;af(this)}),removeOverlay:cR(function(fN){var fP=this.state.overlays;for(var fO=0;fO<fP.length;++fO){var fQ=fP[fO].modeSpec;if(fQ==fN||typeof fN=="string"&&fQ.name==fN){fP.splice(fO,1);this.state.modeGen++;af(this);return}}}),indentLine:cR(function(fP,fN,fO){if(typeof fN!="string"&&typeof fN!="number"){if(fN==null){fN=this.options.smartIndent?"smart":"prev"}else{fN=fN?"add":"subtract"}}if(bW(this.doc,fP)){ab(this,fP,fN,fO)}}),indentSelection:cR(function(fS){var fO=this.doc.sel.ranges,fN=-1;for(var fR=0;fR<fO.length;fR++){var fP=fO[fR];if(!fP.empty()){var fU=Math.max(fN,fP.from().line);var fT=fP.to();fN=Math.min(this.lastLine(),fT.line-(fT.ch?0:1))+1;for(var fQ=fU;fQ<fN;++fQ){ab(this,fQ,fS)}}else{if(fP.head.line>fN){ab(this,fP.head.line,fS,true);fN=fP.head.line;if(fR==this.doc.sel.primIndex){fg(this)}}}}}),getTokenAt:function(fU,fO){var fR=this.doc;fU=fj(fR,fU);var fQ=dg(this,fU.line,fO),fT=this.doc.mode;var fN=eP(fR,fU.line);var fS=new ew(fN.text,this.options.tabSize);while(fS.pos<fU.ch&&!fS.eol()){fS.start=fS.pos;var fP=ef(fT,fS,fQ)}return{start:fS.start,end:fS.pos,string:fS.current(),type:fP||null,state:fQ}},getTokenTypeAt:function(fU){fU=fj(this.doc,fU);var fQ=cQ(this,eP(this.doc,fU.line));var fS=0,fT=(fQ.length-1)/2,fP=fU.ch;var fO;if(fP==0){fO=fQ[2]}else{for(;;){var fN=(fS+fT)>>1;if((fN?fQ[fN*2-1]:0)>=fP){fT=fN}else{if(fQ[fN*2+1]<fP){fS=fN+1}else{fO=fQ[fN*2+2];break}}}}var fR=fO?fO.indexOf("cm-overlay "):-1;return fR<0?fO:fR==0?null:fO.slice(0,fR-1)},getModeAt:function(fO){var fN=this.doc.mode;if(!fN.innerMode){return fN}return I.innerMode(fN,this.getTokenAt(fO).state).mode},getHelper:function(fO,fN){return this.getHelpers(fO,fN)[0]},getHelpers:function(fU,fP){var fQ=[];if(!eY.hasOwnProperty(fP)){return eY}var fN=eY[fP],fT=this.getModeAt(fU);if(typeof fT[fP]=="string"){if(fN[fT[fP]]){fQ.push(fN[fT[fP]])}}else{if(fT[fP]){for(var fO=0;fO<fT[fP].length;fO++){var fS=fN[fT[fP][fO]];if(fS){fQ.push(fS)}}}else{if(fT.helperType&&fN[fT.helperType]){fQ.push(fN[fT.helperType])}else{if(fN[fT.name]){fQ.push(fN[fT.name])}}}}for(var fO=0;fO<fN._global.length;fO++){var fR=fN._global[fO];if(fR.pred(fT,this)&&c1(fQ,fR.val)==-1){fQ.push(fR.val)}}return fQ},getStateAfter:function(fO,fN){var fP=this.doc;fO=cO(fP,fO==null?fP.first+fP.size-1:fO);return dg(this,fO+1,fN)},cursorCoords:function(fQ,fO){var fP,fN=this.doc.sel.primary();if(fQ==null){fP=fN.head}else{if(typeof fQ=="object"){fP=fj(this.doc,fQ)}else{fP=fQ?fN.from():fN.to()}}return dx(this,fP,fO||"page")},charCoords:function(fO,fN){return cx(this,fj(this.doc,fO),fN||"page")},coordsChar:function(fN,fO){fN=fJ(this,fN,fO||"page");return fo(this,fN.left,fN.top)},lineAtHeight:function(fN,fO){fN=fJ(this,{top:fN,left:0},fO||"page").top;return bv(this.doc,fN+this.display.viewOffset)},heightAtLine:function(fO,fR){var fN=false,fQ=this.doc.first+this.doc.size-1;if(fO<this.doc.first){fO=this.doc.first}else{if(fO>fQ){fO=fQ;fN=true}}var fP=eP(this.doc,fO);return et(this,fP,{top:0,left:0},fR||"page").top+(fN?this.doc.height-bB(fP):0)},defaultTextHeight:function(){return aN(this.display)},defaultCharWidth:function(){return di(this.display)},setGutterMarker:cR(function(fN,fO,fP){return eb(this,fN,"gutter",function(fQ){var fR=fQ.gutterMarkers||(fQ.gutterMarkers={});fR[fO]=fP;if(!fP&&ex(fR)){fQ.gutterMarkers=null}return true})}),clearGutter:cR(function(fP){var fN=this,fQ=fN.doc,fO=fQ.first;fQ.iter(function(fR){if(fR.gutterMarkers&&fR.gutterMarkers[fP]){fR.gutterMarkers[fP]=null;R(fN,fO,"gutter");if(ex(fR.gutterMarkers)){fR.gutterMarkers=null}}++fO})}),addLineClass:cR(function(fP,fO,fN){return eb(this,fP,"class",function(fQ){var fR=fO=="text"?"textClass":fO=="background"?"bgClass":"wrapClass";if(!fQ[fR]){fQ[fR]=fN}else{if(new RegExp("(?:^|\\s)"+fN+"(?:$|\\s)").test(fQ[fR])){return false}else{fQ[fR]+=" "+fN}}return true})}),removeLineClass:cR(function(fP,fO,fN){return eb(this,fP,"class",function(fR){var fU=fO=="text"?"textClass":fO=="background"?"bgClass":"wrapClass";var fT=fR[fU];if(!fT){return false}else{if(fN==null){fR[fU]=null}else{var fS=fT.match(new RegExp("(?:^|\\s+)"+fN+"(?:$|\\s+)"));if(!fS){return false}var fQ=fS.index+fS[0].length;fR[fU]=fT.slice(0,fS.index)+(!fS.index||fQ==fT.length?"":" ")+fT.slice(fQ)||null}}return true})}),addLineWidget:cR(function(fP,fO,fN){return bw(this,fP,fO,fN)}),removeLineWidget:function(fN){fN.clear()},lineInfo:function(fN){if(typeof fN=="number"){if(!bW(this.doc,fN)){return null}var fO=fN;fN=eP(this.doc,fN);if(!fN){return null}}else{var fO=bC(fN);if(fO==null){return null}}return{line:fO,handle:fN,text:fN.text,gutterMarkers:fN.gutterMarkers,textClass:fN.textClass,bgClass:fN.bgClass,wrapClass:fN.wrapClass,widgets:fN.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(fS,fP,fU,fQ,fW){var fR=this.display;fS=dx(this,fj(this.doc,fS));var fT=fS.bottom,fO=fS.left;fP.style.position="absolute";fR.sizer.appendChild(fP);if(fQ=="over"){fT=fS.top}else{if(fQ=="above"||fQ=="near"){var fN=Math.max(fR.wrapper.clientHeight,this.doc.height),fV=Math.max(fR.sizer.clientWidth,fR.lineSpace.clientWidth);if((fQ=="above"||fS.bottom+fP.offsetHeight>fN)&&fS.top>fP.offsetHeight){fT=fS.top-fP.offsetHeight}else{if(fS.bottom+fP.offsetHeight<=fN){fT=fS.bottom}}if(fO+fP.offsetWidth>fV){fO=fV-fP.offsetWidth}}}fP.style.top=fT+"px";fP.style.left=fP.style.right="";if(fW=="right"){fO=fR.sizer.clientWidth-fP.offsetWidth;fP.style.right="0px"}else{if(fW=="left"){fO=0}else{if(fW=="middle"){fO=(fR.sizer.clientWidth-fP.offsetWidth)/2}}fP.style.left=fO+"px"}if(fU){F(this,fO,fT,fO+fP.offsetWidth,fT+fP.offsetHeight)}},triggerOnKeyDown:cR(q),triggerOnKeyPress:cR(cn),triggerOnKeyUp:cR(a7),execCommand:function(fN){if(eh.hasOwnProperty(fN)){return eh[fN](this)}},findPosH:function(fT,fQ,fR,fO){var fN=1;if(fQ<0){fN=-1;fQ=-fQ}for(var fP=0,fS=fj(this.doc,fT);fP<fQ;++fP){fS=bm(this.doc,fS,fN,fR,fO);if(fS.hitSide){break}}return fS},moveH:cR(function(fO,fP){var fN=this;fN.extendSelectionsBy(function(fQ){if(fN.display.shift||fN.doc.extend||fQ.empty()){return bm(fN.doc,fQ.head,fO,fP,fN.options.rtlMoveVisually)}else{return fO<0?fQ.from():fQ.to()}},cF)}),deleteH:cR(function(fN,fO){var fP=this.doc.sel,fQ=this.doc;if(fP.somethingSelected()){fQ.replaceSelection("",null,"+delete")}else{eA(this,function(fS){var fR=bm(fQ,fS.head,fN,fO,false);return fN<0?{from:fR,to:fS.head}:{from:fS.head,to:fR}})}}),findPosV:function(fS,fP,fT,fV){var fN=1,fR=fV;if(fP<0){fN=-1;fP=-fP}for(var fO=0,fU=fj(this.doc,fS);fO<fP;++fO){var fQ=dx(this,fU,"div");if(fR==null){fR=fQ.left}else{fQ.left=fR}fU=bg(this,fQ,fN,fT);if(fU.hitSide){break}}return fU},moveV:cR(function(fO,fQ){var fN=this,fS=this.doc,fR=[];var fT=!fN.display.shift&&!fS.extend&&fS.sel.somethingSelected();fS.extendSelectionsBy(function(fU){if(fT){return fO<0?fU.from():fU.to()}var fW=dx(fN,fU.head,"div");if(fU.goalColumn!=null){fW.left=fU.goalColumn}fR.push(fW.left);var fV=bg(fN,fW,fO,fQ);if(fQ=="page"&&fU==fS.sel.primary()){cy(fN,null,cx(fN,fV,"div").top-fW.top)}return fV},cF);if(fR.length){for(var fP=0;fP<fS.sel.ranges.length;fP++){fS.sel.ranges[fP].goalColumn=fR[fP]}}}),toggleOverwrite:function(fN){if(fN!=null&&fN==this.state.overwrite){return}if(this.state.overwrite=!this.state.overwrite){fb(this.display.cursorDiv,"CodeMirror-overwrite")}else{g(this.display.cursorDiv,"CodeMirror-overwrite")}az(this,"overwriteToggle",this,this.state.overwrite)},hasFocus:function(){return ds()==this.display.input},scrollTo:cR(function(fN,fO){if(fN!=null||fO!=null){fd(this)}if(fN!=null){this.curOp.scrollLeft=fN}if(fO!=null){this.curOp.scrollTop=fO}}),getScrollInfo:function(){var fN=this.display.scroller,fO=ba;return{left:fN.scrollLeft,top:fN.scrollTop,height:fN.scrollHeight-fO,width:fN.scrollWidth-fO,clientHeight:fN.clientHeight-fO,clientWidth:fN.clientWidth-fO}},scrollIntoView:cR(function(fO,fP){if(fO==null){fO={from:this.doc.sel.primary().head,to:null};if(fP==null){fP=this.options.cursorScrollMargin}}else{if(typeof fO=="number"){fO={from:W(fO,0),to:null}}else{if(fO.from==null){fO={from:fO,to:null}}}}if(!fO.to){fO.to=fO.from}fO.margin=fP||0;if(fO.from.line!=null){fd(this);this.curOp.scrollToPos=fO}else{var fN=H(this,Math.min(fO.from.left,fO.to.left),Math.min(fO.from.top,fO.to.top)-fO.margin,Math.max(fO.from.right,fO.to.right),Math.max(fO.from.bottom,fO.to.bottom)+fO.margin);this.scrollTo(fN.scrollLeft,fN.scrollTop)}}),setSize:cR(function(fP,fN){function fO(fQ){return typeof fQ=="number"||/^\d+$/.test(String(fQ))?fQ+"px":fQ}if(fP!=null){this.display.wrapper.style.width=fO(fP)}if(fN!=null){this.display.wrapper.style.height=fO(fN)}if(this.options.lineWrapping){aF(this)}this.curOp.forceUpdate=true;az(this,"refresh",this)}),operation:function(fN){return cz(this,fN)},refresh:cR(function(){var fN=this.display.cachedTextHeight;af(this);this.curOp.forceUpdate=true;ai(this);this.scrollTo(this.doc.scrollLeft,this.doc.scrollTop);cN(this);if(fN==null||Math.abs(fN-aN(this.display))>0.5){X(this)}az(this,"refresh",this)}),swapDoc:cR(function(fO){var fN=this.doc;fN.cm=null;dN(this,fO);ai(this);eZ(this);this.scrollTo(fO.scrollLeft,fO.scrollTop);ac(this,"swapDoc",this,fN);return fN}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};bo(I);var eF=I.defaults={};var a4=I.optionHandlers={};function t(fN,fQ,fP,fO){I.defaults[fN]=fQ;if(fP){a4[fN]=fO?function(fR,fT,fS){if(fS!=b2){fP(fR,fT,fS)}}:fP}}var b2=I.Init={toString:function(){return"CodeMirror.Init"}};t("value","",function(fN,fO){fN.setValue(fO)},true);t("mode",null,function(fN,fO){fN.doc.modeOption=fO;bh(fN)},true);t("indentUnit",2,bh,true);t("indentWithTabs",false);t("smartIndent",true);t("tabSize",4,function(fN){dX(fN);ai(fN);af(fN)},true);t("specialChars",/[\t\u0000-\u0019\u00ad\u200b\u2028\u2029\ufeff]/g,function(fN,fO){fN.options.specialChars=new RegExp(fO.source+(fO.test("\t")?"":"|\t"),"g");fN.refresh()},true);t("specialCharPlaceholder",eN,function(fN){fN.refresh()},true);t("electricChars",true);t("rtlMoveVisually",!aG);t("wholeLineUpdateBefore",true);t("theme","default",function(fN){cB(fN);db(fN)},true);t("keyMap","default",fK);t("extraKeys",null);t("lineWrapping",false,ek,true);t("gutters",[],function(fN){b4(fN.options);db(fN)},true);t("fixedGutter",true,function(fN,fO){fN.display.gutters.style.left=fO?dA(fN.display)+"px":"0";fN.refresh()},true);t("coverGutterNextToScrollbar",false,eB,true);t("lineNumbers",false,function(fN){b4(fN.options);db(fN)},true);t("firstLineNumber",1,db,true);t("lineNumberFormatter",function(fN){return fN},db,true);t("showCursorWhenSelecting",false,br,true);t("resetSelectionOnContextMenu",true);t("readOnly",false,function(fN,fO){if(fO=="nocursor"){aL(fN);fN.display.input.blur();fN.display.disabled=true}else{fN.display.disabled=false;if(!fO){eZ(fN)}}});t("disableInput",false,function(fN,fO){if(!fO){eZ(fN)}},true);t("dragDrop",true);t("cursorBlinkRate",530);t("cursorScrollMargin",0);t("cursorHeight",1);t("workTime",100);t("workDelay",100);t("flattenSpans",true,dX,true);t("addModeClass",false,dX,true);t("pollInterval",100);t("undoDepth",200,function(fN,fO){fN.doc.history.undoDepth=fO});t("historyEventDelay",1250);t("viewportMargin",10,function(fN){fN.refresh()},true);t("maxHighlightLength",10000,dX,true);t("moveInputWithCursor",true,function(fN,fO){if(!fO){fN.display.inputDiv.style.top=fN.display.inputDiv.style.left=0}});t("tabindex",null,function(fN,fO){fN.display.input.tabIndex=fO||""});t("autofocus",null);var c8=I.modes={},aJ=I.mimeModes={};I.defineMode=function(fN,fP){if(!I.defaults.mode&&fN!="null"){I.defaults.mode=fN}if(arguments.length>2){fP.dependencies=[];for(var fO=2;fO<arguments.length;++fO){fP.dependencies.push(arguments[fO])}}c8[fN]=fP};I.defineMIME=function(fO,fN){aJ[fO]=fN};I.resolveMode=function(fN){if(typeof fN=="string"&&aJ.hasOwnProperty(fN)){fN=aJ[fN]}else{if(fN&&typeof fN.name=="string"&&aJ.hasOwnProperty(fN.name)){var fO=aJ[fN.name];if(typeof fO=="string"){fO={name:fO}}fN=ca(fO,fN);fN.name=fO.name}else{if(typeof fN=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(fN)){return I.resolveMode("application/xml")}}}if(typeof fN=="string"){return{name:fN}}else{return fN||{name:"null"}}};I.getMode=function(fO,fN){var fN=I.resolveMode(fN);var fQ=c8[fN.name];if(!fQ){return I.getMode(fO,"text/plain")}var fR=fQ(fO,fN);if(c5.hasOwnProperty(fN.name)){var fP=c5[fN.name];for(var fS in fP){if(!fP.hasOwnProperty(fS)){continue}if(fR.hasOwnProperty(fS)){fR["_"+fS]=fR[fS]}fR[fS]=fP[fS]}}fR.name=fN.name;if(fN.helperType){fR.helperType=fN.helperType}if(fN.modeProps){for(var fS in fN.modeProps){fR[fS]=fN.modeProps[fS]}}return fR};I.defineMode("null",function(){return{token:function(fN){fN.skipToEnd()}}});I.defineMIME("text/plain","null");var c5=I.modeExtensions={};I.extendMode=function(fP,fO){var fN=c5.hasOwnProperty(fP)?c5[fP]:(c5[fP]={});aE(fO,fN)};I.defineExtension=function(fN,fO){I.prototype[fN]=fO};I.defineDocExtension=function(fN,fO){ao.prototype[fN]=fO};I.defineOption=t;var aY=[];I.defineInitHook=function(fN){aY.push(fN)};var eY=I.helpers={};I.registerHelper=function(fO,fN,fP){if(!eY.hasOwnProperty(fO)){eY[fO]=I[fO]={_global:[]}}eY[fO][fN]=fP};I.registerGlobalHelper=function(fP,fO,fN,fQ){I.registerHelper(fP,fO,fQ);eY[fP]._global.push({pred:fN,val:fQ})};var bR=I.copyState=function(fQ,fN){if(fN===true){return fN}if(fQ.copyState){return fQ.copyState(fN)}var fP={};for(var fR in fN){var fO=fN[fR];if(fO instanceof Array){fO=fO.concat([])}fP[fR]=fO}return fP};var bP=I.startState=function(fP,fO,fN){return fP.startState?fP.startState(fO,fN):true};I.innerMode=function(fP,fN){while(fP.innerMode){var fO=fP.innerMode(fN);if(!fO||fO.mode==fP){break}fN=fO.state;fP=fO.mode}return fO||{mode:fP,state:fN}};var eh=I.commands={selectAll:function(fN){fN.setSelection(W(fN.firstLine(),0),W(fN.lastLine()),Y)},singleSelection:function(fN){fN.setSelection(fN.getCursor("anchor"),fN.getCursor("head"),Y)},killLine:function(fN){eA(fN,function(fP){if(fP.empty()){var fO=eP(fN.doc,fP.head.line).text.length;if(fP.head.ch==fO&&fP.head.line<fN.lastLine()){return{from:fP.head,to:W(fP.head.line+1,0)}}else{return{from:fP.head,to:W(fP.head.line,fO)}}}else{return{from:fP.from(),to:fP.to()}}})},deleteLine:function(fN){eA(fN,function(fO){return{from:W(fO.from().line,0),to:fj(fN.doc,W(fO.to().line+1,0))}})},delLineLeft:function(fN){eA(fN,function(fO){return{from:W(fO.from().line,0),to:fO.from()}})},undo:function(fN){fN.undo()},redo:function(fN){fN.redo()},undoSelection:function(fN){fN.undoSelection()},redoSelection:function(fN){fN.redoSelection()},goDocStart:function(fN){fN.extendSelection(W(fN.firstLine(),0))},goDocEnd:function(fN){fN.extendSelection(W(fN.lastLine()))},goLineStart:function(fN){fN.extendSelectionsBy(function(fO){return bj(fN,fO.head.line)},cF)},goLineStartSmart:function(fN){fN.extendSelectionsBy(function(fQ){var fT=bj(fN,fQ.head.line);var fP=fN.getLineHandle(fT.line);var fO=a(fP);if(!fO||fO[0].level==0){var fS=Math.max(0,fP.text.search(/\S/));var fR=fQ.head.line==fT.line&&fQ.head.ch<=fS&&fQ.head.ch;return W(fT.line,fR?0:fS)}return fT},cF)},goLineEnd:function(fN){fN.extendSelectionsBy(function(fO){return dt(fN,fO.head.line)},cF)},goLineRight:function(fN){fN.extendSelectionsBy(function(fO){var fP=fN.charCoords(fO.head,"div").top+5;return fN.coordsChar({left:fN.display.lineDiv.offsetWidth+100,top:fP},"div")},cF)},goLineLeft:function(fN){fN.extendSelectionsBy(function(fO){var fP=fN.charCoords(fO.head,"div").top+5;return fN.coordsChar({left:0,top:fP},"div")},cF)},goLineUp:function(fN){fN.moveV(-1,"line")},goLineDown:function(fN){fN.moveV(1,"line")},goPageUp:function(fN){fN.moveV(-1,"page")},goPageDown:function(fN){fN.moveV(1,"page")},goCharLeft:function(fN){fN.moveH(-1,"char")},goCharRight:function(fN){fN.moveH(1,"char")},goColumnLeft:function(fN){fN.moveH(-1,"column")},goColumnRight:function(fN){fN.moveH(1,"column")},goWordLeft:function(fN){fN.moveH(-1,"word")},goGroupRight:function(fN){fN.moveH(1,"group")},goGroupLeft:function(fN){fN.moveH(-1,"group")},goWordRight:function(fN){fN.moveH(1,"word")},delCharBefore:function(fN){fN.deleteH(-1,"char")},delCharAfter:function(fN){fN.deleteH(1,"char")},delWordBefore:function(fN){fN.deleteH(-1,"word")},delWordAfter:function(fN){fN.deleteH(1,"word")},delGroupBefore:function(fN){fN.deleteH(-1,"group")},delGroupAfter:function(fN){fN.deleteH(1,"group")},indentAuto:function(fN){fN.indentSelection("smart")},indentMore:function(fN){fN.indentSelection("add")},indentLess:function(fN){fN.indentSelection("subtract")},insertTab:function(fN){fN.replaceSelection("\t")},insertSoftTab:function(fN){var fP=[],fO=fN.listSelections(),fS=fN.options.tabSize;for(var fR=0;fR<fO.length;fR++){var fT=fO[fR].from();var fQ=bI(fN.getLine(fT.line),fT.ch,fS);fP.push(new Array(fS-fQ%fS+1).join(" "))}fN.replaceSelections(fP)},defaultTab:function(fN){if(fN.somethingSelected()){fN.indentSelection("add")}else{fN.execCommand("insertTab")}},transposeChars:function(fN){cz(fN,function(){var fP=fN.listSelections();for(var fQ=0;fQ<fP.length;fQ++){var fR=fP[fQ].head,fO=eP(fN.doc,fR.line).text;if(fR.ch>0&&fR.ch<fO.length-1){fN.replaceRange(fO.charAt(fR.ch)+fO.charAt(fR.ch-1),W(fR.line,fR.ch-1),W(fR.line,fR.ch+1))}}})},newlineAndIndent:function(fN){cz(fN,function(){var fO=fN.listSelections().length;for(var fQ=0;fQ<fO;fQ++){var fP=fN.listSelections()[fQ];fN.replaceRange("\n",fP.anchor,fP.head,"+input");fN.indentLine(fP.from().line+1,null,true);fg(fN)}})},toggleOverwrite:function(fN){fN.toggleOverwrite()}};var eK=I.keyMap={};eK.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"};eK.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"};eK.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delLineLeft","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection",fallthrough:["basic","emacsy"]};eK.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};eK["default"]=bU?eK.macDefault:eK.pcDefault;function fu(fN){if(typeof fN=="string"){return eK[fN]}else{return fN}}var j=I.lookupKey=function(fO,fS,fQ){function fR(fX){fX=fu(fX);var fW=fX[fO];if(fW===false){return"stop"}if(fW!=null&&fQ(fW)){return true}if(fX.nofallthrough){return"stop"}var fV=fX.fallthrough;if(fV==null){return false}if(Object.prototype.toString.call(fV)!="[object Array]"){return fR(fV)}for(var fU=0;fU<fV.length;++fU){var fT=fR(fV[fU]);if(fT){return fT}}return false}for(var fP=0;fP<fS.length;++fP){var fN=fR(fS[fP]);if(fN){return fN!="stop"}}};var eg=I.isModifierKey=function(fO){var fN=eQ[fO.keyCode];return fN=="Ctrl"||fN=="Alt"||fN=="Shift"||fN=="Mod"};var e2=I.keyName=function(fO,fP){if(dF&&fO.keyCode==34&&fO["char"]){return false}var fN=eQ[fO.keyCode];if(fN==null||fO.altGraphKey){return false}if(fO.altKey){fN="Alt-"+fN}if(bF?fO.metaKey:fO.ctrlKey){fN="Ctrl-"+fN}if(bF?fO.ctrlKey:fO.metaKey){fN="Cmd-"+fN}if(!fP&&fO.shiftKey){fN="Shift-"+fN}return fN};I.fromTextArea=function(fU,fV){if(!fV){fV={}}fV.value=fU.value;if(!fV.tabindex&&fU.tabindex){fV.tabindex=fU.tabindex}if(!fV.placeholder&&fU.placeholder){fV.placeholder=fU.placeholder}if(fV.autofocus==null){var fN=ds();fV.autofocus=fN==fU||fU.getAttribute("autofocus")!=null&&fN==document.body}function fR(){fU.value=fT.getValue()}if(fU.form){bM(fU.form,"submit",fR);if(!fV.leaveSubmitMethodAlone){var fO=fU.form,fS=fO.submit;try{var fQ=fO.submit=function(){fR();fO.submit=fS;fO.submit();fO.submit=fQ}}catch(fP){}}}fU.style.display="none";var fT=I(function(fW){fU.parentNode.insertBefore(fW,fU.nextSibling)},fV);fT.save=fR;fT.getTextArea=function(){return fU};fT.toTextArea=function(){fR();fU.parentNode.removeChild(fT.getWrapperElement());fU.style.display="";if(fU.form){dP(fU.form,"submit",fR);if(typeof fU.form.submit=="function"){fU.form.submit=fS}}};return fT};var ew=I.StringStream=function(fN,fO){this.pos=this.start=0;this.string=fN;this.tabSize=fO||8;this.lastColumnPos=this.lastColumnValue=0;this.lineStart=0};ew.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(fN){var fP=this.string.charAt(this.pos);if(typeof fN=="string"){var fO=fP==fN}else{var fO=fP&&(fN.test?fN.test(fP):fN(fP))}if(fO){++this.pos;return fP}},eatWhile:function(fN){var fO=this.pos;while(this.eat(fN)){}return this.pos>fO},eatSpace:function(){var fN=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>fN},skipToEnd:function(){this.pos=this.string.length},skipTo:function(fN){var fO=this.string.indexOf(fN,this.pos);if(fO>-1){this.pos=fO;return true}},backUp:function(fN){this.pos-=fN},column:function(){if(this.lastColumnPos<this.start){this.lastColumnValue=bI(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue);this.lastColumnPos=this.start}return this.lastColumnValue-(this.lineStart?bI(this.string,this.lineStart,this.tabSize):0)},indentation:function(){return bI(this.string,null,this.tabSize)-(this.lineStart?bI(this.string,this.lineStart,this.tabSize):0)},match:function(fR,fO,fN){if(typeof fR=="string"){var fS=function(fT){return fN?fT.toLowerCase():fT};var fQ=this.string.substr(this.pos,fR.length);if(fS(fQ)==fS(fR)){if(fO!==false){this.pos+=fR.length}return true}}else{var fP=this.string.slice(this.pos).match(fR);if(fP&&fP.index>0){return null}if(fP&&fO!==false){this.pos+=fP[0].length}return fP}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(fO,fN){this.lineStart+=fO;try{return fN()}finally{this.lineStart-=fO}}};var P=I.TextMarker=function(fO,fN){this.lines=[];this.type=fN;this.doc=fO};bo(P);P.prototype.clear=function(){if(this.explicitlyCleared){return}var fU=this.doc.cm,fO=fU&&!fU.curOp;if(fO){cw(fU)}if(eS(this,"clear")){var fV=this.find();if(fV){ac(this,"clear",fV.from,fV.to)}}var fP=null,fS=null;for(var fQ=0;fQ<this.lines.length;++fQ){var fW=this.lines[fQ];var fT=eJ(fW.markedSpans,this);if(fU&&!this.collapsed){R(fU,bC(fW),"text")}else{if(fU){if(fT.to!=null){fS=bC(fW)}if(fT.from!=null){fP=bC(fW)}}}fW.markedSpans=el(fW.markedSpans,fT);if(fT.from==null&&this.collapsed&&!e7(this.doc,fW)&&fU){fA(fW,aN(fU.display))}}if(fU&&this.collapsed&&!fU.options.lineWrapping){for(var fQ=0;fQ<this.lines.length;++fQ){var fN=z(this.lines[fQ]),fR=dY(fN);if(fR>fU.display.maxLineLength){fU.display.maxLine=fN;fU.display.maxLineLength=fR;fU.display.maxLineChanged=true}}}if(fP!=null&&fU&&this.collapsed){af(fU,fP,fS+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(fU){ea(fU.doc)}}if(fU){ac(fU,"markerCleared",fU,this)}if(fO){aj(fU)}if(this.parent){this.parent.clear()}};P.prototype.find=function(fQ,fO){if(fQ==null&&this.type=="bookmark"){fQ=1}var fT,fS;for(var fP=0;fP<this.lines.length;++fP){var fN=this.lines[fP];var fR=eJ(fN.markedSpans,this);if(fR.from!=null){fT=W(fO?fN:bC(fN),fR.from);if(fQ==-1){return fT}}if(fR.to!=null){fS=W(fO?fN:bC(fN),fR.to);if(fQ==1){return fS}}}return fT&&{from:fT,to:fS}};P.prototype.changed=function(){var fP=this.find(-1,true),fO=this,fN=this.doc.cm;if(!fP||!fN){return}cz(fN,function(){var fR=fP.line,fS=bC(fP.line);var fQ=eL(fN,fS);if(fQ){ap(fQ);fN.curOp.selectionChanged=fN.curOp.forceUpdate=true}fN.curOp.updateMaxLine=true;if(!e7(fO.doc,fR)&&fO.height!=null){var fU=fO.height;fO.height=null;var fT=cH(fO)-fU;if(fT){fA(fR,fR.height+fT)}}})};P.prototype.attachLine=function(fN){if(!this.lines.length&&this.doc.cm){var fO=this.doc.cm.curOp;if(!fO.maybeHiddenMarkers||c1(fO.maybeHiddenMarkers,this)==-1){(fO.maybeUnhiddenMarkers||(fO.maybeUnhiddenMarkers=[])).push(this)}}this.lines.push(fN)};P.prototype.detachLine=function(fN){this.lines.splice(c1(this.lines,fN),1);if(!this.lines.length&&this.doc.cm){var fO=this.doc.cm.curOp;(fO.maybeHiddenMarkers||(fO.maybeHiddenMarkers=[])).push(this)}};var aV=0;function ej(fV,fT,fU,fX,fR){if(fX&&fX.shared){return O(fV,fT,fU,fX,fR)}if(fV.cm&&!fV.cm.curOp){return cL(fV.cm,ej)(fV,fT,fU,fX,fR)}var fQ=new P(fV,fR),fW=b5(fT,fU);if(fX){aE(fX,fQ,false)}if(fW>0||fW==0&&fQ.clearWhenEmpty!==false){return fQ}if(fQ.replacedWith){fQ.collapsed=true;fQ.widgetNode=fw("span",[fQ.replacedWith],"CodeMirror-widget");if(!fX.handleMouseEvents){fQ.widgetNode.ignoreEvents=true}if(fX.insertLeft){fQ.widgetNode.insertLeft=true}}if(fQ.collapsed){if(A(fV,fT.line,fT,fU,fQ)||fT.line!=fU.line&&A(fV,fU.line,fT,fU,fQ)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}aX=true}if(fQ.addToHistory){fm(fV,{from:fT,to:fU,origin:"markText"},fV.sel,NaN)}var fO=fT.line,fS=fV.cm,fN;fV.iter(fO,fU.line+1,function(fY){if(fS&&fQ.collapsed&&!fS.options.lineWrapping&&z(fY)==fS.display.maxLine){fN=true}if(fQ.collapsed&&fO!=fT.line){fA(fY,0)}b3(fY,new dU(fQ,fO==fT.line?fT.ch:null,fO==fU.line?fU.ch:null));++fO});if(fQ.collapsed){fV.iter(fT.line,fU.line+1,function(fY){if(e7(fV,fY)){fA(fY,0)}})}if(fQ.clearOnEnter){bM(fQ,"beforeCursorEnter",function(){fQ.clear()})}if(fQ.readOnly){fH=true;if(fV.history.done.length||fV.history.undone.length){fV.clearHistory()}}if(fQ.collapsed){fQ.id=++aV;fQ.atomic=true}if(fS){if(fN){fS.curOp.updateMaxLine=true}if(fQ.collapsed){af(fS,fT.line,fU.line+1)}else{if(fQ.className||fQ.title||fQ.startStyle||fQ.endStyle){for(var fP=fT.line;fP<=fU.line;fP++){R(fS,fP,"text")}}}if(fQ.atomic){ea(fS.doc)}ac(fS,"markerAdded",fS,fQ)}return fQ}var y=I.SharedTextMarker=function(fP,fO){this.markers=fP;this.primary=fO;for(var fN=0;fN<fP.length;++fN){fP[fN].parent=this}};bo(y);y.prototype.clear=function(){if(this.explicitlyCleared){return}this.explicitlyCleared=true;for(var fN=0;fN<this.markers.length;++fN){this.markers[fN].clear()}ac(this,"clear")};y.prototype.find=function(fO,fN){return this.primary.find(fO,fN)};function O(fR,fU,fT,fN,fP){fN=aE(fN);fN.shared=false;var fS=[ej(fR,fU,fT,fN,fP)],fO=fS[0];var fQ=fN.widgetNode;dK(fR,function(fW){if(fQ){fN.widgetNode=fQ.cloneNode(true)}fS.push(ej(fW,fj(fW,fU),fj(fW,fT),fN,fP));for(var fV=0;fV<fW.linked.length;++fV){if(fW.linked[fV].isParent){return}}fO=fh(fS)});return new y(fS,fO)}function es(fN){return fN.findMarks(W(fN.first,0),fN.clipPos(W(fN.lastLine())),function(fO){return fO.parent})}function dk(fS,fT){for(var fQ=0;fQ<fT.length;fQ++){var fO=fT[fQ],fU=fO.find();var fN=fS.clipPos(fU.from),fR=fS.clipPos(fU.to);if(b5(fN,fR)){var fP=ej(fS,fN,fR,fO.primary,fO.primary.type);fO.markers.push(fP);fP.parent=fO}}}function d0(fQ){for(var fP=0;fP<fQ.length;fP++){var fN=fQ[fP],fS=[fN.primary.doc];dK(fN.primary.doc,function(fT){fS.push(fT)});for(var fO=0;fO<fN.markers.length;fO++){var fR=fN.markers[fO];if(c1(fS,fR.doc)==-1){fR.parent=null;fN.markers.splice(fO--,1)}}}}function dU(fN,fP,fO){this.marker=fN;this.from=fP;this.to=fO}function eJ(fP,fN){if(fP){for(var fO=0;fO<fP.length;++fO){var fQ=fP[fO];if(fQ.marker==fN){return fQ}}}}function el(fO,fP){for(var fQ,fN=0;fN<fO.length;++fN){if(fO[fN]!=fP){(fQ||(fQ=[])).push(fO[fN])}}return fQ}function b3(fN,fO){fN.markedSpans=fN.markedSpans?fN.markedSpans.concat([fO]):[fO];fO.marker.attachLine(fN)}function aH(fO,fP,fT){if(fO){for(var fR=0,fU;fR<fO.length;++fR){var fV=fO[fR],fS=fV.marker;var fN=fV.from==null||(fS.inclusiveLeft?fV.from<=fP:fV.from<fP);if(fN||fV.from==fP&&fS.type=="bookmark"&&(!fT||!fV.marker.insertLeft)){var fQ=fV.to==null||(fS.inclusiveRight?fV.to>=fP:fV.to>fP);(fU||(fU=[])).push(new dU(fS,fV.from,fQ?null:fV.to))}}}return fU}function ax(fO,fQ,fT){if(fO){for(var fR=0,fU;fR<fO.length;++fR){var fV=fO[fR],fS=fV.marker;var fP=fV.to==null||(fS.inclusiveRight?fV.to>=fQ:fV.to>fQ);if(fP||fV.from==fQ&&fS.type=="bookmark"&&(!fT||fV.marker.insertLeft)){var fN=fV.from==null||(fS.inclusiveLeft?fV.from<=fQ:fV.from<fQ);(fU||(fU=[])).push(new dU(fS,fN?null:fV.from-fQ,fV.to==null?null:fV.to-fQ))}}}return fU}function dW(fZ,fW){var fV=bW(fZ,fW.from.line)&&eP(fZ,fW.from.line).markedSpans;var f2=bW(fZ,fW.to.line)&&eP(fZ,fW.to.line).markedSpans;if(!fV&&!f2){return null}var fO=fW.from.ch,fR=fW.to.ch,fU=b5(fW.from,fW.to)==0;var fT=aH(fV,fO,fU);var f1=ax(f2,fR,fU);var f0=fW.text.length==1,fP=fh(fW.text).length+(f0?fO:0);if(fT){for(var fQ=0;fQ<fT.length;++fQ){var fY=fT[fQ];if(fY.to==null){var f3=eJ(f1,fY.marker);if(!f3){fY.to=fO}else{if(f0){fY.to=f3.to==null?null:f3.to+fP}}}}}if(f1){for(var fQ=0;fQ<f1.length;++fQ){var fY=f1[fQ];if(fY.to!=null){fY.to+=fP}if(fY.from==null){var f3=eJ(fT,fY.marker);if(!f3){fY.from=fP;if(f0){(fT||(fT=[])).push(fY)}}}else{fY.from+=fP;if(f0){(fT||(fT=[])).push(fY)}}}}if(fT){fT=r(fT)}if(f1&&f1!=fT){f1=r(f1)}var fS=[fT];if(!f0){var fX=fW.text.length-2,fN;if(fX>0&&fT){for(var fQ=0;fQ<fT.length;++fQ){if(fT[fQ].to==null){(fN||(fN=[])).push(new dU(fT[fQ].marker,null,null))}}}for(var fQ=0;fQ<fX;++fQ){fS.push(fN)}fS.push(f1)}return fS}function r(fO){for(var fN=0;fN<fO.length;++fN){var fP=fO[fN];if(fP.from!=null&&fP.from==fP.to&&fP.marker.clearWhenEmpty!==false){fO.splice(fN--,1)}}if(!fO.length){return null}return fO}function dM(fV,fT){var fN=bS(fV,fT);var fW=dW(fV,fT);if(!fN){return fW}if(!fW){return fN}for(var fQ=0;fQ<fN.length;++fQ){var fR=fN[fQ],fS=fW[fQ];if(fR&&fS){spans:for(var fP=0;fP<fS.length;++fP){var fU=fS[fP];for(var fO=0;fO<fR.length;++fO){if(fR[fO].marker==fU.marker){continue spans}}fR.push(fU)}}else{if(fS){fN[fQ]=fS}}}return fN}function cv(fZ,fX,fY){var fR=null;fZ.iter(fX.line,fY.line+1,function(f0){if(f0.markedSpans){for(var f1=0;f1<f0.markedSpans.length;++f1){var f2=f0.markedSpans[f1].marker;if(f2.readOnly&&(!fR||c1(fR,f2)==-1)){(fR||(fR=[])).push(f2)}}}});if(!fR){return null}var fS=[{from:fX,to:fY}];for(var fT=0;fT<fR.length;++fT){var fU=fR[fT],fP=fU.find(0);for(var fQ=0;fQ<fS.length;++fQ){var fO=fS[fQ];if(b5(fO.to,fP.from)<0||b5(fO.from,fP.to)>0){continue}var fW=[fQ,1],fN=b5(fO.from,fP.from),fV=b5(fO.to,fP.to);if(fN<0||!fU.inclusiveLeft&&!fN){fW.push({from:fO.from,to:fP.from})}if(fV>0||!fU.inclusiveRight&&!fV){fW.push({from:fP.to,to:fO.to})}fS.splice.apply(fS,fW);fQ+=fW.length-1}}return fS}function fD(fN){var fP=fN.markedSpans;if(!fP){return}for(var fO=0;fO<fP.length;++fO){fP[fO].marker.detachLine(fN)}fN.markedSpans=null}function cM(fN,fP){if(!fP){return}for(var fO=0;fO<fP.length;++fO){fP[fO].marker.attachLine(fN)}fN.markedSpans=fP}function w(fN){return fN.inclusiveLeft?-1:0}function bL(fN){return fN.inclusiveRight?1:0}function du(fQ,fO){var fS=fQ.lines.length-fO.lines.length;if(fS!=0){return fS}var fP=fQ.find(),fT=fO.find();var fN=b5(fP.from,fT.from)||w(fQ)-w(fO);if(fN){return -fN}var fR=b5(fP.to,fT.to)||bL(fQ)-bL(fO);if(fR){return fR}return fO.id-fQ.id}function aW(fO,fS){var fN=aX&&fO.markedSpans,fR;if(fN){for(var fQ,fP=0;fP<fN.length;++fP){fQ=fN[fP];if(fQ.marker.collapsed&&(fS?fQ.from:fQ.to)==null&&(!fR||du(fR,fQ.marker)<0)){fR=fQ.marker}}}return fR}function er(fN){return aW(fN,true)}function d7(fN){return aW(fN,false)}function A(fV,fP,fT,fU,fR){var fY=eP(fV,fP);var fN=aX&&fY.markedSpans;if(fN){for(var fQ=0;fQ<fN.length;++fQ){var fO=fN[fQ];if(!fO.marker.collapsed){continue}var fX=fO.marker.find(0);var fW=b5(fX.from,fT)||w(fO.marker)-w(fR);var fS=b5(fX.to,fU)||bL(fO.marker)-bL(fR);if(fW>=0&&fS<=0||fW<=0&&fS>=0){continue}if(fW<=0&&(b5(fX.to,fT)||bL(fO.marker)-w(fR))>0||fW>=0&&(b5(fX.from,fU)||w(fO.marker)-bL(fR))<0){return true}}}}function z(fO){var fN;while(fN=er(fO)){fO=fN.find(-1,true).line}return fO}function i(fP){var fN,fO;while(fN=d7(fP)){fP=fN.find(1,true).line;(fO||(fO=[])).push(fP)}return fO}function aM(fQ,fO){var fN=eP(fQ,fO),fP=z(fN);if(fN==fP){return fO}return bC(fP)}function dG(fQ,fP){if(fP>fQ.lastLine()){return fP}var fO=eP(fQ,fP),fN;if(!e7(fQ,fO)){return fP}while(fN=d7(fO)){fO=fN.find(1,true).line}return bC(fO)+1}function e7(fR,fO){var fN=aX&&fO.markedSpans;if(fN){for(var fQ,fP=0;fP<fN.length;++fP){fQ=fN[fP];if(!fQ.marker.collapsed){continue}if(fQ.from==null){return true}if(fQ.marker.widgetNode){continue}if(fQ.from==0&&fQ.marker.inclusiveLeft&&T(fR,fO,fQ)){return true}}}}function T(fS,fO,fQ){if(fQ.to==null){var fN=fQ.marker.find(1,true);return T(fS,fN.line,eJ(fN.line.markedSpans,fQ.marker))}if(fQ.marker.inclusiveRight&&fQ.to==fO.text.length){return true}for(var fR,fP=0;fP<fO.markedSpans.length;++fP){fR=fO.markedSpans[fP];if(fR.marker.collapsed&&!fR.marker.widgetNode&&fR.from==fQ.to&&(fR.to==null||fR.to!=fQ.from)&&(fR.marker.inclusiveLeft||fQ.marker.inclusiveRight)&&T(fS,fO,fR)){return true}}}var dh=I.LineWidget=function(fN,fQ,fO){if(fO){for(var fP in fO){if(fO.hasOwnProperty(fP)){this[fP]=fO[fP]}}}this.cm=fN;this.node=fQ};bo(dh);function dD(fN,fO,fP){if(bB(fO)<((fN.curOp&&fN.curOp.scrollTop)||fN.doc.scrollTop)){cy(fN,null,fP)}}dh.prototype.clear=function(){var fO=this.cm,fQ=this.line.widgets,fP=this.line,fS=bC(fP);if(fS==null||!fQ){return}for(var fR=0;fR<fQ.length;++fR){if(fQ[fR]==this){fQ.splice(fR--,1)}}if(!fQ.length){fP.widgets=null}var fN=cH(this);cz(fO,function(){dD(fO,fP,-fN);R(fO,fS,"widget");fA(fP,Math.max(0,fP.height-fN))})};dh.prototype.changed=function(){var fO=this.height,fN=this.cm,fP=this.line;this.height=null;var fQ=cH(this)-fO;if(!fQ){return}cz(fN,function(){fN.curOp.forceUpdate=true;dD(fN,fP,fQ);fA(fP,fP.height+fQ)})};function cH(fN){if(fN.height!=null){return fN.height}if(!fF(document.body,fN.node)){bG(fN.cm.display.measure,fw("div",[fN.node],null,"position: relative"))}return fN.height=fN.node.offsetHeight}function bw(fN,fR,fP,fO){var fQ=new dh(fN,fP,fO);if(fQ.noHScroll){fN.display.alignWidgets=true}eb(fN,fR,"widget",function(fT){var fU=fT.widgets||(fT.widgets=[]);if(fQ.insertAt==null){fU.push(fQ)}else{fU.splice(Math.min(fU.length-1,Math.max(0,fQ.insertAt)),0,fQ)}fQ.line=fT;if(!e7(fN.doc,fT)){var fS=bB(fT)<fN.doc.scrollTop;fA(fT,fT.height+cH(fQ));if(fS){cy(fN,null,fQ.height)}fN.curOp.forceUpdate=true}return true});return fQ}var fC=I.Line=function(fP,fO,fN){this.text=fP;cM(this,fO);this.height=fN?fN(this):1};bo(fC);fC.prototype.lineNo=function(){return bC(this)};function dZ(fO,fR,fP,fN){fO.text=fR;if(fO.stateAfter){fO.stateAfter=null}if(fO.styles){fO.styles=null}if(fO.order!=null){fO.order=null}fD(fO);cM(fO,fP);var fQ=fN?fN(fO):1;if(fQ!=fO.height){fA(fO,fQ)}}function bq(fN){fN.parent=null;fD(fN)}function c2(fP,fO){if(fP){for(;;){var fN=fP.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!fN){break}fP=fP.slice(0,fN.index)+fP.slice(fN.index+fN[0].length);var fQ=fN[1]?"bgClass":"textClass";if(fO[fQ]==null){fO[fQ]=fN[2]}else{if(!(new RegExp("(?:^|s)"+fN[2]+"(?:$|s)")).test(fO[fQ])){fO[fQ]+=" "+fN[2]}}}}return fP}function e1(fP,fO){if(fP.blankLine){return fP.blankLine(fO)}if(!fP.innerMode){return}var fN=I.innerMode(fP,fO);if(fN.mode.blankLine){return fN.mode.blankLine(fN.state)}}function ef(fR,fQ,fP){for(var fN=0;fN<10;fN++){var fO=fR.token(fQ,fP);if(fQ.pos>fQ.start){return fO}}throw new Error("Mode "+fR.name+" failed to advance stream.")}function x(fX,fZ,fS,fO,fT,fQ,fR){var fP=fS.flattenSpans;if(fP==null){fP=fX.options.flattenSpans}var fV=0,fU=null;var fY=new ew(fZ,fX.options.tabSize),fN;if(fZ==""){c2(e1(fS,fO),fQ)}while(!fY.eol()){if(fY.pos>fX.options.maxHighlightLength){fP=false;if(fR){dc(fX,fZ,fO,fY.pos)}fY.pos=fZ.length;fN=null}else{fN=c2(ef(fS,fY,fO),fQ)}if(fX.options.addModeClass){var f0=I.innerMode(fS,fO).mode.name;if(f0){fN="m-"+(fN?f0+" "+fN:f0)}}if(!fP||fU!=fN){if(fV<fY.start){fT(fY.start,fU)}fV=fY.start;fU=fN}fY.start=fY.pos}while(fV<fY.pos){var fW=Math.min(fY.pos,fV+50000);fT(fW,fU);fV=fW}}function fa(fU,fW,fN,fR){var fV=[fU.state.modeGen],fQ={};x(fU,fW.text,fU.doc.mode,fN,function(fX,fY){fV.push(fX,fY)},fQ,fR);for(var fO=0;fO<fU.state.overlays.length;++fO){var fS=fU.state.overlays[fO],fT=1,fP=0;x(fU,fW.text,fS.mode,true,function(fX,fZ){var f1=fT;while(fP<fX){var fY=fV[fT];if(fY>fX){fV.splice(fT,1,fX,fV[fT+1],fY)}fT+=2;fP=Math.min(fX,fY)}if(!fZ){return}if(fS.opaque){fV.splice(f1,fT-f1,fX,"cm-overlay "+fZ);fT=f1+2}else{for(;f1<fT;f1+=2){var f0=fV[f1+1];fV[f1+1]=(f0?f0+" ":"")+"cm-overlay "+fZ}}},fQ)}return{styles:fV,classes:fQ.bgClass||fQ.textClass?fQ:null}}function cQ(fO,fP){if(!fP.styles||fP.styles[0]!=fO.state.modeGen){var fN=fa(fO,fP,fP.stateAfter=dg(fO,bC(fP)));fP.styles=fN.styles;if(fN.classes){fP.styleClasses=fN.classes}else{if(fP.styleClasses){fP.styleClasses=null}}}return fP.styles}function dc(fN,fS,fP,fO){var fR=fN.doc.mode;var fQ=new ew(fS,fN.options.tabSize);fQ.start=fQ.pos=fO||0;if(fS==""){e1(fR,fP)}while(!fQ.eol()&&fQ.pos<=fN.options.maxHighlightLength){ef(fR,fQ,fP);fQ.start=fQ.pos}}var dz={},bQ={};function ez(fP,fO){if(!fP||/^\s*$/.test(fP)){return null}var fN=fO.addModeClass?bQ:dz;return fN[fP]||(fN[fP]=fP.replace(/\S+/g,"cm-$&"))}function ev(fO,fS){var fT=fw("span",null,null,cJ?"padding-right: .1px":null);var fQ={pre:fw("pre",[fT]),content:fT,col:0,pos:0,cm:fO};fS.measure={};for(var fR=0;fR<=(fS.rest?fS.rest.length:0);fR++){var fP=fR?fS.rest[fR-1]:fS.line,fN;fQ.pos=0;fQ.addToken=u;if((dn||cJ)&&fO.getOption("lineWrapping")){fQ.addToken=ff(fQ.addToken)}if(bD(fO.display.measure)&&(fN=a(fP))){fQ.addToken=U(fQ.addToken,fN)}fQ.map=[];bf(fP,fQ,cQ(fO,fP));if(fP.styleClasses){if(fP.styleClasses.bgClass){fQ.bgClass=fr(fP.styleClasses.bgClass,fQ.bgClass||"")}if(fP.styleClasses.textClass){fQ.textClass=fr(fP.styleClasses.textClass,fQ.textClass||"")}}if(fQ.map.length==0){fQ.map.push(0,0,fQ.content.appendChild(bd(fO.display.measure)))}if(fR==0){fS.measure.map=fQ.map;fS.measure.cache={}}else{(fS.measure.maps||(fS.measure.maps=[])).push(fQ.map);(fS.measure.caches||(fS.measure.caches=[])).push({})}}az(fO,"renderLine",fO,fS.line,fQ.pre);return fQ}function eN(fO){var fN=fw("span","\u2022","cm-invalidchar");fN.title="\\u"+fO.charCodeAt(0).toString(16);return fN}function u(fS,f2,fN,fQ,f3,f1){if(!f2){return}var fX=fS.cm.options.specialChars,fW=false;if(!fX.test(f2)){fS.col+=f2.length;var fV=document.createTextNode(f2);fS.map.push(fS.pos,fS.pos+f2.length,fV);if(bY){fW=true}fS.pos+=f2.length}else{var fV=document.createDocumentFragment(),fZ=0;while(true){fX.lastIndex=fZ;var fO=fX.exec(f2);var fU=fO?fO.index-fZ:f2.length-fZ;if(fU){var fR=document.createTextNode(f2.slice(fZ,fZ+fU));if(bY){fV.appendChild(fw("span",[fR]))}else{fV.appendChild(fR)}fS.map.push(fS.pos,fS.pos+fU,fR);fS.col+=fU;fS.pos+=fU}if(!fO){break}fZ+=fU+1;if(fO[0]=="\t"){var fT=fS.cm.options.tabSize,fY=fT-fS.col%fT;var fR=fV.appendChild(fw("span",cf(fY),"cm-tab"));fS.col+=fY}else{var fR=fS.cm.options.specialCharPlaceholder(fO[0]);if(bY){fV.appendChild(fw("span",[fR]))}else{fV.appendChild(fR)}fS.col+=1}fS.map.push(fS.pos,fS.pos+1,fR);fS.pos++}}if(fN||fQ||f3||fW){var f0=fN||"";if(fQ){f0+=fQ}if(f3){f0+=f3}var fP=fw("span",[fV],f0);if(f1){fP.title=f1}return fS.content.appendChild(fP)}fS.content.appendChild(fV)}function ff(fN){function fO(fP){var fQ=" ";for(var fR=0;fR<fP.length-2;++fR){fQ+=fR%2?" ":"\u00a0"}fQ+=" ";return fQ}return function(fQ,fU,fR,fP,fT,fS){fN(fQ,fU.replace(/ {3,}/g,fO),fR,fP,fT,fS)}}function U(fO,fN){return function(fV,fX,fP,fT,fY,fW){fP=fP?fP+" cm-force-border":"cm-force-border";var fQ=fV.pos,fS=fQ+fX.length;for(;;){for(var fU=0;fU<fN.length;fU++){var fR=fN[fU];if(fR.to>fQ&&fR.from<=fQ){break}}if(fR.to>=fS){return fO(fV,fX,fP,fT,fY,fW)}fO(fV,fX.slice(0,fR.to-fQ),fP,fT,null,fW);fT=null;fX=fX.slice(fR.to-fQ);fQ=fR.to}}}function aa(fO,fQ,fN,fP){var fR=!fP&&fN.widgetNode;if(fR){fO.map.push(fO.pos,fO.pos+fQ,fR);fO.content.appendChild(fR)}fO.pos+=fQ}function bf(fW,f2,fV){var fS=fW.markedSpans,fU=fW.text,f0=0;if(!fS){for(var f5=1;f5<fV.length;f5+=2){f2.addToken(f2,fU.slice(f0,f0=fV[f5]),ez(fV[f5+1],f2.cm.options))}return}var f6=fU.length,fR=0,f5=1,fY="",f7;var f9=0,fN,f8,fZ,ga,fP;for(;;){if(f9==fR){fN=f8=fZ=ga="";fP=null;f9=Infinity;var fT=[];for(var f3=0;f3<fS.length;++f3){var f4=fS[f3],f1=f4.marker;if(f4.from<=fR&&(f4.to==null||f4.to>fR)){if(f4.to!=null&&f9>f4.to){f9=f4.to;f8=""}if(f1.className){fN+=" "+f1.className}if(f1.startStyle&&f4.from==fR){fZ+=" "+f1.startStyle}if(f1.endStyle&&f4.to==f9){f8+=" "+f1.endStyle}if(f1.title&&!ga){ga=f1.title}if(f1.collapsed&&(!fP||du(fP.marker,f1)<0)){fP=f4}}else{if(f4.from>fR&&f9>f4.from){f9=f4.from}}if(f1.type=="bookmark"&&f4.from==fR&&f1.widgetNode){fT.push(f1)}}if(fP&&(fP.from||0)==fR){aa(f2,(fP.to==null?f6+1:fP.to)-fR,fP.marker,fP.from==null);if(fP.to==null){return}}if(!fP&&fT.length){for(var f3=0;f3<fT.length;++f3){aa(f2,0,fT[f3])}}}if(fR>=f6){break}var fX=Math.min(f6,f9);while(true){if(fY){var fO=fR+fY.length;if(!fP){var fQ=fO>fX?fY.slice(0,fX-fR):fY;f2.addToken(f2,fQ,f7?f7+fN:fN,fZ,fR+fQ.length==f9?f8:"",ga)}if(fO>=fX){fY=fY.slice(fX-fR);fR=fX;break}fR=fO;fZ=""}fY=fU.slice(f0,f0=fV[f5++]);f7=ez(fV[f5++],f2.cm.options)}}}function dw(fN,fO){return fO.from.ch==0&&fO.to.ch==0&&fh(fO.text)==""&&(!fN.cm||fN.cm.options.wholeLineUpdateBefore)}function e9(f0,fV,fN,fR){function f1(f3){return fN?fN[f3]:null}function fO(f3,f5,f4){dZ(f3,f5,f4,fR);ac(f3,"change",f3,fV)}var fY=fV.from,fZ=fV.to,f2=fV.text;var fW=eP(f0,fY.line),fX=eP(f0,fZ.line);var fU=fh(f2),fQ=f1(f2.length-1),fT=fZ.line-fY.line;if(dw(f0,fV)){for(var fP=0,fS=[];fP<f2.length-1;++fP){fS.push(new fC(f2[fP],f1(fP),fR))}fO(fX,fX.text,fQ);if(fT){f0.remove(fY.line,fT)}if(fS.length){f0.insert(fY.line,fS)}}else{if(fW==fX){if(f2.length==1){fO(fW,fW.text.slice(0,fY.ch)+fU+fW.text.slice(fZ.ch),fQ)}else{for(var fS=[],fP=1;fP<f2.length-1;++fP){fS.push(new fC(f2[fP],f1(fP),fR))}fS.push(new fC(fU+fW.text.slice(fZ.ch),fQ,fR));fO(fW,fW.text.slice(0,fY.ch)+f2[0],f1(0));f0.insert(fY.line+1,fS)}}else{if(f2.length==1){fO(fW,fW.text.slice(0,fY.ch)+f2[0]+fX.text.slice(fZ.ch),f1(0));f0.remove(fY.line+1,fT)}else{fO(fW,fW.text.slice(0,fY.ch)+f2[0],f1(0));fO(fX,fU+fX.text.slice(fZ.ch),fQ);for(var fP=1,fS=[];fP<f2.length-1;++fP){fS.push(new fC(f2[fP],f1(fP),fR))}if(fT>1){f0.remove(fY.line+1,fT-1)}f0.insert(fY.line+1,fS)}}}ac(f0,"change",f0,fV)}function eC(fO){this.lines=fO;this.parent=null;for(var fP=0,fN=0;fP<fO.length;++fP){fO[fP].parent=this;fN+=fO[fP].height}this.height=fN}eC.prototype={chunkSize:function(){return this.lines.length},removeInner:function(fN,fR){for(var fP=fN,fQ=fN+fR;fP<fQ;++fP){var fO=this.lines[fP];this.height-=fO.height;bq(fO);ac(fO,"delete")}this.lines.splice(fN,fR)},collapse:function(fN){fN.push.apply(fN,this.lines)},insertInner:function(fO,fP,fN){this.height+=fN;this.lines=this.lines.slice(0,fO).concat(fP).concat(this.lines.slice(fO));for(var fQ=0;fQ<fP.length;++fQ){fP[fQ].parent=this}},iterN:function(fN,fQ,fP){for(var fO=fN+fQ;fN<fO;++fN){if(fP(this.lines[fN])){return true}}}};function e8(fQ){this.children=fQ;var fP=0,fN=0;for(var fO=0;fO<fQ.length;++fO){var fR=fQ[fO];fP+=fR.chunkSize();fN+=fR.height;fR.parent=this}this.size=fP;this.height=fN;this.parent=null}e8.prototype={chunkSize:function(){return this.size},removeInner:function(fN,fU){this.size-=fU;for(var fP=0;fP<this.children.length;++fP){var fT=this.children[fP],fR=fT.chunkSize();if(fN<fR){var fQ=Math.min(fU,fR-fN),fS=fT.height;fT.removeInner(fN,fQ);this.height-=fS-fT.height;if(fR==fQ){this.children.splice(fP--,1);fT.parent=null}if((fU-=fQ)==0){break}fN=0}else{fN-=fR}}if(this.size-fU<25&&(this.children.length>1||!(this.children[0] instanceof eC))){var fO=[];this.collapse(fO);this.children=[new eC(fO)];this.children[0].parent=this}},collapse:function(fN){for(var fO=0;fO<this.children.length;++fO){this.children[fO].collapse(fN)}},insertInner:function(fO,fP,fN){this.size+=fP.length;this.height+=fN;for(var fS=0;fS<this.children.length;++fS){var fU=this.children[fS],fT=fU.chunkSize();if(fO<=fT){fU.insertInner(fO,fP,fN);if(fU.lines&&fU.lines.length>50){while(fU.lines.length>50){var fR=fU.lines.splice(fU.lines.length-25,25);var fQ=new eC(fR);fU.height-=fQ.height;this.children.splice(fS+1,0,fQ);fQ.parent=this}this.maybeSpill()}break}fO-=fT}},maybeSpill:function(){if(this.children.length<=10){return}var fQ=this;do{var fO=fQ.children.splice(fQ.children.length-5,5);var fP=new e8(fO);if(!fQ.parent){var fR=new e8(fQ.children);fR.parent=fQ;fQ.children=[fR,fP];fQ=fR}else{fQ.size-=fP.size;fQ.height-=fP.height;var fN=c1(fQ.parent.children,fQ);fQ.parent.children.splice(fN+1,0,fP)}fP.parent=fQ.parent}while(fQ.children.length>10);fQ.parent.maybeSpill()},iterN:function(fN,fT,fS){for(var fO=0;fO<this.children.length;++fO){var fR=this.children[fO],fQ=fR.chunkSize();if(fN<fQ){var fP=Math.min(fT,fQ-fN);if(fR.iterN(fN,fP,fS)){return true}if((fT-=fP)==0){break}fN=0}else{fN-=fQ}}}};var cg=0;var ao=I.Doc=function(fP,fO,fN){if(!(this instanceof ao)){return new ao(fP,fO,fN)}if(fN==null){fN=0}e8.call(this,[new eC([new fC("",null)])]);this.first=fN;this.scrollTop=this.scrollLeft=0;this.cantEdit=false;this.cleanGeneration=1;this.frontier=fN;var fQ=W(fN,0);this.sel=eu(fQ);this.history=new fs(null);this.id=++cg;this.modeOption=fO;if(typeof fP=="string"){fP=aQ(fP)}e9(this,{from:fQ,to:fQ,text:fP});bJ(this,eu(fQ),Y)};ao.prototype=ca(e8.prototype,{constructor:ao,iter:function(fP,fO,fN){if(fN){this.iterN(fP-this.first,fO-fP,fN)}else{this.iterN(this.first,this.first+this.size,fP)}},insert:function(fO,fP){var fN=0;for(var fQ=0;fQ<fP.length;++fQ){fN+=fP[fQ].height}this.insertInner(fO-this.first,fP,fN)},remove:function(fN,fO){this.removeInner(fN-this.first,fO)},getValue:function(fO){var fN=aS(this,this.first,this.first+this.size);if(fO===false){return fN}return fN.join(fO||"\n")},setValue:cs(function(fO){var fP=W(this.first,0),fN=this.first+this.size-1;a5(this,{from:fP,to:W(fN,eP(this,fN).text.length),text:aQ(fO),origin:"setValue"},true);bJ(this,eu(fP))}),replaceRange:function(fO,fQ,fP,fN){fQ=fj(this,fQ);fP=fP?fj(this,fP):fQ;aR(this,fO,fQ,fP,fN)},getRange:function(fQ,fP,fO){var fN=fy(this,fj(this,fQ),fj(this,fP));if(fO===false){return fN}return fN.join(fO||"\n")},getLine:function(fO){var fN=this.getLineHandle(fO);return fN&&fN.text},getLineHandle:function(fN){if(bW(this,fN)){return eP(this,fN)}},getLineNumber:function(fN){return bC(fN)},getLineHandleVisualStart:function(fN){if(typeof fN=="number"){fN=eP(this,fN)}return z(fN)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(fN){return fj(this,fN)},getCursor:function(fP){var fN=this.sel.primary(),fO;if(fP==null||fP=="head"){fO=fN.head}else{if(fP=="anchor"){fO=fN.anchor}else{if(fP=="end"||fP=="to"||fP===false){fO=fN.to()}else{fO=fN.from()}}}return fO},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:cs(function(fN,fP,fO){G(this,fj(this,typeof fN=="number"?W(fN,fP||0):fN),null,fO)}),setSelection:cs(function(fO,fP,fN){G(this,fj(this,fO),fj(this,fP||fO),fN)}),extendSelection:cs(function(fP,fN,fO){ft(this,fj(this,fP),fN&&fj(this,fN),fO)}),extendSelections:cs(function(fO,fN){at(this,dC(this,fO,fN))}),extendSelectionsBy:cs(function(fO,fN){at(this,bH(this.sel.ranges,fO),fN)}),setSelections:cs(function(fN,fR,fP){if(!fN.length){return}for(var fQ=0,fO=[];fQ<fN.length;fQ++){fO[fQ]=new dB(fj(this,fN[fQ].anchor),fj(this,fN[fQ].head))}if(fR==null){fR=Math.min(fN.length-1,this.sel.primIndex)}bJ(this,cm(fO,fR),fP)}),addSelection:cs(function(fP,fQ,fO){var fN=this.sel.ranges.slice(0);fN.push(new dB(fj(this,fP),fj(this,fQ||fP)));bJ(this,cm(fN,fN.length-1),fO)}),getSelection:function(fR){var fO=this.sel.ranges,fN;for(var fP=0;fP<fO.length;fP++){var fQ=fy(this,fO[fP].from(),fO[fP].to());fN=fN?fN.concat(fQ):fQ}if(fR===false){return fN}else{return fN.join(fR||"\n")}},getSelections:function(fR){var fQ=[],fN=this.sel.ranges;for(var fO=0;fO<fN.length;fO++){var fP=fy(this,fN[fO].from(),fN[fO].to());if(fR!==false){fP=fP.join(fR||"\n")}fQ[fO]=fP}return fQ},replaceSelection:function(fP,fR,fN){var fQ=[];for(var fO=0;fO<this.sel.ranges.length;fO++){fQ[fO]=fP}this.replaceSelections(fQ,fR,fN||"+input")},replaceSelections:cs(function(fS,fU,fP){var fR=[],fT=this.sel;for(var fQ=0;fQ<fT.ranges.length;fQ++){var fO=fT.ranges[fQ];fR[fQ]={from:fO.from(),to:fO.to(),text:aQ(fS[fQ]),origin:fP}}var fN=fU&&fU!="end"&&ad(this,fR,fU);for(var fQ=fR.length-1;fQ>=0;fQ--){a5(this,fR[fQ])}if(fN){eH(this,fN)}else{if(this.cm){fg(this.cm)}}}),undo:cs(function(){bV(this,"undo")}),redo:cs(function(){bV(this,"redo")}),undoSelection:cs(function(){bV(this,"undo",true)}),redoSelection:cs(function(){bV(this,"redo",true)}),setExtending:function(fN){this.extend=fN},getExtending:function(){return this.extend},historySize:function(){var fQ=this.history,fN=0,fP=0;for(var fO=0;fO<fQ.done.length;fO++){if(!fQ.done[fO].ranges){++fN}}for(var fO=0;fO<fQ.undone.length;fO++){if(!fQ.undone[fO].ranges){++fP}}return{undo:fN,redo:fP}},clearHistory:function(){this.history=new fs(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(true)},changeGeneration:function(fN){if(fN){this.history.lastOp=this.history.lastOrigin=null}return this.history.generation},isClean:function(fN){return this.history.generation==(fN||this.cleanGeneration)},getHistory:function(){return{done:bE(this.history.done),undone:bE(this.history.undone)}},setHistory:function(fO){var fN=this.history=new fs(this.history.maxGeneration);fN.done=bE(fO.done.slice(0),null,true);fN.undone=bE(fO.undone.slice(0),null,true)},markText:function(fP,fO,fN){return ej(this,fj(this,fP),fj(this,fO),fN,"range")},setBookmark:function(fP,fN){var fO={replacedWith:fN&&(fN.nodeType==null?fN.widget:fN),insertLeft:fN&&fN.insertLeft,clearWhenEmpty:false,shared:fN&&fN.shared};fP=fj(this,fP);return ej(this,fP,fP,fO,"bookmark")},findMarksAt:function(fR){fR=fj(this,fR);var fQ=[],fO=eP(this,fR.line).markedSpans;if(fO){for(var fN=0;fN<fO.length;++fN){var fP=fO[fN];if((fP.from==null||fP.from<=fR.ch)&&(fP.to==null||fP.to>=fR.ch)){fQ.push(fP.marker.parent||fP.marker)}}}return fQ},findMarks:function(fR,fQ,fN){fR=fj(this,fR);fQ=fj(this,fQ);var fO=[],fP=fR.line;this.iter(fR.line,fQ.line+1,function(fS){var fU=fS.markedSpans;if(fU){for(var fT=0;fT<fU.length;fT++){var fV=fU[fT];if(!(fP==fR.line&&fR.ch>fV.to||fV.from==null&&fP!=fR.line||fP==fQ.line&&fV.from>fQ.ch)&&(!fN||fN(fV.marker))){fO.push(fV.marker.parent||fV.marker)}}}++fP});return fO},getAllMarks:function(){var fN=[];this.iter(function(fP){var fO=fP.markedSpans;if(fO){for(var fQ=0;fQ<fO.length;++fQ){if(fO[fQ].from!=null){fN.push(fO[fQ].marker)}}}});return fN},posFromIndex:function(fO){var fN,fP=this.first;this.iter(function(fQ){var fR=fQ.text.length+1;if(fR>fO){fN=fO;return true}fO-=fR;++fP});return fj(this,W(fP,fN))},indexFromPos:function(fO){fO=fj(this,fO);var fN=fO.ch;if(fO.line<this.first||fO.ch<0){return 0}this.iter(this.first,fO.line,function(fP){fN+=fP.text.length+1});return fN},copy:function(fN){var fO=new ao(aS(this,this.first,this.first+this.size),this.modeOption,this.first);fO.scrollTop=this.scrollTop;fO.scrollLeft=this.scrollLeft;fO.sel=this.sel;fO.extend=false;if(fN){fO.history.undoDepth=this.history.undoDepth;fO.setHistory(this.getHistory())}return fO},linkedDoc:function(fN){if(!fN){fN={}}var fQ=this.first,fP=this.first+this.size;if(fN.from!=null&&fN.from>fQ){fQ=fN.from}if(fN.to!=null&&fN.to<fP){fP=fN.to}var fO=new ao(aS(this,fQ,fP),fN.mode||this.modeOption,fQ);if(fN.sharedHist){fO.history=this.history}(this.linked||(this.linked=[])).push({doc:fO,sharedHist:fN.sharedHist});fO.linked=[{doc:this,isParent:true,sharedHist:fN.sharedHist}];dk(fO,es(this));return fO},unlinkDoc:function(fO){if(fO instanceof I){fO=fO.doc}if(this.linked){for(var fP=0;fP<this.linked.length;++fP){var fQ=this.linked[fP];if(fQ.doc!=fO){continue}this.linked.splice(fP,1);fO.unlinkDoc(this);d0(es(this));break}}if(fO.history==this.history){var fN=[fO.id];dK(fO,function(fR){fN.push(fR.id)},true);fO.history=new fs(null);fO.history.done=bE(this.history.done,fN);fO.history.undone=bE(this.history.undone,fN)}},iterLinkedDocs:function(fN){dK(this,fN)},getMode:function(){return this.mode},getEditor:function(){return this.cm}});ao.prototype.eachLine=ao.prototype.iter;var e="iter insert remove copy getEditor".split(" ");for(var bz in ao.prototype){if(ao.prototype.hasOwnProperty(bz)&&c1(e,bz)<0){I.prototype[bz]=(function(fN){return function(){return fN.apply(this.doc,arguments)}})(ao.prototype[bz])}}bo(ao);function dK(fQ,fP,fO){function fN(fW,fU,fS){if(fW.linked){for(var fT=0;fT<fW.linked.length;++fT){var fR=fW.linked[fT];if(fR.doc==fU){continue}var fV=fS&&fR.sharedHist;if(fO&&!fV){continue}fP(fR.doc,fV);fN(fR.doc,fW,fV)}}}fN(fQ,null,true)}function dN(fN,fO){if(fO.cm){throw new Error("This document is already in use.")}fN.doc=fO;fO.cm=fN;X(fN);bh(fN);if(!fN.options.lineWrapping){h(fN)}fN.options.mode=fO.modeOption;af(fN)}function eP(fQ,fS){fS-=fQ.first;if(fS<0||fS>=fQ.size){throw new Error("There is no line "+(fS+fQ.first)+" in the document.")}for(var fN=fQ;!fN.lines;){for(var fO=0;;++fO){var fR=fN.children[fO],fP=fR.chunkSize();if(fS<fP){fN=fR;break}fS-=fP}}return fN.lines[fS]}function fy(fP,fR,fN){var fO=[],fQ=fR.line;fP.iter(fR.line,fN.line+1,function(fS){var fT=fS.text;if(fQ==fN.line){fT=fT.slice(0,fN.ch)}if(fQ==fR.line){fT=fT.slice(fR.ch)}fO.push(fT);++fQ});return fO}function aS(fO,fQ,fP){var fN=[];fO.iter(fQ,fP,function(fR){fN.push(fR.text)});return fN}function fA(fO,fN){var fP=fN-fO.height;if(fP){for(var fQ=fO;fQ;fQ=fQ.parent){fQ.height+=fP}}}function bC(fN){if(fN.parent==null){return null}var fR=fN.parent,fQ=c1(fR.lines,fN);for(var fO=fR.parent;fO;fR=fO,fO=fO.parent){for(var fP=0;;++fP){if(fO.children[fP]==fR){break}fQ+=fO.children[fP].chunkSize()}}return fQ+fR.first}function bv(fP,fS){var fU=fP.first;outer:do{for(var fQ=0;fQ<fP.children.length;++fQ){var fT=fP.children[fQ],fR=fT.height;if(fS<fR){fP=fT;continue outer}fS-=fR;fU+=fT.chunkSize()}return fU}while(!fP.lines);for(var fQ=0;fQ<fP.lines.length;++fQ){var fO=fP.lines[fQ],fN=fO.height;if(fS<fN){break}fS-=fN}return fU+fQ}function bB(fP){fP=z(fP);var fR=0,fO=fP.parent;for(var fQ=0;fQ<fO.lines.length;++fQ){var fN=fO.lines[fQ];if(fN==fP){break}else{fR+=fN.height}}for(var fS=fO.parent;fS;fO=fS,fS=fO.parent){for(var fQ=0;fQ<fS.children.length;++fQ){var fT=fS.children[fQ];if(fT==fO){break}else{fR+=fT.height}}}return fR}function a(fO){var fN=fO.order;if(fN==null){fN=fO.order=a6(fO.text)}return fN}function fs(fN){this.done=[];this.undone=[];this.undoDepth=Infinity;this.lastModTime=this.lastSelTime=0;this.lastOp=null;this.lastOrigin=this.lastSelOrigin=null;this.generation=this.maxGeneration=fN||1}function da(fN,fP){var fO={from:b9(fP.from),to:cG(fP),text:fy(fN,fP.from,fP.to)};bN(fN,fO,fP.from.line,fP.to.line+1);dK(fN,function(fQ){bN(fQ,fO,fP.from.line,fP.to.line+1)},true);return fO}function fc(fO){while(fO.length){var fN=fh(fO);if(fN.ranges){fO.pop()}else{break}}}function eq(fO,fN){if(fN){fc(fO.done);return fh(fO.done)}else{if(fO.done.length&&!fh(fO.done).ranges){return fh(fO.done)}else{if(fO.done.length>1&&!fO.done[fO.done.length-2].ranges){fO.done.pop();return fh(fO.done)}}}}function fm(fT,fR,fN,fQ){var fP=fT.history;fP.undone.length=0;var fO=+new Date,fU;if((fP.lastOp==fQ||fP.lastOrigin==fR.origin&&fR.origin&&((fR.origin.charAt(0)=="+"&&fT.cm&&fP.lastModTime>fO-fT.cm.options.historyEventDelay)||fR.origin.charAt(0)=="*"))&&(fU=eq(fP,fP.lastOp==fQ))){var fV=fh(fU.changes);if(b5(fR.from,fR.to)==0&&b5(fR.from,fV.to)==0){fV.to=cG(fR)}else{fU.changes.push(da(fT,fR))}}else{var fS=fh(fP.done);if(!fS||!fS.ranges){cA(fT.sel,fP.done)}fU={changes:[da(fT,fR)],generation:fP.generation};fP.done.push(fU);while(fP.done.length>fP.undoDepth){fP.done.shift();if(!fP.done[0].ranges){fP.done.shift()}}}fP.done.push(fN);fP.generation=++fP.maxGeneration;fP.lastModTime=fP.lastSelTime=fO;fP.lastOp=fQ;fP.lastOrigin=fP.lastSelOrigin=fR.origin;if(!fV){az(fT,"historyAdded")}}function bp(fR,fN,fP,fQ){var fO=fN.charAt(0);return fO=="*"||fO=="+"&&fP.ranges.length==fQ.ranges.length&&fP.somethingSelected()==fQ.somethingSelected()&&new Date-fR.history.lastSelTime<=(fR.cm?fR.cm.options.historyEventDelay:500)}function fG(fS,fQ,fN,fP){var fR=fS.history,fO=fP&&fP.origin;if(fN==fR.lastOp||(fO&&fR.lastSelOrigin==fO&&(fR.lastModTime==fR.lastSelTime&&fR.lastOrigin==fO||bp(fS,fO,fh(fR.done),fQ)))){fR.done[fR.done.length-1]=fQ}else{cA(fQ,fR.done)}fR.lastSelTime=+new Date;fR.lastSelOrigin=fO;fR.lastOp=fN;if(fP&&fP.clearRedo!==false){fc(fR.undone)}}function cA(fO,fN){var fP=fh(fN);if(!(fP&&fP.ranges&&fP.equals(fO))){fN.push(fO)}}function bN(fO,fS,fR,fQ){var fN=fS["spans_"+fO.id],fP=0;fO.iter(Math.max(fO.first,fR),Math.min(fO.first+fO.size,fQ),function(fT){if(fT.markedSpans){(fN||(fN=fS["spans_"+fO.id]={}))[fP]=fT.markedSpans}++fP})}function bb(fP){if(!fP){return null}for(var fO=0,fN;fO<fP.length;++fO){if(fP[fO].marker.explicitlyCleared){if(!fN){fN=fP.slice(0,fO)}}else{if(fN){fN.push(fP[fO])}}}return !fN?fP:fN.length?fN:null}function bS(fQ,fR){var fP=fR["spans_"+fQ.id];if(!fP){return null}for(var fO=0,fN=[];fO<fR.text.length;++fO){fN.push(bb(fP[fO]))}return fN}function bE(fY,fQ,fX){for(var fT=0,fO=[];fT<fY.length;++fT){var fP=fY[fT];if(fP.ranges){fO.push(fX?fx.prototype.deepCopy.call(fP):fP);continue}var fV=fP.changes,fW=[];fO.push({changes:fW});for(var fS=0;fS<fV.length;++fS){var fU=fV[fS],fR;fW.push({from:fU.from,to:fU.to,text:fU.text});if(fQ){for(var fN in fU){if(fR=fN.match(/^spans_(\d+)$/)){if(c1(fQ,Number(fR[1]))>-1){fh(fW)[fN]=fU[fN];delete fU[fN]}}}}}}return fO}function J(fQ,fP,fO,fN){if(fO<fQ.line){fQ.line+=fN}else{if(fP<fQ.line){fQ.line=fP;fQ.ch=0}}}function eR(fQ,fS,fT,fU){for(var fP=0;fP<fQ.length;++fP){var fN=fQ[fP],fR=true;if(fN.ranges){if(!fN.copied){fN=fQ[fP]=fN.deepCopy();fN.copied=true}for(var fO=0;fO<fN.ranges.length;fO++){J(fN.ranges[fO].anchor,fS,fT,fU);J(fN.ranges[fO].head,fS,fT,fU)}continue}for(var fO=0;fO<fN.changes.length;++fO){var fV=fN.changes[fO];if(fT<fV.from.line){fV.from=W(fV.from.line+fU,fV.from.ch);fV.to=W(fV.to.line+fU,fV.to.ch)}else{if(fS<=fV.to.line){fR=false;break}}}if(!fR){fQ.splice(0,fP+1);fP=0}}}function dj(fO,fR){var fQ=fR.from.line,fP=fR.to.line,fN=fR.text.length-(fP-fQ)-1;eR(fO.done,fQ,fP,fN);eR(fO.undone,fQ,fP,fN)}var cu=I.e_preventDefault=function(fN){if(fN.preventDefault){fN.preventDefault()}else{fN.returnValue=false}};var c6=I.e_stopPropagation=function(fN){if(fN.stopPropagation){fN.stopPropagation()}else{fN.cancelBubble=true}};function bA(fN){return fN.defaultPrevented!=null?fN.defaultPrevented:fN.returnValue==false}var d3=I.e_stop=function(fN){cu(fN);c6(fN)};function L(fN){return fN.target||fN.srcElement}function fn(fO){var fN=fO.which;if(fN==null){if(fO.button&1){fN=1}else{if(fO.button&2){fN=3}else{if(fO.button&4){fN=2}}}}if(bU&&fO.ctrlKey&&fN==1){fN=3}return fN}var bM=I.on=function(fQ,fO,fP){if(fQ.addEventListener){fQ.addEventListener(fO,fP,false)}else{if(fQ.attachEvent){fQ.attachEvent("on"+fO,fP)}else{var fR=fQ._handlers||(fQ._handlers={});var fN=fR[fO]||(fR[fO]=[]);fN.push(fP)}}};var dP=I.off=function(fR,fP,fQ){if(fR.removeEventListener){fR.removeEventListener(fP,fQ,false)}else{if(fR.detachEvent){fR.detachEvent("on"+fP,fQ)}else{var fN=fR._handlers&&fR._handlers[fP];if(!fN){return}for(var fO=0;fO<fN.length;++fO){if(fN[fO]==fQ){fN.splice(fO,1);break}}}}};var az=I.signal=function(fR,fQ){var fN=fR._handlers&&fR._handlers[fQ];if(!fN){return}var fO=Array.prototype.slice.call(arguments,2);for(var fP=0;fP<fN.length;++fP){fN[fP].apply(null,fO)}};var be,ch=0;function ac(fS,fR){var fN=fS._handlers&&fS._handlers[fR];if(!fN){return}var fP=Array.prototype.slice.call(arguments,2);if(!be){++ch;be=[];setTimeout(ec,0)}function fO(fT){return function(){fT.apply(null,fP)}}for(var fQ=0;fQ<fN.length;++fQ){be.push(fO(fN[fQ]))}}function ec(){--ch;var fN=be;be=null;for(var fO=0;fO<fN.length;++fO){fN[fO]()}}function aI(fN,fP,fO){az(fN,fO||fP.type,fN,fP);return bA(fP)||fP.codemirrorIgnore}function V(fO){var fN=fO._handlers&&fO._handlers.cursorActivity;if(!fN){return}var fQ=fO.curOp.cursorActivityHandlers||(fO.curOp.cursorActivityHandlers=[]);for(var fP=0;fP<fN.length;++fP){if(c1(fQ,fN[fP])==-1){fQ.push(fN[fP])}}}function eS(fP,fO){var fN=fP._handlers&&fP._handlers[fO];return fN&&fN.length>0}function bo(fN){fN.prototype.on=function(fO,fP){bM(this,fO,fP)};fN.prototype.off=function(fO,fP){dP(this,fO,fP)}}var ba=30;var bZ=I.Pass={toString:function(){return"CodeMirror.Pass"}};var Y={scroll:false},M={origin:"*mouse"},cF={origin:"+move"};function fM(){this.id=null}fM.prototype.set=function(fN,fO){clearTimeout(this.id);this.id=setTimeout(fO,fN)};var bI=I.countColumn=function(fQ,fO,fS,fT,fP){if(fO==null){fO=fQ.search(/[^\s\u00a0]/);if(fO==-1){fO=fQ.length}}for(var fR=fT||0,fU=fP||0;;){var fN=fQ.indexOf("\t",fR);if(fN<0||fN>=fO){return fU+(fO-fR)}fU+=fN-fR;fU+=fS-(fU%fS);fR=fN+1}};function d2(fR,fQ,fS){for(var fT=0,fP=0;;){var fO=fR.indexOf("\t",fT);if(fO==-1){fO=fR.length}var fN=fO-fT;if(fO==fR.length||fP+fN>=fQ){return fT+Math.min(fN,fQ-fP)}fP+=fO-fT;fP+=fS-(fP%fS);fT=fO+1;if(fP>=fQ){return fT}}}var aP=[""];function cf(fN){while(aP.length<=fN){aP.push(fh(aP)+" ")}return aP[fN]}function fh(fN){return fN[fN.length-1]}var dq=function(fN){fN.select()};if(eD){dq=function(fN){fN.selectionStart=0;fN.selectionEnd=fN.value.length}}else{if(dn){dq=function(fO){try{fO.select()}catch(fN){}}}}function c1(fP,fN){for(var fO=0;fO<fP.length;++fO){if(fP[fO]==fN){return fO}}return -1}if([].indexOf){c1=function(fO,fN){return fO.indexOf(fN)}}function bH(fQ,fP){var fN=[];for(var fO=0;fO<fQ.length;fO++){fN[fO]=fP(fQ[fO],fO)}return fN}if([].map){bH=function(fO,fN){return fO.map(fN)}}function ca(fQ,fN){var fP;if(Object.create){fP=Object.create(fQ)}else{var fO=function(){};fO.prototype=fQ;fP=new fO()}if(fN){aE(fN,fP)}return fP}function aE(fP,fO,fN){if(!fO){fO={}}for(var fQ in fP){if(fP.hasOwnProperty(fQ)&&(fN!==false||!fO.hasOwnProperty(fQ))){fO[fQ]=fP[fQ]}}return fO}function cl(fO){var fN=Array.prototype.slice.call(arguments,1);return function(){return fO.apply(null,fN)}}var a2=/[\u00df\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;var cp=I.isWordChar=function(fN){return/\w/.test(fN)||fN>"\x80"&&(fN.toUpperCase()!=fN.toLowerCase()||a2.test(fN))};function ex(fN){for(var fO in fN){if(fN.hasOwnProperty(fO)&&fN[fO]){return false}}return true}var en=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function e0(fN){return fN.charCodeAt(0)>=768&&en.test(fN)}function fw(fN,fR,fQ,fP){var fS=document.createElement(fN);if(fQ){fS.className=fQ}if(fP){fS.style.cssText=fP}if(typeof fR=="string"){fS.appendChild(document.createTextNode(fR))}else{if(fR){for(var fO=0;fO<fR.length;++fO){fS.appendChild(fR[fO])}}}return fS}var cb;if(document.createRange){cb=function(fP,fQ,fN){var fO=document.createRange();fO.setEnd(fP,fN);fO.setStart(fP,fQ);return fO}}else{cb=function(fP,fQ,fN){var fO=document.body.createTextRange();fO.moveToElementText(fP.parentNode);fO.collapse(true);fO.moveEnd("character",fN);fO.moveStart("character",fQ);return fO}}function dE(fO){for(var fN=fO.childNodes.length;fN>0;--fN){fO.removeChild(fO.firstChild)}return fO}function bG(fN,fO){return dE(fN).appendChild(fO)}function fF(fN,fO){if(fN.contains){return fN.contains(fO)}while(fO=fO.parentNode){if(fO==fN){return true}}}function ds(){return document.activeElement}if(eo){ds=function(){try{return document.activeElement}catch(fN){return document.body}}}function S(fN){return new RegExp("\\b"+fN+"\\b\\s*")}function g(fO,fN){var fP=S(fN);if(fP.test(fO.className)){fO.className=fO.className.replace(fP,"")}}function fb(fO,fN){if(!S(fN).test(fO.className)){fO.className+=" "+fN}}function fr(fP,fN){var fO=fP.split(" ");for(var fQ=0;fQ<fO.length;fQ++){if(fO[fQ]&&!S(fO[fQ]).test(fN)){fN+=" "+fO[fQ]}}return fN}function aw(fQ){if(!document.body.getElementsByClassName){return}var fP=document.body.getElementsByClassName("CodeMirror");for(var fO=0;fO<fP.length;fO++){var fN=fP[fO].CodeMirror;if(fN){fQ(fN)}}}var cr=false;function a8(){if(cr){return}fe();cr=true}function fe(){var fN;bM(window,"resize",function(){if(fN==null){fN=setTimeout(function(){fN=null;d8=null;aw(aK)},100)}});bM(window,"blur",function(){aw(aL)})}var ep=function(){if(bY){return false}var fN=fw("div");return"draggable" in fN||"dragDrop" in fN}();var d8;function l(fN){if(d8!=null){return d8}var fO=fw("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");bG(fN,fO);if(fO.offsetWidth){d8=fO.offsetHeight-fO.clientHeight}return d8||0}var fl;function bd(fN){if(fl==null){var fO=fw("span","\u200b");bG(fN,fw("span",[fO,document.createTextNode("x")]));if(fN.firstChild.offsetHeight!=0){fl=fO.offsetWidth<=1&&fO.offsetHeight>2&&!b1}}if(fl){return fw("span","\u200b")}else{return fw("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px")}}var fk;function bD(fQ){if(fk!=null){return fk}var fN=bG(fQ,document.createTextNode("A\u062eA"));var fP=cb(fN,0,1).getBoundingClientRect();if(fP.left==fP.right){return false}var fO=cb(fN,1,2).getBoundingClientRect();return fk=(fO.right-fP.right<3)}var aQ=I.splitLines="\n\nb".split(/\n/).length!=3?function(fS){var fT=0,fN=[],fR=fS.length;while(fT<=fR){var fQ=fS.indexOf("\n",fT);if(fQ==-1){fQ=fS.length}var fP=fS.slice(fT,fS.charAt(fQ-1)=="\r"?fQ-1:fQ);var fO=fP.indexOf("\r");if(fO!=-1){fN.push(fP.slice(0,fO));fT+=fO+1}else{fN.push(fP);fT=fQ+1}}return fN}:function(fN){return fN.split(/\r\n?|\n/)};var bi=window.getSelection?function(fO){try{return fO.selectionStart!=fO.selectionEnd}catch(fN){return false}}:function(fP){try{var fN=fP.ownerDocument.selection.createRange()}catch(fO){}if(!fN||fN.parentElement()!=fP){return false}return fN.compareEndPoints("StartToEnd",fN)!=0};var cT=(function(){var fN=fw("div");if("oncopy" in fN){return true}fN.setAttribute("oncopy","return;");return typeof fN.oncopy=="function"})();var eQ={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",107:"=",109:"-",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};I.keyNames=eQ;(function(){for(var fN=0;fN<10;fN++){eQ[fN+48]=eQ[fN+96]=String(fN)}for(var fN=65;fN<=90;fN++){eQ[fN]=String.fromCharCode(fN)}for(var fN=1;fN<=12;fN++){eQ[fN+111]=eQ[fN+63235]="F"+fN}})();function dH(fN,fT,fS,fR){if(!fN){return fR(fT,fS,"ltr")}var fQ=false;for(var fP=0;fP<fN.length;++fP){var fO=fN[fP];if(fO.from<fS&&fO.to>fT||fT==fS&&fO.to==fT){fR(Math.max(fO.from,fT),Math.min(fO.to,fS),fO.level==1?"rtl":"ltr");fQ=true}}if(!fQ){fR(fT,fS,"ltr")}}function dd(fN){return fN.level%2?fN.to:fN.from}function fI(fN){return fN.level%2?fN.from:fN.to}function ct(fO){var fN=a(fO);return fN?dd(fN[0]):0}function cE(fO){var fN=a(fO);if(!fN){return fO.text.length}return fI(fh(fN))}function bj(fO,fR){var fP=eP(fO.doc,fR);var fS=z(fP);if(fS!=fP){fR=bC(fS)}var fN=a(fS);var fQ=!fN?0:fN[0].level%2?cE(fS):ct(fS);return W(fR,fQ)}function dt(fP,fS){var fO,fQ=eP(fP.doc,fS);while(fO=d7(fQ)){fQ=fO.find(1,true).line;fS=null}var fN=a(fQ);var fR=!fN?fQ.text.length:fN[0].level%2?ct(fQ):cE(fQ);return W(fS==null?bC(fQ):fS,fR)}function ak(fO,fP,fN){var fQ=fO[0].level;if(fP==fQ){return true}if(fN==fQ){return false}return fP<fN}var eE;function aB(fN,fR){eE=null;for(var fO=0,fP;fO<fN.length;++fO){var fQ=fN[fO];if(fQ.from<fR&&fQ.to>fR){return fO}if((fQ.from==fR||fQ.to==fR)){if(fP==null){fP=fO}else{if(ak(fN,fQ.level,fN[fP].level)){if(fQ.from!=fQ.to){eE=fP}return fO}else{if(fQ.from!=fQ.to){eE=fO}return fP}}}}return fP}function eO(fN,fQ,fO,fP){if(!fP){return fQ+fO}do{fQ+=fO}while(fQ>0&&e0(fN.text.charAt(fQ)));return fQ}function v(fN,fU,fP,fQ){var fR=a(fN);if(!fR){return ag(fN,fU,fP,fQ)}var fT=aB(fR,fU),fO=fR[fT];var fS=eO(fN,fU,fO.level%2?-fP:fP,fQ);for(;;){if(fS>fO.from&&fS<fO.to){return fS}if(fS==fO.from||fS==fO.to){if(aB(fR,fS)==fT){return fS}fO=fR[fT+=fP];return(fP>0)==fO.level%2?fO.to:fO.from}else{fO=fR[fT+=fP];if(!fO){return null}if((fP>0)==fO.level%2){fS=eO(fN,fO.to,-1,fQ)}else{fS=eO(fN,fO.from,1,fQ)}}}}function ag(fN,fR,fO,fP){var fQ=fR+fO;if(fP){while(fQ>0&&e0(fN.text.charAt(fQ))){fQ+=fO}}return fQ<0||fQ>fN.text.length?null:fQ}var a6=(function(){var fT="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var fR="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function fQ(fX){if(fX<=247){return fT.charAt(fX)}else{if(1424<=fX&&fX<=1524){return"R"}else{if(1536<=fX&&fX<=1773){return fR.charAt(fX-1536)}else{if(1774<=fX&&fX<=2220){return"r"}else{if(8192<=fX&&fX<=8203){return"w"}else{if(fX==8204){return"b"}else{return"L"}}}}}}}var fN=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var fW=/[stwN]/,fP=/[LRr]/,fO=/[Lb1n]/,fS=/[1n]/;var fV="L";function fU(fZ,fY,fX){this.level=fZ;this.from=fY;this.to=fX}return function(f7){if(!fN.test(f7)){return false}var gd=f7.length,f3=[];for(var gc=0,fZ;gc<gd;++gc){f3.push(fZ=fQ(f7.charCodeAt(gc)))}for(var gc=0,f6=fV;gc<gd;++gc){var fZ=f3[gc];if(fZ=="m"){f3[gc]=f6}else{f6=fZ}}for(var gc=0,fX=fV;gc<gd;++gc){var fZ=f3[gc];if(fZ=="1"&&fX=="r"){f3[gc]="n"}else{if(fP.test(fZ)){fX=fZ;if(fZ=="r"){f3[gc]="R"}}}}for(var gc=1,f6=f3[0];gc<gd-1;++gc){var fZ=f3[gc];if(fZ=="+"&&f6=="1"&&f3[gc+1]=="1"){f3[gc]="1"}else{if(fZ==","&&f6==f3[gc+1]&&(f6=="1"||f6=="n")){f3[gc]=f6}}f6=fZ}for(var gc=0;gc<gd;++gc){var fZ=f3[gc];if(fZ==","){f3[gc]="N"}else{if(fZ=="%"){for(var f0=gc+1;f0<gd&&f3[f0]=="%";++f0){}var ge=(gc&&f3[gc-1]=="!")||(f0<gd&&f3[f0]=="1")?"1":"N";for(var ga=gc;ga<f0;++ga){f3[ga]=ge}gc=f0-1}}}for(var gc=0,fX=fV;gc<gd;++gc){var fZ=f3[gc];if(fX=="L"&&fZ=="1"){f3[gc]="L"}else{if(fP.test(fZ)){fX=fZ}}}for(var gc=0;gc<gd;++gc){if(fW.test(f3[gc])){for(var f0=gc+1;f0<gd&&fW.test(f3[f0]);++f0){}var f4=(gc?f3[gc-1]:fV)=="L";var fY=(f0<gd?f3[f0]:fV)=="L";var ge=f4||fY?"L":"R";for(var ga=gc;ga<f0;++ga){f3[ga]=ge}gc=f0-1}}var gb=[],f8;for(var gc=0;gc<gd;){if(fO.test(f3[gc])){var f1=gc;for(++gc;gc<gd&&fO.test(f3[gc]);++gc){}gb.push(new fU(0,f1,gc))}else{var f2=gc,f5=gb.length;for(++gc;gc<gd&&f3[gc]!="L";++gc){}for(var ga=f2;ga<gc;){if(fS.test(f3[ga])){if(f2<ga){gb.splice(f5,0,new fU(1,f2,ga))}var f9=ga;for(++ga;ga<gc&&fS.test(f3[ga]);++ga){}gb.splice(f5,0,new fU(2,f9,ga));f2=ga}else{++ga}}if(f2<gc){gb.splice(f5,0,new fU(1,f2,gc))}}}if(gb[0].level==1&&(f8=f7.match(/^\s+/))){gb[0].from=f8[0].length;gb.unshift(new fU(0,0,f8[0].length))}if(fh(gb).level==1&&(f8=f7.match(/\s+$/))){fh(gb).to-=f8[0].length;gb.push(new fU(0,gd-f8[0].length,gd))}if(gb[0].level!=fh(gb).level){gb.push(new fU(gb[0].level,gd,gd))}return gb}})();I.version="4.1.1";return I}); // CodeMirror XML. (function(a){if(typeof exports=="object"&&typeof module=="object"){a(require("../../lib/codemirror"))}else{if(typeof define=="function"&&define.amd){define(["../../lib/codemirror"],a)}else{a(CodeMirror)}}})(function(a){a.defineMode("xml",function(y,k){var p=y.indentUnit;var x=k.multilineTagIndentFactor||1;var d=k.multilineTagIndentPastTag;if(d==null){d=true}var w=k.htmlMode?{autoSelfClosers:{area:true,base:true,br:true,col:true,command:true,embed:true,frame:true,hr:true,img:true,input:true,keygen:true,link:true,meta:true,param:true,source:true,track:true,wbr:true},implicitlyClosed:{dd:true,li:true,optgroup:true,option:true,p:true,rp:true,rt:true,tbody:true,td:true,tfoot:true,th:true,tr:true},contextGrabbers:{dd:{dd:true,dt:true},dt:{dd:true,dt:true},li:{li:true},option:{option:true,optgroup:true},optgroup:{optgroup:true},p:{address:true,article:true,aside:true,blockquote:true,dir:true,div:true,dl:true,fieldset:true,footer:true,form:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,header:true,hgroup:true,hr:true,menu:true,nav:true,ol:true,p:true,pre:true,section:true,table:true,ul:true},rp:{rp:true,rt:true},rt:{rp:true,rt:true},tbody:{tbody:true,tfoot:true},td:{td:true,th:true},tfoot:{tbody:true},th:{td:true,th:true},thead:{tbody:true,tfoot:true},tr:{tr:true}},doNotIndent:{pre:true},allowUnquoted:true,allowMissing:true,caseFold:true}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:false,allowMissing:false,caseFold:false};var c=k.alignCDATA;var f,g;function n(F,E){function C(G){E.tokenize=G;return G(F,E)}var D=F.next();if(D=="<"){if(F.eat("!")){if(F.eat("[")){if(F.match("CDATA[")){return C(v("atom","]]>"))}else{return null}}else{if(F.match("--")){return C(v("comment","-->"))}else{if(F.match("DOCTYPE",true,true)){F.eatWhile(/[\w\._\-]/);return C(z(1))}else{return null}}}}else{if(F.eat("?")){F.eatWhile(/[\w\._\-]/);E.tokenize=v("meta","?>");return"meta"}else{f=F.eat("/")?"closeTag":"openTag";E.tokenize=m;return"tag bracket"}}}else{if(D=="&"){var B;if(F.eat("#")){if(F.eat("x")){B=F.eatWhile(/[a-fA-F\d]/)&&F.eat(";")}else{B=F.eatWhile(/[\d]/)&&F.eat(";")}}else{B=F.eatWhile(/[\w\.\-:]/)&&F.eat(";")}return B?"atom":"error"}else{F.eatWhile(/[^&<]/);return null}}}function m(E,D){var C=E.next();if(C==">"||(C=="/"&&E.eat(">"))){D.tokenize=n;f=C==">"?"endTag":"selfcloseTag";return"tag bracket"}else{if(C=="="){f="equals";return null}else{if(C=="<"){D.tokenize=n;D.state=l;D.tagName=D.tagStart=null;var B=D.tokenize(E,D);return B?B+" error":"error"}else{if(/[\'\"]/.test(C)){D.tokenize=j(C);D.stringStartCol=E.column();return D.tokenize(E,D)}else{E.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/);return"word"}}}}}function j(B){var C=function(E,D){while(!E.eol()){if(E.next()==B){D.tokenize=m;break}}return"string"};C.isInAttribute=true;return C}function v(C,B){return function(E,D){while(!E.eol()){if(E.match(B)){D.tokenize=n;break}E.next()}return C}}function z(B){return function(E,D){var C;while((C=E.next())!=null){if(C=="<"){D.tokenize=z(B+1);return D.tokenize(E,D)}else{if(C==">"){if(B==1){D.tokenize=n;break}else{D.tokenize=z(B-1);return D.tokenize(E,D)}}}}return"meta"}}function r(C,B,D){this.prev=C.context;this.tagName=B;this.indent=C.indented;this.startOfLine=D;if(w.doNotIndent.hasOwnProperty(B)||(C.context&&C.context.noIndent)){this.noIndent=true}}function u(B){if(B.context){B.context=B.context.prev}}function q(D,C){var B;while(true){if(!D.context){return}B=D.context.tagName;if(!w.contextGrabbers.hasOwnProperty(B)||!w.contextGrabbers[B].hasOwnProperty(C)){return}u(D)}}function l(B,D,C){if(B=="openTag"){C.tagStart=D.column();return b}else{if(B=="closeTag"){return t}else{return l}}}function b(B,D,C){if(B=="word"){C.tagName=D.current();g="tag";return e}else{g="error";return b}}function t(C,E,D){if(C=="word"){var B=E.current();if(D.context&&D.context.tagName!=B&&w.implicitlyClosed.hasOwnProperty(D.context.tagName)){u(D)}if(D.context&&D.context.tagName==B){g="tag";return s}else{g="tag error";return A}}else{g="error";return A}}function s(C,B,D){if(C!="endTag"){g="error";return s}u(D);return l}function A(B,D,C){g="error";return s(B,D,C)}function e(E,C,F){if(E=="word"){g="attribute";return i}else{if(E=="endTag"||E=="selfcloseTag"){var D=F.tagName,B=F.tagStart;F.tagName=F.tagStart=null;if(E=="selfcloseTag"||w.autoSelfClosers.hasOwnProperty(D)){q(F,D)}else{q(F,D);F.context=new r(F,D,B==F.indented)}return l}}g="error";return e}function i(B,D,C){if(B=="equals"){return o}if(!w.allowMissing){g="error"}return e(B,D,C)}function o(B,D,C){if(B=="string"){return h}if(B=="word"&&w.allowUnquoted){g="string";return e}g="error";return e(B,D,C)}function h(B,D,C){if(B=="string"){return h}return e(B,D,C)}return{startState:function(){return{tokenize:n,state:l,indented:0,tagName:null,tagStart:null,context:null}},token:function(D,C){if(!C.tagName&&D.sol()){C.indented=D.indentation()}if(D.eatSpace()){return null}f=null;var B=C.tokenize(D,C);if((B||f)&&B!="comment"){g=null;C.state=C.state(f||B,D,C);if(g){B=g=="error"?B+" error":g}}return B},indent:function(G,C,F){var E=G.context;if(G.tokenize.isInAttribute){if(G.tagStart==G.indented){return G.stringStartCol+1}else{return G.indented+p}}if(E&&E.noIndent){return a.Pass}if(G.tokenize!=m&&G.tokenize!=n){return F?F.match(/^(\s*)/)[0].length:0}if(G.tagName){if(d){return G.tagStart+G.tagName.length+2}else{return G.tagStart+p*x}}if(c&&/<!\[CDATA\[/.test(C)){return 0}var B=C&&/^<(\/)?([\w_:\.-]*)/.exec(C);if(B&&B[1]){while(E){if(E.tagName==B[2]){E=E.prev;break}else{if(w.implicitlyClosed.hasOwnProperty(E.tagName)){E=E.prev}else{break}}}}else{if(B){while(E){var D=w.contextGrabbers[E.tagName];if(D&&D.hasOwnProperty(B[2])){E=E.prev}else{break}}}}while(E&&!E.startOfLine){E=E.prev}if(E){return E.indent+p}else{return 0}},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:k.htmlMode?"html":"xml",helperType:k.htmlMode?"html":"xml"}});a.defineMIME("text/xml","xml");a.defineMIME("application/xml","xml");if(!a.mimeModes.hasOwnProperty("text/html")){a.defineMIME("text/html",{name:"xml",htmlMode:true})}}); // CodeMirror JS. (function(a){if(typeof exports=="object"&&typeof module=="object"){a(require("../../lib/codemirror"))}else{if(typeof define=="function"&&define.amd){define(["../../lib/codemirror"],a)}else{a(CodeMirror)}}})(function(a){a.defineMode("javascript",function(X,ah){var j=X.indentUnit;var x=ah.statementIndent;var aw=ah.jsonld;var w=ah.json||aw;var f=ah.typescript;var ao=function(){function aM(aO){return{type:aO,style:"keyword"}}var aH=aM("keyword a"),aF=aM("keyword b"),aE=aM("keyword c");var aG=aM("operator"),aK={type:"atom",style:"atom"};var aI={"if":aM("if"),"while":aH,"with":aH,"else":aF,"do":aF,"try":aF,"finally":aF,"return":aE,"break":aE,"continue":aE,"new":aE,"delete":aE,"throw":aE,"debugger":aE,"var":aM("var"),"const":aM("var"),let:aM("var"),"function":aM("function"),"catch":aM("catch"),"for":aM("for"),"switch":aM("switch"),"case":aM("case"),"default":aM("default"),"in":aG,"typeof":aG,"instanceof":aG,"true":aK,"false":aK,"null":aK,"undefined":aK,"NaN":aK,"Infinity":aK,"this":aM("this"),module:aM("module"),"class":aM("class"),"super":aM("atom"),yield:aE,"export":aM("export"),"import":aM("import"),"extends":aE};if(f){var aN={type:"variable",style:"variable-3"};var aJ={"interface":aM("interface"),"extends":aM("extends"),constructor:aM("constructor"),"public":aM("public"),"private":aM("private"),"protected":aM("protected"),"static":aM("static"),string:aN,number:aN,bool:aN,any:aN};for(var aL in aJ){aI[aL]=aJ[aL]}}return aI}();var M=/[+\-*&%=<>!?|~^]/;var an=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function C(aH){var aF=false,aE,aG=false;while((aE=aH.next())!=null){if(!aF){if(aE=="/"&&!aG){return}if(aE=="["){aG=true}else{if(aG&&aE=="]"){aG=false}}}aF=!aF&&aE=="\\"}}var P,D;function I(aG,aF,aE){P=aG;D=aE;return aF}function R(aI,aG){var aE=aI.next();if(aE=='"'||aE=="'"){aG.tokenize=O(aE);return aG.tokenize(aI,aG)}else{if(aE=="."&&aI.match(/^\d+(?:[eE][+\-]?\d+)?/)){return I("number","number")}else{if(aE=="."&&aI.match("..")){return I("spread","meta")}else{if(/[\[\]{}\(\),;\:\.]/.test(aE)){return I(aE)}else{if(aE=="="&&aI.eat(">")){return I("=>","operator")}else{if(aE=="0"&&aI.eat(/x/i)){aI.eatWhile(/[\da-f]/i);return I("number","number")}else{if(/\d/.test(aE)){aI.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);return I("number","number")}else{if(aE=="/"){if(aI.eat("*")){aG.tokenize=av;return av(aI,aG)}else{if(aI.eat("/")){aI.skipToEnd();return I("comment","comment")}else{if(aG.lastType=="operator"||aG.lastType=="keyword c"||aG.lastType=="sof"||/^[\[{}\(,;:]$/.test(aG.lastType)){C(aI);aI.eatWhile(/[gimy]/);return I("regexp","string-2")}else{aI.eatWhile(M);return I("operator","operator",aI.current())}}}}else{if(aE=="`"){aG.tokenize=ax;return ax(aI,aG)}else{if(aE=="#"){aI.skipToEnd();return I("error","error")}else{if(M.test(aE)){aI.eatWhile(M);return I("operator","operator",aI.current())}else{aI.eatWhile(/[\w\$_]/);var aH=aI.current(),aF=ao.propertyIsEnumerable(aH)&&ao[aH];return(aF&&aG.lastType!=".")?I(aF.type,aF.style,aH):I("variable","variable",aH)}}}}}}}}}}}}function O(aE){return function(aI,aG){var aH=false,aF;if(aw&&aI.peek()=="@"&&aI.match(an)){aG.tokenize=R;return I("jsonld-keyword","meta")}while((aF=aI.next())!=null){if(aF==aE&&!aH){break}aH=!aH&&aF=="\\"}if(!aH){aG.tokenize=R}return I("string","string")}}function av(aH,aG){var aE=false,aF;while(aF=aH.next()){if(aF=="/"&&aE){aG.tokenize=R;break}aE=(aF=="*")}return I("comment","comment")}function ax(aH,aF){var aG=false,aE;while((aE=aH.next())!=null){if(!aG&&(aE=="`"||aE=="$"&&aH.eat("{"))){aF.tokenize=R;break}aG=!aG&&aE=="\\"}return I("quasi","string-2",aH.current())}var k="([{}])";function ar(aK,aH){if(aH.fatArrowAt){aH.fatArrowAt=null}var aG=aK.string.indexOf("=>",aK.start);if(aG<0){return}var aJ=0,aF=false;for(var aL=aG-1;aL>=0;--aL){var aE=aK.string.charAt(aL);var aI=k.indexOf(aE);if(aI>=0&&aI<3){if(!aJ){++aL;break}if(--aJ==0){break}}else{if(aI>=3&&aI<6){++aJ}else{if(/[$\w]/.test(aE)){aF=true}else{if(aF&&!aJ){++aL;break}}}}}if(aF&&!aJ){aH.fatArrowAt=aL}}var b={atom:true,number:true,variable:true,string:true,regexp:true,"this":true,"jsonld-keyword":true};function G(aJ,aF,aE,aI,aG,aH){this.indented=aJ;this.column=aF;this.type=aE;this.prev=aG;this.info=aH;if(aI!=null){this.align=aI}}function p(aH,aG){for(var aF=aH.localVars;aF;aF=aF.next){if(aF.name==aG){return true}}for(var aE=aH.context;aE;aE=aE.prev){for(var aF=aE.vars;aF;aF=aF.next){if(aF.name==aG){return true}}}}function e(aI,aF,aE,aH,aJ){var aK=aI.cc;A.state=aI;A.stream=aJ;A.marked=null,A.cc=aK;if(!aI.lexical.hasOwnProperty("align")){aI.lexical.align=true}while(true){var aG=aK.length?aK.pop():w?al:aC;if(aG(aE,aH)){while(aK.length&&aK[aK.length-1].lex){aK.pop()()}if(A.marked){return A.marked}if(aE=="variable"&&p(aI,aH)){return"variable-2"}return aF}}}var A={state:null,column:null,marked:null,cc:null};function Y(){for(var aE=arguments.length-1;aE>=0;aE--){A.cc.push(arguments[aE])}}function ac(){Y.apply(null,arguments);return true}function aq(aF){function aE(aI){for(var aH=aI;aH;aH=aH.next){if(aH.name==aF){return true}}return false}var aG=A.state;if(aG.context){A.marked="def";if(aE(aG.localVars)){return}aG.localVars={name:aF,next:aG.localVars}}else{if(aE(aG.globalVars)){return}if(ah.globalVars){aG.globalVars={name:aF,next:aG.globalVars}}}}var n={name:"this",next:{name:"arguments"}};function t(){A.state.context={prev:A.state.context,vars:A.state.localVars};A.state.localVars=n}function u(){A.state.localVars=A.state.context.vars;A.state.context=A.state.context.prev}function aA(aF,aG){var aE=function(){var aI=A.state,aH=aI.indented;if(aI.lexical.type=="stat"){aH=aI.lexical.indented}aI.lexical=new G(aH,A.stream.column(),aF,null,aI.lexical,aG)};aE.lex=true;return aE}function g(){var aE=A.state;if(aE.lexical.prev){if(aE.lexical.type==")"){aE.indented=aE.lexical.indented}aE.lexical=aE.lexical.prev}}g.lex=true;function o(aE){function aF(aG){if(aG==aE){return ac()}else{if(aE==";"){return Y()}else{return ac(aF)}}}return aF}function aC(aE,aF){if(aE=="var"){return ac(aA("vardef",aF.length),c,o(";"),g)}if(aE=="keyword a"){return ac(aA("form"),al,aC,g)}if(aE=="keyword b"){return ac(aA("form"),aC,g)}if(aE=="{"){return ac(aA("}"),v,g)}if(aE==";"){return ac()}if(aE=="if"){if(A.state.lexical.info=="else"&&A.state.cc[A.state.cc.length-1]==g){A.state.cc.pop()()}return ac(aA("form"),al,aC,g,d)}if(aE=="function"){return ac(J)}if(aE=="for"){return ac(aA("form"),r,aC,g)}if(aE=="variable"){return ac(aA("stat"),aD)}if(aE=="switch"){return ac(aA("form"),al,aA("}","switch"),o("{"),v,g,g)}if(aE=="case"){return ac(al,o(":"))}if(aE=="default"){return ac(o(":"))}if(aE=="catch"){return ac(aA("form"),t,o("("),ad,o(")"),aC,g,u)}if(aE=="module"){return ac(aA("form"),t,E,u,g)}if(aE=="class"){return ac(aA("form"),T,S,g)}if(aE=="export"){return ac(aA("form"),aB,g)}if(aE=="import"){return ac(aA("form"),ae,g)}return Y(aA("stat"),al,o(";"),g)}function al(aE){return W(aE,false)}function az(aE){return W(aE,true)}function W(aF,aH){if(A.state.fatArrowAt==A.stream.start){var aE=aH?K:U;if(aF=="("){return ac(t,aA(")"),ap(h,")"),g,o("=>"),aE,u)}else{if(aF=="variable"){return Y(t,h,o("=>"),aE,u)}}}var aG=aH?i:Z;if(b.hasOwnProperty(aF)){return ac(aG)}if(aF=="function"){return ac(J,aG)}if(aF=="keyword c"){return ac(aH?ai:ag)}if(aF=="("){return ac(aA(")"),ag,au,o(")"),g,aG)}if(aF=="operator"||aF=="spread"){return ac(aH?az:al)}if(aF=="["){return ac(aA("]"),l,g,aG)}if(aF=="{"){return at(q,"}",null,aG)}if(aF=="quasi"){return Y(N,aG)}return ac()}function ag(aE){if(aE.match(/[;\}\)\],]/)){return Y()}return Y(al)}function ai(aE){if(aE.match(/[;\}\)\],]/)){return Y()}return Y(az)}function Z(aE,aF){if(aE==","){return ac(al)}return i(aE,aF,false)}function i(aE,aG,aI){var aF=aI==false?Z:i;var aH=aI==false?al:az;if(aG=="=>"){return ac(t,aI?K:U,u)}if(aE=="operator"){if(/\+\+|--/.test(aG)){return ac(aF)}if(aG=="?"){return ac(al,o(":"),aH)}return ac(aH)}if(aE=="quasi"){return Y(N,aF)}if(aE==";"){return}if(aE=="("){return at(az,")","call",aF)}if(aE=="."){return ac(aj,aF)}if(aE=="["){return ac(aA("]"),ag,o("]"),g,aF)}}function N(aE,aF){if(aE!="quasi"){return Y()}if(aF.slice(aF.length-2)!="${"){return ac(N)}return ac(al,m)}function m(aE){if(aE=="}"){A.marked="string-2";A.state.tokenize=ax;return ac(N)}}function U(aE){ar(A.stream,A.state);if(aE=="{"){return Y(aC)}return Y(al)}function K(aE){ar(A.stream,A.state);if(aE=="{"){return Y(aC)}return Y(az)}function aD(aE){if(aE==":"){return ac(g,aC)}return Y(Z,o(";"),g)}function aj(aE){if(aE=="variable"){A.marked="property";return ac()}}function q(aE,aF){if(aE=="variable"){A.marked="property";if(aF=="get"||aF=="set"){return ac(F)}}else{if(aE=="number"||aE=="string"){A.marked=aw?"property":(aE+" property")}else{if(aE=="["){return ac(al,o("]"),H)}}}if(b.hasOwnProperty(aE)){return ac(H)}}function F(aE){if(aE!="variable"){return Y(H)}A.marked="property";return ac(J)}function H(aE){if(aE==":"){return ac(az)}if(aE=="("){return Y(J)}}function ap(aG,aE){function aF(aI){if(aI==","){var aH=A.state.lexical;if(aH.info=="call"){aH.pos=(aH.pos||0)+1}return ac(aG,aF)}if(aI==aE){return ac()}return ac(o(aE))}return function(aH){if(aH==aE){return ac()}return Y(aG,aF)}}function at(aH,aE,aG){for(var aF=3;aF<arguments.length;aF++){A.cc.push(arguments[aF])}return ac(aA(aE,aG),ap(aH,aE),g)}function v(aE){if(aE=="}"){return ac()}return Y(aC,v)}function Q(aE){if(f&&aE==":"){return ac(ab)}}function ab(aE){if(aE=="variable"){A.marked="variable-3";return ac()}}function c(){return Y(h,Q,aa,V)}function h(aE,aF){if(aE=="variable"){aq(aF);return ac()}if(aE=="["){return at(h,"]")}if(aE=="{"){return at(ay,"}")}}function ay(aE,aF){if(aE=="variable"&&!A.stream.match(/^\s*:/,false)){aq(aF);return ac(aa)}if(aE=="variable"){A.marked="property"}return ac(o(":"),h,aa)}function aa(aE,aF){if(aF=="="){return ac(az)}}function V(aE){if(aE==","){return ac(c)}}function d(aE,aF){if(aE=="keyword b"&&aF=="else"){return ac(aA("form","else"),aC,g)}}function r(aE){if(aE=="("){return ac(aA(")"),B,o(")"),g)}}function B(aE){if(aE=="var"){return ac(c,o(";"),z)}if(aE==";"){return ac(z)}if(aE=="variable"){return ac(s)}return Y(al,o(";"),z)}function s(aE,aF){if(aF=="in"||aF=="of"){A.marked="keyword";return ac(al)}return ac(Z,z)}function z(aE,aF){if(aE==";"){return ac(y)}if(aF=="in"||aF=="of"){A.marked="keyword";return ac(al)}return Y(al,o(";"),y)}function y(aE){if(aE!=")"){ac(al)}}function J(aE,aF){if(aF=="*"){A.marked="keyword";return ac(J)}if(aE=="variable"){aq(aF);return ac(J)}if(aE=="("){return ac(t,aA(")"),ap(ad,")"),g,aC,u)}}function ad(aE){if(aE=="spread"){return ac(ad)}return Y(h,Q)}function T(aE,aF){if(aE=="variable"){aq(aF);return ac(L)}}function L(aE,aF){if(aF=="extends"){return ac(al)}}function S(aE){if(aE=="{"){return at(q,"}")}}function E(aE,aF){if(aE=="string"){return ac(aC)}if(aE=="variable"){aq(aF);return ac(af)}}function aB(aE,aF){if(aF=="*"){A.marked="keyword";return ac(af,o(";"))}if(aF=="default"){A.marked="keyword";return ac(al,o(";"))}return Y(aC)}function ae(aE){if(aE=="string"){return ac()}return Y(am,af)}function am(aE,aF){if(aE=="{"){return at(am,"}")}if(aE=="variable"){aq(aF)}return ac()}function af(aE,aF){if(aF=="from"){A.marked="keyword";return ac(al)}}function l(aE){if(aE=="]"){return ac()}return Y(az,ak)}function ak(aE){if(aE=="for"){return Y(au,o("]"))}if(aE==","){return ac(ap(az,"]"))}return Y(ap(az,"]"))}function au(aE){if(aE=="for"){return ac(r,au)}if(aE=="if"){return ac(al,au)}}return{startState:function(aF){var aE={tokenize:R,lastType:"sof",cc:[],lexical:new G((aF||0)-j,0,"block",false),localVars:ah.localVars,context:ah.localVars&&{vars:ah.localVars},indented:0};if(ah.globalVars&&typeof ah.globalVars=="object"){aE.globalVars=ah.globalVars}return aE},token:function(aG,aF){if(aG.sol()){if(!aF.lexical.hasOwnProperty("align")){aF.lexical.align=false}aF.indented=aG.indentation();ar(aG,aF)}if(aF.tokenize!=av&&aG.eatSpace()){return null}var aE=aF.tokenize(aG,aF);if(P=="comment"){return aE}aF.lastType=P=="operator"&&(D=="++"||D=="--")?"incdec":P;return e(aF,aE,P,D,aG)},indent:function(aK,aE){if(aK.tokenize==av){return a.Pass}if(aK.tokenize!=R){return 0}var aJ=aE&&aE.charAt(0),aH=aK.lexical;if(!/^\s*else\b/.test(aE)){for(var aG=aK.cc.length-1;aG>=0;--aG){var aL=aK.cc[aG];if(aL==g){aH=aH.prev}else{if(aL!=d){break}}}}if(aH.type=="stat"&&aJ=="}"){aH=aH.prev}if(x&&aH.type==")"&&aH.prev.type=="stat"){aH=aH.prev}var aI=aH.type,aF=aJ==aI;if(aI=="vardef"){return aH.indented+(aK.lastType=="operator"||aK.lastType==","?aH.info+1:0)}else{if(aI=="form"&&aJ=="{"){return aH.indented}else{if(aI=="form"){return aH.indented+j}else{if(aI=="stat"){return aH.indented+(aK.lastType=="operator"||aK.lastType==","?x||j:0)}else{if(aH.info=="switch"&&!aF&&ah.doubleIndentSwitch!=false){return aH.indented+(/^(?:case|default)\b/.test(aE)?j:2*j)}else{if(aH.align){return aH.column+(aF?0:1)}else{return aH.indented+(aF?0:j)}}}}}}},electricChars:":{}",blockCommentStart:w?null:"/*",blockCommentEnd:w?null:"*/",lineComment:w?null:"//",fold:"brace",helperType:w?"json":"javascript",jsonldMode:aw,jsonMode:w}});a.defineMIME("text/javascript","javascript");a.defineMIME("text/ecmascript","javascript");a.defineMIME("application/javascript","javascript");a.defineMIME("application/ecmascript","javascript");a.defineMIME("application/json",{name:"javascript",json:true});a.defineMIME("application/x-json",{name:"javascript",json:true});a.defineMIME("application/ld+json",{name:"javascript",jsonld:true});a.defineMIME("text/typescript",{name:"javascript",typescript:true});a.defineMIME("application/typescript",{name:"javascript",typescript:true})}); // CodeMirror CSS. (function(a){if(typeof exports=="object"&&typeof module=="object"){a(require("../../lib/codemirror"))}else{if(typeof define=="function"&&define.amd){define(["../../lib/codemirror"],a)}else{a(CodeMirror)}}})(function(m){m.defineMode("css",function(N,B){if(!B.propertyKeywords){B=m.resolveMode("text/css")}var H=N.indentUnit,t=B.tokenHooks,M=B.mediaTypes||{},D=B.mediaFeatures||{},A=B.propertyKeywords||{},u=B.nonStandardPropertyKeywords||{},G=B.colorKeywords||{},J=B.valueKeywords||{},w=B.fontProperties||{},E=B.allowNested;var v,F;function O(R,S){v=S;return R}function Q(U,T){var S=U.next();if(t[S]){var R=t[S](U,T);if(R!==false){return R}}if(S=="@"){U.eatWhile(/[\w\\\-]/);return O("def",U.current())}else{if(S=="="||(S=="~"||S=="|")&&U.eat("=")){return O(null,"compare")}else{if(S=='"'||S=="'"){T.tokenize=C(S);return T.tokenize(U,T)}else{if(S=="#"){U.eatWhile(/[\w\\\-]/);return O("atom","hash")}else{if(S=="!"){U.match(/^\s*\w*/);return O("keyword","important")}else{if(/\d/.test(S)||S=="."&&U.eat(/\d/)){U.eatWhile(/[\w.%]/);return O("number","unit")}else{if(S==="-"){if(/[\d.]/.test(U.peek())){U.eatWhile(/[\w.%]/);return O("number","unit")}else{if(U.match(/^[^-]+-/)){return O("meta","meta")}}}else{if(/[,+>*\/]/.test(S)){return O(null,"select-op")}else{if(S=="."&&U.match(/^-?[_a-z][_a-z0-9-]*/i)){return O("qualifier","qualifier")}else{if(/[:;{}\[\]\(\)]/.test(S)){return O(null,S)}else{if(S=="u"&&U.match("rl(")){U.backUp(1);T.tokenize=P;return O("property","word")}else{if(/[\w\\\-]/.test(S)){U.eatWhile(/[\w\\\-]/);return O("property","word")}else{return O(null,null)}}}}}}}}}}}}}function C(R){return function(V,T){var U=false,S;while((S=V.next())!=null){if(S==R&&!U){if(R==")"){V.backUp(1)}break}U=!U&&S=="\\"}if(S==R||!U&&R!=")"){T.tokenize=null}return O("string","string")}}function P(S,R){S.next();if(!S.match(/\s*[\"\')]/,false)){R.tokenize=C(")")}else{R.tokenize=null}return O(null,"(")}function I(S,R,T){this.type=S;this.indent=R;this.prev=T}function y(S,T,R){S.context=new I(R,T.indentation()+H,S.context);return R}function K(R){R.context=R.context.prev;return R.context.type}function s(R,T,S){return x[S.context.type](R,T,S)}function L(S,U,T,V){for(var R=V||1;R>0;R--){T.context=T.context.prev}return s(S,U,T)}function z(S){var R=S.current().toLowerCase();if(J.hasOwnProperty(R)){F="atom"}else{if(G.hasOwnProperty(R)){F="keyword"}else{F="variable"}}}var x={};x.top=function(R,T,S){if(R=="{"){return y(S,T,"block")}else{if(R=="}"&&S.context.prev){return K(S)}else{if(R=="@media"){return y(S,T,"media")}else{if(R=="@font-face"){return"font_face_before"}else{if(/^@(-(moz|ms|o|webkit)-)?keyframes$/.test(R)){return"keyframes"}else{if(R&&R.charAt(0)=="@"){return y(S,T,"at")}else{if(R=="hash"){F="builtin"}else{if(R=="word"){F="tag"}else{if(R=="variable-definition"){return"maybeprop"}else{if(R=="interpolation"){return y(S,T,"interpolation")}else{if(R==":"){return"pseudo"}else{if(E&&R=="("){return y(S,T,"params")}}}}}}}}}}}}return S.context.type};x.block=function(R,U,S){if(R=="word"){var T=U.current().toLowerCase();if(A.hasOwnProperty(T)){F="property";return"maybeprop"}else{if(u.hasOwnProperty(T)){F="string-2";return"maybeprop"}else{if(E){F=U.match(/^\s*:/,false)?"property":"tag";return"block"}else{F+=" error";return"maybeprop"}}}}else{if(R=="meta"){return"block"}else{if(!E&&(R=="hash"||R=="qualifier")){F="error";return"block"}else{return x.top(R,U,S)}}}};x.maybeprop=function(R,T,S){if(R==":"){return y(S,T,"prop")}return s(R,T,S)};x.prop=function(R,T,S){if(R==";"){return K(S)}if(R=="{"&&E){return y(S,T,"propBlock")}if(R=="}"||R=="{"){return L(R,T,S)}if(R=="("){return y(S,T,"parens")}if(R=="hash"&&!/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(T.current())){F+=" error"}else{if(R=="word"){z(T)}else{if(R=="interpolation"){return y(S,T,"interpolation")}}}return"prop"};x.propBlock=function(S,R,T){if(S=="}"){return K(T)}if(S=="word"){F="property";return"maybeprop"}return T.context.type};x.parens=function(R,T,S){if(R=="{"||R=="}"){return L(R,T,S)}if(R==")"){return K(S)}return"parens"};x.pseudo=function(R,T,S){if(R=="word"){F="variable-3";return S.context.type}return s(R,T,S)};x.media=function(R,U,S){if(R=="("){return y(S,U,"media_parens")}if(R=="}"){return L(R,U,S)}if(R=="{"){return K(S)&&y(S,U,E?"block":"top")}if(R=="word"){var T=U.current().toLowerCase();if(T=="only"||T=="not"||T=="and"){F="keyword"}else{if(M.hasOwnProperty(T)){F="attribute"}else{if(D.hasOwnProperty(T)){F="property"}else{F="error"}}}}return S.context.type};x.media_parens=function(R,T,S){if(R==")"){return K(S)}if(R=="{"||R=="}"){return L(R,T,S,2)}return x.media(R,T,S)};x.font_face_before=function(R,T,S){if(R=="{"){return y(S,T,"font_face")}return s(R,T,S)};x.font_face=function(R,T,S){if(R=="}"){return K(S)}if(R=="word"){if(!w.hasOwnProperty(T.current().toLowerCase())){F="error"}else{F="property"}return"maybeprop"}return"font_face"};x.keyframes=function(R,T,S){if(R=="word"){F="variable";return"keyframes"}if(R=="{"){return y(S,T,"top")}return s(R,T,S)};x.at=function(R,T,S){if(R==";"){return K(S)}if(R=="{"||R=="}"){return L(R,T,S)}if(R=="word"){F="tag"}else{if(R=="hash"){F="builtin"}}return"at"};x.interpolation=function(R,T,S){if(R=="}"){return K(S)}if(R=="{"||R==";"){return L(R,T,S)}if(R!="variable"){F="error"}return"interpolation"};x.params=function(R,T,S){if(R==")"){return K(S)}if(R=="{"||R=="}"){return L(R,T,S)}if(R=="word"){z(T)}return"params"};return{startState:function(R){return{tokenize:null,state:"top",context:new I("top",R||0,null)}},token:function(T,S){if(!S.tokenize&&T.eatSpace()){return null}var R=(S.tokenize||Q)(T,S);if(R&&typeof R=="object"){v=R[1];R=R[0]}F=R;S.state=x[S.state](v,T,S);return F},indent:function(V,T){var S=V.context,U=T&&T.charAt(0);var R=S.indent;if(S.type=="prop"&&U=="}"){S=S.prev}if(S.prev&&(U=="}"&&(S.type=="block"||S.type=="top"||S.type=="interpolation"||S.type=="font_face")||U==")"&&(S.type=="parens"||S.type=="params"||S.type=="media_parens")||U=="{"&&(S.type=="at"||S.type=="media"))){R=S.indent-H;S=S.prev}return R},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace"}});function f(u){var t={};for(var s=0;s<u.length;++s){t[u[s]]=true}return t}var a=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],p=f(a);var r=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"],i=f(r);var c=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-inside","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],h=f(c);var d=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],d=f(d);var b=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],k=f(b);var j=["above","absolute","activeborder","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","content-box","context-menu","continuous","copy","cover","crop","cross","crosshair","currentcolor","cursive","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ew-resize","expanded","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-table","inset","inside","intrinsic","invert","italic","justify","kannada","katakana","katakana-iroha","keep-all","khmer","landscape","lao","large","larger","left","level","lighter","line-through","linear","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","single","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","x-large","x-small","xor","xx-large","xx-small"],n=f(j);var o=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],e=f(o);var l=a.concat(r).concat(c).concat(d).concat(b).concat(j);m.registerHelper("hintWords","css",l);function q(v,u){var s=false,t;while((t=v.next())!=null){if(s&&t=="/"){u.tokenize=null;break}s=(t=="*")}return["comment","comment"]}function g(t,s){if(t.skipTo("-->")){t.match("-->");s.tokenize=null}else{t.skipToEnd()}return["comment","comment"]}m.defineMIME("text/css",{mediaTypes:p,mediaFeatures:i,propertyKeywords:h,nonStandardPropertyKeywords:d,colorKeywords:k,valueKeywords:n,fontProperties:e,tokenHooks:{"<":function(t,s){if(!t.match("!--")){return false}s.tokenize=g;return g(t,s)},"/":function(t,s){if(!t.eat("*")){return false}s.tokenize=q;return q(t,s)}},name:"css"});m.defineMIME("text/x-scss",{mediaTypes:p,mediaFeatures:i,propertyKeywords:h,nonStandardPropertyKeywords:d,colorKeywords:k,valueKeywords:n,fontProperties:e,allowNested:true,tokenHooks:{"/":function(t,s){if(t.eat("/")){t.skipToEnd();return["comment","comment"]}else{if(t.eat("*")){s.tokenize=q;return q(t,s)}else{return["operator","operator"]}}},":":function(s){if(s.match(/\s*{/)){return[null,"{"]}return false},"$":function(s){s.match(/^[\w-]+/);if(s.match(/^\s*:/,false)){return["variable-2","variable-definition"]}return["variable-2","variable"]},"#":function(s){if(!s.eat("{")){return false}return[null,"interpolation"]}},name:"css",helperType:"scss"});m.defineMIME("text/x-less",{mediaTypes:p,mediaFeatures:i,propertyKeywords:h,nonStandardPropertyKeywords:d,colorKeywords:k,valueKeywords:n,fontProperties:e,allowNested:true,tokenHooks:{"/":function(t,s){if(t.eat("/")){t.skipToEnd();return["comment","comment"]}else{if(t.eat("*")){s.tokenize=q;return q(t,s)}else{return["operator","operator"]}}},"@":function(s){if(s.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/,false)){return false}s.eatWhile(/[\w\\\-]/);if(s.match(/^\s*:/,false)){return["variable-2","variable-definition"]}return["variable-2","variable"]},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"})}); // CodeMirror HTML. (function(a){if(typeof exports=="object"&&typeof module=="object"){a(require("../../lib/codemirror"),require("../xml/xml"),require("../javascript/javascript"),require("../css/css"))}else{if(typeof define=="function"&&define.amd){define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],a)}else{a(CodeMirror)}}})(function(a){a.defineMode("htmlmixed",function(c,d){var b=a.getMode(c,{name:"xml",htmlMode:true,multilineTagIndentFactor:d.multilineTagIndentFactor,multilineTagIndentPastTag:d.multilineTagIndentPastTag});var n=a.getMode(c,"css");var l=[],k=d&&d.scriptTypes;l.push({matches:/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^$/i,mode:a.getMode(c,"javascript")});if(k){for(var e=0;e<k.length;++e){var j=k[e];l.push({matches:j.matches,mode:j.mode&&a.getMode(c,j.mode)})}}l.push({matches:/./,mode:a.getMode(c,"text/plain")});function f(t,r){var p=r.htmlState.tagName;var q=b.token(t,r.htmlState);if(p=="script"&&/\btag\b/.test(q)&&t.current()==">"){var u=t.string.slice(Math.max(0,t.pos-100),t.pos).match(/\btype\s*=\s*("[^"]+"|'[^']+'|\S+)[^<]*$/i);u=u?u[1]:"";if(u&&/[\"\']/.test(u.charAt(0))){u=u.slice(1,u.length-1)}for(var o=0;o<l.length;++o){var s=l[o];if(typeof s.matches=="string"?u==s.matches:s.matches.test(u)){if(s.mode){r.token=m;r.localMode=s.mode;r.localState=s.mode.startState&&s.mode.startState(b.indent(r.htmlState,""))}break}}}else{if(p=="style"&&/\btag\b/.test(q)&&t.current()==">"){r.token=g;r.localMode=n;r.localState=n.startState(b.indent(r.htmlState,""))}}return q}function h(s,o,p){var r=s.current();var q=r.search(o),i;if(q>-1){s.backUp(r.length-q)}else{if(i=r.match(/<\/?$/)){s.backUp(r.length);if(!s.match(o,false)){s.match(r)}}}return p}function m(o,i){if(o.match(/^<\/\s*script\s*>/i,false)){i.token=f;i.localState=i.localMode=null;return f(o,i)}return h(o,/<\/\s*script\s*>/,i.localMode.token(o,i.localState))}function g(o,i){if(o.match(/^<\/\s*style\s*>/i,false)){i.token=f;i.localState=i.localMode=null;return f(o,i)}return h(o,/<\/\s*style\s*>/,n.token(o,i.localState))}return{startState:function(){var i=b.startState();return{token:f,localMode:null,localState:null,htmlState:i}},copyState:function(o){if(o.localState){var i=a.copyState(o.localMode,o.localState)}return{token:o.token,localMode:o.localMode,localState:i,htmlState:a.copyState(b,o.htmlState)}},token:function(o,i){return i.token(o,i)},indent:function(o,i){if(!o.localMode||/^\s*<\//.test(i)){return b.indent(o.htmlState,i)}else{if(o.localMode.indent){return o.localMode.indent(o.localState,i)}else{return a.Pass}}},innerMode:function(i){return{state:i.localState||i.htmlState,mode:i.localMode||b}}}},"xml","javascript","css");a.defineMIME("text/html","htmlmixed")}); // CodeMirror PHP. (function(a){if(typeof exports=="object"&&typeof module=="object"){a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../clike/clike"))}else{if(typeof define=="function"&&define.amd){define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],a)}else{a(CodeMirror)}}})(function(b){function d(m){var k={},l=m.split(" ");for(var j=0;j<l.length;++j){k[l[j]]=true}return k}function i(j){return function(l,k){if(l.match(j)){k.tokenize=null}else{l.skipToEnd()}return"string"}}function c(j){if(j.length==0){return f}return function(n,m){var l=j[0];for(var k=0;k<l.length;k++){if(n.match(l[k][0])){m.tokenize=c(j.slice(1));return l[k][1]}}m.tokenize=f;return"string"}}function f(n,l){var m=false,k,j=false;if(n.current()=='"'){return"string"}if(n.match("${",false)||n.match("{$",false)){l.tokenize=null;return"string"}if(n.match(/\$[a-zA-Z_][a-zA-Z0-9_]*/)){if(n.match("[",false)){l.tokenize=c([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]])}if(n.match(/\-\>\w/,false)){l.tokenize=c([[["->",null]],[[/[\w]+/,"variable"]]])}return"variable-2"}while(!n.eol()&&(!n.match("{$",false))&&(!n.match(/(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,false)||m)){k=n.next();if(!m&&k=='"'){j=true;break}m=!m&&k=="\\"}if(j){l.tokenize=null;l.phpEncapsStack.pop()}return"string"}var g="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally";var h="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__";var a="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once";b.registerHelper("hintWords","php",[g,h,a].join(" ").split(" "));var e={name:"clike",helperType:"php",keywords:d(g),blockKeywords:d("catch do else elseif for foreach if switch try while finally"),atoms:d(h),builtin:d(a),multiLineStrings:true,hooks:{"$":function(j){j.eatWhile(/[\w\$_]/);return"variable-2"},"<":function(k,j){if(k.match(/<</)){k.eatWhile(/[\w\.]/);j.tokenize=i(k.current().slice(3));return j.tokenize(k,j)}return false},"#":function(j){while(!j.eol()&&!j.match("?>",false)){j.next()}return"comment"},"/":function(j){if(j.eat("/")){while(!j.eol()&&!j.match("?>",false)){j.next()}return"comment"}return false},'"':function(k,j){if(!j.phpEncapsStack){j.phpEncapsStack=[]}j.phpEncapsStack.push(0);j.tokenize=f;return j.tokenize(k,j)},"{":function(j,k){if(k.phpEncapsStack&&k.phpEncapsStack.length>0){k.phpEncapsStack[k.phpEncapsStack.length-1]++}return false},"}":function(j,k){if(k.phpEncapsStack&&k.phpEncapsStack.length>0){if(--k.phpEncapsStack[k.phpEncapsStack.length-1]==0){k.tokenize=f}}return false}}};b.defineMode("php",function(l,m){var n=b.getMode(l,"text/html");var j=b.getMode(l,e);function k(u,s){var r=s.curMode==j;if(u.sol()&&s.pending&&s.pending!='"'&&s.pending!="'"){s.pending=null}if(!r){if(u.match(/^<\?\w*/)){s.curMode=j;s.curState=s.php;return"meta"}if(s.pending=='"'||s.pending=="'"){while(!u.eol()&&u.next()!=s.pending){}var q="string"}else{if(s.pending&&u.pos<s.pending.end){u.pos=s.pending.end;var q=s.pending.style}else{var q=n.token(u,s.curState)}}if(s.pending){s.pending=null}var t=u.current(),p=t.search(/<\?/),o;if(p!=-1){if(q=="string"&&(o=t.match(/[\'\"]$/))&&!/\?>/.test(t)){s.pending=o[0]}else{s.pending={end:u.pos,style:q}}u.backUp(t.length-p)}return q}else{if(r&&s.php.tokenize==null&&u.match("?>")){s.curMode=n;s.curState=s.html;return"meta"}else{return j.token(u,s.curState)}}}return{startState:function(){var o=b.startState(n),p=b.startState(j);return{html:o,php:p,curMode:m.startOpen?j:n,curState:m.startOpen?p:o,pending:null}},copyState:function(r){var p=r.html,q=b.copyState(n,p),t=r.php,o=b.copyState(j,t),s;if(r.curMode==n){s=q}else{s=o}return{html:q,php:o,curMode:r.curMode,curState:s,pending:r.pending}},token:k,indent:function(p,o){if((p.curMode!=j&&/^\s*<\//.test(o))||(p.curMode==j&&/^\?>/.test(o))){return n.indent(p.html,o)}return p.curMode.indent(p.curState,o)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(o){return{state:o.curState,mode:o.curMode}}}},"htmlmixed","clike");b.defineMIME("application/x-httpd-php","php");b.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:true});b.defineMIME("text/x-php",e)});