challenges/r5 easy/editor.html

74 lines
1.3 MiB
HTML
Raw Normal View History

2023-09-18 12:28:15 +00:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code in the Dark</title>
<script>!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){var r,i,o,a,s=function(e,t){return function(){return e.apply(t,arguments)}};n(2),o=n(9),r=n(10),a=n(11),n(14),n(18),n(19),i=function(){function e(){this.onChange=s(this.onChange,this),this.onClickFinish=s(this.onClickFinish,this),this.onClickReference=s(this.onClickReference,this),this.onClickInstructions=s(this.onClickInstructions,this),this.deactivatePowerMode=s(this.deactivatePowerMode,this),this.activatePowerMode=s(this.activatePowerMode,this),this.drawParticles=s(this.drawParticles,this),this.onFrame=s(this.onFrame,this),this.saveContent=s(this.saveContent,this),this.$streakCounter=r(".streak-container .counter"),this.$streakBar=r(".streak-container .bar"),this.$exclamations=r(".streak-container .exclamations"),this.$reference=r(".reference-screenshot-container"),this.$nameTag=r(".name-tag"),this.$result=r(".result"),this.$editor=r("#editor"),this.canvas=this.setupCanvas(),this.canvasContext=this.canvas.getContext("2d"),this.$finish=r(".finish-button"),this.$body=r("body"),this.debouncedSaveContent=o.debounce(this.saveContent,300),this.debouncedEndStreak=o.debounce(this.endStreak,this.STREAK_TIMEOUT),this.throttledShake=o.throttle(this.shake,100,{trailing:!1}),this.throttledSpawnParticles=o.throttle(this.spawnParticles,25,{trailing:!1}),this.editor=this.setupAce(),this.loadContent(),this.editor.focus(),this.editor.getSession().on("change",this.onChange),r(window).on("beforeunload",function(){return"Hold your horses!"}),r(".instructions-container, .instructions-button").on("click",this.onClickInstructions),this.$reference.on("click",this.onClickReference),this.$finish.on("click",this.onClickFinish),this.$nameTag.on("click",function(e){return function(){return e.getName(!0)}}(this)),this.getName(),"function"==typeof window.requestAnimationFrame&&window.requestAnimationFrame(this.onFrame)}return e.prototype.POWER_MODE_ACTIVATION_THRESHOLD=200,e.prototype.STREAK_TIMEOUT=1e4,e.prototype.MAX_PARTICLES=500,e.prototype.PARTICLE_NUM_RANGE=[5,6,7,8,9,10,11,12],e.prototype.PARTICLE_GRAVITY=.075,e.prototype.PARTICLE_SIZE=8,e.prototype.PARTICLE_ALPHA_FADEOUT=.96,e.prototype.PARTICLE_VELOCITY_RANGE={x:[-2.5,2.5],y:[-7,-3.5]},e.prototype.PARTICLE_COLORS={text:[255,255,255],"text.xml":[255,255,255],keyword:[0,221,255],variable:[0,221,255],"meta.tag.tag-name.xml":[0,221,255],"keyword.operator.attribute-equals.xml":[0,221,255],constant:[249,255,0],"constant.numeric":[249,255,0],"support.constant":[249,255,0],"string.attribute-value.xml":[249,255,0],"string.unquoted.attribute-value.html":[249,255,0],"entity.other.attribute-name.xml":[129,148,244],comment:[0,255,121],"comment.xml":[0,255,121]},e.prototype.EXCLAMATION_EVERY=10,e.prototype.EXCLAMATIONS=["Super!","Radical!","Fantastic!","Great!","OMG","Whoah!",":O","Nice!","Splendid!","Wild!","Grand!","Impressive!","Stupendous!","Extreme!","Awesome!"],e.prototype.currentStreak=0,e.prototype.powerMode=!1,e.prototype.particles=[],e.prototype.particlePointer=0,e.prototype.lastDraw=0,e.prototype.setupAce=function(){var e;return e=a.edit("editor"),e.setShowPrintMargin(!1),e.setHighlightActiveLine(!1),e.setFontSize(20),e.setTheme("ace/theme/vibrant_ink"),e.getSession().setMode("ace/mode/html"),e.session.setOption("useWorker",!1),e.session.setFoldStyle("manual"),e.$blockScrolling=1/0,e},e.prototype.setupCanvas=function(){var e;return e=r(".canvas-overlay")[0],e.width=window.innerWidth,e.height=window.innerHeight,e},e.prototype.getName=function(e){var t;return t=!e&&localStorage.name||prompt("What's your name?"),localStorage.name=t,t?this.$nameTag.text(t):void 0},e.prototype.loadContent=function(){var e;return(e=localStorage.content)?this.editor.setValue(e,-1):void 0},e.prototype.saveContent=function(){return localStorage.content=this.editor.getValue()},e.prototype.onFrame=function(e){return this.drawParticles(e-this.lastDraw),this.lastDraw=e
},function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgcAAAHbCAYAAABftTnyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBQjczNjAwNEUyNDIxMUUyOEFCRENCRkQyQUZCNkE1MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBQjczNjAwNUUyNDIxMUUyOEFCRENCRkQyQUZCNkE1MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE0M0YxOEZGRTI0MDExRTI4QUJEQ0JGRDJBRkI2QTUzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE0M0YxOTAwRTI0MDExRTI4QUJEQ0JGRDJBRkI2QTUzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FafDXQAAW59JREFUeNrsnQfY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
},function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgcAAAHbCAYAAABftTnyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCRDE3RTZGREMxOEMxMUU0OEFDOUU5MjRFRkI3NkVCNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCRDE3RTZGRUMxOEMxMUU0OEFDOUU5MjRFRkI3NkVCNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJEMTdFNkZCQzE4QzExRTQ4QUM5RTkyNEVGQjc2RUI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJEMTdFNkZDQzE4QzExRTQ4QUM5RTkyNEVGQjc2RUI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pXtqmAAAW2FJREFUeNrsnQfY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
},function(e,t,n){function r(e,t){for(var n=0;n<e.length;n++){var r=e[n],i=A[r.id];if(i){i.refs++;for(var o=0;o<i.parts.length;o++)i.parts[o](r.parts[o]);for(;o<r.parts.length;o++)i.parts.push(a(r.parts[o],t))}else{for(var s=[],o=0;o<r.parts.length;o++)s.push(a(r.parts[o],t));A[r.id]={id:r.id,refs:1,parts:s}}}}function i(e){for(var t=[],n={},r=0;r<e.length;r++){var i=e[r],o=i[0],a=i[1],s=i[2],l=i[3],c={css:a,media:s,sourceMap:l};n[o]?n[o].parts.push(c):t.push(n[o]={id:o,parts:[c]})}return t}function o(){var e=document.createElement("style"),t=h();return e.type="text/css",t.appendChild(e),e}function a(e,t){var n,r,i;if(t.singleton){var a=g++;n=p||(p=o()),r=l.bind(null,n,a,!1),i=l.bind(null,n,a,!0)}else n=o(),r=c.bind(null,n),i=function(){n.parentNode.removeChild(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}function s(e,t,n){var r=["/** >>"+t+" **/","/** "+t+"<< **/"],i=e.lastIndexOf(r[0]),o=n?r[0]+n+r[1]:"";if(e.lastIndexOf(r[0])>=0){var a=e.lastIndexOf(r[1])+r[1].length;return e.slice(0,i)+o+e.slice(a)}return e+o}function l(e,t,n,r){var i=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=s(e.styleSheet.cssText,t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function c(e,t){var n=t.css,r=t.media,i=t.sourceMap;if(i&&"function"==typeof btoa)try{n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(JSON.stringify(i))+" */",n='@import url("data:text/css;base64,'+btoa(n)+'")'}catch(o){}if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var A={},u=function(e){var t;return function(){return"undefined"==typeof t&&(t=e.apply(this,arguments)),t}},d=u(function(){return/msie 9\b/.test(window.navigator.userAgent.toLowerCase())}),h=u(function(){return document.head||document.getElementsByTagName("head")[0]}),p=null,g=0;e.exports=function(e,t){t=t||{},"undefined"==typeof t.singleton&&(t.singleton=d());var n=i(e);return r(n,t),function(e){for(var o=[],a=0;a<n.length;a++){var s=n[a],l=A[s.id];l.refs--,o.push(l)}if(e){var c=i(e);r(c,t)}for(var a=0;a<o.length;a++){var l=o[a];if(0===l.refs){for(var u=0;u<l.parts.length;u++)l.parts[u]();delete A[l.id]}}}}},function(e,t,n){var r,i;(function(){function n(e){function t(t,n,r,i,o,a){for(;o>=0&&a>o;o+=e){var s=i?i[o]:o;r=n(r,t[s],s,t)}return r}return function(n,r,i,o){r=y(r,o,4);var a=!Q(n)&&b.keys(n),s=(a||n).length,l=e>0?0:s-1;return arguments.length<3&&(i=n[a?a[l]:l],l+=e),t(n,r,i,a,l,s)}}function o(e){return function(t,n,r){n=M(n,r);for(var i=I(t),o=e>0?0:i-1;o>=0&&i>o;o+=e)if(n(t[o],o,t))return o;return-1}}function a(e,t,n){return function(r,i,o){var a=0,s=I(r);if("number"==typeof o)e>0?a=o>=0?o:Math.max(o+s,a):s=o>=0?Math.min(o+1,s):o+s+1;else if(n&&o&&s)return o=n(r,i),r[o]===i?o:-1;if(i!==i)return o=t(p.call(r,a,s),b.isNaN),o>=0?o+a:-1;for(o=e>0?a:s-1;o>=0&&s>o;o+=e)if(r[o]===i)return o;return-1}}function s(e,t){var n=D.length,r=e.constructor,i=b.isFunction(r)&&r.prototype||u,o="constructor";for(b.has(e,o)&&!b.contains(t,o)&&t.push(o);n--;)o=D[n],o in e&&e[o]!==i[o]&&!b.contains(t,o)&&t.push(o)}var l=this,c=l._,A=Array.prototype,u=Object.prototype,d=Function.prototype,h=A.push,p=A.slice,g=u.toString,f=u.hasOwnProperty,m=Array.isArray,E=Object.keys,w=d.bind,B=Object.create,v=function(){},b=function(e){return e instanceof b?e:this instanceof b?void(this._wrapped=e):new b(e)};"undefined"!=typeof e&&e.exports&&(t=e.exports=b),t._=b,b.VERSION="1.8.3";var y=function(e,t,n){if(void 0===t)return e;switch(null==n?3:n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)};case 4:return function(n,r,i,o){return e.call(t,n,r,i,o)}}return function(){return e.apply(t,arguments)}},M=function(e,t,n){return null==e?b.identity:b.isFunction(e)?y(e,t,n):b.isObject(e)?b.matcher(e):b.property(e)};b.iteratee=function(e,t){return M(e,t,1/0)};
a[t]=ce.extend(c,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(le+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===ce.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=e&&e.toString();return!ce.isArray(e)&&t-parseFloat(t)+1>=0},isPlainObject:function(e){var t;if("object"!==ce.type(e)||e.nodeType||ce.isWindow(e))return!1;if(e.constructor&&!ae.call(e,"constructor")&&!ae.call(e.constructor.prototype||{},"isPrototypeOf"))return!1;for(t in e);return void 0===t||ae.call(e,t)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ie[oe.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;e=ce.trim(e),e&&(1===e.indexOf("use strict")?(t=Z.createElement("script"),t.text=e,Z.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(ue,"ms-").replace(de,he)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,r=0;if(a(e))for(n=e.length;n>r&&t.call(e[r],r,e[r])!==!1;r++);else for(r in e)if(t.call(e[r],r,e[r])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(Ae,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(a(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):ne.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:re.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;n>r;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;a>o;o++)r=!t(e[o],o),r!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(a(e))for(r=e.length;r>o;o++)i=t(e[o],o,n),null!=i&&s.push(i);else for(o in e)i=t(e[o],o,n),null!=i&&s.push(i);return te.apply([],s)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),ce.isFunction(e)?(r=ee.call(arguments,2),i=function(){return e.apply(t||this,r.concat(ee.call(arguments)))},i.guid=e.guid=e.guid||ce.guid++,i):void 0},now:Date.now,support:se}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=X[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ie["[object "+t+"]"]=t.toLowerCase()});var pe=function(e){function t(e,t,n,r){var i,o,a,s,l,c,u,h,p=t&&t.ownerDocument,g=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==g&&9!==g&&11!==g)return n;if(!r&&((t?t.ownerDocument||t:L)!==F&&S(t),t=t||F,U)){if(11!==g&&(c=me.exec(e)))if(i=c[1]){if(9===g){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(p&&(a=p.getElementById(i))&&j(t,a)&&a.id===i)return n.push(a),n}else{if(c[2])return X.apply(n,t.getElementsByTagName(e)),n;if((i=c[3])&&v.getElementsByClassName&&t.getElementsByClassName)return X.apply(n,t.getElementsByClassName(i)),n}if(!(!v.qsa||W[e+" "]||D&&D.test(e))){if(1!==g)p=t,h=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(we,"\\$&"):t.setAttribute("id",s=N),u=x(e),o=u.length,l=de.test(s)?"#"+s:"[id='"+s+"']";o--;)u[o]=l+" "+d(u[o]);h=u.join(","),p=Ee.test(e)&&A(t.parentNode)||t}if(h)try{return X.apply(n,p.querySelectorAll(h)),n}catch(f){}finally{s===N&&t.removeAttribute("id")}}}return C(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>b.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[N]=!0,e}function i(e){var t=F.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||G)-(~e.sourceIndex||G);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("inp
return e=t||e,"none"===ce.css(e,"display")||!ce.contains(e.ownerDocument,e)},_e=/^(?:checkbox|radio)$/i,je=/<([\w:-]+)/,Ne=/^$|\/(?:java|ecma)script/i,Le={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Le.optgroup=Le.option,Le.tbody=Le.tfoot=Le.colgroup=Le.caption=Le.thead,Le.th=Le.td;var Ve=/<|&#?\w+;/;!function(){var e=Z.createDocumentFragment(),t=e.appendChild(Z.createElement("div")),n=Z.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),se.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",se.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Oe=/^key/,Pe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,He=/^([^.]*)(?:\.(.+)|)/;ce.event={global:{},add:function(e,t,n,r,i){var o,a,s,l,c,A,u,d,h,p,g,f=Ie.get(e);if(f)for(n.handler&&(o=n,n=o.handler,i=o.selector),n.guid||(n.guid=ce.guid++),(l=f.events)||(l=f.events={}),(a=f.handle)||(a=f.handle=function(t){return"undefined"!=typeof ce&&ce.event.triggered!==t.type?ce.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(xe)||[""],c=t.length;c--;)s=He.exec(t[c])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h&&(u=ce.event.special[h]||{},h=(i?u.delegateType:u.bindType)||h,u=ce.event.special[h]||{},A=ce.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ce.expr.match.needsContext.test(i),namespace:p.join(".")},o),(d=l[h])||(d=l[h]=[],d.delegateCount=0,u.setup&&u.setup.call(e,r,p,a)!==!1||e.addEventListener&&e.addEventListener(h,a)),u.add&&(u.add.call(e,A),A.handler.guid||(A.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,A):d.push(A),ce.event.global[h]=!0)},remove:function(e,t,n,r,i){var o,a,s,l,c,A,u,d,h,p,g,f=Ie.hasData(e)&&Ie.get(e);if(f&&(l=f.events)){for(t=(t||"").match(xe)||[""],c=t.length;c--;)if(s=He.exec(t[c])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h){for(u=ce.event.special[h]||{},h=(r?u.delegateType:u.bindType)||h,d=l[h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;o--;)A=d[o],!i&&g!==A.origType||n&&n.guid!==A.guid||s&&!s.test(A.namespace)||r&&r!==A.selector&&("**"!==r||!A.selector)||(d.splice(o,1),A.selector&&d.delegateCount--,u.remove&&u.remove.call(e,A));a&&!d.length&&(u.teardown&&u.teardown.call(e,p,f.handle)!==!1||ce.removeEvent(e,h,f.handle),delete l[h])}else for(h in l)ce.event.remove(e,h+t[c],n,r,!0);ce.isEmptyObject(l)&&Ie.remove(e,"handle events")}},dispatch:function(e){e=ce.event.fix(e);var t,n,r,i,o,a=[],s=ee.call(arguments),l=(Ie.get(this,"events")||{})[e.type]||[],c=ce.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(a=ce.event.handlers.call(this,e,l),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((ce.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,l=e.target;if(s&&l.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(r=[],n=0;s>n;n++)o=t[n],i=o.selector+" ",void 0===r[i]&&(r[i]=o.needsContext?ce(i,this).index(l)>-1:ce.find(i,this,null,[l]).length),r[i]&&r.push(o);r.length&&a.push({elem:l,handlers:r})}return s<t.length&&a.push({elem:this,handlers:t.slice(s)}),a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which
wrapAll:function(e){var t;return ce.isFunction(e)?this.each(function(t){ce(this).wrapAll(e.call(this,t))}):(this[0]&&(t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return this.each(ce.isFunction(e)?function(t){ce(this).wrapInner(e.call(this,t))}:function(){var t=ce(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ce.isFunction(e);return this.each(function(n){ce(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){ce.nodeName(this,"body")||ce(this).replaceWith(this.childNodes)}).end()}}),ce.expr.filters.hidden=function(e){return!ce.expr.filters.visible(e)},ce.expr.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0};var zt=/%20/g,Ut=/\[\]$/,Dt=/\r?\n/g,Rt=/^(?:submit|button|image|reset|file)$/i,_t=/^(?:input|select|textarea|keygen)/i;ce.param=function(e,t){var n,r=[],i=function(e,t){t=ce.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=ce.ajaxSettings&&ce.ajaxSettings.traditional),ce.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){i(this.name,this.value)});else for(n in e)K(n,e[n],t,i);return r.join("&").replace(zt,"+")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,"elements");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(":disabled")&&_t.test(this.nodeName)&&!Rt.test(e)&&(this.checked||!_e.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:ce.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}}),ce.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var jt={0:200,1223:204},Nt=ce.ajaxSettings.xhr();se.cors=!!Nt&&"withCredentials"in Nt,se.ajax=Nt=!!Nt,ce.ajaxTransport(function(e){var t,r;return se.cors||Nt&&!e.crossDomain?{send:function(i,o){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(jt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(l){if(t)throw l}},abort:function(){t&&t()}}:void 0}),ce.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ce.globalEval(e),e}}}),ce.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ce.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=ce("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),Z.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Lt=[],Vt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Lt.pop()||ce.expando+"_"+vt++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,r){var i,o,a,s=e.jsonp!==!1&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlen
return t},t.deepCopy=function(e){if("object"!=typeof e||!e)return e;var n=e.constructor;if(n===RegExp)return e;var r=n();for(var i in e)"object"==typeof e[i]?r[i]=t.deepCopy(e[i]):r[i]=e[i];return r},t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){null==n&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=e("../lib/dom"),a=e("../lib/lang"),s=i.isChrome<18,l=i.isIE,c=function(e,t){function n(e){if(!g){if(g=!0,T)t=0,n=e?0:u.value.length-1;else var t=e?2:1,n=2;try{u.setSelectionRange(t,n)}catch(r){}g=!1}}function c(){g||(u.value=d,i.isWebKit&&v.schedule())}function A(){clearTimeout(V),V=setTimeout(function(){f&&(u.style.cssText=f,f=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},i.isOldIE?200:0)}var u=o.createElement("textarea");u.className="ace_text-input",i.isTouchPad&&u.setAttribute("x-palm-disable-auto-cap",!0),u.setAttribute("wrap","off"),u.setAttribute("autocorrect","off"),u.setAttribute("autocapitalize","off"),u.setAttribute("spellcheck",!1),u.style.opacity="0",i.isOldIE&&(u.style.top="-1000px"),e.insertBefore(u,e.firstChild);var d="",h=!1,p=!1,g=!1,f="",m=!0;try{var E=document.activeElement===u}catch(w){}r.addListener(u,"blur",function(e){t.onBlur(e),E=!1}),r.addListener(u,"focus",function(e){E=!0,t.onFocus(e),n()}),this.focus=function(){return f?u.focus():(u.style.position="fixed",u.style.top="-1000px",u.focus(),void setTimeout(function(){u.style.position=""},0))},this.blur=function(){u.blur()},this.isFocused=function(){return E};var B=a.delayedCall(function(){E&&n(m)}),v=a.delayedCall(function(){g||(u.value=d,E&&n())});i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=m&&(m=!m,B.schedule())}),c(),E&&t.onFocus();var b=function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length};if(!u.setSelectionRange&&u.createTextRange&&(u.setSelectionRange=function(e,t){var n=this.createTextRange();n.collapse(!0),n.moveStart("character",e),n.moveEnd("character",t),n.select()},b=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!(!t||t.parentElement()!=e)&&t.text==e.value}),i.isOldIE){var y=!1,M=function(e){if(!y){var t=u.value;if(!g&&t&&t!=d){if(e&&t==d[0])return x.schedule();Q(t),y=!0,c(),y=!1}}},x=a.delayedCall(M);r.addListener(u,"propertychange",M);var k={13:1,27:1};r.addListener(u,"keyup",function(e){return!g||u.value&&!k[e.keyCode]||setTimeout(N,0),(u.value.charCodeAt(0)||0)<129?x.call():void(g?j():_())}),r.addListener(u,"keydown",function(e){x.schedule(50)})}var C=function(e){h?h=!1:b(u)?(t.selectAll(),n()):T&&n(t.selection.isEmpty())},T=null;this.setInputHandler=function(e){T=e},this.getInputHandler=function(){return T};var I=!1,Q=function(e){T&&(e=T(e),T=null),p?(n(),e&&t.onPaste(e),p=!1):e==d.charAt(0)?I?t.execCommand("del",
var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),o=e.renderer;o.setCursorStyle(!i.isEmpty()&&i.insideStart(r.row,r.column)?"default":"")}})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new s(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;n&&n.length&&this.editor._emit(e,new s(t,this.editor))},this.onMouseWheel=function(e,t){var n=new s(t,this.editor);n.speed=2*this.$scrollSpeed,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var o=this,a=function(e){if(e){if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new s(e,o.editor),o.$mouseMoved=!0}},l=function(e){clearInterval(A),c(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",null==n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),o.isMousePressed=!1,o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e)},c=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout(function(){l(e)});o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,l);var A=setInterval(c,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&"contextmenu"!=t.domEvent.type||(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(A.prototype),c.defineOptions(A.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=A}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if("foldWidgets"==n){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if("foldWidgets"==n){var r=t.getDocumentPosition().row,i=e.session,o=i.getParentFoldRangeData(r,!0),a=o.range||o.firstRange;if(a){r=a.start.row;var s=i.getFoldAt(r,i.getLine(r).length,1);s?i.removeFold(s):(i.addFold("...",a),e.renderer.scrollCursorIntoView({row:a.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),o=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){"function"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);-1!=n&&this.$handlers.splice(n,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==n&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handle
Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-1751
column:0},r={action:"insertText",range:o.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(0==t.length)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:o.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){if(e instanceof o||(e=o.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end),e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=0==e.start.column?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t!=n){var r=new o(e,t,e,n),i=this.getLine(e),a=i.substring(t,n),s=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,s);var l={action:"removeText",range:r,text:a};return this._signal("change",{data:l}),r.start}},this.removeLines=function(e,t){return 0>e||t>=this.getLength()?this.remove(new o(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new o(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new o(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var a={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:a})},this.replace=function(e,t){if(e instanceof o||(e=o.fromPoints(e.start,e.end)),0==t.length&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;if(this.remove(e),t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=o.fromPoints(n.range.start,n.range.end);"insertLines"==n.action?this.insertLines(r.start.row,n.lines):"insertText"==n.action?this.insert(r.start,n.text):"removeLines"==n.action?this._removeLines(r.start.row,r.end.row-1):"removeText"==n.action&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=o.fromPoints(n.range.start,n.range.end);"insertLines"==n.action?this._removeLines(r.start.row,r.end.row-1):"insertText"==n.action?this.remove(r):"removeLines"==n.action?this._insertLines(r.start.row,n.lines):"removeText"==n.action&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=t||0,o=n.length;o>i;i++)if(e-=n[i].length+r,0>e)return{row:i,column:e+n[i].length+r};return{row:o-1,column:n[o-1].length}},this.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,o=Math.min(e.row,n.length),a=t||0;o>a;++a)i+=n[a].length+r;return i+e.column}}).call(s.prototype),t.Document=s}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,o=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(n.running){for(var e=new Date,t=n.currentLine,r=-1,i=n.doc;n.lines[t];)t++;var o=t,a=i.getLength(),s=0;for(n.running=!1;a>t;){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);if(s++,s%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r>=o&&n.fireUpdateEvent(o,r)}}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentL
this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,o={range:e,type:n||"line",renderer:"function"==typeof n?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=o,this._signal("changeFrontMarker")):(this.$backMarkers[i]=o,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(e.update){var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))}},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new d(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){"number"!=typeof t&&(n=t,t=e),n||(n="ace_step");var i=new c(e,0,t,1/0);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;if(t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe)),r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var o=t;if(o>0){do o--;while(o>=0&&n.charAt(o).match(i));o++}for(var a=t;a<n.length&&n.charAt(a).match(i);)a++;return new c(e,o,e,a)},this.getAWordRange=function(e,t){for(var n=this.getWordRange(e,t),r=this.getLine(n.end.row);r.charAt(n.end.column).match(/[ \t]/);)n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";return this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new l),this.$modes[r]&&!n?(this.$onChangeMode(this.$modes[r]),void(t&&t())):(this.$modeId=r,o.loadModule(["mode",r],function(e){return this.$modeId!==r?t&&t():(this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),void(t&&t()))}.bind(this)),void(this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)))},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(void 0!==n.addEventListener){var r=this.onReloadTokenizer.bind(this);n.addEventListener("update",r)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(n);else
e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:r("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:r("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:r("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:r("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:r("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:r("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:r("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:r("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:r("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:r("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:r("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:r("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:r("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:r("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:r("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:r("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:r("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:r("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:r("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:r(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:r("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:r(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey
var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var n,r,i=this.session.getLine(e.row);t<i.length?(n=i.charAt(t)+i.charAt(t-1),r=new h(e.row,t-1,e.row,t+1)):(n=i.charAt(t-1)+i.charAt(t-2),r=new h(e.row,t-2,e.row,t)),this.session.replace(r,n)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();return void e.indentRows(n.first,n.last," ")}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\s+$/.test(r)){var n=this.$getSelectedRows();return void e.indentRows(n.first,n.last," ")}}var i=e.getLine(t.start.row),a=t.start,s=e.getTabSize(),l=e.documentToScreenColumn(a.row,a.column);if(this.session.getUseSoftTabs())var c=s-l%s,A=o.stringRepeat(" ",c);else{for(var c=l%s;" "==i[t.start.column]&&c;)t.start.column--,c--;this.selection.setSelectionRange(t),A=" "}return this.insert(A)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(i=e.first;i<=e.last;i++)n.push(t.getLine(i));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});for(var r=new h(0,0,0,0),i=e.first;i<=e.last;i++){var o=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=o.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;for(var r=this.session.getLine(e);n.lastIndex<t;){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t){var o={value:i[0],start:i.index,end:i.index+i[0].length};return o}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new h(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var o=this.getNumberAt(t,n);if(o){var a=o.value.indexOf(".")>=0?o.start+o.value.indexOf(".")+1:o.end,s=o.start+o.value.length-a,l=parseFloat(o.value);l*=Math.pow(10,s),e*=a!==o.end&&a>n?Math.pow(10,o.end-n-1):Math.pow(10,o.end-n),l+=e,l/=Math.pow(10,s);var c=l.toFixed(s),A=new h(t,o.start,t,o.end);this.session.replace(A,c),this.moveCursorTo(t,Math.max(o.start+1,n+c.length-o.value.length))}}},this.removeLines=function(){var e,t=this.$getSelectedRows();e=0===t.first||t.last+1<this.session.getLength()?new h(t.first,0,t.last+1,0):new h(t.first-1,this.session.getLine(t.first-1).length,t.last,this.session.getLine(t.last).length),this.session.remove(e),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var o=r?n.start:n.end,a=t.insert(o,t.getTe
this.$renderWrappedLine=function(e,t,n,r){for(var i=0,o=0,a=n[0],s=0,l=0;l<t.length;l++){var c=t[l],A=c.value;if(0==l&&this.displayIndentGuides){if(i=A.length,A=this.renderIndentGuide(e,A,a),!A)continue;i-=A.length}if(i+A.length<a)s=this.$renderToken(e,s,c,A),i+=A.length;else{for(;i+A.length>=a;)s=this.$renderToken(e,s,c,A.substring(0,a-i)),A=A.substring(a-i),i=a,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),o++,s=0,a=n[o]||Number.MAX_VALUE;0!=A.length&&(i+=A.length,s=this.$renderToken(e,s,c,A))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var o=1;o<t.length;o++)r=t[o],i=r.value,n=this.$renderToken(e,n,r,i)},this.$renderLine=function(e,t,n,r){if(r||0==r||(r=this.session.getFoldLine(t)),r)var i=this.$getFoldLineTokens(t,r);else var i=this.session.getTokens(t);if(n||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>"),i.length){var o=this.session.getRowSplitData(t);o&&o.length?this.$renderWrappedLine(e,i,o,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){function n(e,t,n){for(var r=0,o=0;o+e[r].value.length<t;)if(o+=e[r].value.length,r++,r==e.length)return;if(o!=t){var a=e[r].value.substring(t-o);a.length>n-t&&(a=a.substring(0,n-t)),i.push({type:e[r].type,value:a}),o=t+a.length,r+=1}for(;n>o&&r<e.length;){var a=e[r].value;i.push(a.length+o>n?{type:e[r].type,value:a.substring(0,n-o)}:e[r]),o+=a.length,r+=1}}var r=this.session,i=[],o=r.getTokens(e);return t.walk(function(e,t,a,s,l){null!=e?i.push({type:"fold",value:e}):(l&&(o=r.getTokens(t)),o.length&&n(o,s,a))},t.end.row,this.session.getLine(t.end.row).length),i},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(s.prototype),t.Text=s}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r,i=e("../lib/dom"),o=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),void 0===r&&(r="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),i.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e==this.smoothBlinking||r||(this.smoothBlinking=e,i.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=(e?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var e=i.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,i.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,i.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$u
}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(0>t||t>e.height-i)return void(r.top=r.left="0");var o=this.characterWidth;if(this.$composition){var a=this.textarea.value.replace(/^\x01+/,"");o*=this.session.$getStringScreenWidth(a)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-o&&(n=this.$size.scrollerWidth-o),n+=this.gutterWidth,r.height=i+"px",r.width=o+"px",r.left=Math.min(n,this.$size.scrollerWidth-o)+"px",r.top=Math.min(t,this.$size.height-i)+"px"}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=0|e,i.bottom=0|t,i.right=0|r,i.left=0|n,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t)return void(this.$changes|=e);if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}return e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront
t.commands=h.defaultCommands.concat(h.multiSelectCommands);var p=e("./search").Search,g=new p,f=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(f.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var n=this.toOrientedRange();if(this.rangeList.add(n),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);return t?(this.$onRemoveRange(t),t[0]):void 0},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new s,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=l.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),i=n.start.row,o=n.end.row;if(i==o){if(r)var a=n.end,s=n.start;else var a=n.start,s=n.end;return this.addRange(l.fromPoints(s,s)),void this.addRange(l.fromPoints(a,a))}var c=[],A=this.getLineRange(i,!0);A.start.column=n.start.column,c.push(A);for(var u=i+1;o>u;u++)c.push(this.getLineRange(u,!0));A=this.getLineRange(o,!0),A.end.column=n.end.column,c.push(A),c.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=l.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),i=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,i);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],o=e.column<t.column;if(o)var a=e.column,s=t.column;else var a=t.column,s=e.column;var c=e.row<t.row;if(c)var A=e.row,u=t.row;else var A=t.row,u=e.row;0>a&&(a=0),0>A&&(A=0),A==u&&(n=!0);for(var d=A;u>=d;d++){var h=l.fromPoints(this.session.screenToDocumentPosition(d,a),this.session.screenToDocumentPosition(d,s));if(h.isEmpty()){if(p&&i(h.end,p))break;var p=h.end}h.cursor=o?h.start:h.end,r.push(h)}if(c&&r.reverse(),!n){for(var g=r.length-1;r[g].isEmpty()&&g>0;)g--;if(g>0)for(var f=0;r[f].isEmpty();)f++;for(var m=g;m>=f;m--)r[m].isEmpty()&&r.splice(m,1)}return r}}.call(c.prototype);var m=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);va
},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:r},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"const
next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(o,i),t.XmlHighlightRules=o}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),o=e("./css_highlight_rules").CssHighlightRules,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,l=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),c=function(){s.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(o,"css-","style"),this.embedTagRules(a,"js-","script"),this.constructor===c&&this.normalizeRules()};r.inherits(c,s),t.HtmlHighlightRules=c}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function r(e,t){return e.type.lastIndexOf(t+".xml")>-1}var i=e("../../lib/oop"),o=e("../behaviour").Behaviour,a=e("../../token_iterator").TokenIterator,s=(e("../../lib/lang"),function(){this.add("string_dquotes","insertion",function(e,t,n,i,o){if('"'==o||"'"==o){var s=o,l=i.doc.getTextRange(n.getSelectionRange());if(""!==l&&"'"!==l&&'"'!=l&&n.getWrapBehavioursEnabled())return{text:s+l+s,selection:!1};var c=n.getCursorPosition(),A=i.doc.getLine(c.row),u=A.substring(c.column,c.column+1),d=new a(i,c.row,c.column),h=d.getCurrentToken();if(u==s&&(r(h,"attribute-value")||r(h,"string")))return{text:"",selection:[1,1]};if(h||(h=d.stepBackward()),!h)return;for(;r(h,"tag-whitespace")||r(h,"whitespace");)h=d.stepBackward();var p=!u||u.match(/\s/);if(r(h,"attribute-equals")&&(p||">"==u)||r(h,"decl-attribute-equals")&&(p||"?"==u))return{text:s+s,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&('"'==o||"'"==o)){var a=r.doc.getLine(i.start.row),s=a.substring(i.start.column+1,i.start.column+2);if(s==o)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,i,o){if(">"==o){var s=n.getCursorPosition(),l=new a(i,s.row,s.column),c=l.getCurrentToken()||l.stepBackward();if(!c||!(r(c,"tag-name")||r(c,"tag-whitespace")||r(c,"attribute-name")||r(c,"attribute-equals")||r(c,"attribute-value")))return;if(r(c,"reference.attribute-value"))return;if(r(c,"attribute-value")){var A=c.value.charAt(0);if('"'==A||"'"==A){var u=c.value.charAt(c.value.length-1),d=l.getCurrentTokenColumn()+c.value.length;if(d>s.column||d==s.column&&A!=u)return}}for(;!r(c,"tag-name");)c=l.stepBackward();var h=l.getCurrentTokenRow(),p=l.getCurrentTokenColumn();if(r(l.stepBackward(),"end-tag-open"))return;var g=c.value;if(h==s.row&&(g=g.substring(0,s.column-p)),this
},function(e,t){e.exports.id="ace/mode/css_worker",e.exports.src='"no use strict";(function(window){if(void 0===window.window||!window.document){window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console,window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:"error",data:{message:message,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf("!")){var chunks=moduleName.split("!");return window.normalizeModule(parentId,chunks[0])+"!"+window.normalizeModule(parentId,chunks[1])}if("."==moduleName.charAt(0)){var base=parentId.split("/").slice(0,-1).join("/");for(moduleName=(base?base+"/":"")+moduleName;-1!==moduleName.indexOf(".")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,"").replace(/\\/\\.\\//,"/").replace(/[^\\/]+\\/\\.\\.\\//,"")}}return moduleName},window.acequire=function(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error("worker.js acequire() accepts only (parentId, id) as arguments");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;var chunks=id.split("/");if(!window.acequire.tlns)return console.log("unable to load "+id);chunks[0]=window.acequire.tlns[chunks[0]]||chunks[0];var path=chunks.join("/")+".js";return window.acequire.id=id,importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,"string"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),"function"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=["require","exports","module"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case"require":return req;case"exports":return module.exports;case"module":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},window.initBaseUrls=function initBaseUrls(topLevelNamespaces){acequire.tlns=topLevelNamespaces},window.initSender=function initSender(){var EventEmitter=window.acequire("ace/lib/event_emitter").EventEmitter,oop=window.acequire("ace/lib/oop"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:"call",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:"event",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.command){if(!main[msg.command])throw Error("Unknown command:"+msg.command);main[msg.command].apply(main,msg.args)}else if(msg.init){initBaseUrls(msg.tlns),acequire("ace/lib/es5-shim"),sender=window.sender=initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}else msg.event&&sender&&sender._signal(msg.event,msg.data)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(acequire,exports){"use strict";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define("ace/lib/lang",["require","exports","module"],function(acequire,exports){"use strict";exports.last=function(a){return a[a.length-1]},exports.stringReverse=functi
},function(e,t){e.exports.id="ace/mode/html_worker",e.exports.src='"no use strict";(function(window){if(void 0===window.window||!window.document){window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console,window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:"error",data:{message:message,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf("!")){var chunks=moduleName.split("!");return window.normalizeModule(parentId,chunks[0])+"!"+window.normalizeModule(parentId,chunks[1])}if("."==moduleName.charAt(0)){var base=parentId.split("/").slice(0,-1).join("/");for(moduleName=(base?base+"/":"")+moduleName;-1!==moduleName.indexOf(".")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,"").replace(/\\/\\.\\//,"/").replace(/[^\\/]+\\/\\.\\.\\//,"")}}return moduleName},window.acequire=function(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error("worker.js acequire() accepts only (parentId, id) as arguments");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;var chunks=id.split("/");if(!window.acequire.tlns)return console.log("unable to load "+id);chunks[0]=window.acequire.tlns[chunks[0]]||chunks[0];var path=chunks.join("/")+".js";return window.acequire.id=id,importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,"string"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),"function"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=["require","exports","module"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case"require":return req;case"exports":return module.exports;case"module":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},window.initBaseUrls=function initBaseUrls(topLevelNamespaces){acequire.tlns=topLevelNamespaces},window.initSender=function initSender(){var EventEmitter=window.acequire("ace/lib/event_emitter").EventEmitter,oop=window.acequire("ace/lib/oop"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:"call",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:"event",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.command){if(!main[msg.command])throw Error("Unknown command:"+msg.command);main[msg.command].apply(main,msg.args)}else if(msg.init){initBaseUrls(msg.tlns),acequire("ace/lib/es5-shim"),sender=window.sender=initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}else msg.event&&sender&&sender._signal(msg.event,msg.data)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(acequire,exports){"use strict";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define("ace/lib/lang",["require","exports","module"],function(acequire,exports){"use strict";exports.last=function(a){return a[a.length-1]},exports.stringReverse=funct
},function(e,t){ace.define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-vibrant-ink",t.cssText=".ace-vibrant-ink .ace_gutter { background: #1a1a1a; color: #BEBEBE } .ace-vibrant-ink .ace_print-margin { width: 1px; background: #1a1a1a } .ace-vibrant-ink { background-color: #0F0F0F; color: #FFFFFF } .ace-vibrant-ink .ace_cursor { color: #FFFFFF } .ace-vibrant-ink .ace_marker-layer .ace_selection { background: #6699CC } .ace-vibrant-ink.ace_multiselect .ace_selection.ace_start { box-shadow: 0 0 3px 0px #0F0F0F; border-radius: 2px } .ace-vibrant-ink .ace_marker-layer .ace_step { background: rgb(102, 82, 0) } .ace-vibrant-ink .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #404040 } .ace-vibrant-ink .ace_marker-layer .ace_active-line { background: #333333 } .ace-vibrant-ink .ace_gutter-active-line { background-color: #333333 } .ace-vibrant-ink .ace_marker-layer .ace_selected-word { border: 1px solid #6699CC } .ace-vibrant-ink .ace_invisible { color: #404040 } .ace-vibrant-ink .ace_keyword, .ace-vibrant-ink .ace_meta { color: #FF6600 } .ace-vibrant-ink .ace_constant, .ace-vibrant-ink .ace_constant.ace_character, .ace-vibrant-ink .ace_constant.ace_character.ace_escape, .ace-vibrant-ink .ace_constant.ace_other { color: #339999 } .ace-vibrant-ink .ace_constant.ace_numeric { color: #99CC99 } .ace-vibrant-ink .ace_invalid, .ace-vibrant-ink .ace_invalid.ace_deprecated { color: #CCFF33; background-color: #000000 } .ace-vibrant-ink .ace_fold { background-color: #FFCC00; border-color: #FFFFFF } .ace-vibrant-ink .ace_entity.ace_name.ace_function, .ace-vibrant-ink .ace_support.ace_function, .ace-vibrant-ink .ace_variable { color: #FFCC00 } .ace-vibrant-ink .ace_variable.ace_parameter { font-style: italic } .ace-vibrant-ink .ace_string { color: #66FF00 } .ace-vibrant-ink .ace_string.ace_regexp { color: #44B4CC } .ace-vibrant-ink .ace_comment { color: #9933CC } .ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name { font-style: italic; color: #99CC99 } .ace-vibrant-ink .ace_indent-guide { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYNDTc/oPAALPAZ7hxlbYAAAAAElFTkSuQmCC) right repeat-y }";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})},function(e,t){ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/lang"),o=e("../lib/event"),a=" .ace_search { background-color: #ddd; border: 1px solid #cbcbcb; border-top: 0 none; max-width: 325px; overflow: hidden; margin: 0; padding: 4px; padding-right: 6px; padding-bottom: 0; position: absolute; top: 0px; z-index: 99; white-space: normal; } .ace_search.left { border-left: 0 none; border-radius: 0px 0px 5px 0px; left: 0; } .ace_search.right { border-radius: 0px 0px 0px 5px; border-right: 0 none; right: 0; } .ace_search_form, .ace_replace_form { border-radius: 3px; border: 1px solid #cbcbcb; float: left; margin-bottom: 4px; overflow: hidden; } .ace_search_form.ace_nomatch { outline: 1px solid red; } .ace_search_field { background-color: white; border-right: 1px solid #cbcbcb; border: 0 none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; float: left; height: 22px; outline: 0; padding: 0 7px; width: 214px; margin: 0; } .ace_searchbtn, .ace_replacebtn { background: #fff; border: 0 none; border-left: 1px solid #dcdcdc; cursor: pointer; float: left; height: 22px; margin: 0; padding: 0; position: relative; } .ace_searchbtn:last-child, .ace_replacebtn:last-child { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .ace_searchbtn:disabled { background: none; cursor: default; } .ace_searchbtn { background-position: 50% 50%; background-repeat: no-repeat; width: 27px; } .ace_searchbtn.prev { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFU
</head>
<body>
<div class="background"></div>
<canvas class="canvas-overlay"></canvas>
<pre id="editor"></pre>
<div class="streak-container">
<div class="current">Combo</div>
<div class="counter">0</div>
<div class="bar"></div>
<div class="exclamations"></div>
</div>
<div class="reference-screenshot-container">
<span>Reference</span>
<div class="reference-screenshot" style="background-image:url(assets/page.png);"></div>
</div>
<div class="name-tag">
Unnamed
</div>
<div class="power-mode-indicator">
<h1>POWER MODE!</h1>
</div>
<div class="instructions-container">
<iframe class="instructions" src="assets/instructions.html"></iframe>
</div>
<div class="button-bar">
<button class="finish-button">Finish</button>
<button class="instructions-button">Instructions</button>
</div>
<iframe class="result" src="assets/result.html" frameborder="0"><iframe>
</body>
</html>