(s=>{var e,n;void 0!==s.window&&s.document||s.require&&s.define||(s.console||(s.console=function(){var t=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:t})},s.console.error=s.console.warn=s.console.log=s.console.trace=s.console),((s.window=s).ace=s).onerror=function(t,e,n,i,r){postMessage({type:"error",data:{message:t,data:r.data,file:e,line:n,col:i,stack:r.stack}})},s.normalizeModule=function(t,e){if(-1!==e.indexOf("!"))return n=e.split("!"),s.normalizeModule(t,n[0])+"!"+s.normalizeModule(t,n[1]);if("."==e.charAt(0)){var n=t.split("/").slice(0,-1).join("/");for(e=(n?n+"/":"")+e;-1!==e.indexOf(".")&&i!=e;){var i=e;e=e.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return e},s.require=function(t,e){if(e||(e=t,t=null),!e.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");e=s.normalizeModule(t,e);var n=s.require.modules[e];return n?(n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports):s.require.tlns?(".js"!=(n=((t,e)=>{for(var n=t,i="";n;){var r=e[n];if("string"==typeof r)return r+i;if(r)return r.location.replace(/\/*$/,"/")+(i||r.main||r.name);if(!1===r)return"";r=n.lastIndexOf("/");if(-1===r)break;i=n.substr(r)+i,n=n.slice(0,r)}return t})(e,s.require.tlns)).slice(-3)&&(n+=".js"),s.require.id=e,s.require.modules[e]={},importScripts(n),s.require(t,e)):console.log("unable to load "+e)},s.require.modules={},s.require.tlns={},s.define=function(e,n,i){var r;2==arguments.length?(i=n,"string"!=typeof e&&(n=e,e=s.require.id)):1==arguments.length&&(i=e,n=[],e=s.require.id),"function"!=typeof i?s.require.modules[e]={exports:i,initialized:!0}:(n.length||(n=["require","exports","module"]),r=function(t){return s.require(e,t)},s.require.modules[e]={exports:{},factory:function(){var e=this,t=i.apply(this,n.slice(0,i.length).map(function(t){switch(t){case"require":return r;case"exports":return e.exports;case"module":return e;default:return r(t)}}));return t&&(e.exports=t),e}})},s.define.amd={},require.tlns={},s.initBaseUrls=function(t){for(var e in t)require.tlns[e]=t[e]},s.initSender=function(){function t(){}var e=s.require("ace/lib/event_emitter").EventEmitter,n=s.require("ace/lib/oop");return function(){n.implement(this,e),this.callback=function(t,e){postMessage({type:"call",id:e,data:t})},this.emit=function(t,e){postMessage({type:"event",name:t,data:e})}}.call(t.prototype),new t},e=s.main=null,n=s.sender=null,s.onmessage=function(t){var t=t.data;if(t.event&&n)n._signal(t.event,t.data);else if(t.command)if(e[t.command])e[t.command].apply(e,t.args);else{if(!s[t.command])throw new Error("Unknown command:"+t.command);s[t.command].apply(s,t.args)}else t.init&&(s.initBaseUrls(t.tlns),n=s.sender=s.initSender(),t=require(t.module)[t.classname],e=s.main=new t(n))})})(this),define("ace/range",[],function(t,e,n){function s(t,e,n,i){this.start={row:t,column:e},this.end={row:n,column:i}}(function(){this.isEqual=function(t){return this.start.row===t.start.row&&this.end.row===t.end.row&&this.start.column===t.start.column&&this.end.column===t.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(t,e){return 0==this.compare(t,e)},this.compareRange=function(t){var e=t.end,t=t.start,e=this.compare(e.row,e.column);return 1==e?1==(e=this.compare(t.row,t.column))?2:0==e?1:0:-1==e?-2:-1==(e=this.compare(t.row,t.column))?-1:1==e?42:0},this.comparePoint=function(t){return this.compare(t.row,t.column)},this.containsRange=function(t){return 0==this.comparePoint(t.start)&&0==this.comparePoint(t.end)},this.intersects=function(t){t=this.compareRange(t);return-1==t||0==t||1==t},this.isEnd=function(t,e){return this.end.row==t&&this.end.column==e},this.isStart=function(t,e){return this.start.row==t&&this.start.column==e},this.setStart=function(t,e){"object"==typeof t?(this.start.column=t.column,this.start.row=t.row):(this.start.row=t,this.start.column=e)},this.setEnd=function(t,e){"object"==typeof t?(this.end.column=t.column,this.end.row=t.row):(this.end.row=t,this.end.column=e)},this.inside=function(t,e){return 0==this.compare(t,e)&&!this.isEnd(t,e)&&!this.isStart(t,e)},this.insideStart=function(t,e){return 0==this.compare(t,e)&&!this.isEnd(t,e)},this.insideEnd=function(t,e){return 0==this.compare(t,e)&&!this.isStart(t,e)},this.compare=function(t,e){return this.isMultiLine()||t!==this.start.row?t<this.start.row?-1:t>this.end.row?1:this.start.row===t?e>=this.start.column?0:-1:this.end.row!==t||e<=this.end.column?0:1:e<this.start.column?-1:e>this.end.column?1:0},this.compareStart=function(t,e){return this.start.row==t&&this.start.column==e?-1:this.compare(t,e)},this.compareEnd=function(t,e){return this.end.row==t&&this.end.column==e?1:this.compare(t,e)},this.compareInside=function(t,e){return this.end.row==t&&this.end.column==e?1:this.start.row==t&&this.start.column==e?-1:this.compare(t,e)},this.clipRows=function(t,e){var n,i;return this.end.row>e?n={row:e+1,column:0}:this.end.row<t&&(n={row:t,column:0}),this.start.row>e?i={row:e+1,column:0}:this.start.row<t&&(i={row:t,column:0}),s.fromPoints(i||this.start,n||this.end)},this.extend=function(t,e){var n,i,r=this.compare(t,e);return 0==r?this:(-1==r?n={row:t,column:e}:i={row:t,column:e},s.fromPoints(n||this.start,i||this.end))},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return s.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new s(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new s(this.start.row,0,this.end.row,0)},this.toScreenRange=function(t){var e=t.documentToScreenPosition(this.start),t=t.documentToScreenPosition(this.end);return new s(e.row,e.column,t.row,t.column)},this.moveBy=function(t,e){this.start.row+=t,this.start.column+=e,this.end.row+=t,this.end.column+=e}}).call(s.prototype),s.fromPoints=function(t,e){return new s(t.row,t.column,e.row,e.column)},s.comparePoints=function(t,e){return t.row-e.row||t.column-e.column},s.comparePoints=function(t,e){return t.row-e.row||t.column-e.column},e.Range=s}),define("ace/lib/oop",[],function(t,n,e){n.inherits=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})},n.mixin=function(t,e){for(var n in e)t[n]=e[n];return t},n.implement=function(t,e){n.mixin(t,e)}}),define("ace/apply_delta",[],function(t,e,n){e.applyDelta=function(t,e,n){var i=e.start.row,r=e.start.column,s=t[i]||"";switch(e.action){case"insert":1===e.lines.length?t[i]=s.substring(0,r)+e.lines[0]+s.substring(r):(o=[i,1].concat(e.lines),t.splice.apply(t,o),t[i]=s.substring(0,r)+t[i],t[i+e.lines.length-1]+=s.substring(r));break;case"remove":var o=e.end.column,a=e.end.row;i===a?t[i]=s.substring(0,r)+s.substring(o):t.splice(i,a-i+1,s.substring(0,r)+t[a].substring(o))}}}),define("ace/lib/event_emitter",[],function(t,e,n){function s(){this.propagationStopped=!0}function o(){this.defaultPrevented=!0}var i={};i._emit=i._dispatchEvent=function(t,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[t]||[],i=this._defaultHandlers[t];if(n.length||i){(e="object"==typeof e&&e?e:{}).type||(e.type=t),e.stopPropagation||(e.stopPropagation=s),e.preventDefault||(e.preventDefault=o);for(var n=n.slice(),r=0;r<n.length&&(n[r](e,this),!e.propagationStopped);r++);return i&&!e.defaultPrevented?i(e,this):void 0}},i._signal=function(t,e){if(n=(this._eventRegistry||{})[t])for(var n=n.slice(),i=0;i<n.length;i++)n[i](e,this)},i.once=function(e,n){var i=this;if(this.on(e,function t(){i.off(e,t),n.apply(null,arguments)}),!n)return new Promise(function(t){n=t})},i.setDefaultHandler=function(t,e){var n,i,r=this._defaultHandlers;(r=r||(this._defaultHandlers={_disabled_:{}}))[t]&&(i=r[t],(n=r._disabled_[t])||(r._disabled_[t]=n=[]),n.push(i),-1!=(i=n.indexOf(e)))&&n.splice(i,1),r[t]=e},i.removeDefaultHandler=function(t,e){var n,i=this._defaultHandlers;i&&(n=i._disabled_[t],i[t]==e?n&&this.setDefaultHandler(t,n.pop()):n&&-1!=(i=n.indexOf(e))&&n.splice(i,1))},i.on=i.addEventListener=function(t,e,n){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[t];return-1==(i=i||(this._eventRegistry[t]=[])).indexOf(e)&&i[n?"unshift":"push"](e),e},i.off=i.removeListener=i.removeEventListener=function(t,e){this._eventRegistry=this._eventRegistry||{};t=this._eventRegistry[t];t&&-1!==(e=t.indexOf(e))&&t.splice(e,1)},i.removeAllListeners=function(t){t||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[t]=void 0),this._defaultHandlers&&(this._defaultHandlers[t]=void 0)},e.EventEmitter=i}),define("ace/anchor",[],function(t,e,n){var i=t("./lib/oop"),r=t("./lib/event_emitter").EventEmitter,t=e.Anchor=function(t,e,n){this.$onChange=this.onChange.bind(this),this.attach(t),void 0===n?this.setPosition(e.row,e.column):this.setPosition(e,n)};!function(){function a(t,e,n){n=n?t.column<=e.column:t.column<e.column;return t.row<e.row||t.row==e.row&&n}i.implement(this,r),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(t){var e,n,i,r,s,o;t.start.row==t.end.row&&t.start.row!=this.row||t.start.row>this.row||(t=t,e={row:this.row,column:this.column},n=this.$insertRight,i=((o="insert"==t.action)?1:-1)*(t.end.row-t.start.row),r=(o?1:-1)*(t.end.column-t.start.column),s=t.start,o=o?s:t.end,t=a(e,s,n)?{row:e.row,column:e.column}:a(o,e,!n)?{row:e.row+i,column:e.column+(e.row==o.row?r:0)}:{row:s.row,column:s.column},this.setPosition(t.row,t.column,!0))},this.setPosition=function(t,e,n){n=n?{row:t,column:e}:this.$clipPositionToDocument(t,e);this.row==n.row&&this.column==n.column||(t={row:this.row,column:this.column},this.row=n.row,this.column=n.column,this._signal("change",{old:t,value:n}))},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(t){this.document=t||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(t,e){var n={};return t>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):t<0?(n.row=0,n.column=0):(n.row=t,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,e))),e<0&&(n.column=0),n}}.call(t.prototype)}),define("ace/document",[],function(t,e,n){function i(t){this.$lines=[""],0===t.length?this.$lines=[""]:Array.isArray(t)?this.insertMergedLines({row:0,column:0},t):this.insert({row:0,column:0},t)}var r=t("./lib/oop"),s=t("./apply_delta").applyDelta,o=t("./lib/event_emitter").EventEmitter,a=t("./range").Range,c=t("./anchor").Anchor;(function(){r.implement(this,o),this.setValue=function(t){var e=this.getLength()-1;this.remove(new a(0,0,e,this.getLine(e).length)),this.insert({row:0,column:0},t)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(t,e){return new c(this,t,e)},0==="aaa".split(/a/).length?this.$split=function(t){return t.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(t){return t.split(/\r\n|\r|\n/)},this.$detectNewLine=function(t){t=t.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(t){this.$newLineMode!==t&&(this.$newLineMode=t,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(t){return"\r\n"==t||"\r"==t||"\n"==t},this.getLine=function(t){return this.$lines[t]||""},this.getLines=function(t,e){return this.$lines.slice(t,e+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(t){return this.getLinesForRange(t).join(this.getNewLineCharacter())},this.getLinesForRange=function(t){var e,n;return t.start.row===t.end.row?e=[this.getLine(t.start.row).substring(t.start.column,t.end.column)]:((e=this.getLines(t.start.row,t.end.row))[0]=(e[0]||"").substring(t.start.column),n=e.length-1,t.end.row-t.start.row==n&&(e[n]=e[n].substring(0,t.end.column))),e},this.insertLines=function(t,e){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(t,e)},this.removeLines=function(t,e){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(t,e)},this.insertNewLine=function(t){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(t,["",""])},this.insert=function(t,e){return this.getLength()<=1&&this.$detectNewLine(e),this.insertMergedLines(t,this.$split(e))},this.insertInLine=function(t,e){var n=this.clippedPos(t.row,t.column),t=this.pos(t.row,t.column+e.length);return this.applyDelta({start:n,end:t,action:"insert",lines:[e]},!0),this.clonePos(t)},this.clippedPos=function(t,e){var n=this.getLength(),n=(void 0===t?t=n:t<0?t=0:n<=t&&(t=n-1,e=void 0),this.getLine(t));return null==e&&(e=n.length),{row:t,column:e=Math.min(Math.max(e,0),n.length)}},this.clonePos=function(t){return{row:t.row,column:t.column}},this.pos=function(t,e){return{row:t,column:e}},this.$clipPosition=function(t){var e=this.getLength();return t.row>=e?(t.row=Math.max(0,e-1),t.column=this.getLine(e-1).length):(t.row=Math.max(0,t.row),t.column=Math.min(Math.max(t.column,0),this.getLine(t.row).length)),t},this.insertFullLines=function(t,e){var n=0,n=(t=Math.min(Math.max(t,0),this.getLength()))<this.getLength()?(e=e.concat([""]),0):(e=[""].concat(e),this.$lines[--t].length);this.insertMergedLines({row:t,column:n},e)},this.insertMergedLines=function(t,e){var t=this.clippedPos(t.row,t.column),n={row:t.row+e.length-1,column:(1==e.length?t.column:0)+e[e.length-1].length};return this.applyDelta({start:t,end:n,action:"insert",lines:e}),this.clonePos(n)},this.remove=function(t){var e=this.clippedPos(t.start.row,t.start.column),t=this.clippedPos(t.end.row,t.end.column);return this.applyDelta({start:e,end:t,action:"remove",lines:this.getLinesForRange({start:e,end:t})}),this.clonePos(e)},this.removeInLine=function(t,e,n){e=this.clippedPos(t,e),t=this.clippedPos(t,n);return this.applyDelta({start:e,end:t,action:"remove",lines:this.getLinesForRange({start:e,end:t})},!0),this.clonePos(e)},this.removeFullLines=function(t,e){t=Math.min(Math.max(0,t),this.getLength()-1);var n=(e=Math.min(Math.max(0,e),this.getLength()-1))==this.getLength()-1&&0<t,i=e<this.getLength()-1,r=n?t-1:t,n=n?this.getLine(r).length:0,s=i?e+1:e,i=i?0:this.getLine(s).length,r=new a(r,n,s,i),n=this.$lines.slice(t,e+1);return this.applyDelta({start:r.start,end:r.end,action:"remove",lines:this.getLinesForRange(r)}),n},this.removeNewLine=function(t){t<this.getLength()-1&&0<=t&&this.applyDelta({start:this.pos(t,this.getLine(t).length),end:this.pos(t+1,0),action:"remove",lines:["",""]})},this.replace=function(t,e){return t instanceof a||(t=a.fromPoints(t.start,t.end)),0===e.length&&t.isEmpty()?t.start:e==this.getTextRange(t)?t.end:(this.remove(t),e?this.insert(t.start,e):t.start)},this.applyDeltas=function(t){for(var e=0;e<t.length;e++)this.applyDelta(t[e])},this.revertDeltas=function(t){for(var e=t.length-1;0<=e;e--)this.revertDelta(t[e])},this.applyDelta=function(t,e){var n="insert"==t.action;(n?t.lines.length<=1&&!t.lines[0]:!a.comparePoints(t.start,t.end))||(n&&2e4<t.lines.length?this.$splitAndapplyLargeDelta(t,2e4):(s(this.$lines,t,e),this._signal("change",t)))},this.$safeApplyDelta=function(t){var e=this.$lines.length;("remove"==t.action&&t.start.row<e&&t.end.row<e||"insert"==t.action&&t.start.row<=e)&&this.applyDelta(t)},this.$splitAndapplyLargeDelta=function(t,e){for(var n=t.lines,i=n.length-e+1,r=t.start.row,s=t.start.column,o=0,a=0;o<i;o=a){a+=e-1;var c=n.slice(o,a);c.push(""),this.applyDelta({start:this.pos(r+o,s),end:this.pos(r+a,s=0),action:t.action,lines:c},!0)}t.lines=n.slice(o),t.start.row=r+o,t.start.column=s,this.applyDelta(t,!0)},this.revertDelta=function(t){this.$safeApplyDelta({start:this.clonePos(t.start),end:this.clonePos(t.end),action:"insert"==t.action?"remove":"insert",lines:t.lines.slice()})},this.indexToPosition=function(t,e){for(var n=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,r=e||0,s=n.length;r<s;r++)if((t-=n[r].length+i)<0)return{row:r,column:t+n[r].length+i};return{row:s-1,column:t+n[s-1].length+i}},this.positionToIndex=function(t,e){for(var n=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,r=0,s=Math.min(t.row,n.length),o=e||0;o<s;++o)r+=n[o].length+i;return r+t.column}}).call(i.prototype),e.Document=i}),define("ace/lib/lang",[],function(t,e,n){e.last=function(t){return t[t.length-1]},e.stringReverse=function(t){return t.split("").reverse().join("")},e.stringRepeat=function(t,e){for(var n="";0<e;)1&e&&(n+=t),(e>>=1)&&(t+=t);return n};var i=/^\s\s*/,r=/\s\s*$/;e.stringTrimLeft=function(t){return t.replace(i,"")},e.stringTrimRight=function(t){return t.replace(r,"")},e.copyObject=function(t){var e,n={};for(e in t)n[e]=t[e];return n},e.copyArray=function(t){for(var e=[],n=0,i=t.length;n<i;n++)t[n]&&"object"==typeof t[n]?e[n]=this.copyObject(t[n]):e[n]=t[n];return e},e.deepCopy=function t(e){if("object"!=typeof e||!e)return e;if(Array.isArray(e))for(var n=[],i=0;i<e.length;i++)n[i]=t(e[i]);else{if("[object Object]"!==Object.prototype.toString.call(e))return e;for(var i in n={},e)n[i]=t(e[i])}return n},e.arrayToMap=function(t){for(var e={},n=0;n<t.length;n++)e[t[n]]=1;return e},e.createMap=function(t){var e,n=Object.create(null);for(e in t)n[e]=t[e];return n},e.arrayRemove=function(t,e){for(var n=0;n<=t.length;n++)e===t[n]&&t.splice(n,1)},e.escapeRegExp=function(t){return t.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},e.escapeHTML=function(t){return(""+t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},e.getMatchOffsets=function(t,e){var n=[];return t.replace(e,function(t){n.push({offset:arguments[arguments.length-2],length:t.length})}),n},e.deferredCall=function(t){function e(){i=null,t()}function n(t){return n.cancel(),i=setTimeout(e,t||0),n}var i=null;return(n.schedule=n).call=function(){return this.cancel(),t(),n},n.cancel=function(){return clearTimeout(i),i=null,n},n.isPending=function(){return i},n},e.delayedCall=function(t,e){function n(){r=null,t()}function i(t){null==r&&(r=setTimeout(n,t||e))}var r=null;return i.delay=function(t){r&&clearTimeout(r),r=setTimeout(n,t||e)},(i.schedule=i).call=function(){this.cancel(),t()},i.cancel=function(){r&&clearTimeout(r),r=null},i.isPending=function(){return r},i}}),define("ace/worker/mirror",[],function(t,e,n){t("../range").Range;var i=t("../document").Document,a=t("../lib/lang"),t=e.Mirror=function(t){this.sender=t;var r=this.doc=new i(""),s=this.deferredUpdate=a.delayedCall(this.onUpdate.bind(this)),o=this;t.on("change",function(t){var e,n=t.data;if(n[0].start)r.applyDeltas(n);else for(var i=0;i<n.length;i+=2)e=Array.isArray(n[i+1])?{action:"insert",start:n[i],lines:n[i+1]}:{action:"remove",start:n[i],end:n[i+1]},r.applyDelta(e,!0);if(o.$timeout)return s.schedule(o.$timeout);o.onUpdate()})};!function(){this.$timeout=500,this.setTimeout=function(t){this.$timeout=t},this.setValue=function(t){this.doc.setValue(t),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(t){this.sender.callback(this.doc.getValue(),t)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}.call(t.prototype)});