KodExplorer/static/js/lib/ace/src-min-noconflict/ace.js

8 lines
378 KiB
JavaScript
Raw Normal View History

2017-12-01 12:24:53 +00:00
(function(){var h="ace";var d=(function(){return this})();if(!d&&typeof window!="undefined"){d=window}if(!h&&typeof requirejs!=="undefined"){return}var g=function(i,k,j){if(typeof i!=="string"){if(g.original){g.original.apply(this,arguments)}else{console.error("dropping module because define wasn't a string.");console.trace()}return}if(arguments.length==2){j=k}if(!g.modules[i]){g.payloads[i]=j;g.modules[i]=null}};g.modules={};g.payloads={};var a=function(r,m,q){if(typeof m==="string"){var o=f(r,m);if(o!=undefined){q&&q();return o}}else{if(Object.prototype.toString.call(m)==="[object Array]"){var p=[];for(var k=0,j=m.length;k<j;++k){var n=f(r,m[k]);if(n==undefined&&c.original){return}p.push(n)}return q&&q.apply(null,p)||true}}};var c=function(j,k){var i=a("",j,k);if(i==undefined&&c.original){return c.original.apply(this,arguments)}return i};var e=function(m,i){if(i.indexOf("!")!==-1){var l=i.split("!");return e(m,l[0])+"!"+e(m,l[1])}if(i.charAt(0)=="."){var k=m.split("/").slice(0,-1).join("/");i=k+"/"+i;while(i.indexOf(".")!==-1&&j!=i){var j=i;i=i.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return i};var f=function(o,j){j=e(o,j);var l=g.modules[j];if(!l){l=g.payloads[j];if(typeof l==="function"){var i={};var k={id:j,uri:"",exports:i,packaged:true};var n=function(p,q){return a(j,p,q)};var m=l(n,i,k);i=m||k.exports;g.modules[j]=i;delete g.payloads[j]}l=g.modules[j]=i||l}return l};function b(j){var i=d;if(j){if(!d[j]){d[j]={}}i=d[j]}if(!i.define||!i.define.packaged){g.original=i.define;i.define=g;i.define.packaged=true}if(!i.require||!i.require.packaged){c.original=i.require;i.require=c;i.require.packaged=true}}b(h)})();ace.define("ace/lib/regexp",["require","exports","module"],function(b,a,c){var h={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},f=h.exec.call(/()??/,"")[1]===undefined,e=function(){var i=/^/g;h.test.call(i,"");return !i.lastIndex}();if(e&&f){return}RegExp.prototype.exec=function(n){var l=h.exec.apply(this,arguments),k,j;if(typeof(n)=="string"&&l){if(!f&&l.length>1&&d(l,"")>-1){j=RegExp(this.source,h.replace.call(g(this),"g",""));h.replace.call(n.slice(l.index),j,function(){for(var o=1;o<arguments.length-2;o++){if(arguments[o]===undefined){l[o]=undefined}}})}if(this._xregexp&&this._xregexp.captureNames){for(var m=1;m<l.length;m++){k=this._xregexp.captureNames[m-1];if(k){l[k]=l[m]}}}if(!e&&this.global&&!l[0].length&&(this.lastIndex>l.index)){this.lastIndex--}}return l};if(!e){RegExp.prototype.test=function(j){var i=h.exec.call(this,j);if(i&&this.global&&!i[0].length&&(this.lastIndex>i.index)){this.lastIndex--}return !!i}}function g(i){return(i.global?"g":"")+(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.extended?"x":"")+(i.sticky?"y":"")}function d(m,k,l){if(Array.prototype.indexOf){return m.indexOf(k,l)}for(var j=l||0;j<m.length;j++){if(m[j]===k){return j}}return -1}});ace.define("ace/lib/es5-shim",["require","exports","module"],function(g,ag,e){function ad(){}if(!Function.prototype.bind){Function.prototype.bind=function h(ap){var aq=this;if(typeof aq!="function"){throw new TypeError("Function.prototype.bind called on incompatible "+aq)}var an=t.call(arguments,1);var ao=function(){if(this instanceof ao){var ar=aq.apply(this,an.concat(t.call(arguments)));if(Object(ar)===ar){return ar}return this}else{return aq.apply(ap,an.concat(t.call(arguments)))}};if(aq.prototype){ad.prototype=aq.prototype;ao.prototype=new ad();ad.prototype=null}return ao}}var c=Function.prototype.call;var K=Array.prototype;var A=Object.prototype;var t=K.slice;var L=c.bind(A.toString);var T=c.bind(A.hasOwnProperty);var ae;var al;var ac;var aj;var p;if((p=T(A,"__defineGetter__"))){ae=c.bind(A.__defineGetter__);al=c.bind(A.__defineSetter__);ac=c.bind(A.__lookupGetter__);aj=c.bind(A.__lookupSetter__)}if([1,2].splice(0).length!=2){if(function(){function ao(ar){var aq=new Array(ar+2);aq[0]=aq[1]=0;return aq}var ap=[],an;ap.splice.apply(ap,ao(20));ap.splice.apply(ap,ao(26));an=ap.length;ap.splice(5,0,"XXX");an+1==ap.length;if(an+1==ap.lengt
m.removeEventListener("mousewheel",o)}}function n(t){s.setPosition(t.x,t.y)}p.editor.setDefaultHandler("guttermousemove",function(u){var t=u.domEvent.target||u.domEvent.srcElement;if(f.hasCssClass(t,"ace_fold-widget")){return o()}if(l&&p.$tooltipFollowsMouse){n(u)}j=u;if(r){return}r=setTimeout(function(){r=null;if(j&&!p.isMousePressed){q()}else{o()}},50)});a.addListener(m.renderer.$gutter,"mouseout",function(t){j=null;if(!l||r){return}r=setTimeout(function(){r=null;o()},50)});m.on("changeSession",o)}function c(j){i.call(this,j)}h.inherits(c,i);(function(){this.setPosition=function(k,o){var l=window.innerWidth||document.documentElement.clientWidth;var n=window.innerHeight||document.documentElement.clientHeight;var m=this.getWidth();var j=this.getHeight();k+=15;o+=15;if(k+m>l){k-=(k+m)-l}if(o+j>n){o-=20+j}i.prototype.setPosition.call(this,k,o)}}).call(c.prototype);g.GutterHandler=b});ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(c,b,d){var f=c("../lib/event");var a=c("../lib/useragent");var e=b.MouseEvent=function(h,g){this.domEvent=h;this.editor=g;this.x=this.clientX=h.clientX;this.y=this.clientY=h.clientY;this.$pos=null;this.$inSelection=null;this.propagationStopped=false;this.defaultPrevented=false};(function(){this.stopPropagation=function(){f.stopPropagation(this.domEvent);this.propagationStopped=true};this.preventDefault=function(){f.preventDefault(this.domEvent);this.defaultPrevented=true};this.stop=function(){this.stopPropagation();this.preventDefault()};this.getDocumentPosition=function(){if(this.$pos){return this.$pos}this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY);return this.$pos};this.inSelection=function(){if(this.$inSelection!==null){return this.$inSelection}var g=this.editor;var i=g.getSelectionRange();if(i.isEmpty()){this.$inSelection=false}else{var h=this.getDocumentPosition();this.$inSelection=i.contains(h.row,h.column)}return this.$inSelection};this.getButton=function(){return f.getButton(this.domEvent)};this.getShiftKey=function(){return this.domEvent.shiftKey};this.getAccelKey=a.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(e.prototype)});ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,g,c){var f=e("../lib/dom");var a=e("../lib/event");var d=e("../lib/useragent");var j=200;var h=200;var k=5;function i(t){var r=t.editor;var L=f.createElement("img");L.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";if(d.isOpera){L.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;"}var M=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];M.forEach(function(y){t[y]=this[y]},this);r.addEventListener("mousedown",this.onMouseDown.bind(t));var z=r.container;var J,B,w;var C,F;var p,A=0;var q;var K;var G;var u;var D;this.onDragStart=function(N){if(this.cancelDrag||!z.draggable){var x=this;setTimeout(function(){x.startSelect();x.captureMouse(N)},0);return N.preventDefault()}F=r.getSelectionRange();var y=N.dataTransfer;y.effectAllowed=r.getReadOnly()?"copy":"copyMove";if(d.isOpera){r.container.appendChild(L);L.scrollTop=0}y.setDragImage&&y.setDragImage(L,0,0);if(d.isOpera){r.container.removeChild(L)}y.clearData();y.setData("Text",r.session.getTextRange());K=true;this.setState("drag")};this.onDragEnd=function(y){z.draggable=false;K=false;this.setState(null);if(!r.getReadOnly()){var x=y.dataTransfer.dropEffect;if(!q&&x=="move"){r.session.remove(r.getSelectionRange())}r.renderer.$cursorLayer.setBlinking(true)}this.editor.unsetStyle("ace_dragging");this.editor.renderer.setCursorStyle("")};this.onDragEnter=function(x){if(r.getReadOnly()||!n(x.dataTransfer)){return}B=x.clientX;w=x.clientY;if(!J){v()}A++;x.dataTransfer.dropEffect=q=H(x);return a.preventDefault(x)};this.onDragOver=function(x){if(r.getReadOnly()||!n(x.dataTransfer)){return}B=x.clientX;w=x.clientY;if(!J){v();A++}if(l!==null){l=null}x.dataTransfer.dropE
}}if(j.charAt(0)!="^"){j="^"+j}if(j.charAt(j.length-1)!="$"){j+="$"}return new RegExp(j,(h||"").replace("g",""))};this.getLineTokens=function(q,g){if(g&&typeof g!="string"){var k=g.slice(0);g=k[0];if(g==="#tmp"){k.shift();g=k.shift()}}else{var k=[]}var y=g||"start";var j=this.states[y];if(!j){y="start";j=this.states[y]}var p=this.matchMappings[y];var t=this.regExps[y];t.lastIndex=0;var o,r=[];var w=0;var s=0;var n={type:null,value:""};while(o=t.exec(q)){var h=p.defaultToken;var l=null;var u=o[0];var m=t.lastIndex;if(m-u.length>w){var x=q.substring(w,m-u.length);if(n.type==h){n.value+=x}else{if(n.type){r.push(n)}n={type:h,value:x}}}for(var v=0;v<o.length-2;v++){if(o[v+1]===undefined){continue}l=j[p[v]];if(l.onMatch){h=l.onMatch(u,y,k,q)}else{h=l.token}if(l.next){if(typeof l.next=="string"){y=l.next}else{y=l.next(y,k)}j=this.states[y];if(!j){this.reportError("state doesn't exist",y);y="start";j=this.states[y]}p=this.matchMappings[y];w=m;t=this.regExps[y];t.lastIndex=m}if(l.consumeLineEnd){w=m}break}if(u){if(typeof h==="string"){if((!l||l.merge!==false)&&n.type===h){n.value+=u}else{if(n.type){r.push(n)}n={type:h,value:u}}}else{if(h){if(n.type){r.push(n)}n={type:null,value:""};for(var v=0;v<h.length;v++){r.push(h[v])}}}}if(w==q.length){break}w=m;if(s++>f){if(s>2*q.length){this.reportError("infinite loop with in ace tokenizer",{startState:g,line:q})}while(w<q.length){if(n.type){r.push(n)}n={value:q.substring(w,w+=2000),type:"overflow"}}y="start";k=[];break}}if(n.type){r.push(n)}if(k.length>1){if(k[0]!==y){k.unshift("#tmp",y)}}return{tokens:r,state:k.length?k:y}};this.reportError=c.reportError}).call(b.prototype);a.Tokenizer=b});ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(c,b,d){var e=c("../lib/lang");var a=function(){this.$rules={"start":[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(n,l){if(!l){for(var j in n){this.$rules[j]=n[j]}return}for(var j in n){var k=n[j];for(var h=0;h<k.length;h++){var m=k[h];if(m.next||m.onMatch){if(typeof m.next=="string"){if(m.next.indexOf(l)!==0){m.next=l+m.next}}if(m.nextState&&m.nextState.indexOf(l)!==0){m.nextState=l+m.nextState}}}this.$rules[l+j]=k}};this.getRules=function(){return this.$rules};this.embedRules=function(l,n,o,q,j){var h=typeof l=="function"?new l().getRules():l;if(q){for(var m=0;m<q.length;m++){q[m]=n+q[m]}}else{q=[];for(var p in h){q.push(n+p)}}this.addRules(h,n);if(o){var k=Array.prototype[j?"push":"unshift"];for(var m=0;m<q.length;m++){k.apply(this.$rules[q[m]],e.deepCopy(o))}}if(!this.$embeds){this.$embeds=[]}this.$embeds.push(n)};this.getEmbeds=function(){return this.$embeds};var f=function(i,h){if(i!="start"||h.length){h.unshift(this.nextState,i)}return this.nextState};var g=function(i,h){h.shift();return h.shift()||"start"};this.normalizeRules=function(){var j=0;var i=this.$rules;function h(t){var m=i[t];m.processed=true;for(var n=0;n<m.length;n++){var s=m[n];var p=null;if(Array.isArray(s)){p=s;s={}}if(!s.regex&&s.start){s.regex=s.start;if(!s.next){s.next=[]}s.next.push({defaultToken:s.token},{token:s.token+".end",regex:s.end||s.start,next:"pop"});s.token=s.token+".start";s.push=true}var o=s.next||s.push;if(o&&Array.isArray(o)){var u=s.stateName;if(!u){u=s.token;if(typeof u!="string"){u=u[0]||""}if(i[u]){u+=j++}}i[u]=o;s.next=u;h(u)}else{if(o=="pop"){s.next=g}}if(s.push){s.nextState=s.next||s.push;s.next=f;delete s.push}if(s.rules){for(var l in s.rules){if(i[l]){if(i[l].push){i[l].push.apply(i[l],s.rules[l])}}else{i[l]=s.rules[l]}}}var k=typeof s=="string"?s:s.include;if(k){if(Array.isArray(k)){p=k.map(function(r){return i[r]})}else{p=i[k]}}if(p){var q=[n,1].concat(p);if(s.noEscape){q=q.filter(function(r){return !r.next})}m.splice.apply(m,q);n--}if(s.keywordMap){s.token=this.createKeywordMapper(s.keywordMap,s.defaultToken||"text",s.caseInsensitive);delete s.defaultToken}}}Object.keys(i).forEach(h,this)};this.createKeywordMapper=function(j,l,h,k){var i=Object.create(null);Object.keys(j).forEach(function(o){var m=j[o];if(h){m=m.toLowerCase()}var p=m.split(k||"|");for(var
};this.getLength=function(){return this.$lines.length};this.getTextRange=function(j){return this.getLinesForRange(j).join(this.getNewLineCharacter())};this.getLinesForRange=function(m){var k;if(m.start.row===m.end.row){k=[this.getLine(m.start.row).substring(m.start.column,m.end.column)]}else{k=this.getLines(m.start.row,m.end.row);k[0]=(k[0]||"").substring(m.start.column);var j=k.length-1;if(m.end.row-m.start.row==j){k[j]=k[j].substring(0,m.end.column)}}return k};this.insertLines=function(k,j){console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead.");return this.insertFullLines(k,j)};this.removeLines=function(k,j){console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead.");return this.removeFullLines(k,j)};this.insertNewLine=function(j){console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.");return this.insertMergedLines(j,["",""])};this.insert=function(j,k){if(this.getLength()<=1){this.$detectNewLine(k)}return this.insertMergedLines(j,this.$split(k))};this.insertInLine=function(j,l){var m=this.clippedPos(j.row,j.column);var k=this.pos(j.row,j.column+l.length);this.applyDelta({start:m,end:k,action:"insert",lines:[l]},true);return this.clonePos(k)};this.clippedPos=function(m,k){var l=this.getLength();if(m===undefined){m=l}else{if(m<0){m=0}else{if(m>=l){m=l-1;k=undefined}}}var j=this.getLine(m);if(k==undefined){k=j.length}k=Math.min(Math.max(k,0),j.length);return{row:m,column:k}};this.clonePos=function(j){return{row:j.row,column:j.column}};this.pos=function(k,j){return{row:k,column:j}};this.$clipPosition=function(j){var k=this.getLength();if(j.row>=k){j.row=Math.max(0,k-1);j.column=this.getLine(k-1).length}else{j.row=Math.max(0,j.row);j.column=Math.min(Math.max(j.column,0),this.getLine(j.row).length)}return j};this.insertFullLines=function(l,j){l=Math.min(Math.max(l,0),this.getLength());var k=0;if(l<this.getLength()){j=j.concat([""]);k=0}else{j=[""].concat(j);l--;k=this.$lines[l].length}this.insertMergedLines({row:l,column:k},j)};this.insertMergedLines=function(j,l){var m=this.clippedPos(j.row,j.column);var k={row:m.row+l.length-1,column:(l.length==1?m.column:0)+l[l.length-1].length};this.applyDelta({start:m,end:k,action:"insert",lines:l});return this.clonePos(k)};this.remove=function(k){var l=this.clippedPos(k.start.row,k.start.column);var j=this.clippedPos(k.end.row,k.end.column);this.applyDelta({start:l,end:j,action:"remove",lines:this.getLinesForRange({start:l,end:j})});return this.clonePos(l)};this.removeInLine=function(l,k,n){var m=this.clippedPos(l,k);var j=this.clippedPos(l,n);this.applyDelta({start:m,end:j,action:"remove",lines:this.getLinesForRange({start:m,end:j})},true);return this.clonePos(m)};this.removeFullLines=function(l,s){l=Math.min(Math.max(0,l),this.getLength()-1);s=Math.min(Math.max(0,s),this.getLength()-1);var p=s==this.getLength()-1&&l>0;var k=s<this.getLength()-1;var r=(p?l-1:l);var j=(p?this.getLine(r).length:0);var m=(k?s+1:s);var q=(k?0:this.getLine(m).length);var o=new b(r,j,m,q);var n=this.$lines.slice(l,s+1);this.applyDelta({start:o.start,end:o.end,action:"remove",lines:this.getLinesForRange(o)});return n};this.removeNewLine=function(j){if(j<this.getLength()-1&&j>=0){this.applyDelta({start:this.pos(j,this.getLine(j).length),end:this.pos(j+1,0),action:"remove",lines:["",""]})}};this.replace=function(k,l){if(!(k instanceof b)){k=b.fromPoints(k.start,k.end)}if(l.length===0&&k.isEmpty()){return k.start}if(l==this.getTextRange(k)){return k.end}this.remove(k);var j;if(l){j=this.insert(k.start,l)}else{j=k.start}return j};this.applyDeltas=function(k){for(var j=0;j<k.length;j++){this.applyDelta(k[j])}};this.revertDeltas=function(k){for(var j=k.length-1;j>=0;j--){this.revertDelta(k[j])}};this.applyDelta=function(l,j){var k=l.action=="insert";if(k?l.lines.length<=1&&!l.lines[0]:!b.comparePoints(l.start,l.end)){return}if(k&&l.lines.length>20000){this.$splitAndapplyLargeDelta(l,20000)}h(this.$lines,l,j);this._signal("change",l)};this.$splitAndapplyLargeDelta=function(q,j)
}if(J){while(H>F&&I[H]<v){H--}while(H>F&&I[H]==s){H--}}else{while(H>F&&I[H]<t){H--}}if(H>F){if(y==D-G){break}y=D-G;if(I[H]==w||I[H-1]==w){L(H++)}else{L(++H)}continue}H=G+N;if(I[H]==w){H--}L(H-A)}return K};this.$getDisplayTokens=function(C,B){var y=[];var A;B=B||0;for(var z=0;z<C.length;z++){var E=C.charCodeAt(z);if(E==9){A=this.getScreenTabSize(y.length+B);y.push(u);for(var D=1;D<A;D++){y.push(q)}}else{if(E==32){y.push(t)}else{if((E>39&&E<48)||(E>57&&E<64)){y.push(s)}else{if(E>=4352&&r(E)){y.push(t,w)}else{y.push(x)}}}}}return y};this.$getStringScreenWidth=function(A,C,y){if(C==0){return[0,0]}if(C==null){C=Infinity}y=y||0;var B,z;for(z=0;z<A.length;z++){B=A.charCodeAt(z);if(B==9){y+=this.getScreenTabSize(y)}else{if(B>=4352&&r(B)){y+=2}else{y+=1}}if(y>C){break}}return[y,z]};this.lineWidgets=null;this.getRowLength=function(z){if(this.lineWidgets){var y=this.lineWidgets[z]&&this.lineWidgets[z].rowCount||0}else{y=0}if(!this.$useWrapMode||!this.$wrapData[z]){return 1+y}else{return this.$wrapData[z].length+1+y}};this.getRowLineCount=function(y){if(!this.$useWrapMode||!this.$wrapData[y]){return 1}else{return this.$wrapData[y].length+1}};this.getRowWrapIndent=function(y){if(this.$useWrapMode){var A=this.screenToDocumentPosition(y,Number.MAX_VALUE);var z=this.$wrapData[A.row];return z.length&&z[0]<A.column?z.indent:0}else{return 0}};this.getScreenLastRowColumn=function(y){var z=this.screenToDocumentPosition(y,Number.MAX_VALUE);return this.documentToScreenColumn(z.row,z.column)};this.getDocumentLastRowColumn=function(y,A){var z=this.documentToScreenRow(y,A);return this.getScreenLastRowColumn(z)};this.getDocumentLastRowColumnPosition=function(y,A){var z=this.documentToScreenRow(y,A);return this.screenToDocumentPosition(z,Number.MAX_VALUE/10)};this.getRowSplitData=function(y){if(!this.$useWrapMode){return undefined}else{return this.$wrapData[y]}};this.getScreenTabSize=function(y){return this.$tabSize-y%this.$tabSize};this.screenToDocumentRow=function(z,y){return this.screenToDocumentPosition(z,y).row};this.screenToDocumentColumn=function(z,y){return this.screenToDocumentPosition(z,y).column};this.screenToDocumentPosition=function(G,C,O){if(G<0){return{row:0,column:0}}var E;var y=0;var M=0;var z;var B=0;var K=0;var I=this.$screenRowCache;var N=this.$getRowCacheIndex(I,G);var L=I.length;if(L&&N>=0){var B=I[N];var y=this.$docRowCache[N];var F=G>I[L-1]}else{var F=!L}var J=this.getLength()-1;var P=this.getNextFoldLine(y);var A=P?P.start.row:Infinity;while(B<=G){K=this.getRowLength(y);if(B+K>G||y>=J){break}else{B+=K;y++;if(y>A){y=P.end.row+1;P=this.getNextFoldLine(y,P);A=P?P.start.row:Infinity}}if(F){this.$docRowCache.push(y);this.$screenRowCache.push(B)}}if(P&&P.start.row<=y){E=this.getFoldDisplayLine(P);y=P.start.row}else{if(B+K<=G||y>J){return{row:J,column:this.getLine(J).length}}else{E=this.getLine(y);P=null}}var H=0,Q=Math.floor(G-B);if(this.$useWrapMode){var D=this.$wrapData[y];if(D){z=D[Q];if(Q>0&&D.length){H=D.indent;M=D[Q-1]||D[D.length-1];E=E.substring(M)}}}if(O!==undefined&&this.$bidiHandler.isBidiRow(B+Q,y,Q)){C=this.$bidiHandler.offsetToCol(O)}M+=this.$getStringScreenWidth(E,C-H)[1];if(this.$useWrapMode&&M>=z){M=z-1}if(P){return P.idxToPosition(M)}return{row:y,column:M}};this.documentToScreenPosition=function(y,M){if(typeof M==="undefined"){var B=this.$clipPositionToDocument(y.row,y.column)}else{B=this.$clipPositionToDocument(y,M)}y=B.row;M=B.column;var G=0;var I=null;var A=null;A=this.getFoldAt(y,M,1);if(A){y=A.start.row;M=A.start.column}var K,C=0;var J=this.$docRowCache;var N=this.$getRowCacheIndex(J,y);var L=J.length;if(L&&N>=0){var C=J[N];var G=this.$screenRowCache[N];var F=y>J[L-1]}else{var F=!L}var O=this.getNextFoldLine(C);var z=O?O.start.row:Infinity;while(C<y){if(C>=z){K=O.end.row+1;if(K>y){break}O=this.getNextFoldLine(K,O);z=O?O.start.row:Infinity}else{K=C+1}G+=this.getRowLength(C);C=K;if(F){this.$docRowCache.push(C);this.$screenRowCache.push(G)}}var E="";if(O&&C>=z){E=this.getFoldDisplayLine(O,y,M);I=O.start.row}else{E=this.getLine(y).substring(0,M);I=y}var H=0;if(this.$useWrapMode){var P=this.$wrapData[I];if(P){v
}};this.onTextInput=function(u){this.keyBinding.onTextInput(u)};this.onCommandKey=function(w,u,v){this.keyBinding.onCommandKey(w,u,v)};this.setOverwrite=function(u){this.session.setOverwrite(u)};this.getOverwrite=function(){return this.session.getOverwrite()};this.toggleOverwrite=function(){this.session.toggleOverwrite()};this.setScrollSpeed=function(u){this.setOption("scrollSpeed",u)};this.getScrollSpeed=function(){return this.getOption("scrollSpeed")};this.setDragDelay=function(u){this.setOption("dragDelay",u)};this.getDragDelay=function(){return this.getOption("dragDelay")};this.setSelectionStyle=function(u){this.setOption("selectionStyle",u)};this.getSelectionStyle=function(){return this.getOption("selectionStyle")};this.setHighlightActiveLine=function(u){this.setOption("highlightActiveLine",u)};this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")};this.setHighlightGutterLine=function(u){this.setOption("highlightGutterLine",u)};this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")};this.setHighlightSelectedWord=function(u){this.setOption("highlightSelectedWord",u)};this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord};this.setAnimatedScroll=function(u){this.renderer.setAnimatedScroll(u)};this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()};this.setShowInvisibles=function(u){this.renderer.setShowInvisibles(u)};this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()};this.setDisplayIndentGuides=function(u){this.renderer.setDisplayIndentGuides(u)};this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()};this.setShowPrintMargin=function(u){this.renderer.setShowPrintMargin(u)};this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()};this.setPrintMarginColumn=function(u){this.renderer.setPrintMarginColumn(u)};this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()};this.setReadOnly=function(u){this.setOption("readOnly",u)};this.getReadOnly=function(){return this.getOption("readOnly")};this.setBehavioursEnabled=function(u){this.setOption("behavioursEnabled",u)};this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")};this.setWrapBehavioursEnabled=function(u){this.setOption("wrapBehavioursEnabled",u)};this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")};this.setShowFoldWidgets=function(u){this.setOption("showFoldWidgets",u)};this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")};this.setFadeFoldWidgets=function(u){this.setOption("fadeFoldWidgets",u)};this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")};this.remove=function(w){if(this.selection.isEmpty()){if(w=="left"){this.selection.selectLeft()}else{this.selection.selectRight()}}var v=this.getSelectionRange();if(this.getBehavioursEnabled()){var y=this.session;var x=y.getState(v.start.row);var A=y.getMode().transformAction(x,"deletion",this,y,v);if(v.end.column===0){var z=y.getTextRange(v);if(z[z.length-1]=="\n"){var u=y.getLine(v.end.row);if(/^\s+$/.test(u)){v.end.column=u.length}}}if(A){v=A}}this.session.remove(v);this.clearSelection()};this.removeWordRight=function(){if(this.selection.isEmpty()){this.selection.selectWordRight()}this.session.remove(this.getSelectionRange());this.clearSelection()};this.removeWordLeft=function(){if(this.selection.isEmpty()){this.selection.selectWordLeft()}this.session.remove(this.getSelectionRange());this.clearSelection()};this.removeToLineStart=function(){if(this.selection.isEmpty()){this.selection.selectLineStart()}this.session.remove(this.getSelectionRange());this.clearSelection()};this.removeToLineEnd=function(){if(this.selection.isEmpty()){this.selection.selectLineEnd()}var u=this.getSelectionRange();if(u.start.column==u.end.column&&u.start.row==u.end.row){u.end.column=0;u.end.row++}this.session.remove(u);this.clearSelection()};this.splitLine=function(){if(!this.selection.isEmpty()){this.session.remove(this.getSelectionRange());this.c
};(function(){h.implement(this,j);this.$characterSize={width:0,height:0};this.$testFractionalRect=function(){var l=e.createElement("div");this.$setMeasureNodeStyles(l.style);l.style.width="0.2px";document.documentElement.appendChild(l);var k=l.getBoundingClientRect().width;if(k>0&&k<1){i=50}else{i=100}l.parentNode.removeChild(l)};this.$setMeasureNodeStyles=function(l,k){l.width=l.height="auto";l.left=l.top="0px";l.visibility="hidden";l.position="absolute";l.whiteSpace="pre";if(c.isIE<8){l["font-family"]="inherit"}else{l.font="inherit"}l.overflow=k?"hidden":"visible"};this.checkForSizeChanges=function(){var l=this.$measureSizes();if(l&&(this.$characterSize.width!==l.width||this.$characterSize.height!==l.height)){this.$measureNode.style.fontWeight="bold";var k=this.$measureSizes();this.$measureNode.style.fontWeight="";this.$characterSize=l;this.charSizes=Object.create(null);this.allowBoldFonts=k&&k.width===l.width&&k.height===l.height;this._emit("changeCharacterSize",{data:l})}};this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer){return this.$pollSizeChangesTimer}var k=this;return this.$pollSizeChangesTimer=setInterval(function(){k.checkForSizeChanges()},500)};this.setPolling=function(k){if(k){this.$pollSizeChanges()}else{if(this.$pollSizeChangesTimer){clearInterval(this.$pollSizeChangesTimer);this.$pollSizeChangesTimer=0}}};this.$measureSizes=function(){if(i===50){var l=null;try{l=this.$measureNode.getBoundingClientRect()}catch(m){l={width:0,height:0}}var k={height:l.height,width:l.width/i}}else{var k={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/i}}if(k.width===0||k.height===0){return null}return k};this.$measureCharWidth=function(k){this.$main.innerHTML=a.stringRepeat(k,i);var l=this.$main.getBoundingClientRect();return l.width/i};this.getCharacterWidth=function(l){var k=this.charSizes[l];if(k===undefined){k=this.charSizes[l]=this.$measureCharWidth(l)/this.$characterSize.width}return k};this.destroy=function(){clearInterval(this.$pollSizeChangesTimer);if(this.el&&this.el.parentNode){this.el.parentNode.removeChild(this.el)}}}).call(g.prototype)});ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(d,r,a){var n=d("./lib/oop");var m=d("./lib/dom");var q=d("./config");var j=d("./lib/useragent");var k=d("./layer/gutter").Gutter;var b=d("./layer/marker").Marker;var g=d("./layer/text").Text;var o=d("./layer/cursor").Cursor;var e=d("./scrollbar").HScrollBar;var h=d("./scrollbar").VScrollBar;var p=d("./renderloop").RenderLoop;var l=d("./layer/font_metrics").FontMetrics;var c=d("./lib/event_emitter").EventEmitter;var i='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;p
this._emit("cursorLeave",h)}};this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId);this.hideOtherMarkers();this.doc.removeEventListener("change",this.$onUpdate);this.session.selection.removeEventListener("changeCursor",this.$onCursorChange);this.session.setUndoSelect(true);this.session=null};this.cancel=function(){if(this.$undoStackDepth===-1){return}var k=this.session.getUndoManager();var h=(k.$undoStack||k.$undostack).length-this.$undoStackDepth;for(var j=0;j<h;j++){k.undo(true)}if(this.selectionBefore){this.session.selection.fromJSON(this.selectionBefore)}}}).call(g.prototype);a.PlaceHolder=g});ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(d,b,e){var f=d("../lib/event");var a=d("../lib/useragent");function c(i,h){return i.row==h.row&&i.column==h.column}function g(E){var F=E.domEvent;var H=F.altKey;var A=F.shiftKey;var u=F.ctrlKey;var w=E.getAccelKey();var h=E.getButton();if(h==1){h=0;H=true}if(u&&a.isMac){h=F.button}if(E.editor.inMultiSelectMode&&h==2){E.editor.textInput.onContextMenu(E.domEvent);return}if(!u&&!H&&!w){if(h===0&&E.editor.inMultiSelectMode){E.editor.exitMultiSelectMode()}return}if(h!==0){return}var n=E.editor;var I=n.selection;var G=n.inMultiSelectMode;var q=E.getDocumentPosition();var o=I.getCursor();var B=E.inSelection()||(I.isEmpty()&&c(q,o));var t=E.x,s=E.y;var p=function(J){t=J.clientX;s=J.clientY};var i=n.session;var m=n.renderer.pixelToScreenCoordinates(t,s);var y=m;var r;if(n.$mouseHandler.$enableJumpToDef){if(u&&H||w&&H){r=A?"block":"add"}else{if(H&&n.$blockSelectEnabled){r="block"}}}else{if(w&&!H){r="add";if(!G&&A){return}}else{if(H&&n.$blockSelectEnabled){r="block"}}}if(r&&a.isMac&&F.ctrlKey){n.$mouseHandler.cancelContextMenu()}if(r=="add"){if(!G&&B){return}if(!G){var z=I.toOrientedRange();n.addSelectionMarker(z)}var x=I.rangeList.rangeAtPoint(q);n.$blockScrolling++;n.inVirtualSelectionMode=true;if(A){x=null;z=I.ranges[0]||z;n.removeSelectionMarker(z)}n.once("mouseup",function(){var J=I.toOrientedRange();if(x&&J.isEmpty()&&c(x.cursor,J.cursor)){I.substractPoint(J.cursor)}else{if(A){I.substractPoint(z.cursor)}else{if(z){n.removeSelectionMarker(z);I.addRange(z)}}I.addRange(J)}n.$blockScrolling--;n.inVirtualSelectionMode=false})}else{if(r=="block"){E.stop();n.inVirtualSelectionMode=true;var l;var D=[];var k=function(){var K=n.renderer.pixelToScreenCoordinates(t,s);var J=i.screenToDocumentPosition(K.row,K.column,K.offsetX);if(c(y,K)&&c(J,I.lead)){return}y=K;n.$blockScrolling++;n.selection.moveToPosition(J);n.renderer.scrollCursorIntoView();n.removeSelectionMarkers(D);D=I.rectangularRangeBlock(y,m);if(n.$mouseHandler.$clickSelection&&D.length==1&&D[0].isEmpty()){D[0]=n.$mouseHandler.$clickSelection.clone()}D.forEach(n.addSelectionMarker,n);n.updateSelectionMarkers();n.$blockScrolling--};n.$blockScrolling++;if(G&&!w){I.toSingleRange()}else{if(!G&&w){l=I.toOrientedRange();n.addSelectionMarker(l)}}if(A){m=i.documentToScreenPosition(I.lead)}else{I.moveToPosition(q)}n.$blockScrolling--;y={row:-1,column:-1};var j=function(K){clearInterval(v);n.removeSelectionMarkers(D);if(!D.length){D=[I.toOrientedRange()]}n.$blockScrolling++;if(l){n.removeSelectionMarker(l);I.toSingleRange(l)}for(var J=0;J<D.length;J++){I.addRange(D[J])}n.inVirtualSelectionMode=false;n.$mouseHandler.$clickSelection=null;n.$blockScrolling--};var C=k;f.capture(n.container,p,j);var v=setInterval(function(){C()},20);return E.preventDefault()}}}b.onMouseDown=g});ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(b,a,c){a.defaultCommands=[{name:"addCursorAbove",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:true},{name:"addCursorBelow",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:true},{name:"addCursorAboveSkipCurrent",exec:function(e){e.selectMoreLines(-1,true)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoVie