=l&&((h=-1=h||null),h&&(h=c.slice(0,l)+d+c.slice(l+d.length).match(/^\s*/)[0])):h="");if(null==h)return a.Pass;t[m]="\n"+h}b.operation(function(){for(var d=g.length-1;0<=d;d--)b.replaceRange(t[d],g[d].from(),g[d].to(),"+insert")})}
-function p(a,f){e.lastIndex=a;var g=e.exec(f);return g?g.index:-1}function k(a){a=a.getOption("continueComments");return!a||"object"!=typeof a||!1!==a.continueLineComment}var e=/\S/g,f=String.prototype.repeat||function(a){return Array(a+1).join(this)};a.defineOption("continueComments",null,function(f,e,g){if(g&&g!=a.Init&&f.removeKeyMap("continueComment"),e)g="Enter","string"==typeof e?g=e:"object"==typeof e&&e.key&&(g=e.key),e={name:"continueComment"},e[g]=r,f.addKeyMap(e)})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/edit/closebrackets.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function r(d,c){return"pairs"==c&&"string"==typeof d?d:"object"==typeof d&&null!=d[c]?d[c]:t[c]}function p(d){for(var c=0;c=d.max))return d.ch=
-0,d.text=d.cm.getLine(++d.line),!0}function e(d){if(!(d.line<=d.min))return d.text=d.cm.getLine(--d.line),d.ch=d.text.length,!0}function f(d){for(;;){var c=d.text.indexOf("\x3e",d.ch);if(-1==c){if(k(d))continue;break}if(p(d,c+1)){var l=d.text.lastIndexOf("/",c),l=-1g&&(!c||c==a[2]))return{tag:a[2],from:m(b,e),to:m(d.line,d.ch)}}else l.push(a[2])}}function t(d,c){for(var l=
-[];;){var h;a:for(h=d;;){var a=h.ch?h.text.lastIndexOf("\x3e",h.ch-1):-1;if(-1==a){if(e(h))continue;h=void 0;break a}if(p(h,a+1)){var f=h.text.lastIndexOf("/",a),f=-1g&&(!c||c==f[2]))return{tag:f[2],from:m(d.line,d.ch),to:m(h,a)}}}else b(d)}}var m=a.Pos,
-q=RegExp("\x3c(/?)([A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*)","g");a.registerHelper("fold","xml",function(d,c){for(var l=new r(d,c.line,0);;){var h=n(l);
-if(!h||l.line!=c.line)break;var a=f(l);if(!a)break;if(!h[1]&&"selfClose"!=a){a=m(l.line,l.ch);if(h=l=g(l,h[2]))h=l.from,h=0<(h.line-a.line||h.ch-a.ch);return h?{from:a,to:l.from}:null}}});a.findMatchingTag=function(d,c,l){var h=new r(d,c.line,c.ch,l);if(-1!=h.text.indexOf("\x3e")||-1!=h.text.indexOf("\x3c")){var a=f(h),e=a&&m(h.line,h.ch),q=a&&b(h);if(a&&q&&!(0<(h.line-c.line||h.ch-c.ch)))return c={from:m(h.line,h.ch),to:e,tag:q[2]},"selfClose"==a?{open:c,close:null,at:"open"}:q[1]?{open:t(h,q[2]),
-close:c,at:"close"}:(h=new r(d,e.line,e.ch,l),{open:c,close:g(h,q[2]),at:"open"})}};a.findEnclosingTag=function(d,c,l,h){for(var a=new r(d,c.line,c.ch,l);;){var f=t(a,h);if(!f)break;var b=new r(d,c.line,c.ch,l);if(b=g(b,f.tag))return{open:f,close:b}}};a.scanForClosingTag=function(d,c,l,h){return g(new r(d,c.line,c.ch,h?{from:0,to:h}:null),l)}});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define("addon/edit/closetag.js",["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})(function(a){function r(n){if(n.getOption("disableInput"))return a.Pass;for(var g=n.listSelections(),t=[],m=n.getOption("autoCloseTags"),q=0;qd.ch&&(x=x.slice(0,x.length-c.end+d.ch));var r=x.toLowerCase();if(!x||"string"==c.type&&(c.end!=d.ch||!/[\"\']/.test(c.string.charAt(c.string.length-1))||1==c.string.length)||"tag"==c.type&&u.close||c.string.indexOf("/")==d.ch-c.start-1||p&&-1l))for(k==f.line&&(p=f.ch-(0>b?1:0));p!=r;p+=b){var D=v.charAt(p);if(c.test(D)&&(void 0===d||(a.getTokenTypeAt(n(k,p+1))||"")==(d||""))){var C=g[D];if(C&&"\x3e"==C.charAt(1)==0document.documentMode),n=a.Pos,g={"(":")\x3e",")":"(\x3c","[":"]\x3e","]":"[\x3c","{":"}\x3e","}":"{\x3c","\x3c":"\x3e\x3e","\x3e":"\x3c\x3c"};a.defineOption("matchBrackets",!1,function(b,g,q){q&&q!=a.Init&&(b.off("cursorActivity",e),b.off("focus",e),b.off("blur",f),f(b));g&&(b.state.matchBrackets="object"==typeof g?g:{},b.on("cursorActivity",e),b.on("focus",e),b.on("blur",f))});a.defineExtension("matchBrackets",function(){k(this,!0)});a.defineExtension("findMatchingBracket",function(a,f,b){return(b||
-"boolean"==typeof f)&&(b?(b.strict=f,f=b):f=f?{strict:!0}:null),r(this,a,f)});a.defineExtension("scanForBracket",function(a,f,b,d){return p(this,a,f,b,d)})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define("addon/edit/matchtags.js",["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})(function(a){function r(a){a.state.tagHit&&a.state.tagHit.clear();a.state.tagOther&&a.state.tagOther.clear();a.state.tagHit=a.state.tagOther=null}function p(e){e.state.failedTagMatch=!1;e.operation(function(){if(r(e),!e.somethingSelected()){var f=
-e.getCursor(),b=e.getViewport();b.from=Math.min(b.from,f.line);b.to=Math.max(f.line+1,b.to);if(f=a.findMatchingTag(e,f,b))e.state.matchBothTags&&(b="open"==f.at?f.open:f.close)&&(e.state.tagHit=e.markText(b.from,b.to,{className:"CodeMirror-matchingtag"})),(f="close"==f.at?f.open:f.close)?e.state.tagOther=e.markText(f.from,f.to,{className:"CodeMirror-matchingtag"}):e.state.failedTagMatch=!0}})}function k(a){a.state.failedTagMatch&&p(a)}a.defineOption("matchTags",!1,function(e,f,b){b&&b!=a.Init&&(e.off("cursorActivity",
-p),e.off("viewportChange",k),r(e));f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",p),e.on("viewportChange",k),p(e))});a.commands.toMatchingTag=function(e){var f=a.findMatchingTag(e,e.getCursor());f&&(f="close"==f.at?f.open:f.close)&&e.extendSelection(f.to,f.from)}});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/edit/trailingspace.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.defineOption("showTrailingSpace",!1,function(r,p,k){k==a.Init&&(k=!1);k&&!p?r.removeOverlay("trailingspace"):!k&&p&&r.addOverlay({token:function(a){for(var f=a.string.length,b=f;b&&/\s/.test(a.string.charAt(b-1));--b);return b>a.pos?(a.pos=b,null):(a.pos=f,"trailingspace")},
-name:"trailingspace"})})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/foldcode",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function r(f,b,e,g){function t(d){var c=m(f,b);if(!c||c.to.line-c.from.linef.firstLine();)b=a.Pos(b.line-1,0),d=t(!1);if(d&&!d.cleared&&"unfold"!==g){var c=p(f,e,d);a.on(c,"mousedown",function(d){l.clear();a.e_preventDefault(d)});var l=f.markText(d.from,d.to,{replacedWith:c,clearOnEnter:k(f,e,"clearOnEnter"),__isFold:!0});l.on("clear",function(d,c){a.signal(f,"unfold",f,d,c)});a.signal(f,"fold",f,d.from,d.to)}}function p(a,b,e){a=k(a,b,"widget");("function"==typeof a&&
-(a=a(e.from,e.to)),"string"==typeof a)?(e=document.createTextNode(a),a=document.createElement("span"),a.appendChild(e),a.className="CodeMirror-foldmarker"):a&&(a=a.cloneNode(!0));return a}function k(a,b,k){return b&&void 0!==b[k]?b[k]:(a=a.options.foldOptions)&&void 0!==a[k]?a[k]:e[k]}a.newFoldFunction=function(a,b){return function(e,g){r(e,g,{rangeFinder:a,widget:b})}};a.defineExtension("foldCode",function(a,b,e){r(this,a,b,e)});a.defineExtension("isFolded",function(a){a=this.findMarksAt(a);for(var b=
-0;b=f){if(m&&l&&m.test(l.className))return;c=k(h.indicatorOpen)}}(c||l)&&d.setGutterMarker(a,h.gutter,c)})}function f(d){var a=d.getViewport(),l=d.state.foldGutter;l&&(d.operation(function(){e(d,a.from,a.to)}),l.from=a.from,l.to=a.to)}function b(a,c,l){var h=a.state.foldGutter;h&&(h=h.options,l==h.gutter&&((l=p(a,c))?l.clear():a.foldCode(q(c,0),h)))}function n(a,c){"mode"==c&&g(a)}function g(a){var c=a.state.foldGutter;
-if(c){var l=c.options;c.from=c.to=0;clearTimeout(c.changeUpdate);c.changeUpdate=setTimeout(function(){f(a)},l.foldOnChangeTimeSpan||600)}}function t(a){var c=a.state.foldGutter;if(c){var l=c.options;clearTimeout(c.changeUpdate);c.changeUpdate=setTimeout(function(){var h=a.getViewport();c.from==c.to||20c.to&&(e(a,c.to,h.to),c.to=h.to)})},l.updateViewportTimeSpan||400)}}function m(a,c){var l=
-a.state.foldGutter;if(l){var h=c.line;h>=l.from&&h=d?-1:b.lastIndexOf(g[0],d-1),-1!=d){if(1==c&&dt&&(t=p.length),0>r&&(r=p.length),(n=Math.min(t,r))==p.length)break;if(k.getTokenTypeAt(a.Pos(g,n+1))==b.tokenType)if(n==t)++c;else if(!--c){e=g;d=n;break a}++n}return null==e||f==e?null:{from:a.Pos(f,
-h),to:a.Pos(e,d)}}(n[g]))return t;return null}}a.registerHelper("fold","brace",r([["{","}"],["[","]"]]));a.registerHelper("fold","brace-paren",r([["{","}"],["[","]"],["(",")"]]));a.registerHelper("fold","import",function(p,k){function e(b){if(bp.lastLine())return null;var f=p.getTokenAt(a.Pos(b,1));if(/\S/.test(f.string)||(f=p.getTokenAt(a.Pos(b,f.end+1))),"keyword"!=f.type||"import"!=f.string)return null;var e=b;for(b=Math.min(p.lastLine(),b+10);e<=b;++e){var d=p.getLine(e).indexOf(";");
-if(-1!=d)return{startCh:f.end,end:a.Pos(e,d)}}}var f,b=k.line,n=e(b);if(!n||e(b-1)||(f=e(b-2))&&f.end.line==b-1)return null;for(f=n.end;;){var g=e(f.line+1);if(null==g)break;f=g.end}return{from:p.clipPos(a.Pos(b,n.startCh+1)),to:f}});a.registerHelper("fold","include",function(p,k){function e(b){if(bp.lastLine())return null;var f=p.getTokenAt(a.Pos(b,1));return/\S/.test(f.string)||(f=p.getTokenAt(a.Pos(b,f.end+1))),"meta"==f.type&&"#include"==f.string.slice(0,8)?f.start+8:void 0}
-var f=k.line,b=e(f);if(null==b||null!=e(f-1))return null;for(var n=f;null!=e(n+1);)++n;return{from:a.Pos(f,b+1),to:p.clipPos(a.Pos(n))}})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/comment-fold.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.registerGlobalHelper("fold","comment",function(a){return a.blockCommentStart&&a.blockCommentEnd},function(r,p){var k=r.getModeAt(p),e=k.blockCommentStart,k=k.blockCommentEnd;if(e&&k){var f,b=p.line;f=r.getLine(b);for(var n=p.ch,g=0;;)if(n=0>=n?-1:f.lastIndexOf(e,n-1),-1!=
-n){if(1==g&&nl&&(l=d.length),0>h&&(h=d.length),(c=Math.min(l,h))==d.length)break;if(c==l)++g;else if(!--g){t=q;m=c;break a}++c}if(null!=t&&(b!=t||m!=f))return{from:a.Pos(b,
-f),to:a.Pos(t,m)}}})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/indent-fold.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function r(p,k){var e=p.getLine(k),f=e.search(/\S/);return-1==f||/\bcomment\b/.test(p.getTokenTypeAt(a.Pos(k,f+1)))?-1:a.countColumn(e,null,p.getOption("tabSize"))}a.registerHelper("fold","indent",function(p,k){var e=r(p,k.line);if(!(0>e)){for(var f=null,b=k.line+1,n=p.lastLine();b<=
-n;++b){var g=r(p,b);if(-1!=g){if(!(g>e))break;f=b}}return f?{from:a.Pos(k.line,p.getLine(k.line).length),to:a.Pos(f,p.getLine(f).length)}:void 0}})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/hint/show-hint.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function r(a,c){if(this.cm=a,this.options=c,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity){var l=this;a.on("cursorActivity",
-this.activityFunc=function(){l.cursorActivity()})}}function p(a,c){function l(a,d){var l;l="string"!=typeof d?function(a){return d(a,c)}:h.hasOwnProperty(d)?h[d]:d;f[a]=l}var h={Up:function(){c.moveFocus(-1)},Down:function(){c.moveFocus(1)},PageUp:function(){c.moveFocus(1-c.menuSize(),!0)},PageDown:function(){c.moveFocus(c.menuSize()-1,!0)},Home:function(){c.setFocus(0)},End:function(){c.setFocus(c.length-1)},Enter:c.pick,Tab:c.pick,Esc:c.close};/Mac/.test(navigator.platform)&&(h["Ctrl-P"]=function(){c.moveFocus(-1)},
-h["Ctrl-N"]=function(){c.moveFocus(1)});var b=a.options.customKeys,f=b?{}:h;if(b)for(var e in b)b.hasOwnProperty(e)&&l(e,b[e]);if(b=a.options.extraKeys)for(e in b)b.hasOwnProperty(e)&&l(e,b[e]);return f}function k(a,c){for(;c&&c!=a;){if("LI"===c.nodeName.toUpperCase()&&c.parentNode==a)return c;c=c.parentNode}}function e(d,c){this.id="cm-complete-"+Math.floor(Math.random(1E6));this.completion=d;this.data=c;this.picked=!1;var l=this,h=d.cm,b=h.getInputField().ownerDocument,f=b.defaultView||b.parentWindow,
-e=this.hints=b.createElement("ul");e.setAttribute("role","listbox");e.setAttribute("aria-expanded","true");e.id=this.id;e.className="CodeMirror-hints "+d.cm.options.theme;this.selectedHint=c.selectedHint||0;for(var q=c.list,m=0;me.clientHeight+1;if(setTimeout(function(){J=
-h.getScrollInfo()}),0L&&(e.style.height=(K=L)+"px"),e.style.top=(E=m.top-K)+w+"px",G=!1):e.style.height=H-y.top-2+"px"}w=y.right-r;if(M&&(w+=h.display.nativeBarWidth),0r&&(e.style.width=r-5+"px",w-=y.right-y.left-r),e.style.left=(z=Math.max(m.left-w-t,0))+"px"),M)for(m=e.firstChild;m;m=m.nextSibling)m.style.paddingRight=h.display.nativeBarWidth+"px";if(h.addKeyMap(this.keyMap=p(d,{moveFocus:function(a,d){l.changeActive(l.selectedHint+
-a,d)},setFocus:function(a){l.changeActive(a)},menuSize:function(){return l.screenAmount()},length:q.length,close:function(){d.close()},pick:function(){l.pick()},data:c})),d.options.closeOnUnfocus){var N;h.on("blur",this.onBlur=function(){N=setTimeout(function(){d.close()},100)});h.on("focus",this.onFocus=function(){clearTimeout(N)})}h.on("scroll",this.onScroll=function(){var a=h.getScrollInfo(),c=h.getWrapperElement().getBoundingClientRect();J||(J=h.getScrollInfo());var l=E+J.top-a.top,g=l-(f.pageYOffset||
-(b.documentElement||b.body).scrollTop);if(G||(g+=e.offsetHeight),g<=c.top||g>=c.bottom)return d.close();e.style.top=l+"px";e.style.left=z+J.left-a.left+"px"});a.on(e,"dblclick",function(a){(a=k(e,a.target||a.srcElement))&&null!=a.hintId&&(l.changeActive(a.hintId),l.pick())});a.on(e,"click",function(a){(a=k(e,a.target||a.srcElement))&&null!=a.hintId&&(l.changeActive(a.hintId),d.options.completeOnSingleClick&&l.pick())});a.on(e,"mousedown",function(){setTimeout(function(){h.focus()},20)});m=this.getSelectedHintRange();
-return 0===m.from&&0===m.to||this.scrollToActive(),a.signal(c,"select",q[this.selectedHint],e.childNodes[this.selectedHint]),!0}function f(a,c){if(!a.somethingSelected())return c;for(var b=[],h=0;h=this.data.list.length?d=c?this.data.list.length-1:0:0>d&&(d=c?0:this.data.list.length-1),this.selectedHint!=d){var b=this.hints.childNodes[this.selectedHint];b&&(b.className=b.className.replace(" "+g,""),b.removeAttribute("aria-selected"));b=this.hints.childNodes[this.selectedHint=d];b.className+=" "+g;b.setAttribute("aria-selected","true");this.completion.cm.getInputField().setAttribute("aria-activedescendant",b.id);this.scrollToActive();a.signal(this.data,
-"select",this.data.list[this.selectedHint],b)}},scrollToActive:function(){var a=this.getSelectedHintRange(),c=this.hints.childNodes[a.from],a=this.hints.childNodes[a.to],b=this.hints.firstChild;c.offsetTopthis.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=a.offsetTop+a.offsetHeight-this.hints.clientHeight+b.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||
-1},getSelectedHintRange:function(){var a=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-a),to:Math.min(this.data.list.length-1,this.selectedHint+a)}}};a.registerHelper("hint","auto",{resolve:function(d,c){var e,h=d.getHelpers(c,"hint");if(h.length){var g=function(a,c,d){function e(h){if(h==l.length)return c(null);b(l[h],a,d,function(a){a&&0,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};a.defineOption("hintOptions",null)});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/hint/javascript-hint.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function r(a,b){for(var c=0,e=a.length;ch.ch&&
-(g.end=h.ch,g.string=g.string.slice(0,h.ch-g.start)):g={start:h.ch,end:h.ch,string:"",state:g.state,type:"."==g.string?"property":null};for(m=g;"property"==m.type;){if(m=c(b,f(h.line,m.start)),"."!=m.string)return;if(m=c(b,f(h.line,m.start)),!k)var k=[];k.push(m)}return{list:e(g,k,d,l),from:f(h.line,g.start),to:f(h.line,g.end)}}}}function k(a,b){var c=a.getTokenAt(b);return b.ch==c.start+1&&"."==c.string.charAt(0)?(c.end=c.start,c.string=".",c.type="property"):/^\.[\w$_]*$/.test(c.string)&&(c.type=
-"property",c.start++,c.string=c.string.replace(/\./,"")),c}function e(a,d,c,e){function h(a){var c;if(!(c=0!=a.lastIndexOf(k,0)))a:if(Array.prototype.indexOf)c=-1!=m.indexOf(a);else{for(c=m.length;c--;)if(m[c]===a){c=!0;break a}c=!1}c||m.push(a)}function f(a){"string"==typeof a?r(b,h):a instanceof Array?r(n,h):a instanceof Function&&r(g,h);if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(;a;a=Object.getPrototypeOf(a))Object.getOwnPropertyNames(a).forEach(h);else for(var c in a)h(c)}var m=
-[],k=a.string,p=e&&e.globalScope||window;if(d&&d.length){var t;a=d.pop();for(a.type&&0===a.type.indexOf("variable")?(e&&e.additionalContext&&(t=e.additionalContext[a.string]),e&&!1===e.useGlobalScope||(t=t||p[a.string])):"string"==a.type?t="":"atom"==a.type?t=1:"function"==a.type&&(null==p.jQuery||"$"!=a.string&&"jQuery"!=a.string||"function"!=typeof p.jQuery?null!=p._&&"_"==a.string&&"function"==typeof p._&&(t=p._()):t=p.jQuery());null!=t&&d.length;)t=t[d.pop().string];null!=t&&f(t)}else{for(d=a.state.localVars;d;d=
-d.next)h(d.name);for(t=a.state.context;t;t=t.prev)for(d=t.vars;d;d=d.next)h(d.name);for(d=a.state.globalVars;d;d=d.next)h(d.name);if(e&&null!=e.additionalContext)for(var D in e.additionalContext)h(D);e&&!1===e.useGlobalScope||f(p);r(c,h)}return m}var f=a.Pos;a.registerHelper("hint","javascript",function(a,b){return p(a,t,function(a,b){return a.getTokenAt(b)},b)});a.registerHelper("hint","coffeescript",function(a,b){return p(a,m,k,b)});var b="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),
-n="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),g=["prototype","apply","call","bind"],t="break case catch class const continue debugger default delete do else export extends false finally for function if in import instanceof new null return super switch this throw true try typeof var void while with yield".split(" "),m="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ")});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("mode/css/css",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function r(a){for(var c={},b=0;b*\/]/.test(c)?(q="select-op",null):"."==c&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?(q="qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(c)?
-(q=c,null):a.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(a.current())&&(b.tokenize=e),q="variable","variable callee"):/[\w\\\-]/.test(c)?(a.eatWhile(/[\w\\\-]/),q="word","property"):(q=null,null):/[\d.]/.test(a.peek())?(a.eatWhile(/[\w.%]/),q="unit","number"):a.match(/^-[\w\\\-]*/)?(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?(q="variable-definition","variable-2"):(q="variable","variable-2")):a.match(/^\w+-/)?(q="meta","meta"):void 0;return c}function h(a){return function(c,b){for(var d,
-h=!1;null!=(d=c.next());){if(d==a&&!h){")"==a&&c.backUp(1);break}h=!h&&"\\"==d}return(d==a||!h&&")"!=a)&&(b.tokenize=null),q="string","string"}}function e(a,c){return a.next(),a.match(/^\s*[\"\')]/,!1)?c.tokenize=null:c.tokenize=h(")"),q="(",null}function f(a,c,b){this.type=a;this.indent=c;this.prev=b}function l(a,c,b,d){return a.context=new f(b,c.indentation()+(!1===d?0:t),a.context),b}function g(a){return a.context.prev&&(a.context=a.context.prev),a.context.type}function m(a,c,b,d){for(d=d||1;0<
-d;d--)b.context=b.context.prev;return A[b.context.type](a,c,b)}function k(a){a=a.current().toLowerCase();n=O.hasOwnProperty(a)?"atom":P.hasOwnProperty(a)?"keyword":"variable"}var p=b.inline;b.propertyKeywords||(b=a.resolveMode("text/css"));var q,n,t=c.indentUnit,u=b.tokenHooks,r=b.documentTypes||{},v=b.mediaTypes||{},x=b.mediaFeatures||{},B=b.mediaValueKeywords||{},F=b.propertyKeywords||{},Q=b.nonStandardPropertyKeywords||{},S=b.fontProperties||{},T=b.counterDescriptors||{},P=b.colorKeywords||{},
-O=b.valueKeywords||{},I=b.allowNested,U=b.lineComment,V=!0===b.supportsAtComponent,R=!1!==c.highlightNonStandardPropertyKeywords,A={};return A.top=function(a,c,b){if("{"==a)return l(b,c,"block");if("}"==a&&b.context.prev)return g(b);if(V&&/@component/i.test(a))return l(b,c,"atComponentBlock");if(/^@(-moz-)?document$/i.test(a))return l(b,c,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(a))return l(b,c,"atBlock");if(/^@(font-face|counter-style)/i.test(a))return b.stateArg=a,
-"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(a))return"keyframes";if(a&&"@"==a.charAt(0))return l(b,c,"at");if("hash"==a)n="builtin";else if("word"==a)n="tag";else{if("variable-definition"==a)return"maybeprop";if("interpolation"==a)return l(b,c,"interpolation");if(":"==a)return"pseudo";if(I&&"("==a)return l(b,c,"parens")}return b.context.type},A.block=function(a,c,b){return"word"==a?(a=c.current().toLowerCase(),F.hasOwnProperty(a)?(n="property","maybeprop"):Q.hasOwnProperty(a)?
-(n=R?"string-2":"property","maybeprop"):I?(n=c.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(n+=" error","maybeprop")):"meta"==a?"block":I||"hash"!=a&&"qualifier"!=a?A.top(a,c,b):(n="error","block")},A.maybeprop=function(a,c,b){return":"==a?l(b,c,"prop"):A[b.context.type](a,c,b)},A.prop=function(a,c,b){if(";"==a)return g(b);if("{"==a&&I)return l(b,c,"propBlock");if("}"==a||"{"==a)return m(a,c,b);if("("==a)return l(b,c,"parens");if("hash"!=a||/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(c.current()))if("word"==
-a)k(c);else{if("interpolation"==a)return l(b,c,"interpolation")}else n+=" error";return"prop"},A.propBlock=function(a,c,b){return"}"==a?g(b):"word"==a?(n="property","maybeprop"):b.context.type},A.parens=function(a,c,b){return"{"==a||"}"==a?m(a,c,b):")"==a?g(b):"("==a?l(b,c,"parens"):"interpolation"==a?l(b,c,"interpolation"):("word"==a&&k(c),"parens")},A.pseudo=function(a,c,b){return"meta"==a?"pseudo":"word"==a?(n="variable-3",b.context.type):A[b.context.type](a,c,b)},A.documentTypes=function(a,c,
-b){return"word"==a&&r.hasOwnProperty(c.current())?(n="tag",b.context.type):A.atBlock(a,c,b)},A.atBlock=function(a,c,b){if("("==a)return l(b,c,"atBlock_parens");if("}"==a||";"==a)return m(a,c,b);if("{"==a)return g(b)&&l(b,c,I?"block":"top");if("interpolation"==a)return l(b,c,"interpolation");"word"==a&&(a=c.current().toLowerCase(),n="only"==a||"not"==a||"and"==a||"or"==a?"keyword":v.hasOwnProperty(a)?"attribute":x.hasOwnProperty(a)?"property":B.hasOwnProperty(a)?"keyword":F.hasOwnProperty(a)?"property":
-Q.hasOwnProperty(a)?R?"string-2":"property":O.hasOwnProperty(a)?"atom":P.hasOwnProperty(a)?"keyword":"error");return b.context.type},A.atComponentBlock=function(a,b,c){return"}"==a?m(a,b,c):"{"==a?g(c)&&l(c,b,I?"block":"top",!1):("word"==a&&(n="error"),c.context.type)},A.atBlock_parens=function(a,c,b){return")"==a?g(b):"{"==a||"}"==a?m(a,c,b,2):A.atBlock(a,c,b)},A.restricted_atBlock_before=function(a,c,b){return"{"==a?l(b,c,"restricted_atBlock"):"word"==a&&"@counter-style"==b.stateArg?(n="variable",
-"restricted_atBlock_before"):A[b.context.type](a,c,b)},A.restricted_atBlock=function(a,b,c){return"}"==a?(c.stateArg=null,g(c)):"word"==a?(n="@font-face"==c.stateArg&&!S.hasOwnProperty(b.current().toLowerCase())||"@counter-style"==c.stateArg&&!T.hasOwnProperty(b.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},A.keyframes=function(a,c,b){return"word"==a?(n="variable","keyframes"):"{"==a?l(b,c,"top"):A[b.context.type](a,c,b)},A.at=function(a,b,c){return";"==a?g(c):"{"==
-a||"}"==a?m(a,b,c):("word"==a?n="tag":"hash"==a&&(n="builtin"),"at")},A.interpolation=function(a,c,b){return"}"==a?g(b):"{"==a||";"==a?m(a,c,b):("word"==a?n="variable":"variable"!=a&&"("!=a&&")"!=a&&(n="error"),"interpolation")},{startState:function(a){return{tokenize:null,state:p?"block":"top",stateArg:null,context:new f(p?"block":"top",a||0,null)}},token:function(a,b){if(!b.tokenize&&a.eatSpace())return null;var c=(b.tokenize||d)(a,b);return c&&"object"==typeof c&&(q=c[1],c=c[0]),n=c,"comment"!=
-q&&(b.state=A[b.state](q,a,b)),n},indent:function(a,b){var c=a.context,d=b&&b.charAt(0),h=c.indent;return"prop"!=c.type||"}"!=d&&")"!=d||(c=c.prev),c.prev&&("}"!=d||"block"!=c.type&&"top"!=c.type&&"interpolation"!=c.type&&"restricted_atBlock"!=c.type?(")"!=d||"parens"!=c.type&&"atBlock_parens"!=c.type)&&("{"!=d||"at"!=c.type&&"atBlock"!=c.type)||(h=Math.max(0,c.indent-t)):(c=c.prev,h=c.indent)),h},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:U,
-fold:"brace"}});var k=["domain","regexp","url","url-prefix"],e=r(k),f="all aural braille handheld print projection screen tty tv embossed".split(" "),b=r(f),n="width min-width max-width height min-height max-height device-width min-device-width max-device-width device-height min-device-height max-device-height aspect-ratio min-aspect-ratio max-aspect-ratio device-aspect-ratio min-device-aspect-ratio max-device-aspect-ratio color min-color max-color color-index min-color-index max-color-index monochrome min-monochrome max-monochrome resolution min-resolution max-resolution scan grid orientation device-pixel-ratio min-device-pixel-ratio max-device-pixel-ratio pointer any-pointer hover any-hover prefers-color-scheme dynamic-range video-dynamic-range".split(" "),
-g=r(n),t="landscape portrait none coarse fine on-demand hover interlace progressive dark light standard high".split(" "),m=r(t),q="align-content align-items align-self alignment-adjust alignment-baseline all anchor-point animation animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-timing-function appearance azimuth backdrop-filter backface-visibility background background-attachment background-blend-mode background-clip background-color background-image background-origin background-position background-position-x background-position-y background-repeat background-size baseline-shift binding bleed block-size bookmark-label bookmark-level bookmark-state bookmark-target border border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-shadow box-sizing break-after break-before break-inside caption-side caret-color clear clip color color-profile column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width columns contain content counter-increment counter-reset crop cue cue-after cue-before cursor direction display dominant-baseline drop-initial-after-adjust drop-initial-after-align drop-initial-before-adjust drop-initial-before-align drop-initial-size drop-initial-value elevation empty-cells fit fit-content fit-position flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float float-offset flow-from flow-into font font-family font-feature-settings font-kerning font-language-override font-optical-sizing font-size font-size-adjust font-stretch font-style font-synthesis font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-variation-settings font-weight gap grid grid-area grid-auto-columns grid-auto-flow grid-auto-rows grid-column grid-column-end grid-column-gap grid-column-start grid-gap grid-row grid-row-end grid-row-gap grid-row-start grid-template grid-template-areas grid-template-columns grid-template-rows hanging-punctuation height hyphens icon image-orientation image-rendering image-resolution inline-box-align inset inset-block inset-block-end inset-block-start inset-inline inset-inline-end inset-inline-start isolation justify-content justify-items justify-self left letter-spacing line-break line-height line-height-step line-stacking line-stacking-ruby line-stacking-shift line-stacking-strategy list-style list-style-image list-style-position list-style-type margin margin-bottom margin-left margin-right margin-top marks marquee-direction marquee-loop marquee-play-count marquee-speed marquee-style mask-clip mask-composite mask-image mask-mode mask-origin mask-position mask-repeat mask-size mask-type max-block-size max-height max-inline-size max-width min-block-size min-height min-inline-size min-width mix-blend-mode move-to nav-down nav-index nav-left nav-right nav-up object-fit object-position offset offset-anchor offset-distance offset-path offset-position offset-rotate opacity order orphans outline outline-color outline-offset outline-style outline-width overflow overflow-style overflow-wrap overflow-x overflow-y padding padding-bottom padding-left padding-right padding-top page page-break-after page-break-before page-break-inside page-policy pause pause-after pause-before perspective perspective-origin pitch pitch-range place-content place-items place-self play-during position presentation-level punctuation-trim quotes region-break-after region-break-before region-break-inside region-fragment rendering-intent resize rest rest-after rest-before richness right rotate rotation rotation-point row-gap ruby-align ruby-overhang ruby-position ruby-span scale scroll-behavior scroll-margin scroll-margin-block scroll-margin-block-end scroll-margin-block-start scroll-margin-bottom scroll-margin-inline scroll-margin-inline-end scroll-margin-inline-start scroll-margin-left scroll-margin-right scroll-margin-top scroll-padding scroll-padding-block scroll-padding-block-end scroll-padding-block-start scroll-padding-bottom scroll-padding-inline scroll-padding-inline-end scroll-padding-inline-start scroll-padding-left scroll-padding-right scroll-padding-top scroll-snap-align scroll-snap-type shape-image-threshold shape-inside shape-margin shape-outside size speak speak-as speak-header speak-numeral speak-punctuation speech-rate stress string-set tab-size table-layout target target-name target-new target-position text-align text-align-last text-combine-upright text-decoration text-decoration-color text-decoration-line text-decoration-skip text-decoration-skip-ink text-decoration-style text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-height text-indent text-justify text-orientation text-outline text-overflow text-rendering text-shadow text-size-adjust text-space-collapse text-transform text-underline-position text-wrap top touch-action transform transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function translate unicode-bidi user-select vertical-align visibility voice-balance voice-duration voice-family voice-pitch voice-range voice-rate voice-stress voice-volume volume white-space widows width will-change word-break word-spacing word-wrap writing-mode z-index clip-path clip-rule mask enable-background filter flood-color flood-opacity lighting-color stop-color stop-opacity pointer-events color-interpolation color-interpolation-filters color-rendering fill fill-opacity fill-rule image-rendering marker marker-end marker-mid marker-start paint-order shape-rendering stroke stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-rendering baseline-shift dominant-baseline glyph-orientation-horizontal glyph-orientation-vertical text-anchor writing-mode".split(" "),
-d=r(q),c="accent-color aspect-ratio border-block border-block-color border-block-end border-block-end-color border-block-end-style border-block-end-width border-block-start border-block-start-color border-block-start-style border-block-start-width border-block-style border-block-width border-inline border-inline-color border-inline-end border-inline-end-color border-inline-end-style border-inline-end-width border-inline-start border-inline-start-color border-inline-start-style border-inline-start-width border-inline-style border-inline-width content-visibility margin-block margin-block-end margin-block-start margin-inline margin-inline-end margin-inline-start overflow-anchor overscroll-behavior padding-block padding-block-end padding-block-start padding-inline padding-inline-end padding-inline-start scroll-snap-stop scrollbar-3d-light-color scrollbar-arrow-color scrollbar-base-color scrollbar-dark-shadow-color scrollbar-face-color scrollbar-highlight-color scrollbar-shadow-color scrollbar-track-color searchfield-cancel-button searchfield-decoration searchfield-results-button searchfield-results-decoration shape-inside zoom".split(" "),
-l=r(c),h=r("font-display font-family src unicode-range font-variant font-feature-settings font-stretch font-weight font-style".split(" ")),u=r("additive-symbols fallback negative pad prefix range speak-as suffix symbols system".split(" ")),x="aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray grey green greenyellow honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen".split(" "),
-v=r(x),F="above absolute activeborder additive activecaption afar after-white-space ahead alias all all-scroll alphabetic alternate always amharic amharic-abegede antialiased appworkspace arabic-indic armenian asterisks attr auto auto-flow avoid avoid-column avoid-page avoid-region axis-pan background backwards baseline below bidi-override binary bengali blink block block-axis blur bold bolder border border-box both bottom break break-all break-word brightness bullets button buttonface buttonhighlight buttonshadow buttontext calc cambodian capitalize caps-lock-indicator caption captiontext caret cell center checkbox circle cjk-decimal cjk-earthly-branch cjk-heavenly-stem cjk-ideographic clear clip close-quote col-resize collapse color color-burn color-dodge column column-reverse compact condensed conic-gradient contain content contents content-box context-menu continuous contrast copy counter counters cover crop cross crosshair cubic-bezier currentcolor cursive cyclic darken dashed decimal decimal-leading-zero default default-button dense destination-atop destination-in destination-out destination-over devanagari difference disc discard disclosure-closed disclosure-open document dot-dash dot-dot-dash dotted double down drop-shadow e-resize ease ease-in ease-in-out ease-out element ellipse ellipsis embed end ethiopic ethiopic-abegede ethiopic-abegede-am-et ethiopic-abegede-gez ethiopic-abegede-ti-er ethiopic-abegede-ti-et ethiopic-halehame-aa-er ethiopic-halehame-aa-et ethiopic-halehame-am-et ethiopic-halehame-gez ethiopic-halehame-om-et ethiopic-halehame-sid-et ethiopic-halehame-so-et ethiopic-halehame-ti-er ethiopic-halehame-ti-et ethiopic-halehame-tig ethiopic-numeric ew-resize exclusion expanded extends extra-condensed extra-expanded fantasy fast fill fill-box fixed flat flex flex-end flex-start footnotes forwards from geometricPrecision georgian grayscale graytext grid groove gujarati gurmukhi hand hangul hangul-consonant hard-light hebrew help hidden hide higher highlight highlighttext hiragana hiragana-iroha horizontal hsl hsla hue hue-rotate icon ignore inactiveborder inactivecaption inactivecaptiontext infinite infobackground infotext inherit initial inline inline-axis inline-block inline-flex inline-grid inline-table inset inside intrinsic invert italic japanese-formal japanese-informal justify kannada katakana katakana-iroha keep-all khmer korean-hangul-formal korean-hanja-formal korean-hanja-informal landscape lao large larger left level lighter lighten line-through linear linear-gradient lines list-item listbox listitem local logical loud lower lower-alpha lower-armenian lower-greek lower-hexadecimal lower-latin lower-norwegian lower-roman lowercase ltr luminosity malayalam manipulation match matrix matrix3d media-play-button media-slider media-sliderthumb media-volume-slider media-volume-sliderthumb medium menu menulist menulist-button menutext message-box middle min-intrinsic mix mongolian monospace move multiple multiple_mask_images multiply myanmar n-resize narrower ne-resize nesw-resize no-close-quote no-drop no-open-quote no-repeat none normal not-allowed nowrap ns-resize numbers numeric nw-resize nwse-resize oblique octal opacity open-quote optimizeLegibility optimizeSpeed oriya oromo outset outside outside-shape overlay overline padding padding-box painted page paused persian perspective pinch-zoom plus-darker plus-lighter pointer polygon portrait pre pre-line pre-wrap preserve-3d progress push-button radial-gradient radio read-only read-write read-write-plaintext-only rectangle region relative repeat repeating-linear-gradient repeating-radial-gradient repeating-conic-gradient repeat-x repeat-y reset reverse rgb rgba ridge right rotate rotate3d rotateX rotateY rotateZ round row row-resize row-reverse rtl run-in running s-resize sans-serif saturate saturation scale scale3d scaleX scaleY scaleZ screen scroll scrollbar scroll-position se-resize searchfield searchfield-cancel-button searchfield-decoration searchfield-results-button searchfield-results-decoration self-start self-end semi-condensed semi-expanded separate sepia serif show sidama simp-chinese-formal simp-chinese-informal single skew skewX skewY skip-white-space slide slider-horizontal slider-vertical sliderthumb-horizontal sliderthumb-vertical slow small small-caps small-caption smaller soft-light solid somali source-atop source-in source-out source-over space space-around space-between space-evenly spell-out square square-button start static status-bar stretch stroke stroke-box sub subpixel-antialiased svg_masks super sw-resize symbolic symbols system-ui table table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group tamil telugu text text-bottom text-top textarea textfield thai thick thin threeddarkshadow threedface threedhighlight threedlightshadow threedshadow tibetan tigre tigrinya-er tigrinya-er-abegede tigrinya-et tigrinya-et-abegede to top trad-chinese-formal trad-chinese-informal transform translate translate3d translateX translateY translateZ transparent ultra-condensed ultra-expanded underline unidirectional-pan unset up upper-alpha upper-armenian upper-greek upper-hexadecimal upper-latin upper-norwegian upper-roman uppercase urdu url var vertical vertical-text view-box visible visibleFill visiblePainted visibleStroke visual w-resize wait wave wider window windowframe windowtext words wrap wrap-reverse x-large x-small xor xx-large xx-small".split(" "),
-B=r(F),k=k.concat(f).concat(n).concat(t).concat(q).concat(c).concat(x).concat(F);a.registerHelper("hintWords","css",k);a.defineMIME("text/css",{documentTypes:e,mediaTypes:b,mediaFeatures:g,mediaValueKeywords:m,propertyKeywords:d,nonStandardPropertyKeywords:l,fontProperties:h,counterDescriptors:u,colorKeywords:v,valueKeywords:B,tokenHooks:{"/":function(a,c){return!!a.eat("*")&&(c.tokenize=p,p(a,c))}},name:"css"});a.defineMIME("text/x-scss",{mediaTypes:b,mediaFeatures:g,mediaValueKeywords:m,propertyKeywords:d,
-nonStandardPropertyKeywords:l,colorKeywords:v,valueKeywords:B,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(a,c){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(c.tokenize=p,p(a,c)):["operator","operator"]},":":function(a){return!!a.match(/^\s*\{/,!1)&&[null,null]},$:function(a){return a.match(/^[\w-]+/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(a){return!!a.eat("{")&&[null,"interpolation"]}},name:"css",
-helperType:"scss"});a.defineMIME("text/x-less",{mediaTypes:b,mediaFeatures:g,mediaValueKeywords:m,propertyKeywords:d,nonStandardPropertyKeywords:l,colorKeywords:v,valueKeywords:B,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(a,c){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(c.tokenize=p,p(a,c)):["operator","operator"]},"@":function(a){return a.eat("{")?[null,"interpolation"]:!a.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,
-!1)&&(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"\x26":function(){return["atom","atom"]}},name:"css",helperType:"less"});a.defineMIME("text/x-gss",{documentTypes:e,mediaTypes:b,mediaFeatures:g,propertyKeywords:d,nonStandardPropertyKeywords:l,fontProperties:h,counterDescriptors:u,colorKeywords:v,valueKeywords:B,supportsAtComponent:!0,tokenHooks:{"/":function(a,c){return!!a.eat("*")&&(c.tokenize=p,p(a,c))}},name:"css",helperType:"gss"})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../mode/css/css")):"function"==typeof define&&define.amd?define("addon/hint/css-hint.js",["../../lib/codemirror","../../mode/css/css"],a):a(CodeMirror)})(function(a){var r={active:1,after:1,before:1,checked:1,"default":1,disabled:1,empty:1,enabled:1,"first-child":1,"first-letter":1,"first-line":1,"first-of-type":1,focus:1,hover:1,"in-range":1,indeterminate:1,invalid:1,lang:1,"last-child":1,
-"last-of-type":1,link:1,not:1,"nth-child":1,"nth-last-child":1,"nth-last-of-type":1,"nth-of-type":1,"only-of-type":1,"only-child":1,optional:1,"out-of-range":1,placeholder:1,"read-only":1,"read-write":1,required:1,root:1,selection:1,target:1,valid:1,visited:1};a.registerHelper("hint","css",function(p){function k(a){for(var b in a)g&&0!=b.lastIndexOf(g,0)||m.push(b)}var e=p.getCursor(),f=p.getTokenAt(e),b=a.innerMode(p.getMode(),f.state);if("css"==b.mode.name){if("keyword"==f.type&&0=="!important".indexOf(f.string))return{list:["!important"],
-from:a.Pos(e.line,f.start),to:a.Pos(e.line,f.end)};p=f.start;var n=e.ch,g=f.string.slice(0,n-p);/[^\w$_-]/.test(g)&&(g="",p=n=e.ch);var t=a.resolveMode("text/css"),m=[],b=b.state.state;return"pseudo"==b||"variable-3"==f.type?k(r):"block"==b||"maybeprop"==b?k(t.propertyKeywords):"prop"==b||"parens"==b||"at"==b||"params"==b?(k(t.valueKeywords),k(t.colorKeywords)):"media"!=b&&"media_parens"!=b||(k(t.mediaTypes),k(t.mediaFeatures)),m.length?{list:m,from:a.Pos(e.line,p),to:a.Pos(e.line,n)}:void 0}})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/hint/xml-hint",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function r(a,e,f){return f?0<=a.indexOf(e):0==a.lastIndexOf(e,0)}var p=a.Pos;a.registerHelper("hint","xml",function(k,e){function f(){return{list:l,from:h?p(t.line,null==c?m.start:c):t,to:h?p(t.line,m.end):t}}var b=e&&e.schemaInfo,n=e&&e.quoteChar||'"',g=e&&e.matchInMiddle;if(b){var t=
-k.getCursor(),m=k.getTokenAt(t);m.end>t.ch&&(m.end=t.ch,m.string=m.string.slice(0,t.ch-m.start));var q=a.innerMode(k.getMode(),m.state);if(q.mode.xmlCurrentTag){var d,c,l=[],h=!1,u=/\btag\b/.test(m.type)&&!/>$/.test(m.string),x=u&&/^\w/.test(m.string);if(x){var v=k.getLine(t.line).slice(Math.max(0,m.start-2),m.start);(v=/<\/$/.test(v)?"close":/<$/.test(v)?"open":null)&&(c=m.start-("close"==v?2:1))}else u&&"\x3c"==m.string?v="open":u&&"\x3c/"==m.string&&(v="close");var F=q.mode.xmlCurrentTag(q.state);
-if(!u&&!F||v){x&&(d=m.string);var h=v,B=q.mode.xmlCurrentContext?q.mode.xmlCurrentContext(q.state):[],u=(q=B.length&&B[B.length-1])&&b[q];if((B=q?u&&u.children:b["!top"])&&"close"!=v)for(b=0;b\"\']+)=$/);if(!b||!q.hasOwnProperty(b[1])||!(B=q[b[1]]))return;if("function"==typeof B&&(B=B.call(this,k)),"string"==m.type){d=m.string;b=0;/['"]/.test(m.string.charAt(0))&&(n=m.string.charAt(0),d=m.string.slice(1),b++);C=m.string.length;if(/['"]/.test(m.string.charAt(C-1))&&(n=m.string.charAt(C-
-1),d=m.string.substr(b,C-2)),b)b=k.getLine(t.line),b.length>m.end&&b.charAt(m.end)==n&&m.end++;h=!0}b=function(a){if(a)for(var c=0;ck&&(b+=e(a.substring(k,f[n].start)),k=f[n].start),f[n].start<=k&&f[n].end>=k&&(b+=a.substring(k,f[n].end),k=f[n].end);k)/i),n=null!=b?b[1].toLowerCase():"",-1=="|label|li|option|textarea|title|a|b|bdi|bdo|big|center|cite|del|em|font|i|img|ins|s|small|span|strike|strong|sub|sup|u|".indexOf("|"+
-n+"|"))?(this.noBreak=!1,!0):(f=this.noBreak,this.noBreak=!1,!f)}return 0==e.indexOf("\x3c")&&(this.noBreak=!1,this.isXML&&""!=this.tagName?(this.tagName="",!1):(b=e.match(/^<\/?\s*?([\w]+?)(\s|>)/i),n=null!=b?b[1].toLowerCase():"",-1=="|label|li|option|textarea|title|a|b|bdi|bdo|big|center|cite|del|em|font|i|img|ins|s|small|span|strike|strong|sub|sup|u|".indexOf("|"+n+"|")))}});a.defineExtension("commentRange",function(p,k,e){var f=this,b=a.innerMode(f.getMode(),f.getTokenAt(k).state).mode;f.operation(function(){if(p)f.replaceRange(b.commentEnd,
-e),f.replaceRange(b.commentStart,k),f.setSelection(k,{line:e.line,ch:e.ch+b.commentStart.length+b.commentEnd.length}),k.line==e.line&&k.ch==e.ch&&f.setCursor(k.line,k.ch+b.commentStart.length);else{var a=f.getRange(k,e),g=a.indexOf(b.commentStart),t=a.lastIndexOf(b.commentEnd);-1g&&(a=a.substr(0,g)+a.substring(g+b.commentStart.length,t)+a.substr(t+b.commentEnd.length));f.replaceRange(a,k,e);f.setSelection(k,{line:e.line,ch:e.ch-b.commentStart.length-b.commentEnd.length})}})});a.defineExtension("autoIndentRange",
-function(a,k){var e=this;this.operation(function(){for(var f=a.line;f<=k.line;f++)e.indentLine(f,"smart")})});a.defineExtension("autoFormatRange",function(p,k){for(var e=this,f=e.getMode(),b=e.getRange(p,k).split("\n"),n=a.copyState(f,e.getTokenAt(p).state),g=e.getOption("tabSize"),t="",m=0,q=0==p.ch,d=0;dm);k++){var q=a.getLine(g++);e=null==e?q:e+"\n"+q}f*=2;b.lastIndex=d.ch;if(k=b.exec(e))return b=e.slice(0,k.index).split("\n"),a=k[0].split("\n"),d=d.line+b.length-1,b=b[b.length-1].length,{from:c(d,b),to:c(d+a.length-1,1==a.length?
-b+a[0].length:a[a.length-1].length),match:k}}}function e(a,c,b){for(var d,e=0;e<=a.length;){c.lastIndex=e;e=c.exec(a);if(!e)break;var f=e.index+e[0].length;if(f>a.length-b)break;(!d||f>d.index+d[0].length)&&(d=e);e=e.index+1}return d}function f(a,b,d){b=r(b,"g");var f=d.line,g=d.ch;for(d=a.firstLine();f>=d;f--,g=-1){var m=a.getLine(f);if(g=e(m,b,0>g?0:m.length-g))return{from:c(f,g.index),to:c(f,g.index+g[0].length),match:g}}}function b(a,b,d){if(!/\\s|\\n|\n|\\W|\\D|\[\^/.test(b.source))return f(a,
-b,d);b=r(b,"gm");var g,m=1,k=a.getLine(d.line).length-d.ch;d=d.line;for(var q=a.firstLine();d>=q;){for(var n=0;n=q;n++){var p=a.getLine(d--);g=null==g?p:p+"\n"+g}m*=2;if(n=e(g,b,k))return b=g.slice(0,n.index).split("\n"),a=n[0].split("\n"),d+=b.length,b=b[b.length-1].length,{from:c(d,b),to:c(d+a.length-1,1==a.length?b+a[0].length:a[a.length-1].length),match:n}}}function n(a,b,c,d){if(a.length==b.length)return c;var e=0;for(b=c+Math.max(0,a.length-b.length);;){if(e==b)return e;var f=e+b>>1,g=
-d(a.slice(0,f)).length;if(g==c)return f;g>c?b=f:e=f+1}}function g(a,b,e,f){if(!b.length)return null;f=f?q:d;b=f(b).split(/\r|\n\r?/);var g=e.line;e=e.ch;var m=a.lastLine()+1-b.length;a:for(;g<=m;g++,e=0){var k=a.getLine(g).slice(e),p=f(k);if(1==b.length){var t=p.indexOf(b[0]);if(-1==t)continue a;n(k,p,t,f);return{from:c(g,n(k,p,t,f)+e),to:c(g,n(k,p,t+b[0].length,f)+e)}}t=p.length-b[0].length;if(p.slice(t)==b[0]){for(var r=1;r=k;g--,m=-1){var p=a.getLine(g);-1--d.ch&&(d.line--,d.ch=(this.doc.getLine(d.line)||"").length):++d.ch>(this.doc.getLine(d.line)||"").length&&(d.ch=0,d.line++),0!=a.cmpPos(d,this.doc.clipPos(d))))return this.atOccurrence=!1;d=this.matches(b,d);if(this.afterEmptyMatch=d&&0==a.cmpPos(d.from,d.to),d)return this.pos=d,this.atOccurrence=!0,this.pos.match||!0;b=c(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:b,to:b},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},
-to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,d){if(this.atOccurrence){var e=a.splitLines(b);this.doc.replaceRange(e,this.pos.from,this.pos.to,d);this.pos.to=c(this.pos.from.line+e.length-1,e[e.length-1].length+(1==e.length?this.pos.from.ch:0))}}};a.defineExtension("getSearchCursor",function(a,b,c){return new m(this.doc,a,b,c)});a.defineDocExtension("getSearchCursor",function(a,b,c){return new m(this,a,b,c)});a.defineExtension("selectMatches",function(b,c){for(var d=[],
-e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(0g?e.charCoords(a,"local")[b?"top":"bottom"]:e.heightAtLine(m,"local")+(b?0:m.height)}!1!==a&&this.computeScale();var e=this.cm;a=this.hScale;var f=document.createDocumentFragment(),b=this.annotations,n=e.getOption("lineWrapping"),g=n&&1.5*e.defaultTextHeight(),t=null,m=null,q=e.lastLine();if(e.display.barWidth)for(var d,c=0;cq)){for(var h=d||k(l.from,!0)*a,r=k(l.to,!1)*a;cq)&&!((d=k(b[c+1].from,!0)*
-a)>r+.9);)l=b[++c],r=k(l.to,!1)*a;if(r!=h){var r=Math.max(r-h,3),x=f.appendChild(document.createElement("div"));x.style.cssText="position: absolute; right: 0px; width: "+Math.max(e.display.barWidth-1,2)+"px; top: "+(h+this.buttonHeight)+"px; height: "+r+"px";x.className=this.options.className;l.id&&x.setAttribute("annotation-id",l.id)}}}this.div.textContent="";this.div.appendChild(f)};r.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler);this.cm.off("markerAdded",this.resizeHandler);
-this.cm.off("markerCleared",this.resizeHandler);this.changeHandler&&this.cm.off("changes",this.changeHandler);this.div.parentNode.removeChild(this.div)}});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define("addon/search/matchesonscrollbar",["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})(function(a){function r(a,e,f,b){this.cm=a;this.options=b;var n={listenForChanges:!1},g;for(g in b)n[g]=b[g];n.className||(n.className="CodeMirror-search-match");this.annotation=
-a.annotateScrollbar(n);this.query=e;this.caseFold=f;this.gap={from:a.firstLine(),to:a.lastLine()+1};this.matches=[];this.update=null;this.findMatches();this.annotation.update(this.matches);var p=this;a.on("change",this.changeHandler=function(a,b){p.onChange(b)})}function p(a,e,f){return a<=e?a:Math.max(e,a+f)}a.defineExtension("showMatchesOnScrollbar",function(a,e,f){return"string"==typeof f&&(f={className:f}),f||(f={}),new r(this,a,e,f)});r.prototype.findMatches=function(){if(this.gap){for(var k=
-0;k=this.gap.to)break;e.to.line>=this.gap.from&&this.matches.splice(k--,1)}for(var f=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),{caseFold:this.caseFold,multiline:this.options.multiline}),b=this.options&&this.options.maxMatches||1E3;f.findNext();){e={from:f.from(),to:f.to()};if(e.from.line>=this.gap.to)break;if(this.matches.splice(k++,0,e),this.matches.length>b)break}this.gap=null}};r.prototype.onChange=function(k){var e=
-k.from.line,f=a.changeEnd(k).line,b=f-k.to.line;if(this.gap?(this.gap.from=Math.min(p(this.gap.from,e,b),k.from.line),this.gap.to=Math.max(p(this.gap.to,e,b),k.from.line)):this.gap={from:k.from.line,to:f+1},b)for(k=0;k=e.options.minChars&&f(a,d,!1,e.options.style))})}function g(a,b,d){return{token:function(c){var e;if(e=c.match(a))(e=!b)||(e=!(c.start&&b.test(c.string.charAt(c.start-1))||c.pos!=c.string.length&&b.test(c.string.charAt(c.pos))));if(e)return d;c.next();c.skipTo(a.charAt(0))||c.skipToEnd()}}}var t={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,function(e,f,d){if(d&&d!=a.Init&&(b(e),clearTimeout(e.state.matchHighlighter.timeout),
-e.state.matchHighlighter=null,e.off("cursorActivity",p),e.off("focus",k)),f)f=e.state.matchHighlighter=new r(f),e.hasFocus()?(f.active=!0,n(e)):e.on("focus",k),e.on("cursorActivity",p)})});
-(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/mode/multiplex.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.multiplexingMode=function(r){function p(a,f,b,k){return"string"==typeof f?(b=a.indexOf(f,b),k&&-1e.start&&(f.startingInner=!1),g==e.pos&&b.parseDelimiters&&(f.innerActive=f.inner=null),b.innerStyle&&(t=t?t+" "+b.innerStyle:b.innerStyle),t}for(var t=1/0,n=e.string,m=0;m-1&&/\bcomment\b/.test(t.getTokenTypeAt({line:c.line,ch:f+1})));else if(c.ch>=p.length&&(f=u.lastIndexOf(p,c.ch-p.length))>-1&&f>g)if(n(0,u)>=f)h=u.slice(0,f);else{var v,b=t.options.tabSize;f=e.countColumn(u,f,b),h=t.options.indentWithTabs?o.call("\t",v=Math.floor(f/b))+o.call(" ",f-b*v):o.call(" ",f)}else(f=u.indexOf(i.blockCommentContinue))>-1&&f<=c.ch&&f<=n(0,u)&&(h=u.slice(0,f));null!=h&&(h+=i.blockCommentContinue)}if(null==h&&m&&r(t))if(null==u&&(u=t.getLine(c.line)),f=u.indexOf(m),c.ch||f){if(f>-1&&n(0,u)>=f){if(!(h=n(c.ch,u)>-1)){var y=t.getLine(c.line+1)||"",k=y.indexOf(m);h=k>-1&&n(0,y)>=k||null}h&&(h=u.slice(0,f)+m+u.slice(f+m.length).match(/^\s*/)[0])}}else h="";if(null==h)return e.Pass;l[s]="\n"+h}t.operation(function(){for(var e=a.length-1;e>=0;e--)t.replaceRange(l[e],a[e].from(),a[e].to(),"+insert")})}function n(e,t){i.lastIndex=e;var n=i.exec(t);return n?n.index:-1}function r(e){var t=e.getOption("continueComments");return!t||"object"!=typeof t||!1!==t.continueLineComment}var i=/\S/g,o=String.prototype.repeat||function(e){return Array(e+1).join(this)};e.defineOption("continueComments",null,function(n,r,i){if(i&&i!=e.Init&&n.removeKeyMap("continueComment"),r){var o="Enter";"string"==typeof r?o=r:"object"==typeof r&&r.key&&(o=r.key);var a={name:"continueComment"};a[o]=t,n.addKeyMap(a)}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/edit/closebrackets.js",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){function t(e,t){return"pairs"==t&&"string"==typeof e?e:"object"==typeof e&&null!=e[t]?e[t]:f[t]}function n(e){for(var t=0;t=0;l--){var c=a[l].head;n.replaceRange("",h(c.line,c.ch-1),h(c.line,c.ch+1),"+delete")}}function a(n){var r=i(n),o=r&&t(r,"explode");if(!o||n.getOption("disableInput"))return e.Pass;for(var a=n.listSelections(),s=0;s0?{line:a.head.line,ch:a.head.ch+t}:{line:a.head.line-1};n.push({anchor:l,head:l})}e.setSelections(n,i)}function s(t){var n=e.cmpPos(t.anchor,t.head)>0;return{anchor:new h(t.anchor.line,t.anchor.ch+(n?-1:1)),head:new h(t.head.line,t.head.ch+(n?1:-1))}}function c(n,r){var o=i(n);if(!o||n.getOption("disableInput"))return e.Pass;var a=t(o,"pairs"),c=a.indexOf(r);if(-1==c)return e.Pass;for(var d,f=t(o,"closeBefore"),p=t(o,"triples"),m=a.charAt(c+1)==r,g=n.listSelections(),v=c%2==0,b=0;b1&&p.indexOf(r)>=0&&n.getRange(h(x.line,x.ch-2),x)==r+r){if(x.ch>2&&/\bstring/.test(n.getTokenTypeAt(h(x.line,x.ch-2))))return e.Pass;y="addFour"}else if(m){var C=0==x.ch?" ":n.getRange(h(x.line,x.ch-1),x);if(e.isWordChar(w)||C==r||e.isWordChar(C))return e.Pass;y="both"}else{if(!v||!(0===w.length||/\s/.test(w)||f.indexOf(w)>-1))return e.Pass;y="both"}else y=m&&u(n,x)?"both":p.indexOf(r)>=0&&n.getRange(x,h(x.line,x.ch+3))==r+r+r?"skipThree":"skip";if(d){if(d!=y)return e.Pass}else d=y}var A=c%2?a.charAt(c-1):r,O=c%2?r:a.charAt(c+1);n.operation(function(){if("skip"==d)l(n,1);else if("skipThree"==d)l(n,3);else if("surround"==d){for(var e=n.getSelections(),t=0;t",triples:"",explode:"[]{}"},h=e.Pos;e.defineOption("autoCloseBrackets",!1,function(r,i,o){o&&o!=e.Init&&(r.removeKeyMap(p),r.state.closeBrackets=null),i&&(n(t(i,"pairs")),r.state.closeBrackets=i,r.addKeyMap(p))});var p={Backspace:o,Enter:a};n(f.pairs+"`")}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/xml-fold",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){return e.line-t.line||e.ch-t.ch}function n(e,t,n,r){this.line=t,this.ch=n,this.cm=e,this.text=e.getLine(t),this.min=r?Math.max(r.from,e.firstLine()):e.firstLine(),this.max=r?Math.min(r.to-1,e.lastLine()):e.lastLine()}function r(e,t){var n=e.cm.getTokenTypeAt(f(e.line,t));return n&&/\btag\b/.test(n)}function i(e){if(!(e.line>=e.max))return e.ch=0,e.text=e.cm.getLine(++e.line),!0}function o(e){if(!(e.line<=e.min))return e.text=e.cm.getLine(--e.line),e.ch=e.text.length,!0}function a(e){for(;;){var t=e.text.indexOf(">",e.ch);if(-1==t){if(i(e))continue;return}{if(r(e,t+1)){var n=e.text.lastIndexOf("/",t),o=n>-1&&!/\S/.test(e.text.slice(n+1,t));return e.ch=t+1,o?"selfClose":"regular"}e.ch=t+1}}}function l(e){for(;;){var t=e.ch?e.text.lastIndexOf("<",e.ch-1):-1;if(-1==t){if(o(e))continue;return}if(r(e,t+1)){p.lastIndex=t,e.ch=t;var n=p.exec(e.text);if(n&&n.index==t)return n}else e.ch=t}}function s(e){for(;;){p.lastIndex=e.ch;var t=p.exec(e.text);if(!t){if(i(e))continue;return}{if(r(e,t.index+1))return e.ch=t.index+t[0].length,t;e.ch=t.index+1}}}function c(e){for(;;){var t=e.ch?e.text.lastIndexOf(">",e.ch-1):-1;if(-1==t){if(o(e))continue;return}{if(r(e,t+1)){var n=e.text.lastIndexOf("/",t),i=n>-1&&!/\S/.test(e.text.slice(n+1,t));return e.ch=t+1,i?"selfClose":"regular"}e.ch=t}}}function d(e,t){for(var n=[];;){var r,i=s(e),o=e.line,l=e.ch-(i?i[0].length:0);if(!i||!(r=a(e)))return;if("selfClose"!=r)if(i[1]){for(var c=n.length-1;c>=0;--c)if(n[c]==i[2]){n.length=c;break}if(c<0&&(!t||t==i[2]))return{tag:i[2],from:f(o,l),to:f(e.line,e.ch)}}else n.push(i[2])}}function u(e,t){for(var n=[];;){var r=c(e);if(!r)return;if("selfClose"!=r){var i=e.line,o=e.ch,a=l(e);if(!a)return;if(a[1])n.push(a[2]);else{for(var s=n.length-1;s>=0;--s)if(n[s]==a[2]){n.length=s;break}if(s<0&&(!t||t==a[2]))return{tag:a[2],from:f(e.line,e.ch),to:f(i,o)}}}else l(e)}}var f=e.Pos,h="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",p=new RegExp("<(/?)(["+h+"][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*)","g");e.registerHelper("fold","xml",function(e,r){for(var i=new n(e,r.line,0);;){var o=s(i);if(!o||i.line!=r.line)return;var l=a(i);if(!l)return;if(!o[1]&&"selfClose"!=l){var c=f(i.line,i.ch),u=d(i,o[2]);return u&&t(u.from,c)>0?{from:c,to:u.from}:null}}}),e.findMatchingTag=function(e,r,i){var o=new n(e,r.line,r.ch,i);if(-1!=o.text.indexOf(">")||-1!=o.text.indexOf("<")){var s=a(o),c=s&&f(o.line,o.ch),h=s&&l(o);if(s&&h&&!(t(o,r)>0)){var p={from:f(o.line,o.ch),to:c,tag:h[2]};return"selfClose"==s?{open:p,close:null,at:"open"}:h[1]?{open:u(o,h[2]),close:p,at:"close"}:(o=new n(e,c.line,c.ch,i),{open:p,close:d(o,h[2]),at:"open"})}}},e.findEnclosingTag=function(e,t,r,i){for(var o=new n(e,t.line,t.ch,r);;){var a=u(o,i);if(!a)break;var l=new n(e,t.line,t.ch,r),s=d(l,a.tag);if(s)return{open:a,close:s}}},e.scanForClosingTag=function(e,t,r,i){return d(new n(e,t.line,t.ch,i?{from:0,to:i}:null),r)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define("addon/edit/closetag.js",["../../lib/codemirror","../fold/xml-fold"],e):e(CodeMirror)}(function(e){function t(t){if(t.getOption("disableInput"))return e.Pass;for(var n=t.listSelections(),r=[],s=t.getOption("autoCloseTags"),c=0;cd.ch&&(m=m.slice(0,m.length-u.end+d.ch));var y=m.toLowerCase();if(!m||"string"==u.type&&(u.end!=d.ch||!/[\"\']/.test(u.string.charAt(u.string.length-1))||1==u.string.length)||"tag"==u.type&&p.close||u.string.indexOf("/")==d.ch-u.start-1||v&&i(v,y)>-1||o(t,f.mode.xmlCurrentContext&&f.mode.xmlCurrentContext(h)||[],m,d,!0))return e.Pass;var k="object"==typeof s&&s.emptyTags;if(k&&i(k,m)>-1)r[c]={text:"/>",newPos:e.Pos(d.line,d.ch+2)};else{var x=b&&i(b,y)>-1;r[c]={indent:x,text:">"+(x?"\n\n":"")+""+m+">",newPos:x?e.Pos(d.line+1,0):e.Pos(d.line,d.ch+1)}}}for(var w="object"==typeof s&&s.dontIndentOnAutoClose,c=n.length-1;c>=0;c--){var C=r[c];t.replaceRange(C.text,n[c].head,n[c].anchor,"+insert");var A=t.listSelections().slice(0);A[c]={head:C.newPos,anchor:C.newPos},t.setSelections(A),!w&&C.indent&&(t.indentLine(C.newPos.line,null,!0),t.indentLine(C.newPos.line+1,null,!0))}}function n(t,n){for(var r=t.listSelections(),i=[],a=n?"/":"",l=t.getOption("autoCloseTags"),s="object"==typeof l&&l.dontIndentOnSlash,c=0;c"!=t.getLine(d.line).charAt(u.end)&&(p+=">"),i[c]=p}if(t.replaceSelections(i),r=t.listSelections(),!s)for(var c=0;c=0&&n[c]==r;c--)++s;i=l.to;for(var c=1;c'"]=function(e){return t(e)}),n.addKeyMap(a)}});var a=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],l=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];e.commands.closeTag=function(e){return n(e)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/edit/matchbrackets.js",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){function t(e){return e&&e.bracketRegex||/[(){}[\]]/}function n(e,n,i){var o=e.getLineHandle(n.line),a=n.ch-1,l=i&&i.afterCursor;null==l&&(l=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var d=t(i),u=!l&&a>=0&&d.test(o.text.charAt(a))&&c[o.text.charAt(a)]||d.test(o.text.charAt(a+1))&&c[o.text.charAt(++a)];if(!u)return null;var f=">"==u.charAt(1)?1:-1;if(i&&i.strict&&f>0!=(a==n.ch))return null;var h=e.getTokenTypeAt(s(n.line,a+1)),p=r(e,s(n.line,a+(f>0?1:0)),f,h,i);return null==p?null:{from:s(n.line,a),to:p&&p.pos,match:p&&p.ch==u.charAt(0),forward:f>0}}function r(e,n,r,i,o){for(var a=o&&o.maxScanLineLength||1e4,l=o&&o.maxScanLines||1e3,d=[],u=t(o),f=r>0?Math.min(n.line+l,e.lastLine()+1):Math.max(e.firstLine()-1,n.line-l),h=n.line;h!=f;h+=r){var p=e.getLine(h);if(p){var m=r>0?0:p.length-1,g=r>0?p.length:-1;if(!(p.length>a))for(h==n.line&&(m=n.ch-(r<0?1:0));m!=g;m+=r){var v=p.charAt(m);if(u.test(v)&&(void 0===i||(e.getTokenTypeAt(s(h,m+1))||"")==(i||""))){var b=c[v];if(b&&">"==b.charAt(1)==r>0)d.push(v);else{if(!d.length)return{pos:s(h,m),ch:v};d.pop()}}}}}return h-r!=(r>0?e.lastLine():e.firstLine())&&null}function i(e,t,r){for(var i=e.state.matchBrackets.maxHighlightLineLength||1e3,o=r&&r.highlightNonMatching,a=[],c=e.listSelections(),d=0;d",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};e.defineOption("matchBrackets",!1,function(t,n,r){r&&r!=e.Init&&(t.off("cursorActivity",o),t.off("focus",o),t.off("blur",a),a(t)),n&&(t.state.matchBrackets="object"==typeof n?n:{},t.on("cursorActivity",o),t.on("focus",o),t.on("blur",a))}),e.defineExtension("matchBrackets",function(){i(this,!0)}),e.defineExtension("findMatchingBracket",function(e,t,r){return(r||"boolean"==typeof t)&&(r?(r.strict=t,t=r):t=t?{strict:!0}:null),n(this,e,t)}),e.defineExtension("scanForBracket",function(e,t,n,i){return r(this,e,t,n,i)})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define("addon/edit/matchtags.js",["../../lib/codemirror","../fold/xml-fold"],e):e(CodeMirror)}(function(e){"use strict";function t(e){e.state.tagHit&&e.state.tagHit.clear(),e.state.tagOther&&e.state.tagOther.clear(),e.state.tagHit=e.state.tagOther=null}function n(n){n.state.failedTagMatch=!1,n.operation(function(){if(t(n),!n.somethingSelected()){var r=n.getCursor(),i=n.getViewport();i.from=Math.min(i.from,r.line),i.to=Math.max(r.line+1,i.to);var o=e.findMatchingTag(n,r,i);if(o){if(n.state.matchBothTags){var a="open"==o.at?o.open:o.close;a&&(n.state.tagHit=n.markText(a.from,a.to,{className:"CodeMirror-matchingtag"}))}var l="close"==o.at?o.open:o.close;l?n.state.tagOther=n.markText(l.from,l.to,{className:"CodeMirror-matchingtag"}):n.state.failedTagMatch=!0}}})}function r(e){e.state.failedTagMatch&&n(e)}e.defineOption("matchTags",!1,function(i,o,a){a&&a!=e.Init&&(i.off("cursorActivity",n),i.off("viewportChange",r),t(i)),o&&(i.state.matchBothTags="object"==typeof o&&o.bothTags,i.on("cursorActivity",n),i.on("viewportChange",r),n(i))}),e.commands.toMatchingTag=function(t){var n=e.findMatchingTag(t,t.getCursor());if(n){var r="close"==n.at?n.open:n.close;r&&t.extendSelection(r.to,r.from)}}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/edit/trailingspace.js",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){e.defineOption("showTrailingSpace",!1,function(t,n,r){r==e.Init&&(r=!1),r&&!n?t.removeOverlay("trailingspace"):!r&&n&&t.addOverlay({token:function(e){for(var t=e.string.length,n=t;n&&/\s/.test(e.string.charAt(n-1));--n);return n>e.pos?(e.pos=n,null):(e.pos=t,"trailingspace")},name:"trailingspace"})})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/foldcode",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(t,i,o,a){function l(e){var n=s(t,i);if(!n||n.to.line-n.from.linet.firstLine();)i=e.Pos(i.line-1,0),d=l(!1);if(d&&!d.cleared&&"unfold"!==a){var u=n(t,o,d);e.on(u,"mousedown",function(t){f.clear(),e.e_preventDefault(t)});var f=t.markText(d.from,d.to,{replacedWith:u,clearOnEnter:r(t,o,"clearOnEnter"),__isFold:!0});f.on("clear",function(n,r){e.signal(t,"unfold",t,n,r)}),e.signal(t,"fold",t,d.from,d.to)}}function n(e,t,n){var i=r(e,t,"widget");if("function"==typeof i&&(i=i(n.from,n.to)),"string"==typeof i){var o=document.createTextNode(i);i=document.createElement("span"),i.appendChild(o),i.className="CodeMirror-foldmarker"}else i&&(i=i.cloneNode(!0));return i}function r(e,t,n){if(t&&void 0!==t[n])return t[n];var r=e.options.foldOptions;return r&&void 0!==r[n]?r[n]:i[n]}e.newFoldFunction=function(e,n){return function(r,i){t(r,i,{rangeFinder:e,widget:n})}},e.defineExtension("foldCode",function(e,n,r){t(this,e,n,r)}),e.defineExtension("isFolded",function(e){for(var t=this.findMarksAt(e),n=0;n=s){if(u&&a&&u.test(a.className))return;n=i(o.indicatorOpen)}}(n||a)&&e.setGutterMarker(t,o.gutter,n)})}function a(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function l(e){var t=e.getViewport(),n=e.state.foldGutter;n&&(e.operation(function(){o(e,t.from,t.to)}),n.from=t.from,n.to=t.to)}function s(e,t,n){var i=e.state.foldGutter;if(i){var o=i.options;if(n==o.gutter){var a=r(e,t);a?a.clear():e.foldCode(h(t,0),o)}}}function c(e,t){"mode"==t&&d(e)}function d(e){var t=e.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){l(e)},n.foldOnChangeTimeSpan||600)}}function u(e){var t=e.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){var n=e.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?l(e):e.operation(function(){n.fromt.to&&(o(e,t.to,n.to),t.to=n.to)})},n.updateViewportTimeSpan||400)}}function f(e,t){var n=e.state.foldGutter;if(n){var r=t.line;r>=n.from&&rt.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));if(/\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),"keyword"!=r.type||"import"!=r.string)return null;for(var i=n,o=Math.min(t.lastLine(),n+10);i<=o;++i){var a=t.getLine(i),l=a.indexOf(";");if(-1!=l)return{startCh:r.end,end:e.Pos(i,l)}}}var i,o=n.line,a=r(o);if(!a||r(o-1)||(i=r(o-2))&&i.end.line==o-1)return null;for(var l=a.end;;){var s=r(l.line+1);if(null==s)break;l=s.end}return{from:t.clipPos(e.Pos(o,a.startCh+1)),to:l}}),e.registerHelper("fold","include",function(t,n){function r(n){if(nt.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));return/\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),"meta"==r.type&&"#include"==r.string.slice(0,8)?r.start+8:void 0}var i=n.line,o=r(i);if(null==o||null!=r(i-1))return null;for(var a=i;;){if(null==r(a+1))break;++a}return{from:e.Pos(i,o+1),to:t.clipPos(e.Pos(a))}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/comment-fold.js",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.registerGlobalHelper("fold","comment",function(e){return e.blockCommentStart&&e.blockCommentEnd},function(t,n){var r=t.getModeAt(n),i=r.blockCommentStart,o=r.blockCommentEnd;if(i&&o){for(var a,l=n.line,s=t.getLine(l),c=n.ch,d=0;;){var u=c<=0?-1:s.lastIndexOf(i,c-1);if(-1!=u){if(1==d&&ui))break;o=a}}return o?{from:e.Pos(r.line,n.getLine(r.line).length),to:e.Pos(o,n.getLine(o).length)}:void 0}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/hint/show-hint.js",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){if(this.cm=e,this.options=t,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity){var n=this;e.on("cursorActivity",this.activityFunc=function(){n.cursorActivity()})}}function n(e,t,n){var r=e.options.hintOptions,i={};for(var o in p)i[o]=p[o];if(r)for(var o in r)void 0!==r[o]&&(i[o]=r[o]);if(n)for(var o in n)void 0!==n[o]&&(i[o]=n[o]);return i.hint.resolve&&(i.hint=i.hint.resolve(e,t)),i}function r(e){return"string"==typeof e?e:e.text}function i(e,t){function n(e,n){var i;i="string"!=typeof n?function(e){return n(e,t)}:r.hasOwnProperty(n)?r[n]:n,o[e]=i}var r={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close};/Mac/.test(navigator.platform)&&(r["Ctrl-P"]=function(){t.moveFocus(-1)},r["Ctrl-N"]=function(){t.moveFocus(1)});var i=e.options.customKeys,o=i?{}:r;if(i)for(var a in i)i.hasOwnProperty(a)&&n(a,i[a]);var l=e.options.extraKeys;if(l)for(var a in l)l.hasOwnProperty(a)&&n(a,l[a]);return o}function o(e,t){for(;t&&t!=e;){if("LI"===t.nodeName.toUpperCase()&&t.parentNode==e)return t;t=t.parentNode}}function a(t,n){this.id="cm-complete-"+Math.floor(Math.random(1e6)),this.completion=t,this.data=n,this.picked=!1;var a=this,l=t.cm,s=l.getInputField().ownerDocument,c=s.defaultView||s.parentWindow,f=this.hints=s.createElement("ul");f.setAttribute("role","listbox"),f.setAttribute("aria-expanded","true"),f.id=this.id;var h=t.cm.options.theme;f.className="CodeMirror-hints "+h,this.selectedHint=n.selectedHint||0;for(var p=n.list,m=0;mf.clientHeight+1;if(setTimeout(function(){F=l.getScrollInfo()}),H.bottom-P>0){var E=H.bottom-H.top,q=H.top-(k.bottom-k.top)-2;P-H.topq&&(f.style.height=(E=q)+"px"),f.style.top=(w=k.top-E)+O+"px",C=!1):f.style.height=P-H.top-2+"px"}var I=H.right-L;if(z&&(I+=l.display.nativeBarWidth),I>0&&(H.right-H.left>L&&(f.style.width=L-5+"px",I-=H.right-H.left-L),f.style.left=(x=Math.max(k.left-I-A,0))+"px"),z)for(var B=f.firstChild;B;B=B.nextSibling)B.style.paddingRight=l.display.nativeBarWidth+"px";if(l.addKeyMap(this.keyMap=i(t,{moveFocus:function(e,t){a.changeActive(a.selectedHint+e,t)},setFocus:function(e){a.changeActive(e)},menuSize:function(){return a.screenAmount()},length:p.length,close:function(){t.close()},pick:function(){a.pick()},data:n})),t.options.closeOnUnfocus){var N;l.on("blur",this.onBlur=function(){N=setTimeout(function(){t.close()},100)}),l.on("focus",this.onFocus=function(){clearTimeout(N)})}l.on("scroll",this.onScroll=function(){var e=l.getScrollInfo(),n=l.getWrapperElement().getBoundingClientRect();F||(F=l.getScrollInfo());var r=w+F.top-e.top,i=r-(c.pageYOffset||(s.documentElement||s.body).scrollTop);if(C||(i+=f.offsetHeight),i<=n.top||i>=n.bottom)return t.close();f.style.top=r+"px",f.style.left=x+F.left-e.left+"px"}),e.on(f,"dblclick",function(e){var t=o(f,e.target||e.srcElement);t&&null!=t.hintId&&(a.changeActive(t.hintId),a.pick())}),e.on(f,"click",function(e){var n=o(f,e.target||e.srcElement);n&&null!=n.hintId&&(a.changeActive(n.hintId),t.options.completeOnSingleClick&&a.pick())}),
+e.on(f,"mousedown",function(){setTimeout(function(){l.focus()},20)});var R=this.getSelectedHintRange();return 0===R.from&&0===R.to||this.scrollToActive(),e.signal(n,"select",p[this.selectedHint],f.childNodes[this.selectedHint]),!0}function l(e,t){if(!e.somethingSelected())return t;for(var n=[],r=0;r0?t(e):r(i+1)})}var o=l(e,i);r(0)};return o.async=!0,o.supportsSelection=!0,o}return(r=t.getHelper(t.getCursor(),"hintWords"))?function(t){return e.hint.fromList(t,{words:r})}:e.hint.anyword?function(t,n){return e.hint.anyword(t,n)}:function(){}}var d="CodeMirror-hint",u="CodeMirror-hint-active";e.showHint=function(e,t,n){if(!t)return e.showHint(n);n&&n.async&&(t.async=!0);var r={hint:t};if(n)for(var i in n)r[i]=n[i];return e.showHint(r)},e.defineExtension("showHint",function(r){r=n(this,this.getCursor("start"),r);var i=this.listSelections();if(!(i.length>1)){if(this.somethingSelected()){if(!r.hint.supportsSelection)return;for(var o=0;o=this.data.list.length?t=n?this.data.list.length-1:0:t<0&&(t=n?0:this.data.list.length-1),this.selectedHint!=t){var r=this.hints.childNodes[this.selectedHint];r&&(r.className=r.className.replace(" "+u,""),r.removeAttribute("aria-selected")),r=this.hints.childNodes[this.selectedHint=t],r.className+=" "+u,r.setAttribute("aria-selected","true"),this.completion.cm.getInputField().setAttribute("aria-activedescendant",r.id),this.scrollToActive(),e.signal(this.data,"select",this.data.list[this.selectedHint],r)}},scrollToActive:function(){var e=this.getSelectedHintRange(),t=this.hints.childNodes[e.from],n=this.hints.childNodes[e.to],r=this.hints.firstChild;t.offsetTopthis.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=n.offsetTop+n.offsetHeight-this.hints.clientHeight+r.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var e=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-e),to:Math.min(this.data.list.length-1,this.selectedHint+e)}}},e.registerHelper("hint","auto",{resolve:c}),e.registerHelper("hint","fromList",function(t,n){var r,i=t.getCursor(),o=t.getTokenAt(i),a=e.Pos(i.line,o.start),l=i;o.start,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};e.defineOption("hintOptions",null)}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/hint/javascript-hint.js",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){function t(e,t){for(var n=0,r=e.length;no.ch&&(a.end=o.ch,a.string=a.string.slice(0,o.ch-a.start)):a={start:o.ch,end:o.ch,string:"",state:a.state,type:"."==a.string?"property":null};for(var d=a;"property"==d.type;){if(d=r(t,c(o.line,d.start)),"."!=d.string)return;if(d=r(t,c(o.line,d.start)),!u)var u=[];u.push(d)}return{list:s(a,u,n,i),from:c(o.line,a.start),to:c(o.line,a.end)}}}}function i(e,t){return r(e,h,function(e,t){return e.getTokenAt(t)},t)}function o(e,t){var n=e.getTokenAt(t);return t.ch==n.start+1&&"."==n.string.charAt(0)?(n.end=n.start,n.string=".",n.type="property"):/^\.[\w$_]*$/.test(n.string)&&(n.type="property",n.start++,n.string=n.string.replace(/\./,"")),n}function a(e,t){return r(e,p,o,t)}function l(e,t){if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(var n=e;n;n=Object.getPrototypeOf(n))Object.getOwnPropertyNames(n).forEach(t);else for(var r in e)t(r)}function s(e,r,i,o){function a(e){0!=e.lastIndexOf(h,0)||n(c,e)||c.push(e)}function s(e){"string"==typeof e?t(d,a):e instanceof Array?t(u,a):e instanceof Function&&t(f,a),l(e,a)}var c=[],h=e.string,p=o&&o.globalScope||window;if(r&&r.length){var m,g=r.pop();for(g.type&&0===g.type.indexOf("variable")?(o&&o.additionalContext&&(m=o.additionalContext[g.string]),o&&!1===o.useGlobalScope||(m=m||p[g.string])):"string"==g.type?m="":"atom"==g.type?m=1:"function"==g.type&&(null==p.jQuery||"$"!=g.string&&"jQuery"!=g.string||"function"!=typeof p.jQuery?null!=p._&&"_"==g.string&&"function"==typeof p._&&(m=p._()):m=p.jQuery());null!=m&&r.length;)m=m[r.pop().string];null!=m&&s(m)}else{for(var v=e.state.localVars;v;v=v.next)a(v.name);for(var b=e.state.context;b;b=b.prev)for(var v=b.vars;v;v=v.next)a(v.name);for(var v=e.state.globalVars;v;v=v.next)a(v.name);if(o&&null!=o.additionalContext)for(var y in o.additionalContext)a(y);o&&!1===o.useGlobalScope||s(p),t(i,a)}return c}var c=e.Pos;e.registerHelper("hint","javascript",i),e.registerHelper("hint","coffeescript",a);var d="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),u="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),f="prototype apply call bind".split(" "),h="break case catch class const continue debugger default delete do else export extends false finally for function if in import instanceof new null return super switch this throw true try typeof var void while with yield".split(" "),p="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ")}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("mode/css/css",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e){for(var t={},n=0;n*\/]/.test(n)?r(null,"select-op"):"."==n&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?r("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(n)?r(null,n):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=a),r("variable callee","variable")):/[\w\\\-]/.test(n)?(e.eatWhile(/[\w\\\-]/),r("property","word")):r(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),r("number","unit")):e.match(/^-[\w\\\-]*/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?r("variable-2","variable-definition"):r("variable-2","variable")):e.match(/^\w+-/)?r("meta","meta"):void 0}function o(e){return function(t,n){for(var i,o=!1;null!=(i=t.next());){if(i==e&&!o){")"==e&&t.backUp(1);break}o=!o&&"\\"==i}return(i==e||!o&&")"!=e)&&(n.tokenize=null),r("string","string")}}function a(e,t){return e.next(),e.match(/^\s*[\"\')]/,!1)?t.tokenize=null:t.tokenize=o(")"),r(null,"(")}function l(e,t,n){this.type=e,this.indent=t,this.prev=n}function s(e,t,n,r){return e.context=new l(n,t.indentation()+(!1===r?0:g),e.context),n}function c(e){return e.context.prev&&(e.context=e.context.prev),e.context.type}function d(e,t,n){return F[n.context.type](e,t,n)}function u(e,t,n,r){for(var i=r||1;i>0;i--)n.context=n.context.prev;return d(e,t,n)}function f(e){var t=e.current().toLowerCase();m=j.hasOwnProperty(t)?"atom":M.hasOwnProperty(t)?"keyword":"variable"}var h=n.inline;n.propertyKeywords||(n=e.resolveMode("text/css"));var p,m,g=t.indentUnit,v=n.tokenHooks,b=n.documentTypes||{},y=n.mediaTypes||{},k=n.mediaFeatures||{},x=n.mediaValueKeywords||{},w=n.propertyKeywords||{},C=n.nonStandardPropertyKeywords||{},A=n.fontProperties||{},O=n.counterDescriptors||{},M=n.colorKeywords||{},j=n.valueKeywords||{},S=n.allowNested,T=n.lineComment,L=!0===n.supportsAtComponent,P=!1!==t.highlightNonStandardPropertyKeywords,F={};return F.top=function(e,t,n){if("{"==e)return s(n,t,"block");if("}"==e&&n.context.prev)return c(n);if(L&&/@component/i.test(e))return s(n,t,"atComponentBlock");if(/^@(-moz-)?document$/i.test(e))return s(n,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return s(n,t,"atBlock");if(/^@(font-face|counter-style)/i.test(e))return n.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return s(n,t,"at");if("hash"==e)m="builtin";else if("word"==e)m="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return s(n,t,"interpolation");if(":"==e)return"pseudo";if(S&&"("==e)return s(n,t,"parens")}return n.context.type},F.block=function(e,t,n){if("word"==e){var r=t.current().toLowerCase();return w.hasOwnProperty(r)?(m="property","maybeprop"):C.hasOwnProperty(r)?(m=P?"string-2":"property","maybeprop"):S?(m=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(m+=" error","maybeprop")}return"meta"==e?"block":S||"hash"!=e&&"qualifier"!=e?F.top(e,t,n):(m="error","block")},F.maybeprop=function(e,t,n){return":"==e?s(n,t,"prop"):d(e,t,n)},F.prop=function(e,t,n){if(";"==e)return c(n);if("{"==e&&S)return s(n,t,"propBlock");if("}"==e||"{"==e)return u(e,t,n);if("("==e)return s(n,t,"parens");if("hash"!=e||/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(t.current())){if("word"==e)f(t);else if("interpolation"==e)return s(n,t,"interpolation")}else m+=" error";return"prop"},F.propBlock=function(e,t,n){return"}"==e?c(n):"word"==e?(m="property","maybeprop"):n.context.type},F.parens=function(e,t,n){return"{"==e||"}"==e?u(e,t,n):")"==e?c(n):"("==e?s(n,t,"parens"):"interpolation"==e?s(n,t,"interpolation"):("word"==e&&f(t),"parens")},F.pseudo=function(e,t,n){return"meta"==e?"pseudo":"word"==e?(m="variable-3",n.context.type):d(e,t,n)},F.documentTypes=function(e,t,n){return"word"==e&&b.hasOwnProperty(t.current())?(m="tag",n.context.type):F.atBlock(e,t,n)},F.atBlock=function(e,t,n){if("("==e)return s(n,t,"atBlock_parens");if("}"==e||";"==e)return u(e,t,n);if("{"==e)return c(n)&&s(n,t,S?"block":"top");if("interpolation"==e)return s(n,t,"interpolation");if("word"==e){var r=t.current().toLowerCase();m="only"==r||"not"==r||"and"==r||"or"==r?"keyword":y.hasOwnProperty(r)?"attribute":k.hasOwnProperty(r)?"property":x.hasOwnProperty(r)?"keyword":w.hasOwnProperty(r)?"property":C.hasOwnProperty(r)?P?"string-2":"property":j.hasOwnProperty(r)?"atom":M.hasOwnProperty(r)?"keyword":"error"}return n.context.type},F.atComponentBlock=function(e,t,n){return"}"==e?u(e,t,n):"{"==e?c(n)&&s(n,t,S?"block":"top",!1):("word"==e&&(m="error"),n.context.type)},F.atBlock_parens=function(e,t,n){return")"==e?c(n):"{"==e||"}"==e?u(e,t,n,2):F.atBlock(e,t,n)},F.restricted_atBlock_before=function(e,t,n){return"{"==e?s(n,t,"restricted_atBlock"):"word"==e&&"@counter-style"==n.stateArg?(m="variable","restricted_atBlock_before"):d(e,t,n)},F.restricted_atBlock=function(e,t,n){return"}"==e?(n.stateArg=null,c(n)):"word"==e?(m="@font-face"==n.stateArg&&!A.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==n.stateArg&&!O.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},F.keyframes=function(e,t,n){return"word"==e?(m="variable","keyframes"):"{"==e?s(n,t,"top"):d(e,t,n)},F.at=function(e,t,n){return";"==e?c(n):"{"==e||"}"==e?u(e,t,n):("word"==e?m="tag":"hash"==e&&(m="builtin"),"at")},F.interpolation=function(e,t,n){return"}"==e?c(n):"{"==e||";"==e?u(e,t,n):("word"==e?m="variable":"variable"!=e&&"("!=e&&")"!=e&&(m="error"),"interpolation")},{startState:function(e){return{tokenize:null,state:h?"block":"top",stateArg:null,context:new l(h?"block":"top",e||0,null)}},token:function(e,t){if(!t.tokenize&&e.eatSpace())return null;var n=(t.tokenize||i)(e,t);return n&&"object"==typeof n&&(p=n[1],n=n[0]),m=n,"comment"!=p&&(t.state=F[t.state](p,e,t)),m},indent:function(e,t){var n=e.context,r=t&&t.charAt(0),i=n.indent;return"prop"!=n.type||"}"!=r&&")"!=r||(n=n.prev),n.prev&&("}"!=r||"block"!=n.type&&"top"!=n.type&&"interpolation"!=n.type&&"restricted_atBlock"!=n.type?(")"!=r||"parens"!=n.type&&"atBlock_parens"!=n.type)&&("{"!=r||"at"!=n.type&&"atBlock"!=n.type)||(i=Math.max(0,n.indent-g)):(n=n.prev,i=n.indent)),i},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:T,fold:"brace"}})
+;var r=["domain","regexp","url","url-prefix"],i=t(r),o=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],a=t(o),l=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],s=t(l),c=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],d=t(c),u=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],f=t(u),h=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],p=t(h),m=["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],g=t(m),v=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],b=t(v),y=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],k=t(y),x=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],w=t(x),C=r.concat(o).concat(l).concat(c).concat(u).concat(h).concat(y).concat(x);e.registerHelper("hintWords","css",C),e.defineMIME("text/css",{documentTypes:i,mediaTypes:a,mediaFeatures:s,mediaValueKeywords:d,propertyKeywords:f,nonStandardPropertyKeywords:p,fontProperties:g,counterDescriptors:b,colorKeywords:k,valueKeywords:w,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=n,n(e,t))}},name:"css"}),e.defineMIME("text/x-scss",{mediaTypes:a,mediaFeatures:s,mediaValueKeywords:d,propertyKeywords:f,nonStandardPropertyKeywords:p,colorKeywords:k,valueKeywords:w,fontProperties:g,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=n,n(e,t)):["operator","operator"]},":":function(e){return!!e.match(/^\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),e.defineMIME("text/x-less",{mediaTypes:a,mediaFeatures:s,mediaValueKeywords:d,propertyKeywords:f,nonStandardPropertyKeywords:p,colorKeywords:k,valueKeywords:w,fontProperties:g,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=n,n(e,t)):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),e.defineMIME("text/x-gss",{documentTypes:i,mediaTypes:a,mediaFeatures:s,propertyKeywords:f,nonStandardPropertyKeywords:p,fontProperties:g,counterDescriptors:b,colorKeywords:k,valueKeywords:w,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=n,n(e,t))}},name:"css",helperType:"gss"})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../../mode/css/css")):"function"==typeof define&&define.amd?define("addon/hint/css-hint.js",["../../lib/codemirror","../../mode/css/css"],e):e(CodeMirror)}(function(e){"use strict";var t={active:1,after:1,before:1,checked:1,default:1,disabled:1,empty:1,enabled:1,"first-child":1,"first-letter":1,"first-line":1,"first-of-type":1,focus:1,hover:1,"in-range":1,indeterminate:1,invalid:1,lang:1,"last-child":1,"last-of-type":1,link:1,not:1,"nth-child":1,"nth-last-child":1,"nth-last-of-type":1,"nth-of-type":1,"only-of-type":1,"only-child":1,optional:1,"out-of-range":1,placeholder:1,"read-only":1,"read-write":1,required:1,root:1,selection:1,target:1,valid:1,visited:1};e.registerHelper("hint","css",function(n){function r(e){for(var t in e)c&&0!=t.lastIndexOf(c,0)||u.push(t)}var i=n.getCursor(),o=n.getTokenAt(i),a=e.innerMode(n.getMode(),o.state);if("css"==a.mode.name){if("keyword"==o.type&&0=="!important".indexOf(o.string))return{list:["!important"],from:e.Pos(i.line,o.start),to:e.Pos(i.line,o.end)};var l=o.start,s=i.ch,c=o.string.slice(0,s-l);/[^\w$_-]/.test(c)&&(c="",l=s=i.ch);var d=e.resolveMode("text/css"),u=[],f=a.state.state;return"pseudo"==f||"variable-3"==o.type?r(t):"block"==f||"maybeprop"==f?r(d.propertyKeywords):"prop"==f||"parens"==f||"at"==f||"params"==f?(r(d.valueKeywords),r(d.colorKeywords)):"media"!=f&&"media_parens"!=f||(r(d.mediaTypes),r(d.mediaFeatures)),u.length?{list:u,from:e.Pos(i.line,l),to:e.Pos(i.line,s)}:void 0}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/hint/xml-hint",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t,n){return n?e.indexOf(t)>=0:0==e.lastIndexOf(t,0)}function n(n,i){function o(){return{list:p,from:m?r(c.line,null==h?d.start:h):c,to:m?r(c.line,d.end):c}}var a=i&&i.schemaInfo,l=i&&i.quoteChar||'"',s=i&&i.matchInMiddle;if(a){var c=n.getCursor(),d=n.getTokenAt(c);d.end>c.ch&&(d.end=c.ch,d.string=d.string.slice(0,c.ch-d.start));var u=e.innerMode(n.getMode(),d.state);if(u.mode.xmlCurrentTag){var f,h,p=[],m=!1,g=/\btag\b/.test(d.type)&&!/>$/.test(d.string),v=g&&/^\w/.test(d.string);if(v){var b=n.getLine(c.line).slice(Math.max(0,d.start-2),d.start),y=/<\/$/.test(b)?"close":/<$/.test(b)?"open":null;y&&(h=d.start-("close"==y?2:1))}else g&&"<"==d.string?y="open":g&&""==d.string&&(y="close");var k=u.mode.xmlCurrentTag(u.state);if(!g&&!k||y){v&&(f=d.string),m=y;var x=u.mode.xmlCurrentContext?u.mode.xmlCurrentContext(u.state):[],u=x.length&&x[x.length-1],w=u&&a[u],C=u?w&&w.children:a["!top"];if(C&&"close"!=y)for(var A=0;A")}else{var w=k&&a[k.name],M=w&&w.attrs,j=a["!attrs"];if(!M&&!j)return;if(M){if(j){var S={};for(var T in j)j.hasOwnProperty(T)&&(S[T]=j[T]);for(var T in M)M.hasOwnProperty(T)&&(S[T]=M[T]);M=S}}else M=j;if("string"==d.type||"="==d.string){var L,b=n.getRange(r(c.line,Math.max(0,c.ch-60)),r(c.line,"string"==d.type?d.start:d.end)),P=b.match(/([^\s\u00a0=<>\"\']+)=$/);if(!P||!M.hasOwnProperty(P[1])||!(L=M[P[1]]))return;if("function"==typeof L&&(L=L.call(this,n)),"string"==d.type){f=d.string;var F=0;/['"]/.test(d.string.charAt(0))&&(l=d.string.charAt(0),f=d.string.slice(1),F++);var H=d.string.length;if(/['"]/.test(d.string.charAt(H-1))&&(l=d.string.charAt(H-1),f=d.string.substr(F,H-2)),F){var z=n.getLine(c.line);z.length>d.end&&z.charAt(d.end)==l&&d.end++}m=!0}var E=function(e){if(e)for(var n=0;n][<][=] [X]","device-aspect-ratio: X/Y","orientation:portrait","orientation:landscape","device-height: [X]","device-width: [X]"],c={attrs:{}},d={a:{attrs:{href:null,ping:null,type:null,media:s,target:i,hreflang:r}},abbr:c,acronym:c,address:c,applet:c,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:s,hreflang:r,type:null,shape:["default","rect","circle","poly"]}},article:c,aside:c,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["","autoplay"],loop:["","loop"],controls:["","controls"]}},b:c,base:{attrs:{href:null,target:i}},basefont:c,bdi:c,bdo:c,big:c,blockquote:{attrs:{cite:null}},body:c,br:c,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["","autofocus"],disabled:["","autofocus"],formenctype:l,formmethod:a,formnovalidate:["","novalidate"],formtarget:i,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:c,center:c,cite:c,code:c,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["","disabled"],checked:["","checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["","disabled"],multiple:["","multiple"]}},datalist:{attrs:{data:null}},dd:c,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["","open"]}},dfn:c,dir:c,div:c,dialog:{attrs:{open:null}},dl:c,dt:c,em:c,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["","disabled"],form:null,name:null}},figcaption:c,figure:c,font:c,footer:c,form:{attrs:{action:null,name:null,"accept-charset":o,autocomplete:["on","off"],enctype:l,method:a,novalidate:["","novalidate"],target:i}},frame:c,frameset:c,h1:c,h2:c,h3:c,h4:c,h5:c,h6:c,head:{attrs:{},children:["title","base","link","style","meta","script","noscript","command"]},header:c,hgroup:c,hr:c,html:{attrs:{manifest:null},children:["head","body"]},i:c,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["","seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["","autofocus"],checked:["","checked"],disabled:["","disabled"],formenctype:l,formmethod:a,formnovalidate:["","novalidate"],formtarget:i,multiple:["","multiple"],readonly:["","readonly"],required:["","required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:c,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["","autofocus"],disabled:["","disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:c,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:r,media:s,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:c,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:o,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:c,noframes:c,noscript:c,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["","typemustmatch"]}},ol:{attrs:{reversed:["","reversed"],start:null,type:["1","a","A","i","I"]}},optgroup:{attrs:{disabled:["","disabled"],label:null}},option:{attrs:{disabled:["","disabled"],label:null,selected:["","selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:c,param:{attrs:{name:null,value:null}},pre:c,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:c,rt:c,ruby:c,s:c,samp:c,script:{attrs:{type:["text/javascript"],src:null,async:["","async"],defer:["","defer"],charset:o}},section:c,select:{attrs:{form:null,name:null,size:null,autofocus:["","autofocus"],disabled:["","disabled"],multiple:["","multiple"]}},small:c,source:{attrs:{src:null,type:null,media:null}},span:c,strike:c,strong:c,style:{attrs:{type:["text/css"],media:s,scoped:null}},sub:c,summary:c,sup:c,table:c,tbody:c,td:{attrs:{colspan:null,rowspan:null,headers:null}},textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["","autofocus"],disabled:["","disabled"],readonly:["","readonly"],required:["","required"],wrap:["soft","hard"]}},tfoot:c,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:c,time:{attrs:{datetime:null}},title:c,tr:c,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:r}},tt:c,u:c,ul:c,var:c,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["","autoplay"],mediagroup:["movie"],muted:["","muted"],controls:["","controls"]}},wbr:c},u={accesskey:["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"],class:null,contenteditable:["true","false"],contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["en","es"],spellcheck:["true","false"],autocorrect:["true","false"],autocapitalize:["true","false"],style:null,tabindex:["1","2","3","4","5","6","7","8","9"],title:null,translate:["yes","no"],onclick:null,rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"]};t(c);for(var f in d)d.hasOwnProperty(f)&&d[f]!=c&&t(d[f]);e.htmlSchema=d,e.registerHelper("hint","html",n)}),function(e){
+"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/format/autoFormatAll.js",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){e.defineExtension("autoFormatAll",function(t,n){function r(){c+="\n",u=!0,++d}for(var i=this,o=i.getMode(),a=i.getRange(t,n).split("\n"),l=e.copyState(o,i.getTokenAt(t).state),s=i.getOption("tabSize"),c="",d=0,u=0==t.ch,f=0;fn&&(o+=r(e.substring(n,i[a].start)),n=i[a].start),i[a].start<=n&&i[a].end>=n&&(o+=e.substring(n,i[a].end),n=i[a].end);n")&&"open"==this.tagType){this.tagType="";var c=this.isXML?"[^<]*?":"";return RegExp("^"+c+"
","i").test(n)?(this.noBreak=!1,this.isXML||(this.tagName=""),!1):(a=this.noBreak,this.noBreak=!1,!a)}if(0==t.indexOf("")&&(this.tagType="close",l=t.match(/^<\/\s*?([\w]+?)$/i),null!=l&&(s=l[1].toLowerCase()),-1!=("|"+i+"|").indexOf("|"+s+"|")&&(this.noBreak=!0)),0==t.indexOf(">")&&"close"==this.tagType)return this.tagType="",0==n.indexOf("<")&&(l=n.match(/^<\/?\s*?([\w]+?)(\s|>)/i),s=null!=l?l[1].toLowerCase():"",-1==("|"+o+"|").indexOf("|"+s+"|"))?(this.noBreak=!1,!0):(a=this.noBreak,this.noBreak=!1,!a)}return 0==n.indexOf("<")&&(this.noBreak=!1,this.isXML&&""!=this.tagName?(this.tagName="",!1):(l=n.match(/^<\/?\s*?([\w]+?)(\s|>)/i),s=null!=l?l[1].toLowerCase():"",-1==("|"+o+"|").indexOf("|"+s+"|")))}}),e.defineExtension("commentRange",function(t,n,r){var i=this,o=e.innerMode(i.getMode(),i.getTokenAt(n).state).mode;i.operation(function(){if(t)i.replaceRange(o.commentEnd,r),i.replaceRange(o.commentStart,n),i.setSelection(n,{line:r.line,ch:r.ch+o.commentStart.length+o.commentEnd.length}),n.line==r.line&&n.ch==r.ch&&i.setCursor(n.line,n.ch+o.commentStart.length);else{var e=i.getRange(n,r),a=e.indexOf(o.commentStart),l=e.lastIndexOf(o.commentEnd);a>-1&&l>-1&&l>a&&(e=e.substr(0,a)+e.substring(a+o.commentStart.length,l)+e.substr(l+o.commentEnd.length)),i.replaceRange(e,n,r),i.setSelection(n,{line:r.line,ch:r.ch-o.commentStart.length-o.commentEnd.length})}})}),e.defineExtension("autoIndentRange",function(e,t){var n=this;this.operation(function(){for(var r=e.line;r<=t.line;r++)n.indentLine(r,"smart")})}),e.defineExtension("autoFormatRange",function(t,n){function r(){c+="\n",u=!0,++d}for(var i=this,o=i.getMode(),a=i.getRange(t,n).split("\n"),l=e.copyState(o,i.getTokenAt(t).state),s=i.getOption("tabSize"),c="",d=0,u=0==t.ch,f=0;fc);d++){var u=e.getLine(s++);a=null==a?u:a+"\n"+u}l*=2,t.lastIndex=o.ch;var f=t.exec(a);if(f){var h=a.slice(0,f.index).split("\n"),p=f[0].split("\n"),g=o.line+h.length-1,v=h[h.length-1].length;return{from:m(g,v),to:m(g+p.length-1,1==p.length?v+p[0].length:p[p.length-1].length),match:f}}}}function a(e,t,n){for(var r,i=0;i<=e.length;){t.lastIndex=i;var o=t.exec(e);if(!o)break;var a=o.index+o[0].length;if(a>e.length-n)break;(!r||a>r.index+r[0].length)&&(r=o),i=o.index+1}return r}function l(e,t,r){t=n(t,"g");for(var i=r.line,o=r.ch,l=e.firstLine();i>=l;i--,o=-1){var s=e.getLine(i),c=a(s,t,o<0?0:s.length-o);if(c)return{from:m(i,c.index),to:m(i,c.index+c[0].length),match:c}}}function s(e,t,i){if(!r(t))return l(e,t,i);t=n(t,"gm");for(var o,s=1,c=e.getLine(i.line).length-i.ch,d=i.line,u=e.firstLine();d>=u;){for(var f=0;f=u;f++){var h=e.getLine(d--);o=null==o?h:h+"\n"+o}s*=2;var p=a(o,t,c);if(p){var g=o.slice(0,p.index).split("\n"),v=p[0].split("\n"),b=d+g.length,y=g[g.length-1].length;return{from:m(b,y),to:m(b+v.length-1,1==v.length?y+v[0].length:v[v.length-1].length),match:p}}}}function c(e,t,n,r){if(e.length==t.length)return n;for(var i=0,o=n+Math.max(0,e.length-t.length);;){if(i==o)return i;var a=i+o>>1,l=r(e.slice(0,a)).length;if(l==n)return a;l>n?o=a:i=a+1}}function d(e,t,n,r){if(!t.length)return null;var i=r?h:p,o=i(t).split(/\r|\n\r?/);e:for(var a=n.line,l=n.ch,s=e.lastLine()+1-o.length;a<=s;a++,l=0){var d=e.getLine(a).slice(l),u=i(d);if(1==o.length){var f=u.indexOf(o[0]);if(-1==f)continue e;var n=c(d,u,f,i)+l;return{from:m(a,c(d,u,f,i)+l),to:m(a,c(d,u,f+o[0].length,i)+l)}}var g=u.length-o[0].length;if(u.slice(g)==o[0]){for(var v=1;v=s;a--,l=-1){var d=e.getLine(a);l>-1&&(d=d.slice(0,l));var u=i(d);if(1==o.length){var f=u.lastIndexOf(o[0]);if(-1==f)continue e;return{from:m(a,c(d,u,f,i)),to:m(a,c(d,u,f+o[0].length,i))}}var g=o[o.length-1];if(u.slice(0,g.length)==g){for(var v=1,n=a-o.length+1;v(this.doc.getLine(n.line)||"").length&&(n.ch=0,n.line++),0!=e.cmpPos(n,this.doc.clipPos(n))))return this.atOccurrence=!1;var r=this.matches(t,n);if(this.afterEmptyMatch=r&&0==e.cmpPos(r.from,r.to),r)return this.pos=r,this.atOccurrence=!0,this.pos.match||!0;var i=m(t?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:i,to:i},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,n){if(this.atOccurrence){var r=e.splitLines(t);this.doc.replaceRange(r,this.pos.from,this.pos.to,n),this.pos.to=m(this.pos.from.line+r.length-1,r[r.length-1].length+(1==r.length?this.pos.from.ch:0))}}},e.defineExtension("getSearchCursor",function(e,t,n){return new f(this.doc,e,t,n)}),e.defineDocExtension("getSearchCursor",function(e,t,n){return new f(this,e,t,n)}),e.defineExtension("selectMatches",function(t,n){for(var r=[],i=this.getSearchCursor(t,this.getCursor("from"),n);i.findNext()&&!(e.cmpPos(i.to(),this.getCursor("to"))>0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/scroll/annotatescrollbar",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){function n(e){clearTimeout(r.doRedraw),r.doRedraw=setTimeout(function(){r.redraw()},e)}this.cm=e,this.options=t,this.buttonHeight=t.scrollButtonHeight||e.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=e.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var r=this;e.on("refresh",this.resizeHandler=function(){clearTimeout(r.doUpdate),r.doUpdate=setTimeout(function(){r.computeScale()&&n(20)},100)}),e.on("markerAdded",this.resizeHandler),e.on("markerCleared",this.resizeHandler),!1!==t.listenForChanges&&e.on("changes",this.changeHandler=function(){n(250)})}e.defineExtension("annotateScrollbar",function(e){return"string"==typeof e&&(e={className:e}),new t(this,e)}),e.defineOption("scrollButtonHeight",0),t.prototype.computeScale=function(){var e=this.cm,t=(e.getWrapperElement().clientHeight-e.display.barHeight-2*this.buttonHeight)/e.getScrollerElement().scrollHeight;if(t!=this.hScale)return this.hScale=t,!0},t.prototype.update=function(e){this.annotations=e,this.redraw()},t.prototype.redraw=function(e){function t(e,t){if(s!=e.line){s=e.line,c=n.getLineHandle(e.line);var r=n.getLineHandleVisualStart(c);r!=c&&(s=n.getLineNumber(r),c=r)}return c.widgets&&c.widgets.length||a&&c.height>l?n.charCoords(e,"local")[t?"top":"bottom"]:n.heightAtLine(c,"local")+(t?0:c.height)}!1!==e&&this.computeScale();var n=this.cm,r=this.hScale,i=document.createDocumentFragment(),o=this.annotations,a=n.getOption("lineWrapping"),l=a&&1.5*n.defaultTextHeight(),s=null,c=null,d=n.lastLine();if(n.display.barWidth)for(var u,f=0;fd)){for(var p=u||t(h.from,!0)*r,m=t(h.to,!1)*r;fd)&&!((u=t(o[f+1].from,!0)*r)>m+.9);)h=o[++f],m=t(h.to,!1)*r;if(m!=p){var g=Math.max(m-p,3),v=i.appendChild(document.createElement("div"));v.style.cssText="position: absolute; right: 0px; width: "+Math.max(n.display.barWidth-1,2)+"px; top: "+(p+this.buttonHeight)+"px; height: "+g+"px",v.className=this.options.className,h.id&&v.setAttribute("annotation-id",h.id)}}}this.div.textContent="",this.div.appendChild(i)},t.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("changes",this.changeHandler),this.div.parentNode.removeChild(this.div)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define("addon/search/matchesonscrollbar",["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t,n,r){this.cm=e,this.options=r;var i={listenForChanges:!1};for(var o in r)i[o]=r[o];i.className||(i.className="CodeMirror-search-match"),this.annotation=e.annotateScrollbar(i),this.query=t,this.caseFold=n,this.gap={from:e.firstLine(),to:e.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var a=this;e.on("change",this.changeHandler=function(e,t){a.onChange(t)})}function n(e,t,n){return e<=t?e:Math.max(t,e+n)}e.defineExtension("showMatchesOnScrollbar",function(e,n,r){return"string"==typeof r&&(r={className:r}),r||(r={}),new t(this,e,n,r)});t.prototype.findMatches=function(){if(this.gap){for(var t=0;t=this.gap.to)break;n.to.line>=this.gap.from&&this.matches.splice(t--,1)}for(var r=this.cm.getSearchCursor(this.query,e.Pos(this.gap.from,0),{caseFold:this.caseFold,multiline:this.options.multiline}),i=this.options&&this.options.maxMatches||1e3;r.findNext();){var n={from:r.from(),to:r.to()};if(n.from.line>=this.gap.to)break;if(this.matches.splice(t++,0,n),this.matches.length>i)break}this.gap=null}},t.prototype.onChange=function(t){var r=t.from.line,i=e.changeEnd(t).line,o=i-t.to.line;if(this.gap?(this.gap.from=Math.min(n(this.gap.from,r,o),t.from.line),this.gap.to=Math.max(n(this.gap.to,r,o),t.from.line)):this.gap={from:t.from.line,to:i+1},o)for(var a=0;a=t.options.minChars&&o(e,f,!1,t.options.style)}})}function s(e,t,n){if(null!==e.getRange(t,n).match(/^\w+$/)){if(t.ch>0){var r={line:t.line,ch:t.ch-1},i=e.getRange(r,t);if(null===i.match(/\W/))return!1}if(n.ch-1?i+t.length:i}var o=t.exec(n?e.slice(n):e);return o?o.index+n+(r?o[0].length:0):-1}var r=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:e.startState(t),innerActive:null,inner:null,startingInner:!1}},copyState:function(n){return{outer:e.copyState(t,n.outer),innerActive:n.innerActive,inner:n.innerActive&&e.copyState(n.innerActive.mode,n.inner),startingInner:n.startingInner}},token:function(i,o){if(o.innerActive){var a=o.innerActive,l=i.string;if(!a.close&&i.sol())return o.innerActive=o.inner=null,this.token(i,o);var s=a.close&&!o.startingInner?n(l,a.close,i.pos,a.parseDelimiters):-1;if(s==i.pos&&!a.parseDelimiters)return i.match(a.close),o.innerActive=o.inner=null,a.delimStyle&&a.delimStyle+" "+a.delimStyle+"-close";s>-1&&(i.string=l.slice(0,s));var c=a.mode.token(i,o.inner);return s>-1?i.string=l:i.pos>i.start&&(o.startingInner=!1),s==i.pos&&a.parseDelimiters&&(o.innerActive=o.inner=null),a.innerStyle&&(c=c?c+" "+a.innerStyle:a.innerStyle),c}for(var d=1/0,l=i.string,u=0;ur.length-a)break;(!f||b>f.index+f[0].length)&&(f=g);g=g.index+1}return f}function e(r,c,a){c=z(c,"g");var f=a.line;a=a.ch;for(var g=r.firstLine();g<=f;f--,a=-1){var b=r.getLine(f);if(b=p(b,c,0>a?0:b.length-a))return{from:t(f,b.index),to:t(f,b.index+b[0].length),match:b}}}function m(b,c,a){if(!/\\s|\\n|\n|\\W|\\D|\[\^/.test(c.source))return e(b,
-c,a);c=z(c,"gm");var f=1,g=b.getLine(a.line).length-a.ch;a=a.line;for(var y=b.firstLine();y<=a;){for(var h=0;h>1,h=f(b.slice(0,y)).length;if(h==a)return y;ac.ch&&(c.line--,c.ch=(this.doc.getLine(c.line)||"").length)):(c.ch++,c.ch>(this.doc.getLine(c.line)||"").length&&(c.ch=0,c.line++)),0!=b.cmpPos(c,this.doc.clipPos(c))))return this.atOccurrence=!1;c=this.matches(d,c);return this.afterEmptyMatch=c&&0==b.cmpPos(c.from,c.to),c?(this.pos=c,this.atOccurrence=!0,this.pos.match||!0):(c=t(d?this.doc.firstLine():this.doc.lastLine()+1,0),this.pos={from:c,to:c},this.atOccurrence=!1)},from:function(){if(this.atOccurrence)return this.pos.from},
-to:function(){if(this.atOccurrence)return this.pos.to},replace:function(d,c){this.atOccurrence&&(d=b.splitLines(d),this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=t(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0)))}};b.defineExtension("getSearchCursor",function(b,c,a){return new l(this.doc,b,c,a)});b.defineDocExtension("getSearchCursor",function(b,c,a){return new l(this,b,c,a)});b.defineExtension("selectMatches",function(d,c){for(var a=[],f=this.getSearchCursor(d,
-this.getCursor("from"),c);f.findNext()&&!(0=l&&m()},200)});b.on(u,"focus",function(){++l})}});
-b.defineExtension("openNotification",function(d,p){function e(){v||(v=!0,clearTimeout(m),b.rmClass(k.parentNode,"dialog-opened"),k.parentNode.removeChild(k))}x(this,e);var m,k=z(this,d,p&&p.bottom),v=!1;d=p&&void 0!==p.duration?p.duration:5E3;return b.on(k,"click",function(d){b.e_preventDefault(d);e()}),d&&(m=setTimeout(e,d)),e})});
-(function(b){"object"==typeof exports&&"object"==typeof module?b(require("../../lib/codemirror"),require("./searchcursor"),require("../dialog/dialog")):"function"==typeof define&&define.amd?define("addon/search/search.js",["../../lib/codemirror","./searchcursor","../dialog/dialog"],b):b(CodeMirror)})(function(b){function z(){this.overlay=this.posFrom=this.posTo=this.lastQuery=this.query=null}function x(a){return a.state.search||(a.state.search=new z)}function d(a){return"string"==typeof a&&a==a.toLowerCase()}
-function p(a,f,b){return a.getSearchCursor(f,b,{caseFold:d(f),multiline:!0})}function e(a,f,b,c,d){a.openDialog?a.openDialog(f,d,{value:c,selectValueOnOpen:!0,bottom:a.options.search.bottom}):d(prompt(b,c))}function m(a){return a.replace(/\\([nrt\\])/g,function(a,b){return"n"==b?"\n":"r"==b?"\r":"t"==b?"\t":"\\"==b?"\\":a})}function k(a){var b=a.match(/^\/(.*)\/([a-z]*)$/);if(b)try{a=new RegExp(b[1],-1==b[2].indexOf("i")?"":"i")}catch(c){}else a=m(a);return("string"==typeof a?""==a:a.test(""))?/x^/:
-a}function v(a,b,c){var e;b.queryText=c;b.query=k(c);a.removeOverlay(b.overlay,d(b.query));b.overlay=(e=b.query,c=d(b.query),"string"==typeof e?e=new RegExp(e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$\x26"),c?"gi":"g"):e.global||(e=new RegExp(e.source,e.ignoreCase?"gi":"g")),{token:function(a){e.lastIndex=a.pos;var b=e.exec(a.string);if(b&&b.index==a.pos)return a.pos+=b[0].length||1,"searching";b?a.pos=b.index:a.skipToEnd()}});a.addOverlay(b.overlay);a.showMatchesOnScrollbar&&(b.annotate&&
-(b.annotate.clear(),b.annotate=null),b.annotate=a.showMatchesOnScrollbar(b.query,d(b.query)))}function w(a,c,d,k){var h=x(a);if(h.query)return l(a,c);var p,m,n,r,q=a.getSelection()||h.lastQuery;q instanceof RegExp&&"x^"==q.source&&(q=null);d&&a.openDialog?(p=null,m=function(c,f){b.e_stop(f);c&&(c!=h.queryText&&(v(a,h,c),h.posFrom=h.posTo=a.getCursor()),p&&(p.style.opacity=1),l(a,f.shiftKey,function(b,c){var f;3>c.line&&document.querySelector&&(f=a.display.wrapper.querySelector(".CodeMirror-dialog"))&&
-f.getBoundingClientRect().bottom-4>a.cursorCoords(c,"window").top&&((p=f).style.opacity=.4)}))},d=t(a),n=q,r=function(c,f){var d=b.keyName(c),g=a.getOption("extraKeys"),g=g&&g[d]||b.keyMap[a.getOption("keyMap")][d];"findNext"==g||"findPrev"==g||"findPersistentNext"==g||"findPersistentPrev"==g?(b.e_stop(c),v(a,x(a),f),a.execCommand(g)):"find"!=g&&"findPersistent"!=g||(b.e_stop(c),m(f,c))},a.openDialog(d,m,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){u(a)},onKeyDown:r,bottom:a.options.search.bottom}),
-k&&q&&(v(a,h,q),l(a,c))):e(a,t(a),"Search for:",q,function(b){b&&!h.query&&a.operation(function(){v(a,h,b);h.posFrom=h.posTo=a.getCursor();l(a,c)})})}function l(a,c,d){a.operation(function(){var e=x(a),h=p(a,e.query,c?e.posFrom:e.posTo);(h.find(c)||(h=p(a,e.query,c?b.Pos(a.lastLine()):b.Pos(a.firstLine(),0))).find(c))&&(a.setSelection(h.from(),h.to()),a.scrollIntoView({from:h.from(),to:h.to()},20),e.posFrom=h.from(),e.posTo=h.to(),d&&d(h.from(),h.to()))})}function u(a){a.operation(function(){var b=
-x(a);(b.lastQuery=b.query)&&(b.query=b.queryText=null,a.removeOverlay(b.overlay),b.annotate&&(b.annotate.clear(),b.annotate=null))})}function q(a,b){var c,d=a?document.createElement(a):document.createDocumentFragment();for(c in b)d[c]=b[c];for(c=2;c{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/search/searchcursor",["../../lib/codemirror"],e):e(CodeMirror)})(function(r){var m,v,y=r.Pos;function p(e,n){for(var t,o=null!=(o=(t=e).flags)?o:(t.ignoreCase?"i":"")+(t.global?"g":"")+(t.multiline?"m":""),r=o,i=0;ie.length-t)break;(!o||a>o.index+o[0].length)&&(o=i),r=i.index+1}return o}function C(e,n,t){n=p(n,"g");for(var o=t.line,r=t.ch,i=e.firstLine();i<=o;o--,r=-1){var a=e.getLine(o),a=x(a,n,r<0?0:a.length-r);if(a)return{from:y(o,a.index),to:y(o,a.index+a[0].length),match:a}}}function a(e,n,t){if(!g(n))return C(e,n,t);n=p(n,"gm");for(var o=1,r=e.getLine(t.line).length-t.ch,i=t.line,a=e.firstLine();a<=i;){for(var s=0;s>1,s=o(e.slice(0,a)).length;if(s==t)return a;t(this.doc.getLine(n.line)||"").length&&(n.ch=0,n.line++)),0!=r.cmpPos(n,this.doc.clipPos(n)))?this.atOccurrence=!1:(n=this.matches(e,n),this.afterEmptyMatch=n&&0==r.cmpPos(n.from,n.to),n?(this.pos=n,this.atOccurrence=!0,this.pos.match||!0):(n=y(e?this.doc.firstLine():this.doc.lastLine()+1,0),this.pos={from:n,to:n},this.atOccurrence=!1))},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(e,n){this.atOccurrence&&(e=r.splitLines(e),this.doc.replaceRange(e,this.pos.from,this.pos.to,n),this.pos.to=y(this.pos.from.line+e.length-1,e[e.length-1].length+(1==e.length?this.pos.from.ch:0)))}},r.defineExtension("getSearchCursor",function(e,n,t){return new o(this.doc,e,n,t)}),r.defineDocExtension("getSearchCursor",function(e,n,t){return new o(this,e,n,t)}),r.defineExtension("selectMatches",function(e,n){for(var t=[],o=this.getSearchCursor(e,this.getCursor("from"),n);o.findNext()&&!(0{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/dialog/dialog",["../../lib/codemirror"],e):e(CodeMirror)})(function(f){function h(e,n,t){var e=e.getWrapperElement(),o=e.appendChild(document.createElement("div"));return o.className=t?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof n?o.innerHTML=n:o.appendChild(n),f.addClass(e,"dialog-opened"),o}function d(e,n){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=n}f.defineExtension("openDialog",function(e,n,t){t=t||{},d(this,null);var o=h(this,e,t.bottom),r=!1,i=this;function a(e){"string"==typeof e?s.value=e:r||(r=!0,f.rmClass(o.parentNode,"dialog-opened"),o.parentNode.removeChild(o),i.focus(),t.onClose&&t.onClose(o))}var s=o.getElementsByTagName("input")[0];return s?(s.focus(),t.value&&(s.value=t.value,!1!==t.selectValueOnOpen)&&s.select(),t.onInput&&f.on(s,"input",function(e){t.onInput(e,s.value,a)}),t.onKeyUp&&f.on(s,"keyup",function(e){t.onKeyUp(e,s.value,a)}),f.on(s,"keydown",function(e){t&&t.onKeyDown&&t.onKeyDown(e,s.value,a)||((27==e.keyCode||!1!==t.closeOnEnter&&13==e.keyCode)&&(s.blur(),f.e_stop(e),a()),13==e.keyCode&&n(s.value,e))}),!1!==t.closeOnBlur&&f.on(o,"focusout",function(e){null!==e.relatedTarget&&a()})):(e=o.getElementsByTagName("button")[0])&&(f.on(e,"click",function(){a(),i.focus()}),!1!==t.closeOnBlur&&f.on(e,"blur",a),e.focus()),a}),f.defineExtension("openConfirm",function(e,n,t){d(this,null);var o=h(this,e,t&&t.bottom),r=o.getElementsByTagName("button"),i=!1,a=this,s=1;function l(){i||(i=!0,f.rmClass(o.parentNode,"dialog-opened"),o.parentNode.removeChild(o),a.focus())}r[0].focus();for(var c=0;c{f.on(u,"click",function(e){f.e_preventDefault(e),l(),n&&n(a)})})(n[c]),f.on(u,"blur",function(){--s,setTimeout(function(){s<=0&&l()},200)}),f.on(u,"focus",function(){++s})}}),f.defineExtension("openNotification",function(e,n){d(this,i);var t,o=h(this,e,n&&n.bottom),r=!1,e=n&&void 0!==n.duration?n.duration:5e3;function i(){r||(r=!0,clearTimeout(t),f.rmClass(o.parentNode,"dialog-opened"),o.parentNode.removeChild(o))}return f.on(o,"click",function(e){f.e_preventDefault(e),i()}),e&&(t=setTimeout(i,e)),i})}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("./searchcursor"),require("../dialog/dialog")):"function"==typeof define&&define.amd?define("addon/search/search.js",["../../lib/codemirror","./searchcursor","../dialog/dialog"],e):e(CodeMirror)})(function(f){function n(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function h(e){return e.state.search||(e.state.search=new n)}function r(e){return"string"==typeof e&&e==e.toLowerCase()}function d(e,n,t){return e.getSearchCursor(n,t,{caseFold:r(n),multiline:!0})}function p(e,n,t,o,r){e.openDialog?e.openDialog(n,r,{value:o,selectValueOnOpen:!0,bottom:e.options.search.bottom}):r(prompt(t,o))}function g(e){return e.replace(/\\([nrt\\])/g,function(e,n){return"n"==n?"\n":"r"==n?"\r":"t"==n?"\t":"\\"==n?"\\":e})}function i(e){var n=e.match(/^\/(.*)\/([a-z]*)$/);if(n)try{e=new RegExp(n[1],-1==n[2].indexOf("i")?"":"i")}catch(e){}else e=g(e);return e=("string"==typeof e?""==e:e.test(""))?/x^/:e}function m(e,n,t){var o;n.queryText=t,n.query=i(t),e.removeOverlay(n.overlay,r(n.query)),n.overlay=(t=r(o=n.query),"string"==typeof o?o=new RegExp(o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),t?"gi":"g"):o.global||(o=new RegExp(o.source,o.ignoreCase?"gi":"g")),{token:function(e){o.lastIndex=e.pos;var n=o.exec(e.string);if(n&&n.index==e.pos)return e.pos+=n[0].length||1,"searching";n?e.pos=n.index:e.skipToEnd()}}),e.addOverlay(n.overlay),e.showMatchesOnScrollbar&&(n.annotate&&(n.annotate.clear(),n.annotate=null),n.annotate=e.showMatchesOnScrollbar(n.query,r(n.query)))}function t(r,n,e,t){var o=h(r);if(o.query)return v(r,n);var i,a,s,l,c,u=r.getSelection()||o.lastQuery;u instanceof RegExp&&"x^"==u.source&&(u=null),e&&r.openDialog?(i=null,a=function(e,n){f.e_stop(n),e&&(e!=o.queryText&&(m(r,o,e),o.posFrom=o.posTo=r.getCursor()),i&&(i.style.opacity=1),v(r,n.shiftKey,function(e,n){var t;n.line<3&&document.querySelector&&(t=r.display.wrapper.querySelector(".CodeMirror-dialog"))&&t.getBoundingClientRect().bottom-4>r.cursorCoords(n,"window").top&&((i=t).style.opacity=.4)}))},e=C(s=r),l=u,c=function(e,n){var t=f.keyName(e),o=r.getOption("extraKeys"),o=o&&o[t]||f.keyMap[r.getOption("keyMap")][t];"findNext"==o||"findPrev"==o||"findPersistentNext"==o||"findPersistentPrev"==o?(f.e_stop(e),m(r,h(r),n),r.execCommand(o)):"find"!=o&&"findPersistent"!=o||(f.e_stop(e),a(n,e))},s.openDialog(e,a,{value:l,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){y(s)},onKeyDown:c,bottom:s.options.search.bottom}),t&&u&&(m(r,o,u),v(r,n))):p(r,C(r),"Search for:",u,function(e){e&&!o.query&&r.operation(function(){m(r,o,e),o.posFrom=o.posTo=r.getCursor(),v(r,n)})})}function v(t,o,r){t.operation(function(){var e=h(t),n=d(t,e.query,o?e.posFrom:e.posTo);(n.find(o)||(n=d(t,e.query,o?f.Pos(t.lastLine()):f.Pos(t.firstLine(),0))).find(o))&&(t.setSelection(n.from(),n.to()),t.scrollIntoView({from:n.from(),to:n.to()},20),e.posFrom=n.from(),e.posTo=n.to(),r)&&r(n.from(),n.to())})}function y(n){n.operation(function(){var e=h(n);e.lastQuery=e.query,e.query&&(e.query=e.queryText=null,n.removeOverlay(e.overlay),e.annotate)&&(e.annotate.clear(),e.annotate=null)})}function x(e,n){var t,o=e?document.createElement(e):document.createDocumentFragment();for(t in n)o[t]=n[t];for(var r=2;r{"function"==typeof e.define&&e.define("addonSearch",["addon/search/search.js"],function(){})})(this);
\ No newline at end of file
diff --git a/include/thirdparty/ckeditor/plugins/codemirror/js/codemirror.min.js b/include/thirdparty/ckeditor/plugins/codemirror/js/codemirror.min.js
index ac97402..ed5e327 100644
--- a/include/thirdparty/ckeditor/plugins/codemirror/js/codemirror.min.js
+++ b/include/thirdparty/ckeditor/plugins/codemirror/js/codemirror.min.js
@@ -1,330 +1 @@
-!function(fa,ba){"object"==typeof exports&&"undefined"!=typeof module?module.exports=ba():"function"==typeof define&&define.amd?define("codemirror.js",ba):(fa=fa||self).CodeMirror=ba()}(this,function(){function fa(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function ba(a){for(var b=a.childNodes.length;0f||b<=f)return e+(b-d);e=(e+=f-d)+(c-e%c);d=f+1}}function Ia(){this.f=this.id=null;this.time=0;this.handler=cd(this.onTimeout,this)}function W(a,b){for(var c=0;cc?0d?Math.ceil(e):Math.floor(e);if(e==b)return a(e)?b:c;a(e)?c=e:b=e+d}}function Db(a,b,c){var d;Eb=null;for(var e=0;eb)return e;f.to==b&&(f.from!=f.to&&"before"==c?d=e:Eb=e);f.from==b&&(f.from!=f.to&&"before"!=c?d=e:Eb=e)}return null!=d?d:Eb}function gb(a,b,c){this.level=a;this.from=b;this.to=c}
-function Aa(a,b){var c=a.order,d;if(null==c){var c=a.text,e="ltr"==b?"L":"R";if(0==c.length||"ltr"==b&&!te.test(c))c=!1;else{for(var f,g=c.length,h=[],k=0;k=(f=c.charCodeAt(k))?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(f):1424<=f&&1524>=f?"R":1536<=f&&1785>=f?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(f-
-1536):1774<=f&&2220>=f?"r":8192<=f&&8203>=f?"w":8204==f?"b":"L");f=0;for(k=e;f(b-=a.first)||b>=a.size)throw Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b=a.first&&bB(a,b)?b:a}
-function vc(a,b){return 0>B(a,b)?a:b}function A(a,b){if(b.linec?p(c,w(a,c).text.length):(a=w(a,(c=b).line).text.length,null==(b=c.ch)||ab?p(c.line,0):c)}function ye(a,b){for(var c=[],d=0;da.options.maxHighlightLength&&
-Ta(a.doc.mode,d.state),f=ze(a,b,d),e&&(d.state=e),b.stateAfter=d.save(!e),b.styles=f.styles,f.classes?b.styleClasses=f.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,++a.doc.highlightFrontier))),b.styles}function Hb(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new va(d,!0,b);var f=function(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1E3:100);gd.first&&w(d,f-1).stateAfter,h=g?va.fromSaved(d,g,f):new va(d,xe(d.mode),f);return d.iter(f,b,function(c){td(a,c.text,h);var d=h.line;c.stateAfter=d==b-1||0==d%5||d>=e.viewFrom&&de;e++){d&&(d[0]=od(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw Error("Mode "+a.name+" failed to advance stream.");}function De(a,b,c,d){var e,f,g=a.doc,h=g.mode,k=w(g,(b=A(g,b)).line);c=Hb(a,b.line,c);a=new N(k.text,a.options.tabSize,c);for(d&&
-(f=[]);(d||a.posa.options.maxHighlightLength?(h=!1,g&&td(a,b,d,m.pos),m.pos=b.length,null):Fe(ud(c,m,d.state,n),f);if(!n||(u=n[0].name)&&(z="m-"+(z?u+" "+z:u)),!h||l!=z){for(;k=b:g.to>b),(d=d||[]).push(new xc(h,
-g.from,f?null:g.to)))}return d}(c,d,f),e=function(a,b,c){var d;if(a)for(var e=0;e=b:g.to>b))&&(g.from!=b||"bookmark"!=h.type||c&&!g.marker.insertLeft)||(f=null==g.from||(h.inclusiveLeft?g.from<=b:g.fromwd(c,e.marker))&&(c=e.marker);return c}function Je(a,b,c,d,e){a=w(a,b);if(a=Ba&&a.markedSpans)for(b=0;b=k||0>=h&&0<=k)&&(0>=h&&(f.marker.inclusiveRight&&e.inclusiveLeft?0<=
-B(g.to,c):0=B(g.from,d):0>B(g.from,d))))return 1}}}function oa(a){for(var b;b=kb(a,!0);)a=b.find(-1,!0).line;return a}function xd(a,b){a=w(a,b);var c=oa(a);return a==c?b:H(c)}function Ke(a,b){if(b>a.lastLine())return b;var c,d=w(a,b);if(!Ja(a,d))return b;for(;c=kb(d,!1);)d=c.find(1,!0).line;return H(d)+1}function Ja(a,b){var c=Ba&&b.markedSpans;if(c)for(var d,e=0;eb.maxLineLength&&(b.maxLineLength=d,b.maxLine=a)})}function Le(a,b){if(!a||/^\s*$/.test(a))return null;b=b.addModeClass?Bg:Cg;return b[a]||(b[a]=a.replace(/\S+/g,"cm-$\x26"))}function Me(a,b){var c=fb("span",null,null,X?"padding-right: .1px":null),d={pre:fb("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:a.getOption("lineWrapping")};b.measure={};for(var e=0;e<=(b.rest?b.rest.length:0);e++){var f=e?b.rest[e-1]:b.line,g=void 0,
-g=(d.pos=0,d.addToken=Dg,function(a){if(null!=zd)return zd;var b=ga(a,document.createTextNode("AخA")),c=Jb(b,0,1).getBoundingClientRect(),b=Jb(b,1,2).getBoundingClientRect();return ba(a),c&&c.left!=c.right&&(zd=3>b.right-c.right)}(a.display.measure)&&(g=Aa(f,a.doc.direction))&&(d.addToken=function(a,b){return function(c,d,e,f,g,x,E){e=e?e+" cm-force-border":"cm-force-border";for(var y=c.pos,C=y+d.length;;){for(var Q=void 0,p=0;py&&Q.from<=y);p++);if(Q.to>=C)return a(c,d,e,
-f,g,x,E);a(c,d.slice(0,Q.to-y),e,f,null,x,E);f=null;d=d.slice(Q.to-y);y=Q.to}}}(d.addToken,g)),d.map=[],b!=a.display.externalMeasured&&H(f));!function(a,b,c){var d=a.markedSpans;a=a.text;var e=0;if(d)for(var f,g,x,E,y,C,Q,p=a.length,O=0,Ne=1,w="",t=0;;){if(t==O){x=E=y=g="";C=Q=null;for(var t=1/0,Ca=[],q=void 0,v=0;vO||r.collapsed&&U.to==O&&U.from==O)){if(null!=U.to&&
-U.to!=O&&t>U.to&&(t=U.to,E=""),r.className&&(x+=" "+r.className),r.css&&(g=(g?g+";":"")+r.css),r.startStyle&&U.from==O&&(y+=" "+r.startStyle),r.endStyle&&U.to==t&&(q=q||[]).push(r.endStyle,U.to),r.title&&((Q=Q||{}).title=r.title),r.attributes)for(var B in r.attributes)(Q=Q||{})[B]=r.attributes[B];r.collapsed&&(!C||0>wd(C.marker,r))&&(C=U)}else U.from>O&&t>U.from&&(t=U.from)}if(q)for(v=0;v=f.offsetWidth&&2K))),(g=Ad?v("span",""):v("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px")).setAttribute("cm-text",""),g)));0==e?(b.measure.map=d.map,b.measure.cache=
-{}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}return X&&(c=d.content.lastChild,(/\bcm-tab\b/.test(c.className)||c.querySelector&&c.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack")),M(a,"renderLine",a,b.line,d.pre),d.pre.className&&(d.textClass=bd(d.pre.className,d.textClass||"")),d}function Dg(a,b,c,d,e,f,g){if(b){var h;if(a.splitSpaces)if(h=a.trailingSpace,1K?m.appendChild(v("span",[x])):m.appendChild(x),a.map.push(a.pos,a.pos+z,x),a.col+=z,a.pos+=z),!u)break;var n=n+(1+z),x=void 0;"\t"==u[0]?(z=(z=a.cm.options.tabSize)-a.col%z,(x=m.appendChild(v("span",
-ed(z),"cm-tab"))).setAttribute("role","presentation"),x.setAttribute("cm-text","\t"),a.col+=z):("\r"==u[0]||"\n"==u[0]?(x=m.appendChild(v("span","\r"==u[0]?"␍":"","cm-invalidchar"))).setAttribute("cm-text",u[0]):((x=a.cm.options.specialCharPlaceholder(u[0])).setAttribute("cm-text",u[0]),I&&9>K?m.appendChild(v("span",[x])):m.appendChild(x)),a.col+=1);a.map.push(a.pos,a.pos+1,x);a.pos++}else a.col+=b.length,m=document.createTextNode(k),a.map.push(a.pos,a.pos+b.length,m),I&&9>K&&(h=!0),a.pos+=b.length;
-if(a.trailingSpace=32==k.charCodeAt(b.length-1),c||d||e||h||f||g){h=c||"";b=(d&&(h+=d),e&&(h+=e),v("span",[m],h,f));if(g)for(var E in g)g.hasOwnProperty(E)&&"style"!=E&&"class"!=E&&b.setAttribute(E,g[E]);return a.content.appendChild(b)}a.content.appendChild(m)}}function Pe(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e);!d&&a.cm.display.input.needsContentAttribute&&(e=e||a.content.appendChild(document.createElement("span"))).setAttribute("cm-marker",c.id);e&&(a.cm.display.input.setUneditable(e),
-a.content.appendChild(e));a.pos+=b;a.trailingSpace=!1}function Qe(a,b,c){for(var d=this.line=b,e;d=kb(d,!1);)d=d.find(1,!0).line,(e=e||[]).push(d);this.size=(this.rest=e)?H(F(this.rest))-c+1:1;this.node=this.text=null;this.hidden=Ja(a,b)}function zc(a,b,c){for(var d=[],e=b;eK&&(a.node.style.zIndex=2)),a.node}function Se(a,b){var c=
-a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):Me(a,b)}function Bd(a,b){(e=(c=b).bgClass?c.bgClass+" "+(c.line.bgClass||""):c.line.bgClass)&&(e+=" CodeMirror-linebackground");c.background?e?c.background.className=e:(c.background.parentNode.removeChild(c.background),c.background=null):e&&(d=Lb(c),c.background=d.insertBefore(v("div",null,e),d.firstChild),a.display.input.setUneditable(c.background));b.line.wrapClass?Lb(b).className=b.line.wrapClass:
-b.node!=b.text&&(b.node.className="");var c,d,e=b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass;b.text.className=e||""}function Te(a,b,c,d){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null);b.line.gutterClass&&(f=Lb(b),b.gutterBackground=v("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?d.fixedPos:-d.gutterTotalWidth)+"px; width: "+d.gutterTotalWidth+
-"px"),a.display.input.setUneditable(b.gutterBackground),f.insertBefore(b.gutterBackground,b.text));var e=b.line.gutterMarkers;if(a.options.lineNumbers||e){var f=Lb(b),g=b.gutter=v("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?d.fixedPos:-d.gutterTotalWidth)+"px");if(g.setAttribute("aria-hidden","true"),a.display.input.setUneditable(g),f.insertBefore(g,b.text),b.line.gutterClass&&(g.className+=" "+b.line.gutterClass),!a.options.lineNumbers||e&&e["CodeMirror-linenumbers"]||
-(b.lineNumber=g.appendChild(v("div",qd(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+d.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px"))),e)for(b=0;bc)return{map:a.measure.maps[b],cache:a.measure.caches[b],before:!0}}}function Ye(a,b,c,d){return ya(a,mb(a,b),c,d)}function Ed(a,b){return b>=a.display.viewFrom&&b=a.lineN&&bm;m++){for(;h&&gd(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+kK&&0==h&&k==f.coverEnd-f.coverStart?
-g.parentNode.getBoundingClientRect():function(a,b){var c=$e;if("left"==b)for(var d=0;dK&&(e=function(a,b){var c;if(!(c=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI)){c=a;if(null!=Gd)c=Gd;else{var d=(c=ga(c,v("span","x"))).getBoundingClientRect();c=Jb(c,0,1).getBoundingClientRect();
-c=Gd=1K)||h||e&&(e.left||e.right)||(c=g.parentNode.getClientRects()[0],e=c?{left:c.left,right:c.left+nb(a.display),top:c.top,bottom:c.bottom}:$e);
-c=e.top-b.rect.top;d=e.bottom-b.rect.top;h=(c+d)/2;f=b.view.measure.heights;for(g=0;gb)&&(e=(f=k-h)-1,k<=b&&(g="right")),null!=e){if(d=a[l+2],h==k&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;l&&a[l-2]==a[l-3]&&a[l-1].insertLeft;)d=a[2+(l-=3)],g="left";if("right"==c&&e==k-h)for(;l=d.text.length?(l=d.text.length,b="before"):0>=l&&(l=0,b="after"),!k)return g("before"==b?l-1:l,"before"==b);var m=Db(k,l,b),n=Eb,m=h(l,m,"before"==b);return null!=n&&(m.other=h(l,n,"before"!=b)),m}function ff(a,
-b){var c=0;b=(b=A(a.doc,b),a.options.lineWrapping||(c=nb(a.display)*b.ch),w(a.doc,b.line));a=wa(b)+a.display.lineSpace.offsetTop;return{left:c,right:c,top:a,bottom:a+b.height}}function Id(a,b,c,d,e){a=p(a,b,c);return a.xRel=e,d&&(a.outside=d),a}function Jd(a,b,c){var d=a.doc;if(0>(c+=a.display.viewOffset))return Id(d.first,0,null,-1,-1);var e=Va(d,c),f=d.first+d.size-1;if(fb&&(b=0);for(var g=w(d,e);;){f=function(a,b,c,d,e){e-=wa(b);var f=
-mb(a,b),g=Hd(b),x=0,E=b.text.length,y=!0,C=Aa(b,a.doc.direction);C&&(C=(a.options.lineWrapping?Gg:Hg)(a,b,c,f,C,d,e),y=1!=C.level,x=y?C.from:C.to-1,E=y?C.to:C.from-1);var Q=null,pa=null,C=Cb(function(b){var c=ya(a,f,b);return c.top+=g,c.bottom+=g,Kd(c,d,e,!1)&&(c.top<=e&&c.left<=d&&(Q=b,pa=c),1)},x,E),r=!1,q,w;pa?(q=d-pa.left=E.bottom?1:0);return C=se(b.text,C,1),Id(c,C,w,r,d-q)}(a,g,e,b,c);g=function(a,b){var c,d=Ba&&a.markedSpans;if(d)for(var e=0;eb)&&(!c||0>wd(c,f.marker))&&(c=f.marker)}return c}(g,f.ch+(0d},e,b)}}function hf(a,b,c,d){return gf(a,b,c=c||mb(a,b),Bc(a,b,ya(a,c,d),"line").top)}function Kd(a,b,c,d){return!(a.bottom<=c)&&(a.top>c||(d?a.left:a.right)>b)}function Hg(a,b,c,d,e,f,g){var h,k=Cb(function(h){h=e[h];var k=1!=h.level;return Kd(qa(a,p(c,k?h.to:h.from,k?"before":"after"),"line",b,d),f,g,!0)},0,e.length-1),l=e[k];return 0g&&(l=
-e[k-1])),l}function Gg(a,b,c,d,e,f,g){g=gf(a,b,d,g);c=g.begin;g=g.end;b=(/\s/.test(b.text.charAt(g-1))&&g--,null);for(var h=null,k=0;k=g||m.to<=c||(l=(l=ya(a,d,1!=m.level?Math.min(g,m.to)-1:Math.max(c,m.from)).right)g?{from:b.from,to:g,level:b.level}:b}function ob(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==Ya){Ya=v("pre",null,"CodeMirror-line-like");
-for(var b=0;49>b;++b)Ya.appendChild(document.createTextNode("x")),Ya.appendChild(v("br"));Ya.appendChild(document.createTextNode("x"))}ga(a.measure,Ya);b=Ya.offsetHeight/50;return 3=a.display.viewTo||0>(b-=a.display.viewFrom))return null;for(var c=a.display.view,d=0;d(b-=c[d].size))return d}function aa(a,b,c,d){null==b&&(b=a.doc.first);null==c&&(c=a.doc.first+a.doc.size);var e,f=a.display,g=((d=d||0)&&cb)&&(f.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=f.viewTo?Ba&&xd(a.doc,b)f.viewFrom?La(a):(f.viewFrom+=d,f.viewTo+=d):b<=f.viewFrom&&c>=f.viewTo?La(a):b<=f.viewFrom?(g=Dc(a,c,c+d,1))?(f.view=f.view.slice(g.index),f.viewFrom=g.lineN,f.viewTo+=d):La(a):c>=f.viewTo?(g=Dc(a,b,b,-1))?(f.view=f.view.slice(0,g.index),f.viewTo=g.lineN):La(a):(g=Dc(a,b,b,-1),e=Dc(a,c,c+d,1),g&&e?(f.view=f.view.slice(0,g.index).concat(zc(a,
-g.lineN,e.lineN)).concat(f.view.slice(e.index)),f.viewTo+=d):La(a)),f.externalMeasured);g&&(c=e.lineN&&b=d.viewTo||null!=(e=d.view[Xa(a,b)]).node&&-1==W(d=e.changes||(e.changes=[]),c)&&d.push(c)}function La(a){a.display.viewFrom=a.display.viewTo=a.doc.first;a.display.view=[];a.display.viewOffset=
-0}function Dc(a,b,c,d){var e=Xa(a,b),f=a.display.view;if(!Ba||c==a.doc.first+a.doc.size)return{index:e,lineN:c};for(var g=a.display.viewFrom,h=0;hd?0:f.length-1))return null;c+=d*f[e-(0>d?1:0)].size;e+=d}return{index:e,lineN:c}}function kf(a){a=a.display.view;for(var b=0,c=0;c=a.display.viewTo||h.to().lineb&&(b=0);b=Math.round(b);e=Math.round(e);
-h.appendChild(v("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?m-a:c)+"px;\n height: "+(e-b)+"px"))}function e(b,c,f){function h(c,d){return Cc(a,p(b,c),"div",y,d)}function k(b,c,d){b=hf(a,y,null,b);c="ltr"==c==("after"==d)?"left":"right";return h("after"==d?b.begin:b.end-(/\s/.test(y.text.charAt(b.end-1))?2:1),c)[c]}var u,z,y=w(g,b),Q=y.text.length,E=Aa(y,g.direction);return function(a,
-b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,f=0;fb||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr",f),e=!0)}e||d(b,c,"ltr")}(E,c||0,null==f?Q:f,function(a,b,e,g){var n,C,y,p,r,w="ltr"==e,t=h(a,w?"left":"right"),v=h(b-1,w?"right":"left"),pa=null==c&&0==a,A=null==f&&b==Q,B=0==g;g=!E||g==E.length-1;3>=v.top-t.top?(n=(q?pa:A)&&B?l:(w?t:v).left,r=(q?A:pa)&&g?m:(w?v:t).right,d(n,t.top,r-n,t.bottom)):(r=w?(C=q&&pa&&B?l:t.left,y=
-q?m:k(a,e,"before"),p=q?l:k(b,e,"after"),q&&A&&g?m:v.right):(C=q?k(a,e,"before"):l,y=!q&&pa&&B?m:t.right,p=!q&&A&&g?l:v.left,q?k(b,e,"after"):m),d(C,t.top,y-C,t.bottom),t.bottomEc(t,u))&&(u=t);0>Ec(v,u)&&(u=v);(!z||0>Ec(t,z))&&(z=t);0>Ec(v,z)&&(z=v)}),{start:u,end:z}}var f=a.display,g=a.doc,h=document.createDocumentFragment(),k=We(a.display),l=k.left,m=Math.max(f.sizerWidth,Wa(a)-f.sizer.offsetLeft)-k.right,q="ltr"==g.direction,f=b.from(),
-k=b.to(),r;f.line==k.line?e(f.line,f.ch,k.ch):(b=w(g,f.line),r=w(g,k.line),r=oa(b)==oa(r),f=e(f.line,f.ch,r?b.text.length+1:null).end,b=e(k.line,r?0:null,k.ch).start,r&&(f.topa.options.cursorBlinkRate&&(b.cursorDiv.style.visibility="hidden"))}function mf(a){a.hasFocus()||(a.display.input.focus(),a.state.focused||Pd(a))}function Qd(a){a.state.delayingBlurEvent=!0;setTimeout(function(){a.state.delayingBlurEvent&&
-(a.state.delayingBlurEvent=!1,a.state.focused&&pb(a))},100)}function Pd(a,b){a.state.delayingBlurEvent&&!a.state.draggingText&&(a.state.delayingBlurEvent=!1);"nocursor"!=a.options.readOnly&&(a.state.focused||(M(a,"focus",a,b),a.state.focused=!0,Ra(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),X&&setTimeout(function(){return a.display.input.reset(!0)},20)),a.display.input.receivedFocus()),Od(a))}function pb(a,b){a.state.delayingBlurEvent||
-(a.state.focused&&(M(a,"blur",a,b),a.state.focused=!1,$a(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function Fc(a){for(var b=a.display,c=b.lineDiv.offsetTop,d=Math.max(0,b.scroller.getBoundingClientRect().top),e=b.lineDiv.getBoundingClientRect().top,f=0,g=0;gK?(l=(n=h.node.offsetTop+h.node.offsetHeight)-
-c,c=n):(l=(n=h.node.getBoundingClientRect()).bottom-n.top,!k&&h.text.firstChild&&(m=h.text.firstChild.getBoundingClientRect().right-n.left-1));var n,k=h.line.height-l;if((.005k)&&(ea.display.sizerWidth&&(k=Math.ceil(m/nb(a.display)))>a.display.maxLineLength&&(a.display.maxLineLength=k,a.display.maxLine=h.line,a.display.maxLineChanged=!0)}}2=f&&(e=Va(b,wa(w(b,c))-a.wrapper.clientHeight),f=c)),{from:e,to:Math.max(f,e+1)}}
-function Rd(a,b){var c=a.display,d=ob(a.display),e=(0>b.top&&(b.top=0),(a.curOp&&null!=a.curOp.scrollTop?a.curOp:c.scroller).scrollTop),f=Dd(a),g={},h=(b.bottom-b.top>f&&(b.bottom=b.top+f),a.doc.height+Cd(c)),k=b.toph-d,d=(b.tope+f&&(k=Math.min(b.top,(d?h:b.bottom)-f))!=e&&(g.scrollTop=k),a.options.fixedGutter?0:c.gutters.offsetWidth),h=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft-d,f=Wa(a)-c.gutters.offsetWidth,e=b.right-
-b.left>f;return e&&(b.right=b.left+f),10>b.left?g.scrollLeft=0:b.leftf+h-3&&(g.scrollLeft=b.right+(e?0:10)-f),g}function Hc(a,b){null!=b&&(Ic(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc:a.curOp).scrollTop+b)}function qb(a){Ic(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}function Pb(a,b,c){null==b&&null==c||Ic(a);null!=b&&(a.curOp.scrollLeft=b);null!=c&&(a.curOp.scrollTop=c)}function Ic(a){var b=
-a.curOp.scrollToPos;b&&(a.curOp.scrollToPos=null,of(a,ff(a,b.from),ff(a,b.to),b.margin))}function of(a,b,c,d){b=Rd(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});Pb(a,b.scrollLeft,b.scrollTop)}function Qb(a,b){2>Math.abs(a.doc.scrollTop-b)||(Ea||Sd(a,{top:b}),pf(a,b,!0),Ea&&Sd(a),Rb(a,100))}function pf(a,b,c){b=Math.max(0,Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b));a.display.scroller.scrollTop==
-b&&!c||(a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b))}function ab(a,b,c,d){b=Math.max(0,Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth));(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))&&!d||(a.doc.scrollLeft=b,qf(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function Sb(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+
-Cd(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+xa(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function bb(a,b,c){this.cm=c;var d=this.vert=v("div",[v("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),e=this.horiz=v("div",[v("div",null,null,"height: 100%; min-height: 1px")],
-"CodeMirror-hscrollbar");d.tabIndex=e.tabIndex=-1;a(d);a(e);r(d,"scroll",function(){d.clientHeight&&b(d.scrollTop,"vertical")});r(e,"scroll",function(){e.clientWidth&&b(e.scrollLeft,"horizontal")});this.checkedZeroWidth=!1;I&&8>K&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function Tb(){}function rb(a,b){b=b||Sb(a);var c=a.display.barWidth,d=a.display.barHeight;rf(a,b);for(var e=0;4>e&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&
-Fc(a),rf(a,Sb(a)),c=a.display.barWidth,d=a.display.barHeight}function rf(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px";c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px";c.heightForcer.style.borderBottom=d.bottom+"px solid transparent";d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="";d.bottom&&a.options.coverGutterNextToScrollbar&&
-a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function sf(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&$a(a.display.wrapper,a.display.scrollbars.addClass));a.display.scrollbars=new tf[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller);r(b,"mousedown",function(){a.state.focused&&
-setTimeout(function(){return a.display.input.focus()},0)});b.setAttribute("cm-not-content","true")},function(b,c){("horizontal"==c?ab:Qb)(a,b)},a);a.display.scrollbars.addClass&&Ra(a.display.wrapper,a.display.scrollbars.addClass)}function cb(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Ig,
-markArrays:null};a=a.curOp;lb?lb.ops.push(a):a.ownsGroup=lb={ops:[a],delayedCallbacks:[]}}function db(a){if(a=a.curOp){var b=function(a){for(var b=0;b=c.viewTo)||c.maxLineChanged&&e.options.lineWrapping;d.update=d.mustUpdate&&new Jc(e,d.mustUpdate&&{top:d.scrollTop,ensure:d.scrollToPos},d.forceUpdate)}for(b=0;be;e++){var f,g=!1,h=qa(a,b),k=c&&c!=b?qa(a,c):h,h=Rd(a,f={left:Math.min(h.left,k.left),top:Math.min(h.top,k.top)-d,right:Math.max(h.left,k.left),bottom:Math.max(h.bottom,k.bottom)+d}),k=a.doc.scrollTop,l=a.doc.scrollLeft;if(null!=h.scrollTop&&(Qb(a,h.scrollTop),1b.top+f.top?d=!0:b.bottom+f.top>(e.defaultView.innerHeight||e.documentElement.clientHeight)&&(d=!1),null==d||Jg||(f=v("div","",null,"position: absolute;\n top: "+(b.top-c.viewOffset-a.display.lineSpace.offsetTop)+"px;\n height: "+(b.bottom-b.top+xa(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: "+
-Math.max(2,b.right-b.left)+"px;"),a.display.lineSpace.appendChild(f),f.scrollIntoView(d),a.display.lineSpace.removeChild(f)))}(c,b));var f=e.maybeHiddenMarkers,E=e.maybeUnhiddenMarkers;if(f)for(var y=0;y=a.display.viewTo||(b=+new Date+a.options.workTime,c=Hb(a,e.highlightFrontier),d=[],e.iter(c.line,Math.min(e.first+e.size,a.display.viewTo+
-500),function(f){if(c.line>=a.display.viewFrom){for(var g=f.styles,h=f.text.length>a.options.maxHighlightLength?Ta(e.mode,c.state):null,k=ze(a,f,c,!0),h=(h&&(c.state=h),f.styles=k.styles,f.styleClasses),k=k.classes,h=(k?f.styleClasses=k:h&&(f.styleClasses=null),!g||g.length!=f.styles.length||h!=k&&(!h||!k||h.bgClass!=k.bgClass||h.textClass!=k.textClass)),k=0;!h&&kb)return Rb(a,a.options.workDelay),!0}),e.highlightFrontier=c.line,e.modeFrontier=Math.max(e.modeFrontier,c.line),d.length&&da(a,function(){for(var b=0;b=d.viewFrom&&
-b.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==kf(a))return!1;vf(a)&&(La(a),b.dims=Fd(a));var f=e.first+e.size,g=Math.max(b.visible.from-a.options.viewportMargin,e.first),h=Math.min(f,b.visible.to+a.options.viewportMargin),e=(d.viewFromg-d.viewFrom&&(g=Math.max(e.first,d.viewFrom)),d.viewTo>h&&20>d.viewTo-h&&(h=Math.min(f,d.viewTo)),Ba&&(g=xd(a.doc,g),h=Ke(a.doc,h)),g!=d.viewFrom||h!=d.viewTo||d.lastWrapHeight!=b.wrapperHeight||
-d.lastWrapWidth!=b.wrapperWidth),f=(f=g,g=h,0==(n=(h=a).display).view.length||f>=n.viewTo||g<=n.viewFrom?(n.view=zc(h,f,g),n.viewFrom=f):(n.viewFrom>f?n.view=zc(h,f,n.viewFrom).concat(n.view):n.viewFromg&&(n.view=n.view.slice(0,Xa(h,g)))),n.viewTo=g,d.viewOffset=wa(w(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px",kf(a));if(!e&&0==f&&!b.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||
-d.updateLineNumbers>=d.viewTo))return!1;for(var h=function(a){if(a.hasFocus()||!(c=ka(ca(a)))||!Ha(a.display.lineDiv,c))return null;var b,c={activeElt:c};return window.getSelection&&(b=ca(a).defaultView.getSelection()).anchorNode&&b.extend&&Ha(a.display.lineDiv,b.anchorNode)&&(c.anchorNode=b.anchorNode,c.anchorOffset=b.anchorOffset,c.focusNode=b.focusNode,c.focusOffset=b.focusOffset),c}(a),k=(4=
-a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!Td(a,b))break;Fc(a);d=Sb(a);Ob(a);rb(a,d);Ud(a,d);b.force=!1}b.signal(a,"update",a);a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function Sd(a,b){var c;b=new Jc(a,b);Td(a,b)&&(Fc(a),uf(a,b),c=Sb(a),Ob(a),rb(a,c),Ud(a,c),b.finish())}function Vd(a){a.sizer.style.marginLeft=
-a.gutters.offsetWidth+"px";R(a,"gutterChanged",a)}function Ud(a,b){a.display.sizer.style.minHeight=b.docHeight+"px";a.display.heightForcer.style.top=b.docHeight+"px";a.display.gutters.style.height=b.docHeight+a.display.barHeight+xa(a)+"px"}function qf(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=Ld(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;gK&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);X||Ea&&Vb||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=b.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;this.gutterSpecs=Wd(d.gutters,d.lineNumbers);wf(this);c.init(this)}function yf(a){var b=
-a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function zf(a,b){Ka&&102==xf&&(null==a.display.chromeScrollHack?a.display.sizer.style.pointerEvents="none":clearTimeout(a.display.chromeScrollHack),a.display.chromeScrollHack=setTimeout(function(){a.display.chromeScrollHack=null;a.display.sizer.style.pointerEvents=""},100));var c=yf(b),d=c.x,c=c.y,e=Fa,f=(0===b.deltaMode&&
-(d=b.deltaX,c=b.deltaY,e=1),a.display),g=f.scroller,h=g.scrollWidth>g.clientWidth,k=g.scrollHeight>g.clientHeight;if(d&&h||c&&k){if(c&&na&&X){var l=b.target,m=f.view;a:for(;l!=g;l=l.parentNode)for(var n=0;n(e*=c)?h=Math.max(0,h+
-e-50):k=Math.min(a.doc.height,k+e+50),Sd(a,{top:h,bottom:k}));20>Kc&&0!==b.deltaMode&&(null==f.wheelStartX?(f.wheelStartX=g.scrollLeft,f.wheelStartY=g.scrollTop,f.wheelDX=d,f.wheelDY=c,setTimeout(function(){var a,b;null!=f.wheelStartX&&(a=g.scrollLeft-f.wheelStartX,b=(b=g.scrollTop-f.wheelStartY)&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX,f.wheelStartX=f.wheelStartY=null,b&&(Fa=(Fa*Kc+b)/(Kc+1),++Kc))},200)):(f.wheelDX+=d,f.wheelDY+=c))}}function sa(a,b,c){var d=a&&a.options.selectionsMayTouch;
-a=b[c];b.sort(function(a,b){return B(a.from(),b.from())});c=W(b,a);for(a=1;a
-B(a,b.from))return a;if(0>=B(a,b.to))return Na(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Na(b).ch-b.to.ch),p(c,d)}function Xd(a,b){for(var c=[],d=0;dh-(a.cm?a.cm.options.historyEventDelay:500)||"*"==b.origin.charAt(0)))&&(f=(f=g).lastOp==d?(Gf(f.done),F(f.done)):f.done.length&&!F(f.done).ranges?F(f.done):1g.undoDepth;)g.done.shift(),g.done[0].ranges||g.done.shift();g.done.push(c);g.generation=++g.maxGeneration;g.lastModTime=g.lastSelTime=h;g.lastOp=g.lastSelOp=d;g.lastOrigin=g.lastSelOrigin=b.origin;e||M(a,"historyAdded")}function Mc(a,b){var c=F(b);
-c&&c.ranges&&c.equals(a)||b.push(a)}function Ff(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e=e||(b["spans_"+a.id]={}))[f]=c.markedSpans);++f})}function Mg(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;eB(b,d))!=0>B(c,d)?(d=b,b=c):a!=0>B(b,c)&&(b=c)),new J(d,b)):new J(c||b,b)}function Nc(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend));V(a,new ia([ae(a.sel.primary(),b,c,e)],0),d)}function Jf(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;fB(b.primary().head,a.sel.primary().head)?-1:1);Lf(a,Mf(a,b,f,!0));c&&!1===c.scroll||!a.cm||"nocursor"==a.cm.getOption("readOnly")||qb(a.cm)}function Lf(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=1,a.cm.curOp.selectionChanged=!0,ue(a.cm)),R(a,"cursorActivity",a))}function Nf(a){Lf(a,Mf(a,a.sel,null,!1))}function Mf(a,b,c,d){for(var e,f=0;f=b.ch:h.to>b.ch))){if(e&&(M(k,"beforeCursorEnter"),k.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(k.atomic){if(c&&(h=k.find(0>d?1:-1),g=void 0,(h=(0>d?m:l)?Of(a,h,-d,h&&h.line==b.line?f:null):h)&&h.line==b.line&&(g=B(h,c))&&(0>d?0>g:0d?-1:1);return(g=(0>d?l:m)?Of(a,g,d,g.line==b.line?f:null):g)?ub(a,g,b,d,e):null}}}return b}function Pc(a,b,c,d,e){d=d||1;return(e=ub(a,b,c,d,e)||!e&&ub(a,b,c,d,!0)||ub(a,b,c,-d,e)||!e&&ub(a,b,c,
--d,!0))||(a.cantEdit=!0,p(a.first,0))}function Of(a,b,c,d){return 0>c&&0==b.ch?b.line>a.first?A(a,p(b.line-1)):null:0B(z.to,k.from)||0n||!c.inclusiveLeft&&!n)&&m.push({from:z.from,to:k.from}),(0a.lastLine())){b.from.linee?{from:b.from,to:p(e,w(a,e).text.length),text:[b.text[0]],origin:b.origin}:b).removed=Ua(a,b.from,b.to),c=c||Xd(a,b),a.cm){var e=a.cm,f=d;d=e.doc;var g=e.display,
-h=b.from,k=b.to,l=!1,m=h.line,f=(e.options.lineWrapping||(m=H(oa(w(d,h.line))),d.iter(m,k.line+1,function(a){if(a==g.maxLine)return l=!0})),-1g.maxLineLength&&(g.maxLine=a,g.maxLineLength=b,g.maxLineChanged=!0,l=!1)}),l&&(e.curOp.updateMaxLine=!0)),d),m=h.line;if(f.modeFrontier=Math.min(f.modeFrontier,m),!(f.highlightFrontierB(d=d||c,c)&&(c=(f=[d,c])[0],d=f[1]);"string"==typeof b&&(b=a.splitLines(b));vb(a,{from:c,to:d,text:b,origin:e})}function Vf(a,b,c,d){for(var e=0;e=B(f.from,F(d).to);){var g=d.pop();if(0>B(g.from,f.from)){f.from=g.from;break}}d.push(f)}da(a,function(){for(var b=d.length-1;0<=b;b--)wb(a.doc,"",d[b].from,d[b].to,"+delete");qb(a)})}function ce(a,b,c){b=se(a.text,b+c,c);return 0>b||b>a.text.length?null:b}function de(a,b,c){a=ce(a,b.ch,c);return null==a?null:new p(b.line,a,0>c?"after":"before")}function ee(a,b,c,d,e){if(a){"rtl"==b.doc.direction&&
-(e=-e);var f,g,h,k;if(a=Aa(c,b.doc.direction))return f=0>e==(1==(a=0>e?F(a):a[0]).level)?"after":"before",0e?c.text.length-1:0,k=ya(b,g,h).top,h=Cb(function(a){return ya(b,g,a).top==k},0>e==(1==a.level)?a.from:a.to-1,h),"before"==f&&(h=ce(c,h,1))):h=0>e?a.to:a.from,new p(d,h,f)}return new p(d,0>e?c.text.length:0,0>e?"before":"after")}function Tg(a,b,c,d){function e(a,c){return ce(b,a instanceof p?a.ch:a,c)}function f(c){return a.options.lineWrapping?
-(m=m||mb(a,b),hf(a,b,m,c)):{begin:0,end:b.text.length}}function g(a,b,d){for(;0<=a&&a=b.text.length?(c.ch=b.text.length,c.sticky="before"):0>=c.ch&&(c.ch=0,c.sticky="after");var k=Db(h,c.ch,c.sticky),l=h[k];if("ltr"==a.doc.direction&&0==l.level%
-2&&(0c.ch:l.fromd,z=e(c,u?1:-1);if(null!=z&&(u?z<=l.to&&z<=n.end:z>=l.from&&z>=n.begin))return new p(c.line,z,u?"before":"after")}if(l=g(k+d,d,n))return l;z=0K&&27==a.keyCode&&(a.returnValue=!1),
-c=a.keyCode,this.display.shift=16==c||a.shiftKey,d=ig(this,a),ra&&(fe=d?c:null,!d&&88==c&&!Vg&&(na?a.metaKey:a.ctrlKey)&&this.replaceSelection("",null,"cut")),Ea&&!na&&!d&&46==c&&a.shiftKey&&!a.ctrlKey&&document.execCommand&&document.execCommand("cut"),18!=c||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||(Ra(e=this.display.lineDiv,"CodeMirror-crosshair"),r(document,"keyup",b),r(document,"mouseover",b))))}function kg(a){16==a.keyCode&&(this.doc.sel.shift=!1);P(this,a)}function lg(a){if(!(a.target&&
-a.target!=this.display.input.getField()||Da(this.display,a)||P(this,a)||a.ctrlKey&&!a.altKey||na&&a.metaKey)){var b,c=a.keyCode,d=a.charCode;if(ra&&c==fe)return fe=null,void Z(a);ra&&(!a.which||10>a.which)&&ig(this,a)||"\b"==(c=String.fromCharCode(null==d?c:d))||ec(b=this,"'"+c+"'",a,function(a){return Sc(b,a,!0)})||this.display.input.onKeyPress(a)}}function ge(a,b,c){this.time=a;this.pos=b;this.button=c}function mg(a){var b,c,d,e,f,g,h,k,l=this.display;P(this,a)||l.activeTouch&&l.input.supportsTouch()||
-(l.input.ensurePolled(),l.shift=a.shiftKey,Da(l,a)?X||(l.scroller.draggable=!1,setTimeout(function(){return l.scroller.draggable=!0},100)):Uc(this,a,"gutterClick",!0)||(b=Za(this,a),c=we(a),d=b?(e=b,f=c,d=+new Date,fc&&fc.compare(d,e,f)?(gc=fc=null,"triple"):gc&&gc.compare(d,e,f)?(fc=new ge(d,e,f),gc=null,"double"):(gc=new ge(d,e,f),fc=null,"single")):"single",ca(this).defaultView.focus(),1==c&&this.state.selectingText&&this.state.selectingText(a),b&&function(a,b,c,d,e){var f="Click";"double"==d?
-f="Double"+f:"triple"==d&&(f="Triple"+f);return ec(a,cg(f=(1==b?"Left":2==b?"Middle":"Right")+f,e),e,function(b){if(!(b="string"==typeof b?dc[b]:b))return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Tc}finally{a.state.suppressEdits=!1}return d})}(this,c,b,d,a)||(1==c?b?(e=this,f=b,g=d,I?setTimeout(cd(mf,e),0):e.curOp.focus=ka(ca(e)),h=function(a,b,c){var d=a.getOption("configureMouse"),d=d?d(a,b,c):{},e;null==d.unit&&(e=Wg?c.shiftKey&&c.metaKey:c.altKey,d.unit=e?"rectangle":
-"single"==b?"char":"double"==b?"word":"line");null!=d.extend&&!a.doc.extend||(d.extend=a.doc.extend||c.shiftKey);null==d.addNew&&(d.addNew=na?c.metaKey:c.ctrlKey);null==d.moveOnDrag&&(d.moveOnDrag=!(na?c.altKey:c.ctrlKey));return d}(e,g,a),k=e.doc.sel,(e.options.dragDrop&&Xg&&!e.isReadOnly()&&"single"==g&&-1<(g=k.contains(f))&&(0>B((g=k.ranges[g]).from(),f)||0f.xRel)?function(a,b,c,d){var e=a.display,f=!1,g=S(a,function(b){X&&(e.scroller.draggable=!1);a.state.draggingText=
-!1;a.state.delayingBlurEvent&&(a.hasFocus()?a.state.delayingBlurEvent=!1:Qd(a));ha(e.wrapper.ownerDocument,"mouseup",g);ha(e.wrapper.ownerDocument,"mousemove",h);ha(e.scroller,"dragstart",k);ha(e.scroller,"drop",g);f||(Z(b),d.addNew||Nc(a.doc,c,null,null,d.extend),X&&!Vc||I&&9==K?setTimeout(function(){e.wrapper.ownerDocument.body.focus({preventScroll:!0});e.input.focus()},20):e.input.focus())}),h=function(a){f=f||10<=Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)},k=function(){return f=
-!0};X&&(e.scroller.draggable=!0);(a.state.draggingText=g).copy=!d.moveOnDrag;r(e.wrapper.ownerDocument,"mouseup",g);r(e.wrapper.ownerDocument,"mousemove",h);r(e.scroller,"dragstart",k);r(e.scroller,"drop",g);a.state.delayingBlurEvent=!0;setTimeout(function(){return e.input.focus()},20);e.scroller.dragDrop&&e.scroller.dragDrop()}:function(a,b,c,d){function e(b){if(0!=B(v,b))if(v=b,"rectangle"==d.unit){for(var f=[],g=a.options.tabSize,n=la(w(h,c.line).text,c.ch,g),x=la(w(h,b.line).text,b.ch,g),r=Math.min(n,
-x),n=Math.max(n,x),x=Math.min(c.line,b.line),t=Math.min(a.lastLine(),Math.max(c.line,b.line));x<=t;x++){var y=w(h,x).text,E=dd(y,r,g);r==n?f.push(new J(p(x,E),p(x,E))):y.length>E&&f.push(new J(p(x,E),p(x,dd(y,n,g))))}f.length||f.push(new J(c,c));V(h,sa(a,q.ranges.slice(0,l).concat(f),l),{origin:"*mouse",scroll:!1});a.scrollIntoView(b)}else n=k,x=ng(a,b,d.unit),b=n.anchor,b=0f:0=c.to||
-l.lineD.bottom?20:0)&&setTimeout(S(a,function(){F==k&&(g.scroller.scrollTop+=f,Oe(b))}),50))}:f)(b)}),G=S(a,f);a.state.selectingText=G;r(g.wrapper.ownerDocument,"mousemove",H);r(g.wrapper.ownerDocument,"mouseup",G)})(e,a,f,h)):(a.target||a.srcElement)==l.scroller&&Z(a):2==c?(b&&Nc(this.doc,b),setTimeout(function(){return l.input.focus()},20)):3==c&&(ie?this.display.input.onContextMenu(a):Qd(this)))))}function ng(a,
-b,c){if("char"==c)return new J(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new J(p(b.line,0),A(a.doc,p(b.line+1,0)));c=c(a,b);return new J(c.from,c.to)}function Uc(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(g){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Z(b);var h=a.display;d=h.lineDiv.getBoundingClientRect();if(f>d.bottom||!ma(a,c))return ld(b);f-=d.top-h.viewOffset;
-for(d=0;d=e)return M(a,c,a,Va(a.doc,f),a.display.gutterSpecs[d].className,b),ld(b)}}function og(a,b){Da(a.display,b)||ma(a,"gutterContextMenu")&&Uc(a,b,"gutterContextMenu",!1)||P(a,b,"contextmenu")||ie||a.display.input.onContextMenu(b)}function pg(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-");Nb(a)}function D(a,
-b){function c(){l.activeTouch&&(m=setTimeout(function(){return l.activeTouch=null},1E3),(n=l.activeTouch).end=+new Date)}function d(a,b){if(null==b.left)return 1;var c=b.left-a.left;b=b.top-a.top;return 400K&&setTimeout(function(){return e.display.input.reset(!0)},20),this),l=k.display;r(l.scroller,"mousedown",S(k,mg));r(l.scroller,
-"dblclick",I&&11>K?S(k,function(a){var b;P(k,a)||!(b=Za(k,a))||Uc(k,a,"gutterClick",!0)||Da(k.display,a)||(Z(a),a=k.findWordAt(b),Nc(k.doc,a.anchor,a.head))}):function(a){return P(k,a)||Z(a)});r(l.scroller,"contextmenu",function(a){return og(k,a)});r(l.input.getField(),"contextmenu",function(a){l.scroller.contains(a.target)||og(k,a)});var m,n={end:0};r(l.scroller,"touchstart",function(a){var b,c;if(!(c=P(k,a))){var d=a;c=1==d.touches.length?1>=(d=d.touches[0]).radiusX&&1>=d.radiusY:void 0}c||Uc(k,
-a,"gutterClick",!0)||(l.input.ensurePolled(),clearTimeout(m),b=+new Date,l.activeTouch={start:b,moved:!1,prev:300>=b-n.end?n:null},1==a.touches.length&&(l.activeTouch.left=a.touches[0].pageX,l.activeTouch.top=a.touches[0].pageY))});r(l.scroller,"touchmove",function(){l.activeTouch&&(l.activeTouch.moved=!0)});r(l.scroller,"touchend",function(a){var b,e=l.activeTouch;e&&!Da(l,a)&&null!=e.left&&!e.moved&&300>new Date-e.start&&(b=k.coordsChar(l.activeTouch,"page"),e=!e.prev||d(e,e.prev)?new J(b,b):!e.prev.prev||
-d(e,e.prev.prev)?k.findWordAt(b):new J(p(b.line,0),A(k.doc,p(b.line+1,0))),k.setSelection(e.anchor,e.head),k.focus(),Z(a));c()});r(l.scroller,"touchcancel",c);r(l.scroller,"scroll",function(){l.scroller.clientHeight&&(Qb(k,l.scroller.scrollTop),ab(k,l.scroller.scrollLeft,!0),M(k,"scroll",k))});r(l.scroller,"mousewheel",function(a){return zf(k,a)});r(l.scroller,"DOMMouseScroll",function(a){return zf(k,a)});r(l.wrapper,"scroll",function(){return l.wrapper.scrollTop=l.wrapper.scrollLeft=0});l.dragFunctions=
-{enter:function(a){P(k,a)||Fb(a)},over:function(a){var b;P(k,a)||((b=Za(k,b=a))&&(Nd(k,b,b=document.createDocumentFragment()),k.display.dragCursor||(k.display.dragCursor=v("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),k.display.lineSpace.insertBefore(k.display.dragCursor,k.display.cursorDiv)),ga(k.display.dragCursor,b)),Fb(a))},start:function(a){var b;I&&(!k.state.draggingText||100>+new Date-Zf)?Fb(a):P(k,a)||Da(k.display,a)||(a.dataTransfer.setData("Text",k.getSelection()),a.dataTransfer.effectAllowed=
-"copyMove",a.dataTransfer.setDragImage&&!Vc&&((b=v("img",null,null,"position: fixed; left: 0; top: 0;")).src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d",ra&&(b.width=b.height=1,k.display.wrapper.appendChild(b),b._top=b.offsetTop),a.dataTransfer.setDragImage(b,0,0),ra&&b.parentNode.removeChild(b)))},drop:S(k,Pg),leave:function(a){P(k,a)||Yf(k)}};h=l.input.getField();for(f in r(h,"keyup",function(a){return kg.call(k,a)}),r(h,"keydown",S(k,jg)),r(h,"keypress",S(k,
-lg)),r(h,"focus",function(a){return Pd(k,a)}),r(h,"blur",function(a){return pb(k,a)}),Qg(),cb(this),this.curOp.forceUpdate=!0,Df(this,g),b.autofocus&&!Vb||this.hasFocus()?setTimeout(function(){e.hasFocus()&&!e.state.focused&&Pd(e)},20):pb(this),Wc)Wc.hasOwnProperty(f)&&Wc[f](this,b[f],Ab);vf(this);b.finishInit&&b.finishInit(this);for(f=0;ff.first?la(w(f,b-1).text,null,g):0:"add"==c?m=k+a.options.indentUnit:"subtract"==c?m=k-a.options.indentUnit:"number"==typeof c&&(m=k+c);var m=
-Math.max(0,m);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(m/g);a;--a)d+=g,c+="\t";if(dg,k=le(b),l=null;if(h&&1g?"cut":"+input")});vb(a.doc,q);R(a,"inputRead",a,q)}b&&!h&&sg(a,b);qb(a);2>a.curOp.updateInput&&(a.curOp.updateInput=m);a.curOp.typing=!0;a.state.pasteIncoming=a.state.cutIncoming=-1}function tg(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");return c&&(a.preventDefault(),b.isReadOnly()||b.options.disableInput||!b.hasFocus()||da(b,function(){return ke(b,c,0,null,"paste")}),1)}function sg(a,
-b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;0<=d;d--){var e=c.ranges[d];if(!(100g:56320<=g&&57343>g,new p(b.line,Math.max(0,Math.min(k.text.length,b.ch+c*(g?2:1))),-c))):e?Tg(a.cm,k,b,c):de(k,b,c))){if(f||(f=b.line+l)=a.first+a.size||(b=new p(f,b.ch,
-b.sticky),!(k=w(a,f))))return;b=ee(e,a.cm,k,b.line,l)}else b=g;return 1}var g=b,h=c,k=w(a,b.line),l=e&&"rtl"==a.direction?-c:c;if("char"==d||"codepoint"==d)f();else if("column"==d)f(!0);else if("word"==d||"group"==d)for(var m=null,n="group"==d,q=a.cm&&a.cm.getHelper(b,"wordChars"),r=!0;!(0>c)||f(!r);r=!1){var x=k.text.charAt(b.ch)||"\n",x=rc(x,q)?"w":n&&"\n"==x?"n":!n||/\s/.test(x)?null:"p";if(!n||r||x||(x="s"),m&&m!=x){0>c&&(c=1,f(),b.sticky="after");break}if(x&&(m=x),0c?0>=f:f>=g.height){b.hitSide=!0;break}f+=5*c}return b}function G(a){this.cm=a;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;
-this.polling=new Ia;this.composing=null;this.gracePeriod=!1;this.readDOMTimeout=null}function xg(a,b){var c=Ed(a,b.line);if(!c||c.hidden)return null;var d=w(a.doc,b.line),c=Xe(c,d,b.line),d=Aa(d,a.doc.direction);a="left";d=(d&&(a=Db(d,b.ch)%2?"right":"left"),Ze(c.map,b.ch,a));return d.offset="right"==d.collapse?d.end:d.start,d}function Bb(a,b){return b&&(a.bad=!0),a}function Xc(a,b,c){var d;if(b==a.display.lineDiv){if(!(d=a.display.lineDiv.childNodes[c]))return Bb(a.clipPos(p(a.display.viewTo-1)),
-!0);b=null;c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;ed?k.map:l[d],f=0;fd?g.line:g.rest[d]),q=e[f]+c,p(h,0>c||r!=a?e[f+(c?1:0)]:q)}};var g=f,f=b,e=g.text.firstChild;b=!1;if(!f||!Ha(e,f))return Bb(p(H(g.line),0),!0);
-if(f==e&&(b=!0,f=e.childNodes[c],c=0,!f))return Bb(p(H(h=g.rest?F(g.rest):g.line),h.text.length),b);var h=3==f.nodeType?f:null;d=f;for(h||1!=f.childNodes.length||3!=f.firstChild.nodeType||(h=f.firstChild,c=c&&h.nodeValue.length);d.parentNode!=e;)d=d.parentNode;var k=g.measure,l=k.maps;if(f=a(h,d,c))return Bb(f,b);e=d.nextSibling;for(h=h?h.nodeValue.length-c:0;e;e=e.nextSibling){if(f=a(e,e.firstChild,0))return Bb(p(f.line,f.ch-h),b);h+=e.textContent.length}for(h=d.previousSibling;h;h=h.previousSibling){if(f=
-a(h,h.firstChild,-1))return Bb(p(f.line,f.ch+c),b);c+=h.textContent.length}break}}}function L(a){this.cm=a;this.prevInput="";this.pollingFast=!1;this.polling=new Ia;this.hasSelection=!1;this.composing=null;this.resetting=!1}function t(a,b,c,d){Yc.defaults[a]=b;c&&(yg[a]=d?function(a,b,d){d!=Ab&&c(a,b,d)}:c)}var q=navigator.userAgent,jc=navigator.platform,Ea=/gecko\/\d/i.test(q),Zc=/MSIE \d/.test(q),$c=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(q),ta=/Edge\/(\d+)/.exec(q),I=Zc||$c||ta,K=I&&(Zc?document.documentMode||
-6:+(ta||$c)[1]),X=!ta&&/WebKit\//.test(q),Zc=X&&/Qt\/\d+\.\d+/.test(q),Ka=!ta&&/Chrome\/(\d+)/.exec(q),xf=Ka&&+Ka[1],ra=/Opera\//.test(q),Vc=/Apple Computer/.test(navigator.vendor),Yg=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(q),Jg=/PhantomJS/.test(q),ic=Vc&&(/Mobile\/\w+/.test(q)||2ta))),ie=Ea||I&&9<=K,$a=function(a,b){var c,d=a.className;(b=fa(b).exec(d))&&(c=d.slice(b.index+b[0].length),a.className=d.slice(0,b.index)+(c?b[1]+c:""))},Jb=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(e){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",
-b),d},kc=function(a){a.select()};ic?kc=function(a){a.selectionStart=0;a.selectionEnd=a.value.length}:I&&(kc=function(a){try{a.select()}catch(b){}});Ia.prototype.onTimeout=function(a){a.id=0;a.time<=+new Date?a.f():setTimeout(a.handler,a.time-+new Date)};var Tc={toString:function(){return"CodeMirror.Pass"}},za={scroll:!(Ia.prototype.set=function(a,b){this.f=b;b=+new Date+a;(!this.id||bK)return!1;var a=v("div");return"draggable"in a||"dragDrop"in a}(),le=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b),f=(-1==e&&(e=a.length),
-a.slice(b,"\r"==a.charAt(e-1)?e-1:e)),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},Zg=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(c){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},Vg="oncopy"in(jc=v("div"))||(jc.setAttribute("oncopy","return;"),"function"==typeof jc.oncopy),
-Gd=null,nd={},ib={},jb={},N=function(a,b,c){this.pos=this.start=0;this.string=a;this.tabSize=b||8;this.lineStart=this.lastColumnPos=this.lastColumnValue=0;this.lineOracle=c};N.prototype.eol=function(){return this.pos>=this.string.length};N.prototype.sol=function(){return this.pos==this.lineStart};N.prototype.peek=function(){return this.string.charAt(this.pos)||void 0};N.prototype.next=function(){if(this.posb};N.prototype.eatSpace=function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a};N.prototype.skipToEnd=function(){this.pos=this.string.length};N.prototype.skipTo=function(a){a=this.string.indexOf(a,this.pos);if(-1this.maxLookAhead&&(this.maxLookAhead=a),b};va.prototype.baseToken=function(a){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)this.baseTokenPos+=2;var b=this.baseTokens[this.baseTokenPos+1];return{type:b&&
-b.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}};va.prototype.nextLine=function(){this.line++;0a.clientWidth+1,d=a.scrollHeight>a.clientHeight+1,e=a.nativeBarWidth;return d?(this.vert.style.display="block",this.vert.style.bottom=c?e+"px":"0",b=a.viewHeight-(c?e:0),this.vert.firstChild.style.height=Math.max(0,
-a.scrollHeight-a.clientHeight+b)+"px"):(this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0"),c?(this.horiz.style.display="block",this.horiz.style.right=d?e+"px":"0",this.horiz.style.left=a.barLeft+"px",b=a.viewWidth-a.barLeft-(d?e:0),this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+b)+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0"),!this.checkedZeroWidth&&0=B(a,
-d.to()))return c}return-1},function(a,b){this.anchor=a;this.head=b});J.prototype.from=function(){return vc(this.anchor,this.head)};J.prototype.to=function(){return uc(this.anchor,this.head)};J.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};Zb.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c,d=a,e=a+b;dthis.size-b&&(1=this.children.length)){var a=this;do var b,c=new $b(a.children.splice(a.children.length-5,5));while(a.parent?(a.size-=c.size,a.height-=c.height,b=W(a.parent.children,a),a.parent.children.splice(b+1,0,c)):(((b=new $b(a.children)).parent=
-a).children=[b,c],a=b),c.parent=a.parent,10b.display.maxLineLength&&(b.display.maxLine=f,b.display.maxLineLength=g,b.display.maxLineChanged=!0);null!=d&&b&&this.collapsed&&aa(b,d,a+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&Nf(b.doc));b&&R(b,"markerCleared",b,this,d,a);c&&db(b);this.parent&&this.parent.clear()}};Pa.prototype.find=function(a,b){var c,d;null==a&&"bookmark"==this.type&&(a=1);for(var e=0;eB((f=this.sel.ranges[e]).head,f.anchor),a[e]=new J(f?h:g,f?g:h)):a[e]=new J(g,g)}a=new ia(a,this.sel.primIndex)}b=a;for(a=d.length-1;0<=a;a--)vb(this,d[a]);b?Kf(this,b):this.cm&&qb(this.cm)}),undo:T(function(){Qc(this,"undo")}),redo:T(function(){Qc(this,"redo")}),undoSelection:T(function(){Qc(this,
-"undo",!0)}),redoSelection:T(function(){Qc(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=A(this,a);b=A(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,function(f){if(f=f.markedSpans)for(var g=0;g=h.to||null==h.from&&e!=a.line||null!=h.from&&e==b.line&&h.from>=b.ch||c&&!c(h.marker)||d.push(h.marker.parent||h.marker)}++e}),
-d},getAllMarks:function(){var a=[];return this.iter(function(b){if(b=b.markedSpans)for(var c=0;ca.ch)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,function(a){b+=a.text.length+
-c}),b},copy:function(a){var b=new ea(pd(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){var b=this.first,c=this.first+this.size,c=(null!=(a=a||{}).from&&a.from>b&&(b=a.from),null!=a.to&&a.tomc;mc++)Qa[mc+48]=Qa[mc+96]=String(mc);for(var ad=65;90>=ad;ad++)Qa[ad]=String.fromCharCode(ad);for(var nc=1;12>=nc;nc++)Qa[nc+111]=Qa[nc+63235]="F"+nc;var cc={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"},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"},emacsy:{"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown",
-"Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},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"]}};cc["default"]=
-na?cc.macDefault:cc.pcDefault;var dc={selectAll:Pf,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),za)},killLine:function(a){return zb(a,function(b){var c;return b.empty()?(c=w(a.doc,b.head.line).text.length,b.head.ch==c&&b.head.linea.doc.first&&(d=w(a.doc,b.line-1).text)&&(b=new p(b.line,1),a.replaceRange(c.charAt(0)+a.doc.lineSeparator()+d.charAt(d.length-1),p(b.line-1,d.length-
-1),b,"+transpose"))),f.push(new J(b,b)));a.setSelections(f)})},newlineAndIndent:function(a){return da(a,function(){for(var b=(c=a.listSelections()).length-1;0<=b;b--)a.replaceRange(a.doc.lineSeparator(),c[b].anchor,c[b].head,"+input");for(var c=a.listSelections(),b=0;ba&&0==B(b,this.pos)&&c==this.button};var Ab={toString:function(){return"CodeMirror.Init"}},qg={},Wc={};D.defaults=qg;D.optionHandlers=Wc;var je=[];D.defineInitHook=function(a){return je.push(a)};var ja=null;G.prototype.init=function(a){function b(a){for(a=a.target;a;a=a.parentNode){if(a==g)return 1;if(/\bCodeMirror-(?:line)?widget\b/.test(a.className))break}}function c(a){if(b(a)&&!P(f,a)){if(f.somethingSelected())rg({lineWise:!1,text:f.getSelections()}),"cut"==a.type&&f.replaceSelection("",
-null,"cut");else{if(!f.options.lineWiseCopyCut)return;var c=ug(f);rg({lineWise:!0,text:c.text});"cut"==a.type&&f.operation(function(){f.setSelections(c.ranges,0,za);f.replaceSelection("",null,"cut")})}if(a.clipboardData){a.clipboardData.clearData();var d=ja.text.join("\n");if(a.clipboardData.setData("Text",d),a.clipboardData.getData("Text")==d)return void a.preventDefault()}var m=vg(),d=m.firstChild,n=(me(d),f.display.lineSpace.insertBefore(m,f.display.lineSpace.firstChild),d.value=ja.text.join("\n"),
-ka(g.ownerDocument));kc(d);setTimeout(function(){f.display.lineSpace.removeChild(m);n.focus();n==g&&e.showPrimarySelection()},50)}}var d=this,e=this,f=e.cm,g=e.div=a.lineDiv;g.contentEditable=!0;me(g,f.options.spellcheck,f.options.autocorrect,f.options.autocapitalize);r(g,"paste",function(a){!b(a)||P(f,a)||tg(a,f)||11>=K&&setTimeout(S(f,function(){return d.updateFromDOM()}),20)});r(g,"compositionstart",function(a){d.composing={data:a.data,done:!1}});r(g,"compositionupdate",function(a){d.composing||
-(d.composing={data:a.data,done:!1})});r(g,"compositionend",function(a){d.composing&&(a.data!=d.composing.data&&d.readFromDOMSoon(),d.composing.done=!0)});r(g,"touchstart",function(){return e.forceCompositionEnd()});r(g,"input",function(){d.composing||d.readFromDOMSoon()});r(g,"copy",c);r(g,"cut",c)};G.prototype.screenReaderLabelChanged=function(a){a?this.div.setAttribute("aria-label",a):this.div.removeAttribute("aria-label")};G.prototype.prepareSelection=function(){var a=lf(this.cm,!1);return a.focus=
-ka(this.div.ownerDocument)==this.div,a};G.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))};G.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()};G.prototype.showPrimarySelection=function(){var a=this.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),c=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||c.line=b.display.viewFrom&&xg(b,d)||{node:e[0].measure.map[2],offset:0},d=c.lineb.firstLine()&&(e=p(e.line-1,w(b.doc,e.line-1).length)),d.ch==w(b.doc,d.line).text.length&&d.linec.viewTo-1)return!1;var f,g=e.line==c.viewFrom||0==(g=Xa(b,e.line))?(a=H(c.view[0].line),c.view[0].node):(a=H(c.view[g].line),c.view[g-1].node.nextSibling),d=Xa(b,d.line),c=d==c.view.length-1?(f=c.viewTo-1,c.lineDiv.lastChild):(f=
-H(c.view[d+1].line)-1,c.view[d+1].node.previousSibling);if(!g)return!1;c=b.doc.splitLines(function(a,b,c,d,e){function f(){k&&(h+=l,m&&(h+=l),k=m=!1)}function g(a){a&&(f(),h+=a)}for(var h="",k=!1,l=a.doc.lineSeparator(),m=!1;!function Eg(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(c)g(c);else if(c=b.getAttribute("cm-marker"))(c=a.findMarks(p(d,0),p(e+1,0),(q=+c,function(a){return a.id==q}))).length&&(c=c[0].find(0))&&g(Ua(a.doc,c.from,c.to).join(l));else if("false"!=b.getAttribute("contenteditable")&&
-(c=/^(pre|div|p|li|table|br)$/i.test(b.nodeName),/^br$/i.test(b.nodeName)||0!=b.textContent.length)){c&&f();for(var h=0;he.ch&&k.charCodeAt(k.length-h-1)==l.charCodeAt(l.length-h-1);)d--,h++;c[c.length-1]=k.slice(0,k.length-h).replace(/^\u200b+/,"");c[0]=c[0].slice(d).replace(/\u200b+$/,"");d=p(a,d);g=p(f,g.length?F(g).length-
-h:0);return 1K&&l.scrollbars.setScrollTop(l.scroller.scrollTop=p),null!=m.selectionStart&&((!I||9>K)&&b(),a=0,f=function(){l.selForContextMenu==
-k.doc.sel&&0==m.selectionStart&&0a++?l.detectingSelectAll=setTimeout(f,500):(l.selForContextMenu=null,l.input.reset())},l.detectingSelectAll=setTimeout(f,200)))}var d,e,f,g,h=this,k=h.cm,l=k.display,m=h.textarea,n=(h.contextMenuPending&&h.contextMenuPending(),Za(k,a)),p=l.scroller.scrollTop;n&&!ra&&(k.options.resetSelectionOnContextMenu&&-1==k.doc.sel.contains(n)&&S(k,V)(k.doc,Ga(n),za),d=m.style.cssText,e=h.wrapper.style.cssText,n=h.wrapper.offsetParent.getBoundingClientRect(),
-h.wrapper.style.cssText="position: static",m.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-n.top-5)+"px; left: "+(a.clientX-n.left-5)+"px;\n z-index: 1000; background: "+(I?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity\x3d5);",X&&(f=m.ownerDocument.defaultView.scrollY),l.input.focus(),X&&m.ownerDocument.defaultView.scrollTo(null,f),l.input.reset(),
-k.somethingSelected()||(m.value=h.prevInput=" "),h.contextMenuPending=c,l.selForContextMenu=k.doc.sel,clearTimeout(l.detectingSelectAll),I&&9<=K&&b(),ie?(Fb(a),g=function(){ha(window,"mouseup",g);setTimeout(c,20)},r(window,"mouseup",g)):setTimeout(c,50))};L.prototype.readOnlyChanged=function(a){a||this.reset();this.textarea.disabled="nocursor"==a;this.textarea.readOnly=!!a};L.prototype.setUneditable=function(){};L.prototype.needsContentAttribute=!1;yg=(Yc=D).optionHandlers;Yc.defineOption=t;Yc.Init=
-Ab;t("value","",function(a,b){return a.setValue(b)},!0);t("mode",null,function(a,b){a.doc.modeOption=b;Yd(a)},!0);t("indentUnit",2,Yd,!0);t("indentWithTabs",!1);t("smartIndent",!0);t("tabSize",4,function(a){Wb(a);Nb(a);aa(a)},!0);t("lineSeparator",null,function(a,b){if(a.doc.lineSep=b){var c=[],d=a.doc.first;a.doc.iter(function(a){for(var e=0;;){var h=a.text.indexOf(b,e);if(-1==h)break;e=h+b.length;c.push(p(d,h))}d++});for(var e=c.length-1;0<=e;e--)wb(a.doc,b,c[e],p(c[e].line,c[e].ch+b.length))}});
-t("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g");c!=Ab&&a.refresh()});t("specialCharPlaceholder",function(a){var b=v("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b},function(a){return a.refresh()},!0);t("electricChars",!0);t("inputStyle",Vb?"contenteditable":
-"textarea",function(){throw Error("inputStyle can not (yet) be changed in a running editor");},!0);t("spellcheck",!1,function(a,b){return a.getInputField().spellcheck=b},!0);t("autocorrect",!1,function(a,b){return a.getInputField().autocorrect=b},!0);t("autocapitalize",!1,function(a,b){return a.getInputField().autocapitalize=b},!0);t("rtlMoveVisually",!$c);t("wholeLineUpdateBefore",!0);t("theme","default",function(a){pg(a);Ub(a)},!0);t("keyMap","default",function(a,b,c){b=Rc(b);(c=c!=Ab&&Rc(c))&&
-c.detach&&c.detach(a,b);b.attach&&b.attach(a,c||null)});t("extraKeys",null);t("configureMouse",null);t("lineWrapping",!1,function(a){a.options.lineWrapping?(Ra(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):($a(a.display.wrapper,"CodeMirror-wrap"),yd(a));Md(a);aa(a);Nb(a);setTimeout(function(){return rb(a)},100)},!0);t("gutters",[],function(a,b){a.display.gutterSpecs=Wd(b,a.options.lineNumbers);Ub(a)},!0);t("fixedGutter",!0,function(a,b){a.display.gutters.style.left=
-b?Ld(a.display)+"px":"0";a.refresh()},!0);t("coverGutterNextToScrollbar",!1,function(a){return rb(a)},!0);t("scrollbarStyle","native",function(a){sf(a);rb(a);a.display.scrollbars.setScrollTop(a.doc.scrollTop);a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)},!0);t("lineNumbers",!1,function(a,b){a.display.gutterSpecs=Wd(a.options.gutters,b);Ub(a)},!0);t("firstLineNumber",1,Ub,!0);t("lineNumberFormatter",function(a){return a},Ub,!0);t("showCursorWhenSelecting",!1,Ob,!0);t("resetSelectionOnContextMenu",
-!0);t("lineWiseCopyCut",!0);t("pasteLinesPerSelection",!0);t("selectionsMayTouch",!1);t("readOnly",!1,function(a,b){"nocursor"==b&&(pb(a),a.display.input.blur());a.display.input.readOnlyChanged(b)});t("screenReaderLabel",null,function(a,b){a.display.input.screenReaderLabelChanged(""===b?null:b)});t("disableInput",!1,function(a,b){b||a.display.input.reset()},!0);t("dragDrop",!0,function(a,b,c){!b!=!(c&&c!=Ab)&&(c=a.display.dragFunctions,(b=b?r:ha)(a.display.scroller,"dragstart",c.start),b(a.display.scroller,
-"dragenter",c.enter),b(a.display.scroller,"dragover",c.over),b(a.display.scroller,"dragleave",c.leave),b(a.display.scroller,"drop",c.drop))});t("allowDropFileTypes",null);t("cursorBlinkRate",530);t("cursorScrollMargin",0);t("cursorHeight",1,Ob,!0);t("singleCursorHeightPerLine",!0,Ob,!0);t("workTime",100);t("workDelay",100);t("flattenSpans",!0,Wb,!0);t("addModeClass",!1,Wb,!0);t("pollInterval",100);t("undoDepth",200,function(a,b){return a.doc.history.undoDepth=b});t("historyEventDelay",1250);t("viewportMargin",
-10,function(a){return a.refresh()},!0);t("maxHighlightLength",1E4,Wb,!0);t("moveInputWithCursor",!0,function(a,b){b||a.display.input.resetPosition()});t("tabindex",null,function(a,b){return a.display.input.getField().tabIndex=b||""});t("autofocus",null);t("direction","ltr",function(a,b){return a.doc.setDirection(b)},!0);t("phrases",null);oe=D.optionHandlers;eb=D.helpers={};D.prototype={constructor:D,focus:function(){ca(this).defaultView.focus();this.display.input.focus()},setOption:function(a,b){var c=
-this.options,d=c[a];c[a]==b&&"mode"!=a||(c[a]=b,oe.hasOwnProperty(a)&&S(this,oe[a])(this,b,d),M(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](Rc(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;cc&&(hc(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&qb(this));else{for(var f=e.from(),e=e.to(),g=Math.max(c,f.line),c=Math.min(this.lastLine(),e.line-(e.ch?0:1))+1,e=g;e>1;if((e?b[2*e-1]:0)>=a)d=e;else{if(!(b[2*e+1]a?b:0==a?null:b.slice(0,a-1)},getModeAt:function(a){var b=this.doc.mode;return b.innerMode?D.innerMode(b,this.getTokenAt(a).state).mode:b},getHelper:function(a,
-b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var c=[];if(!eb.hasOwnProperty(b))return c;var d=eb[b],e=this.getModeAt(a);if("string"==typeof e[b])d[e[b]]&&c.push(d[e[b]]);else if(e[b])for(var f=0;fg)&&a.top>b.offsetHeight?k=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=g&&(k=a.bottom),l+b.offsetWidth>f&&(l=f-b.offsetWidth));b.style.top=k+"px";b.style.left=b.style.right="";"right"==
-e?(l=h.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?l=0:"middle"==e&&(l=(h.sizer.clientWidth-b.offsetWidth)/2),b.style.left=l+"px");c&&(d=this,g={left:l,top:k,right:l+b.offsetWidth,bottom:k+b.offsetHeight},null!=(g=Rd(d,g)).scrollTop&&Qb(d,g.scrollTop),null!=g.scrollLeft&&ab(d,g.scrollLeft))},triggerOnKeyDown:Y(jg),triggerOnKeyPress:Y(lg),triggerOnKeyUp:kg,triggerOnMouseDown:Y(mg),execCommand:function(a){if(dc.hasOwnProperty(a))return dc[a].call(null,this)},triggerElectric:Y(function(a){sg(this,
-a)}),findPosH:function(a,b,c,d){var e=1;a=(0>b&&(e=-1,b=-b),A(this.doc,a));for(var f=0;fa?d.from():d.to()},lc)}),deleteH:Y(function(a,b){var c=this.doc;this.doc.sel.somethingSelected()?c.replaceSelection("",null,"+delete"):zb(this,function(d){var e=ne(c,d.head,a,b,!1);return 0>a?{from:e,
-to:d.head}:{from:d.head,to:e}})}),findPosV:function(a,b,c,d){var e=1,f=(0>b&&(e=-1,b=-b),A(this.doc,a));for(a=0;aa?g.from():g.to();var k=qa(c,g.head,"div"),l=(null!=g.goalColumn&&(k.left=g.goalColumn),e.push(k.left),wg(c,k,a,b));return"page"==b&&g==
-d.sel.primary()&&Hc(c,Cc(c,l,"div").top-k.top),l},lc),e.length)for(var g=0;gW($g,oc)&&(D.prototype[oc]=function(a){return function(){return a.apply(this.doc,arguments)}}(ea.prototype[oc]));return hb(ea),D.inputStyles={textarea:L,contenteditable:G},D.defineMode=function(a){D.defaults.mode||"null"==a||(D.defaults.mode=a);(function(a,c){2{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("codemirror.js",t):(e=e||self).CodeMirror=t()})(this,function(){var e=navigator.userAgent,s=navigator.platform,m=/gecko\/\d/i.test(e),t=/MSIE \d/.test(e),a=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),u=/Edge\/(\d+)/.exec(e),w=t||a||u,v=w&&(t?document.documentMode||6:+(u||a)[1]),x=!u&&/WebKit\//.test(e),t=x&&/Qt\/\d+\.\d+/.test(e),U=!u&&/Chrome\/(\d+)/.exec(e),V=U&&+U[1],K=/Opera\//.test(e),j=/Apple Computer/.test(navigator.vendor),c=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),X=/PhantomJS/.test(e),d=j&&(/Mobile\/\w+/.test(e)||2t)return i;o.to==t&&(o.from!=o.to&&"before"==n?r=i:Fe=i),o.from==t&&(o.from!=o.to&&"before"!=n?r=i:Fe=i)}return null!=r?r:Fe}Ee=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,ze=/[stwN]/,Ie=/[LRr]/,Re=/[Lb1n]/,Be=/[1n]/;var Ee,ze,Ie,Re,Be,Ge=function(e,t){var n="ltr"==t?"L":"R";if(0==e.length||"ltr"==t&&!Ee.test(e))return!1;for(var r,i=e.length,o=[],l=0;l=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&t=this.string.length},g.prototype.sol=function(){return this.pos==this.lineStart},g.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},g.prototype.next=function(){if(this.post},g.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},g.prototype.skipToEnd=function(){this.pos=this.string.length},g.prototype.skipTo=function(e){e=this.string.indexOf(e,this.pos);if(-1{r.baseTokens=a;var o=t.state.overlays[e],l=1,s=0;r.state=!0,Rt(t,n.text,o.mode,r,function(e,t){for(var n=l;se.options.maxHighlightLength&&ft(e.doc.mode,r.state),o=At(e,t,r),i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))),t.styles}function Wt(n,r,e){var t,i,o,l=n.doc,s=n.display;return l.mode.startState?(t=((e,t,n)=>{for(var r,i,o=e.doc,l=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;l=s.viewFrom&&tt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}Ot.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},Ot.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Ot.prototype.nextLine=function(){this.line++,0e.options.maxHighlightLength?(s=!1,l&&Ht(e,t,r,c.pos),c.pos=t.length,null):It(Pt(n,c,r.state,h),o);if(h&&(d=h[0].name)&&(f="m-"+(f?d+" "+f:d)),!s||u!=f){for(;a{var r;if(e)for(var i=0;i=t:l.to>t),(r=r||[]).push(new Ut(s,l.from,o?null:l.to)))}return r})(n,r,o),s=((e,t,n)=>{var r;if(e)for(var i=0;i=t:l.to>t))&&(l.from!=t||"bookmark"!=s.type||n&&!l.marker.insertLeft)||(o=null==l.from||(s.inclusiveLeft?l.from<=t:l.frome.lastLine())return t;var n,r=M(e,t);if(!on(e,r))return t;for(;n=Jt(r);)r=n.find(1,!0).line;return N(r)+1}function on(e,t){var n=Gt&&t.markedSpans;if(n)for(var r,i=0;in.maxLineLength&&(n.maxLineLength=t,n.maxLine=e)})}var un=function(e,t,n){this.text=e,Yt(this,t),this.height=n?n(this):1};un.prototype.lineNo=function(){return N(this)},$e(un);var cn={},hn={};function dn(e,t){return!e||/^\s*$/.test(e)?null:(t=t.addModeClass?hn:cn)[e]||(t[e]=e.replace(/\S+/g,"cm-$&"))}function fn(e,t){var n=te("span",null,null,x?"padding-right: .1px":null),r={pre:te("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i,o,l=0;l<=(t.rest?t.rest.length:0);l++){var s=l?t.rest[l-1]:t.line,a=void 0,u=(r.pos=0,r.addToken=gn,u=e.display.measure,o=i=void 0,(null!=tt?tt:(o=y(u,document.createTextNode("AخA")),i=oe(o,0,1).getBoundingClientRect(),o=oe(o,1,2).getBoundingClientRect(),ee(u),i&&i.left!=i.right&&(tt=o.right-i.right<3)))&&(a=Ve(s,e.doc.direction))&&(r.addToken=((h,d)=>function(e,t,n,r,i,o,l){n=n?n+" cm-force-border":"cm-force-border";for(var s=e.pos,a=s+t.length;;){for(var u=void 0,c=0;cs&&u.from<=s);c++);if(u.to>=a)return h(e,t,n,r,i,o,l);h(e,t.slice(0,u.to-s),n,r,null,o,l),r=null,t=t.slice(u.to-s),s=u.to}})(r.addToken,a)),r.map=[],t!=e.display.externalMeasured&&N(s));((e,t,n)=>{var r=e.markedSpans,i=e.text,o=0;if(r)for(var l,s,a,u,c,h,d,f=i.length,p=0,g=1,m="",v=0;;){if(v==p){a=u=c=s="",h=d=null,v=1/0;for(var y=[],b=void 0,w=0;wp||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&v>x.to&&(v=x.to,u=""),C.className&&(a+=" "+C.className),C.css&&(s=(s?s+";":"")+C.css),C.startStyle&&x.from==p&&(c+=" "+C.startStyle),C.endStyle&&x.to==v&&(b=b||[]).push(C.endStyle,x.to),C.title&&((d=d||{}).title=C.title),C.attributes)for(var S in C.attributes)(d=d||{})[S]=C.attributes[S];C.collapsed&&(!h||qt(h.marker,C)<0)&&(h=x)}else x.from>p&&v>x.from&&(v=x.from)}if(b)for(var L=0;L{if(1{for(var t,n;t=Jt(e);)e=t.find(1,!0).line,(n=n||[]).push(e);return n})(t),this.size=this.rest?N(I(this.rest))-n+1:1,this.node=this.text=null,this.hidden=on(e,t)}function yn(e,t,n){for(var r=[],i=t;i{r.push(function(){return n[e].apply(null,i)})})(o)}function xn(){var e=wn;wn=null;for(var t=0;tn)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function In(e,t,n,r){return Gn(e,Bn(e,t),n,r)}function Rn(e,t){return t>=e.display.viewFrom&&t