diff --git a/media/editors/codemirror/lib/codemirror-uncompressed.js b/media/editors/codemirror/lib/codemirror-uncompressed.js index d4a40593ed345..e21f4162be210 100644 --- a/media/editors/codemirror/lib/codemirror-uncompressed.js +++ b/media/editors/codemirror/lib/codemirror-uncompressed.js @@ -776,8 +776,10 @@ } function setDocumentHeight(cm, measure) { - cm.display.sizer.style.minHeight = cm.display.heightForcer.style.top = measure.docHeight + "px"; - cm.display.gutters.style.height = Math.max(measure.docHeight + scrollGap(cm), measure.clientHeight) + "px"; + cm.display.sizer.style.minHeight = measure.docHeight + "px"; + var plusGap = measure.docHeight + scrollGap(cm); + cm.display.heightForcer.style.top = plusGap + "px"; + cm.display.gutters.style.height = Math.max(plusGap, measure.clientHeight) + "px"; } // Read the actual heights of the rendered lines, and update their @@ -8021,7 +8023,7 @@ // THE END - CodeMirror.version = "4.9.0"; + CodeMirror.version = "4.10.0"; return CodeMirror; }); diff --git a/media/editors/codemirror/lib/codemirror.js b/media/editors/codemirror/lib/codemirror.js index 5cb6e7e8920da..bf9554761ce57 100644 --- a/media/editors/codemirror/lib/codemirror.js +++ b/media/editors/codemirror/lib/codemirror.js @@ -1 +1 @@ -(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 co=/gecko\/\d/i.test(navigator.userAgent);var eG=/MSIE \d/.test(navigator.userAgent);var bI=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);var dG=eG||bI;var k=dG&&(eG?document.documentMode||6:bI[1]);var cY=/WebKit\//.test(navigator.userAgent);var dJ=cY&&/Qt\/\d+\.\d+/.test(navigator.userAgent);var da=/Chrome\//.test(navigator.userAgent);var dY=/Opera\//.test(navigator.userAgent);var aA=/Apple Computer/.test(navigator.vendor);var a8=/KHTML\//.test(navigator.userAgent);var c5=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent);var fr=/PhantomJS/.test(navigator.userAgent);var eX=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent);var ec=eX||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent);var b6=eX||/Mac/.test(navigator.platform);var aM=/win/i.test(navigator.platform);var aV=dY&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);if(aV){aV=Number(aV[1])}if(aV&&aV>=15){dY=false;cY=true}var bP=b6&&(dJ||dY&&(aV==null||aV<12.11));var f0=co||(dG&&k>=9);var f3=false,a4=false;function I(f8,f9){if(!(this instanceof I)){return new I(f8,f9)}this.options=f9=f9?aK(f9):{};aK(eZ,f9,false);cd(f9);var gd=f9.value;if(typeof gd=="string"){gd=new ar(gd,f9.mode)}this.doc=gd;var gc=this.display=new eE(f8,gd);gc.wrapper.CodeMirror=this;d8(this);cM(this);if(f9.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(f9.autofocus&&!ec){ev(this)}aB(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,draggingText:false,highlight:new f7(),keySeq:null};if(dG&&k<11){setTimeout(cv(fl,this,true),20)}fM(this);bg();cG(this);this.curOp.forceUpdate=true;d7(this,gd);if((f9.autofocus&&!ec)||dK()==gc.input){setTimeout(cv(cA,this),20)}else{aS(this)}for(var gb in bc){if(bc.hasOwnProperty(gb)){bc[gb](this,f9[gb],cb)}}d1(this);for(var ga=0;gaga.maxLineLength){ga.maxLineLength=gb;ga.maxLine=gc}})}function cd(f8){var f9=df(f8.gutters,"CodeMirror-linenumbers");if(f9==-1&&f8.lineNumbers){f8.gutters=f8.gutters.concat(["CodeMirror-linenumbers"])}else{if(f9>-1&&!f8.lineNumbers){f8.gutters=f8.gutters.slice(0);f8.gutters.splice(f9,1)}}}function dw(f8){var gb=f8.display,ga=gb.gutters.offsetWidth;var f9=Math.round(f8.doc.height+bH(f8.display));return{clientHeight:gb.scroller.clientHeight,viewHeight:gb.wrapper.clientHeight,scrollWidth:gb.scroller.scrollWidth,clientWidth:gb.scroller.clientWidth,viewWidth:gb.wrapper.clientWidth,barLeft:f8.options.fixedGutter?ga:0,docHeight:f9,scrollHeight:f9+cR(f8)+gb.barHeight,nativeBarWidth:gb.nativeBarWidth,gutterWidth:ga}}function dh(ga,f9,f8){this.cm=f8;var gb=this.vert=fT("div",[fT("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");var gc=this.horiz=fT("div",[fT("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");ga(gb);ga(gc);bW(gb,"scroll",function(){if(gb.clientHeight){f9(gb.scrollTop,"vertical")}});bW(gc,"scroll",function(){if(gc.clientWidth){f9(gc.scrollLeft,"horizontal")}});this.checkedOverlay=false;if(dG&&k<8){this.horiz.style.minHeight=this.vert.style.minWidth="18px"}}dh.prototype=aK({update:function(gb){var gc=gb.scrollWidth>gb.clientWidth+1;var ga=gb.scrollHeight>gb.clientHeight+1;var gd=gb.nativeBarWidth;if(ga){this.vert.style.display="block";this.vert.style.bottom=gc?gd+"px":"0";var f9=gb.viewHeight-(gc?gd:0);this.vert.firstChild.style.height=Math.max(0,gb.scrollHeight-gb.clientHeight+f9)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(gc){this.horiz.style.display="block";this.horiz.style.right=ga?gd+"px":"0";this.horiz.style.left=gb.barLeft+"px";var f8=gb.viewWidth-gb.barLeft-(ga?gd:0);this.horiz.firstChild.style.width=(gb.scrollWidth-gb.clientWidth+f8)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedOverlay&&gb.clientHeight>0){if(gd==0){this.overlayHack()}this.checkedOverlay=true}return{right:ga?gd:0,bottom:gc?gd:0}},setScrollLeft:function(f8){if(this.horiz.scrollLeft!=f8){this.horiz.scrollLeft=f8}},setScrollTop:function(f8){if(this.vert.scrollTop!=f8){this.vert.scrollTop=f8}},overlayHack:function(){var f8=b6&&!c5?"12px":"18px";this.horiz.style.minHeight=this.vert.style.minWidth=f8;var f9=this;var ga=function(gb){if(M(gb)!=f9.vert&&M(gb)!=f9.horiz){c0(f9.cm,ep)(gb)}};bW(this.vert,"mousedown",ga);bW(this.horiz,"mousedown",ga)},clear:function(){var f8=this.horiz.parentNode;f8.removeChild(this.horiz);f8.removeChild(this.vert)}},dh.prototype);function e0(){}e0.prototype=aK({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},e0.prototype);I.scrollbarModel={"native":dh,"null":e0};function aB(f8){if(f8.display.scrollbars){f8.display.scrollbars.clear();if(f8.display.scrollbars.addClass){f(f8.display.wrapper,f8.display.scrollbars.addClass)}}f8.display.scrollbars=new I.scrollbarModel[f8.options.scrollbarStyle](function(f9){f8.display.wrapper.insertBefore(f9,f8.display.scrollbarFiller);bW(f9,"mousedown",function(){if(f8.state.focused){setTimeout(cv(ev,f8),0)}});f9.setAttribute("not-content","true")},function(ga,f9){if(f9=="horizontal"){bD(f8,ga)}else{O(f8,ga)}},f8);if(f8.display.scrollbars.addClass){fx(f8.display.wrapper,f8.display.scrollbars.addClass)}}function eU(ga,gc){if(!gc){gc=dw(ga)}var f9=ga.display.barWidth,f8=ga.display.barHeight;aR(ga,gc);for(var gb=0;gb<4&&f9!=ga.display.barWidth||f8!=ga.display.barHeight;gb++){if(f9!=ga.display.barWidth&&ga.options.lineWrapping){a6(ga)}aR(ga,dw(ga));f9=ga.display.barWidth;f8=ga.display.barHeight}}function aR(f8,f9){var gb=f8.display;var ga=gb.scrollbars.update(f9);gb.sizer.style.paddingRight=(gb.barWidth=ga.right)+"px";gb.sizer.style.paddingBottom=(gb.barHeight=ga.bottom)+"px";if(ga.right&&ga.bottom){gb.scrollbarFiller.style.display="block";gb.scrollbarFiller.style.height=ga.bottom+"px";gb.scrollbarFiller.style.width=ga.right+"px"}else{gb.scrollbarFiller.style.display=""}if(ga.bottom&&f8.options.coverGutterNextToScrollbar&&f8.options.fixedGutter){gb.gutterFiller.style.display="block";gb.gutterFiller.style.height=ga.bottom+"px";gb.gutterFiller.style.width=f9.gutterWidth+"px"}else{gb.gutterFiller.style.display=""}}function b5(gb,gf,ga){var gc=ga&&ga.top!=null?Math.max(0,ga.top):gb.scroller.scrollTop;gc=Math.floor(gc-e4(gb));var f8=ga&&ga.bottom!=null?ga.bottom:gc+gb.wrapper.clientHeight;var gd=bF(gf,gc),ge=bF(gf,f8);if(ga&&ga.ensure){var f9=ga.ensure.from.line,gg=ga.ensure.to.line;if(f9=ge){gd=bF(gf,bL(fb(gf,gg))-gb.wrapper.clientHeight);ge=gg}}}return{from:gd,to:Math.max(ge,gd+1)}}function eA(gg){var ge=gg.display,gf=ge.view;if(!ge.alignWidgets&&(!ge.gutters.firstChild||!gg.options.fixedGutter)){return}var gc=dT(ge)-ge.scroller.scrollLeft+gg.doc.scrollLeft;var f8=ge.gutters.offsetWidth,f9=gc+"px";for(var gb=0;gb=gc.viewFrom&&gb.visible.to<=gc.viewTo&&(gc.updateLineNumbers==null||gc.updateLineNumbers>=gc.viewTo)&&gc.renderedView==gc.view&&c9(gh)==0){return false}if(d1(gh)){es(gh);gb.dims=e9(gh)}var ga=gg.first+gg.size;var ge=Math.max(gb.visible.from-gh.options.viewportMargin,gg.first);var gf=Math.min(ga,gb.visible.to+gh.options.viewportMargin);if(gc.viewFromgf&&gc.viewTo-gf<20){gf=Math.min(ga,gc.viewTo)}if(a4){ge=aT(gh.doc,ge);gf=dZ(gh.doc,gf)}var f9=ge!=gc.viewFrom||gf!=gc.viewTo||gc.lastWrapHeight!=gb.wrapperHeight||gc.lastWrapWidth!=gb.wrapperWidth;cP(gh,ge,gf);gc.viewOffset=bL(fb(gh.doc,gc.viewFrom));gh.display.mover.style.top=gc.viewOffset+"px";var f8=c9(gh);if(!f9&&f8==0&&!gb.force&&gc.renderedView==gc.view&&(gc.updateLineNumbers==null||gc.updateLineNumbers>=gc.viewTo)){return false}var gd=dK();if(f8>4){gc.lineDiv.style.display="none"}cm(gh,gc.updateLineNumbers,gb.dims);if(f8>4){gc.lineDiv.style.display=""}gc.renderedView=gc.view;if(gd&&dK()!=gd&&gd.offsetHeight){gd.focus()}dX(gc.cursorDiv);dX(gc.selectionDiv);gc.heightForcer.style.top=gc.gutters.style.height=0;if(f9){gc.lastWrapHeight=gb.wrapperHeight;gc.lastWrapWidth=gb.wrapperWidth;eb(gh,400)}gc.updateLineNumbers=null;return true}function cj(f9,gd){var gb=gd.force,f8=gd.viewport;for(var gc=true;;gc=false){if(gc&&f9.options.lineWrapping&&gd.oldDisplayWidth!=di(f9)){gb=true}else{gb=false;if(f8&&f8.top!=null){f8={top:Math.min(f9.doc.height+bH(f9.display)-cT(f9),f8.top)}}gd.visible=b5(f9.display,f9.doc,f8);if(gd.visible.from>=f9.display.viewFrom&&gd.visible.to<=f9.display.viewTo){break}}if(!C(f9,gd)){break}a6(f9);var ga=dw(f9);bB(f9);dv(f9,ga);eU(f9,ga)}ad(f9,"update",f9);if(f9.display.viewFrom!=f9.display.reportedViewFrom||f9.display.viewTo!=f9.display.reportedViewTo){ad(f9,"viewportChange",f9,f9.display.viewFrom,f9.display.viewTo);f9.display.reportedViewFrom=f9.display.viewFrom;f9.display.reportedViewTo=f9.display.viewTo}}function dP(f9,f8){var gb=new aG(f9,f8);if(C(f9,gb)){a6(f9);cj(f9,gb);var ga=dw(f9);bB(f9);dv(f9,ga);eU(f9,ga)}}function dv(f8,f9){f8.display.sizer.style.minHeight=f8.display.heightForcer.style.top=f9.docHeight+"px";f8.display.gutters.style.height=Math.max(f9.docHeight+cR(f8),f9.clientHeight)+"px"}function a6(gf){var gd=gf.display;var f9=gd.lineDiv.offsetTop;for(var ga=0;ga0.001||ge<-0.001){fW(gg.line,gh);ca(gg.line);if(gg.rest){for(var f8=0;f8-1){gh=false}aa(gj,gc,gd,gi)}if(gh){dX(gc.lineNumber);gc.lineNumber.appendChild(document.createTextNode(eo(gj.options,gd)))}gk=gc.node.nextSibling}}gd+=gc.size}while(gk){gk=ge(gk)}}function aa(f8,ga,gc,gd){for(var f9=0;f9=0&&ce(gb,f9.to())<=0){return ga}}return -1}};function dU(f8,f9){this.anchor=f8;this.head=f9}dU.prototype={from:function(){return aq(this.anchor,this.head)},to:function(){return bw(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function cw(f8,gf){var ga=f8[gf];f8.sort(function(gi,gh){return ce(gi.from(),gh.from())});gf=df(f8,ga);for(var gc=1;gc=0){var gd=aq(f9.from(),gg.from()),ge=bw(f9.to(),gg.to());var gb=f9.empty()?gg.from()==gg.head:f9.from()==f9.head;if(gc<=gf){--gf}f8.splice(--gc,2,new dU(gb?ge:gd,gb?gd:ge))}}return new fU(f8,gf)}function eO(f8,f9){return new fU([new dU(f8,f9||f8)],0)}function c3(f8,f9){return Math.max(f8.first,Math.min(f9,f8.first+f8.size-1))}function fG(f9,ga){if(ga.linef8){return X(f8,fb(f9,f8).text.length)}return fp(ga,fb(f9,ga.line).text.length)}function fp(ga,f9){var f8=ga.ch;if(f8==null||f8>f9){return X(ga.line,f9)}else{if(f8<0){return X(ga.line,0)}else{return ga}}}function b8(f9,f8){return f8>=f9.first&&f8=ga.ch:f8.to>ga.ch))){if(ge){aC(f9,"beforeCursorEnter");if(f9.explicitlyCleared){if(!gj.markedSpans){break}else{--gc;continue}}}if(!f9.atomic){continue}var gf=f9.find(gb<0?-1:1);if(ce(gf,ga)==0){gf.ch+=gb;if(gf.ch<0){if(gf.line>gh.first){gf=fG(gh,X(gf.line-1))}else{gf=null}}else{if(gf.ch>gj.text.length){if(gf.line3){gj(gD,gB.top,null,gB.bottom);gD=gb;if(gB.bottomgq.bottom||gC.bottom==gq.bottom&&gC.right>gq.right){gq=gC}if(gD0){ga.blinker=setInterval(function(){ga.cursorDiv.style.visibility=(f9=!f9)?"":"hidden"},f8.options.cursorBlinkRate)}else{if(f8.options.cursorBlinkRate<0){ga.cursorDiv.style.visibility="hidden"}}}function eb(f8,f9){if(f8.doc.mode.startState&&f8.doc.frontier=f8.display.viewTo){return}var ga=+new Date+f8.options.workTime;var gb=b2(gc.mode,dx(f8,gc.frontier));var f9=[];gc.iter(gc.frontier,Math.min(gc.first+gc.size,f8.display.viewTo+500),function(gd){if(gc.frontier>=f8.display.viewFrom){var gg=gd.styles;var gi=fw(f8,gd,gb,true);gd.styles=gi.styles;var gf=gd.styleClasses,gh=gi.classes;if(gh){gd.styleClasses=gh}else{if(gf){gd.styleClasses=null}}var gj=!gg||gg.length!=gd.styles.length||gf!=gh&&(!gf||!gh||gf.bgClass!=gh.bgClass||gf.textClass!=gh.textClass);for(var ge=0;!gj&&gega){eb(f8,f8.options.workDelay);return true}});if(f9.length){cK(f8,function(){for(var gd=0;gdga;--gh){if(gh<=gd.first){return gd.first}var gg=fb(gd,gh-1);if(gg.stateAfter&&(!gb||gh<=gd.frontier)){return gh}var gf=bS(gg.text,null,ge.options.tabSize);if(gc==null||f9>gf){gc=gh-1;f9=gf}}return gc}function dx(f8,ge,f9){var gc=f8.doc,gb=f8.display;if(!gc.mode.startState){return true}var gd=cy(f8,ge,f9),ga=gd>gc.first&&fb(gc,gd-1).stateAfter;if(!ga){ga=bZ(gc.mode)}else{ga=b2(gc.mode,ga)}gc.iter(gd,ge,function(gf){dt(f8,gf.text,ga);var gg=gd==ge-1||gd%5==0||gd>=gb.viewFrom&&gd2){gd.push((gg.bottom+f9.top)/2-ge.top)}}}gd.push(ge.bottom-ge.top)}}function ct(ga,f8,gb){if(ga.line==f8){return{map:ga.measure.map,cache:ga.measure.cache}}for(var f9=0;f9gb){return{map:ga.measure.maps[f9],cache:ga.measure.caches[f9],before:true}}}}function cZ(f8,ga){ga=y(ga);var gc=bM(ga);var f9=f8.display.externalMeasured=new bu(f8.doc,ga,gc);f9.lineN=gc;var gb=f9.built=eN(f8,f9);f9.text=gb.pre;bQ(f8.display.lineMeasure,gb.pre);return f9}function ed(f8,f9,gb,ga){return D(f8,a1(f8,f9),gb,ga)}function e7(f8,ga){if(ga>=f8.display.viewFrom&&ga=f9.lineN&&gagh){gb=gn-gr;gc=gb-1;if(gh>=gn){f8="right"}}}}if(gc!=null){gm=gt[go+2];if(gr==gn&&gd==(gm.insertLeft?"left":"right")){f8=gd}if(gd=="left"&&gc==0){while(go&>[go-2]==gt[go-3]&>[go-1].insertLeft){gm=gt[(go-=3)+2];f8="left"}}if(gd=="right"&&gc==gn-gr){while(go0){f8=gd="right"}var ga;if(gf.options.lineWrapping&&(ga=gm.getClientRects()).length>1){f9=ga[gd=="right"?ga.length-1:0]}else{f9=gm.getBoundingClientRect()}}if(dG&&k<9&&!gc&&(!f9||!f9.left&&!f9.right)){var ge=gm.parentNode.getClientRects()[0];if(ge){f9={left:ge.left,right:ge.left+dz(gf.display),top:ge.top,bottom:ge.bottom}}else{f9=ex}}var gk=f9.top-gp.rect.top,gi=f9.bottom-gp.rect.top;var gs=(gk+gi)/2;var gq=gp.view.measure.heights;for(var go=0;gogl.from){return gc(gn-1)}return gc(gn,gm)}var gd=a(ge),f8=gg.ch;if(!gd){return gc(f8)}var f9=aE(gd,f8);var gb=gi(f8,f9);if(eY!=null){gb.other=gi(f8,eY)}return gb}function dD(f8,gc){var gb=0,gc=fG(f8.doc,gc);if(!f8.options.lineWrapping){gb=dz(f8.display)*gc.ch}var f9=fb(f8.doc,gc.line);var ga=bL(f9)+e4(f8.display);return{left:gb,right:gb,top:ga,bottom:ga+f9.height}}function fS(f8,f9,ga,gc){var gb=X(f8,f9);gb.xRel=gc;if(ga){gb.outside=true}return gb}function fL(gf,gc,gb){var ge=gf.doc;gb+=gf.display.viewOffset;if(gb<0){return fS(ge.first,0,true,-1)}var ga=bF(ge,gb),gg=ge.first+ge.size-1;if(ga>gg){return fS(ge.first+ge.size-1,fb(ge,gg).text.length,true,1)}if(gc<0){gc=0}var f9=fb(ge,ga);for(;;){var gh=cX(gf,f9,ga,gc,gb);var gd=er(f9);var f8=gd&&gd.find(0,true);if(gd&&(gh.ch>f8.from.ch||gh.ch==f8.from.ch&&gh.xRel>0)){ga=bM(f9=f8.to.line)}else{return gh}}}function cX(gi,ga,gl,gk,gj){var gh=gj-bL(ga);var ge=false,gr=2*gi.display.wrapper.clientWidth;var go=a1(gi,ga);function gv(gx){var gy=dQ(gi,X(gl,gx),"line",ga,go);ge=true;if(gh>gy.bottom){return gy.left-gr}else{if(ghf9){return fS(gl,gb,gd,1)}for(;;){if(gn?gb==gs||gb==u(ga,gs,1):gb-gs<=1){var gm=gk1?1:0);return gg}var gf=Math.ceil(gq/2),gw=gs+gf;if(gn){gw=gs;for(var gt=0;gtgk){gb=gw;f9=gc;if(gd=ge){f9+=1000}gq=gf}else{gs=gw;gp=gc;f8=ge;gq-=gf}}}var aF;function aU(ga){if(ga.cachedTextHeight!=null){return ga.cachedTextHeight}if(aF==null){aF=fT("pre");for(var f9=0;f9<49;++f9){aF.appendChild(document.createTextNode("x"));aF.appendChild(fT("br"))}aF.appendChild(document.createTextNode("x"))}bQ(ga.measure,aF);var f8=aF.offsetHeight/50;if(f8>3){ga.cachedTextHeight=f8}dX(ga.measure);return f8||1}function dz(gc){if(gc.cachedCharWidth!=null){return gc.cachedCharWidth}var f8=fT("span","xxxxxxxxxx");var gb=fT("pre",[f8]);bQ(gc.measure,gb);var ga=f8.getBoundingClientRect(),f9=(ga.right-ga.left)/10;if(f9>2){gc.cachedCharWidth=f9}return f9||10}var bo=null;var d4=0;function cG(f8){f8.curOp={cm:f8,viewChanged:false,startHeight:f8.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,id:++d4};if(bo){bo.ops.push(f8.curOp)}else{f8.curOp.ownsGroup=bo={ops:[f8.curOp],delayedCallbacks:[]}}}function cS(gb){var ga=gb.delayedCallbacks,f9=0;do{for(;f9=f9.viewTo)||f9.maxLineChanged&&f8.options.lineWrapping;ga.update=ga.mustUpdate&&new aG(f8,ga.mustUpdate&&{top:ga.scrollTop,ensure:ga.scrollToPos},ga.forceUpdate)}function ap(f8){f8.updatedDisplay=f8.mustUpdate&&C(f8.cm,f8.update)}function b1(ga){var f8=ga.cm,f9=f8.display;if(ga.updatedDisplay){a6(f8)}ga.barMeasure=dw(f8);if(f9.maxLineChanged&&!f8.options.lineWrapping){ga.adjustWidthTo=ed(f8,f9.maxLine,f9.maxLine.text.length).left+3;f8.display.sizerWidth=ga.adjustWidthTo;ga.barMeasure.scrollWidth=Math.max(f9.scroller.clientWidth,f9.sizer.offsetLeft+ga.adjustWidthTo+cR(f8)+f8.display.barWidth);ga.maxScrollLeft=Math.max(0,f9.sizer.offsetLeft+ga.adjustWidthTo-di(f8))}if(ga.updatedDisplay||ga.selectionChanged){ga.newSelectionNodes=bk(f8)}}function ao(f9){var f8=f9.cm;if(f9.adjustWidthTo!=null){f8.display.sizer.style.minWidth=f9.adjustWidthTo+"px";if(f9.maxScrollLeftgd)){ga.updateLineNumbers=gd}gf.curOp.viewChanged=true;if(gd>=ga.viewTo){if(a4&&aT(gf.doc,gd)ga.viewFrom){es(gf)}else{ga.viewFrom+=gg;ga.viewTo+=gg}}else{if(gd<=ga.viewFrom&&ge>=ga.viewTo){es(gf)}else{if(gd<=ga.viewFrom){var gc=dc(gf,ge,ge+gg,1);if(gc){ga.view=ga.view.slice(gc.index);ga.viewFrom=gc.lineN;ga.viewTo+=gg}else{es(gf)}}else{if(ge>=ga.viewTo){var gc=dc(gf,gd,gd,-1);if(gc){ga.view=ga.view.slice(0,gc.index);ga.viewTo=gc.lineN}else{es(gf)}}else{var gb=dc(gf,gd,gd,-1);var f9=dc(gf,ge,ge+gg,1);if(gb&&f9){ga.view=ga.view.slice(0,gb.index).concat(eR(gf,gb.lineN,f9.lineN)).concat(ga.view.slice(f9.index));ga.viewTo+=gg}else{es(gf)}}}}}}var f8=ga.externalMeasured;if(f8){if(ge=gc.lineN&&ga=ge.viewTo){return}var gb=ge.view[dn(f9,ga)];if(gb.node==null){return}var f8=gb.changes||(gb.changes=[]);if(df(f8,gd)==-1){f8.push(gd)}}function es(f8){f8.display.viewFrom=f8.display.viewTo=f8.doc.first;f8.display.view=[];f8.display.viewOffset=0}function dn(f8,gb){if(gb>=f8.display.viewTo){return null}gb-=f8.display.viewFrom;if(gb<0){return null}var f9=f8.display.view;for(var ga=0;ga0){if(gd==ge.length-1){return null}gf=(f8+ge[gd].size)-ga;gd++}else{gf=f8-ga}ga+=gf;gc+=gf}while(aT(gg.doc,gc)!=gc){if(gd==(f9<0?0:ge.length-1)){return null}gc+=f9*ge[gd-(f9<0?1:0)].size;gd+=f9}return{index:gd,lineN:gc}}function cP(f8,gc,gb){var ga=f8.display,f9=ga.view;if(f9.length==0||gc>=ga.viewTo||gb<=ga.viewFrom){ga.view=eR(f8,gc,gb);ga.viewFrom=gc}else{if(ga.viewFrom>gc){ga.view=eR(f8,gc,ga.viewFrom).concat(ga.view)}else{if(ga.viewFromgb){ga.view=ga.view.slice(0,dn(f8,gb))}}}ga.viewTo=gb}function c9(f8){var f9=f8.display.view,gc=0;for(var gb=0;gb=9&&gc.display.inputHasSelection===gf||b6&&/[\uf700-\uf7ff]/.test(gf)){fl(gc);return false}var gn=!gc.curOp;if(gn){cG(gc)}gc.display.shift=false;if(gf.charCodeAt(0)==8203&&gr.sel==gc.display.selForContextMenu&&!gg){gg="\u200b"}var gm=0,gj=Math.min(gg.length,gf.length);while(gm1){if(bj&&bj.join("\n")==f9){gq=gr.sel.ranges.length%bj.length==0&&bR(bj,aX)}else{if(gh.length==gr.sel.ranges.length){gq=bR(gh,function(gs){return[gs]})}}}for(var go=gr.sel.ranges.length-1;go>=0;go--){var gi=gr.sel.ranges[go];var gk=gi.from(),f8=gi.to();if(gm-1){ac(gc,ga.line,"smart");break}}}else{if(ge.electricInput){if(ge.electricInput.test(fb(gr,ga.line).text.slice(0,ga.ch))){ac(gc,ga.line,"smart")}}}}}fD(gc);gc.curOp.updateInput=gb;gc.curOp.typing=true;if(gf.length>1000||gf.indexOf("\n")>-1){gd.value=gc.display.prevInput=""}else{gc.display.prevInput=gf}if(gn){al(gc)}gc.state.pasteIncoming=gc.state.cutIncoming=false;return true}function fl(f8,gc){if(f8.display.contextMenuPending){return}var f9,gb,ge=f8.doc;if(f8.somethingSelected()){f8.display.prevInput="";var ga=ge.sel.primary();f9=c8&&(ga.to().line-ga.from().line>100||(gb=f8.getSelection()).length>1000);var gd=f9?"-":gb||f8.getSelection();f8.display.input.value=gd;if(f8.state.focused){dH(f8.display.input)}if(dG&&k>=9){f8.display.inputHasSelection=gd}}else{if(!gc){f8.display.prevInput=f8.display.input.value="";if(dG&&k>=9){f8.display.inputHasSelection=null}}}f8.display.inaccurateSelection=f9}function ev(f8){if(f8.options.readOnly!="nocursor"&&(!ec||dK()!=f8.display.input)){f8.display.input.focus()}}function r(f8){if(!f8.state.focused){ev(f8);cA(f8)}}function ai(f8){return f8.options.readOnly||f8.doc.cantEdit}function fM(f8){var ga=f8.display;bW(ga.scroller,"mousedown",c0(f8,ep));if(dG&&k<11){bW(ga.scroller,"dblclick",c0(f8,function(gd){if(aO(f8,gd)){return}var ge=cn(f8,gd);if(!ge||l(f8,gd)||a7(f8.display,gd)){return}cE(gd);var gc=f8.findWordAt(ge);fQ(f8.doc,gc.anchor,gc.head)}))}else{bW(ga.scroller,"dblclick",function(gc){aO(f8,gc)||cE(gc)})}bW(ga.lineSpace,"selectstart",function(gc){if(!a7(ga,gc)){cE(gc)}});if(!f0){bW(ga.scroller,"contextmenu",function(gc){ax(f8,gc)})}bW(ga.scroller,"scroll",function(){if(ga.scroller.clientHeight){O(f8,ga.scroller.scrollTop);bD(f8,ga.scroller.scrollLeft,true);aC(f8,"scroll",f8)}});bW(ga.scroller,"mousewheel",function(gc){b(f8,gc)});bW(ga.scroller,"DOMMouseScroll",function(gc){b(f8,gc)});bW(ga.wrapper,"scroll",function(){ga.wrapper.scrollTop=ga.wrapper.scrollLeft=0});bW(ga.input,"keyup",function(gc){bf.call(f8,gc)});bW(ga.input,"input",function(){if(dG&&k>=9&&f8.display.inputHasSelection){f8.display.inputHasSelection=null}cg(f8)});bW(ga.input,"keydown",c0(f8,p));bW(ga.input,"keypress",c0(f8,cx));bW(ga.input,"focus",cv(cA,f8));bW(ga.input,"blur",cv(aS,f8));function f9(gc){if(!aO(f8,gc)){en(gc)}}if(f8.options.dragDrop){bW(ga.scroller,"dragstart",function(gc){R(f8,gc)});bW(ga.scroller,"dragenter",f9);bW(ga.scroller,"dragover",f9);bW(ga.scroller,"drop",c0(f8,bh))}bW(ga.scroller,"paste",function(gc){if(a7(ga,gc)){return}f8.state.pasteIncoming=true;ev(f8);B(f8)});bW(ga.input,"paste",function(){if(cY&&!f8.state.fakedLastChar&&!(new Date-f8.state.lastMiddleDown<200)){var gd=ga.input.selectionStart,gc=ga.input.selectionEnd;ga.input.value+="$";ga.input.selectionEnd=gc;ga.input.selectionStart=gd;f8.state.fakedLastChar=true}f8.state.pasteIncoming=true;B(f8)});function gb(gg){if(f8.somethingSelected()){bj=f8.getSelections();if(ga.inaccurateSelection){ga.prevInput="";ga.inaccurateSelection=false;ga.input.value=bj.join("\n");dH(ga.input)}}else{var gh=[],gd=[];for(var ge=0;gega-400&&ce(db.pos,gf)==0){gc="triple"}else{if(dk&&dk.time>ga-400&&ce(dk.pos,gf)==0){gc="double";db={time:ga,pos:gf}}else{gc="single";dk={time:ga,pos:gf}}}var gd=f9.doc.sel,f8=b6?ge.metaKey:ge.ctrlKey,gb;if(f9.options.dragDrop&&eH&&!ai(f9)&&gc=="single"&&(gb=gd.contains(gf))>-1&&!gd.ranges[gb].empty()){a0(f9,ge,gf,f8)}else{m(f9,ge,gf,gc,f8)}}function a0(ga,gc,gd,f9){var gb=ga.display;var f8=c0(ga,function(ge){if(cY){gb.scroller.draggable=false}ga.state.draggingText=false;d9(document,"mouseup",f8);d9(gb.scroller,"drop",f8);if(Math.abs(gc.clientX-ge.clientX)+Math.abs(gc.clientY-ge.clientY)<10){cE(ge);if(!f9){fQ(ga.doc,gd)}ev(ga);if(dG&&k==9){setTimeout(function(){document.body.focus();ev(ga)},20)}}});if(cY){gb.scroller.draggable=true}ga.state.draggingText=f8;if(gb.scroller.dragDrop){gb.scroller.dragDrop()}bW(document,"mouseup",f8);bW(gb.scroller,"drop",f8)}function m(gc,gq,gb,f9,ge){var gn=gc.display,gs=gc.doc;cE(gq);var ga,gr,gd=gs.sel,f8=gd.ranges;if(ge&&!gq.shiftKey){gr=gs.sel.contains(gb);if(gr>-1){ga=f8[gr]}else{ga=new dU(gb,gb)}}else{ga=gs.sel.primary()}if(gq.altKey){f9="rect";if(!ge){ga=new dU(gb,gb)}gb=cn(gc,gq,true,true);gr=-1}else{if(f9=="double"){var go=gc.findWordAt(gb);if(gc.display.shift||gs.extend){ga=fs(gs,ga,go.anchor,go.head)}else{ga=go}}else{if(f9=="triple"){var gh=new dU(X(gb.line,0),fG(gs,X(gb.line+1,0)));if(gc.display.shift||gs.extend){ga=fs(gs,ga,gh.anchor,gh.head)}else{ga=gh}}else{ga=fs(gs,ga,gb)}}}if(!ge){gr=0;bT(gs,new fU([ga],0),N);gd=gs.sel}else{if(gr==-1){gr=f8.length;bT(gs,cw(f8.concat([ga]),gr),{scroll:false,origin:"*mouse"})}else{if(f8.length>1&&f8[gr].empty()&&f9=="single"){bT(gs,cw(f8.slice(0,gr).concat(f8.slice(gr+1)),0));gd=gs.sel}else{e(gs,gr,ga,N)}}}var gm=gb;function gl(gD){if(ce(gm,gD)==0){return}gm=gD;if(f9=="rect"){var gu=[],gA=gc.options.tabSize;var gt=bS(fb(gs,gb.line).text,gb.ch,gA);var gG=bS(fb(gs,gD.line).text,gD.ch,gA);var gv=Math.min(gt,gG),gE=Math.max(gt,gG);for(var gH=Math.min(gb.line,gD.line),gx=Math.min(gc.lastLine(),Math.max(gb.line,gD.line));gH<=gx;gH++){var gF=fb(gs,gH).text,gw=em(gF,gv,gA);if(gv==gE){gu.push(new dU(X(gH,gw),X(gH,gw)))}else{if(gF.length>gw){gu.push(new dU(X(gH,gw),X(gH,em(gF,gE,gA))))}}}if(!gu.length){gu.push(new dU(gb,gb))}bT(gs,cw(gd.ranges.slice(0,gr).concat(gu),gr),{origin:"*mouse",scroll:false});gc.scrollIntoView(gD)}else{var gB=ga;var gy=gB.anchor,gC=gD;if(f9!="single"){if(f9=="double"){var gz=gc.findWordAt(gD)}else{var gz=new dU(X(gD.line,0),fG(gs,X(gD.line+1,0)))}if(ce(gz.anchor,gy)>0){gC=gz.head;gy=aq(gB.from(),gz.anchor)}else{gC=gz.anchor;gy=bw(gB.to(),gz.head)}}var gu=gd.ranges.slice(0);gu[gr]=new dU(fG(gs,gy),gC);bT(gs,cw(gu,gr),N)}}var gj=gn.wrapper.getBoundingClientRect();var gf=0;function gp(gv){var gt=++gf;var gx=cn(gc,gv,true,f9=="rect");if(!gx){return}if(ce(gx,gm)!=0){r(gc);gl(gx);var gw=b5(gn,gs);if(gx.line>=gw.to||gx.linegj.bottom?20:0;if(gu){setTimeout(c0(gc,function(){if(gf!=gt){return}gn.scroller.scrollTop+=gu;gp(gv)}),50)}}}function gi(gt){gf=Infinity;cE(gt);ev(gc);d9(document,"mousemove",gk);d9(document,"mouseup",gg);gs.history.lastSelOrigin=null}var gk=c0(gc,function(gt){if(!fK(gt)){gi(gt)}else{gp(gt)}});var gg=c0(gc,gi);bW(document,"mousemove",gk);bW(document,"mouseup",gg)}function f6(gj,gf,gh,gi,gb){try{var f9=gf.clientX,f8=gf.clientY}catch(gf){return false}if(f9>=Math.floor(gj.display.gutters.getBoundingClientRect().right)){return false}if(gi){cE(gf)}var gg=gj.display;var ge=gg.lineDiv.getBoundingClientRect();if(f8>ge.bottom||!fe(gj,gh)){return bK(gf)}f8-=ge.top-gg.viewOffset;for(var gc=0;gc=f9){var gk=bF(gj.doc,f8);var ga=gj.options.gutters[gc];gb(gj,gh,gj,gk,ga,gf);return bK(gf)}}}function l(f8,f9){return f6(f8,f9,"gutterClick",true,ad)}var af=0;function bh(ge){var gg=this;if(aO(gg,ge)||a7(gg.display,ge)){return}cE(ge);if(dG){af=+new Date}var gf=cn(gg,ge,true),f8=ge.dataTransfer.files;if(!gf||ai(gg)){return}if(f8&&f8.length&&window.FileReader&&window.File){var ga=f8.length,gh=Array(ga),f9=0;var gc=function(gk,gj){var gi=new FileReader;gi.onload=c0(gg,function(){gh[gj]=gi.result;if(++f9==ga){gf=fG(gg.doc,gf);var gl={from:gf,to:gf,text:aX(gh.join("\n")),origin:"paste"};bd(gg.doc,gl);e3(gg.doc,eO(gf,cV(gl)))}});gi.readAsText(gk)};for(var gd=0;gd-1){gg.state.draggingText(ge);setTimeout(cv(ev,gg),20);return}try{var gh=ge.dataTransfer.getData("Text");if(gh){if(gg.state.draggingText&&!(b6?ge.metaKey:ge.ctrlKey)){var gb=gg.listSelections()}el(gg.doc,eO(gf,gf));if(gb){for(var gd=0;gdgf.clientWidth||gj&&gf.scrollHeight>gf.clientHeight)){return}if(gj&&b6&&cY){outer:for(var gi=ga.target,ge=gc.view;gi!=gf;gi=gi.parentNode){for(var f9=0;f9=9){f8.display.inputHasSelection=null}B(f8)}function cA(f8){if(f8.options.readOnly=="nocursor"){return}if(!f8.state.focused){aC(f8,"focus",f8);f8.state.focused=true;fx(f8.display.wrapper,"CodeMirror-focused");if(!f8.curOp&&f8.display.selForContextMenu!=f8.doc.sel){fl(f8);if(cY){setTimeout(cv(fl,f8,true),0)}}}bl(f8);o(f8)}function aS(f8){if(f8.state.focused){aC(f8,"blur",f8);f8.state.focused=false;f(f8.display.wrapper,"CodeMirror-focused")}clearInterval(f8.display.blinker);setTimeout(function(){if(!f8.state.focused){f8.display.shift=false}},150)}function ax(gh,gc){if(aO(gh,gc,"contextmenu")){return}var ge=gh.display;if(a7(ge,gc)||de(gh,gc)){return}var gg=cn(gh,gc),f8=ge.scroller.scrollTop;if(!gg||dY){return}var gb=gh.options.resetSelectionOnContextMenu;if(gb&&gh.doc.sel.contains(gg)==-1){c0(gh,bT)(gh.doc,eO(gg),Z)}var gd=ge.input.style.cssText;ge.inputDiv.style.position="absolute";ge.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(gc.clientY-5)+"px; left: "+(gc.clientX-5)+"px; z-index: 1000; background: "+(dG?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(cY){var gi=window.scrollY}ev(gh);if(cY){window.scrollTo(null,gi)}fl(gh);if(!gh.somethingSelected()){ge.input.value=ge.prevInput=" "}ge.contextMenuPending=true;ge.selForContextMenu=gh.doc.sel;clearTimeout(ge.detectingSelectAll);function ga(){if(ge.input.selectionStart!=null){var gj=gh.somethingSelected();var gk=ge.input.value="\u200b"+(gj?ge.input.value:"");ge.prevInput=gj?"":"\u200b";ge.input.selectionStart=1;ge.input.selectionEnd=gk.length;ge.selForContextMenu=gh.doc.sel}}function gf(){ge.contextMenuPending=false;ge.inputDiv.style.position="relative";ge.input.style.cssText=gd;if(dG&&k<9){ge.scrollbars.setScrollTop(ge.scroller.scrollTop=f8)}bl(gh);if(ge.input.selectionStart!=null){if(!dG||(dG&&k<9)){ga()}var gj=0,gk=function(){if(ge.selForContextMenu==gh.doc.sel&&ge.input.selectionStart==0){c0(gh,ez.selectAll)(gh)}else{if(gj++<10){ge.detectingSelectAll=setTimeout(gk,500)}else{fl(gh)}}};ge.detectingSelectAll=setTimeout(gk,200)}}if(dG&&k>=9){ga()}if(f0){en(gc);var f9=function(){d9(window,"mouseup",f9);setTimeout(gf,20)};bW(window,"mouseup",f9)}else{setTimeout(gf,50)}}function de(f8,f9){if(!fe(f8,"gutterContextMenu")){return false}return f6(f8,f9,"gutterContextMenu",false,aC)}var cV=I.changeEnd=function(f8){if(!f8.text){return f8.to}return X(f8.from.line+f8.text.length-1,fE(f8.text).length+(f8.text.length==1?f8.from.ch:0))};function bY(gb,ga){if(ce(gb,ga.from)<0){return gb}if(ce(gb,ga.to)<=0){return cV(ga)}var f8=gb.line+ga.text.length-(ga.to.line-ga.from.line)-1,f9=gb.ch;if(gb.line==ga.to.line){f9+=cV(ga).ch-ga.to.ch}return X(f8,f9)}function fg(gb,gc){var f9=[];for(var ga=0;ga=0;--f8){L(gb,{from:f9[f8].from,to:f9[f8].to,text:f8?[""]:gc.text})}}else{L(gb,gc)}}function L(ga,gb){if(gb.text.length==1&&gb.text[0]==""&&ce(gb.from,gb.to)==0){return}var f9=fg(ga,gb);fJ(ga,gb,f9,ga.cm?ga.cm.curOp.id:NaN);ea(ga,gb,f9,eg(ga,gb));var f8=[];d3(ga,function(gd,gc){if(!gc&&df(f8,gd.history)==-1){dA(gd.history,gb);f8.push(gd.history)}ea(gd,gb,null,eg(gd,gb))})}function b7(gj,gh,gl){if(gj.cm&&gj.cm.state.suppressEdits){return}var gg=gj.history,ga,gc=gj.sel;var f8=gh=="undo"?gg.done:gg.undone,gk=gh=="undo"?gg.undone:gg.done;for(var gd=0;gd=0;--gd){var gi=ga.changes[gd];gi.origin=gh;if(gb&&!dN(gj,gi,false)){f8.length=0;return}gf.push(dr(gj,gi));var f9=gd?fg(gj,gi):fE(f8);ea(gj,gi,f9,d5(gj,gi));if(!gd&&gj.cm){gj.cm.scrollIntoView({from:gi.from,to:cV(gi)})}var ge=[];d3(gj,function(gn,gm){if(!gm&&df(ge,gn.history)==-1){dA(gn.history,gi);ge.push(gn.history)}ea(gn,gi,null,d5(gn,gi))})}}function fj(f9,gb){if(gb==0){return}f9.first+=gb;f9.sel=new fU(bR(f9.sel.ranges,function(gc){return new dU(X(gc.anchor.line+gb,gc.anchor.ch),X(gc.head.line+gb,gc.head.ch))}),f9.sel.primIndex);if(f9.cm){ag(f9.cm,f9.first,f9.first-gb,gb);for(var ga=f9.cm.display,f8=ga.viewFrom;f8gc.lastLine()){return}if(gd.from.linega){gd={from:gd.from,to:X(ga,fb(gc,ga).text.length),text:[gd.text[0]],origin:gd.origin}}gd.removed=fV(gc,gd.from,gd.to);if(!gb){gb=fg(gc,gd)}if(gc.cm){aH(gc.cm,gd,f9)}else{fv(gc,gd,f9)}el(gc,gb,Z)}function aH(gj,gf,gd){var gi=gj.doc,ge=gj.display,gg=gf.from,gh=gf.to;var f8=false,gc=gg.line;if(!gj.options.lineWrapping){gc=bM(y(fb(gi,gg.line)));gi.iter(gc,gh.line+1,function(gl){if(gl==ge.maxLine){f8=true;return true}})}if(gi.sel.contains(gf.from,gf.to)>-1){W(gj)}fv(gi,gf,gd,bb(gj));if(!gj.options.lineWrapping){gi.iter(gc,gg.line+gf.text.length,function(gm){var gl=ej(gm);if(gl>ge.maxLineLength){ge.maxLine=gm;ge.maxLineLength=gl;ge.maxLineChanged=true;f8=false}});if(f8){gj.curOp.updateMaxLine=true}}gi.frontier=Math.min(gi.frontier,gg.line);eb(gj,400);var gk=gf.text.length-(gh.line-gg.line)-1;if(gg.line==gh.line&&gf.text.length==1&&!dO(gj.doc,gf)){S(gj,gg.line,"text")}else{ag(gj,gg.line,gh.line+1,gk)}var ga=fe(gj,"changes"),gb=fe(gj,"change");if(gb||ga){var f9={from:gg,to:gh,text:gf.text,removed:gf.removed,origin:gf.origin};if(gb){ad(gj,"change",gj,f9)}if(ga){(gj.curOp.changeObjs||(gj.curOp.changeObjs=[])).push(f9)}}gj.display.selForContextMenu=null}function aY(gb,ga,gd,gc,f8){if(!gc){gc=gd}if(ce(gc,gd)<0){var f9=gc;gc=gd;gd=f9}if(typeof ga=="string"){ga=aX(ga)}bd(gb,{from:gd,to:gc,text:ga,origin:f8})}function d2(f9,gc){if(aO(f9,"scrollCursorIntoView")){return}var gd=f9.display,ga=gd.sizer.getBoundingClientRect(),f8=null;if(gc.top+ga.top<0){f8=true}else{if(gc.bottom+ga.top>(window.innerHeight||document.documentElement.clientHeight)){f8=false}}if(f8!=null&&!fr){var gb=fT("div","\u200b",null,"position: absolute; top: "+(gc.top-gd.viewOffset-e4(f9.display))+"px; height: "+(gc.bottom-gc.top+cR(f9)+gd.barHeight)+"px; left: "+gc.left+"px; width: 2px;");f9.display.lineSpace.appendChild(gb);gb.scrollIntoView(f8);f9.display.lineSpace.removeChild(gb)}}function E(gi,gg,gc,gb){if(gb==null){gb=0}for(var gd=0;gd<5;gd++){var ge=false,gh=dQ(gi,gg);var f8=!gc||gc==gg?gh:dQ(gi,gc);var ga=H(gi,Math.min(gh.left,f8.left),Math.min(gh.top,f8.top)-gb,Math.max(gh.left,f8.left),Math.max(gh.bottom,f8.bottom)+gb);var gf=gi.doc.scrollTop,f9=gi.doc.scrollLeft;if(ga.scrollTop!=null){O(gi,ga.scrollTop);if(Math.abs(gi.doc.scrollTop-gf)>1){ge=true}}if(ga.scrollLeft!=null){bD(gi,ga.scrollLeft);if(Math.abs(gi.doc.scrollLeft-f9)>1){ge=true}}if(!ge){break}}return gh}function F(f8,ga,gc,f9,gb){var gd=H(f8,ga,gc,f9,gb);if(gd.scrollTop!=null){O(f8,gd.scrollTop)}if(gd.scrollLeft!=null){bD(f8,gd.scrollLeft)}}function H(gk,gb,gj,f9,gi){var gg=gk.display,ge=aU(gk.display);if(gj<0){gj=0}var gc=gk.curOp&&gk.curOp.scrollTop!=null?gk.curOp.scrollTop:gg.scroller.scrollTop;var gm=cT(gk),go={};if(gi-gj>gm){gi=gj+gm}var ga=gk.doc.height+bH(gg);var f8=gjga-ge;if(gjgc+gm){var gh=Math.min(gj,(gf?ga:gi)-gm);if(gh!=gc){go.scrollTop=gh}}}var gn=gk.curOp&&gk.curOp.scrollLeft!=null?gk.curOp.scrollLeft:gg.scroller.scrollLeft;var gl=di(gk)-(gk.options.fixedGutter?gg.gutters.offsetWidth:0);var gd=f9-gb>gl;if(gd){f9=gb+gl}if(gb<10){go.scrollLeft=0}else{if(gbgl+gn-3){go.scrollLeft=f9+(gd?0:10)-gl}}}return go}function cJ(f8,ga,f9){if(ga!=null||f9!=null){fz(f8)}if(ga!=null){f8.curOp.scrollLeft=(f8.curOp.scrollLeft==null?f8.doc.scrollLeft:f8.curOp.scrollLeft)+ga}if(f9!=null){f8.curOp.scrollTop=(f8.curOp.scrollTop==null?f8.doc.scrollTop:f8.curOp.scrollTop)+f9}}function fD(f8){fz(f8);var f9=f8.getCursor(),gb=f9,ga=f9;if(!f8.options.lineWrapping){gb=f9.ch?X(f9.line,f9.ch-1):f9;ga=X(f9.line,f9.ch+1)}f8.curOp.scrollToPos={from:gb,to:ga,margin:f8.options.cursorScrollMargin,isCursor:true}}function fz(f8){var ga=f8.curOp.scrollToPos;if(ga){f8.curOp.scrollToPos=null;var gc=dD(f8,ga.from),gb=dD(f8,ga.to);var f9=H(f8,Math.min(gc.left,gb.left),Math.min(gc.top,gb.top)-ga.margin,Math.max(gc.right,gb.right),Math.max(gc.bottom,gb.bottom)+ga.margin);f8.scrollTo(f9.scrollLeft,f9.scrollTop)}}function ac(gl,gb,gk,ga){var gj=gl.doc,f9;if(gk==null){gk="add"}if(gk=="smart"){if(!gj.mode.indent){gk="prev"}else{f9=dx(gl,gb)}}var gf=gl.options.tabSize;var gm=fb(gj,gb),ge=bS(gm.text,null,gf);if(gm.stateAfter){gm.stateAfter=null}var f8=gm.text.match(/^\s*/)[0],gh;if(!ga&&!/\S/.test(gm.text)){gh=0;gk="not"}else{if(gk=="smart"){gh=gj.mode.indent(f9,gm.text.slice(f8.length),gm.text);if(gh==b9||gh>150){if(!ga){return}gk="prev"}}}if(gk=="prev"){if(gb>gj.first){gh=bS(fb(gj,gb-1).text,null,gf)}else{gh=0}}else{if(gk=="add"){gh=ge+gl.options.indentUnit}else{if(gk=="subtract"){gh=ge-gl.options.indentUnit}else{if(typeof gk=="number"){gh=ge+gk}}}}gh=Math.max(0,gh);var gi="",gg=0;if(gl.options.indentWithTabs){for(var gc=Math.floor(gh/gf);gc;--gc){gg+=gf;gi+="\t"}}if(gg=0;gf--){aY(f8.doc,"",gc[gf].from,gc[gf].to,"+delete")}fD(f8)})}function bv(gq,gc,gk,gj,ge){var gh=gc.line,gi=gc.ch,gp=gk;var f9=fb(gq,gh);var gn=true;function go(){var gr=gh+gk;if(gr=gq.first+gq.size){return(gn=false)}gh=gr;return f9=fb(gq,gr)}function gm(gs){var gr=(ge?u:ah)(f9,gi,gk,true);if(gr==null){if(!gs&&go()){if(ge){gi=(gk<0?cQ:cD)(f9)}else{gi=gk<0?f9.text.length:0}}else{return(gn=false)}}else{gi=gr}return true}if(gj=="char"){gm()}else{if(gj=="column"){gm(true)}else{if(gj=="word"||gj=="group"){var gl=null,gf=gj=="group";var f8=gq.cm&&gq.cm.getHelper(gc,"wordChars");for(var gd=true;;gd=false){if(gk<0&&!gm(!gd)){break}var ga=f9.text.charAt(gi)||"\n";var gb=cz(ga,f8)?"w":gf&&ga=="\n"?"n":!gf||/\s/.test(ga)?null:"p";if(gf&&!gd&&!gb){gb="s"}if(gl&&gl!=gb){if(gk<0){gk=1;gm()}break}if(gb){gl=gb}if(gk>0&&!gm(!gd)){break}}}}}var gg=bU(gq,X(gh,gi),gp,true);if(!gn){gg.hitSide=true}return gg}function bp(gg,gb,f8,gf){var ge=gg.doc,gd=gb.left,gc;if(gf=="page"){var ga=Math.min(gg.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);gc=gb.top+f8*(ga-(f8<0?1.5:0.5)*aU(gg.display))}else{if(gf=="line"){gc=f8>0?gb.bottom+3:gb.top-3}}for(;;){var f9=fL(gg,gd,gc);if(!f9.outside){break}if(f8<0?gc<=0:gc>=ge.height){f9.hitSide=true;break}gc+=f8*5}return f9}I.prototype={constructor:I,focus:function(){window.focus();ev(this);B(this)},setOption:function(ga,gb){var f9=this.options,f8=f9[ga];if(f9[ga]==gb&&ga!="mode"){return}f9[ga]=gb;if(bc.hasOwnProperty(ga)){c0(this,bc[ga])(this,gb,f8)}},getOption:function(f8){return this.options[f8]},getDoc:function(){return this.doc},addKeyMap:function(f9,f8){this.state.keyMaps[f8?"push":"unshift"](fR(f9))},removeKeyMap:function(f9){var ga=this.state.keyMaps;for(var f8=0;f80){e(this.doc,gd,new dU(gf,ga[gd].to()),Z)}}else{if(ge.head.line>gb){ac(this,ge.head.line,gh,true);gb=ge.head.line;if(gd==this.doc.sel.primIndex){fD(this)}}}}}),getTokenAt:function(f9,f8){return cq(this,f9,f8)},getLineTokens:function(f9,f8){return cq(this,X(f9),f8,true)},getTokenTypeAt:function(gf){gf=fG(this.doc,gf);var gb=c4(this,fb(this.doc,gf.line));var gd=0,ge=(gb.length-1)/2,ga=gf.ch;var f9;if(ga==0){f9=gb[2]}else{for(;;){var f8=(gd+ge)>>1;if((f8?gb[f8*2-1]:0)>=ga){ge=f8}else{if(gb[f8*2+1]gb){f9=gb;f8=true}}var ga=fb(this.doc,f9);return eM(this,ga,{top:0,left:0},gc||"page").top+(f8?this.doc.height-bL(ga):0)},defaultTextHeight:function(){return aU(this.display)},defaultCharWidth:function(){return dz(this.display)},setGutterMarker:c6(function(f8,f9,ga){return eu(this.doc,f8,"gutter",function(gb){var gc=gb.gutterMarkers||(gb.gutterMarkers={});gc[f9]=ga;if(!ga&&eQ(gc)){gb.gutterMarkers=null}return true})}),clearGutter:c6(function(ga){var f8=this,gb=f8.doc,f9=gb.first;gb.iter(function(gc){if(gc.gutterMarkers&&gc.gutterMarkers[ga]){gc.gutterMarkers[ga]=null;S(f8,f9,"gutter");if(eQ(gc.gutterMarkers)){gc.gutterMarkers=null}}++f9})}),addLineWidget:c6(function(ga,f9,f8){return bG(this,ga,f9,f8)}),removeLineWidget:function(f8){f8.clear()},lineInfo:function(f8){if(typeof f8=="number"){if(!b8(this.doc,f8)){return null}var f9=f8;f8=fb(this.doc,f8);if(!f8){return null}}else{var f9=bM(f8);if(f9==null){return null}}return{line:f9,handle:f8,text:f8.text,gutterMarkers:f8.gutterMarkers,textClass:f8.textClass,bgClass:f8.bgClass,wrapClass:f8.wrapClass,widgets:f8.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(gd,ga,gf,gb,gh){var gc=this.display;gd=dQ(this,fG(this.doc,gd));var ge=gd.bottom,f9=gd.left;ga.style.position="absolute";ga.setAttribute("cm-ignore-events","true");gc.sizer.appendChild(ga);if(gb=="over"){ge=gd.top}else{if(gb=="above"||gb=="near"){var f8=Math.max(gc.wrapper.clientHeight,this.doc.height),gg=Math.max(gc.sizer.clientWidth,gc.lineSpace.clientWidth);if((gb=="above"||gd.bottom+ga.offsetHeight>f8)&&gd.top>ga.offsetHeight){ge=gd.top-ga.offsetHeight}else{if(gd.bottom+ga.offsetHeight<=f8){ge=gd.bottom}}if(f9+ga.offsetWidth>gg){f9=gg-ga.offsetWidth}}}ga.style.top=ge+"px";ga.style.left=ga.style.right="";if(gh=="right"){f9=gc.sizer.clientWidth-ga.offsetWidth;ga.style.right="0px"}else{if(gh=="left"){f9=0}else{if(gh=="middle"){f9=(gc.sizer.clientWidth-ga.offsetWidth)/2}}ga.style.left=f9+"px"}if(gf){F(this,f9,ge,f9+ga.offsetWidth,ge+ga.offsetHeight)}},triggerOnKeyDown:c6(p),triggerOnKeyPress:c6(cx),triggerOnKeyUp:bf,execCommand:function(f8){if(ez.hasOwnProperty(f8)){return ez[f8](this)}},findPosH:function(ge,gb,gc,f9){var f8=1;if(gb<0){f8=-1;gb=-gb}for(var ga=0,gd=fG(this.doc,ge);ga0&&f8(gb.charAt(ge-1))){--ge}while(ga0.5){Y(this)}aC(this,"refresh",this)}),swapDoc:c6(function(f9){var f8=this.doc;f8.cm=null;d7(this,f9);aj(this);fl(this);this.scrollTo(f9.scrollLeft,f9.scrollTop);this.curOp.forceScroll=true;ad(this,"swapDoc",this,f8);return f8}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};bx(I);var eZ=I.defaults={};var bc=I.optionHandlers={};function s(f8,gb,ga,f9){I.defaults[f8]=gb;if(ga){bc[f8]=f9?function(gc,ge,gd){if(gd!=cb){ga(gc,ge,gd)}}:ga}}var cb=I.Init={toString:function(){return"CodeMirror.Init"}};s("value","",function(f8,f9){f8.setValue(f9)},true);s("mode",null,function(f8,f9){f8.doc.modeOption=f9;bq(f8)},true);s("indentUnit",2,bq,true);s("indentWithTabs",false);s("smartIndent",true);s("tabSize",4,function(f8){eh(f8);aj(f8);ag(f8)},true);s("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(f8,f9){f8.options.specialChars=new RegExp(f9.source+(f9.test("\t")?"":"|\t"),"g");f8.refresh()},true);s("specialCharPlaceholder",e8,function(f8){f8.refresh()},true);s("electricChars",true);s("rtlMoveVisually",!aM);s("wholeLineUpdateBefore",true);s("theme","default",function(f8){cM(f8);ds(f8)},true);s("keyMap","default",function(f8,gc,f9){var ga=fR(gc);var gb=f9!=I.Init&&fR(f9);if(gb&&gb.detach){gb.detach(f8,ga)}if(ga.attach){ga.attach(f8,gb||null)}});s("extraKeys",null);s("lineWrapping",false,eC,true);s("gutters",[],function(f8){cd(f8.options);ds(f8)},true);s("fixedGutter",true,function(f8,f9){f8.display.gutters.style.left=f9?dT(f8.display)+"px":"0";f8.refresh()},true);s("coverGutterNextToScrollbar",false,function(f8){eU(f8)},true);s("scrollbarStyle","native",function(f8){aB(f8);eU(f8);f8.display.scrollbars.setScrollTop(f8.doc.scrollTop);f8.display.scrollbars.setScrollLeft(f8.doc.scrollLeft)},true);s("lineNumbers",false,function(f8){cd(f8.options);ds(f8)},true);s("firstLineNumber",1,ds,true);s("lineNumberFormatter",function(f8){return f8},ds,true);s("showCursorWhenSelecting",false,bB,true);s("resetSelectionOnContextMenu",true);s("readOnly",false,function(f8,f9){if(f9=="nocursor"){aS(f8);f8.display.input.blur();f8.display.disabled=true}else{f8.display.disabled=false;if(!f9){fl(f8)}}});s("disableInput",false,function(f8,f9){if(!f9){fl(f8)}},true);s("dragDrop",true);s("cursorBlinkRate",530);s("cursorScrollMargin",0);s("cursorHeight",1,bB,true);s("singleCursorHeightPerLine",true,bB,true);s("workTime",100);s("workDelay",100);s("flattenSpans",true,eh,true);s("addModeClass",false,eh,true);s("pollInterval",100);s("undoDepth",200,function(f8,f9){f8.doc.history.undoDepth=f9});s("historyEventDelay",1250);s("viewportMargin",10,function(f8){f8.refresh()},true);s("maxHighlightLength",10000,eh,true);s("moveInputWithCursor",true,function(f8,f9){if(!f9){f8.display.inputDiv.style.top=f8.display.inputDiv.style.left=0}});s("tabindex",null,function(f8,f9){f8.display.input.tabIndex=f9||""});s("autofocus",null);var dp=I.modes={},aP=I.mimeModes={};I.defineMode=function(f8,f9){if(!I.defaults.mode&&f8!="null"){I.defaults.mode=f8}if(arguments.length>2){f9.dependencies=Array.prototype.slice.call(arguments,2)}dp[f8]=f9};I.defineMIME=function(f9,f8){aP[f9]=f8};I.resolveMode=function(f8){if(typeof f8=="string"&&aP.hasOwnProperty(f8)){f8=aP[f8]}else{if(f8&&typeof f8.name=="string"&&aP.hasOwnProperty(f8.name)){var f9=aP[f8.name];if(typeof f9=="string"){f9={name:f9}}f8=ck(f9,f8);f8.name=f9.name}else{if(typeof f8=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(f8)){return I.resolveMode("application/xml")}}}if(typeof f8=="string"){return{name:f8}}else{return f8||{name:"null"}}};I.getMode=function(f9,f8){var f8=I.resolveMode(f8);var gb=dp[f8.name];if(!gb){return I.getMode(f9,"text/plain")}var gc=gb(f9,f8);if(dl.hasOwnProperty(f8.name)){var ga=dl[f8.name];for(var gd in ga){if(!ga.hasOwnProperty(gd)){continue}if(gc.hasOwnProperty(gd)){gc["_"+gd]=gc[gd]}gc[gd]=ga[gd]}}gc.name=f8.name;if(f8.helperType){gc.helperType=f8.helperType}if(f8.modeProps){for(var gd in f8.modeProps){gc[gd]=f8.modeProps[gd]}}return gc};I.defineMode("null",function(){return{token:function(f8){f8.skipToEnd()}}});I.defineMIME("text/plain","null");var dl=I.modeExtensions={};I.extendMode=function(ga,f9){var f8=dl.hasOwnProperty(ga)?dl[ga]:(dl[ga]={});aK(f9,f8)};I.defineExtension=function(f8,f9){I.prototype[f8]=f9};I.defineDocExtension=function(f8,f9){ar.prototype[f8]=f9};I.defineOption=s;var a5=[];I.defineInitHook=function(f8){a5.push(f8)};var fk=I.helpers={};I.registerHelper=function(f9,f8,ga){if(!fk.hasOwnProperty(f9)){fk[f9]=I[f9]={_global:[]}}fk[f9][f8]=ga};I.registerGlobalHelper=function(ga,f9,f8,gb){I.registerHelper(ga,f9,gb);fk[ga]._global.push({pred:f8,val:gb})};var b2=I.copyState=function(gb,f8){if(f8===true){return f8}if(gb.copyState){return gb.copyState(f8)}var ga={};for(var gc in f8){var f9=f8[gc];if(f9 instanceof Array){f9=f9.concat([])}ga[gc]=f9}return ga};var bZ=I.startState=function(ga,f9,f8){return ga.startState?ga.startState(f9,f8):true};I.innerMode=function(ga,f8){while(ga.innerMode){var f9=ga.innerMode(f8);if(!f9||f9.mode==ga){break}f8=f9.state;ga=f9.mode}return f9||{mode:ga,state:f8}};var ez=I.commands={selectAll:function(f8){f8.setSelection(X(f8.firstLine(),0),X(f8.lastLine()),Z)},singleSelection:function(f8){f8.setSelection(f8.getCursor("anchor"),f8.getCursor("head"),Z)},killLine:function(f8){eT(f8,function(ga){if(ga.empty()){var f9=fb(f8.doc,ga.head.line).text.length;if(ga.head.ch==f9&&ga.head.line0){ge=new X(ge.line,ge.ch+1);f8.replaceRange(f9.charAt(ge.ch-1)+f9.charAt(ge.ch-2),X(ge.line,ge.ch-2),ge,"+transpose")}else{if(ge.line>f8.doc.first){var gd=fb(f8.doc,ge.line-1).text;if(gd){f8.replaceRange(f9.charAt(0)+"\n"+gd.charAt(gd.length-1),X(ge.line-1,gd.length-1),X(ge.line,1),"+transpose")}}}}ga.push(new dU(ge,ge))}f8.setSelections(ga)})},newlineAndIndent:function(f8){cK(f8,function(){var f9=f8.listSelections().length;for(var gb=0;gb=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.posf9},eatSpace:function(){var f8=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>f8},skipToEnd:function(){this.pos=this.string.length},skipTo:function(f8){var f9=this.string.indexOf(f8,this.pos);if(f9>-1){this.pos=f9;return true}},backUp:function(f8){this.pos-=f8},column:function(){if(this.lastColumnPos0){return null}if(ga&&f9!==false){this.pos+=ga[0].length}return ga}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(f9,f8){this.lineStart+=f9;try{return f8()}finally{this.lineStart-=f9}}};var Q=I.TextMarker=function(f9,f8){this.lines=[];this.type=f8;this.doc=f9};bx(Q);Q.prototype.clear=function(){if(this.explicitlyCleared){return}var gf=this.doc.cm,f9=gf&&!gf.curOp;if(f9){cG(gf)}if(fe(this,"clear")){var gg=this.find();if(gg){ad(this,"clear",gg.from,gg.to)}}var ga=null,gd=null;for(var gb=0;gbgf.display.maxLineLength){gf.display.maxLine=f8;gf.display.maxLineLength=gc;gf.display.maxLineChanged=true}}}if(ga!=null&&gf&&this.collapsed){ag(gf,ga,gd+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(gf){et(gf.doc)}}if(gf){ad(gf,"markerCleared",gf,this)}if(f9){al(gf)}if(this.parent){this.parent.clear()}};Q.prototype.find=function(gb,f9){if(gb==null&&this.type=="bookmark"){gb=1}var ge,gd;for(var ga=0;ga0||gh==0&&gb.clearWhenEmpty!==false){return gb}if(gb.replacedWith){gb.collapsed=true;gb.widgetNode=fT("span",[gb.replacedWith],"CodeMirror-widget");if(!gi.handleMouseEvents){gb.widgetNode.setAttribute("cm-ignore-events","true")}if(gi.insertLeft){gb.widgetNode.insertLeft=true}}if(gb.collapsed){if(z(gg,ge.line,ge,gf,gb)||ge.line!=gf.line&&z(gg,gf.line,ge,gf,gb)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}a4=true}if(gb.addToHistory){fJ(gg,{from:ge,to:gf,origin:"markText"},gg.sel,NaN)}var f9=ge.line,gd=gg.cm,f8;gg.iter(f9,gf.line+1,function(gj){if(gd&&gb.collapsed&&!gd.options.lineWrapping&&y(gj)==gd.display.maxLine){f8=true}if(gb.collapsed&&f9!=ge.line){fW(gj,0)}cc(gj,new ee(gb,f9==ge.line?ge.ch:null,f9==gf.line?gf.ch:null));++f9});if(gb.collapsed){gg.iter(ge.line,gf.line+1,function(gj){if(ft(gg,gj)){fW(gj,0)}})}if(gb.clearOnEnter){bW(gb,"beforeCursorEnter",function(){gb.clear()})}if(gb.readOnly){f3=true;if(gg.history.done.length||gg.history.undone.length){gg.clearHistory()}}if(gb.collapsed){gb.id=++a2;gb.atomic=true}if(gd){if(f8){gd.curOp.updateMaxLine=true}if(gb.collapsed){ag(gd,ge.line,gf.line+1)}else{if(gb.className||gb.title||gb.startStyle||gb.endStyle||gb.css){for(var ga=ge.line;ga<=gf.line;ga++){S(gd,ga,"text")}}}if(gb.atomic){et(gd.doc)}ad(gd,"markerAdded",gd,gb)}return gb}var x=I.SharedTextMarker=function(ga,f9){this.markers=ga;this.primary=f9;for(var f8=0;f8=ga:gg.to>ga);(gf||(gf=[])).push(new ee(gd,gg.from,gb?null:gg.to))}}}return gf}function az(f9,gb,ge){if(f9){for(var gc=0,gf;gc=gb:gg.to>gb);if(ga||gg.from==gb&&gd.type=="bookmark"&&(!ge||gg.marker.insertLeft)){var f8=gg.from==null||(gd.inclusiveLeft?gg.from<=gb:gg.from0&&ge){for(var gb=0;gb0){continue}var gh=[gb,1],f8=ce(f9.from,ga.from),gg=ce(f9.to,ga.to);if(f8<0||!gf.inclusiveLeft&&!f8){gh.push({from:f9.from,to:ga.from})}if(gg>0||!gf.inclusiveRight&&!gg){gh.push({from:ga.to,to:f9.to})}gd.splice.apply(gd,gh);gb+=gh.length-1}}return gd}function fZ(f8){var ga=f8.markedSpans;if(!ga){return}for(var f9=0;f9=0&&gd<=0||gh<=0&&gd>=0){continue}if(gh<=0&&(ce(gi.to,ge)>0||(f9.marker.inclusiveRight&&gc.inclusiveLeft))||gh>=0&&(ce(gi.from,gf)<0||(f9.marker.inclusiveLeft&&gc.inclusiveRight))){return true}}}}function y(f9){var f8;while(f8=eK(f9)){f9=f8.find(-1,true).line}return f9}function h(ga){var f8,f9;while(f8=er(ga)){ga=f8.find(1,true).line;(f9||(f9=[])).push(ga)}return f9}function aT(gb,f9){var f8=fb(gb,f9),ga=y(f8);if(f8==ga){return f9}return bM(ga)}function dZ(gb,ga){if(ga>gb.lastLine()){return ga}var f9=fb(gb,ga),f8;if(!ft(gb,f9)){return ga}while(f8=er(f9)){f9=f8.find(1,true).line}return bM(f9)+1}function ft(gc,f9){var f8=a4&&f9.markedSpans;if(f8){for(var gb,ga=0;gagc.start){return ga}}throw new Error("Mode "+gd.name+" failed to advance stream.")}function cq(gh,gf,gc,gb){function f8(gk){return{start:gi.start,end:gi.pos,string:gi.current(),type:ga||null,state:gk?b2(gg.mode,f9):f9}}var gg=gh.doc,gd=gg.mode,ga;gf=fG(gg,gf);var gj=fb(gg,gf.line),f9=dx(gh,gf.line,gc);var gi=new eP(gj.text,gh.options.tabSize),ge;if(gb){ge=[]}while((gb||gi.posgi.options.maxHighlightLength){ga=false;if(gc){dt(gi,gk,f9,gj.pos)}gj.pos=gk.length;f8=null}else{f8=dg(ew(gd,gj,f9,gm),gb)}if(gm){var gl=gm[0].name;if(gl){f8="m-"+(f8?gl+" "+f8:gl)}}if(!ga||gf!=f8){while(gggi){gg.splice(ge,1,gi,gg[ge+1],gj)}ge+=2;ga=Math.min(gi,gj)}if(!gk){return}if(gd.opaque){gg.splice(gm,ge-gm,gi,"cm-overlay "+gk);ge=gm+2}else{for(;gmgb&&gc.from<=gb){break}}if(gc.to>=gd){return f9(gg,gi,ga,ge,gj,gh)}f9(gg,gi.slice(0,gc.to-gb),ga,ge,null,gh);ge=null;gi=gi.slice(gc.to-gb);gb=gc.to}}}function ab(f9,gb,f8,ga){var gc=!ga&&f8.widgetNode;if(gc){f9.map.push(f9.pos,f9.pos+gb,gc);f9.content.appendChild(gc)}f9.pos+=gb}function bn(gh,go,gg){var gd=gh.markedSpans,gf=gh.text,gm=0;if(!gd){for(var gr=1;grgc)){if(gq.to!=null&&gv>gq.to){gv=gq.to;gu=""}if(gn.className){f8+=" "+gn.className}if(gn.css){gi=gn.css}if(gn.startStyle&&gq.from==gc){gl+=" "+gn.startStyle}if(gn.endStyle&&gq.to==gv){gu+=" "+gn.endStyle}if(gn.title&&!gw){gw=gn.title}if(gn.collapsed&&(!ga||dM(ga.marker,gn)<0)){ga=gq}}else{if(gq.from>gc&&gv>gq.from){gv=gq.from}}if(gn.type=="bookmark"&&gq.from==gc&&gn.widgetNode){ge.push(gn)}}if(ga&&(ga.from||0)==gc){ab(go,(ga.to==null?gs+1:ga.to)-gc,ga.marker,ga.from==null);if(ga.to==null){return}}if(!ga&&ge.length){for(var gp=0;gp=gs){break}var gj=Math.min(gs,gv);while(true){if(gk){var f9=gc+gk.length;if(!ga){var gb=f9>gj?gk.slice(0,gj-gc):gk;go.addToken(go,gb,gt?gt+f8:f8,gl,gc+gb.length==gv?gu:"",gw,gi)}if(f9>=gj){gk=gk.slice(gj-gc);gc=gj;break}gc=f9;gl=""}gk=gf.slice(gm,gm=gg[gr++]);gt=eS(gg[gr++],go.cm.options)}}}function dO(f8,f9){return f9.from.ch==0&&f9.to.ch==0&&fE(f9.text)==""&&(!f8.cm||f8.cm.options.wholeLineUpdateBefore)}function fv(gl,gg,f8,gc){function gm(go){return f8?f8[go]:null}function f9(go,gq,gp){ei(go,gq,gp,gc);ad(go,"change",go,gg)}var gj=gg.from,gk=gg.to,gn=gg.text;var gh=fb(gl,gj.line),gi=fb(gl,gk.line);var gf=fE(gn),gb=gm(gn.length-1),ge=gk.line-gj.line;if(dO(gl,gg)){for(var ga=0,gd=[];ga1){gl.remove(gj.line+1,ge-1)}gl.insert(gj.line+1,gd)}}}ad(gl,"change",gl,gg)}function eV(f9){this.lines=f9;this.parent=null;for(var ga=0,f8=0;ga1||!(this.children[0] instanceof eV))){var f9=[];this.collapse(f9);this.children=[new eV(f9)];this.children[0].parent=this}},collapse:function(f8){for(var f9=0;f950){while(gf.lines.length>50){var gc=gf.lines.splice(gf.lines.length-25,25);var gb=new eV(gc);gf.height-=gb.height;this.children.splice(gd+1,0,gb);gb.parent=this}this.maybeSpill()}break}f9-=ge}},maybeSpill:function(){if(this.children.length<=10){return}var gb=this;do{var f9=gb.children.splice(gb.children.length-5,5);var ga=new fu(f9);if(!gb.parent){var gc=new fu(gb.children);gc.parent=gb;gb.children=[gc,ga];gb=gc}else{gb.size-=ga.size;gb.height-=ga.height;var f8=df(gb.parent.children,gb);gb.parent.children.splice(f8+1,0,ga)}ga.parent=gb.parent}while(gb.children.length>10);gb.parent.maybeSpill()},iterN:function(f8,ge,gd){for(var f9=0;f9=0;gb--){bd(this,gc[gb])}if(f8){e3(this,f8)}else{if(this.cm){fD(this.cm)}}}),undo:cC(function(){b7(this,"undo")}),redo:cC(function(){b7(this,"redo")}),undoSelection:cC(function(){b7(this,"undo",true)}),redoSelection:cC(function(){b7(this,"redo",true)}),setExtending:function(f8){this.extend=f8},getExtending:function(){return this.extend},historySize:function(){var gb=this.history,f8=0,ga=0;for(var f9=0;f9=gc.ch)){gb.push(ga.marker.parent||ga.marker)}}}return gb},findMarks:function(gc,gb,f8){gc=fG(this,gc);gb=fG(this,gb);var f9=[],ga=gc.line;this.iter(gc.line,gb.line+1,function(gd){var gf=gd.markedSpans;if(gf){for(var ge=0;gegg.to||gg.from==null&&ga!=gc.line||ga==gb.line&&gg.from>gb.ch)&&(!f8||f8(gg.marker))){f9.push(gg.marker.parent||gg.marker)}}}++ga});return f9},getAllMarks:function(){var f8=[];this.iter(function(ga){var f9=ga.markedSpans;if(f9){for(var gb=0;gbf9){f8=f9;return true}f9-=gc;++ga});return fG(this,X(ga,f8))},indexFromPos:function(f9){f9=fG(this,f9);var f8=f9.ch;if(f9.linegb){gb=f8.from}if(f8.to!=null&&f8.to=gb.size){throw new Error("There is no line "+(gd+gb.first)+" in the document.")}for(var f8=gb;!f8.lines;){for(var f9=0;;++f9){var gc=f8.children[f9],ga=gc.chunkSize();if(gd1&&!f9.done[f9.done.length-2].ranges){f9.done.pop();return fE(f9.done)}}}}function fJ(ge,gc,f8,gb){var ga=ge.history;ga.undone.length=0;var f9=+new Date,gf;if((ga.lastOp==gb||ga.lastOrigin==gc.origin&&gc.origin&&((gc.origin.charAt(0)=="+"&&ge.cm&&ga.lastModTime>f9-ge.cm.options.historyEventDelay)||gc.origin.charAt(0)=="*"))&&(gf=eI(ga,ga.lastOp==gb))){var gg=fE(gf.changes);if(ce(gc.from,gc.to)==0&&ce(gc.from,gg.to)==0){gg.to=cV(gc)}else{gf.changes.push(dr(ge,gc))}}else{var gd=fE(ga.done);if(!gd||!gd.ranges){cL(ge.sel,ga.done)}gf={changes:[dr(ge,gc)],generation:ga.generation};ga.done.push(gf);while(ga.done.length>ga.undoDepth){ga.done.shift();if(!ga.done[0].ranges){ga.done.shift()}}}ga.done.push(f8);ga.generation=++ga.maxGeneration;ga.lastModTime=ga.lastSelTime=f9;ga.lastOp=ga.lastSelOp=gb;ga.lastOrigin=ga.lastSelOrigin=gc.origin;if(!gg){aC(ge,"historyAdded")}}function bz(gc,f8,ga,gb){var f9=f8.charAt(0);return f9=="*"||f9=="+"&&ga.ranges.length==gb.ranges.length&&ga.somethingSelected()==gb.somethingSelected()&&new Date-gc.history.lastSelTime<=(gc.cm?gc.cm.options.historyEventDelay:500)}function f2(gd,gb,f8,ga){var gc=gd.history,f9=ga&&ga.origin;if(f8==gc.lastSelOp||(f9&&gc.lastSelOrigin==f9&&(gc.lastModTime==gc.lastSelTime&&gc.lastOrigin==f9||bz(gd,f9,fE(gc.done),gb)))){gc.done[gc.done.length-1]=gb}else{cL(gb,gc.done)}gc.lastSelTime=+new Date;gc.lastSelOrigin=f9;gc.lastSelOp=f8;if(ga&&ga.clearRedo!==false){fy(gc.undone)}}function cL(f9,f8){var ga=fE(f8);if(!(ga&&ga.ranges&&ga.equals(f9))){f8.push(f9)}}function bX(f9,gd,gc,gb){var f8=gd["spans_"+f9.id],ga=0;f9.iter(Math.max(f9.first,gc),Math.min(f9.first+f9.size,gb),function(ge){if(ge.markedSpans){(f8||(f8=gd["spans_"+f9.id]={}))[ga]=ge.markedSpans}++ga})}function bi(ga){if(!ga){return null}for(var f9=0,f8;f9-1){fE(gh)[f8]=gf[f8];delete gf[f8]}}}}}}return f9}function J(gb,ga,f9,f8){if(f90}function bx(f8){f8.prototype.on=function(f9,ga){bW(this,f9,ga)};f8.prototype.off=function(f9,ga){d9(this,f9,ga)}}var dF=30;var b9=I.Pass={toString:function(){return"CodeMirror.Pass"}};var Z={scroll:false},N={origin:"*mouse"},cU={origin:"+move"};function f7(){this.id=null}f7.prototype.set=function(f8,f9){clearTimeout(this.id);this.id=setTimeout(f9,f8)};var bS=I.countColumn=function(gb,f9,gd,ge,ga){if(f9==null){f9=gb.search(/[^\s\u00a0]/);if(f9==-1){f9=gb.length}}for(var gc=ge||0,gf=ga||0;;){var f8=gb.indexOf("\t",gc);if(f8<0||f8>=f9){return gf+(f9-gc)}gf+=f8-gc;gf+=gd-(gf%gd);gc=f8+1}};function em(gc,gb,gd){for(var ge=0,ga=0;;){var f9=gc.indexOf("\t",ge);if(f9==-1){f9=gc.length}var f8=f9-ge;if(f9==gc.length||ga+f8>=gb){return ge+Math.min(f8,gb-ga)}ga+=f9-ge;ga+=gd-(ga%gd);ge=f9+1;if(ga>=gb){return ge}}}var aW=[""];function cp(f8){while(aW.length<=f8){aW.push(fE(aW)+" ")}return aW[f8]}function fE(f8){return f8[f8.length-1]}var dH=function(f8){f8.select()};if(eX){dH=function(f8){f8.selectionStart=0;f8.selectionEnd=f8.value.length}}else{if(dG){dH=function(f9){try{f9.select()}catch(f8){}}}}function df(ga,f8){for(var f9=0;f9"\x80"&&(f8.toUpperCase()!=f8.toLowerCase()||a9.test(f8))};function cz(f8,f9){if(!f9){return fA(f8)}if(f9.source.indexOf("\\w")>-1&&fA(f8)){return true}return f9.test(f8)}function eQ(f8){for(var f9 in f8){if(f8.hasOwnProperty(f9)&&f8[f9]){return false}}return true}var eF=/[\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 fm(f8){return f8.charCodeAt(0)>=768&&eF.test(f8)}function fT(f8,gc,gb,ga){var gd=document.createElement(f8);if(gb){gd.className=gb}if(ga){gd.style.cssText=ga}if(typeof gc=="string"){gd.appendChild(document.createTextNode(gc))}else{if(gc){for(var f9=0;f90;--f8){f9.removeChild(f9.firstChild)}return f9}function bQ(f8,f9){return dX(f8).appendChild(f9)}function f1(f8,f9){if(f8.contains){return f8.contains(f9)}while(f9=f9.parentNode){if(f9==f8){return true}}}function dK(){return document.activeElement}if(dG&&k<11){dK=function(){try{return document.activeElement}catch(f8){return document.body}}}function T(f8){return new RegExp("(^|\\s)"+f8+"(?:$|\\s)\\s*")}var f=I.rmClass=function(ga,f8){var gb=ga.className;var f9=T(f8).exec(gb);if(f9){var gc=gb.slice(f9.index+f9[0].length);ga.className=gb.slice(0,f9.index)+(gc?f9[1]+gc:"")}};var fx=I.addClass=function(f9,f8){var ga=f9.className;if(!T(f8).test(ga)){f9.className+=(ga?" ":"")+f8}};function fO(ga,f8){var f9=ga.split(" ");for(var gb=0;gb2&&!(dG&&k<8)}}if(fI){return fT("span","\u200b")}else{return fT("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px")}}var fH;function bN(gb){if(fH!=null){return fH}var f8=bQ(gb,document.createTextNode("A\u062eA"));var ga=cl(f8,0,1).getBoundingClientRect();if(!ga||ga.left==ga.right){return false}var f9=cl(f8,1,2).getBoundingClientRect();return fH=(f9.right-ga.right<3)}var aX=I.splitLines="\n\nb".split(/\n/).length!=3?function(gd){var ge=0,f8=[],gc=gd.length;while(ge<=gc){var gb=gd.indexOf("\n",ge);if(gb==-1){gb=gd.length}var ga=gd.slice(ge,gd.charAt(gb-1)=="\r"?gb-1:gb);var f9=ga.indexOf("\r");if(f9!=-1){f8.push(ga.slice(0,f9));ge+=f9+1}else{f8.push(ga);ge=gb+1}}return f8}:function(f8){return f8.split(/\r\n?|\n/)};var br=window.getSelection?function(f9){try{return f9.selectionStart!=f9.selectionEnd}catch(f8){return false}}:function(ga){try{var f8=ga.ownerDocument.selection.createRange()}catch(f9){}if(!f8||f8.parentElement()!=ga){return false}return f8.compareEndPoints("StartToEnd",f8)!=0};var c8=(function(){var f8=fT("div");if("oncopy" in f8){return true}f8.setAttribute("oncopy","return;");return typeof f8.oncopy=="function"})();var e2=null;function aI(f9){if(e2!=null){return e2}var ga=bQ(f9,fT("span","x"));var gb=ga.getBoundingClientRect();var f8=cl(ga,0,1).getBoundingClientRect();return e2=Math.abs(gb.left-f8.left)>1}var fc={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=fc;(function(){for(var f8=0;f8<10;f8++){fc[f8+48]=fc[f8+96]=String(f8)}for(var f8=65;f8<=90;f8++){fc[f8]=String.fromCharCode(f8)}for(var f8=1;f8<=12;f8++){fc[f8+111]=fc[f8+63235]="F"+f8}})();function d0(f8,ge,gd,gc){if(!f8){return gc(ge,gd,"ltr")}var gb=false;for(var ga=0;gage||ge==gd&&f9.to==ge){gc(Math.max(f9.from,ge),Math.min(f9.to,gd),f9.level==1?"rtl":"ltr");gb=true}}if(!gb){gc(ge,gd,"ltr")}}function du(f8){return f8.level%2?f8.to:f8.from}function f4(f8){return f8.level%2?f8.from:f8.to}function cD(f9){var f8=a(f9);return f8?du(f8[0]):0}function cQ(f9){var f8=a(f9);if(!f8){return f9.text.length}return f4(fE(f8))}function bs(f9,gc){var ga=fb(f9.doc,gc);var gd=y(ga);if(gd!=ga){gc=bM(gd)}var f8=a(gd);var gb=!f8?0:f8[0].level%2?cQ(gd):cD(gd);return X(gc,gb)}function dL(ga,gd){var f9,gb=fb(ga.doc,gd);while(f9=er(gb)){gb=f9.find(1,true).line;gd=null}var f8=a(gb);var gc=!f8?gb.text.length:f8[0].level%2?cD(gb):cQ(gb);return X(gd==null?bM(gb):gd,gc)}function dE(f9,ge){var gd=bs(f9,ge.line);var ga=fb(f9.doc,gd.line);var f8=a(ga);if(!f8||f8[0].level==0){var gc=Math.max(0,ga.text.search(/\S/));var gb=ge.line==gd.line&&ge.ch<=gc&&ge.ch;return X(gd.line,gb?0:gc)}return gd}function am(f9,ga,f8){var gb=f9[0].level;if(ga==gb){return true}if(f8==gb){return false}return gagc){return f9}if((gb.from==gc||gb.to==gc)){if(ga==null){ga=f9}else{if(am(f8,gb.level,f8[ga].level)){if(gb.from!=gb.to){eY=ga}return f9}else{if(gb.from!=gb.to){eY=f9}return ga}}}}return ga}function fa(f8,gb,f9,ga){if(!ga){return gb+f9}do{gb+=f9}while(gb>0&&fm(f8.text.charAt(gb)));return gb}function u(f8,gf,ga,gb){var gc=a(f8);if(!gc){return ah(f8,gf,ga,gb)}var ge=aE(gc,gf),f9=gc[ge];var gd=fa(f8,gf,f9.level%2?-ga:ga,gb);for(;;){if(gd>f9.from&&gd0)==f9.level%2?f9.to:f9.from}else{f9=gc[ge+=ga];if(!f9){return null}if((ga>0)==f9.level%2){gd=fa(f8,f9.to,-1,gb)}else{gd=fa(f8,f9.from,1,gb)}}}}function ah(f8,gc,f9,ga){var gb=gc+f9;if(ga){while(gb>0&&fm(f8.text.charAt(gb))){gb+=f9}}return gb<0||gb>f8.text.length?null:gb}var be=(function(){var ge="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var gc="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function gb(gi){if(gi<=247){return ge.charAt(gi)}else{if(1424<=gi&&gi<=1524){return"R"}else{if(1536<=gi&&gi<=1773){return gc.charAt(gi-1536)}else{if(1774<=gi&&gi<=2220){return"r"}else{if(8192<=gi&&gi<=8203){return"w"}else{if(gi==8204){return"b"}else{return"L"}}}}}}}var f8=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var gh=/[stwN]/,ga=/[LRr]/,f9=/[Lb1n]/,gd=/[1n]/;var gg="L";function gf(gk,gj,gi){this.level=gk;this.from=gj;this.to=gi}return function(gs){if(!f8.test(gs)){return false}var gy=gs.length,go=[];for(var gx=0,gk;gx=15){dY=false;cY=true}var bP=b6&&(dJ||dY&&(aV==null||aV<12.11));var f0=co||(dG&&k>=9);var f3=false,a4=false;function I(f8,f9){if(!(this instanceof I)){return new I(f8,f9)}this.options=f9=f9?aK(f9):{};aK(eZ,f9,false);cd(f9);var gd=f9.value;if(typeof gd=="string"){gd=new ar(gd,f9.mode)}this.doc=gd;var gc=this.display=new eE(f8,gd);gc.wrapper.CodeMirror=this;d8(this);cM(this);if(f9.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(f9.autofocus&&!ec){ev(this)}aB(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,draggingText:false,highlight:new f7(),keySeq:null};if(dG&&k<11){setTimeout(cv(fl,this,true),20)}fM(this);bg();cG(this);this.curOp.forceUpdate=true;d7(this,gd);if((f9.autofocus&&!ec)||dK()==gc.input){setTimeout(cv(cA,this),20)}else{aS(this)}for(var gb in bc){if(bc.hasOwnProperty(gb)){bc[gb](this,f9[gb],cb)}}d1(this);for(var ga=0;gaga.maxLineLength){ga.maxLineLength=gb;ga.maxLine=gc}})}function cd(f8){var f9=df(f8.gutters,"CodeMirror-linenumbers");if(f9==-1&&f8.lineNumbers){f8.gutters=f8.gutters.concat(["CodeMirror-linenumbers"])}else{if(f9>-1&&!f8.lineNumbers){f8.gutters=f8.gutters.slice(0);f8.gutters.splice(f9,1)}}}function dw(f8){var gb=f8.display,ga=gb.gutters.offsetWidth;var f9=Math.round(f8.doc.height+bH(f8.display));return{clientHeight:gb.scroller.clientHeight,viewHeight:gb.wrapper.clientHeight,scrollWidth:gb.scroller.scrollWidth,clientWidth:gb.scroller.clientWidth,viewWidth:gb.wrapper.clientWidth,barLeft:f8.options.fixedGutter?ga:0,docHeight:f9,scrollHeight:f9+cR(f8)+gb.barHeight,nativeBarWidth:gb.nativeBarWidth,gutterWidth:ga}}function dh(ga,f9,f8){this.cm=f8;var gb=this.vert=fT("div",[fT("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");var gc=this.horiz=fT("div",[fT("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");ga(gb);ga(gc);bW(gb,"scroll",function(){if(gb.clientHeight){f9(gb.scrollTop,"vertical")}});bW(gc,"scroll",function(){if(gc.clientWidth){f9(gc.scrollLeft,"horizontal")}});this.checkedOverlay=false;if(dG&&k<8){this.horiz.style.minHeight=this.vert.style.minWidth="18px"}}dh.prototype=aK({update:function(gb){var gc=gb.scrollWidth>gb.clientWidth+1;var ga=gb.scrollHeight>gb.clientHeight+1;var gd=gb.nativeBarWidth;if(ga){this.vert.style.display="block";this.vert.style.bottom=gc?gd+"px":"0";var f9=gb.viewHeight-(gc?gd:0);this.vert.firstChild.style.height=Math.max(0,gb.scrollHeight-gb.clientHeight+f9)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(gc){this.horiz.style.display="block";this.horiz.style.right=ga?gd+"px":"0";this.horiz.style.left=gb.barLeft+"px";var f8=gb.viewWidth-gb.barLeft-(ga?gd:0);this.horiz.firstChild.style.width=(gb.scrollWidth-gb.clientWidth+f8)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedOverlay&&gb.clientHeight>0){if(gd==0){this.overlayHack()}this.checkedOverlay=true}return{right:ga?gd:0,bottom:gc?gd:0}},setScrollLeft:function(f8){if(this.horiz.scrollLeft!=f8){this.horiz.scrollLeft=f8}},setScrollTop:function(f8){if(this.vert.scrollTop!=f8){this.vert.scrollTop=f8}},overlayHack:function(){var f8=b6&&!c5?"12px":"18px";this.horiz.style.minHeight=this.vert.style.minWidth=f8;var f9=this;var ga=function(gb){if(M(gb)!=f9.vert&&M(gb)!=f9.horiz){c0(f9.cm,ep)(gb)}};bW(this.vert,"mousedown",ga);bW(this.horiz,"mousedown",ga)},clear:function(){var f8=this.horiz.parentNode;f8.removeChild(this.horiz);f8.removeChild(this.vert)}},dh.prototype);function e0(){}e0.prototype=aK({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},e0.prototype);I.scrollbarModel={"native":dh,"null":e0};function aB(f8){if(f8.display.scrollbars){f8.display.scrollbars.clear();if(f8.display.scrollbars.addClass){f(f8.display.wrapper,f8.display.scrollbars.addClass)}}f8.display.scrollbars=new I.scrollbarModel[f8.options.scrollbarStyle](function(f9){f8.display.wrapper.insertBefore(f9,f8.display.scrollbarFiller);bW(f9,"mousedown",function(){if(f8.state.focused){setTimeout(cv(ev,f8),0)}});f9.setAttribute("not-content","true")},function(ga,f9){if(f9=="horizontal"){bD(f8,ga)}else{O(f8,ga)}},f8);if(f8.display.scrollbars.addClass){fx(f8.display.wrapper,f8.display.scrollbars.addClass)}}function eU(ga,gc){if(!gc){gc=dw(ga)}var f9=ga.display.barWidth,f8=ga.display.barHeight;aR(ga,gc);for(var gb=0;gb<4&&f9!=ga.display.barWidth||f8!=ga.display.barHeight;gb++){if(f9!=ga.display.barWidth&&ga.options.lineWrapping){a6(ga)}aR(ga,dw(ga));f9=ga.display.barWidth;f8=ga.display.barHeight}}function aR(f8,f9){var gb=f8.display;var ga=gb.scrollbars.update(f9);gb.sizer.style.paddingRight=(gb.barWidth=ga.right)+"px";gb.sizer.style.paddingBottom=(gb.barHeight=ga.bottom)+"px";if(ga.right&&ga.bottom){gb.scrollbarFiller.style.display="block";gb.scrollbarFiller.style.height=ga.bottom+"px";gb.scrollbarFiller.style.width=ga.right+"px"}else{gb.scrollbarFiller.style.display=""}if(ga.bottom&&f8.options.coverGutterNextToScrollbar&&f8.options.fixedGutter){gb.gutterFiller.style.display="block";gb.gutterFiller.style.height=ga.bottom+"px";gb.gutterFiller.style.width=f9.gutterWidth+"px"}else{gb.gutterFiller.style.display=""}}function b5(gb,gf,ga){var gc=ga&&ga.top!=null?Math.max(0,ga.top):gb.scroller.scrollTop;gc=Math.floor(gc-e4(gb));var f8=ga&&ga.bottom!=null?ga.bottom:gc+gb.wrapper.clientHeight;var gd=bF(gf,gc),ge=bF(gf,f8);if(ga&&ga.ensure){var f9=ga.ensure.from.line,gg=ga.ensure.to.line;if(f9=ge){gd=bF(gf,bL(fb(gf,gg))-gb.wrapper.clientHeight);ge=gg}}}return{from:gd,to:Math.max(ge,gd+1)}}function eA(gg){var ge=gg.display,gf=ge.view;if(!ge.alignWidgets&&(!ge.gutters.firstChild||!gg.options.fixedGutter)){return}var gc=dT(ge)-ge.scroller.scrollLeft+gg.doc.scrollLeft;var f8=ge.gutters.offsetWidth,f9=gc+"px";for(var gb=0;gb=gc.viewFrom&&gb.visible.to<=gc.viewTo&&(gc.updateLineNumbers==null||gc.updateLineNumbers>=gc.viewTo)&&gc.renderedView==gc.view&&c9(gh)==0){return false}if(d1(gh)){es(gh);gb.dims=e9(gh)}var ga=gg.first+gg.size;var ge=Math.max(gb.visible.from-gh.options.viewportMargin,gg.first);var gf=Math.min(ga,gb.visible.to+gh.options.viewportMargin);if(gc.viewFromgf&&gc.viewTo-gf<20){gf=Math.min(ga,gc.viewTo)}if(a4){ge=aT(gh.doc,ge);gf=dZ(gh.doc,gf)}var f9=ge!=gc.viewFrom||gf!=gc.viewTo||gc.lastWrapHeight!=gb.wrapperHeight||gc.lastWrapWidth!=gb.wrapperWidth;cP(gh,ge,gf);gc.viewOffset=bL(fb(gh.doc,gc.viewFrom));gh.display.mover.style.top=gc.viewOffset+"px";var f8=c9(gh);if(!f9&&f8==0&&!gb.force&&gc.renderedView==gc.view&&(gc.updateLineNumbers==null||gc.updateLineNumbers>=gc.viewTo)){return false}var gd=dK();if(f8>4){gc.lineDiv.style.display="none"}cm(gh,gc.updateLineNumbers,gb.dims);if(f8>4){gc.lineDiv.style.display=""}gc.renderedView=gc.view;if(gd&&dK()!=gd&&gd.offsetHeight){gd.focus()}dX(gc.cursorDiv);dX(gc.selectionDiv);gc.heightForcer.style.top=gc.gutters.style.height=0;if(f9){gc.lastWrapHeight=gb.wrapperHeight;gc.lastWrapWidth=gb.wrapperWidth;eb(gh,400)}gc.updateLineNumbers=null;return true}function cj(f9,gd){var gb=gd.force,f8=gd.viewport;for(var gc=true;;gc=false){if(gc&&f9.options.lineWrapping&&gd.oldDisplayWidth!=di(f9)){gb=true}else{gb=false;if(f8&&f8.top!=null){f8={top:Math.min(f9.doc.height+bH(f9.display)-cT(f9),f8.top)}}gd.visible=b5(f9.display,f9.doc,f8);if(gd.visible.from>=f9.display.viewFrom&&gd.visible.to<=f9.display.viewTo){break}}if(!C(f9,gd)){break}a6(f9);var ga=dw(f9);bB(f9);dv(f9,ga);eU(f9,ga)}ad(f9,"update",f9);if(f9.display.viewFrom!=f9.display.reportedViewFrom||f9.display.viewTo!=f9.display.reportedViewTo){ad(f9,"viewportChange",f9,f9.display.viewFrom,f9.display.viewTo);f9.display.reportedViewFrom=f9.display.viewFrom;f9.display.reportedViewTo=f9.display.viewTo}}function dP(f9,f8){var gb=new aG(f9,f8);if(C(f9,gb)){a6(f9);cj(f9,gb);var ga=dw(f9);bB(f9);dv(f9,ga);eU(f9,ga)}}function dv(f8,ga){f8.display.sizer.style.minHeight=ga.docHeight+"px";var f9=ga.docHeight+cR(f8);f8.display.heightForcer.style.top=f9+"px";f8.display.gutters.style.height=Math.max(f9,ga.clientHeight)+"px"}function a6(gf){var gd=gf.display;var f9=gd.lineDiv.offsetTop;for(var ga=0;ga0.001||ge<-0.001){fW(gg.line,gh);ca(gg.line);if(gg.rest){for(var f8=0;f8-1){gh=false}aa(gj,gc,gd,gi)}if(gh){dX(gc.lineNumber);gc.lineNumber.appendChild(document.createTextNode(eo(gj.options,gd)))}gk=gc.node.nextSibling}}gd+=gc.size}while(gk){gk=ge(gk)}}function aa(f8,ga,gc,gd){for(var f9=0;f9=0&&ce(gb,f9.to())<=0){return ga}}return -1}};function dU(f8,f9){this.anchor=f8;this.head=f9}dU.prototype={from:function(){return aq(this.anchor,this.head)},to:function(){return bw(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function cw(f8,gf){var ga=f8[gf];f8.sort(function(gi,gh){return ce(gi.from(),gh.from())});gf=df(f8,ga);for(var gc=1;gc=0){var gd=aq(f9.from(),gg.from()),ge=bw(f9.to(),gg.to());var gb=f9.empty()?gg.from()==gg.head:f9.from()==f9.head;if(gc<=gf){--gf}f8.splice(--gc,2,new dU(gb?ge:gd,gb?gd:ge))}}return new fU(f8,gf)}function eO(f8,f9){return new fU([new dU(f8,f9||f8)],0)}function c3(f8,f9){return Math.max(f8.first,Math.min(f9,f8.first+f8.size-1))}function fG(f9,ga){if(ga.linef8){return X(f8,fb(f9,f8).text.length)}return fp(ga,fb(f9,ga.line).text.length)}function fp(ga,f9){var f8=ga.ch;if(f8==null||f8>f9){return X(ga.line,f9)}else{if(f8<0){return X(ga.line,0)}else{return ga}}}function b8(f9,f8){return f8>=f9.first&&f8=ga.ch:f8.to>ga.ch))){if(ge){aC(f9,"beforeCursorEnter");if(f9.explicitlyCleared){if(!gj.markedSpans){break}else{--gc;continue}}}if(!f9.atomic){continue}var gf=f9.find(gb<0?-1:1);if(ce(gf,ga)==0){gf.ch+=gb;if(gf.ch<0){if(gf.line>gh.first){gf=fG(gh,X(gf.line-1))}else{gf=null}}else{if(gf.ch>gj.text.length){if(gf.line3){gj(gD,gB.top,null,gB.bottom);gD=gb;if(gB.bottomgq.bottom||gC.bottom==gq.bottom&&gC.right>gq.right){gq=gC}if(gD0){ga.blinker=setInterval(function(){ga.cursorDiv.style.visibility=(f9=!f9)?"":"hidden"},f8.options.cursorBlinkRate)}else{if(f8.options.cursorBlinkRate<0){ga.cursorDiv.style.visibility="hidden"}}}function eb(f8,f9){if(f8.doc.mode.startState&&f8.doc.frontier=f8.display.viewTo){return}var ga=+new Date+f8.options.workTime;var gb=b2(gc.mode,dx(f8,gc.frontier));var f9=[];gc.iter(gc.frontier,Math.min(gc.first+gc.size,f8.display.viewTo+500),function(gd){if(gc.frontier>=f8.display.viewFrom){var gg=gd.styles;var gi=fw(f8,gd,gb,true);gd.styles=gi.styles;var gf=gd.styleClasses,gh=gi.classes;if(gh){gd.styleClasses=gh}else{if(gf){gd.styleClasses=null}}var gj=!gg||gg.length!=gd.styles.length||gf!=gh&&(!gf||!gh||gf.bgClass!=gh.bgClass||gf.textClass!=gh.textClass);for(var ge=0;!gj&&gega){eb(f8,f8.options.workDelay);return true}});if(f9.length){cK(f8,function(){for(var gd=0;gdga;--gh){if(gh<=gd.first){return gd.first}var gg=fb(gd,gh-1);if(gg.stateAfter&&(!gb||gh<=gd.frontier)){return gh}var gf=bS(gg.text,null,ge.options.tabSize);if(gc==null||f9>gf){gc=gh-1;f9=gf}}return gc}function dx(f8,ge,f9){var gc=f8.doc,gb=f8.display;if(!gc.mode.startState){return true}var gd=cy(f8,ge,f9),ga=gd>gc.first&&fb(gc,gd-1).stateAfter;if(!ga){ga=bZ(gc.mode)}else{ga=b2(gc.mode,ga)}gc.iter(gd,ge,function(gf){dt(f8,gf.text,ga);var gg=gd==ge-1||gd%5==0||gd>=gb.viewFrom&&gd2){gd.push((gg.bottom+f9.top)/2-ge.top)}}}gd.push(ge.bottom-ge.top)}}function ct(ga,f8,gb){if(ga.line==f8){return{map:ga.measure.map,cache:ga.measure.cache}}for(var f9=0;f9gb){return{map:ga.measure.maps[f9],cache:ga.measure.caches[f9],before:true}}}}function cZ(f8,ga){ga=y(ga);var gc=bM(ga);var f9=f8.display.externalMeasured=new bu(f8.doc,ga,gc);f9.lineN=gc;var gb=f9.built=eN(f8,f9);f9.text=gb.pre;bQ(f8.display.lineMeasure,gb.pre);return f9}function ed(f8,f9,gb,ga){return D(f8,a1(f8,f9),gb,ga)}function e7(f8,ga){if(ga>=f8.display.viewFrom&&ga=f9.lineN&&gagh){gb=gn-gr;gc=gb-1;if(gh>=gn){f8="right"}}}}if(gc!=null){gm=gt[go+2];if(gr==gn&&gd==(gm.insertLeft?"left":"right")){f8=gd}if(gd=="left"&&gc==0){while(go&>[go-2]==gt[go-3]&>[go-1].insertLeft){gm=gt[(go-=3)+2];f8="left"}}if(gd=="right"&&gc==gn-gr){while(go0){f8=gd="right"}var ga;if(gf.options.lineWrapping&&(ga=gm.getClientRects()).length>1){f9=ga[gd=="right"?ga.length-1:0]}else{f9=gm.getBoundingClientRect()}}if(dG&&k<9&&!gc&&(!f9||!f9.left&&!f9.right)){var ge=gm.parentNode.getClientRects()[0];if(ge){f9={left:ge.left,right:ge.left+dz(gf.display),top:ge.top,bottom:ge.bottom}}else{f9=ex}}var gk=f9.top-gp.rect.top,gi=f9.bottom-gp.rect.top;var gs=(gk+gi)/2;var gq=gp.view.measure.heights;for(var go=0;gogl.from){return gc(gn-1)}return gc(gn,gm)}var gd=a(ge),f8=gg.ch;if(!gd){return gc(f8)}var f9=aE(gd,f8);var gb=gi(f8,f9);if(eY!=null){gb.other=gi(f8,eY)}return gb}function dD(f8,gc){var gb=0,gc=fG(f8.doc,gc);if(!f8.options.lineWrapping){gb=dz(f8.display)*gc.ch}var f9=fb(f8.doc,gc.line);var ga=bL(f9)+e4(f8.display);return{left:gb,right:gb,top:ga,bottom:ga+f9.height}}function fS(f8,f9,ga,gc){var gb=X(f8,f9);gb.xRel=gc;if(ga){gb.outside=true}return gb}function fL(gf,gc,gb){var ge=gf.doc;gb+=gf.display.viewOffset;if(gb<0){return fS(ge.first,0,true,-1)}var ga=bF(ge,gb),gg=ge.first+ge.size-1;if(ga>gg){return fS(ge.first+ge.size-1,fb(ge,gg).text.length,true,1)}if(gc<0){gc=0}var f9=fb(ge,ga);for(;;){var gh=cX(gf,f9,ga,gc,gb);var gd=er(f9);var f8=gd&&gd.find(0,true);if(gd&&(gh.ch>f8.from.ch||gh.ch==f8.from.ch&&gh.xRel>0)){ga=bM(f9=f8.to.line)}else{return gh}}}function cX(gi,ga,gl,gk,gj){var gh=gj-bL(ga);var ge=false,gr=2*gi.display.wrapper.clientWidth;var go=a1(gi,ga);function gv(gx){var gy=dQ(gi,X(gl,gx),"line",ga,go);ge=true;if(gh>gy.bottom){return gy.left-gr}else{if(ghf9){return fS(gl,gb,gd,1)}for(;;){if(gn?gb==gs||gb==u(ga,gs,1):gb-gs<=1){var gm=gk1?1:0);return gg}var gf=Math.ceil(gq/2),gw=gs+gf;if(gn){gw=gs;for(var gt=0;gtgk){gb=gw;f9=gc;if(gd=ge){f9+=1000}gq=gf}else{gs=gw;gp=gc;f8=ge;gq-=gf}}}var aF;function aU(ga){if(ga.cachedTextHeight!=null){return ga.cachedTextHeight}if(aF==null){aF=fT("pre");for(var f9=0;f9<49;++f9){aF.appendChild(document.createTextNode("x"));aF.appendChild(fT("br"))}aF.appendChild(document.createTextNode("x"))}bQ(ga.measure,aF);var f8=aF.offsetHeight/50;if(f8>3){ga.cachedTextHeight=f8}dX(ga.measure);return f8||1}function dz(gc){if(gc.cachedCharWidth!=null){return gc.cachedCharWidth}var f8=fT("span","xxxxxxxxxx");var gb=fT("pre",[f8]);bQ(gc.measure,gb);var ga=f8.getBoundingClientRect(),f9=(ga.right-ga.left)/10;if(f9>2){gc.cachedCharWidth=f9}return f9||10}var bo=null;var d4=0;function cG(f8){f8.curOp={cm:f8,viewChanged:false,startHeight:f8.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,id:++d4};if(bo){bo.ops.push(f8.curOp)}else{f8.curOp.ownsGroup=bo={ops:[f8.curOp],delayedCallbacks:[]}}}function cS(gb){var ga=gb.delayedCallbacks,f9=0;do{for(;f9=f9.viewTo)||f9.maxLineChanged&&f8.options.lineWrapping;ga.update=ga.mustUpdate&&new aG(f8,ga.mustUpdate&&{top:ga.scrollTop,ensure:ga.scrollToPos},ga.forceUpdate)}function ap(f8){f8.updatedDisplay=f8.mustUpdate&&C(f8.cm,f8.update)}function b1(ga){var f8=ga.cm,f9=f8.display;if(ga.updatedDisplay){a6(f8)}ga.barMeasure=dw(f8);if(f9.maxLineChanged&&!f8.options.lineWrapping){ga.adjustWidthTo=ed(f8,f9.maxLine,f9.maxLine.text.length).left+3;f8.display.sizerWidth=ga.adjustWidthTo;ga.barMeasure.scrollWidth=Math.max(f9.scroller.clientWidth,f9.sizer.offsetLeft+ga.adjustWidthTo+cR(f8)+f8.display.barWidth);ga.maxScrollLeft=Math.max(0,f9.sizer.offsetLeft+ga.adjustWidthTo-di(f8))}if(ga.updatedDisplay||ga.selectionChanged){ga.newSelectionNodes=bk(f8)}}function ao(f9){var f8=f9.cm;if(f9.adjustWidthTo!=null){f8.display.sizer.style.minWidth=f9.adjustWidthTo+"px";if(f9.maxScrollLeftgd)){ga.updateLineNumbers=gd}gf.curOp.viewChanged=true;if(gd>=ga.viewTo){if(a4&&aT(gf.doc,gd)ga.viewFrom){es(gf)}else{ga.viewFrom+=gg;ga.viewTo+=gg}}else{if(gd<=ga.viewFrom&&ge>=ga.viewTo){es(gf)}else{if(gd<=ga.viewFrom){var gc=dc(gf,ge,ge+gg,1);if(gc){ga.view=ga.view.slice(gc.index);ga.viewFrom=gc.lineN;ga.viewTo+=gg}else{es(gf)}}else{if(ge>=ga.viewTo){var gc=dc(gf,gd,gd,-1);if(gc){ga.view=ga.view.slice(0,gc.index);ga.viewTo=gc.lineN}else{es(gf)}}else{var gb=dc(gf,gd,gd,-1);var f9=dc(gf,ge,ge+gg,1);if(gb&&f9){ga.view=ga.view.slice(0,gb.index).concat(eR(gf,gb.lineN,f9.lineN)).concat(ga.view.slice(f9.index));ga.viewTo+=gg}else{es(gf)}}}}}}var f8=ga.externalMeasured;if(f8){if(ge=gc.lineN&&ga=ge.viewTo){return}var gb=ge.view[dn(f9,ga)];if(gb.node==null){return}var f8=gb.changes||(gb.changes=[]);if(df(f8,gd)==-1){f8.push(gd)}}function es(f8){f8.display.viewFrom=f8.display.viewTo=f8.doc.first;f8.display.view=[];f8.display.viewOffset=0}function dn(f8,gb){if(gb>=f8.display.viewTo){return null}gb-=f8.display.viewFrom;if(gb<0){return null}var f9=f8.display.view;for(var ga=0;ga0){if(gd==ge.length-1){return null}gf=(f8+ge[gd].size)-ga;gd++}else{gf=f8-ga}ga+=gf;gc+=gf}while(aT(gg.doc,gc)!=gc){if(gd==(f9<0?0:ge.length-1)){return null}gc+=f9*ge[gd-(f9<0?1:0)].size;gd+=f9}return{index:gd,lineN:gc}}function cP(f8,gc,gb){var ga=f8.display,f9=ga.view;if(f9.length==0||gc>=ga.viewTo||gb<=ga.viewFrom){ga.view=eR(f8,gc,gb);ga.viewFrom=gc}else{if(ga.viewFrom>gc){ga.view=eR(f8,gc,ga.viewFrom).concat(ga.view)}else{if(ga.viewFromgb){ga.view=ga.view.slice(0,dn(f8,gb))}}}ga.viewTo=gb}function c9(f8){var f9=f8.display.view,gc=0;for(var gb=0;gb=9&&gc.display.inputHasSelection===gf||b6&&/[\uf700-\uf7ff]/.test(gf)){fl(gc);return false}var gn=!gc.curOp;if(gn){cG(gc)}gc.display.shift=false;if(gf.charCodeAt(0)==8203&&gr.sel==gc.display.selForContextMenu&&!gg){gg="\u200b"}var gm=0,gj=Math.min(gg.length,gf.length);while(gm1){if(bj&&bj.join("\n")==f9){gq=gr.sel.ranges.length%bj.length==0&&bR(bj,aX)}else{if(gh.length==gr.sel.ranges.length){gq=bR(gh,function(gs){return[gs]})}}}for(var go=gr.sel.ranges.length-1;go>=0;go--){var gi=gr.sel.ranges[go];var gk=gi.from(),f8=gi.to();if(gm-1){ac(gc,ga.line,"smart");break}}}else{if(ge.electricInput){if(ge.electricInput.test(fb(gr,ga.line).text.slice(0,ga.ch))){ac(gc,ga.line,"smart")}}}}}fD(gc);gc.curOp.updateInput=gb;gc.curOp.typing=true;if(gf.length>1000||gf.indexOf("\n")>-1){gd.value=gc.display.prevInput=""}else{gc.display.prevInput=gf}if(gn){al(gc)}gc.state.pasteIncoming=gc.state.cutIncoming=false;return true}function fl(f8,gc){if(f8.display.contextMenuPending){return}var f9,gb,ge=f8.doc;if(f8.somethingSelected()){f8.display.prevInput="";var ga=ge.sel.primary();f9=c8&&(ga.to().line-ga.from().line>100||(gb=f8.getSelection()).length>1000);var gd=f9?"-":gb||f8.getSelection();f8.display.input.value=gd;if(f8.state.focused){dH(f8.display.input)}if(dG&&k>=9){f8.display.inputHasSelection=gd}}else{if(!gc){f8.display.prevInput=f8.display.input.value="";if(dG&&k>=9){f8.display.inputHasSelection=null}}}f8.display.inaccurateSelection=f9}function ev(f8){if(f8.options.readOnly!="nocursor"&&(!ec||dK()!=f8.display.input)){f8.display.input.focus()}}function r(f8){if(!f8.state.focused){ev(f8);cA(f8)}}function ai(f8){return f8.options.readOnly||f8.doc.cantEdit}function fM(f8){var ga=f8.display;bW(ga.scroller,"mousedown",c0(f8,ep));if(dG&&k<11){bW(ga.scroller,"dblclick",c0(f8,function(gd){if(aO(f8,gd)){return}var ge=cn(f8,gd);if(!ge||l(f8,gd)||a7(f8.display,gd)){return}cE(gd);var gc=f8.findWordAt(ge);fQ(f8.doc,gc.anchor,gc.head)}))}else{bW(ga.scroller,"dblclick",function(gc){aO(f8,gc)||cE(gc)})}bW(ga.lineSpace,"selectstart",function(gc){if(!a7(ga,gc)){cE(gc)}});if(!f0){bW(ga.scroller,"contextmenu",function(gc){ax(f8,gc)})}bW(ga.scroller,"scroll",function(){if(ga.scroller.clientHeight){O(f8,ga.scroller.scrollTop);bD(f8,ga.scroller.scrollLeft,true);aC(f8,"scroll",f8)}});bW(ga.scroller,"mousewheel",function(gc){b(f8,gc)});bW(ga.scroller,"DOMMouseScroll",function(gc){b(f8,gc)});bW(ga.wrapper,"scroll",function(){ga.wrapper.scrollTop=ga.wrapper.scrollLeft=0});bW(ga.input,"keyup",function(gc){bf.call(f8,gc)});bW(ga.input,"input",function(){if(dG&&k>=9&&f8.display.inputHasSelection){f8.display.inputHasSelection=null}cg(f8)});bW(ga.input,"keydown",c0(f8,p));bW(ga.input,"keypress",c0(f8,cx));bW(ga.input,"focus",cv(cA,f8));bW(ga.input,"blur",cv(aS,f8));function f9(gc){if(!aO(f8,gc)){en(gc)}}if(f8.options.dragDrop){bW(ga.scroller,"dragstart",function(gc){R(f8,gc)});bW(ga.scroller,"dragenter",f9);bW(ga.scroller,"dragover",f9);bW(ga.scroller,"drop",c0(f8,bh))}bW(ga.scroller,"paste",function(gc){if(a7(ga,gc)){return}f8.state.pasteIncoming=true;ev(f8);B(f8)});bW(ga.input,"paste",function(){if(cY&&!f8.state.fakedLastChar&&!(new Date-f8.state.lastMiddleDown<200)){var gd=ga.input.selectionStart,gc=ga.input.selectionEnd;ga.input.value+="$";ga.input.selectionEnd=gc;ga.input.selectionStart=gd;f8.state.fakedLastChar=true}f8.state.pasteIncoming=true;B(f8)});function gb(gg){if(f8.somethingSelected()){bj=f8.getSelections();if(ga.inaccurateSelection){ga.prevInput="";ga.inaccurateSelection=false;ga.input.value=bj.join("\n");dH(ga.input)}}else{var gh=[],gd=[];for(var ge=0;gega-400&&ce(db.pos,gf)==0){gc="triple"}else{if(dk&&dk.time>ga-400&&ce(dk.pos,gf)==0){gc="double";db={time:ga,pos:gf}}else{gc="single";dk={time:ga,pos:gf}}}var gd=f9.doc.sel,f8=b6?ge.metaKey:ge.ctrlKey,gb;if(f9.options.dragDrop&&eH&&!ai(f9)&&gc=="single"&&(gb=gd.contains(gf))>-1&&!gd.ranges[gb].empty()){a0(f9,ge,gf,f8)}else{m(f9,ge,gf,gc,f8)}}function a0(ga,gc,gd,f9){var gb=ga.display;var f8=c0(ga,function(ge){if(cY){gb.scroller.draggable=false}ga.state.draggingText=false;d9(document,"mouseup",f8);d9(gb.scroller,"drop",f8);if(Math.abs(gc.clientX-ge.clientX)+Math.abs(gc.clientY-ge.clientY)<10){cE(ge);if(!f9){fQ(ga.doc,gd)}ev(ga);if(dG&&k==9){setTimeout(function(){document.body.focus();ev(ga)},20)}}});if(cY){gb.scroller.draggable=true}ga.state.draggingText=f8;if(gb.scroller.dragDrop){gb.scroller.dragDrop()}bW(document,"mouseup",f8);bW(gb.scroller,"drop",f8)}function m(gc,gq,gb,f9,ge){var gn=gc.display,gs=gc.doc;cE(gq);var ga,gr,gd=gs.sel,f8=gd.ranges;if(ge&&!gq.shiftKey){gr=gs.sel.contains(gb);if(gr>-1){ga=f8[gr]}else{ga=new dU(gb,gb)}}else{ga=gs.sel.primary()}if(gq.altKey){f9="rect";if(!ge){ga=new dU(gb,gb)}gb=cn(gc,gq,true,true);gr=-1}else{if(f9=="double"){var go=gc.findWordAt(gb);if(gc.display.shift||gs.extend){ga=fs(gs,ga,go.anchor,go.head)}else{ga=go}}else{if(f9=="triple"){var gh=new dU(X(gb.line,0),fG(gs,X(gb.line+1,0)));if(gc.display.shift||gs.extend){ga=fs(gs,ga,gh.anchor,gh.head)}else{ga=gh}}else{ga=fs(gs,ga,gb)}}}if(!ge){gr=0;bT(gs,new fU([ga],0),N);gd=gs.sel}else{if(gr==-1){gr=f8.length;bT(gs,cw(f8.concat([ga]),gr),{scroll:false,origin:"*mouse"})}else{if(f8.length>1&&f8[gr].empty()&&f9=="single"){bT(gs,cw(f8.slice(0,gr).concat(f8.slice(gr+1)),0));gd=gs.sel}else{e(gs,gr,ga,N)}}}var gm=gb;function gl(gD){if(ce(gm,gD)==0){return}gm=gD;if(f9=="rect"){var gu=[],gA=gc.options.tabSize;var gt=bS(fb(gs,gb.line).text,gb.ch,gA);var gG=bS(fb(gs,gD.line).text,gD.ch,gA);var gv=Math.min(gt,gG),gE=Math.max(gt,gG);for(var gH=Math.min(gb.line,gD.line),gx=Math.min(gc.lastLine(),Math.max(gb.line,gD.line));gH<=gx;gH++){var gF=fb(gs,gH).text,gw=em(gF,gv,gA);if(gv==gE){gu.push(new dU(X(gH,gw),X(gH,gw)))}else{if(gF.length>gw){gu.push(new dU(X(gH,gw),X(gH,em(gF,gE,gA))))}}}if(!gu.length){gu.push(new dU(gb,gb))}bT(gs,cw(gd.ranges.slice(0,gr).concat(gu),gr),{origin:"*mouse",scroll:false});gc.scrollIntoView(gD)}else{var gB=ga;var gy=gB.anchor,gC=gD;if(f9!="single"){if(f9=="double"){var gz=gc.findWordAt(gD)}else{var gz=new dU(X(gD.line,0),fG(gs,X(gD.line+1,0)))}if(ce(gz.anchor,gy)>0){gC=gz.head;gy=aq(gB.from(),gz.anchor)}else{gC=gz.anchor;gy=bw(gB.to(),gz.head)}}var gu=gd.ranges.slice(0);gu[gr]=new dU(fG(gs,gy),gC);bT(gs,cw(gu,gr),N)}}var gj=gn.wrapper.getBoundingClientRect();var gf=0;function gp(gv){var gt=++gf;var gx=cn(gc,gv,true,f9=="rect");if(!gx){return}if(ce(gx,gm)!=0){r(gc);gl(gx);var gw=b5(gn,gs);if(gx.line>=gw.to||gx.linegj.bottom?20:0;if(gu){setTimeout(c0(gc,function(){if(gf!=gt){return}gn.scroller.scrollTop+=gu;gp(gv)}),50)}}}function gi(gt){gf=Infinity;cE(gt);ev(gc);d9(document,"mousemove",gk);d9(document,"mouseup",gg);gs.history.lastSelOrigin=null}var gk=c0(gc,function(gt){if(!fK(gt)){gi(gt)}else{gp(gt)}});var gg=c0(gc,gi);bW(document,"mousemove",gk);bW(document,"mouseup",gg)}function f6(gj,gf,gh,gi,gb){try{var f9=gf.clientX,f8=gf.clientY}catch(gf){return false}if(f9>=Math.floor(gj.display.gutters.getBoundingClientRect().right)){return false}if(gi){cE(gf)}var gg=gj.display;var ge=gg.lineDiv.getBoundingClientRect();if(f8>ge.bottom||!fe(gj,gh)){return bK(gf)}f8-=ge.top-gg.viewOffset;for(var gc=0;gc=f9){var gk=bF(gj.doc,f8);var ga=gj.options.gutters[gc];gb(gj,gh,gj,gk,ga,gf);return bK(gf)}}}function l(f8,f9){return f6(f8,f9,"gutterClick",true,ad)}var af=0;function bh(ge){var gg=this;if(aO(gg,ge)||a7(gg.display,ge)){return}cE(ge);if(dG){af=+new Date}var gf=cn(gg,ge,true),f8=ge.dataTransfer.files;if(!gf||ai(gg)){return}if(f8&&f8.length&&window.FileReader&&window.File){var ga=f8.length,gh=Array(ga),f9=0;var gc=function(gk,gj){var gi=new FileReader;gi.onload=c0(gg,function(){gh[gj]=gi.result;if(++f9==ga){gf=fG(gg.doc,gf);var gl={from:gf,to:gf,text:aX(gh.join("\n")),origin:"paste"};bd(gg.doc,gl);e3(gg.doc,eO(gf,cV(gl)))}});gi.readAsText(gk)};for(var gd=0;gd-1){gg.state.draggingText(ge);setTimeout(cv(ev,gg),20);return}try{var gh=ge.dataTransfer.getData("Text");if(gh){if(gg.state.draggingText&&!(b6?ge.metaKey:ge.ctrlKey)){var gb=gg.listSelections()}el(gg.doc,eO(gf,gf));if(gb){for(var gd=0;gdgf.clientWidth||gj&&gf.scrollHeight>gf.clientHeight)){return}if(gj&&b6&&cY){outer:for(var gi=ga.target,ge=gc.view;gi!=gf;gi=gi.parentNode){for(var f9=0;f9=9){f8.display.inputHasSelection=null}B(f8)}function cA(f8){if(f8.options.readOnly=="nocursor"){return}if(!f8.state.focused){aC(f8,"focus",f8);f8.state.focused=true;fx(f8.display.wrapper,"CodeMirror-focused");if(!f8.curOp&&f8.display.selForContextMenu!=f8.doc.sel){fl(f8);if(cY){setTimeout(cv(fl,f8,true),0)}}}bl(f8);o(f8)}function aS(f8){if(f8.state.focused){aC(f8,"blur",f8);f8.state.focused=false;f(f8.display.wrapper,"CodeMirror-focused")}clearInterval(f8.display.blinker);setTimeout(function(){if(!f8.state.focused){f8.display.shift=false}},150)}function ax(gh,gc){if(aO(gh,gc,"contextmenu")){return}var ge=gh.display;if(a7(ge,gc)||de(gh,gc)){return}var gg=cn(gh,gc),f8=ge.scroller.scrollTop;if(!gg||dY){return}var gb=gh.options.resetSelectionOnContextMenu;if(gb&&gh.doc.sel.contains(gg)==-1){c0(gh,bT)(gh.doc,eO(gg),Z)}var gd=ge.input.style.cssText;ge.inputDiv.style.position="absolute";ge.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(gc.clientY-5)+"px; left: "+(gc.clientX-5)+"px; z-index: 1000; background: "+(dG?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(cY){var gi=window.scrollY}ev(gh);if(cY){window.scrollTo(null,gi)}fl(gh);if(!gh.somethingSelected()){ge.input.value=ge.prevInput=" "}ge.contextMenuPending=true;ge.selForContextMenu=gh.doc.sel;clearTimeout(ge.detectingSelectAll);function ga(){if(ge.input.selectionStart!=null){var gj=gh.somethingSelected();var gk=ge.input.value="\u200b"+(gj?ge.input.value:"");ge.prevInput=gj?"":"\u200b";ge.input.selectionStart=1;ge.input.selectionEnd=gk.length;ge.selForContextMenu=gh.doc.sel}}function gf(){ge.contextMenuPending=false;ge.inputDiv.style.position="relative";ge.input.style.cssText=gd;if(dG&&k<9){ge.scrollbars.setScrollTop(ge.scroller.scrollTop=f8)}bl(gh);if(ge.input.selectionStart!=null){if(!dG||(dG&&k<9)){ga()}var gj=0,gk=function(){if(ge.selForContextMenu==gh.doc.sel&&ge.input.selectionStart==0){c0(gh,ez.selectAll)(gh)}else{if(gj++<10){ge.detectingSelectAll=setTimeout(gk,500)}else{fl(gh)}}};ge.detectingSelectAll=setTimeout(gk,200)}}if(dG&&k>=9){ga()}if(f0){en(gc);var f9=function(){d9(window,"mouseup",f9);setTimeout(gf,20)};bW(window,"mouseup",f9)}else{setTimeout(gf,50)}}function de(f8,f9){if(!fe(f8,"gutterContextMenu")){return false}return f6(f8,f9,"gutterContextMenu",false,aC)}var cV=I.changeEnd=function(f8){if(!f8.text){return f8.to}return X(f8.from.line+f8.text.length-1,fE(f8.text).length+(f8.text.length==1?f8.from.ch:0))};function bY(gb,ga){if(ce(gb,ga.from)<0){return gb}if(ce(gb,ga.to)<=0){return cV(ga)}var f8=gb.line+ga.text.length-(ga.to.line-ga.from.line)-1,f9=gb.ch;if(gb.line==ga.to.line){f9+=cV(ga).ch-ga.to.ch}return X(f8,f9)}function fg(gb,gc){var f9=[];for(var ga=0;ga=0;--f8){L(gb,{from:f9[f8].from,to:f9[f8].to,text:f8?[""]:gc.text})}}else{L(gb,gc)}}function L(ga,gb){if(gb.text.length==1&&gb.text[0]==""&&ce(gb.from,gb.to)==0){return}var f9=fg(ga,gb);fJ(ga,gb,f9,ga.cm?ga.cm.curOp.id:NaN);ea(ga,gb,f9,eg(ga,gb));var f8=[];d3(ga,function(gd,gc){if(!gc&&df(f8,gd.history)==-1){dA(gd.history,gb);f8.push(gd.history)}ea(gd,gb,null,eg(gd,gb))})}function b7(gj,gh,gl){if(gj.cm&&gj.cm.state.suppressEdits){return}var gg=gj.history,ga,gc=gj.sel;var f8=gh=="undo"?gg.done:gg.undone,gk=gh=="undo"?gg.undone:gg.done;for(var gd=0;gd=0;--gd){var gi=ga.changes[gd];gi.origin=gh;if(gb&&!dN(gj,gi,false)){f8.length=0;return}gf.push(dr(gj,gi));var f9=gd?fg(gj,gi):fE(f8);ea(gj,gi,f9,d5(gj,gi));if(!gd&&gj.cm){gj.cm.scrollIntoView({from:gi.from,to:cV(gi)})}var ge=[];d3(gj,function(gn,gm){if(!gm&&df(ge,gn.history)==-1){dA(gn.history,gi);ge.push(gn.history)}ea(gn,gi,null,d5(gn,gi))})}}function fj(f9,gb){if(gb==0){return}f9.first+=gb;f9.sel=new fU(bR(f9.sel.ranges,function(gc){return new dU(X(gc.anchor.line+gb,gc.anchor.ch),X(gc.head.line+gb,gc.head.ch))}),f9.sel.primIndex);if(f9.cm){ag(f9.cm,f9.first,f9.first-gb,gb);for(var ga=f9.cm.display,f8=ga.viewFrom;f8gc.lastLine()){return}if(gd.from.linega){gd={from:gd.from,to:X(ga,fb(gc,ga).text.length),text:[gd.text[0]],origin:gd.origin}}gd.removed=fV(gc,gd.from,gd.to);if(!gb){gb=fg(gc,gd)}if(gc.cm){aH(gc.cm,gd,f9)}else{fv(gc,gd,f9)}el(gc,gb,Z)}function aH(gj,gf,gd){var gi=gj.doc,ge=gj.display,gg=gf.from,gh=gf.to;var f8=false,gc=gg.line;if(!gj.options.lineWrapping){gc=bM(y(fb(gi,gg.line)));gi.iter(gc,gh.line+1,function(gl){if(gl==ge.maxLine){f8=true;return true}})}if(gi.sel.contains(gf.from,gf.to)>-1){W(gj)}fv(gi,gf,gd,bb(gj));if(!gj.options.lineWrapping){gi.iter(gc,gg.line+gf.text.length,function(gm){var gl=ej(gm);if(gl>ge.maxLineLength){ge.maxLine=gm;ge.maxLineLength=gl;ge.maxLineChanged=true;f8=false}});if(f8){gj.curOp.updateMaxLine=true}}gi.frontier=Math.min(gi.frontier,gg.line);eb(gj,400);var gk=gf.text.length-(gh.line-gg.line)-1;if(gg.line==gh.line&&gf.text.length==1&&!dO(gj.doc,gf)){S(gj,gg.line,"text")}else{ag(gj,gg.line,gh.line+1,gk)}var ga=fe(gj,"changes"),gb=fe(gj,"change");if(gb||ga){var f9={from:gg,to:gh,text:gf.text,removed:gf.removed,origin:gf.origin};if(gb){ad(gj,"change",gj,f9)}if(ga){(gj.curOp.changeObjs||(gj.curOp.changeObjs=[])).push(f9)}}gj.display.selForContextMenu=null}function aY(gb,ga,gd,gc,f8){if(!gc){gc=gd}if(ce(gc,gd)<0){var f9=gc;gc=gd;gd=f9}if(typeof ga=="string"){ga=aX(ga)}bd(gb,{from:gd,to:gc,text:ga,origin:f8})}function d2(f9,gc){if(aO(f9,"scrollCursorIntoView")){return}var gd=f9.display,ga=gd.sizer.getBoundingClientRect(),f8=null;if(gc.top+ga.top<0){f8=true}else{if(gc.bottom+ga.top>(window.innerHeight||document.documentElement.clientHeight)){f8=false}}if(f8!=null&&!fr){var gb=fT("div","\u200b",null,"position: absolute; top: "+(gc.top-gd.viewOffset-e4(f9.display))+"px; height: "+(gc.bottom-gc.top+cR(f9)+gd.barHeight)+"px; left: "+gc.left+"px; width: 2px;");f9.display.lineSpace.appendChild(gb);gb.scrollIntoView(f8);f9.display.lineSpace.removeChild(gb)}}function E(gi,gg,gc,gb){if(gb==null){gb=0}for(var gd=0;gd<5;gd++){var ge=false,gh=dQ(gi,gg);var f8=!gc||gc==gg?gh:dQ(gi,gc);var ga=H(gi,Math.min(gh.left,f8.left),Math.min(gh.top,f8.top)-gb,Math.max(gh.left,f8.left),Math.max(gh.bottom,f8.bottom)+gb);var gf=gi.doc.scrollTop,f9=gi.doc.scrollLeft;if(ga.scrollTop!=null){O(gi,ga.scrollTop);if(Math.abs(gi.doc.scrollTop-gf)>1){ge=true}}if(ga.scrollLeft!=null){bD(gi,ga.scrollLeft);if(Math.abs(gi.doc.scrollLeft-f9)>1){ge=true}}if(!ge){break}}return gh}function F(f8,ga,gc,f9,gb){var gd=H(f8,ga,gc,f9,gb);if(gd.scrollTop!=null){O(f8,gd.scrollTop)}if(gd.scrollLeft!=null){bD(f8,gd.scrollLeft)}}function H(gk,gb,gj,f9,gi){var gg=gk.display,ge=aU(gk.display);if(gj<0){gj=0}var gc=gk.curOp&&gk.curOp.scrollTop!=null?gk.curOp.scrollTop:gg.scroller.scrollTop;var gm=cT(gk),go={};if(gi-gj>gm){gi=gj+gm}var ga=gk.doc.height+bH(gg);var f8=gjga-ge;if(gjgc+gm){var gh=Math.min(gj,(gf?ga:gi)-gm);if(gh!=gc){go.scrollTop=gh}}}var gn=gk.curOp&&gk.curOp.scrollLeft!=null?gk.curOp.scrollLeft:gg.scroller.scrollLeft;var gl=di(gk)-(gk.options.fixedGutter?gg.gutters.offsetWidth:0);var gd=f9-gb>gl;if(gd){f9=gb+gl}if(gb<10){go.scrollLeft=0}else{if(gbgl+gn-3){go.scrollLeft=f9+(gd?0:10)-gl}}}return go}function cJ(f8,ga,f9){if(ga!=null||f9!=null){fz(f8)}if(ga!=null){f8.curOp.scrollLeft=(f8.curOp.scrollLeft==null?f8.doc.scrollLeft:f8.curOp.scrollLeft)+ga}if(f9!=null){f8.curOp.scrollTop=(f8.curOp.scrollTop==null?f8.doc.scrollTop:f8.curOp.scrollTop)+f9}}function fD(f8){fz(f8);var f9=f8.getCursor(),gb=f9,ga=f9;if(!f8.options.lineWrapping){gb=f9.ch?X(f9.line,f9.ch-1):f9;ga=X(f9.line,f9.ch+1)}f8.curOp.scrollToPos={from:gb,to:ga,margin:f8.options.cursorScrollMargin,isCursor:true}}function fz(f8){var ga=f8.curOp.scrollToPos;if(ga){f8.curOp.scrollToPos=null;var gc=dD(f8,ga.from),gb=dD(f8,ga.to);var f9=H(f8,Math.min(gc.left,gb.left),Math.min(gc.top,gb.top)-ga.margin,Math.max(gc.right,gb.right),Math.max(gc.bottom,gb.bottom)+ga.margin);f8.scrollTo(f9.scrollLeft,f9.scrollTop)}}function ac(gl,gb,gk,ga){var gj=gl.doc,f9;if(gk==null){gk="add"}if(gk=="smart"){if(!gj.mode.indent){gk="prev"}else{f9=dx(gl,gb)}}var gf=gl.options.tabSize;var gm=fb(gj,gb),ge=bS(gm.text,null,gf);if(gm.stateAfter){gm.stateAfter=null}var f8=gm.text.match(/^\s*/)[0],gh;if(!ga&&!/\S/.test(gm.text)){gh=0;gk="not"}else{if(gk=="smart"){gh=gj.mode.indent(f9,gm.text.slice(f8.length),gm.text);if(gh==b9||gh>150){if(!ga){return}gk="prev"}}}if(gk=="prev"){if(gb>gj.first){gh=bS(fb(gj,gb-1).text,null,gf)}else{gh=0}}else{if(gk=="add"){gh=ge+gl.options.indentUnit}else{if(gk=="subtract"){gh=ge-gl.options.indentUnit}else{if(typeof gk=="number"){gh=ge+gk}}}}gh=Math.max(0,gh);var gi="",gg=0;if(gl.options.indentWithTabs){for(var gc=Math.floor(gh/gf);gc;--gc){gg+=gf;gi+="\t"}}if(gg=0;gf--){aY(f8.doc,"",gc[gf].from,gc[gf].to,"+delete")}fD(f8)})}function bv(gq,gc,gk,gj,ge){var gh=gc.line,gi=gc.ch,gp=gk;var f9=fb(gq,gh);var gn=true;function go(){var gr=gh+gk;if(gr=gq.first+gq.size){return(gn=false)}gh=gr;return f9=fb(gq,gr)}function gm(gs){var gr=(ge?u:ah)(f9,gi,gk,true);if(gr==null){if(!gs&&go()){if(ge){gi=(gk<0?cQ:cD)(f9)}else{gi=gk<0?f9.text.length:0}}else{return(gn=false)}}else{gi=gr}return true}if(gj=="char"){gm()}else{if(gj=="column"){gm(true)}else{if(gj=="word"||gj=="group"){var gl=null,gf=gj=="group";var f8=gq.cm&&gq.cm.getHelper(gc,"wordChars");for(var gd=true;;gd=false){if(gk<0&&!gm(!gd)){break}var ga=f9.text.charAt(gi)||"\n";var gb=cz(ga,f8)?"w":gf&&ga=="\n"?"n":!gf||/\s/.test(ga)?null:"p";if(gf&&!gd&&!gb){gb="s"}if(gl&&gl!=gb){if(gk<0){gk=1;gm()}break}if(gb){gl=gb}if(gk>0&&!gm(!gd)){break}}}}}var gg=bU(gq,X(gh,gi),gp,true);if(!gn){gg.hitSide=true}return gg}function bp(gg,gb,f8,gf){var ge=gg.doc,gd=gb.left,gc;if(gf=="page"){var ga=Math.min(gg.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);gc=gb.top+f8*(ga-(f8<0?1.5:0.5)*aU(gg.display))}else{if(gf=="line"){gc=f8>0?gb.bottom+3:gb.top-3}}for(;;){var f9=fL(gg,gd,gc);if(!f9.outside){break}if(f8<0?gc<=0:gc>=ge.height){f9.hitSide=true;break}gc+=f8*5}return f9}I.prototype={constructor:I,focus:function(){window.focus();ev(this);B(this)},setOption:function(ga,gb){var f9=this.options,f8=f9[ga];if(f9[ga]==gb&&ga!="mode"){return}f9[ga]=gb;if(bc.hasOwnProperty(ga)){c0(this,bc[ga])(this,gb,f8)}},getOption:function(f8){return this.options[f8]},getDoc:function(){return this.doc},addKeyMap:function(f9,f8){this.state.keyMaps[f8?"push":"unshift"](fR(f9))},removeKeyMap:function(f9){var ga=this.state.keyMaps;for(var f8=0;f80){e(this.doc,gd,new dU(gf,ga[gd].to()),Z)}}else{if(ge.head.line>gb){ac(this,ge.head.line,gh,true);gb=ge.head.line;if(gd==this.doc.sel.primIndex){fD(this)}}}}}),getTokenAt:function(f9,f8){return cq(this,f9,f8)},getLineTokens:function(f9,f8){return cq(this,X(f9),f8,true)},getTokenTypeAt:function(gf){gf=fG(this.doc,gf);var gb=c4(this,fb(this.doc,gf.line));var gd=0,ge=(gb.length-1)/2,ga=gf.ch;var f9;if(ga==0){f9=gb[2]}else{for(;;){var f8=(gd+ge)>>1;if((f8?gb[f8*2-1]:0)>=ga){ge=f8}else{if(gb[f8*2+1]gb){f9=gb;f8=true}}var ga=fb(this.doc,f9);return eM(this,ga,{top:0,left:0},gc||"page").top+(f8?this.doc.height-bL(ga):0)},defaultTextHeight:function(){return aU(this.display)},defaultCharWidth:function(){return dz(this.display)},setGutterMarker:c6(function(f8,f9,ga){return eu(this.doc,f8,"gutter",function(gb){var gc=gb.gutterMarkers||(gb.gutterMarkers={});gc[f9]=ga;if(!ga&&eQ(gc)){gb.gutterMarkers=null}return true})}),clearGutter:c6(function(ga){var f8=this,gb=f8.doc,f9=gb.first;gb.iter(function(gc){if(gc.gutterMarkers&&gc.gutterMarkers[ga]){gc.gutterMarkers[ga]=null;S(f8,f9,"gutter");if(eQ(gc.gutterMarkers)){gc.gutterMarkers=null}}++f9})}),addLineWidget:c6(function(ga,f9,f8){return bG(this,ga,f9,f8)}),removeLineWidget:function(f8){f8.clear()},lineInfo:function(f8){if(typeof f8=="number"){if(!b8(this.doc,f8)){return null}var f9=f8;f8=fb(this.doc,f8);if(!f8){return null}}else{var f9=bM(f8);if(f9==null){return null}}return{line:f9,handle:f8,text:f8.text,gutterMarkers:f8.gutterMarkers,textClass:f8.textClass,bgClass:f8.bgClass,wrapClass:f8.wrapClass,widgets:f8.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(gd,ga,gf,gb,gh){var gc=this.display;gd=dQ(this,fG(this.doc,gd));var ge=gd.bottom,f9=gd.left;ga.style.position="absolute";ga.setAttribute("cm-ignore-events","true");gc.sizer.appendChild(ga);if(gb=="over"){ge=gd.top}else{if(gb=="above"||gb=="near"){var f8=Math.max(gc.wrapper.clientHeight,this.doc.height),gg=Math.max(gc.sizer.clientWidth,gc.lineSpace.clientWidth);if((gb=="above"||gd.bottom+ga.offsetHeight>f8)&&gd.top>ga.offsetHeight){ge=gd.top-ga.offsetHeight}else{if(gd.bottom+ga.offsetHeight<=f8){ge=gd.bottom}}if(f9+ga.offsetWidth>gg){f9=gg-ga.offsetWidth}}}ga.style.top=ge+"px";ga.style.left=ga.style.right="";if(gh=="right"){f9=gc.sizer.clientWidth-ga.offsetWidth;ga.style.right="0px"}else{if(gh=="left"){f9=0}else{if(gh=="middle"){f9=(gc.sizer.clientWidth-ga.offsetWidth)/2}}ga.style.left=f9+"px"}if(gf){F(this,f9,ge,f9+ga.offsetWidth,ge+ga.offsetHeight)}},triggerOnKeyDown:c6(p),triggerOnKeyPress:c6(cx),triggerOnKeyUp:bf,execCommand:function(f8){if(ez.hasOwnProperty(f8)){return ez[f8](this)}},findPosH:function(ge,gb,gc,f9){var f8=1;if(gb<0){f8=-1;gb=-gb}for(var ga=0,gd=fG(this.doc,ge);ga0&&f8(gb.charAt(ge-1))){--ge}while(ga0.5){Y(this)}aC(this,"refresh",this)}),swapDoc:c6(function(f9){var f8=this.doc;f8.cm=null;d7(this,f9);aj(this);fl(this);this.scrollTo(f9.scrollLeft,f9.scrollTop);this.curOp.forceScroll=true;ad(this,"swapDoc",this,f8);return f8}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};bx(I);var eZ=I.defaults={};var bc=I.optionHandlers={};function s(f8,gb,ga,f9){I.defaults[f8]=gb;if(ga){bc[f8]=f9?function(gc,ge,gd){if(gd!=cb){ga(gc,ge,gd)}}:ga}}var cb=I.Init={toString:function(){return"CodeMirror.Init"}};s("value","",function(f8,f9){f8.setValue(f9)},true);s("mode",null,function(f8,f9){f8.doc.modeOption=f9;bq(f8)},true);s("indentUnit",2,bq,true);s("indentWithTabs",false);s("smartIndent",true);s("tabSize",4,function(f8){eh(f8);aj(f8);ag(f8)},true);s("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(f8,f9){f8.options.specialChars=new RegExp(f9.source+(f9.test("\t")?"":"|\t"),"g");f8.refresh()},true);s("specialCharPlaceholder",e8,function(f8){f8.refresh()},true);s("electricChars",true);s("rtlMoveVisually",!aM);s("wholeLineUpdateBefore",true);s("theme","default",function(f8){cM(f8);ds(f8)},true);s("keyMap","default",function(f8,gc,f9){var ga=fR(gc);var gb=f9!=I.Init&&fR(f9);if(gb&&gb.detach){gb.detach(f8,ga)}if(ga.attach){ga.attach(f8,gb||null)}});s("extraKeys",null);s("lineWrapping",false,eC,true);s("gutters",[],function(f8){cd(f8.options);ds(f8)},true);s("fixedGutter",true,function(f8,f9){f8.display.gutters.style.left=f9?dT(f8.display)+"px":"0";f8.refresh()},true);s("coverGutterNextToScrollbar",false,function(f8){eU(f8)},true);s("scrollbarStyle","native",function(f8){aB(f8);eU(f8);f8.display.scrollbars.setScrollTop(f8.doc.scrollTop);f8.display.scrollbars.setScrollLeft(f8.doc.scrollLeft)},true);s("lineNumbers",false,function(f8){cd(f8.options);ds(f8)},true);s("firstLineNumber",1,ds,true);s("lineNumberFormatter",function(f8){return f8},ds,true);s("showCursorWhenSelecting",false,bB,true);s("resetSelectionOnContextMenu",true);s("readOnly",false,function(f8,f9){if(f9=="nocursor"){aS(f8);f8.display.input.blur();f8.display.disabled=true}else{f8.display.disabled=false;if(!f9){fl(f8)}}});s("disableInput",false,function(f8,f9){if(!f9){fl(f8)}},true);s("dragDrop",true);s("cursorBlinkRate",530);s("cursorScrollMargin",0);s("cursorHeight",1,bB,true);s("singleCursorHeightPerLine",true,bB,true);s("workTime",100);s("workDelay",100);s("flattenSpans",true,eh,true);s("addModeClass",false,eh,true);s("pollInterval",100);s("undoDepth",200,function(f8,f9){f8.doc.history.undoDepth=f9});s("historyEventDelay",1250);s("viewportMargin",10,function(f8){f8.refresh()},true);s("maxHighlightLength",10000,eh,true);s("moveInputWithCursor",true,function(f8,f9){if(!f9){f8.display.inputDiv.style.top=f8.display.inputDiv.style.left=0}});s("tabindex",null,function(f8,f9){f8.display.input.tabIndex=f9||""});s("autofocus",null);var dp=I.modes={},aP=I.mimeModes={};I.defineMode=function(f8,f9){if(!I.defaults.mode&&f8!="null"){I.defaults.mode=f8}if(arguments.length>2){f9.dependencies=Array.prototype.slice.call(arguments,2)}dp[f8]=f9};I.defineMIME=function(f9,f8){aP[f9]=f8};I.resolveMode=function(f8){if(typeof f8=="string"&&aP.hasOwnProperty(f8)){f8=aP[f8]}else{if(f8&&typeof f8.name=="string"&&aP.hasOwnProperty(f8.name)){var f9=aP[f8.name];if(typeof f9=="string"){f9={name:f9}}f8=ck(f9,f8);f8.name=f9.name}else{if(typeof f8=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(f8)){return I.resolveMode("application/xml")}}}if(typeof f8=="string"){return{name:f8}}else{return f8||{name:"null"}}};I.getMode=function(f9,f8){var f8=I.resolveMode(f8);var gb=dp[f8.name];if(!gb){return I.getMode(f9,"text/plain")}var gc=gb(f9,f8);if(dl.hasOwnProperty(f8.name)){var ga=dl[f8.name];for(var gd in ga){if(!ga.hasOwnProperty(gd)){continue}if(gc.hasOwnProperty(gd)){gc["_"+gd]=gc[gd]}gc[gd]=ga[gd]}}gc.name=f8.name;if(f8.helperType){gc.helperType=f8.helperType}if(f8.modeProps){for(var gd in f8.modeProps){gc[gd]=f8.modeProps[gd]}}return gc};I.defineMode("null",function(){return{token:function(f8){f8.skipToEnd()}}});I.defineMIME("text/plain","null");var dl=I.modeExtensions={};I.extendMode=function(ga,f9){var f8=dl.hasOwnProperty(ga)?dl[ga]:(dl[ga]={});aK(f9,f8)};I.defineExtension=function(f8,f9){I.prototype[f8]=f9};I.defineDocExtension=function(f8,f9){ar.prototype[f8]=f9};I.defineOption=s;var a5=[];I.defineInitHook=function(f8){a5.push(f8)};var fk=I.helpers={};I.registerHelper=function(f9,f8,ga){if(!fk.hasOwnProperty(f9)){fk[f9]=I[f9]={_global:[]}}fk[f9][f8]=ga};I.registerGlobalHelper=function(ga,f9,f8,gb){I.registerHelper(ga,f9,gb);fk[ga]._global.push({pred:f8,val:gb})};var b2=I.copyState=function(gb,f8){if(f8===true){return f8}if(gb.copyState){return gb.copyState(f8)}var ga={};for(var gc in f8){var f9=f8[gc];if(f9 instanceof Array){f9=f9.concat([])}ga[gc]=f9}return ga};var bZ=I.startState=function(ga,f9,f8){return ga.startState?ga.startState(f9,f8):true};I.innerMode=function(ga,f8){while(ga.innerMode){var f9=ga.innerMode(f8);if(!f9||f9.mode==ga){break}f8=f9.state;ga=f9.mode}return f9||{mode:ga,state:f8}};var ez=I.commands={selectAll:function(f8){f8.setSelection(X(f8.firstLine(),0),X(f8.lastLine()),Z)},singleSelection:function(f8){f8.setSelection(f8.getCursor("anchor"),f8.getCursor("head"),Z)},killLine:function(f8){eT(f8,function(ga){if(ga.empty()){var f9=fb(f8.doc,ga.head.line).text.length;if(ga.head.ch==f9&&ga.head.line0){ge=new X(ge.line,ge.ch+1);f8.replaceRange(f9.charAt(ge.ch-1)+f9.charAt(ge.ch-2),X(ge.line,ge.ch-2),ge,"+transpose")}else{if(ge.line>f8.doc.first){var gd=fb(f8.doc,ge.line-1).text;if(gd){f8.replaceRange(f9.charAt(0)+"\n"+gd.charAt(gd.length-1),X(ge.line-1,gd.length-1),X(ge.line,1),"+transpose")}}}}ga.push(new dU(ge,ge))}f8.setSelections(ga)})},newlineAndIndent:function(f8){cK(f8,function(){var f9=f8.listSelections().length;for(var gb=0;gb=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.posf9},eatSpace:function(){var f8=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>f8},skipToEnd:function(){this.pos=this.string.length},skipTo:function(f8){var f9=this.string.indexOf(f8,this.pos);if(f9>-1){this.pos=f9;return true}},backUp:function(f8){this.pos-=f8},column:function(){if(this.lastColumnPos0){return null}if(ga&&f9!==false){this.pos+=ga[0].length}return ga}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(f9,f8){this.lineStart+=f9;try{return f8()}finally{this.lineStart-=f9}}};var Q=I.TextMarker=function(f9,f8){this.lines=[];this.type=f8;this.doc=f9};bx(Q);Q.prototype.clear=function(){if(this.explicitlyCleared){return}var gf=this.doc.cm,f9=gf&&!gf.curOp;if(f9){cG(gf)}if(fe(this,"clear")){var gg=this.find();if(gg){ad(this,"clear",gg.from,gg.to)}}var ga=null,gd=null;for(var gb=0;gbgf.display.maxLineLength){gf.display.maxLine=f8;gf.display.maxLineLength=gc;gf.display.maxLineChanged=true}}}if(ga!=null&&gf&&this.collapsed){ag(gf,ga,gd+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(gf){et(gf.doc)}}if(gf){ad(gf,"markerCleared",gf,this)}if(f9){al(gf)}if(this.parent){this.parent.clear()}};Q.prototype.find=function(gb,f9){if(gb==null&&this.type=="bookmark"){gb=1}var ge,gd;for(var ga=0;ga0||gh==0&&gb.clearWhenEmpty!==false){return gb}if(gb.replacedWith){gb.collapsed=true;gb.widgetNode=fT("span",[gb.replacedWith],"CodeMirror-widget");if(!gi.handleMouseEvents){gb.widgetNode.setAttribute("cm-ignore-events","true")}if(gi.insertLeft){gb.widgetNode.insertLeft=true}}if(gb.collapsed){if(z(gg,ge.line,ge,gf,gb)||ge.line!=gf.line&&z(gg,gf.line,ge,gf,gb)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}a4=true}if(gb.addToHistory){fJ(gg,{from:ge,to:gf,origin:"markText"},gg.sel,NaN)}var f9=ge.line,gd=gg.cm,f8;gg.iter(f9,gf.line+1,function(gj){if(gd&&gb.collapsed&&!gd.options.lineWrapping&&y(gj)==gd.display.maxLine){f8=true}if(gb.collapsed&&f9!=ge.line){fW(gj,0)}cc(gj,new ee(gb,f9==ge.line?ge.ch:null,f9==gf.line?gf.ch:null));++f9});if(gb.collapsed){gg.iter(ge.line,gf.line+1,function(gj){if(ft(gg,gj)){fW(gj,0)}})}if(gb.clearOnEnter){bW(gb,"beforeCursorEnter",function(){gb.clear()})}if(gb.readOnly){f3=true;if(gg.history.done.length||gg.history.undone.length){gg.clearHistory()}}if(gb.collapsed){gb.id=++a2;gb.atomic=true}if(gd){if(f8){gd.curOp.updateMaxLine=true}if(gb.collapsed){ag(gd,ge.line,gf.line+1)}else{if(gb.className||gb.title||gb.startStyle||gb.endStyle||gb.css){for(var ga=ge.line;ga<=gf.line;ga++){S(gd,ga,"text")}}}if(gb.atomic){et(gd.doc)}ad(gd,"markerAdded",gd,gb)}return gb}var x=I.SharedTextMarker=function(ga,f9){this.markers=ga;this.primary=f9;for(var f8=0;f8=ga:gg.to>ga);(gf||(gf=[])).push(new ee(gd,gg.from,gb?null:gg.to))}}}return gf}function az(f9,gb,ge){if(f9){for(var gc=0,gf;gc=gb:gg.to>gb);if(ga||gg.from==gb&&gd.type=="bookmark"&&(!ge||gg.marker.insertLeft)){var f8=gg.from==null||(gd.inclusiveLeft?gg.from<=gb:gg.from0&&ge){for(var gb=0;gb0){continue}var gh=[gb,1],f8=ce(f9.from,ga.from),gg=ce(f9.to,ga.to);if(f8<0||!gf.inclusiveLeft&&!f8){gh.push({from:f9.from,to:ga.from})}if(gg>0||!gf.inclusiveRight&&!gg){gh.push({from:ga.to,to:f9.to})}gd.splice.apply(gd,gh);gb+=gh.length-1}}return gd}function fZ(f8){var ga=f8.markedSpans;if(!ga){return}for(var f9=0;f9=0&&gd<=0||gh<=0&&gd>=0){continue}if(gh<=0&&(ce(gi.to,ge)>0||(f9.marker.inclusiveRight&&gc.inclusiveLeft))||gh>=0&&(ce(gi.from,gf)<0||(f9.marker.inclusiveLeft&&gc.inclusiveRight))){return true}}}}function y(f9){var f8;while(f8=eK(f9)){f9=f8.find(-1,true).line}return f9}function h(ga){var f8,f9;while(f8=er(ga)){ga=f8.find(1,true).line;(f9||(f9=[])).push(ga)}return f9}function aT(gb,f9){var f8=fb(gb,f9),ga=y(f8);if(f8==ga){return f9}return bM(ga)}function dZ(gb,ga){if(ga>gb.lastLine()){return ga}var f9=fb(gb,ga),f8;if(!ft(gb,f9)){return ga}while(f8=er(f9)){f9=f8.find(1,true).line}return bM(f9)+1}function ft(gc,f9){var f8=a4&&f9.markedSpans;if(f8){for(var gb,ga=0;gagc.start){return ga}}throw new Error("Mode "+gd.name+" failed to advance stream.")}function cq(gh,gf,gc,gb){function f8(gk){return{start:gi.start,end:gi.pos,string:gi.current(),type:ga||null,state:gk?b2(gg.mode,f9):f9}}var gg=gh.doc,gd=gg.mode,ga;gf=fG(gg,gf);var gj=fb(gg,gf.line),f9=dx(gh,gf.line,gc);var gi=new eP(gj.text,gh.options.tabSize),ge;if(gb){ge=[]}while((gb||gi.posgi.options.maxHighlightLength){ga=false;if(gc){dt(gi,gk,f9,gj.pos)}gj.pos=gk.length;f8=null}else{f8=dg(ew(gd,gj,f9,gm),gb)}if(gm){var gl=gm[0].name;if(gl){f8="m-"+(f8?gl+" "+f8:gl)}}if(!ga||gf!=f8){while(gggi){gg.splice(ge,1,gi,gg[ge+1],gj)}ge+=2;ga=Math.min(gi,gj)}if(!gk){return}if(gd.opaque){gg.splice(gm,ge-gm,gi,"cm-overlay "+gk);ge=gm+2}else{for(;gmgb&&gc.from<=gb){break}}if(gc.to>=gd){return f9(gg,gi,ga,ge,gj,gh)}f9(gg,gi.slice(0,gc.to-gb),ga,ge,null,gh);ge=null;gi=gi.slice(gc.to-gb);gb=gc.to}}}function ab(f9,gb,f8,ga){var gc=!ga&&f8.widgetNode;if(gc){f9.map.push(f9.pos,f9.pos+gb,gc);f9.content.appendChild(gc)}f9.pos+=gb}function bn(gh,go,gg){var gd=gh.markedSpans,gf=gh.text,gm=0;if(!gd){for(var gr=1;grgc)){if(gq.to!=null&&gv>gq.to){gv=gq.to;gu=""}if(gn.className){f8+=" "+gn.className}if(gn.css){gi=gn.css}if(gn.startStyle&&gq.from==gc){gl+=" "+gn.startStyle}if(gn.endStyle&&gq.to==gv){gu+=" "+gn.endStyle}if(gn.title&&!gw){gw=gn.title}if(gn.collapsed&&(!ga||dM(ga.marker,gn)<0)){ga=gq}}else{if(gq.from>gc&&gv>gq.from){gv=gq.from}}if(gn.type=="bookmark"&&gq.from==gc&&gn.widgetNode){ge.push(gn)}}if(ga&&(ga.from||0)==gc){ab(go,(ga.to==null?gs+1:ga.to)-gc,ga.marker,ga.from==null);if(ga.to==null){return}}if(!ga&&ge.length){for(var gp=0;gp=gs){break}var gj=Math.min(gs,gv);while(true){if(gk){var f9=gc+gk.length;if(!ga){var gb=f9>gj?gk.slice(0,gj-gc):gk;go.addToken(go,gb,gt?gt+f8:f8,gl,gc+gb.length==gv?gu:"",gw,gi)}if(f9>=gj){gk=gk.slice(gj-gc);gc=gj;break}gc=f9;gl=""}gk=gf.slice(gm,gm=gg[gr++]);gt=eS(gg[gr++],go.cm.options)}}}function dO(f8,f9){return f9.from.ch==0&&f9.to.ch==0&&fE(f9.text)==""&&(!f8.cm||f8.cm.options.wholeLineUpdateBefore)}function fv(gl,gg,f8,gc){function gm(go){return f8?f8[go]:null}function f9(go,gq,gp){ei(go,gq,gp,gc);ad(go,"change",go,gg)}var gj=gg.from,gk=gg.to,gn=gg.text;var gh=fb(gl,gj.line),gi=fb(gl,gk.line);var gf=fE(gn),gb=gm(gn.length-1),ge=gk.line-gj.line;if(dO(gl,gg)){for(var ga=0,gd=[];ga1){gl.remove(gj.line+1,ge-1)}gl.insert(gj.line+1,gd)}}}ad(gl,"change",gl,gg)}function eV(f9){this.lines=f9;this.parent=null;for(var ga=0,f8=0;ga1||!(this.children[0] instanceof eV))){var f9=[];this.collapse(f9);this.children=[new eV(f9)];this.children[0].parent=this}},collapse:function(f8){for(var f9=0;f950){while(gf.lines.length>50){var gc=gf.lines.splice(gf.lines.length-25,25);var gb=new eV(gc);gf.height-=gb.height;this.children.splice(gd+1,0,gb);gb.parent=this}this.maybeSpill()}break}f9-=ge}},maybeSpill:function(){if(this.children.length<=10){return}var gb=this;do{var f9=gb.children.splice(gb.children.length-5,5);var ga=new fu(f9);if(!gb.parent){var gc=new fu(gb.children);gc.parent=gb;gb.children=[gc,ga];gb=gc}else{gb.size-=ga.size;gb.height-=ga.height;var f8=df(gb.parent.children,gb);gb.parent.children.splice(f8+1,0,ga)}ga.parent=gb.parent}while(gb.children.length>10);gb.parent.maybeSpill()},iterN:function(f8,ge,gd){for(var f9=0;f9=0;gb--){bd(this,gc[gb])}if(f8){e3(this,f8)}else{if(this.cm){fD(this.cm)}}}),undo:cC(function(){b7(this,"undo")}),redo:cC(function(){b7(this,"redo")}),undoSelection:cC(function(){b7(this,"undo",true)}),redoSelection:cC(function(){b7(this,"redo",true)}),setExtending:function(f8){this.extend=f8},getExtending:function(){return this.extend},historySize:function(){var gb=this.history,f8=0,ga=0;for(var f9=0;f9=gc.ch)){gb.push(ga.marker.parent||ga.marker)}}}return gb},findMarks:function(gc,gb,f8){gc=fG(this,gc);gb=fG(this,gb);var f9=[],ga=gc.line;this.iter(gc.line,gb.line+1,function(gd){var gf=gd.markedSpans;if(gf){for(var ge=0;gegg.to||gg.from==null&&ga!=gc.line||ga==gb.line&&gg.from>gb.ch)&&(!f8||f8(gg.marker))){f9.push(gg.marker.parent||gg.marker)}}}++ga});return f9},getAllMarks:function(){var f8=[];this.iter(function(ga){var f9=ga.markedSpans;if(f9){for(var gb=0;gbf9){f8=f9;return true}f9-=gc;++ga});return fG(this,X(ga,f8))},indexFromPos:function(f9){f9=fG(this,f9);var f8=f9.ch;if(f9.linegb){gb=f8.from}if(f8.to!=null&&f8.to=gb.size){throw new Error("There is no line "+(gd+gb.first)+" in the document.")}for(var f8=gb;!f8.lines;){for(var f9=0;;++f9){var gc=f8.children[f9],ga=gc.chunkSize();if(gd1&&!f9.done[f9.done.length-2].ranges){f9.done.pop();return fE(f9.done)}}}}function fJ(ge,gc,f8,gb){var ga=ge.history;ga.undone.length=0;var f9=+new Date,gf;if((ga.lastOp==gb||ga.lastOrigin==gc.origin&&gc.origin&&((gc.origin.charAt(0)=="+"&&ge.cm&&ga.lastModTime>f9-ge.cm.options.historyEventDelay)||gc.origin.charAt(0)=="*"))&&(gf=eI(ga,ga.lastOp==gb))){var gg=fE(gf.changes);if(ce(gc.from,gc.to)==0&&ce(gc.from,gg.to)==0){gg.to=cV(gc)}else{gf.changes.push(dr(ge,gc))}}else{var gd=fE(ga.done);if(!gd||!gd.ranges){cL(ge.sel,ga.done)}gf={changes:[dr(ge,gc)],generation:ga.generation};ga.done.push(gf);while(ga.done.length>ga.undoDepth){ga.done.shift();if(!ga.done[0].ranges){ga.done.shift()}}}ga.done.push(f8);ga.generation=++ga.maxGeneration;ga.lastModTime=ga.lastSelTime=f9;ga.lastOp=ga.lastSelOp=gb;ga.lastOrigin=ga.lastSelOrigin=gc.origin;if(!gg){aC(ge,"historyAdded")}}function bz(gc,f8,ga,gb){var f9=f8.charAt(0);return f9=="*"||f9=="+"&&ga.ranges.length==gb.ranges.length&&ga.somethingSelected()==gb.somethingSelected()&&new Date-gc.history.lastSelTime<=(gc.cm?gc.cm.options.historyEventDelay:500)}function f2(gd,gb,f8,ga){var gc=gd.history,f9=ga&&ga.origin;if(f8==gc.lastSelOp||(f9&&gc.lastSelOrigin==f9&&(gc.lastModTime==gc.lastSelTime&&gc.lastOrigin==f9||bz(gd,f9,fE(gc.done),gb)))){gc.done[gc.done.length-1]=gb}else{cL(gb,gc.done)}gc.lastSelTime=+new Date;gc.lastSelOrigin=f9;gc.lastSelOp=f8;if(ga&&ga.clearRedo!==false){fy(gc.undone)}}function cL(f9,f8){var ga=fE(f8);if(!(ga&&ga.ranges&&ga.equals(f9))){f8.push(f9)}}function bX(f9,gd,gc,gb){var f8=gd["spans_"+f9.id],ga=0;f9.iter(Math.max(f9.first,gc),Math.min(f9.first+f9.size,gb),function(ge){if(ge.markedSpans){(f8||(f8=gd["spans_"+f9.id]={}))[ga]=ge.markedSpans}++ga})}function bi(ga){if(!ga){return null}for(var f9=0,f8;f9-1){fE(gh)[f8]=gf[f8];delete gf[f8]}}}}}}return f9}function J(gb,ga,f9,f8){if(f90}function bx(f8){f8.prototype.on=function(f9,ga){bW(this,f9,ga)};f8.prototype.off=function(f9,ga){d9(this,f9,ga)}}var dF=30;var b9=I.Pass={toString:function(){return"CodeMirror.Pass"}};var Z={scroll:false},N={origin:"*mouse"},cU={origin:"+move"};function f7(){this.id=null}f7.prototype.set=function(f8,f9){clearTimeout(this.id);this.id=setTimeout(f9,f8)};var bS=I.countColumn=function(gb,f9,gd,ge,ga){if(f9==null){f9=gb.search(/[^\s\u00a0]/);if(f9==-1){f9=gb.length}}for(var gc=ge||0,gf=ga||0;;){var f8=gb.indexOf("\t",gc);if(f8<0||f8>=f9){return gf+(f9-gc)}gf+=f8-gc;gf+=gd-(gf%gd);gc=f8+1}};function em(gc,gb,gd){for(var ge=0,ga=0;;){var f9=gc.indexOf("\t",ge);if(f9==-1){f9=gc.length}var f8=f9-ge;if(f9==gc.length||ga+f8>=gb){return ge+Math.min(f8,gb-ga)}ga+=f9-ge;ga+=gd-(ga%gd);ge=f9+1;if(ga>=gb){return ge}}}var aW=[""];function cp(f8){while(aW.length<=f8){aW.push(fE(aW)+" ")}return aW[f8]}function fE(f8){return f8[f8.length-1]}var dH=function(f8){f8.select()};if(eX){dH=function(f8){f8.selectionStart=0;f8.selectionEnd=f8.value.length}}else{if(dG){dH=function(f9){try{f9.select()}catch(f8){}}}}function df(ga,f8){for(var f9=0;f9"\x80"&&(f8.toUpperCase()!=f8.toLowerCase()||a9.test(f8))};function cz(f8,f9){if(!f9){return fA(f8)}if(f9.source.indexOf("\\w")>-1&&fA(f8)){return true}return f9.test(f8)}function eQ(f8){for(var f9 in f8){if(f8.hasOwnProperty(f9)&&f8[f9]){return false}}return true}var eF=/[\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 fm(f8){return f8.charCodeAt(0)>=768&&eF.test(f8)}function fT(f8,gc,gb,ga){var gd=document.createElement(f8);if(gb){gd.className=gb}if(ga){gd.style.cssText=ga}if(typeof gc=="string"){gd.appendChild(document.createTextNode(gc))}else{if(gc){for(var f9=0;f90;--f8){f9.removeChild(f9.firstChild)}return f9}function bQ(f8,f9){return dX(f8).appendChild(f9)}function f1(f8,f9){if(f8.contains){return f8.contains(f9)}while(f9=f9.parentNode){if(f9==f8){return true}}}function dK(){return document.activeElement}if(dG&&k<11){dK=function(){try{return document.activeElement}catch(f8){return document.body}}}function T(f8){return new RegExp("(^|\\s)"+f8+"(?:$|\\s)\\s*")}var f=I.rmClass=function(ga,f8){var gb=ga.className;var f9=T(f8).exec(gb);if(f9){var gc=gb.slice(f9.index+f9[0].length);ga.className=gb.slice(0,f9.index)+(gc?f9[1]+gc:"")}};var fx=I.addClass=function(f9,f8){var ga=f9.className;if(!T(f8).test(ga)){f9.className+=(ga?" ":"")+f8}};function fO(ga,f8){var f9=ga.split(" ");for(var gb=0;gb2&&!(dG&&k<8)}}if(fI){return fT("span","\u200b")}else{return fT("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px")}}var fH;function bN(gb){if(fH!=null){return fH}var f8=bQ(gb,document.createTextNode("A\u062eA"));var ga=cl(f8,0,1).getBoundingClientRect();if(!ga||ga.left==ga.right){return false}var f9=cl(f8,1,2).getBoundingClientRect();return fH=(f9.right-ga.right<3)}var aX=I.splitLines="\n\nb".split(/\n/).length!=3?function(gd){var ge=0,f8=[],gc=gd.length;while(ge<=gc){var gb=gd.indexOf("\n",ge);if(gb==-1){gb=gd.length}var ga=gd.slice(ge,gd.charAt(gb-1)=="\r"?gb-1:gb);var f9=ga.indexOf("\r");if(f9!=-1){f8.push(ga.slice(0,f9));ge+=f9+1}else{f8.push(ga);ge=gb+1}}return f8}:function(f8){return f8.split(/\r\n?|\n/)};var br=window.getSelection?function(f9){try{return f9.selectionStart!=f9.selectionEnd}catch(f8){return false}}:function(ga){try{var f8=ga.ownerDocument.selection.createRange()}catch(f9){}if(!f8||f8.parentElement()!=ga){return false}return f8.compareEndPoints("StartToEnd",f8)!=0};var c8=(function(){var f8=fT("div");if("oncopy" in f8){return true}f8.setAttribute("oncopy","return;");return typeof f8.oncopy=="function"})();var e2=null;function aI(f9){if(e2!=null){return e2}var ga=bQ(f9,fT("span","x"));var gb=ga.getBoundingClientRect();var f8=cl(ga,0,1).getBoundingClientRect();return e2=Math.abs(gb.left-f8.left)>1}var fc={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=fc;(function(){for(var f8=0;f8<10;f8++){fc[f8+48]=fc[f8+96]=String(f8)}for(var f8=65;f8<=90;f8++){fc[f8]=String.fromCharCode(f8)}for(var f8=1;f8<=12;f8++){fc[f8+111]=fc[f8+63235]="F"+f8}})();function d0(f8,ge,gd,gc){if(!f8){return gc(ge,gd,"ltr")}var gb=false;for(var ga=0;gage||ge==gd&&f9.to==ge){gc(Math.max(f9.from,ge),Math.min(f9.to,gd),f9.level==1?"rtl":"ltr");gb=true}}if(!gb){gc(ge,gd,"ltr")}}function du(f8){return f8.level%2?f8.to:f8.from}function f4(f8){return f8.level%2?f8.from:f8.to}function cD(f9){var f8=a(f9);return f8?du(f8[0]):0}function cQ(f9){var f8=a(f9);if(!f8){return f9.text.length}return f4(fE(f8))}function bs(f9,gc){var ga=fb(f9.doc,gc);var gd=y(ga);if(gd!=ga){gc=bM(gd)}var f8=a(gd);var gb=!f8?0:f8[0].level%2?cQ(gd):cD(gd);return X(gc,gb)}function dL(ga,gd){var f9,gb=fb(ga.doc,gd);while(f9=er(gb)){gb=f9.find(1,true).line;gd=null}var f8=a(gb);var gc=!f8?gb.text.length:f8[0].level%2?cD(gb):cQ(gb);return X(gd==null?bM(gb):gd,gc)}function dE(f9,ge){var gd=bs(f9,ge.line);var ga=fb(f9.doc,gd.line);var f8=a(ga);if(!f8||f8[0].level==0){var gc=Math.max(0,ga.text.search(/\S/));var gb=ge.line==gd.line&&ge.ch<=gc&&ge.ch;return X(gd.line,gb?0:gc)}return gd}function am(f9,ga,f8){var gb=f9[0].level;if(ga==gb){return true}if(f8==gb){return false}return gagc){return f9}if((gb.from==gc||gb.to==gc)){if(ga==null){ga=f9}else{if(am(f8,gb.level,f8[ga].level)){if(gb.from!=gb.to){eY=ga}return f9}else{if(gb.from!=gb.to){eY=f9}return ga}}}}return ga}function fa(f8,gb,f9,ga){if(!ga){return gb+f9}do{gb+=f9}while(gb>0&&fm(f8.text.charAt(gb)));return gb}function u(f8,gf,ga,gb){var gc=a(f8);if(!gc){return ah(f8,gf,ga,gb)}var ge=aE(gc,gf),f9=gc[ge];var gd=fa(f8,gf,f9.level%2?-ga:ga,gb);for(;;){if(gd>f9.from&&gd0)==f9.level%2?f9.to:f9.from}else{f9=gc[ge+=ga];if(!f9){return null}if((ga>0)==f9.level%2){gd=fa(f8,f9.to,-1,gb)}else{gd=fa(f8,f9.from,1,gb)}}}}function ah(f8,gc,f9,ga){var gb=gc+f9;if(ga){while(gb>0&&fm(f8.text.charAt(gb))){gb+=f9}}return gb<0||gb>f8.text.length?null:gb}var be=(function(){var ge="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var gc="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function gb(gi){if(gi<=247){return ge.charAt(gi)}else{if(1424<=gi&&gi<=1524){return"R"}else{if(1536<=gi&&gi<=1773){return gc.charAt(gi-1536)}else{if(1774<=gi&&gi<=2220){return"r"}else{if(8192<=gi&&gi<=8203){return"w"}else{if(gi==8204){return"b"}else{return"L"}}}}}}}var f8=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var gh=/[stwN]/,ga=/[LRr]/,f9=/[Lb1n]/,gd=/[1n]/;var gg="L";function gf(gk,gj,gi){this.level=gk;this.from=gj;this.to=gi}return function(gs){if(!f8.test(gs)){return false}var gy=gs.length,go=[];for(var gx=0,gk;gx plg_editors_codemirror - 4.9 + 4.10 28 March 2011 Marijn Haverbeke marijnh@gmail.com