(function(){ shadow$provide[464]=function(ka,N,Ba,w){(function(m,G){"object"===typeof w&&"undefined"!==typeof Ba?Ba.exports=G():"function"===typeof define&&define.amd?define(G):(m=m||self,m.CodeMirror=G())})(this,function(){function m(q){return new RegExp("(^|\\s)"+q+"(?:$|\\s)\\s*")}function G(q){for(var I=q.childNodes.length;0Ha||Ha>=I)return ua+(I-ha);ua+=Ha-ha;ua+=la-ua%la;ha=Ha+1}}function k(q,I){for(var la=0;la=I)return ha+Math.min(Ta,I-ua);ua+=Ha-ha;ua+=la-ua%la;ha=Ha+1;if(ua>=I)return ha}}function z(q){for(;yk.length<=q;)yk.push(y(yk)+" ");return yk[q]}function y(q){return q[q.length-1]}function K(q, I){for(var la=[],ha=0;hala?0la?-1:1;;){if(I==la)return I;var ua=(I+la)/2;ua=0>ha?Math.ceil(ua):Math.floor(ua);if(ua==I)return q(ua)?I:la;q(ua)?la=ua:I=ua+ha}}function T(q,I,la,ha){if(!q)return ha(I,la,"ltr",0);for(var ua=!1,Ha=0;HaI||I==la&&Ta.to==I)ha(Math.max(Ta.from,I),Math.min(Ta.to,la),1==Ta.level?"rtl":"ltr", Ha),ua=!0}ua||ha(I,la,"ltr")}function L(q,I,la){var ha;bi=null;for(var ua=0;uaI)return ua;Ha.to==I&&(Ha.from!=Ha.to&&"before"==la?ha=ua:bi=ua);Ha.from==I&&(Ha.from!=Ha.to&&"before"!=la?ha=ua:bi=ua)}return null!=ha?ha:bi}function Y(q,I){var la=q.order;null==la&&(la=q.order=wk(q.text,I));return la}function P(q,I,la){if(q.removeEventListener)q.removeEventListener(I,la,!1);else if(q.detachEvent)q.detachEvent("on"+I,la);else{var ha=(q=q._handlers)&&q[I]; ha&&(la=k(ha,la),-1I||I>=q.size)throw Error("There is no line "+(I+q.first)+" in the document.");for(;!q.lines;)for(var la= 0;;++la){var ha=q.children[la],ua=ha.chunkSize();if(I=q.first&&INa(q,I)?I:q}function Sb(q,I){return 0>Na(q,I)?q:I}function xb(q,I){if(I.linela)return cb(la,sb(q,la).text.length);q=sb(q,I.line).text.length;la= I.ch;I=null==la||la>q?cb(I.line,q):0>la?cb(I.line,0):I;return I}function bc(q,I){for(var la=[],ha=0;haGc&&ua.splice(Ob,1,Gc,ua[Ob+1],ce);Ob+=2;Fc=Math.min(Gc, ce)}if(rc)if(Nb.opaque)ua.splice(nd,Ob-nd,Gc,"overlay "+rc),Ob=nd+2;else for(;ndq.options.maxHighlightLength&&La(q.doc.mode,ha.state),Ha=oc(q,I,ha);ua&&(ha.state=ua);I.stateAfter= ha.save(!ua);I.styles=Ha.styles;Ha.classes?I.styleClasses=Ha.classes:I.styleClasses&&(I.styleClasses=null);la===q.doc.highlightFrontier&&(q.doc.modeFrontier=Math.max(q.doc.modeFrontier,++q.doc.highlightFrontier))}return I.styles}function zc(q,I,la){var ha=q.doc,ua=q.display;if(!ha.mode.startState)return new kd(ha,!0,I);var Ha=zd(q,I,la),Ta=Ha>ha.first&&sb(ha,Ha-1).stateAfter,Sa=Ta?kd.fromSaved(ha,Ta,Ha):new kd(ha,qb(ha.mode),Ha);ha.iter(Ha,I,function(jb){$c(q,jb.text,Sa);var Nb=Sa.line;jb.stateAfter= Nb==I-1||0==Nb%5||Nb>=ua.viewFrom&&Nbua;ua++){ha&&(ha[0]=Ra(q,la).mode);var Ha=q.token(I, la);if(I.pos>I.start)return Ha}throw Error("Mode "+q.name+" failed to advance stream.");}function Xd(q,I,la,ha){var ua=q.doc,Ha=ua.mode;I=xb(ua,I);var Ta=sb(ua,I.line);la=zc(q,I.line,la);q=new fh(Ta.text,q.options.tabSize,la);var Sa;for(ha&&(Sa=[]);(ha||q.posq.options.maxHighlightLength){Sa=!1;Ta&&$c(q,I,ha,Ob.pos);Ob.pos=I.length;var Gc=null}else Gc= xe(bd(la,Ob,ha.state,Fc),Ha);if(Fc){var rc=Fc[0].name;rc&&(Gc="m-"+(Gc?rc+" "+Gc:rc))}if(!Sa||Nb!=Gc){for(;jbTa;--I){if(I<=Ha.first)return Ha.first;var Sa=sb(Ha,I-1),jb=Sa.stateAfter;if(jb&&(!la||I+(jb instanceof jj?jb.lookAhead:0)<=Ha.modeFrontier))return I;Sa=e(Sa.text,null,q.options.tabSize); if(null==ua||ha>Sa)ua=I-1,ha=Sa}return ua}function Ie(q,I){q.modeFrontier=Math.min(q.modeFrontier,I);if(!(q.highlightFrontierla;ha--){var ua=sb(q,ha).stateAfter;if(ua&&(!(ua instanceof jj)||ha+ua.lookAhead=q:jb.to>q);(Ta||=[]).push(new qg(Nb,jb.from,Ob?null:jb.to))}}la=Ta;var Fc;if(ha)for(Ta=0;Ta< ha.length;++Ta)if(Sa=ha[Ta],jb=Sa.marker,null==Sa.to||(jb.inclusiveRight?Sa.to>=ua:Sa.to>ua)||Sa.from==ua&&"bookmark"==jb.type&&(!Ha||Sa.marker.insertLeft))Nb=null==Sa.from||(jb.inclusiveLeft?Sa.from<=ua:Sa.fromNa(Ta.to,ua.from)||0jb||!la.inclusiveLeft&&!jb)&&Sa.push({from:Ta.from, to:ua.from});(0Jh(ua,la.marker)))var ua=la.marker;return ua}function yg(q,I,la,ha,ua){q=sb(q,I);if(q=Nd&&q.markedSpans)for(I=0;I=jb||0>=Sa&&0<=jb)&&(0>=Sa&&(Ha.marker.inclusiveRight&&ua.inclusiveLeft?0<=Na(Ta.to,la):0=Na(Ta.from,ha):0>Na(Ta.from,ha))))return!0}}}function xg(q){for(var I;I=Te(q,!0);)q=I.find(-1,!0).line;return q}function Se(q,I){q=sb(q,I);var la=xg(q);return q==la?I:Bb(la)}function Ab(q,I){if(I>q.lastLine())return I;var la=sb(q,I);if(!Jb(q,la))return I; for(;q=Te(la,!1);)la=q.find(1,!0).line;return Bb(la)+1}function Jb(q,I){var la=Nd&&I.markedSpans;if(la)for(var ha,ua=0;uaI.maxLineLength&&(I.maxLineLength=ha,I.maxLine=la)})}function Zb(q,I){if(!q||/^\s*$/.test(q))return null;I=I.addModeClass?Th:If;return I[q]||(I[q]=q.replace(/\S+/g,"cm-$\x26"))}function tc(q, I){var la=c("span",null,null,Jg?"padding-right: .1px":null);la={pre:c("pre",[la],"CodeMirror-line"),content:la,col:0,pos:0,cm:q,trailingSpace:!1,splitSpaces:q.getOption("lineWrapping")};I.measure={};for(var ha=0;ha<=(I.rest?I.rest.length:0);ha++){var ua=ha?I.rest[ha-1]:I.line,Ha=void 0;la.pos=0;la.addToken=Rc;var Ta=q.display.measure;if(null!=uj)Ta=uj;else{var Sa=p(Ta,document.createTextNode("AخA")),jb=Xi(Sa,0,1).getBoundingClientRect();Sa=Xi(Sa,1,2).getBoundingClientRect();G(Ta);Ta=jb&&jb.left!= jb.right?uj=3>Sa.right-jb.right:!1}Ta&&(Ha=Y(ua,q.doc.direction))&&(la.addToken=Gd(la.addToken,Ha));la.map=[];var Nb=I!=q.display.externalMeasured&&Bb(ua);a:{var Ob=Sa=jb=Ta=void 0,Fc=void 0,Gc=void 0,rc=void 0;Ha=la;Nb=wc(q,ua,Nb);var nd=ua.markedSpans,ce=ua.text,df=0;if(nd)for(var Dh=ce.length,Le=0,Hf=1,Ag="",Gg=0;;){if(Gg==Le){Fc=Ob=Sa=Gc="";jb=Ta=null;Gg=Infinity;for(var rg=[],Ke=void 0,ig=0;igLe||bg.collapsed&&Xf.to==Le&&Xf.from==Le)){null!=Xf.to&&Xf.to!=Le&&Gg>Xf.to&&(Gg=Xf.to,Ob="");bg.className&&(Fc+=" "+bg.className);bg.css&&(Gc=(Gc?Gc+";":"")+bg.css);bg.startStyle&&Xf.from==Le&&(Sa+=" "+bg.startStyle);bg.endStyle&&Xf.to==Gg&&(Ke||=[]).push(bg.endStyle,Xf.to);bg.title&&((Ta||={}).title=bg.title);if(bg.attributes)for(var Eh in bg.attributes)(Ta||={})[Eh]=bg.attributes[Eh];bg.collapsed&&(!jb||0>Jh(jb.marker,bg))&&(jb=Xf)}else Xf.from>Le&&Gg>Xf.from&& (Gg=Xf.from)}if(Ke)for(ig=0;ig=Dh)break;for(rg=Math.min(Dh,Gg);;){if(Ag){Ke=Le+Ag.length;jb||(ig=Ke>rg?Ag.slice(0,rg-Le):Ag,Ha.addToken(Ha,ig,rc?rc+Fc:Fc,Sa,Le+ig.length==Gg?Ob:"",Gc,Ta));if(Ke>=rg){Ag=Ag.slice(rg-Le);Le=rg;break}Le=Ke;Sa=""}Ag=ce.slice(df, df=Nb[Hf++]);rc=Zb(Nb[Hf++],Ha.cm.options)}}else for(Ta=1;Ta=Ob.offsetWidth&&2af))),Sa=fm?l("span","​"):l("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px"),Sa.setAttribute("cm-text",""),Ha.call(ua,0,0,jb.call(Ta,Sa)));0==ha?(I.measure.map=la.map,I.measure.cache={}):((I.measure.maps||(I.measure.maps=[])).push(la.map),(I.measure.caches||(I.measure.caches=[])).push({}))}Jg&&(Eh=la.content.lastChild,/\bcm-tab\b/.test(Eh.className)||Eh.querySelector&&Eh.querySelector(".cm-tab"))&& (la.content.className="cm-tab-wrap-hack");W(q,"renderLine",q,I.line,la.pre);la.pre.className&&(la.textClass=a(la.pre.className,la.textClass||""));return la}function Dc(q){var I=l("span","•","cm-invalidchar");I.title="\\u"+q.charCodeAt(0).toString(16);I.setAttribute("aria-label",I.title);return I}function Rc(q,I,la,ha,ua,Ha,Ta){if(I){if(q.splitSpaces){var Sa=q.trailingSpace;if(1af?Sa.appendChild(l("span",[nd])):Sa.appendChild(nd);q.map.push(q.pos,q.pos+rc,nd);q.col+=rc;q.pos+=rc}if(!Gc)break;Fc+=rc+1;"\t"==Gc[0]?(Gc=q.cm.options.tabSize,Gc-=q.col%Gc,rc=Sa.appendChild(l("span", z(Gc),"cm-tab")),rc.setAttribute("role","presentation"),rc.setAttribute("cm-text","\t"),q.col+=Gc):("\r"==Gc[0]||"\n"==Gc[0]?(rc=Sa.appendChild(l("span","\r"==Gc[0]?"␍":"␤","cm-invalidchar")),rc.setAttribute("cm-text",Gc[0])):(rc=q.cm.options.specialCharPlaceholder(Gc[0]),rc.setAttribute("cm-text",Gc[0]),Uf&&9>af?Sa.appendChild(l("span",[rc])):Sa.appendChild(rc)),q.col+=1);q.map.push(q.pos,q.pos+1,rc);q.pos++}}else q.col+=I.length,Sa=document.createTextNode(jb),q.map.push(q.pos,q.pos+I.length,Sa), Uf&&9>af&&(Ob=!0),q.pos+=I.length;q.trailingSpace=32==jb.charCodeAt(I.length-1);if(la||ha||ua||Ob||Ha||Ta){I=la||"";ha&&(I+=ha);ua&&(I+=ua);ha=l("span",[Sa],I,Ha);if(Ta)for(var ce in Ta)Ta.hasOwnProperty(ce)&&"style"!=ce&&"class"!=ce&&ha.setAttribute(ce,Ta[ce]);return q.content.appendChild(ha)}q.content.appendChild(Sa)}}function Gd(q,I){return function(la,ha,ua,Ha,Ta,Sa,jb){ua=ua?ua+" cm-force-border":"cm-force-border";for(var Nb=la.pos,Ob=Nb+ha.length;;){for(var Fc=void 0,Gc=0;GcNb&&Fc.from<=Nb);Gc++);if(Fc.to>=Ob)return q(la,ha,ua,Ha,Ta,Sa,jb);q(la,ha.slice(0,Fc.to-Nb),ua,Ha,null,Sa,jb);Ha=null;ha=ha.slice(Fc.to-Nb);Nb=Fc.to}}}function ld(q,I,la,ha){var ua=!ha&&la.widgetNode;ua&&q.map.push(q.pos,q.pos+I,ua);!ha&&q.cm.display.input.needsContentAttribute&&(ua||=q.content.appendChild(document.createElement("span")),ua.setAttribute("cm-marker",la.id));ua&&(q.cm.display.input.setUneditable(ua),q.content.appendChild(ua));q.pos+=I;q.trailingSpace=!1}function ne(q,I, la){for(var ha=this.line=I,ua;ha=Te(ha,!1);)ha=ha.find(1,!0).line,(ua||=[]).push(ha);this.size=(this.rest=ua)?Bb(y(this.rest))-la+1:1;this.node=this.text=null;this.hidden=Jb(q,I)}function yc(q,I,la){var ha=[],ua;for(ua=I;uaaf&&(q.node.style.zIndex=2));return q.node}function pc(q,I){var la=q.display.externalMeasured;return la&&la.line==I.line?(q.display.externalMeasured=null, I.measure=la.measure,la.built):tc(q,I)}function ob(q,I){var la=I.bgClass?I.bgClass+" "+(I.line.bgClass||""):I.line.bgClass;la&&(la+=" CodeMirror-linebackground");if(I.background)la?I.background.className=la:(I.background.parentNode.removeChild(I.background),I.background=null);else if(la){var ha=zb(I);I.background=ha.insertBefore(l("div",null,la),ha.firstChild);q.display.input.setUneditable(I.background)}I.line.wrapClass?zb(I).className=I.line.wrapClass:I.node!=I.text&&(I.node.className="");I.text.className= (I.textClass?I.textClass+" "+(I.line.textClass||""):I.line.textClass)||""}function qc(q,I,la,ha){I.gutter&&(I.node.removeChild(I.gutter),I.gutter=null);I.gutterBackground&&(I.node.removeChild(I.gutterBackground),I.gutterBackground=null);if(I.line.gutterClass){var ua=zb(I);I.gutterBackground=l("div",null,"CodeMirror-gutter-background "+I.line.gutterClass,"left: "+(q.options.fixedGutter?ha.fixedPos:-ha.gutterTotalWidth)+"px; width: "+ha.gutterTotalWidth+"px");q.display.input.setUneditable(I.gutterBackground); ua.insertBefore(I.gutterBackground,I.text)}ua=I.line.gutterMarkers;if(q.options.lineNumbers||ua){var Ha=zb(I),Ta=I.gutter=l("div",null,"CodeMirror-gutter-wrapper","left: "+(q.options.fixedGutter?ha.fixedPos:-ha.gutterTotalWidth)+"px");q.display.input.setUneditable(Ta);Ha.insertBefore(Ta,I.text);I.line.gutterClass&&(Ta.className+=" "+I.line.gutterClass);!q.options.lineNumbers||ua&&ua["CodeMirror-linenumbers"]||(I.lineNumber=Ta.appendChild(l("div",Za(q.options,la),"CodeMirror-linenumber CodeMirror-gutter-elt", "left: "+ha.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+q.display.lineNumInnerWidth+"px")));if(ua)for(I=0;Ila)return{map:q.measure.maps[I],cache:q.measure.caches[I],before:!0}}function jg(q,I){if(I>=q.display.viewFrom&&I=q.lineN&&IGc;Gc++){for(;Sa&&Q(I.line.text.charAt(Ta.coverStart+ Sa));)--Sa;for(;Ta.coverStart+jbaf&&0==Sa&&jb==Ta.coverEnd-Ta.coverStart)var rc=ha.parentNode.getBoundingClientRect();else{rc=Xi(ha,Sa,jb).getClientRects();jb=rd;if("left"==Ob)for(Nb=0;Nbaf&&((Gc=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI== screen.deviceXDPI)||(null!=wi?Gc=wi:(Ob=p(q.display.measure,l("span","x")),Gc=Ob.getBoundingClientRect(),Ob=Xi(Ob,0,1).getBoundingClientRect(),Gc=wi=1af)|| Sa||rc&&(rc.left||rc.right)||(rc=(rc=ha.parentNode.getClientRects()[0])?{left:rc.left,right:rc.left+vc(q.display),top:rc.top,bottom:rc.bottom}:rd);ha=rc.top-I.rect.top;Sa=rc.bottom-I.rect.top;Gc=(ha+Sa)/2;Ob=I.view.measure.heights;for(Ta=0;TaI)Ha=jb-Sa,ua=Ha-1,I>=jb&&(Ta="right");if(null!=ua){ha=q[Nb+2];Sa==jb&&la==(ha.insertLeft?"left":"right")&&(Ta=la);if("left"==la&&0==ua)for(;Nb&&q[Nb-2]==q[Nb-3]&&q[Nb-1].insertLeft;)ha=q[(Nb-=3)+2], Ta="left";if("right"==la&&ua==jb-Sa)for(;Nb=ha.text.length?(Nb=ha.text.length,I="before"):0>=Nb&&(Nb=0,I="after");if(!jb)return Ta("before"==I?Nb-1:Nb,"before"==I);var Ob=L(jb,Nb,I),Fc=bi;Ob=Sa(Nb,Ob,"before"==I);null!=Fc&&(Ob.other=Sa(Nb,Fc,"before"!=I));return Ob}function kg(q,I){var la=0;I=xb(q.doc,I);q.options.lineWrapping||(la=vc(q.display)*I.ch);I=sb(q.doc, I.line);q=ab(I)+q.display.lineSpace.offsetTop;return{left:la,right:la,top:q,bottom:q+I.height}}function oe(q,I,la,ha,ua){q=cb(q,I,la);q.xRel=ua;ha&&(q.outside=ha);return q}function bb(q,I,la){var ha=q.doc;la+=q.display.viewOffset;if(0>la)return oe(ha.first,0,null,-1,-1);var ua=yb(ha,la),Ha=ha.first+ha.size-1;if(ua>Ha)return oe(ha.first+ha.size-1,sb(ha,Ha).text.length,null,1,1);0>I&&(I=0);for(var Ta=sb(ha,ua);;){Ha=Pa(q,Ta,ua,I,la);var Sa=void 0;var jb=Ha.ch+(0jb)&&(!Sa||0>Jh(Sa,Ob.marker))&&(Sa=Ob.marker)}if(!Sa)return Ha;Ha=Sa.find(1);if(Ha.line==ua)return Ha;Ta=sb(ha,ua=Ha.line)}}function ia(q,I,la,ha){ha-=Ed(I);I=I.text.length;var ua=O(function(Ha){return fb(q,la,Ha-1).bottom<=ha},I,0);I=O(function(Ha){return fb(q,la,Ha).top>ha},ua,I);return{begin:ua,end:I}}function pa(q,I,la,ha){la||=Ja(q,I);ha=ed(q,I,fb(q,la,ha),"line").top; return ia(q,I,la,ha)}function ya(q,I,la,ha){return q.bottom<=la?!1:q.top>la?!0:(ha?q.left:q.right)>I}function Pa(q,I,la,ha,ua){ua-=ab(I);var Ha=Ja(q,I),Ta=Ed(I),Sa=0,jb=I.text.length,Nb=!0,Ob=Y(I,q.doc.direction);Ob&&(Ob=(q.options.lineWrapping?Eb:mb)(q,I,la,Ha,Ob,ha,ua),Sa=(Nb=1!=Ob.level)?Ob.from:Ob.to-1,jb=Nb?Ob.to:Ob.from-1);var Fc=null,Gc=null;Ob=O(function(nd){var ce=fb(q,Ha,nd);ce.top+=Ta;ce.bottom+=Ta;if(!ya(ce,ha,ua,!1))return!1;ce.top<=ua&&ce.left<=ha&&(Fc=nd,Gc=ce);return!0},Sa,jb);var rc= !1;Gc?(Sa=ha-Gc.left=rc.bottom?1:0);Ob=ca(I.text,Ob,1);return oe(la,Ob,Nb,rc,ha-Sa)}function mb(q,I,la,ha,ua,Ha,Ta){var Sa=O(function(Ob){Ob=ua[Ob];var Fc=1!=Ob.level;return ya(ge(q,cb(la,Fc?Ob.to:Ob.from,Fc?"before":"after"), "line",I,ha),Ha,Ta,!0)},0,ua.length-1),jb=ua[Sa];if(0Ta&&(jb=ua[Sa-1])}return jb}function Eb(q,I,la,ha,ua,Ha,Ta){Ta=ia(q,I,ha,Ta);la=Ta.begin;Ta=Ta.end;/\s/.test(I.text.charAt(Ta-1))&&Ta--;for(var Sa=I=null,jb=0;jb=Ta||Nb.to<=la)){var Ob=fb(q,ha,1!=Nb.level?Math.min(Ta,Nb.to)-1:Math.max(la,Nb.from)).right;Ob=ObOb)I= Nb,Sa=Ob}}I||=ua[ua.length-1];I.fromTa&&(I={from:I.from,to:Ta,level:I.level});return I}function ac(q){if(null!=q.cachedTextHeight)return q.cachedTextHeight;if(null==Ad){Ad=l("pre",null,"CodeMirror-line-like");for(var I=0;49>I;++I)Ad.appendChild(document.createTextNode("x")),Ad.appendChild(l("br"));Ad.appendChild(document.createTextNode("x"))}p(q.measure,Ad);I=Ad.offsetHeight/50;3=q.display.viewTo)return null;I-=q.display.viewFrom;if(0>I)return null;q=q.display.view;for(var la=0;laI)return la}function re(q,I,la,ha){null==I&&(I=q.doc.first);null==la&&(la=q.doc.first+q.doc.size);ha||=0;var ua=q.display;ha&&laI)&&(ua.updateLineNumbers=I);q.curOp.viewChanged=!0;if(I>=ua.viewTo)Nd&&Se(q.doc,I)ua.viewFrom?Kg(q):(ua.viewFrom+=ha,ua.viewTo+=ha);else if(I<=ua.viewFrom&&la>=ua.viewTo)Kg(q);else if(I<=ua.viewFrom){var Ha=Uh(q,la,la+ha,1);Ha?(ua.view=ua.view.slice(Ha.index),ua.viewFrom=Ha.lineN,ua.viewTo+=ha):Kg(q)}else if(la>=ua.viewTo)(Ha=Uh(q,I,I,-1))?(ua.view=ua.view.slice(0,Ha.index),ua.viewTo=Ha.lineN):Kg(q);else{Ha=Uh(q,I,I,-1);var Ta=Uh(q,la,la+ha,1);Ha&&Ta?(ua.view=ua.view.slice(0,Ha.index).concat(yc(q,Ha.lineN,Ta.lineN)).concat(ua.view.slice(Ta.index)), ua.viewTo+=ha):Kg(q)}if(q=ua.externalMeasured)la=ua.lineN&&I=ha.viewTo||(q=ha.view[ke(q,I)],null!=q.node&&(q=q.changes||(q.changes=[]),-1==k(q,la)&&q.push(la)))}function Kg(q){q.display.viewFrom=q.display.viewTo=q.doc.first;q.display.view=[];q.display.viewOffset=0}function Uh(q, I,la,ha){var ua=ke(q,I),Ha=q.display.view;if(!Nd||la==q.doc.first+q.doc.size)return{index:ua,lineN:la};for(var Ta=q.display.viewFrom,Sa=0;Saha?0:Ha.length-1))return null;la+=ha*Ha[ua-(0>ha?1:0)].size;ua+=ha}return{index:ua,lineN:la}}function Vh(q){q=q.display.view;for(var I=0,la=0;la=q.display.viewTo||Sa.to().linend&&(nd=0);nd=Math.round(nd);df=Math.round(df);Sa.appendChild(l("div",null,"CodeMirror-selected","position: absolute; left: "+rc+"px;\n top: "+nd+"px; width: "+(null==ce?Ob-rc:ce)+"px;\n height: "+(df-nd)+"px"))}function ua(rc,nd,ce){function df(Ke,ig){return od(q,cb(rc,Ke),"div",Le,ig)}function Dh(Ke,ig,Xf){Ke=pa(q,Le,null,Ke);ig="ltr"==ig==("after"==Xf)?"left":"right";Xf="after"== Xf?Ke.begin:Ke.end-(/\s/.test(Le.text.charAt(Ke.end-1))?2:1);return df(Xf,ig)[ig]}var Le=sb(Ta,rc),Hf=Le.text.length,Ag,Gg,rg=Y(Le,Ta.direction);T(rg,nd||0,null==ce?Hf:ce,function(Ke,ig,Xf,bg){var Eh="ltr"==Xf,Og=df(Ke,Eh?"left":"right"),Ei=df(ig-1,Eh?"right":"left"),zk=null==nd&&0==Ke,Kk=null==ce&&ig==Hf,wl=0==bg;bg=!rg||bg==rg.length-1;3>=Ei.top-Og.top?(ig=(Fc?zk:Kk)&&wl?Nb:(Eh?Og:Ei).left,ha(ig,Og.top,((Fc?Kk:zk)&&bg?Ob:(Eh?Ei:Og).right)-ig,Og.bottom)):(Eh?(Eh=Fc&&zk&&wl?Nb:Og.left,zk=Fc?Ob:Dh(Ke, Xf,"before"),Ke=Fc?Nb:Dh(ig,Xf,"after"),Kk=Fc&&Kk&&bg?Ob:Ei.right):(Eh=Fc?Dh(Ke,Xf,"before"):Nb,zk=!Fc&&zk&&wl?Ob:Og.right,Ke=!Fc&&Kk&&bg?Nb:Ei.left,Kk=Fc?Dh(ig,Xf,"after"):Ob),ha(Eh,Og.top,zk-Eh,Og.bottom),Og.bottomJd(Og,Ag))Ag=Og;0>Jd(Ei,Ag)&&(Ag=Ei);if(!Gg||0>Jd(Og,Gg))Gg=Og;0>Jd(Ei,Gg)&&(Gg=Ei)});return{start:Ag,end:Gg}}var Ha=q.display,Ta=q.doc,Sa=document.createDocumentFragment(),jb=sc(q.display),Nb=jb.left,Ob=Math.max(Ha.sizerWidth, qd(q)-Ha.sizer.offsetLeft)-jb.right,Fc="ltr"==Ta.direction;Ha=I.from();I=I.to();if(Ha.line==I.line)ua(Ha.line,Ha.ch,I.ch);else{var Gc=sb(Ta,Ha.line);jb=sb(Ta,I.line);jb=xg(Gc)==xg(jb);Ha=ua(Ha.line,Ha.ch,jb?Gc.text.length+1:null).end;I=ua(I.line,jb?0:null,I.ch).start;jb&&(Ha.topq.options.cursorBlinkRate&&(I.cursorDiv.style.visibility="hidden")}}function Vj(q){q.state.focused||(q.display.input.focus(),Qe(q))}function Ni(q){q.state.delayingBlurEvent=!0;setTimeout(function(){q.state.delayingBlurEvent&&(q.state.delayingBlurEvent=!1,Ck(q))}, 100)}function Qe(q,I){q.state.delayingBlurEvent&&(q.state.delayingBlurEvent=!1);"nocursor"!=q.options.readOnly&&(q.state.focused||(W(q,"focus",q,I),q.state.focused=!0,t(q.display.wrapper,"CodeMirror-focused"),q.curOp||q.display.selForContextMenu==q.doc.sel||(q.display.input.reset(),Jg&&setTimeout(function(){return q.display.input.reset(!0)},20)),q.display.input.receivedFocus()),oi(q))}function Ck(q,I){q.state.delayingBlurEvent||(q.state.focused&&(W(q,"blur",q,I),q.state.focused=!1,Bh(q.display.wrapper, "CodeMirror-focused")),clearInterval(q.display.blinker),setTimeout(function(){q.state.focused||(q.display.shift=!1)},150))}function Xk(q){for(var I=q.display,la=I.lineDiv.offsetTop,ha=0;haaf){Ha=ua.node.offsetTop+ua.node.offsetHeight;var Sa=Ha-la;la=Ha}else{var jb=ua.node.getBoundingClientRect();Sa=jb.bottom-jb.top;!Ha&&ua.text.firstChild&&(Ta=ua.text.firstChild.getBoundingClientRect().right-jb.left-1)}Ha= ua.line.height-Sa;if(.005Ha)if(gb(ua.line,Sa),xh(ua.line),ua.rest)for(Sa=0;Saq.display.sizerWidth&&(Ta=Math.ceil(Ta/vc(q.display)),Ta>q.display.maxLineLength&&(q.display.maxLineLength=Ta,q.display.maxLine=ua.line,q.display.maxLineChanged=!0))}}}function xh(q){if(q.widgets)for(var I=0;I=ua&&(ha=yb(I,ab(sb(I,la))-q.wrapper.clientHeight),ua=la)}return{from:ha,to:Math.max(ua,ha+1)}}function Ol(q,I){var la=q.display,ha=ac(q.display);0>I.top&&(I.top=0);var ua=q.curOp&&null!=q.curOp.scrollTop?q.curOp.scrollTop: la.scroller.scrollTop,Ha=sf(q),Ta={};I.bottom-I.top>Ha&&(I.bottom=I.top+Ha);var Sa=q.doc.height+ad(la),jb=I.topSa-ha;I.topua+Ha&&(Ha=Math.min(I.top,(ha?Sa:I.bottom)-Ha),Ha!=ua&&(Ta.scrollTop=Ha));ua=q.curOp&&null!=q.curOp.scrollLeft?q.curOp.scrollLeft:la.scroller.scrollLeft;q=qd(q)-(q.options.fixedGutter?la.gutters.offsetWidth:0);if(la=I.right-I.left>q)I.right=I.left+q;10>I.left?Ta.scrollLeft=0:I.leftq+ua-3&&(Ta.scrollLeft=I.right+(la?0:10)-q);return Ta}function xj(q,I){null!=I&&(Gi(q),q.curOp.scrollTop=(null==q.curOp.scrollTop?q.doc.scrollTop:q.curOp.scrollTop)+I)}function sg(q){Gi(q);var I=q.getCursor();q.curOp.scrollToPos={from:I,to:I,margin:q.options.cursorScrollMargin}}function yj(q,I,la){null==I&&null==la||Gi(q);null!=I&&(q.curOp.scrollLeft=I);null!=la&&(q.curOp.scrollTop=la)}function Gi(q){var I=q.curOp.scrollToPos;if(I){q.curOp.scrollToPos=null;var la=kg(q,I.from),ha=kg(q,I.to); Pl(q,la,ha,I.margin)}}function Pl(q,I,la,ha){I=Ol(q,{left:Math.min(I.left,la.left),top:Math.min(I.top,la.top)-ha,right:Math.max(I.right,la.right),bottom:Math.max(I.bottom,la.bottom)+ha});yj(q,I.scrollLeft,I.scrollTop)}function Wj(q,I){2>Math.abs(q.doc.scrollTop-I)||(Qh||ak(q,{top:I}),Yk(q,I,!0),Qh&&ak(q),Ng(q,100))}function Yk(q,I,la){I=Math.max(0,Math.min(q.display.scroller.scrollHeight-q.display.scroller.clientHeight,I));if(q.display.scroller.scrollTop!=I||la)q.doc.scrollTop=I,q.display.scrollbars.setScrollTop(I), q.display.scroller.scrollTop!=I&&(q.display.scroller.scrollTop=I)}function Zi(q,I,la,ha){I=Math.max(0,Math.min(I,q.display.scroller.scrollWidth-q.display.scroller.clientWidth));(la?I==q.doc.scrollLeft:2>Math.abs(q.doc.scrollLeft-I))&&!ha||(q.doc.scrollLeft=I,Cc(q),q.display.scroller.scrollLeft!=I&&(q.display.scroller.scrollLeft=I),q.display.scrollbars.setScrollLeft(I))}function Ek(q){var I=q.display,la=I.gutters.offsetWidth,ha=Math.round(q.doc.height+ad(q.display));return{clientHeight:I.scroller.clientHeight, viewHeight:I.wrapper.clientHeight,scrollWidth:I.scroller.scrollWidth,clientWidth:I.scroller.clientWidth,viewWidth:I.wrapper.clientWidth,barLeft:q.options.fixedGutter?la:0,docHeight:ha,scrollHeight:ha+Fb(q)+I.barHeight,nativeBarWidth:I.nativeBarWidth,gutterWidth:la}}function Yj(q,I){I||=Ek(q);var la=q.display.barWidth,ha=q.display.barHeight;ql(q,I);for(I=0;4>I&&la!=q.display.barWidth||ha!=q.display.barHeight;I++)la!=q.display.barWidth&&q.options.lineWrapping&&Xk(q),ql(q,Ek(q)),la=q.display.barWidth, ha=q.display.barHeight}function ql(q,I){var la=q.display,ha=la.scrollbars.update(I);la.sizer.style.paddingRight=(la.barWidth=ha.right)+"px";la.sizer.style.paddingBottom=(la.barHeight=ha.bottom)+"px";la.heightForcer.style.borderBottom=ha.bottom+"px solid transparent";ha.right&&ha.bottom?(la.scrollbarFiller.style.display="block",la.scrollbarFiller.style.height=ha.bottom+"px",la.scrollbarFiller.style.width=ha.right+"px"):la.scrollbarFiller.style.display="";ha.bottom&&q.options.coverGutterNextToScrollbar&& q.options.fixedGutter?(la.gutterFiller.style.display="block",la.gutterFiller.style.height=ha.bottom+"px",la.gutterFiller.style.width=I.gutterWidth+"px"):la.gutterFiller.style.display=""}function lj(q){q.display.scrollbars&&(q.display.scrollbars.clear(),q.display.scrollbars.addClass&&Bh(q.display.wrapper,q.display.scrollbars.addClass));q.display.scrollbars=new Di[q.options.scrollbarStyle](function(I){q.display.wrapper.insertBefore(I,q.display.scrollbarFiller);Ne(I,"mousedown",function(){q.state.focused&& setTimeout(function(){return q.display.input.focus()},0)});I.setAttribute("cm-not-content","true")},function(I,la){"horizontal"==la?Zi(q,I):Wj(q,I)},q);q.display.scrollbars.addClass&&t(q.display.wrapper,q.display.scrollbars.addClass)}function $i(q){q.curOp={cm:q,viewChanged:!1,startHeight:q.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:++Kl};q=q.curOp;ng?ng.ops.push(q):q.ownsGroup=ng={ops:[q],delayedCallbacks:[]}}function Zj(q){(q=q.curOp)&&cc(q,function(I){for(var la=0;la=Ha.viewTo)||Ha.maxLineChanged&&ua.options.lineWrapping;ha.update=ha.mustUpdate&&new vj(ua,ha.mustUpdate&&{top:ha.scrollTop,ensure:ha.scrollToPos},ha.forceUpdate)}for(la=0;laFc;Fc++){var Gc=!1;Sa=ge(ua,jb);var rc=Nb&&Nb!=jb?ge(ua,Nb):Sa;Sa={left:Math.min(Sa.left,rc.left),top:Math.min(Sa.top,rc.top)-Ob,right:Math.max(Sa.left,rc.left),bottom:Math.max(Sa.bottom,rc.bottom)+Ob};rc=Ol(ua,Sa);var nd=ua.doc.scrollTop,ce=ua.doc.scrollLeft;null!=rc.scrollTop&&(Wj(ua, rc.scrollTop),1Nb.top+Fc.top?jb=!0:Nb.bottom+Fc.top>(window.innerHeight||document.documentElement.clientHeight)&&(jb=!1),null==jb||Ug||(Nb=l("div","​",null,"position: absolute;\n top: "+(Nb.top-Ob.viewOffset-ua.display.lineSpace.offsetTop)+ "px;\n height: "+(Nb.bottom-Nb.top+Fb(ua)+Ob.barHeight)+"px;\n left: "+Nb.left+"px; width: "+Math.max(2,Nb.right-Nb.left)+"px;"),ua.display.lineSpace.appendChild(Nb),Nb.scrollIntoView(jb),ua.display.lineSpace.removeChild(Nb)))}Nb=ha.maybeHiddenMarkers;jb=ha.maybeUnhiddenMarkers;if(Nb)for(Ob=0;Ob=q.display.viewTo)){var la=+new Date+q.options.workTime,ha=zc(q,I.highlightFrontier),ua=[];I.iter(ha.line,Math.min(I.first+I.size,q.display.viewTo+500),function(Ha){if(ha.line>=q.display.viewFrom){var Ta=Ha.styles,Sa=Ha.text.length>q.options.maxHighlightLength? La(I.mode,ha.state):null,jb=oc(q,Ha,ha,!0);Sa&&(ha.state=Sa);Ha.styles=jb.styles;Sa=Ha.styleClasses;(jb=jb.classes)?Ha.styleClasses=jb:Sa&&(Ha.styleClasses=null);jb=!Ta||Ta.length!=Ha.styles.length||Sa!=jb&&(!Sa||!jb||Sa.bgClass!=jb.bgClass||Sa.textClass!=jb.textClass);for(Sa=0;!jb&&Sa la)return Ng(q,q.options.workDelay),!0});I.highlightFrontier=ha.line;I.modeFrontier=Math.max(I.modeFrontier,ha.line);ua.length&&Wd(q,function(){for(var Ha=0;Ha=la.viewFrom&&I.visible.to<=la.viewTo&&(null==la.updateLineNumbers||la.updateLineNumbers>=la.viewTo)&&la.renderedView==la.view&&0==Vh(q))return!1;Fk(q)&&(Kg(q),I.dims=id(q));var ua=ha.first+ha.size, Ha=Math.max(I.visible.from-q.options.viewportMargin,ha.first),Ta=Math.min(ua,I.visible.to+q.options.viewportMargin);la.viewFromHa-la.viewFrom&&(Ha=Math.max(ha.first,la.viewFrom));la.viewTo>Ta&&20>la.viewTo-Ta&&(Ta=Math.min(ua,la.viewTo));Nd&&(Ha=Se(q.doc,Ha),Ta=Ab(q.doc,Ta));ha=Ha!=la.viewFrom||Ta!=la.viewTo||la.lastWrapHeight!=I.wrapperHeight||la.lastWrapWidth!=I.wrapperWidth;ua=q.display;0==ua.view.length||Ha>=ua.viewTo||Ta<=ua.viewFrom?(ua.view=yc(q,Ha,Ta),ua.viewFrom=Ha):(ua.viewFrom> Ha?ua.view=yc(q,Ha,ua.viewFrom).concat(ua.view):ua.viewFromTa&&(ua.view=ua.view.slice(0,ke(q,Ta))));ua.viewTo=Ta;la.viewOffset=ab(sb(q.doc,la.viewFrom));q.display.mover.style.top=la.viewOffset+"px";Ta=Vh(q);if(!ha&&0==Ta&&!I.force&&la.renderedView==la.view&&(null==la.updateLineNumbers||la.updateLineNumbers>=la.viewTo))return!1;q.hasFocus()?Ha=null:(Ha=n())&&h(q.display.lineDiv,Ha)? (Ha={activeElt:Ha},window.getSelection&&(ua=window.getSelection(),ua.anchorNode&&ua.extend&&h(q.display.lineDiv,ua.anchorNode)&&(Ha.anchorNode=ua.anchorNode,Ha.anchorOffset=ua.anchorOffset,Ha.focusNode=ua.focusNode,Ha.focusOffset=ua.focusOffset))):Ha=null;4=q.display.viewFrom&&I.visible.to<=q.display.viewTo)break;if(!Hg(q,I))break;Xk(q);ha=Ek(q);Lg(q);Yj(q,ha);de(q,ha);I.force=!1}I.signal(q,"update",q);if(q.display.viewFrom!=q.display.reportedViewFrom||q.display.viewTo!=q.display.reportedViewTo)I.signal(q,"viewportChange", q,q.display.viewFrom,q.display.viewTo),q.display.reportedViewFrom=q.display.viewFrom,q.display.reportedViewTo=q.display.viewTo}function ak(q,I){I=new vj(q,I);if(Hg(q,I)){Xk(q);Xh(q,I);var la=Ek(q);Lg(q);Yj(q,la);de(q,la);I.finish()}}function mj(q,I,la){function ha(Gc){var rc=Gc.nextSibling;Jg&&Lf&&q.display.currentWheelTarget==Gc?Gc.style.display="none":Gc.parentNode.removeChild(Gc);return rc}var ua=q.display,Ha=q.options.lineNumbers,Ta=ua.lineDiv,Sa=Ta.firstChild,jb=ua.view;ua=ua.viewFrom;for(var Nb= 0;Nbaf&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);Jg||Qh&&lk||(this.scroller.draggable=!0);q&&(q.appendChild?q.appendChild(this.wrapper):q(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=I.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=ff(ha.gutters,ha.lineNumbers);Oi(this);la.init(this)}function Hk(q){var I=q.wheelDeltaX,la=q.wheelDeltaY;null==I&&q.detail&&q.axis==q.HORIZONTAL_AXIS&& (I=q.detail);null==la&&q.detail&&q.axis==q.VERTICAL_AXIS?la=q.detail:null==la&&(la=q.wheelDelta);return{x:I,y:la}}function Vg(q){q=Hk(q);q.x*=zg;q.y*=zg;return q}function bk(q,I){var la=Hk(I),ha=la.x;la=la.y;var ua=q.display,Ha=ua.scroller,Ta=Ha.scrollWidth>Ha.clientWidth,Sa=Ha.scrollHeight>Ha.clientHeight;if(ha&&Ta||la&&Sa){if(la&&Lf&&Jg){Ta=I.target;var jb=ua.view;a:for(;Ta!=Ha;Ta=Ta.parentNode)for(var Nb=0;NbI?Sa=Math.max(0,Sa+I-50):Ta=Math.min(q.doc.height,Ta+I+50),ak(q,{top:Sa,bottom:Ta})),20>eh&&(null==ua.wheelStartX?(ua.wheelStartX=Ha.scrollLeft,ua.wheelStartY=Ha.scrollTop,ua.wheelDX=ha,ua.wheelDY=la,setTimeout(function(){if(null!=ua.wheelStartX){var Ob=Ha.scrollLeft-ua.wheelStartX,Fc=Ha.scrollTop-ua.wheelStartY;Ob=Fc&&ua.wheelDY&&Fc/ua.wheelDY||Ob&&ua.wheelDX&&Ob/ua.wheelDX;ua.wheelStartX=ua.wheelStartY=null; Ob&&(zg=(zg*eh+Ob)/(eh+1),++eh)}},200)):(ua.wheelDX+=ha,ua.wheelDY+=la))):(la&&Sa&&Wj(q,Math.max(0,Ha.scrollTop+la*zg)),Zi(q,Math.max(0,Ha.scrollLeft+ha*zg)),(!la||la&&Sa)&&za(I),ua.wheelStartX=null)}}function Cg(q,I,la){q=q&&q.options.selectionsMayTouch;la=I[la];I.sort(function(jb,Nb){return Na(jb.from(),Nb.from())});la=k(I,la);for(var ha=1;haNa(q,I.from))return q;if(0>=Na(q,I.to))return tg(I);var la=q.line+I.text.length-(I.to.line-I.from.line)-1,ha=q.ch;q.line==I.to.line&&(ha+=tg(I).ch-I.to.ch);return cb(la,ha)}function $b(q,I){for(var la= [],ha=0;haHa-(q.cm?q.cm.options.historyEventDelay:500)||"*"==I.origin.charAt(0))){if(ua.lastOp==ha){ck(ua.done);var Sa=y(ua.done)}else ua.done.length&&!y(ua.done).ranges? Sa=y(ua.done):1ua.undoDepth;)ua.done.shift(),ua.done[0].ranges||ua.done.shift();ua.done.push(la);ua.generation=++ua.maxGeneration;ua.lastModTime=ua.lastSelTime=Ha;ua.lastOp= ua.lastSelOp=ha;ua.lastOrigin=ua.lastSelOrigin=I.origin;jb||W(q,"historyAdded")}function aj(q,I){var la=y(I);la&&la.ranges&&la.equals(q)||I.push(q)}function $k(q,I,la,ha){var ua=I["spans_"+q.id],Ha=0;q.iter(Math.max(q.first,la),Math.min(q.first+q.size,ha),function(Ta){Ta.markedSpans&&((ua||=I["spans_"+q.id]={})[Ha]=Ta.markedSpans);++Ha})}function Hn(q,I){var la;if(la=I["spans_"+q.id]){for(var ha=[],ua=0;uaNa(I,q),ha!=0>Na(la,q)?(q=I,I=la):ha!=0>Na(I,la)&&(I=la)),new zf(q,I)):new zf(la||I,I)}function Xg(q,I,la,ha,ua){null==ua&&(ua=q.cm&&(q.cm.display.shift||q.extend));Ze(q,new ee([dk(q.sel.primary(), I,la,ua)],0),ha)}function ki(q,I,la){for(var ha=[],ua=q.cm&&(q.cm.display.shift||q.extend),Ha=0;HaNa(I.primary().head,q.sel.primary().head)?-1:1);Df(q,qj(q,I,ha,!0));la&&!1===la.scroll||!q.cm|| sg(q.cm)}function Df(q,I){I.equals(q.sel)||(q.sel=I,q.cm&&(q.cm.curOp.updateInput=1,q.cm.curOp.selectionChanged=!0,M(q.cm)),Be(q,"cursorActivity",q))}function qi(q){Df(q,qj(q,q.sel,null,!1))}function qj(q,I,la,ha){for(var ua,Ha=0;Ha=I.ch:Sa.to>I.ch))){if(ua&&(W(jb,"beforeCursorEnter"),jb.explicitlyCleared))if(Ha.markedSpans){--Ta;continue}else break;if(jb.atomic){if(la){Ta=jb.find(0> ha?1:-1);Sa=void 0;if(0>ha?Ob:Nb)Ta=Qi(q,Ta,-ha,Ta&&Ta.line==I.line?Ha:null);if(Ta&&Ta.line==I.line&&(Sa=Na(Ta,la))&&(0>ha?0>Sa:0ha?-1:1);if(0>ha?Nb:Ob)la=Qi(q,la,ha,la.line==I.line?Ha:null);return la?ek(q,la,I,ha,ua):null}}}return I}function nh(q,I,la,ha,ua){ha=ha||1;I=ek(q,I,la,ha,ua)||!ua&&ek(q,I,la,ha,!0)||ek(q,I,la,-ha,ua)||!ua&&ek(q,I,la,-ha,!0);return I?I:(q.cantEdit=!0,cb(q.first,0))}function Qi(q,I,la,ha){return 0>la&&0==I.ch?I.line>q.first?xb(q, cb(I.line-1)):null:0q.lastLine())){if(I.from.lineua&&(I={from:I.from,to:cb(ua,sb(q,ua).text.length),text:[I.text[0]],origin:I.origin});I.removed=Kb(q,I.from,I.to);la||=$b(q,I);q.cm?gk(q.cm,I,ha):Hi(q, I,ha);Jf(q,la,Rh);q.cantEdit&&nh(q,cb(q.firstLine(),0))&&(q.cantEdit=!1)}}function gk(q,I,la){var ha=q.doc,ua=q.display,Ha=I.from,Ta=I.to,Sa=!1,jb=Ha.line;q.options.lineWrapping||(jb=Bb(xg(sb(ha,Ha.line))),ha.iter(jb,Ta.line+1,function(Nb){if(Nb==ua.maxLine)return Sa=!0}));-1ua.maxLineLength&&(ua.maxLine=Nb,ua.maxLineLength=Ob,ua.maxLineChanged=!0,Sa=!1)}), Sa&&(q.curOp.updateMaxLine=!0));Ie(ha,Ha.line);Ng(q,400);la=I.text.length-(Ta.line-Ha.line)-1;I.full?re(q):Ha.line!=Ta.line||1!=I.text.length||Of(q.doc,I)?re(q,Ha.line,Ta.line+1,la):tf(q,Ha.line,"text");la=S(q,"changes");if((ha=S(q,"change"))||la)I={from:Ha,to:Ta,text:I.text,removed:I.removed,origin:I.origin},ha&&Be(q,"change",q,I),la&&(q.curOp.changeObjs||(q.curOp.changeObjs=[])).push(I);q.display.selForContextMenu=null}function Bg(q,I,la,ha,ua){ha||=la;0>Na(ha,la)&&(ha=[ha,la],la=ha[0],ha=ha[1]); "string"==typeof I&&(I=q.splitLines(I));Vf(q,{from:la,to:ha,text:I,origin:ua})}function Re(q,I,la,ha){la=Na(Ha.from,y(ha).to);){var Ta= ha.pop();if(0>Na(Ta.from,Ha.from)){Ha.from=Ta.from;break}}ha.push(Ha)}Wd(q,function(){for(var Sa=ha.length-1;0<=Sa;Sa--)Bg(q.doc,"",ha[Sa].from,ha[Sa].to,"+delete");sg(q)})}function ik(q,I,la){I=ca(q.text,I+la,la);return 0>I||I>q.text.length?null:I}function Hj(q,I,la){q=ik(q,I.ch,la);return null==q?null:new cb(I.line,q,0>la?"after":"before")}function kk(q,I,la,ha,ua){if(q&&("rtl"==I.doc.direction&&(ua=-ua),q=Y(la,I.doc.direction))){q=0>ua?y(q):q[0];var Ha=0>ua==(1==q.level)?"after":"before";if(0< q.level||"rtl"==I.doc.direction){var Ta=Ja(I,la);var Sa=0>ua?la.text.length-1:0;var jb=fb(I,Ta,Sa).top;Sa=O(function(Nb){return fb(I,Ta,Nb).top==jb},0>ua==(1==q.level)?q.from:q.to-1,Sa);"before"==Ha&&(Sa=ik(la,Sa,1))}else Sa=0>ua?q.to:q.from;return new cb(ha,Sa,Ha)}return new cb(ha,0>ua?la.text.length:0,0>ua?"before":"after")}function Ri(q,I,la,ha){var ua=Y(I,q.doc.direction);if(!ua)return Hj(I,la,ha);la.ch>=I.text.length?(la.ch=I.text.length,la.sticky="before"):0>=la.ch&&(la.ch=0,la.sticky="after"); var Ha=L(ua,la.ch,la.sticky),Ta=ua[Ha];if("ltr"==q.doc.direction&&0==Ta.level%2&&(0la.ch:Ta.fromha,Gc=Sa(la,Fc?1:-1);if(null!=Gc&&(Fc?Gc<=Ta.to&&Gc<=Ob.end:Gc>=Ta.from&&Gc>=Ob.begin))return new cb(la.line, Gc,Fc?"before":"after")}Ta=function(rc,nd,ce){for(var df=function(Ag,Gg){return Gg?new cb(la.line,Sa(Ag,1),"before"):new cb(la.line,Ag,"after")};0<=rc&&rcaf&&27==q.keyCode&&(q.returnValue=!1);var I=q.keyCode;this.display.shift=16==I||q.shiftKey;var la=Wl(this,q);uh&&(al=la?I:null,!la&&88==I&&!Hh&&(Lf?q.metaKey:q.ctrlKey)&&this.replaceSelection("",null,"cut"));Qh&&!Lf&&!la&&46==I&&q.shiftKey&&!q.ctrlKey&&document.execCommand&&document.execCommand("cut");18!=I||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||zj(this)}}function zj(q){function I(ha){18!= ha.keyCode&&ha.altKey||(Bh(la,"CodeMirror-crosshair"),P(document,"keyup",I),P(document,"mouseover",I))}var la=q.display.lineDiv;t(la,"CodeMirror-crosshair");Ne(document,"keyup",I);Ne(document,"mouseover",I)}function Sl(q){16==q.keyCode&&(this.doc.sel.shift=!1);J(this,q)}function Xl(q){if(!(q.target&&q.target!=this.display.input.getField()||Kc(this.display,q)||J(this,q)||q.ctrlKey&&!q.altKey||Lf&&q.metaKey)){var I=q.keyCode,la=q.charCode;if(uh&&I==al)al=null,za(q);else if(!uh||q.which&&!(10>q.which)|| !Wl(this,q))if(I=String.fromCharCode(null==la?I:la),"\b"!=I&&!nn(this,q,I))this.display.input.onKeyPress(q)}}function kh(q,I){var la=+new Date;if(Ml&&Ml.compare(la,q,I))return pe=Ml=null,"triple";if(pe&&pe.compare(la,q,I))return Ml=new Uj(la,q,I),pe=null,"double";pe=new Uj(la,q,I);Ml=null;return"single"}function Yf(q){var I=this.display;if(!(J(this,q)||I.activeTouch&&I.input.supportsTouch()))if(I.input.ensurePolled(),I.shift=q.shiftKey,Kc(I,q))Jg||(I.scroller.draggable=!1,setTimeout(function(){return I.scroller.draggable= !0},100));else if(!Oh(this,q,"gutterClick",!0)){var la=he(this,q),ha=ma(q),ua=la?kh(la,ha):"single";window.focus();1==ha&&this.state.selectingText&&this.state.selectingText(q);if(!la||!hi(this,ha,la,ua,q))if(1==ha)la?gh(this,la,ua,q):(q.target||q.srcElement)==I.scroller&&za(q);else if(2==ha)la&&Xg(this.doc,la),setTimeout(function(){return I.input.focus()},20);else if(3==ha)if(Mk)this.display.input.onContextMenu(q);else Ni(this)}}function hi(q,I,la,ha,ua){var Ha="Click";"double"==ha?Ha="Double"+Ha: "triple"==ha&&(Ha="Triple"+Ha);return xl(q,Vd((1==I?"Left":2==I?"Middle":"Right")+Ha,ua),ua,function(Ta){"string"==typeof Ta&&(Ta=Lj[Ta]);if(!Ta)return!1;var Sa=!1;try{q.isReadOnly()&&(q.state.suppressEdits=!0),Sa=Ta(q,la)!=Uk}finally{q.state.suppressEdits=!1}return Sa})}function gh(q,I,la,ha){Uf?setTimeout(u(Vj,q),0):q.curOp.focus=n();var ua=q.getOption("configureMouse");ua=ua?ua(q,la,ha):{};null==ua.unit&&(ua.unit=(yf?ha.shiftKey&&ha.metaKey:ha.altKey)?"rectangle":"single"==la?"char":"double"== la?"word":"line");if(null==ua.extend||q.doc.extend)ua.extend=q.doc.extend||ha.shiftKey;null==ua.addNew&&(ua.addNew=Lf?ha.metaKey:ha.ctrlKey);null==ua.moveOnDrag&&(ua.moveOnDrag=!(Lf?ha.altKey:ha.ctrlKey));var Ha=q.doc.sel,Ta;q.options.dragDrop&&Jl&&!q.isReadOnly()&&"single"==la&&-1<(Ta=Ha.contains(I))&&(0>Na((Ta=Ha.ranges[Ta]).from(),I)||0I.xRel)?Dk(q,ha,I,ua):Li(q,ha,I,ua)}function Dk(q,I,la,ha){var ua=q.display,Ha=!1,Ta=Pe(q,function(Nb){Jg&&(ua.scroller.draggable= !1);q.state.draggingText=!1;P(ua.wrapper.ownerDocument,"mouseup",Ta);P(ua.wrapper.ownerDocument,"mousemove",Sa);P(ua.scroller,"dragstart",jb);P(ua.scroller,"drop",Ta);Ha||(za(Nb),ha.addNew||Xg(q.doc,la,null,null,ha.extend),Jg&&!uk||Uf&&9==af?setTimeout(function(){ua.wrapper.ownerDocument.body.focus({preventScroll:!0});ua.input.focus()},20):ua.input.focus())}),Sa=function(Nb){Ha=Ha||10<=Math.abs(I.clientX-Nb.clientX)+Math.abs(I.clientY-Nb.clientY)},jb=function(){return Ha=!0};Jg&&(ua.scroller.draggable= !0);q.state.draggingText=Ta;Ta.copy=!ha.moveOnDrag;ua.scroller.dragDrop&&ua.scroller.dragDrop();Ne(ua.wrapper.ownerDocument,"mouseup",Ta);Ne(ua.wrapper.ownerDocument,"mousemove",Sa);Ne(ua.scroller,"dragstart",jb);Ne(ua.scroller,"drop",Ta);Ni(q);setTimeout(function(){return ua.input.focus()},20)}function lh(q,I,la){if("char"==la)return new zf(I,I);if("word"==la)return q.findWordAt(I);if("line"==la)return new zf(cb(I.line,0),xb(q.doc,cb(I.line+1,0)));q=la(q,I);return new zf(q.from,q.to)}function Li(q, I,la,ha){function ua(Le){if(0!=Na(rc,Le))if(rc=Le,"rectangle"==ha.unit){var Hf=[],Ag=q.options.tabSize,Gg=e(sb(jb,la.line).text,la.ch,Ag),rg=e(sb(jb,Le.line).text,Le.ch,Ag),Ke=Math.min(Gg,rg);Gg=Math.max(Gg,rg);rg=Math.min(la.line,Le.line);for(var ig=Math.min(q.lastLine(),Math.max(la.line,Le.line));rg<=ig;rg++){var Xf=sb(jb,rg).text,bg=x(Xf,Ke,Ag);Ke==Gg?Hf.push(new zf(cb(rg,bg),cb(rg,bg))):Xf.length>bg&&Hf.push(new zf(cb(rg,bg),cb(rg,x(Xf,Gg,Ag))))}Hf.length||Hf.push(new zf(la,la));Ze(jb,Cg(q,Nb.ranges.slice(0, Fc).concat(Hf),Fc),{origin:"*mouse",scroll:!1});q.scrollIntoView(Le)}else Hf=Gc,Ke=lh(q,Le,ha.unit),Le=Hf.anchor,0=Gg.to||Ag.linend.bottom?20:0;rg&&setTimeout(Pe(q,function(){ce==Hf&&(Sa.scroller.scrollTop+=rg,Ha(Le))}),50)}}function Ta(Le){q.state.selectingText=!1;ce=Infinity;Le&&(za(Le),Sa.input.focus());P(Sa.wrapper.ownerDocument,"mousemove",df);P(Sa.wrapper.ownerDocument,"mouseup",Dh);jb.history.lastSelOrigin=null}var Sa=q.display,jb=q.doc;za(I);var Nb=jb.sel,Ob=Nb.ranges;if(ha.addNew&&!ha.extend){var Fc=jb.sel.contains(la);var Gc=-1Ha:0=Math.floor(q.display.gutters.getBoundingClientRect().right))return!1; ha&&za(I);ha=q.display;var Ta=ha.lineDiv.getBoundingClientRect();if(Ha>Ta.bottom||!S(q,la))return ta(I);Ha-=Ta.top-ha.viewOffset;for(Ta=0;Ta=ua)return ua=yb(q.doc,Ha),W(q,la,q,ua,q.display.gutterSpecs[Ta].className,I),ta(I)}}function Ue(q,I){var la;(la=Kc(q.display,I))||(la=S(q,"gutterContextMenu")?Oh(q,I,"gutterContextMenu",!1):!1);if(!la&&!J(q,I,"contextmenu")&&!Mk)q.display.input.onContextMenu(I)} function Ph(q){q.display.wrapper.className=q.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+q.options.theme.replace(/(^|\s)\s*/g," cm-s-");Bc(q)}function Jj(q,I,la){!I!=!(la&&la!=sh)&&(la=q.display.dragFunctions,I=I?Ne:P,I(q.display.scroller,"dragstart",la.start),I(q.display.scroller,"dragenter",la.enter),I(q.display.scroller,"dragover",la.over),I(q.display.scroller,"dragleave",la.leave),I(q.display.scroller,"drop",la.drop))}function yl(q){q.options.lineWrapping?(t(q.display.wrapper,"CodeMirror-wrap"), q.display.sizer.style.minWidth="",q.display.sizerWidth=null):(Bh(q.display.wrapper,"CodeMirror-wrap"),Db(q));Ge(q);re(q);Bc(q);setTimeout(function(){return Yj(q)},100)}function le(q,I){var la=this;if(!(this instanceof le))return new le(q,I);this.options=I=I?g(I):{};g(Yg,I,!1);var ha=I.value;"string"==typeof ha?ha=new fe(ha,I.mode,null,I.lineSeparator,I.direction):I.mode&&(ha.modeOption=I.mode);this.doc=ha;var ua=new le.inputStyles[I.inputStyle](this);q=this.display=new Pm(q,ha,ua,I);q.wrapper.CodeMirror= this;Ph(this);I.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");lj(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new eg,keySeq:null,specialChars:null};I.autofocus&&!lk&&q.input.focus();Uf&&11>af&&setTimeout(function(){return la.display.input.reset(!0)},20);cf(this);fg||(Vl(),fg=!0);$i(this);this.curOp.forceUpdate=!0;Ii(this,ha);I.autofocus&& !lk||this.hasFocus()?setTimeout(function(){la.hasFocus()&&!la.state.focused&&Qe(la)},20):Ck(this);for(var Ha in vh)if(vh.hasOwnProperty(Ha))vh[Ha](this,I[Ha],sh);Fk(this);I.finishInit&&I.finishInit(this);for(ha=0;haaf?Ne(ha.scroller,"dblclick",Pe(q,function(Sa){if(!J(q,Sa)){var jb=he(q,Sa);!jb||Oh(q,Sa,"gutterClick",!0)||Kc(q.display,Sa)||(za(Sa),Sa=q.findWordAt(jb),Xg(q.doc,Sa.anchor,Sa.head))}})):Ne(ha.scroller,"dblclick",function(Sa){return J(q,Sa)||za(Sa)});Ne(ha.scroller,"contextmenu",function(Sa){return Ue(q,Sa)});Ne(ha.input.getField(), "contextmenu",function(Sa){ha.scroller.contains(Sa.target)||Ue(q,Sa)});var ua,Ha={end:0};Ne(ha.scroller,"touchstart",function(Sa){var jb;if(jb=!J(q,Sa))1!=Sa.touches.length?jb=!1:(jb=Sa.touches[0],jb=1>=jb.radiusX&&1>=jb.radiusY),jb=!jb;jb&&!Oh(q,Sa,"gutterClick",!0)&&(ha.input.ensurePolled(),clearTimeout(ua),jb=+new Date,ha.activeTouch={start:jb,moved:!1,prev:300>=jb-Ha.end?Ha:null},1==Sa.touches.length&&(ha.activeTouch.left=Sa.touches[0].pageX,ha.activeTouch.top=Sa.touches[0].pageY))});Ne(ha.scroller, "touchmove",function(){ha.activeTouch&&(ha.activeTouch.moved=!0)});Ne(ha.scroller,"touchend",function(Sa){var jb=ha.activeTouch;if(jb&&!Kc(ha,Sa)&&null!=jb.left&&!jb.moved&&300>new Date-jb.start){var Nb=q.coordsChar(ha.activeTouch,"page");jb=!jb.prev||la(jb,jb.prev)?new zf(Nb,Nb):!jb.prev.prev||la(jb,jb.prev.prev)?q.findWordAt(Nb):new zf(cb(Nb.line,0),xb(q.doc,cb(Nb.line+1,0)));q.setSelection(jb.anchor,jb.head);q.focus();za(Sa)}I()});Ne(ha.scroller,"touchcancel",I);Ne(ha.scroller,"scroll",function(){ha.scroller.clientHeight&& (Wj(q,ha.scroller.scrollTop),Zi(q,ha.scroller.scrollLeft,!0),W(q,"scroll",q))});Ne(ha.scroller,"mousewheel",function(Sa){return bk(q,Sa)});Ne(ha.scroller,"DOMMouseScroll",function(Sa){return bk(q,Sa)});Ne(ha.wrapper,"scroll",function(){return ha.wrapper.scrollTop=ha.wrapper.scrollLeft=0});ha.dragFunctions={enter:function(Sa){J(q,Sa)||fa(Sa)},over:function(Sa){if(!J(q,Sa)){var jb=he(q,Sa);if(jb){var Nb=document.createDocumentFragment();ph(q,jb,Nb);q.display.dragCursor||(q.display.dragCursor=l("div", null,"CodeMirror-cursors CodeMirror-dragcursors"),q.display.lineSpace.insertBefore(q.display.dragCursor,q.display.cursorDiv));p(q.display.dragCursor,Nb)}fa(Sa)}},start:function(Sa){if(Uf&&(!q.state.draggingText||100>+new Date-ok))fa(Sa);else if(!J(q,Sa)&&!Kc(q.display,Sa)&&(Sa.dataTransfer.setData("Text",q.getSelection()),Sa.dataTransfer.effectAllowed="copyMove",Sa.dataTransfer.setDragImage&&!uk)){var jb=l("img",null,null,"position: fixed; left: 0; top: 0;");jb.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"; uh&&(jb.width=jb.height=1,q.display.wrapper.appendChild(jb),jb._top=jb.offsetTop);Sa.dataTransfer.setDragImage(jb,0,0);uh&&jb.parentNode.removeChild(jb)}},drop:Pe(q,Dj),leave:function(Sa){J(q,Sa)||mm(q)}};var Ta=ha.input.getField();Ne(Ta,"keyup",function(Sa){return Sl.call(q,Sa)});Ne(Ta,"keydown",Pe(q,Gm));Ne(Ta,"keypress",Pe(q,Xl));Ne(Ta,"focus",function(Sa){return Qe(q,Sa)});Ne(Ta,"blur",function(Sa){return Ck(q,Sa)})}function vg(q,I,la,ha){var ua=q.doc,Ha;null==la&&(la="add");"smart"==la&&(ua.mode.indent? Ha=zc(q,I).state:la="prev");var Ta=q.options.tabSize,Sa=sb(ua,I),jb=e(Sa.text,null,Ta);Sa.stateAfter&&(Sa.stateAfter=null);var Nb=Sa.text.match(/^\s*/)[0];if(!ha&&!/\S/.test(Sa.text)){var Ob=0;la="not"}else if("smart"==la&&(Ob=ua.mode.indent(Ha,Sa.text.slice(Nb.length),Sa.text),Ob==Uk||150ua.first?e(sb(ua,I-1).text,null,Ta):0:"add"==la?Ob=jb+q.options.indentUnit:"subtract"==la?Ob=jb-q.options.indentUnit:"number"==typeof la&&(Ob=jb+la);Ob=Math.max(0,Ob); la="";ha=0;if(q.options.indentWithTabs)for(q=Math.floor(Ob/Ta);q;--q)ha+=Ta,la+="\t";haTa,jb=ij(I),Nb=null;if(Sa&&1Ta?"cut":"+input")};Vf(q.doc,Gc);Be(q,"inputRead",q,Gc)}I&&!Sa&&Rj(q,I);sg(q);2>q.curOp.updateInput&&(q.curOp.updateInput=Ob);q.curOp.typing=!0;q.state.pasteIncoming=q.state.cutIncoming=-1}function mk(q,I){var la=q.clipboardData&&q.clipboardData.getData("Text");if(la)return q.preventDefault(),I.isReadOnly()||I.options.disableInput||Wd(I,function(){return Kj(I, la,0,null,"paste")}),!0}function Rj(q,I){if(q.options.electricChars&&q.options.smartIndent)for(var la=q.doc.sel,ha=la.ranges.length-1;0<=ha;ha--){var ua=la.ranges[ha];if(!(100df?2:1))),-la)}else df=ua?Ri(q.cm,jb,I,la):Hj(jb,I,la);if(null==df){if(ce=!ce)ce=I.line+Nb,ce=q.first+ q.size?ce=!1:(I=new cb(ce,I.ch,I.sticky),ce=jb=sb(q,ce));if(ce)I=kk(ua,q.cm,jb,I.line,Nb);else return!1}else I=df;return!0}var Ta=I,Sa=la,jb=sb(q,I.line),Nb=ua&&"rtl"==q.direction?-la:la;if("char"==ha||"codepoint"==ha)Ha();else if("column"==ha)Ha(!0);else if("word"==ha||"group"==ha)for(var Ob=null,Fc="group"==ha,Gc=q.cm&&q.cm.getHelper(I,"wordChars"),rc=!0;!(0>la)||Ha(!rc);rc=!1){var nd=jb.text.charAt(I.ch)||"\n";nd=V(nd,Gc)?"w":Fc&&"\n"==nd?"n":!Fc||/\s/.test(nd)?null:"p";!Fc||rc||nd||(nd="s");if(Ob&& Ob!=nd){0>la&&(la=1,Ha(),I.sticky="after");break}nd&&(Ob=nd);if(0la?0>=Ta:Ta>=ua.height){I.hitSide=!0;break}Ta+= 5*la}return I}function gj(q,I){var la=jg(q,I.line);if(!la||la.hidden)return null;var ha=sb(q.doc,I.line);la=Sd(la,ha,I.line);q=Y(ha,q.doc.direction);ha="left";q&&(ha=L(q,I.ch)%2?"right":"left");I=Xa(la.map,I.ch,ha);I.offset="right"==I.collapse?I.end:I.start;return I}function xm(q){for(;q;q=q.parentNode)if(/CodeMirror-gutter-wrapper/.test(q.className))return!0;return!1}function xf(q,I){I&&(q.bad=!0);return q}function kl(q,I,la,ha,ua){function Ha(rc){return function(nd){return nd.id==rc}}function Ta(){Ob&& (Nb+=Fc,Gc&&(Nb+=Fc),Ob=Gc=!1)}function Sa(rc){rc&&(Ta(),Nb+=rc)}function jb(rc){if(1==rc.nodeType){var nd=rc.getAttribute("cm-text");if(nd)Sa(nd);else{nd=rc.getAttribute("cm-marker");var ce;if(nd)rc=q.findMarks(cb(ha,0),cb(ua+1,0),Ha(+nd)),rc.length&&(ce=rc[0].find(0))&&Sa(Kb(q.doc,ce.from,ce.to).join(Fc));else if("false"!=rc.getAttribute("contenteditable")&&(ce=/^(pre|div|p|li|table|br)$/i.test(rc.nodeName),/^br$/i.test(rc.nodeName)||0!=rc.textContent.length)){ce&&Ta();for(nd=0;ndrc?jb.map:Nb[rc],ce=0;cerc?q.line:q.rest[rc]);rc=nd[ce]+Gc;if(0>Gc||df!=Ob)rc=nd[ce+(Gc?1:0)];return cb(Fc,rc)}}}var ua=q.text.firstChild,Ha=!1;if(!I||!h(ua,I))return xf(cb(Bb(q.line),0),!0);if(I==ua&&(Ha=!0,I=ua.childNodes[la], la=0,!I))return la=q.rest?y(q.rest):q.line,xf(cb(Bb(la),la.text.length),Ha);var Ta=3==I.nodeType?I:null,Sa=I;Ta||1!=I.childNodes.length||3!=I.firstChild.nodeType||(Ta=I.firstChild,la&&(la=Ta.nodeValue.length));for(;Sa.parentNode!=ua;)Sa=Sa.parentNode;var jb=q.measure,Nb=jb.maps;if(I=ha(Ta,Sa,la))return xf(I,Ha);ua=Sa.nextSibling;for(Ta=Ta?Ta.nodeValue.length-la:0;ua;ua=ua.nextSibling){if(I=ha(ua,ua.firstChild,0))return xf(cb(I.line,I.ch-Ta),Ha);Ta+=ua.textContent.length}for(Sa=Sa.previousSibling;Sa;Sa= Sa.previousSibling){if(I=ha(Sa,Sa.firstChild,-1))return xf(cb(I.line,I.ch+la),Ha);la+=Sa.textContent.length}}var Wf=navigator.userAgent,Xj=navigator.platform,Qh=/gecko\/\d/i.test(Wf),sj=/MSIE \d/.test(Wf),Nm=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Wf),Qj=/Edge\/(\d+)/.exec(Wf),Uf=sj||Nm||Qj,af=Uf&&(sj?document.documentMode||6:+(Qj||Nm)[1]),Jg=!Qj&&/WebKit\//.test(Wf),Tk=Jg&&/Qt\/\d+\.\d+/.test(Wf),th=!Qj&&/Chrome\//.test(Wf),uh=/Opera\//.test(Wf),uk=/Apple Computer/.test(navigator.vendor),ll= /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(Wf),Ug=/PhantomJS/.test(Wf),Ki=!Qj&&/AppleWebKit/.test(Wf)&&/Mobile\/\w+/.test(Wf),ai=/Android/.test(Wf),lk=Ki||ai||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(Wf),Lf=Ki||/Mac/.test(Xj),yf=/\bCrOS\b/.test(Wf),Ci=/win/i.test(Xj),Gh=uh&&Wf.match(/Version\/(\d*\.\d*)/);Gh&&=Number(Gh[1]);Gh&&15<=Gh&&(uh=!1,Jg=!0);var Zh=Lf&&(Tk||uh&&(null==Gh||12.11>Gh)),Mk=Qh||Uf&&9<=af,Bh=function(q,I){var la=q.className;if(I=m(I).exec(la)){var ha=la.slice(I.index+I[0].length); q.className=la.slice(0,I.index)+(ha?I[1]+ha:"")}};var Xi=document.createRange?function(q,I,la,ha){var ua=document.createRange();ua.setEnd(ha||q,la);ua.setStart(q,I);return ua}:function(q,I,la){var ha=document.body.createTextRange();try{ha.moveToElementText(q.parentNode)}catch(ua){return ha}ha.collapse(!0);ha.moveEnd("character",la);ha.moveStart("character",I);return ha};var Nk=function(q){q.select()};Ki?Nk=function(q){q.selectionStart=0;q.selectionEnd=q.value.length}:Uf&&(Nk=function(q){try{q.select()}catch(I){}}); var eg=function(){this.f=this.id=null;this.time=0;this.handler=u(this.onTimeout,this)};eg.prototype.onTimeout=function(q){q.id=0;q.time<=+new Date?q.f():setTimeout(q.handler,q.time-+new Date)};eg.prototype.set=function(q,I){this.f=I;I=+new Date+q;if(!this.id||I=nd?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(nd): 1424<=nd&&1524>=nd?"R":1536<=nd&&1785>=nd?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(nd-1536):1774<=nd&&2220>=nd?"r":8192<=nd&&8203>=nd?"w":8204==nd?"b":"L";rc.call(Gc,nd)}Fc=0;for(Gc=jb;Fcaf)return!1; var q=l("div");return"draggable"in q||"dragDrop"in q}(),fm,uj,ij=3!="\n\nb".split(/\n/).length?function(q){for(var I=0,la=[],ha=q.length;I<=ha;){var ua=q.indexOf("\n",I);-1==ua&&(ua=q.length);var Ha=q.slice(I,"\r"==q.charAt(ua-1)?ua-1:ua),Ta=Ha.indexOf("\r");-1!=Ta?(la.push(Ha.slice(0,Ta)),I+=Ta+1):(la.push(Ha),I=ua+1)}return la}:function(q){return q.split(/\r\n?|\n/)},Sh=window.getSelection?function(q){try{return q.selectionStart!=q.selectionEnd}catch(I){return!1}}:function(q){try{var I=q.ownerDocument.selection.createRange()}catch(la){}return I&& I.parentElement()==q?0!=I.compareEndPoints("StartToEnd",I):!1},Hh=function(){var q=l("div");if("oncopy"in q)return!0;q.setAttribute("oncopy","return;");return"function"==typeof q.oncopy}(),wi=null,tj={},xk={},Sj={},fh=function(q,I,la){this.pos=this.start=0;this.string=q;this.tabSize=I||8;this.lineStart=this.lastColumnPos=this.lastColumnValue=0;this.lineOracle=la};fh.prototype.eol=function(){return this.pos>=this.string.length};fh.prototype.sol=function(){return this.pos==this.lineStart};fh.prototype.peek= function(){return this.string.charAt(this.pos)||void 0};fh.prototype.next=function(){if(this.posI};fh.prototype.eatSpace=function(){for(var q=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos> q};fh.prototype.skipToEnd=function(){this.pos=this.string.length};fh.prototype.skipTo=function(q){q=this.string.indexOf(q,this.pos);if(-1this.maxLookAhead&&(this.maxLookAhead=q);return I};kd.prototype.baseToken=function(q){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=q;)this.baseTokenPos+=2;var I=this.baseTokens[this.baseTokenPos+1];return{type:I&&I.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-q}};kd.prototype.nextLine=function(){this.line++;0af&&(this.horiz.style.minHeight=this.vert.style.minWidth= "18px")};hg.prototype.update=function(q){var I=q.scrollWidth>q.clientWidth+1,la=q.scrollHeight>q.clientHeight+1,ha=q.nativeBarWidth;la?(this.vert.style.display="block",this.vert.style.bottom=I?ha+"px":"0",this.vert.firstChild.style.height=Math.max(0,q.scrollHeight-q.clientHeight+(q.viewHeight-(I?ha:0)))+"px"):(this.vert.style.display="",this.vert.firstChild.style.height="0");I?(this.horiz.style.display="block",this.horiz.style.right=la?ha+"px":"0",this.horiz.style.left=q.barLeft+"px",this.horiz.firstChild.style.width= Math.max(0,q.scrollWidth-q.clientWidth+(q.viewWidth-q.barLeft-(la?ha:0)))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedZeroWidth&&0=Na(q,ha.to()))return la}return-1};var zf=function(q,I){this.anchor=q;this.head=I};zf.prototype.from=function(){return Sb(this.anchor,this.head)};zf.prototype.to=function(){return hb(this.anchor,this.head)};zf.prototype.empty=function(){return this.head.line== this.anchor.line&&this.head.ch==this.anchor.ch};ri.prototype={chunkSize:function(){return this.lines.length},removeInner:function(q,I){for(var la=q,ha=q+I;lathis.size-I&&(1=this.children.length)){var q=this;do{var I=q.children.splice(q.children.length-5,5);I=new rh(I);if(q.parent){q.size-=I.size;q.height-=I.height;var la=k(q.parent.children,q);q.parent.children.splice(la+1,0,I)}else la=new rh(q.children),la.parent=q,q.children=[la,I],q=la;I.parent=q.parent}while(10q.display.maxLineLength&&(q.display.maxLine=Ha,q.display.maxLineLength=Ta,q.display.maxLineChanged=!0);null!=la&&q&&this.collapsed&&re(q,la,ha+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,q&&qi(q.doc));q&&Be(q,"markerCleared",q,this,la,ha);I&&Zj(q);this.parent&& this.parent.clear()}};qe.prototype.find=function(q,I){null==q&&"bookmark"==this.type&&(q=1);for(var la,ha,ua=0;uaNa(Sa.head,Sa.anchor),q[Ha]=new zf(Sa?jb:Ta,Sa?Ta:jb)):q[Ha]=new zf(Ta,Ta)}q=new ee(q,this.sel.primIndex)}I=q;for(q=ha.length-1;0<=q;q--)Vf(this,ha[q]);I?Wg(this,I):this.cm&&sg(this.cm)}),undo:qh(function(){Mh(this,"undo")}),redo:qh(function(){Mh(this,"redo")}),undoSelection:qh(function(){Mh(this,"undo",!0)}),redoSelection:qh(function(){Mh(this,"redo",!0)}),setExtending:function(q){this.extend=q},getExtending:function(){return this.extend}, historySize:function(){for(var q=this.history,I=0,la=0,ha=0;ha=q.ch)&&I.push(ua.marker.parent||ua.marker)}return I},findMarks:function(q,I,la){q=xb(this,q);I=xb(this,I);var ha=[],ua=q.line;this.iter(q.line,I.line+1,function(Ha){if(Ha=Ha.markedSpans)for(var Ta=0;Ta=Sa.to||null==Sa.from&&ua!=q.line||null!=Sa.from&&ua==I.line&&Sa.from>=I.ch||la&&!la(Sa.marker)||ha.push(Sa.marker.parent||Sa.marker)}++ua});return ha},getAllMarks:function(){var q=[];this.iter(function(I){if(I=I.markedSpans)for(var la=0;laq)return I=q,!0;q-=ua;++la});return xb(this,cb(la,I))},indexFromPos:function(q){q= xb(this,q);var I=q.ch;if(q.lineq.ch)return 0;var la=this.lineSeparator().length;this.iter(this.first,q.line,function(ha){I+=ha.text.length+la});return I},copy:function(q){var I=new fe(Vb(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);I.scrollTop=this.scrollTop;I.scrollLeft=this.scrollLeft;I.sel=this.sel;I.extend=!1;q&&(I.history.undoDepth=this.history.undoDepth,I.setHistory(this.getHistory()));return I},linkedDoc:function(q){q||={};var I= this.first,la=this.first+this.size;null!=q.from&&q.from>I&&(I=q.from);null!=q.to&&q.toHm;Hm++)Fi[Hm+48]=Fi[Hm+96]=String(Hm); for(var Bk=65;90>=Bk;Bk++)Fi[Bk]=String.fromCharCode(Bk);for(var Ok=1;12>=Ok;Ok++)Fi[Ok+111]=Fi[Ok+63235]="F"+Ok;var Ak={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","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","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"]}};Ak["default"]=Lf?Ak.macDefault:Ak.pcDefault;var Lj={selectAll:Ch,singleSelection:function(q){return q.setSelection(q.getCursor("anchor"),q.getCursor("head"),Rh)},killLine:function(q){return Gj(q,function(I){if(I.empty()){var la=sb(q.doc,I.head.line).text.length; return I.head.ch==la&&I.head.lineq.doc.first){var Ta=sb(q.doc,ua.line-1).text;Ta&&(ua=new cb(ua.line,1),q.replaceRange(Ha.charAt(0)+q.doc.lineSeparator()+Ta.charAt(Ta.length-1),cb(ua.line-1,Ta.length-1),ua,"+transpose"))}la.push(new zf(ua,ua))}q.setSelections(la)})}, newlineAndIndent:function(q){return Wd(q,function(){for(var I=q.listSelections(),la=I.length-1;0<=la;la--)q.replaceRange(q.doc.lineSeparator(),I[la].anchor,I[la].head,"+input");I=q.listSelections();for(la=0;laq&&0==Na(I,this.pos)&&la==this.button};var pe,Ml,sh={toString:function(){return"CodeMirror.Init"}},Yg={},vh={};le.defaults=Yg;le.optionHandlers=vh;var Sf=[];le.defineInitHook=function(q){return Sf.push(q)};var Kh=null,Ce=function(q){this.cm=q;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new eg;this.composing=null;this.gracePeriod=!1;this.readDOMTimeout=null};Ce.prototype.init=function(q){function I(Sa){for(Sa=Sa.target;Sa;Sa= Sa.parentNode){if(Sa==Ta)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(Sa.className))break}return!1}function la(Sa){if(I(Sa)&&!J(Ha,Sa)){if(Ha.somethingSelected())Kh={lineWise:!1,text:Ha.getSelections()},"cut"==Sa.type&&Ha.replaceSelection("",null,"cut");else if(Ha.options.lineWiseCopyCut){var jb=Pf(Ha);Kh={lineWise:!0,text:jb.text};"cut"==Sa.type&&Ha.operation(function(){Ha.setSelections(jb.ranges,0,Rh);Ha.replaceSelection("",null,"cut")})}else return;if(Sa.clipboardData){Sa.clipboardData.clearData(); var Nb=Kh.text.join("\n");Sa.clipboardData.setData("Text",Nb);if(Sa.clipboardData.getData("Text")==Nb){Sa.preventDefault();return}}var Ob=vi();Sa=Ob.firstChild;Ha.display.lineSpace.insertBefore(Ob,Ha.display.lineSpace.firstChild);Sa.value=Kh.text.join("\n");var Fc=document.activeElement;Nk(Sa);setTimeout(function(){Ha.display.lineSpace.removeChild(Ob);Fc.focus();Fc==Ta&&ua.showPrimarySelection()},50)}}var ha=this,ua=this,Ha=ua.cm,Ta=ua.div=q.lineDiv;dh(Ta,Ha.options.spellcheck,Ha.options.autocorrect, Ha.options.autocapitalize);Ne(Ta,"paste",function(Sa){!I(Sa)||J(Ha,Sa)||mk(Sa,Ha)||11>=af&&setTimeout(Pe(Ha,function(){return ha.updateFromDOM()}),20)});Ne(Ta,"compositionstart",function(Sa){ha.composing={data:Sa.data,done:!1}});Ne(Ta,"compositionupdate",function(Sa){ha.composing||(ha.composing={data:Sa.data,done:!1})});Ne(Ta,"compositionend",function(Sa){ha.composing&&(Sa.data!=ha.composing.data&&ha.readFromDOMSoon(),ha.composing.done=!0)});Ne(Ta,"touchstart",function(){return ua.forceCompositionEnd()}); Ne(Ta,"input",function(){ha.composing||ha.readFromDOMSoon()});Ne(Ta,"copy",la);Ne(Ta,"cut",la)};Ce.prototype.screenReaderLabelChanged=function(q){q?this.div.setAttribute("aria-label",q):this.div.removeAttribute("aria-label")};Ce.prototype.prepareSelection=function(){var q=Ye(this.cm,!1);q.focus=document.activeElement==this.div;return q};Ce.prototype.showSelection=function(q,I){q&&this.cm.display.view.length&&((q.focus||I)&&this.showPrimarySelection(),this.showMultipleSelections(q))};Ce.prototype.getSelection= function(){return this.cm.display.wrapper.ownerDocument.getSelection()};Ce.prototype.showPrimarySelection=function(){var q=this.getSelection(),I=this.cm,la=I.doc.sel.primary(),ha=la.from();la=la.to();if(I.display.viewTo==I.display.viewFrom||ha.line>=I.display.viewTo||la.line=I.display.viewFrom&& gj(I,ha)||{node:ua[0].measure.map[2],offset:0},la=la.lineq.firstLine()&&(ha=cb(ha.line-1,sb(q.doc,ha.line-1).length));ua.ch==sb(q.doc,ua.line).text.length&&ua.lineI.viewTo-1)return!1;var Ha;ha.line==I.viewFrom||0==(Ha=ke(q,ha.line))?(la=Bb(I.view[0].line),Ha=I.view[0].node):(la=Bb(I.view[Ha].line),Ha=I.view[Ha-1].node.nextSibling);var Ta=ke(q,ua.line);Ta==I.view.length-1?(ua=I.viewTo-1,I=I.lineDiv.lastChild):(ua=Bb(I.view[Ta+1].line)-1,I=I.view[Ta+1].node.previousSibling);if(!Ha)return!1;I=q.doc.splitLines(kl(q,Ha,I,la,ua));for(Ha=Kb(q.doc,cb(la,0),cb(ua,sb(q.doc,ua).text.length));1ha.ch&&jb.charCodeAt(jb.length-Ta-1)==Nb.charCodeAt(Nb.length-Ta-1);)Sa--, Ta++;I[I.length-1]=jb.slice(0,jb.length-Ta).replace(/^\u200b+/,"");I[0]=I[0].slice(Sa).replace(/\u200b+$/,"");ha=cb(la,Sa);la=cb(ua,Ha.length?y(Ha).length-Ta:0);if(1af&&Ha.scrollbars.setScrollTop(Ha.scroller.scrollTop=jb),null!=Ta.selectionStart)){(!Uf||Uf&&9>af)&&I();var rc=0,nd=function(){Ha.selForContextMenu==ua.doc.sel&&0==Ta.selectionStart&&0rc++?Ha.detectingSelectAll=setTimeout(nd,500):(Ha.selForContextMenu=null,Ha.input.reset())};Ha.detectingSelectAll= setTimeout(nd,200)}}var ha=this,ua=ha.cm,Ha=ua.display,Ta=ha.textarea;ha.contextMenuPending&&ha.contextMenuPending();var Sa=he(ua,q),jb=Ha.scroller.scrollTop;if(Sa&&!uh){ua.options.resetSelectionOnContextMenu&&-1==ua.doc.sel.contains(Sa)&&Pe(ua,Ze)(ua.doc,yh(Sa),Rh);var Nb=Ta.style.cssText,Ob=ha.wrapper.style.cssText;Sa=ha.wrapper.offsetParent.getBoundingClientRect();ha.wrapper.style.cssText="position: static";Ta.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(q.clientY- Sa.top-5)+"px; left: "+(q.clientX-Sa.left-5)+"px;\n z-index: 1000; background: "+(Uf?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity\x3d5);";if(Jg)var Fc=window.scrollY;Ha.input.focus();Jg&&window.scrollTo(null,Fc);Ha.input.reset();ua.somethingSelected()||(Ta.value=ha.prevInput=" ");ha.contextMenuPending=la;Ha.selForContextMenu=ua.doc.sel;clearTimeout(Ha.detectingSelectAll);Uf&&9<=af&&I(); if(Mk){fa(q);var Gc=function(){P(window,"mouseup",Gc);setTimeout(la,20)};Ne(window,"mouseup",Gc)}else setTimeout(la,50)}};Fg.prototype.readOnlyChanged=function(q){q||this.reset();this.textarea.disabled="nocursor"==q;this.textarea.readOnly=!!q};Fg.prototype.setUneditable=function(){};Fg.prototype.needsContentAttribute=!1;(function(q){function I(ha,ua,Ha,Ta){q.defaults[ha]=ua;Ha&&(la[ha]=Ta?function(Sa,jb,Nb){Nb!=sh&&Ha(Sa,jb,Nb)}:Ha)}var la=q.optionHandlers;q.defineOption=I;q.Init=sh;I("value","", function(ha,ua){return ha.setValue(ua)},!0);I("mode",null,function(ha,ua){ha.doc.modeOption=ua;Aj(ha)},!0);I("indentUnit",2,Aj,!0);I("indentWithTabs",!1);I("smartIndent",!0);I("tabSize",4,function(ha){Rl(ha);Bc(ha);re(ha)},!0);I("lineSeparator",null,function(ha,ua){if(ha.doc.lineSep=ua){var Ha=[],Ta=ha.doc.first;ha.doc.iter(function(jb){for(var Nb=0;;){var Ob=jb.text.indexOf(ua,Nb);if(-1==Ob)break;Nb=Ob+ua.length;Ha.push(cb(Ta,Ob))}Ta++});for(var Sa=Ha.length-1;0<=Sa;Sa--)Bg(ha.doc,ua,Ha[Sa],cb(Ha[Sa].line, Ha[Sa].ch+ua.length))}});I("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200c\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(ha,ua,Ha){ha.state.specialChars=new RegExp(ua.source+(ua.test("\t")?"":"|\t"),"g");Ha!=sh&&ha.refresh()});I("specialCharPlaceholder",Dc,function(ha){return ha.refresh()},!0);I("electricChars",!0);I("inputStyle",lk?"contenteditable":"textarea",function(){throw Error("inputStyle can not (yet) be changed in a running editor");},!0);I("spellcheck",!1,function(ha, ua){return ha.getInputField().spellcheck=ua},!0);I("autocorrect",!1,function(ha,ua){return ha.getInputField().autocorrect=ua},!0);I("autocapitalize",!1,function(ha,ua){return ha.getInputField().autocapitalize=ua},!0);I("rtlMoveVisually",!Ci);I("wholeLineUpdateBefore",!0);I("theme","default",function(ha){Ph(ha);Zd(ha)},!0);I("keyMap","default",function(ha,ua,Ha){ua=hk(ua);(Ha=Ha!=sh&&hk(Ha))&&Ha.detach&&Ha.detach(ha,ua);ua.attach&&ua.attach(ha,Ha||null)});I("extraKeys",null);I("configureMouse",null); I("lineWrapping",!1,yl,!0);I("gutters",[],function(ha,ua){ha.display.gutterSpecs=ff(ua,ha.options.lineNumbers);Zd(ha)},!0);I("fixedGutter",!0,function(ha,ua){ha.display.gutters.style.left=ua?Kd(ha.display)+"px":"0";ha.refresh()},!0);I("coverGutterNextToScrollbar",!1,function(ha){return Yj(ha)},!0);I("scrollbarStyle","native",function(ha){lj(ha);Yj(ha);ha.display.scrollbars.setScrollTop(ha.doc.scrollTop);ha.display.scrollbars.setScrollLeft(ha.doc.scrollLeft)},!0);I("lineNumbers",!1,function(ha,ua){ha.display.gutterSpecs= ff(ha.options.gutters,ua);Zd(ha)},!0);I("firstLineNumber",1,Zd,!0);I("lineNumberFormatter",function(ha){return ha},Zd,!0);I("showCursorWhenSelecting",!1,Lg,!0);I("resetSelectionOnContextMenu",!0);I("lineWiseCopyCut",!0);I("pasteLinesPerSelection",!0);I("selectionsMayTouch",!1);I("readOnly",!1,function(ha,ua){"nocursor"==ua&&(Ck(ha),ha.display.input.blur());ha.display.input.readOnlyChanged(ua)});I("screenReaderLabel",null,function(ha,ua){ha.display.input.screenReaderLabelChanged(""===ua?null:ua)}); I("disableInput",!1,function(ha,ua){ua||ha.display.input.reset()},!0);I("dragDrop",!0,Jj);I("allowDropFileTypes",null);I("cursorBlinkRate",530);I("cursorScrollMargin",0);I("cursorHeight",1,Lg,!0);I("singleCursorHeightPerLine",!0,Lg,!0);I("workTime",100);I("workDelay",100);I("flattenSpans",!0,Rl,!0);I("addModeClass",!1,Rl,!0);I("pollInterval",100);I("undoDepth",200,function(ha,ua){return ha.doc.history.undoDepth=ua});I("historyEventDelay",1250);I("viewportMargin",10,function(ha){return ha.refresh()}, !0);I("maxHighlightLength",1E4,Rl,!0);I("moveInputWithCursor",!0,function(ha,ua){ua||ha.display.input.resetPosition()});I("tabindex",null,function(ha,ua){return ha.display.input.getField().tabIndex=ua||""});I("autofocus",null);I("direction","ltr",function(ha,ua){return ha.doc.setDirection(ua)},!0);I("phrases",null)})(le);(function(q){var I=q.optionHandlers,la=q.helpers={};q.prototype={constructor:q,focus:function(){window.focus();this.display.input.focus()},setOption:function(ha,ua){var Ha=this.options, Ta=Ha[ha];if(Ha[ha]!=ua||"mode"==ha)Ha[ha]=ua,I.hasOwnProperty(ha)&&Pe(this,I[ha])(this,ua,Ta),W(this,"optionChange",this,ha)},getOption:function(ha){return this.options[ha]},getDoc:function(){return this.doc},addKeyMap:function(ha,ua){this.state.keyMaps[ua?"push":"unshift"](hk(ha))},removeKeyMap:function(ha){for(var ua=this.state.keyMaps,Ha=0;HaHa&&(vg(this,Sa.head.line,ha,!0),Ha=Sa.head.line,Ta==this.doc.sel.primIndex&&sg(this));else{var jb=Sa.from();Sa=Sa.to();var Nb=Math.max(Ha,jb.line);Ha=Math.min(this.lastLine(),Sa.line-(Sa.ch?0:1))+1;for(Sa=Nb;Sa>1;if((Sa?ua[2*Sa-1]:0)>=ha)Ta=Sa;else if(ua[2*Sa+1]Ha?ua:0==Ha?null:ua.slice(0,Ha-1)},getModeAt:function(ha){var ua= this.doc.mode;return ua.innerMode?q.innerMode(ua,this.getTokenAt(ha).state).mode:ua},getHelper:function(ha,ua){return this.getHelpers(ha,ua)[0]},getHelpers:function(ha,ua){var Ha=[];if(!la.hasOwnProperty(ua))return Ha;var Ta=la[ua];ha=this.getModeAt(ha);if("string"==typeof ha[ua])Ta[ha[ua]]&&Ha.push(Ta[ha[ua]]);else if(ha[ua])for(var Sa=0;SaSa&&(ha=Sa,Ta=!0);ha=sb(this.doc,ha)}return ed(this,ha,{top:0,left:0},ua||"page",Ha||Ta).top+(Ta?this.doc.height-ab(ha):0)},defaultTextHeight:function(){return ac(this.display)}, defaultCharWidth:function(){return vc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(ha,ua,Ha,Ta,Sa){var jb=this.display;ha=ge(this,xb(this.doc,ha));var Nb=ha.bottom,Ob=ha.left;ua.style.position="absolute";ua.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(ua);jb.sizer.appendChild(ua);if("over"==Ta)Nb=ha.top;else if("above"==Ta||"near"==Ta){var Fc=Math.max(jb.wrapper.clientHeight,this.doc.height),Gc=Math.max(jb.sizer.clientWidth, jb.lineSpace.clientWidth);("above"==Ta||ha.bottom+ua.offsetHeight>Fc)&&ha.top>ua.offsetHeight?Nb=ha.top-ua.offsetHeight:ha.bottom+ua.offsetHeight<=Fc&&(Nb=ha.bottom);Ob+ua.offsetWidth>Gc&&(Ob=Gc-ua.offsetWidth)}ua.style.top=Nb+"px";ua.style.left=ua.style.right="";"right"==Sa?(Ob=jb.sizer.clientWidth-ua.offsetWidth,ua.style.right="0px"):("left"==Sa?Ob=0:"middle"==Sa&&(Ob=(jb.sizer.clientWidth-ua.offsetWidth)/2),ua.style.left=Ob+"px");Ha&&(ha=Ol(this,{left:Ob,top:Nb,right:Ob+ua.offsetWidth,bottom:Nb+ ua.offsetHeight}),null!=ha.scrollTop&&Wj(this,ha.scrollTop),null!=ha.scrollLeft&&Zi(this,ha.scrollLeft))},triggerOnKeyDown:Wh(Gm),triggerOnKeyPress:Wh(Xl),triggerOnKeyUp:Sl,triggerOnMouseDown:Wh(Yf),execCommand:function(ha){if(Lj.hasOwnProperty(ha))return Lj[ha].call(null,this)},triggerElectric:Wh(function(ha){Rj(this,ha)}),findPosH:function(ha,ua,Ha,Ta){var Sa=1;0>ua&&(Sa=-1,ua=-ua);ha=xb(this.doc,ha);for(var jb=0;jbha?Ta.from():Ta.to()},ml)}),deleteH:Wh(function(ha,ua){var Ha=this.doc;this.doc.sel.somethingSelected()?Ha.replaceSelection("",null,"+delete"):Gj(this,function(Ta){var Sa=Me(Ha,Ta.head,ha,ua,!1);return 0>ha?{from:Sa,to:Ta.head}:{from:Ta.head,to:Sa}})}),findPosV:function(ha,ua,Ha,Ta){var Sa=1;0>ua&&(Sa=-1,ua=-ua);var jb=xb(this.doc,ha);for(ha= 0;haha?Ob.from():Ob.to();var Fc=ge(Ha,Ob.head,"div");null!=Ob.goalColumn&&(Fc.left=Ob.goalColumn);Sa.push(Fc.left);var Gc=li(Ha,Fc,ha,ua);"page"==ua&&Ob==Ta.sel.primary()&&xj(Ha,od(Ha,Gc,"div").top-Fc.top);return Gc},ml);if(Sa.length)for(var Nb= 0;Nbk(Pk,Vk)&&(le.prototype[Vk]=function(q){return function(){return q.apply(this.doc,arguments)}}(fe.prototype[Vk]));da(fe);le.inputStyles={textarea:Fg, contenteditable:Ce};le.defineMode=function(q){le.defaults.mode||"null"==q||(le.defaults.mode=q);wa.apply(this,arguments)};le.defineMIME=function(q,I){xk[q]=I};le.defineMode("null",function(){return{token:function(q){return q.skipToEnd()}}});le.defineMIME("text/plain","null");le.defineExtension=function(q,I){le.prototype[q]=I};le.defineDocExtension=function(q,I){fe.prototype[q]=I};le.fromTextArea=function(q,I){function la(){q.value=Sa.getValue()}I=I?g(I):{};I.value=q.value;!I.tabindex&&q.tabIndex&& (I.tabindex=q.tabIndex);!I.placeholder&&q.placeholder&&(I.placeholder=q.placeholder);if(null==I.autofocus){var ha=n();I.autofocus=ha==q||null!=q.getAttribute("autofocus")&&ha==document.body}if(q.form&&(Ne(q.form,"submit",la),!I.leaveSubmitMethodAlone)){var ua=q.form;var Ha=ua.submit;try{var Ta=ua.submit=function(){la();ua.submit=Ha;ua.submit();ua.submit=Ta}}catch(jb){}}I.finishInit=function(jb){jb.save=la;jb.getTextArea=function(){return q};jb.toTextArea=function(){jb.toTextArea=isNaN;la();q.parentNode.removeChild(jb.getWrapperElement()); q.style.display="";q.form&&(P(q.form,"submit",la),I.leaveSubmitMethodAlone||"function"!=typeof q.form.submit||(q.form.submit=Ha))}};q.style.display="none";var Sa=le(function(jb){return q.parentNode.insertBefore(jb,q.nextSibling)},I);return Sa};(function(q){q.off=P;q.on=Ne;q.wheelEventPixels=Vg;q.Doc=fe;q.splitLines=ij;q.countColumn=e;q.findColumn=x;q.isWordChar=r;q.Pass=Uk;q.signal=W;q.Line=fi;q.changeEnd=tg;q.scrollbarModel=Di;q.Pos=cb;q.cmpPos=Na;q.modes=tj;q.mimeModes=xk;q.resolveMode=sa;q.getMode= Fa;q.modeExtensions=Sj;q.extendMode=Ma;q.copyState=La;q.startState=qb;q.innerMode=Ra;q.commands=Lj;q.keyMap=Ak;q.keyName=hh;q.isModifierKey=Ul;q.lookupKey=si;q.normalizeKeyMap=yi;q.StringStream=fh;q.SharedTextMarker=Ll;q.TextMarker=qe;q.LineWidget=nk;q.e_preventDefault=za;q.e_stopPropagation=Z;q.e_stop=fa;q.addClass=t;q.contains=h;q.rmClass=Bh;q.keyNames=Fi})(le);le.version="5.58.1";return le})}; shadow$provide[465]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){function G(e,k){return"pairs"==k&&"string"==typeof e?e:"object"==typeof e&&null!=e[k]?e[k]:a[k]}function p(e){for(var k=0;kL;L++)e.execCommand("goCharRight");else if("surround"==r){var Y=e.getSelections();for(L=0;Lx))for(K==u.line&&(A=u.ch-(0>g?1:0));A!=D;A+=g){var r=E.charAt(A);if(k.test(r)&&(void 0===e||a.getTokenTypeAt(n(K,A+1))==e)){var V=t[r];if(V&&"\x3e"==V.charAt(1)==0document.documentMode),n=m.Pos,t={"(":")\x3e",")":"(\x3c","[":"]\x3e","]":"[\x3c","{":"}\x3e","}":"{\x3c","\x3c":"\x3e\x3e","\x3e":"\x3c\x3c"};m.defineOption("matchBrackets",!1,function(a,u,g){function e(k){k.state.matchBrackets&&k.state.matchBrackets.currentlyHighlighted&& (k.state.matchBrackets.currentlyHighlighted(),k.state.matchBrackets.currentlyHighlighted=null)}g&&g!=m.Init&&(a.off("cursorActivity",c),a.off("focus",c),a.off("blur",e),e(a));u&&(a.state.matchBrackets="object"==typeof u?u:{},a.on("cursorActivity",c),a.on("focus",c),a.on("blur",e))});m.defineExtension("matchBrackets",function(){l(this,!0)});m.defineExtension("findMatchingBracket",function(a,u,g){if(g||"boolean"==typeof u)g?(g.strict=u,u=g):u=u?{strict:!0}:null;return G(this,a,u)});m.defineExtension("scanForBracket", function(a,u,g,e){return p(this,a,u,g,e)})})}; shadow$provide[467]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){function G(h){for(var n=0;n≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/,n=/←/,t=/[⍝#].*$/,a=function(u){var g=!1;return function(e){g=e;return e===u?"\\"===g:!0}};return{startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(u,g){if(u.eatSpace())return null;var e=u.next();if('"'===e||"'"===e)return u.eatWhile(a(e)),u.next(),g.prev=!0,"string";if(/[\[{\(]/.test(e))return g.prev= !1,null;if(/[\]}\)]/.test(e))return g.prev=!0,null;if(c.test(e))return g.prev=!1,"niladic";if(/[¯\d]/.test(e))return g.func?(g.func=!1,g.prev=!1):g.prev=!0,u.eatWhile(/[\w\.]/),"number";if(l.test(e))return"operator apl-"+G[e];if(n.test(e))return"apl-arrow";if(h.test(e))return u="apl-",null!=p[e]&&(u=g.prev?u+p[e][1]:u+p[e][0]),g.func=!0,g.prev=!1,"function "+u;if(t.test(e))return u.skipToEnd(),"comment";if("∘"===e&&"."===u.peek())return u.next(),"function jot-dot";u.eatWhile(/[\w\$_]/);g.prev=!0; return"keyword"}}});m.defineMIME("text/apl","apl")})}; shadow$provide[469]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){function G(p){var l=p.match(/^\s*\S/);p.skipToEnd();return l?"error":null}m.defineMode("asciiarmor",function(){return{token:function(p,l){var c;if("top"==l.state)return p.sol()&&(c=p.match(/^-----BEGIN (.*)?-----\s*$/))?(l.state="headers",l.type=c[1],"tag"):G(p);if("headers"==l.state){if(p.sol()&& p.match(/^\w+:/))return l.state="header","atom";if(p=G(p))l.state="body";return p}if("header"==l.state)return p.skipToEnd(),l.state="headers","string";if("body"==l.state){if(p.sol()&&(c=p.match(/^-----END (.*)?-----\s*$/))){if(c[1]!=l.type)return"error";l.state="end";return"tag"}if(p.eatWhile(/[A-Za-z0-9+\/=]/))return null;p.next();return"error"}if("end"==l.state)return G(p)},blankLine:function(p){"headers"==p.state&&(p.state="body")},startState:function(){return{state:"top",type:null}}}});m.defineMIME("application/pgp", "asciiarmor");m.defineMIME("application/pgp-encrypted","asciiarmor");m.defineMIME("application/pgp-keys","asciiarmor");m.defineMIME("application/pgp-signature","asciiarmor")})}; shadow$provide[470]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){function G(p){var l={};p=p.split(" ");for(var c=0;c?$/.test(t))return n.extenExten=!0,n.extenStart=!1,"strong";n.extenStart=!1;h.skipToEnd();return"error"}if(n.extenExten)return n.extenExten=!1,n.extenPriority=!0,h.eatWhile(/[^,]/),n.extenInclude&&(h.skipToEnd(),n.extenPriority=!1,n.extenInclude= !1),n.extenSame&&(n.extenPriority=!1,n.extenSame=!1,n.extenApplication=!0),"tag";if(n.extenPriority){n.extenPriority=!1;n.extenApplication=!0;h.next();if(n.extenSame)return null;h.eatWhile(/[^,]/);return"number"}if(n.extenApplication){h.eatWhile(/,/);t=h.current();if(","===t)return null;h.eatWhile(/\w/);t=h.current().toLowerCase();n.extenApplication=!1;if(-1!==c.indexOf(t))return"def strong"}else return G(h,n);return null},blockCommentStart:";--",blockCommentEnd:"--;",lineComment:";"}});m.defineMIME("text/x-asterisk", "asterisk")})}; shadow$provide[472]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){var G="\x3e\x3c+-.,[]".split("");m.defineMode("brainfuck",function(){return{startState:function(){return{commentLine:!1,left:0,right:0,commentLoop:!1}},token:function(p,l){if(p.eatSpace())return null;p.sol()&&(l.commentLine=!1);var c=p.next().toString();if(-1!==G.indexOf(c)){if(!0===l.commentLine)return p.eol()&& (l.commentLine=!1),"comment";if("]"===c||"["===c)return"["===c?l.left++:l.right++,"bracket";if("+"===c||"-"===c)return"keyword";if("\x3c"===c||"\x3e"===c)return"atom";if("."===c||","===c)return"def"}else return l.commentLine=!0,p.eol()&&(l.commentLine=!1),"comment";p.eol()&&(l.commentLine=!1)}}});m.defineMIME("text/x-brainfuck","brainfuck")})}; shadow$provide[473]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){function G(T,L,Y,P,W,J){this.indented=T;this.column=L;this.type=Y;this.info=P;this.align=W;this.prev=J}function p(T,L,Y,P){var W=T.indented;T.context&&"statement"==T.context.type&&"statement"!=Y&&(W=T.context.indented);return T.context=new G(W,L,Y,P,null,T.context)}function l(T){var L=T.context.type; if(")"==L||"]"==L||"}"==L)T.indented=T.context.indented;return T.context=T.context.prev}function c(T,L,Y){if("variable"==L.prevToken||"type"==L.prevToken||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(T.string.slice(0,Y))||L.typeAtEndOfLine&&T.column()==T.indentation())return!0}function h(T){for(;;){if(!T||"top"==T.type)return!0;if("}"==T.type&&"namespace"!=T.prev.info)return!1;T=T.prev}}function n(T){var L={};T=T.split(" ");for(var Y=0;YT.length||"_"!=T[0]?!1:"_"==T[1]||T[1]!==T[1].toLowerCase()}function x(T){T.eatWhile(/[\w\.']/);return"number"}function z(T, L){T.backUp(1);if(T.match(/(R|u8R|uR|UR|LR)/)){var Y=T.match(/"([^\s\\()]{0,16})\(/);if(!Y)return!1;L.cpp11RawStringDelim=Y[1];L.tokenize=E;return E(T,L)}if(T.match(/(u8|u|U|L)/))return T.match(/["']/,!1)?"string":!1;T.next();return!1}function y(T){return(T=/(\w+)::~?(\w+)$/.exec(T))&&T[1]==T[2]}function K(T,L){for(var Y;null!=(Y=T.next());)if('"'==Y&&!T.eat('"')){L.tokenize=null;break}return"string"}function E(T,L){var Y=L.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$\x26");T.match(new RegExp(".*?\\)"+ Y+'"'))?L.tokenize=null:T.skipToEnd();return"string"}function A(T,L){function Y(J){if(J)for(var M in J)J.hasOwnProperty(M)&&P.push(M)}"string"==typeof T&&(T=[T]);var P=[];Y(L.keywords);Y(L.types);Y(L.builtin);Y(L.atoms);P.length&&(L.helperType=T[0],m.registerHelper("hintWords",T[0],P));for(var W=0;W!?|\/]/,Vb=L.isIdentifierChar||/[\w\$_\xa1-\uffff]/,gb=L.isReservedIdentifier||!1,Bb,yb;return{startState:function(lb){return{tokenize:null,context:new G((lb||0)-M,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(lb,Za){var cb=Za.context;lb.sol()&& (null==cb.align&&(cb.align=!1),Za.indented=lb.indentation(),Za.startOfLine=!0);if(lb.eatSpace())return J(lb,Za),null;Bb=yb=null;var Na=(Za.tokenize||Y)(lb,Za);if("comment"==Na||"meta"==Na)return Na;null==cb.align&&(cb.align=!0);if(";"==Bb||":"==Bb||","==Bb&&lb.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==Za.context.type;)l(Za);else if("{"==Bb)p(Za,lb.column(),"}");else if("["==Bb)p(Za,lb.column(),"]");else if("("==Bb)p(Za,lb.column(),")");else if("}"==Bb){for(;"statement"==cb.type;)cb=l(Za);for("}"== cb.type&&(cb=l(Za));"statement"==cb.type;)cb=l(Za)}else Bb==cb.type?l(Za):Ma&&(("}"==cb.type||"top"==cb.type)&&";"!=Bb||"statement"==cb.type&&"newstatement"==Bb)&&p(Za,lb.column(),"statement",lb.current());"variable"==Na&&("def"==Za.prevToken||L.typeFirstDefinitions&&c(lb,Za,lb.start)&&h(Za.context)&&lb.match(/^\s*\(/,!1))&&(Na="def");sa.token&&(cb=sa.token(lb,Za,Na),void 0!==cb&&(Na=cb));"def"==Na&&!1===L.styleDefs&&(Na="variable");Za.startOfLine=!1;Za.prevToken=yb?"def":Na||Bb;J(lb,Za);return Na}, indent:function(lb,Za){if(lb.tokenize!=Y&&null!=lb.tokenize||lb.typeAtEndOfLine)return m.Pass;var cb=lb.context,Na=Za&&Za.charAt(0),Ka=Na==cb.type;"statement"==cb.type&&"}"==Na&&(cb=cb.prev);if(L.dontIndentStatements)for(;"statement"==cb.type&&L.dontIndentStatements.test(cb.info);)cb=cb.prev;if(sa.indent&&(lb=sa.indent(lb,cb,Za,M),"number"==typeof lb))return lb;lb=cb.prev&&"switch"==cb.prev.info;if(L.allmanIndentation&&/[{(]/.test(Na)){for(;"top"!=cb.type&&"}"!=cb.type;)cb=cb.prev;return cb.indented}return"statement"== cb.type?cb.indented+("{"==Na?0:S):!cb.align||da&&")"==cb.type?")"!=cb.type||Ka?cb.indented+(Ka?0:M)+(Ka||!lb||/^(?:case|default)\b/.test(Za)?0:M):cb.indented+S:cb.column+(Ka?0:1)},electricInput:!1!==L.indentSwitch?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var Q=n("int long char short double float unsigned signed void bool"),ca=n("SEL instancetype id Class Protocol BOOL");A(["text/x-csrc", "text/x-c","text/x-chdr"],{name:"clike",keywords:n("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran"),types:a,blockKeywords:n("case do else for if switch while struct enum union"),defKeywords:n("struct enum union"),typeFirstDefinitions:!0,atoms:n("NULL true false"),isReservedIdentifier:k,hooks:{"#":g,"*":e},modeProps:{fold:["brace","include"]}});A(["text/x-c++src","text/x-c++hdr"], {name:"clike",keywords:n("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq"), types:a,blockKeywords:n("case do else for if switch while struct enum union class try catch"),defKeywords:n("struct enum union class namespace"),typeFirstDefinitions:!0,atoms:n("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:k,hooks:{"#":g,"*":e,u:z,U:z,L:z,R:z,0:x,1:x,2:x,3:x,4:x,5:x,6:x,7:x,8:x,9:x,token:function(T,L,Y){if("variable"==Y&&"("==T.peek()&&(";"==L.prevToken||null==L.prevToken||"}"==L.prevToken)&&y(T.current()))return"def"}}, namespaceSeparator:"::",modeProps:{fold:["brace","include"]}});A("text/x-java",{name:"clike",keywords:n("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:n("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"), blockKeywords:n("catch class do else finally for if switch try while"),defKeywords:n("class interface enum @interface"),typeFirstDefinitions:!0,atoms:n("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(T){if(T.match("interface",!1))return!1;T.eatWhile(/[\w\$_]/);return"meta"}},modeProps:{fold:["brace","import"]}});A("text/x-csharp",{name:"clike",keywords:n("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"), types:n("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:n("catch class do else finally for foreach if struct switch try while"),defKeywords:n("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:n("true false null"),hooks:{"@":function(T,L){if(T.eat('"'))return L.tokenize= K,K(T,L);T.eatWhile(/[\w\$_]/);return"meta"}}});A("text/x-scala",{name:"clike",keywords:n("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:n("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"), multiLineStrings:!0,blockKeywords:n("catch class enum do else finally for forSome if match switch try while"),defKeywords:n("class enum def object package trait type val var"),atoms:n("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(T){T.eatWhile(/[\w\$_]/);return"meta"},'"':function(T,L){if(!T.match('""'))return!1;L.tokenize=D;return L.tokenize(T,L)},"'":function(T){T.eatWhile(/[\w\$_\xa1-\uffff]/);return"atom"},"\x3d":function(T,L){var Y= L.context;return"}"==Y.type&&Y.align&&T.eat("\x3e")?(L.context=new G(Y.indented,Y.column,Y.type,Y.info,null,Y.prev),"operator"):!1},"/":function(T,L){if(!T.eat("*"))return!1;L.tokenize=r(1);return L.tokenize(T,L)}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});A("text/x-kotlin",{name:"clike",keywords:n("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"), types:n("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1, indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:n("catch class do else finally for if where try while enum"),defKeywords:n("class val var object interface fun"),atoms:n("true false null this"),hooks:{"@":function(T){T.eatWhile(/[\w\$_]/);return"meta"},"*":function(T,L){return"."==L.prevToken?"variable":"operator"},'"':function(T,L){L.tokenize=V(T.match('""'));return L.tokenize(T,L)},"/":function(T,L){if(!T.eat("*"))return!1; L.tokenize=r(1);return L.tokenize(T,L)},indent:function(T,L,Y,P){var W=Y&&Y.charAt(0);if(("}"==T.prevToken||")"==T.prevToken)&&""==Y)return T.indented;if("operator"==T.prevToken&&"}"!=Y&&"}"!=T.context.type||"variable"==T.prevToken&&"."==W||("}"==T.prevToken||")"==T.prevToken)&&"."==W)return 2*P+L.indented;if(L.align&&"}"==L.type)return L.indented+(T.context.type==(Y||"").charAt(0)?0:P)}},modeProps:{closeBrackets:{triples:'"'}}});A(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:n("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"), types:n("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:n("for while do if else struct"),builtin:n("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"), atoms:n("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"), indentSwitch:!1,hooks:{"#":g},modeProps:{fold:["brace","include"]}});A("text/x-nesc",{name:"clike",keywords:n("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:a,blockKeywords:n("case do else for if switch while struct enum union"), atoms:n("null true false"),hooks:{"#":g},modeProps:{fold:["brace","include"]}});A("text/x-objectivec",{name:"clike",keywords:n("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available"), types:u,builtin:n("FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"),blockKeywords:n("case do else for if switch while struct enum union @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:n("struct enum union @interface @implementation @protocol @class"), dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:n("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:k,hooks:{"#":g,"*":e},modeProps:{fold:["brace","include"]}});A("text/x-objectivec++",{name:"clike",keywords:n("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq"), types:u,builtin:n("FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"),blockKeywords:n("case do else for if switch while struct enum union @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:n("struct enum union @interface @implementation @protocol @class class namespace"), dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:n("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:k,hooks:{"#":g,"*":e,u:z,U:z,L:z,R:z,0:x,1:x,2:x,3:x,4:x,5:x,6:x,7:x,8:x,9:x,token:function(T,L,Y){if("variable"==Y&&"("==T.peek()&&(";"==L.prevToken||null==L.prevToken||"}"==L.prevToken)&&y(T.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}});A("text/x-squirrel",{name:"clike",keywords:n("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"), types:a,blockKeywords:n("case catch class else for foreach if switch try while"),defKeywords:n("function local class"),typeFirstDefinitions:!0,atoms:n("true false null"),hooks:{"#":g},modeProps:{fold:["brace","include"]}});var O=null;A("text/x-ceylon",{name:"clike",keywords:n("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"), types:function(T){T=T.charAt(0);return T===T.toUpperCase()&&T!==T.toLowerCase()},blockKeywords:n("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:n("class dynamic function interface module object package value"),builtin:n("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;:\.`]/, isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:n("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(T){T.eatWhile(/[\w\$_]/);return"meta"},'"':function(T,L){L.tokenize=ea(T.match('""')?"triple":"single");return L.tokenize(T,L)},"`":function(T,L){if(!O||!T.match("`"))return!1;L.tokenize= O;O=null;return L.tokenize(T,L)},"'":function(T){T.eatWhile(/[\w\$_\xa1-\uffff]/);return"atom"},token:function(T,L,Y){if(("variable"==Y||"type"==Y)&&"."==L.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})}; shadow$provide[474]=function(ka,N,Ba,w){(function(m){"object"===typeof w&&"object"===typeof Ba?m(N(464)):"function"===typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){m.defineMode("clojure",function(G){function p(A,D){if(A.eatSpace()||A.eat(","))return["space",null];if(A.match(y))return[null,"number"];if(A.match(K))return[null,"string-2"];if(A.eat(/^"/))return(D.tokenize=l)(A,D);if(A.eat(/^[(\[{]/))return["open","bracket"];if(A.eat(/^[)\]}]/))return["close", "bracket"];if(A.eat(/^;/))return A.skipToEnd(),["space","comment"];if(A.eat(/^[#'@^`~]/))return[null,"meta"];var r=A.match(E);r=r&&r[0];return r?"comment"===r&&"("===D.lastToken?(D.tokenize=c)(A,D):n(r,g)||":"===r.charAt(0)?["symbol","atom"]:n(r,e)||n(r,k)?["symbol","keyword"]:"("===D.lastToken?["symbol","builtin"]:["symbol","variable"]:(A.next(),A.eatWhile(function(V){return!n(V,z)}),[null,"error"])}function l(A,D){for(var r=!1,V;V=A.next();){if('"'===V&&!r){D.tokenize=p;break}r=!r&&"\\"===V}return[null, "string"]}function c(A,D){for(var r=1,V;V=A.next();)if(")"===V&&r--,"("===V&&r++,0===r){A.backUp(1);D.tokenize=p;break}return["space","comment"]}function h(A){for(var D={},r=0;r=x)e="def";else if(72<=x&&79>=x)e.skipToEnd(),e="header";else if("*"== z&&6==x)e.skipToEnd(),e="comment";else if('"'==z||"'"==z)e=k.mode="string";else if("'"!=z||n.test(e.peek()))if("."==z)e="link";else if(k=z,"0"===k&&e.eat(/x/i)?(e.eatWhile(t),k=!0):("+"!=k&&"-"!=k||!h.test(e.peek())||(e.eat(a),k=e.next()),h.test(k)?(e.eat(k),e.eatWhile(h),"."==e.peek()&&(e.eat("."),e.eatWhile(h)),e.eat(u)&&(e.eat(a),e.eatWhile(h)),k=!0):k=!1),k)e="number";else{if(e.current().match(g))for(;71>x&&void 0!==e.eat(g);)x++;e=l&&l.propertyIsEnumerable(e.current().toUpperCase())?"keyword": c&&c.propertyIsEnumerable(e.current().toUpperCase())?"builtin":p&&p.propertyIsEnumerable(e.current().toUpperCase())?"atom":null}else e="atom"}return e},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent}}});m.defineMIME("text/x-cobol","cobol")})}; shadow$provide[477]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){m.defineMode("coffeescript",function(G,p){function l(D){return new RegExp("^(("+D.join(")|(")+"))\\b")}function c(D,r){if(D.sol()){null===r.scope.align&&(r.scope.align=!1);var V=r.scope.offset;if(D.eatSpace())return D=D.indentation(),D>V&&"coffee"==r.scope.type?"indent":D|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|~|!|\?|(or|and|\|\||&&|\?)=)/,g=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,e=/^[_A-Za-z$][_A-Za-z$0-9]*/,k=/^@[_A-Za-z$][_A-Za-z$0-9]*/, x=l("and or not is isnt in instanceof typeof".split(" ")),z="for while loop if unless else switch try catch finally class".split(" "),y=l(z.concat("break by continue debugger delete do in of new return then this @ throw when until extends".split(" ")));z=l(z);var K=/^('{3}|"{3}|['"])/,E=/^(\/{3}|\/)/,A=l("Infinity NaN undefined null true false on off yes no".split(" "));return{startState:function(D){return{tokenize:c,scope:{offset:D||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(D, r){var V=null===r.scope.align&&r.scope;V&&D.sol()&&(V.align=!1);var ea=r.tokenize(D,r);var Q=D.current();"return"===Q&&(r.dedent=!0);(("-\x3e"===Q||"\x3d\x3e"===Q)&&D.eol()||"indent"===ea)&&t(D,r);var ca="[({".indexOf(Q);-1!==ca&&t(D,r,"])}".slice(ca,ca+1));z.exec(Q)&&t(D,r);"then"==Q&&a(D,r);if("dedent"===ea&&a(D,r))ea="error";else{ca="])}".indexOf(Q);if(-1!==ca){for(;"coffee"==r.scope.type&&r.scope.prev;)r.scope=r.scope.prev;r.scope.type==Q&&(r.scope=r.scope.prev)}r.dedent&&D.eol()&&("coffee"== r.scope.type&&r.scope.prev&&(r.scope=r.scope.prev),r.dedent=!1)}ea&&"comment"!=ea&&(V&&(V.align=!0),r.prop="punctuation"==ea&&"."==D.current());return ea},indent:function(D,r){if(D.tokenize!=c)return 0;D=D.scope;var V=r&&-1<"])}".indexOf(r.charAt(0));if(V)for(;"coffee"==D.type&&D.prev;)D=D.prev;r=V&&D.type===r.charAt(0);return D.align?D.alignOffset-(r?1:0):(r?D.prev:D).offset},lineComment:"#",fold:"indent"}});m.defineMIME("application/vnd.coffeescript","coffeescript");m.defineMIME("text/x-coffeescript", "coffeescript");m.defineMIME("text/coffeescript","coffeescript")})}; shadow$provide[478]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){m.defineMode("commonlisp",function(G){function p(e){for(var k;k=e.next();)if("\\"==k)e.next();else if(!u.test(k)){e.backUp(1);break}return e.current()}function l(e,k){if(e.eatSpace())return g="ws",null;if(e.match(a))return"number";var x=e.next();"\\"==x&&(x=e.next());if('"'==x)return(k.tokenize=c)(e, k);if("("==x)return g="open","bracket";if(")"==x||"]"==x)return g="close","bracket";if(";"==x)return e.skipToEnd(),g="ws","comment";if(/['`,@]/.test(x))return null;if("|"==x){if(e.skipTo("|"))return e.next(),"symbol";e.skipToEnd();return"error"}if("#"==x)return x=e.next(),"("==x?(g="open","bracket"):/[+\-=\.']/.test(x)||/\d/.test(x)&&e.match(/^\d*#/)?null:"|"==x?(k.tokenize=h)(e,k):":"==x?(p(e),"meta"):"\\"==x?(e.next(),p(e),"string-2"):"error";e=p(e);if("."==e)return null;g="symbol";return"nil"== e||"t"==e||":"==e.charAt(0)?"atom":"open"==k.lastType&&(n.test(e)||t.test(e))?"keyword":"\x26"==e.charAt(0)?"variable-2":"variable"}function c(e,k){for(var x=!1,z;z=e.next();){if('"'==z&&!x){k.tokenize=l;break}x=!x&&"\\"==z}return"string"}function h(e,k){for(var x,z;x=e.next();){if("#"==x&&"|"==z){k.tokenize=l;break}z=x}g="ws";return"comment"}var n=/^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/, t=/^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/,a=/^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/,u=/[^\s'`,@()\[\]";]/,g;return{startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastType:null,tokenize:l}},token:function(e,k){e.sol()&&"number"!=typeof k.ctx.indentTo&&(k.ctx.indentTo=k.ctx.start+1);g=null;var x=k.tokenize(e,k);"ws"!=g&&(null==k.ctx.indentTo?"symbol"==g&&t.test(e.current())?k.ctx.indentTo= k.ctx.start+G.indentUnit:k.ctx.indentTo="next":"next"==k.ctx.indentTo&&(k.ctx.indentTo=e.column()),k.lastType=g);"open"==g?k.ctx={prev:k.ctx,start:e.column(),indentTo:null}:"close"==g&&(k.ctx=k.ctx.prev||k.ctx);return x},indent:function(e,k){k=e.ctx.indentTo;return"number"==typeof k?k:e.ctx.start+1},closeBrackets:{pairs:'()[]{}""'},lineComment:";;",blockCommentStart:"#|",blockCommentEnd:"|#"}});m.defineMIME("text/x-common-lisp","commonlisp")})}; shadow$provide[479]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){m.defineMode("crystal",function(G){function p(L,Y){return new RegExp((Y?"":"^")+"(?:"+L.join("|")+")"+(Y?"$":"\\b"))}function l(L,Y,P){P.tokenize.push(L);return L(Y,P)}function c(L,Y){if(L.eatSpace())return null;if("\\"!=Y.lastToken&&L.match("{%",!1))return l(n("%","%"),L,Y);if("\\"!=Y.lastToken&& L.match("{{",!1))return l(n("{","}"),L,Y);if("#"==L.peek())return L.skipToEnd(),"comment";if(L.match(y)){L.eat(/[?!]/);var P=L.current();return L.eat(":")?"atom":"."==Y.lastToken?"property":E.test(P)?(D.test(P)?"fun"==P&&0<=Y.blocks.indexOf("lib")||"def"==P&&"abstract"==Y.lastToken||(Y.blocks.push(P),Y.currentIndent+=1):"operator"!=Y.lastStyle&&Y.lastStyle||!r.test(P)?"end"==P&&(Y.blocks.pop(),--Y.currentIndent):(Y.blocks.push(P),Y.currentIndent+=1),O.hasOwnProperty(P)&&Y.tokenize.push(O[P]),"keyword"): A.test(P)?"atom":"variable"}if(L.eat("@")){if("["==L.peek())return l(h("[","]","meta"),L,Y);L.eat("@");L.match(y)||L.match(K);return"variable-2"}if(L.match(K))return"tag";if(L.eat(":")){if(L.eat('"'))return l(u('"',"atom",!1),L,Y);if(L.match(y)||L.match(K)||L.match(e)||L.match(k)||L.match(x))return"atom";L.eat(":");return"operator"}if(L.eat('"'))return l(u('"',"string",!0),L,Y);if("%"==L.peek()){P="string";var W=!0;if(L.match("%r")){P="string-2";var J=L.next()}else if(L.match("%w"))W=!1,J=L.next(); else if(L.match("%q"))W=!1,J=L.next();else if(J=L.match(/^%([^\w\s=])/))J=J[1];else return L.match(/^%[a-zA-Z0-9_\u009F-\uFFFF]*/)?"meta":"operator";T.hasOwnProperty(J)&&(J=T[J]);return l(u(J,P,W),L,Y)}if(P=L.match(/^<<-('?)([A-Z]\w*)\1/))return l(g(P[2],!P[1]),L,Y);if(L.eat("'"))return L.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),L.eat("'"),"atom";if(L.eat("0"))return L.eat("x")?L.match(/^[0-9a-fA-F]+/):L.eat("o")?L.match(/^[0-7]+/):L.eat("b")&&L.match(/^[01]+/), "number";if(L.eat(/^\d/))return L.match(/^\d*(?:\.\d+)?(?:[eE][+-]?\d+)?/),"number";if(L.match(e))return L.eat("\x3d"),"operator";if(L.match(k)||L.match(z))return"operator";if(P=L.match(/[({[]/,!1))return P=P[0],l(h(P,T[P],null),L,Y);if(L.eat("\\"))return L.next(),"meta";L.next();return null}function h(L,Y,P,W){return function(J,M){if(!W&&J.match(L))return M.tokenize[M.tokenize.length-1]=h(L,Y,P,!0),M.currentIndent+=1,P;var S=c(J,M);J.current()===Y&&(M.tokenize.pop(),--M.currentIndent,S=P);return S}} function n(L,Y,P){return function(W,J){return!P&&W.match("{"+L)?(J.currentIndent+=1,J.tokenize[J.tokenize.length-1]=n(L,Y,!0),"meta"):W.match(Y+"}")?(--J.currentIndent,J.tokenize.pop(),"meta"):c(W,J)}}function t(L,Y){if(L.eatSpace())return null;L.match(y)?L.eat(/[!?]/):L.match(e)||L.match(k)||L.match(x);Y.tokenize.pop();return"def"}function a(L,Y){if(L.eatSpace())return null;L.match(K);Y.tokenize.pop();return"def"}function u(L,Y,P){return function(W,J){for(var M=!1;W.peek();)if(M)W.next(),M=!1;else{if(W.match("{%", !1)){J.tokenize.push(n("%","%"));break}if(W.match("{{",!1)){J.tokenize.push(n("{","}"));break}if(P&&W.match("#{",!1)){J.tokenize.push(h("#{","}","meta"));break}M=W.next();if(M==L){J.tokenize.pop();break}M=P&&"\\"==M}return Y}}function g(L,Y){return function(P,W){if(P.sol()&&(P.eatSpace(),P.match(L)))return W.tokenize.pop(),"string";for(var J=!1;P.peek();)if(J)P.next(),J=!1;else{if(P.match("{%",!1)){W.tokenize.push(n("%","%"));break}if(P.match("{{",!1)){W.tokenize.push(n("{","}"));break}if(Y&&P.match("#{", !1)){W.tokenize.push(h("#{","}","meta"));break}J=Y&&"\\"==P.next()}return"string"}}var e=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,k=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,x=/^(?:\[\][?=]?)/,z=/^(?:\.(?:\.{2})?|->|[?:])/,y=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,K=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,E=p("abstract alias as asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof lib macro module next of out pointerof private protected rescue return require select sizeof struct super then type typeof uninitialized union unless until when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__".split(" ")), A=p(["true","false","nil","self"]),D=p("def fun macro class module struct lib enum union do for".split(" ")),r=p("if unless case while until begin then".split(" ")),V=["end","else","elsif","rescue","ensure"],ea=p(V),Q=["\\)","\\}","\\]"],ca=new RegExp("^(?:"+Q.join("|")+")$"),O={def:t,fun:t,macro:function(L,Y){if(L.eatSpace())return null;var P;if(P=L.match(y)){if("def"==P)return"keyword";L.eat(/[?!]/)}Y.tokenize.pop();return"def"},"class":a,module:a,struct:a,lib:a,"enum":a,union:a},T={"[":"]","{":"}", "(":")","\x3c":"\x3e"};return{startState:function(){return{tokenize:[c],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(L,Y){var P=Y.tokenize[Y.tokenize.length-1](L,Y);L=L.current();P&&"comment"!=P&&(Y.lastToken=L,Y.lastStyle=P);return P},indent:function(L,Y){Y=Y.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,"");return ea.test(Y)||ca.test(Y)?G.indentUnit*(L.currentIndent-1):G.indentUnit*L.currentIndent},fold:"indent",electricInput:p(Q.concat(V),!0),lineComment:"#"}});m.defineMIME("text/x-crystal", "crystal")})}; shadow$provide[480]=function(ka,N,Ba,w){(function(m){"object"==typeof w&&"object"==typeof Ba?m(N(464)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],m):m(CodeMirror)})(function(m){function G(V){for(var ea={},Q=0;Q*\/]/.test(yb)?Q(null,"select-op"):"."==yb&&gb.match(/^-?[_a-z][_a-z0-9-]*/i)?Q("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(yb)?Q(null,yb):gb.match(/[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/.test(gb.current().toLowerCase())&&(Bb.tokenize=T),Q("variable callee","variable")): /[\w\\\-]/.test(yb)?(gb.eatWhile(/[\w\\\-]/),Q("property","word")):Q(null,null)}function O(gb){return function(Bb,yb){for(var lb=!1,Za;null!=(Za=Bb.next());){if(Za==gb&&!lb){")"==gb&&Bb.backUp(1);break}lb=!lb&&"\\"==Za}if(Za==gb||!lb&&")"!=gb)yb.tokenize=null;return Q("string","string")}}function T(gb,Bb){gb.next();gb.match(/\s*["')]/,!1)?Bb.tokenize=null:Bb.tokenize=O(")");return Q(null,"(")}function L(gb,Bb,yb){this.type=gb;this.indent=Bb;this.prev=yb}function Y(gb,Bb,yb,lb){gb.context=new L(yb, Bb.indentation()+(!1===lb?0:S),gb.context);return yb}function P(gb){gb.context.prev&&(gb.context=gb.context.prev);return gb.context.type}function W(gb,Bb,yb,lb){for(lb=lb||1;0