!function(){functione(e){vart=i;e&&(i[e]||(i[e]={}),t=i[e]),t.define&&t.define.packaged||(n.original=t.define,t.define=n,t.define.packaged=!0),t.require&&t.require.packaged||(o.original=t.require,t.require=o,t.require.packaged=!0)}vart="ace",i=function(){returnthis}();if(i||"undefined"==typeofwindow||(i=window),t||"undefined"==typeofrequirejs){varn=function(e,t,i){return"string"!=typeofe?void(n.original?n.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())):(2==arguments.length&&(i=t),void(n.modules[e]||(n.payloads[e]=i,n.modules[e]=null)))};n.modules={},n.payloads={};vars=function(e,t,i){if("string"==typeoft){varn=a(e,t);if(void0!=n)returni&&i(),n}elseif("[object Array]"===Object.prototype.toString.call(t)){for(vars=[],r=0,l=t.length;l>r;++r){varh=a(e,t[r]);if(void0==h&&o.original)return;s.push(h)}returni&&i.apply(null,s)||!0}},o=function(e,t){vari=s("",e,t);returnvoid0==i&&o.original?o.original.apply(this,arguments):i},r=function(e,t){if(-1!==t.indexOf("!")){vari=t.split("!");returnr(e,i[0])+"!"+r(e,i[1])}if("."==t.charAt(0)){varn=e.split("/").slice(0,-1).join("/");for(t=n+"/"+t;-1!==t.indexOf(".")&&s!=t;){vars=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}returnt},a=function(e,t){t=r(e,t);vari=n.modules[t];if(!i){if(i=n.payloads[t],"function"==typeofi){varo={},a={id:t,uri:"",exports:o,packaged:!0},l=function(e,i){returns(t,e,i)},h=i(l,o,a);o=h||a.exports,n.modules[t]=o,deleten.payloads[t]}i=n.modules[t]=o||i}returni};e(t)}}(),ace.define("ace/lib/regexp",["require","exports","module"],function(){"use strict";functione(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}functiont(e,t,i){if(Array.prototype.indexOf)returne.indexOf(t,i);for(varn=i||0;n<e.length;n++)if(e[n]===t)returnn;return-1}vari={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},n=void0===i.exec.call(/()??/,"")[1],s=function(){vare=/^/g;returni.test.call(e,""),!e.lastIndex}();s&&n||(RegExp.prototype.exec=function(o){varr,a,l=i.exec.apply(this,arguments);if("string"==typeofo&&l){if(!n&&l.length>1&&t(l,"")>-1&&(a=RegExp(this.source,i.replace.call(e(this),"g","")),i.replace.call(o.slice(l.index),a,function(){for(vare=1;e<arguments.length-2;e++)void0===arguments[e]&&(l[e]=void0)})),this._xregexp&&this._xregexp.captureNames)for(varh=1;h<l.length;h++)r=this._xregexp.captureNames[h-1],r&&(l[r]=l[h]);!s&&this.global&&!l[0].length&&this.lastIndex>l.index&&this.lastIndex--}returnl},s||(RegExp.prototype.test=function(e){vart=i.exec.call(this,e);returnt&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(){functione(){}functiont(e){try{returnObject.defineProperty(e,"sentinel",{}),"sentinel"ine}catch(t){}}functioni(e){returne=+e,e!==e?e=0:0!==e&&e!==1/0&&e!==-(1/0)&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}Function.prototype.bind||(Function.prototype.bind=function(t){vari=this;if("function"!=typeofi)thrownewTypeError("Function.prototype.bind called on incompatible "+i);varn=u.call(arguments,1),s=function(){if(thisinstanceofs){vare=i.apply(this,n.concat(u.call(arguments)));returnObject(e)===e?e:this}returni.apply(t,n.concat(u.call(arguments)))};returni.prototype&&(e.prototype=i.prototype,s.prototype=newe,e.prototype=null),s});varn,s,o,r,a,l=Function.prototype.call,h=Array.prototype,c=Object.prototype,u=h.slice,d=l.bind(c.toString),g=l.bind(c.hasOwnProperty);if((a=g(c,"__defineGetter__"))&&(n=l.bind(c.__defineGetter__),s=l.bind(c.__defineSetter__),o=l.bind(c.__lookupGetter__),r=l.bind(c.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){functione(e){vart=newArray(e+2);returnt[0]=t[1]=0,t}vart,i=[];returni.splice.apply(i,e(20)),i.splice.apply(i,e(26)),t=i.length,i.splice(5,0,"XXX"),t+1==i.length,t+1==i.length?!0:void0}()){varf=Array.prototype.splice;Array.prototype.spli
}},this.getSession=function(){returnthis.session},this.setValue=function(e,t){returnthis.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){returnthis.session.getValue()},this.getSelection=function(){returnthis.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){returnthis.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){returnthis.getOption("fontSize")||n.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){vare=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;vart=e.session;if(t&&t.bgTokenizer){vari=t.findMatchingBracket(e.getCursorPosition());if(i)varn=newd(i.row,i.column,i.row,i.column+1);elseif(t.$mode.getMatching)varn=t.$mode.getMatching(e.session);n&&(t.$bracketHighlight=t.addMarker(n,"ace_bracket","text"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){vare=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;vart=e.session;if(t&&t.bgTokenizer){vari=e.getCursorPosition(),n=newA(e.session,i.row,i.column),s=n.getCurrentToken();if(!s||!/\b(?:tag-open|tag-name)/.test(s.type))returnt.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(-1==s.type.indexOf("tag-open")||(s=n.stepForward())){varo=s.value,r=0,a=n.stepBackward();if("<"==a.value){doa=s,s=n.stepForward(),s&&s.value===o&&-1!==s.type.indexOf("tag-name")&&("<"===a.value?r++:"</"===a.value&&r--);while(s&&r>=0)}else{dos=a,a=n.stepBackward(),s&&s.value===o&&-1!==s.type.indexOf("tag-name")&&("<"===a.value?r++:"</"===a.value&&r--);while(a&&0>=r);n.stepForward()}if(!s)returnt.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);varl=n.getCurrentTokenRow(),h=n.getCurrentTokenColumn(),c=newd(l,h,l,h+s.value.length);t.$tagHighlight&&0!==c.compareRange(t.$backMarkers[t.$tagHighlight].range)&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),c&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(c,"ace_bracket","text"))}}},50)}},this.focus=function(){vare=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){returnthis.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e))},this.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){vart,i=e.data,n=i.range;t=n.start.row==n.end.row&&"insertLines"!=i.action&&"removeLines"!=i.action?n.end.row:1/0,this.renderer.updateLines(n.start.row,t,this.session.$useWrapMode),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){vart=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(p.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){vare,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionSty
vars="insertText"===t.action?n.end.column-n.start.column:n.start.column-n.end.column;if(n.start.column>=this.pos.column&&n.start.column<=this.pos.column+this.length+1){varo=n.start.column-this.pos.column;if(this.length+=s,!this.session.$fromUndo){if("insertText"===t.action)for(varr=this.others.length-1;r>=0;r--){vara=this.others[r],l={row:a.row,column:a.column+o};a.row===n.start.row&&n.start.column<a.column&&(l.column+=s),this.doc.insert(l,t.text)}elseif("removeText"===t.action)for(varr=this.others.length-1;r>=0;r--){vara=this.others[r],l={row:a.row,column:a.column+o};a.row===n.start.row&&n.start.column<a.column&&(l.column+=s),this.doc.remove(newi(l.row,l.column,l.row,l.column-s))}n.start.column===this.pos.column&&"insertText"===t.action?setTimeout(function(){this.pos.setPosition(this.pos.row,this.pos.column-s);for(vare=0;e<this.others.length;e++){vart=this.others[e],i={row:t.row,column:t.column-s};t.row===n.start.row&&n.start.column<t.column&&(i.column+=s),t.setPosition(i.row,i.column)}}.bind(this),0):n.start.column===this.pos.column&&"removeText"===t.action&&setTimeout(function(){for(vare=0;e<this.others.length;e++){vart=this.others[e];t.row===n.start.row&&n.start.column<t.column&&t.setPosition(t.row,t.column-s)}}.bind(this),0)}this.pos._emit("change",{value:this.pos});for(varr=0;r<this.others.length;r++)this.others[r]._emit("change",{value:this.others[r]})}this.$updating=!1}},this.onCursorChange=function(e){if(!this.$updating&&this.session){vart=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(vare=0;e<this.others.length;e++)this.others[e].detach();this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1===this.$undoStackDepth)throwError("Canceling placeholders only supported with undo manager attached to session.");for(vare=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;t>i;i++)e.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}).call(o.prototype),t.PlaceHolder=o}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t){functioni(e,t){returne.row==t.row&&e.column==t.column}functionn(e){vart=e.domEvent,n=t.altKey,r=t.shiftKey,a=t.ctrlKey,l=e.getAccelKey(),h=e.getButton();if(a&&o.isMac&&(h=t.button),e.editor.inMultiSelectMode&&2==h)returnvoide.editor.textInput.onContextMenu(e.domEvent);if(!a&&!n&&!l)returnvoid(0===h&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode());if(0===h){varc,u=e.editor,d=u.selection,g=u.inMultiSelectMode,f=e.getDocumentPosition(),m=d.getCursor(),p=e.inSelection()||d.isEmpty()&&i(f,m),A=e.x,C=e.y,v=function(e){A=e.clientX,C=e.clientY},F=u.session,w=u.renderer.pixelToScreenCoordinates(A,C),E=w;if(u.$mouseHandler.$enableJumpToDef)a&&n||l&&n?c="add":n&&u.$blockSelectEnabled&&(c="block");elseif(l&&!n){if(c="add",!g&&r)return}elsen&&u.$blockSelectEnabled&&(c="block");if(c&&o.isMac&&t.ctrlKey&&u.$mouseHandler.cancelContextMenu(),"add"==c){if(!g&&p)return;if(!g){var$=d.toOrientedRange();u.addSelectionMarker($)}varb=d.rangeList.rangeAtPoint(f);u.$blockScrolling++,u.inVirtualSelectionMode=!0,r&&(b=null,$=d.ranges[0],u.removeSelectionMarker($)),u.once("mouseup",function(){vare=d.toOrientedRange();b&&e.isEmpty()&&i(b.cursor,e.cursor)?d.substractPoint(e.cursor):(r?d.substractPoint($.cursor):$&&(u.removeSelectionMarker($),d.addRange($)),d.addRange(e)),u.$blockScrolling--,u.inVirtualSelectionMode=!1})}elseif("block"==c){e.stop(),u.inVirtualSelectionMode=!0;vary,B=[],D=function(){vare=u.renderer.pixelToScreenCoordinates(A,C),t=F.screenToDocumentPosition(e.row,e.column);i(E,e)&&i(