iobroker.admin 7.6.3 → 7.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -4
- package/admin/custom/assets/AdminComponentEasyAccessSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DnBKtZGU.js +1 -0
- package/admin/custom/assets/AdminComponentEasyAccessSet__loadShare__react__loadShare__-CEWlgS6L.js +1 -0
- package/admin/custom/assets/AdminComponentEasyAccessSet__loadShare__react_mf_2_dom__loadShare__-BaTCLP1q.js +1 -0
- package/admin/custom/assets/Components-BGVs6Dmn.js +1 -0
- package/admin/custom/assets/TextField-ChPwodvp.js +109 -0
- package/admin/custom/assets/_commonjsHelpers-D6-XlEtG.js +1 -0
- package/admin/custom/assets/bootstrap-CTERJrgr.js +1 -0
- package/admin/custom/assets/createSvgIcon-D2osie2l.js +7 -0
- package/admin/custom/assets/defaultTheme-CFicWEn0.js +16 -0
- package/admin/custom/assets/hostInit-DAQ2zgXM.js +1 -1
- package/admin/custom/assets/index-BqaC8TTV.js +1397 -0
- package/admin/custom/assets/index-BwCOsmBT.js +31 -0
- package/admin/custom/assets/index-C9L9KccV.js +779 -0
- package/admin/custom/assets/index-CGID5h1b.js +779 -0
- package/{adminWww/assets/index-Di7Jseht.js → admin/custom/assets/index-Co3YA5NW.js} +1 -1
- package/admin/custom/assets/index-DIVai5gZ.js +119 -0
- package/admin/custom/assets/index-DrWcIcrD.js +1 -0
- package/admin/custom/assets/index-IIKn7Ixx.js +1 -0
- package/admin/custom/assets/index-PIXQ0sh_.js +2 -0
- package/admin/custom/assets/index-eQxyhk2m.js +24 -0
- package/admin/custom/assets/jsx-runtime-Bhtgc1Ek.js +9 -0
- package/admin/custom/assets/useTheme-COyz47gO.js +1 -0
- package/admin/custom/assets/virtualExposes-BufY-8i6.js +2 -0
- package/admin/custom/customComponents.js +2 -2
- package/admin/i18n/{de/translations.json → de.json} +35 -34
- package/admin/i18n/{en/translations.json → en.json} +38 -37
- package/admin/i18n/{es/translations.json → es.json} +39 -38
- package/admin/i18n/{fr/translations.json → fr.json} +39 -38
- package/admin/i18n/{it/translations.json → it.json} +39 -38
- package/admin/i18n/{nl/translations.json → nl.json} +39 -38
- package/admin/i18n/{pl/translations.json → pl.json} +39 -38
- package/admin/i18n/{pt/translations.json → pt.json} +39 -38
- package/admin/i18n/{ru/translations.json → ru.json} +39 -38
- package/admin/i18n/{uk/translations.json → uk.json} +7 -6
- package/admin/i18n/{zh-cn/translations.json → zh-cn.json} +39 -38
- package/admin/jsonConfig.json5 +9 -0
- package/adminWww/assets/{AdapterUpdateDialog-CRermRaB.js → AdapterUpdateDialog-D5A35Ofn.js} +1 -1
- package/adminWww/assets/{Adapters-Bs8G-cxo.js → Adapters-QfGvr9Xv.js} +1 -1
- package/adminWww/assets/{Config-Di_mkCPb.js → Config-J_9jPJSh.js} +1 -1
- package/adminWww/assets/{CustomModal-BTTKhEC8.js → CustomModal-_hsT1UfZ.js} +1 -1
- package/adminWww/assets/{CustomTab-D6Mn63bB.js → CustomTab-k0r6if9B.js} +1 -1
- package/adminWww/assets/{DefaultPropsProvider-Beyggw1o.js → DefaultPropsProvider-BrbE0teb.js} +2 -2
- package/adminWww/assets/{EasyMode-DKcbIjJ6.js → EasyMode-BR5t1u_s.js} +1 -1
- package/adminWww/assets/{Enums-uOeKEKzl.js → Enums-DyPrfI2O.js} +1 -1
- package/adminWww/assets/{Fields-TuYhaeX9.js → Fields-Vpif7eQH.js} +1 -1
- package/adminWww/assets/{Files-BhPaQLPw.js → Files-XKQDh_3j.js} +1 -1
- package/adminWww/assets/FilledInput-D-tz8rvg.js +2 -0
- package/adminWww/assets/{Hosts-BNvz1qdC.js → Hosts-Dt3S3r7E.js} +1 -1
- package/adminWww/assets/Instances-Da-mNkXP.js +2 -0
- package/adminWww/assets/{Intro-Dih9urjd.js → Intro-pr1AT7Gn.js} +1 -1
- package/adminWww/assets/{Logs-C8bVKj2s.js → Logs-CoAIXCkZ.js} +1 -1
- package/adminWww/assets/{Objects-CD7n6XMI.js → Objects-CwBnoFN-.js} +1 -1
- package/adminWww/assets/{State-Bs4eLVUn.js → State-XZNqqv8y.js} +1 -1
- package/adminWww/assets/{Tabs-C57_YqtR.js → Tabs-CFvfAcjP.js} +10 -10
- package/adminWww/assets/{Users-DMJv0VQ1.js → Users-y0PgSeFL.js} +1 -1
- package/adminWww/assets/_commonjsHelpers-D6-XlEtG.js +1 -0
- package/adminWww/assets/ace-B1YQ8uqS.js +980 -0
- package/adminWww/assets/blueGrey-B0oIowPK.js +29 -0
- package/adminWww/assets/{bootstrap-DF1rNJUh.js → bootstrap-FVlt-hkS.js} +90 -91
- package/adminWww/assets/{createSvgIcon-DHNqxcCi.js → createSvgIcon-DH-uXnd0.js} +1 -1
- package/adminWww/assets/{emotion-react.browser.esm-DHkeNZGw.js → emotion-react.browser.esm-DApPKwaj.js} +1 -1
- package/adminWww/assets/{emotion-styled.browser.esm-DkldMRyw.js → emotion-styled.browser.esm-Dc05hmeu.js} +1 -1
- package/adminWww/assets/{emotion-utils.browser.esm-CKteYtrd.js → emotion-utils.browser.esm-DOjH6Olm.js} +1 -1
- package/adminWww/assets/{geosearch.module-cgRkjHe4.js → geosearch.module-CWfRtxrN.js} +1 -1
- package/adminWww/assets/{iconBase-CxzgaDaB.js → iconBase-CgxZ5MMC.js} +1 -1
- package/adminWww/assets/{index-ChNtEgbM.js → index-BN8A2xkW.js} +1 -1
- package/adminWww/assets/{index-DGeySK-Q.js → index-BXSb0Ud9.js} +2 -2
- package/adminWww/assets/index-Bj8P5tgE.js +55 -0
- package/adminWww/assets/{index-C3WYIc6x.js → index-Bsv_DXxB.js} +1 -1
- package/adminWww/assets/{index-SuMq84bM.js → index-C1TmeS7j.js} +1 -1
- package/adminWww/assets/{index-BMTRswnc.js → index-CJvbfjSs.js} +1 -1
- package/adminWww/assets/index-Cm4u8yKm.js +7 -0
- package/adminWww/assets/index-Co3YA5NW.js +9 -0
- package/adminWww/assets/{index-DgvYPGcD.js → index-D7Rlw-5R.js} +1 -1
- package/adminWww/assets/{index-BmaLPlND.js → index-DiMYzxTU.js} +1 -1
- package/adminWww/assets/{index-CFcKrkeG.js → index-HOidq_rM.js} +1 -1
- package/adminWww/assets/{index-Dhk9onlg.js → index-gHyOgbGJ.js} +1 -1
- package/adminWww/assets/{iobroker_admin__loadShare__leaflet__loadShare__-FMqZHPyC.js → iobroker_admin__loadShare__leaflet__loadShare__-B1OZ7tj-.js} +1 -1
- package/adminWww/assets/{iobroker_admin__loadShare__prop_mf_2_types__loadShare__-C8Lvs8Es.js → iobroker_admin__loadShare__prop_mf_2_types__loadShare__-BGyJCibC.js} +1 -1
- package/adminWww/assets/{iobroker_admin__loadShare__react__loadShare__-T96CJO0k.js → iobroker_admin__loadShare__react__loadShare__-DtlEM_52.js} +1 -1
- package/adminWww/assets/{leaflet-src-CnimXdd7.js → leaflet-src-A2ZHl6nF.js} +1 -1
- package/adminWww/assets/{sentry-ClQ-PGjf.js → sentry-AXxoSb7Q.js} +1 -1
- package/adminWww/assets/{zh-cn-DrUOm-Ho.js → zh-cn-49uPQVT0.js} +1 -1
- package/adminWww/index.html +1 -1
- package/adminWww/mf-manifest.json +1 -1
- package/adminWww/remoteEntry.js +2 -2
- package/build-backend/lib/utils.js +10 -10
- package/build-backend/lib/utils.js.map +1 -1
- package/build-backend/lib/web.js +7 -1
- package/build-backend/lib/web.js.map +1 -1
- package/build-backend/main.js +4 -1
- package/build-backend/main.js.map +1 -1
- package/io-package.json +17 -14
- package/package.json +10 -11
- package/adminWww/assets/FilledInput-Bfz0Aef-.js +0 -2
- package/adminWww/assets/Instances-L7eZoDyM.js +0 -2
- package/adminWww/assets/_commonjsHelpers-BosuxZz1.js +0 -1
- package/adminWww/assets/ace-BAuRYJjv.js +0 -978
- package/adminWww/assets/blueGrey-BKTirx-Z.js +0 -29
- package/adminWww/assets/index-Cmq0Omjs.js +0 -55
- package/adminWww/assets/index-lAM5Xnu_.js +0 -7
|
@@ -1,978 +0,0 @@
|
|
|
1
|
-
var ye={exports:{}};(function(pe,$e){(function(){var k="ace",x=function(){return this}();!x&&typeof window<"u"&&(x=window);var z=function(r,o,n){if(typeof r!="string"){z.original?z.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(n=o),z.modules[r]||(z.payloads[r]=n,z.modules[r]=null)};z.modules={},z.payloads={};var T=function(r,o,n){if(typeof o=="string"){var t=l(r,o);if(t!=null)return n&&n(),t}else if(Object.prototype.toString.call(o)==="[object Array]"){for(var e=[],i=0,s=o.length;i<s;++i){var c=l(r,o[i]);if(c==null&&A.original)return;e.push(c)}return n&&n.apply(null,e)||!0}},A=function(r,o){var n=T("",r,o);return n==null&&A.original?A.original.apply(this,arguments):n},C=function(r,o){if(o.indexOf("!")!==-1){var n=o.split("!");return C(r,n[0])+"!"+C(r,n[1])}if(o.charAt(0)=="."){var t=r.split("/").slice(0,-1).join("/");for(o=t+"/"+o;o.indexOf(".")!==-1&&e!=o;){var e=o;o=o.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return o},l=function(r,o){o=C(r,o);var n=z.modules[o];if(!n){if(n=z.payloads[o],typeof n=="function"){var t={},e={id:o,uri:"",exports:t,packaged:!0},i=function(c,h){return T(o,c,h)},s=n(i,t,e);t=s||e.exports,z.modules[o]=t,delete z.payloads[o]}n=z.modules[o]=t||n}return n};function u(r){var o=x;x[r]||(x[r]={}),o=x[r],(!o.define||!o.define.packaged)&&(z.original=o.define,o.define=z,o.define.packaged=!0),(!o.require||!o.require.packaged)&&(A.original=o.require,o.require=A,o.require.packaged=!0)}u(k)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(k,x,z){function T(A,C,l){Object.defineProperty(A,C,{value:l,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||T(String.prototype,"startsWith",function(A,C){return C=C||0,this.lastIndexOf(A,C)===C}),String.prototype.endsWith||T(String.prototype,"endsWith",function(A,C){var l=this;(C===void 0||C>l.length)&&(C=l.length),C-=A.length;var u=l.indexOf(A,C);return u!==-1&&u===C}),String.prototype.repeat||T(String.prototype,"repeat",function(A){for(var C="",l=this;A>0;)A&1&&(C+=l),(A>>=1)&&(l+=l);return C}),String.prototype.includes||T(String.prototype,"includes",function(A,C){return this.indexOf(A,C)!=-1}),Object.assign||(Object.assign=function(A){if(A==null)throw new TypeError("Cannot convert undefined or null to object");for(var C=Object(A),l=1;l<arguments.length;l++){var u=arguments[l];u!=null&&Object.keys(u).forEach(function(r){C[r]=u[r]})}return C}),Object.values||(Object.values=function(A){return Object.keys(A).map(function(C){return A[C]})}),Array.prototype.find||T(Array.prototype,"find",function(A){for(var C=this.length,l=arguments[1],u=0;u<C;u++){var r=this[u];if(A.call(l,r,u,this))return r}}),Array.prototype.findIndex||T(Array.prototype,"findIndex",function(A){for(var C=this.length,l=arguments[1],u=0;u<C;u++){var r=this[u];if(A.call(l,r,u,this))return u}}),Array.prototype.includes||T(Array.prototype,"includes",function(A,C){return this.indexOf(A,C)!=-1}),Array.prototype.fill||T(Array.prototype,"fill",function(A){for(var C=this,l=C.length>>>0,u=arguments[1],r=u>>0,o=r<0?Math.max(l+r,0):Math.min(r,l),n=arguments[2],t=n===void 0?l:n>>0,e=t<0?Math.max(l+t,0):Math.min(t,l);o<e;)C[o]=A,o++;return C}),Array.of||T(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(k,x,z){k("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(k,x,z){x.deepCopy=function T(A){if(typeof A!="object"||!A)return A;var C;if(Array.isArray(A)){C=[];for(var l=0;l<A.length;l++)C[l]=T(A[l]);return C}if(Object.prototype.toString.call(A)!=="[object Object]")return A;C={};for(var l in A)C[l]=T(A[l]);return C}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(k,x,z){x.last=function(C){return C[C.length-1]},x.stringReverse=function(C){return C.split("").reverse().join("")},x.stringRepeat=function(C,l){for(var u="";l>0;)l&1&&(u+=C),(l>>=1)&&(C+=C);return u};var T=/^\s\s*/,A=/\s\s*$/;x.stringTrimLeft=function(C){return C.replace(T,"")},x.stringTrimRight=function(C){return C.replace(A,"")},x.copyObject=function(C){var l={};for(var u in C)l[u]=C[u];return l},x.copyArray=function(C){for(var l=[],u=0,r=C.length;u<r;u++)C[u]&&typeof C[u]=="object"?l[u]=this.copyObject(C[u]):l[u]=C[u];return l},x.deepCopy=k("./deep_copy").deepCopy,x.arrayToMap=function(C){for(var l={},u=0;u<C.length;u++)l[C[u]]=1;return l},x.createMap=function(C){var l=Object.create(null);for(var u in C)l[u]=C[u];return l},x.arrayRemove=function(C,l){for(var u=0;u<=C.length;u++)l===C[u]&&C.splice(u,1)},x.escapeRegExp=function(C){return C.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},x.escapeHTML=function(C){return(""+C).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},x.getMatchOffsets=function(C,l){var u=[];return C.replace(l,function(r){u.push({offset:arguments[arguments.length-2],length:r.length})}),u},x.deferredCall=function(C){var l=null,u=function(){l=null,C()},r=function(o){return r.cancel(),l=setTimeout(u,o||0),r};return r.schedule=r,r.call=function(){return this.cancel(),C(),r},r.cancel=function(){return clearTimeout(l),l=null,r},r.isPending=function(){return l},r},x.delayedCall=function(C,l){var u=null,r=function(){u=null,C()},o=function(n){u==null&&(u=setTimeout(r,n||l))};return o.delay=function(n){u&&clearTimeout(u),u=setTimeout(r,n||l)},o.schedule=o,o.call=function(){this.cancel(),C()},o.cancel=function(){u&&clearTimeout(u),u=null},o.isPending=function(){return u},o},x.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},x.skipEmptyMatch=function(C,l,u){return u&&C.codePointAt(l)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(k,x,z){x.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},x.getOS=function(){return x.isMac?x.OS.MAC:x.isLinux?x.OS.LINUX:x.OS.WINDOWS};var T=typeof navigator=="object"?navigator:{},A=(/mac|win|linux/i.exec(T.platform)||["other"])[0].toLowerCase(),C=T.userAgent||"",l=T.appName||"";x.isWin=A=="win",x.isMac=A=="mac",x.isLinux=A=="linux",x.isIE=l=="Microsoft Internet Explorer"||l.indexOf("MSAppHost")>=0?parseFloat((C.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((C.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),x.isOldIE=x.isIE&&x.isIE<9,x.isGecko=x.isMozilla=C.match(/ Gecko\/\d+/),x.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",x.isWebKit=parseFloat(C.split("WebKit/")[1])||void 0,x.isChrome=parseFloat(C.split(" Chrome/")[1])||void 0,x.isSafari=parseFloat(C.split(" Safari/")[1])&&!x.isChrome||void 0,x.isEdge=parseFloat(C.split(" Edge/")[1])||void 0,x.isAIR=C.indexOf("AdobeAIR")>=0,x.isAndroid=C.indexOf("Android")>=0,x.isChromeOS=C.indexOf(" CrOS ")>=0,x.isIOS=/iPad|iPhone|iPod/.test(C)&&!window.MSStream,x.isIOS&&(x.isMac=!0),x.isMobile=x.isIOS||x.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(k,x,z){var T=k("./useragent"),A="http://www.w3.org/1999/xhtml";x.buildDom=function n(t,e,i){if(typeof t=="string"&&t){var s=document.createTextNode(t);return e&&e.appendChild(s),s}if(!Array.isArray(t))return t&&t.appendChild&&e&&e.appendChild(t),t;if(typeof t[0]!="string"||!t[0]){for(var c=[],h=0;h<t.length;h++){var m=n(t[h],e,i);m&&c.push(m)}return c}var v=document.createElement(t[0]),p=t[1],g=1;p&&typeof p=="object"&&!Array.isArray(p)&&(g=2);for(var h=g;h<t.length;h++)n(t[h],v,i);return g==2&&Object.keys(p).forEach(function(w){var M=p[w];w==="class"?v.className=Array.isArray(M)?M.join(" "):M:typeof M=="function"||w=="value"||w[0]=="$"?v[w]=M:w==="ref"?i&&(i[M]=v):w==="style"?typeof M=="string"&&(v.style.cssText=M):M!=null&&v.setAttribute(w,M)}),e&&e.appendChild(v),v},x.getDocumentHead=function(n){return n||(n=document),n.head||n.getElementsByTagName("head")[0]||n.documentElement},x.createElement=function(n,t){return document.createElementNS?document.createElementNS(t||A,n):document.createElement(n)},x.removeChildren=function(n){n.innerHTML=""},x.createTextNode=function(n,t){var e=t?t.ownerDocument:document;return e.createTextNode(n)},x.createFragment=function(n){var t=n?n.ownerDocument:document;return t.createDocumentFragment()},x.hasCssClass=function(n,t){var e=(n.className+"").split(/\s+/g);return e.indexOf(t)!==-1},x.addCssClass=function(n,t){x.hasCssClass(n,t)||(n.className+=" "+t)},x.removeCssClass=function(n,t){for(var e=n.className.split(/\s+/g);;){var i=e.indexOf(t);if(i==-1)break;e.splice(i,1)}n.className=e.join(" ")},x.toggleCssClass=function(n,t){for(var e=n.className.split(/\s+/g),i=!0;;){var s=e.indexOf(t);if(s==-1)break;i=!1,e.splice(s,1)}return i&&e.push(t),n.className=e.join(" "),i},x.setCssClass=function(n,t,e){e?x.addCssClass(n,t):x.removeCssClass(n,t)},x.hasCssString=function(n,t){var e=0,i;if(t=t||document,i=t.querySelectorAll("style")){for(;e<i.length;)if(i[e++].id===n)return!0}},x.removeElementById=function(n,t){t=t||document,t.getElementById(n)&&t.getElementById(n).remove()};var C,l=[];x.useStrictCSP=function(n){C=n,n==!1?u():l||(l=[])};function u(){var n=l;l=null,n&&n.forEach(function(t){r(t[0],t[1])})}function r(n,t,e){if(!(typeof document>"u")){if(l){if(e)u();else if(e===!1)return l.push([n,t])}if(!C){var i=e;!e||!e.getRootNode?i=document:(i=e.getRootNode(),(!i||i==e)&&(i=document));var s=i.ownerDocument||i;if(t&&x.hasCssString(t,i))return null;t&&(n+=`
|
|
2
|
-
/*# sourceURL=ace/css/`+t+" */");var c=x.createElement("style");c.appendChild(s.createTextNode(n)),t&&(c.id=t),i==s&&(i=x.getDocumentHead(s)),i.insertBefore(c,i.firstChild)}}}if(x.importCssString=r,x.importCssStylsheet=function(n,t){x.buildDom(["link",{rel:"stylesheet",href:n}],x.getDocumentHead(t))},x.scrollbarWidth=function(n){var t=x.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=x.createElement("ace_outer"),i=e.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",e.appendChild(t);var s=n&&n.documentElement||document&&document.documentElement;if(!s)return 0;s.appendChild(e);var c=t.offsetWidth;i.overflow="scroll";var h=t.offsetWidth;return c===h&&(h=e.clientWidth),s.removeChild(e),c-h},x.computedStyle=function(n,t){return window.getComputedStyle(n,"")||{}},x.setStyle=function(n,t,e){n[t]!==e&&(n[t]=e)},x.HAS_CSS_ANIMATION=!1,x.HAS_CSS_TRANSFORMS=!1,x.HI_DPI=T.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,T.isChromeOS&&(x.HI_DPI=!1),typeof document<"u"){var o=document.createElement("div");x.HI_DPI&&o.style.transform!==void 0&&(x.HAS_CSS_TRANSFORMS=!0),!T.isEdge&&typeof o.style.animationName<"u"&&(x.HAS_CSS_ANIMATION=!0),o=null}x.HAS_CSS_TRANSFORMS?x.translate=function(n,t,e){n.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:x.translate=function(n,t,e){n.style.top=Math.round(e)+"px",n.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(k,x,z){/*
|
|
3
|
-
* based on code from:
|
|
4
|
-
*
|
|
5
|
-
* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
|
6
|
-
* Available via the MIT or new BSD license.
|
|
7
|
-
* see: http://github.com/jrburke/requirejs for details
|
|
8
|
-
*/var T=k("./dom");x.get=function(A,C){var l=new XMLHttpRequest;l.open("GET",A,!0),l.onreadystatechange=function(){l.readyState===4&&C(l.responseText)},l.send(null)},x.loadScript=function(A,C){var l=T.getDocumentHead(),u=document.createElement("script");u.src=A,l.appendChild(u),u.onload=u.onreadystatechange=function(r,o){(o||!u.readyState||u.readyState=="loaded"||u.readyState=="complete")&&(u=u.onload=u.onreadystatechange=null,o||C())}},x.qualifyURL=function(A){var C=document.createElement("a");return C.href=A,C.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(k,x,z){x.inherits=function(T,A){T.super_=A,T.prototype=Object.create(A.prototype,{constructor:{value:T,enumerable:!1,writable:!0,configurable:!0}})},x.mixin=function(T,A){for(var C in A)T[C]=A[C];return T},x.implement=function(T,A){x.mixin(T,A)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(k,x,z){var T={},A=function(){this.propagationStopped=!0},C=function(){this.defaultPrevented=!0};T._emit=T._dispatchEvent=function(l,u){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var r=this._eventRegistry[l]||[],o=this._defaultHandlers[l];if(!(!r.length&&!o)){(typeof u!="object"||!u)&&(u={}),u.type||(u.type=l),u.stopPropagation||(u.stopPropagation=A),u.preventDefault||(u.preventDefault=C),r=r.slice();for(var n=0;n<r.length&&(r[n](u,this),!u.propagationStopped);n++);if(o&&!u.defaultPrevented)return o(u,this)}},T._signal=function(l,u){var r=(this._eventRegistry||{})[l];if(r){r=r.slice();for(var o=0;o<r.length;o++)r[o](u,this)}},T.once=function(l,u){var r=this;if(this.on(l,function o(){r.off(l,o),u.apply(null,arguments)}),!u)return new Promise(function(o){u=o})},T.setDefaultHandler=function(l,u){var r=this._defaultHandlers;if(r||(r=this._defaultHandlers={_disabled_:{}}),r[l]){var o=r[l],n=r._disabled_[l];n||(r._disabled_[l]=n=[]),n.push(o);var t=n.indexOf(u);t!=-1&&n.splice(t,1)}r[l]=u},T.removeDefaultHandler=function(l,u){var r=this._defaultHandlers;if(r){var o=r._disabled_[l];if(r[l]==u)o&&this.setDefaultHandler(l,o.pop());else if(o){var n=o.indexOf(u);n!=-1&&o.splice(n,1)}}},T.on=T.addEventListener=function(l,u,r){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[l];return o||(o=this._eventRegistry[l]=[]),o.indexOf(u)==-1&&o[r?"unshift":"push"](u),u},T.off=T.removeListener=T.removeEventListener=function(l,u){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[l];if(r){var o=r.indexOf(u);o!==-1&&r.splice(o,1)}},T.removeAllListeners=function(l){l||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[l]=void 0),this._defaultHandlers&&(this._defaultHandlers[l]=void 0)},x.EventEmitter=T}),ace.define("ace/lib/report_error",["require","exports","module"],function(k,x,z){x.reportError=function(A,C){var l=new Error(A);l.data=C,typeof console=="object"&&console.error&&console.error(l),setTimeout(function(){throw l})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(k,x,z){var T={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions"};x.defaultEnglishMessages=T}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(k,x,z){"no use strict";var T=k("./oop"),A=k("./event_emitter").EventEmitter,C=k("./report_error").reportError,l=k("./default_english_messages").defaultEnglishMessages,u={setOptions:function(e){Object.keys(e).forEach(function(i){this.setOption(i,e[i])},this)},getOptions:function(e){var i={};if(e)Array.isArray(e)||(i=e,e=Object.keys(i));else{var s=this.$options;e=Object.keys(s).filter(function(c){return!s[c].hidden})}return e.forEach(function(c){i[c]=this.getOption(c)},this),i},setOption:function(e,i){if(this["$"+e]!==i){var s=this.$options[e];if(!s)return r('misspelled option "'+e+'"');if(s.forwardTo)return this[s.forwardTo]&&this[s.forwardTo].setOption(e,i);s.handlesSet||(this["$"+e]=i),s&&s.set&&s.set.call(this,i)}},getOption:function(e){var i=this.$options[e];return i?i.forwardTo?this[i.forwardTo]&&this[i.forwardTo].getOption(e):i&&i.get?i.get.call(this):this["$"+e]:r('misspelled option "'+e+'"')}};function r(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var o,n,t=function(){function e(){this.$defaultOptions={},o=l,n="dollarSigns"}return e.prototype.defineOptions=function(i,s,c){return i.$options||(this.$defaultOptions[s]=i.$options={}),Object.keys(c).forEach(function(h){var m=c[h];typeof m=="string"&&(m={forwardTo:m}),m.name||(m.name=h),i.$options[m.name]=m,"initialValue"in m&&(i["$"+m.name]=m.initialValue)}),T.implement(i,u),this},e.prototype.resetOptions=function(i){Object.keys(i.$options).forEach(function(s){var c=i.$options[s];"value"in c&&i.setOption(s,c.value)})},e.prototype.setDefaultValue=function(i,s,c){if(!i){for(i in this.$defaultOptions)if(this.$defaultOptions[i][s])break;if(!this.$defaultOptions[i][s])return!1}var h=this.$defaultOptions[i]||(this.$defaultOptions[i]={});h[s]&&(h.forwardTo?this.setDefaultValue(h.forwardTo,s,c):h[s].value=c)},e.prototype.setDefaultValues=function(i,s){Object.keys(s).forEach(function(c){this.setDefaultValue(i,c,s[c])},this)},e.prototype.setMessages=function(i,s){o=i,s&&s.placeholders&&(n=s.placeholders)},e.prototype.nls=function(i,s,c){o[i]||(r("No message found for the key '"+i+"' in messages with id "+o.$id+", trying to find a translation for the default string '"+s+"'."),o[s]||r("No message found for the default string '"+s+"' in the provided messages. Falling back to the default English message."));var h=o[i]||o[s]||s;return c&&(n==="dollarSigns"&&(h=h.replace(/\$(\$|[\d]+)/g,function(m,v){return v=="$"?"$":c[v]})),n==="curlyBrackets"&&(h=h.replace(/\{([^\}]+)\}/g,function(m,v){return c[v]}))),h},e}();t.prototype.warn=r,t.prototype.reportError=C,T.implement(t.prototype,A),x.AppConfig=t}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(k,x,z){z.exports=`.ace-tm .ace_gutter {
|
|
9
|
-
background: #f0f0f0;
|
|
10
|
-
color: #333;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.ace-tm .ace_print-margin {
|
|
14
|
-
width: 1px;
|
|
15
|
-
background: #e8e8e8;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.ace-tm .ace_fold {
|
|
19
|
-
background-color: #6B72E6;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.ace-tm {
|
|
23
|
-
background-color: #FFFFFF;
|
|
24
|
-
color: black;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.ace-tm .ace_cursor {
|
|
28
|
-
color: black;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.ace-tm .ace_invisible {
|
|
32
|
-
color: rgb(191, 191, 191);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.ace-tm .ace_storage,
|
|
36
|
-
.ace-tm .ace_keyword {
|
|
37
|
-
color: blue;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.ace-tm .ace_constant {
|
|
41
|
-
color: rgb(197, 6, 11);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.ace-tm .ace_constant.ace_buildin {
|
|
45
|
-
color: rgb(88, 72, 246);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.ace-tm .ace_constant.ace_language {
|
|
49
|
-
color: rgb(88, 92, 246);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.ace-tm .ace_constant.ace_library {
|
|
53
|
-
color: rgb(6, 150, 14);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.ace-tm .ace_invalid {
|
|
57
|
-
background-color: rgba(255, 0, 0, 0.1);
|
|
58
|
-
color: red;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.ace-tm .ace_support.ace_function {
|
|
62
|
-
color: rgb(60, 76, 114);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.ace-tm .ace_support.ace_constant {
|
|
66
|
-
color: rgb(6, 150, 14);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.ace-tm .ace_support.ace_type,
|
|
70
|
-
.ace-tm .ace_support.ace_class {
|
|
71
|
-
color: rgb(109, 121, 222);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.ace-tm .ace_keyword.ace_operator {
|
|
75
|
-
color: rgb(104, 118, 135);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.ace-tm .ace_string {
|
|
79
|
-
color: rgb(3, 106, 7);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.ace-tm .ace_comment {
|
|
83
|
-
color: rgb(76, 136, 107);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.ace-tm .ace_comment.ace_doc {
|
|
87
|
-
color: rgb(0, 102, 255);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.ace-tm .ace_comment.ace_doc.ace_tag {
|
|
91
|
-
color: rgb(128, 159, 191);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.ace-tm .ace_constant.ace_numeric {
|
|
95
|
-
color: rgb(0, 0, 205);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.ace-tm .ace_variable {
|
|
99
|
-
color: rgb(49, 132, 149);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.ace-tm .ace_xml-pe {
|
|
103
|
-
color: rgb(104, 104, 91);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.ace-tm .ace_entity.ace_name.ace_function {
|
|
107
|
-
color: #0000A2;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
.ace-tm .ace_heading {
|
|
112
|
-
color: rgb(12, 7, 255);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.ace-tm .ace_list {
|
|
116
|
-
color:rgb(185, 6, 144);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.ace-tm .ace_meta.ace_tag {
|
|
120
|
-
color:rgb(0, 22, 142);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.ace-tm .ace_string.ace_regex {
|
|
124
|
-
color: rgb(255, 0, 0)
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.ace-tm .ace_marker-layer .ace_selection {
|
|
128
|
-
background: rgb(181, 213, 255);
|
|
129
|
-
}
|
|
130
|
-
.ace-tm.ace_multiselect .ace_selection.ace_start {
|
|
131
|
-
box-shadow: 0 0 3px 0px white;
|
|
132
|
-
}
|
|
133
|
-
.ace-tm .ace_marker-layer .ace_step {
|
|
134
|
-
background: rgb(252, 255, 0);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
.ace-tm .ace_marker-layer .ace_stack {
|
|
138
|
-
background: rgb(164, 229, 101);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.ace-tm .ace_marker-layer .ace_bracket {
|
|
142
|
-
margin: -1px 0 0 -1px;
|
|
143
|
-
border: 1px solid rgb(192, 192, 192);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.ace-tm .ace_marker-layer .ace_active-line {
|
|
147
|
-
background: rgba(0, 0, 0, 0.07);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.ace-tm .ace_gutter-active-line {
|
|
151
|
-
background-color : #dcdcdc;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.ace-tm .ace_marker-layer .ace_selected-word {
|
|
155
|
-
background: rgb(250, 250, 255);
|
|
156
|
-
border: 1px solid rgb(200, 200, 250);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.ace-tm .ace_indent-guide {
|
|
160
|
-
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.ace-tm .ace_indent-guide-active {
|
|
164
|
-
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
|
|
165
|
-
}
|
|
166
|
-
`}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(k,x,z){x.isDark=!1,x.cssClass="ace-tm",x.cssText=k("./textmate-css"),x.$id="ace/theme/textmate";var T=k("../lib/dom");T.importCssString(x.cssText,x.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(k,x,z){"no use strict";var T=k("./lib/lang"),A=k("./lib/net"),C=k("./lib/dom"),l=k("./lib/app_config").AppConfig;z.exports=x=new l;var u={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};x.get=function(t){if(!u.hasOwnProperty(t))throw new Error("Unknown config key: "+t);return u[t]},x.set=function(t,e){if(u.hasOwnProperty(t))u[t]=e;else if(this.setDefaultValue("",t,e)==!1)throw new Error("Unknown config key: "+t);t=="useStrictCSP"&&C.useStrictCSP(e)},x.all=function(){return T.copyObject(u)},x.$modes={},x.moduleUrl=function(t,e){if(u.$moduleUrls[t])return u.$moduleUrls[t];var i=t.split("/");e=e||i[i.length-2]||"";var s=e=="snippets"?"/":"-",c=i[i.length-1];if(e=="worker"&&s=="-"){var h=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");c=c.replace(h,"")}(!c||c==e)&&i.length>1&&(c=i[i.length-2]);var m=u[e+"Path"];return m==null?m=u.basePath:s=="/"&&(e=s=""),m&&m.slice(-1)!="/"&&(m+="/"),m+e+s+c+this.get("suffix")},x.setModuleUrl=function(t,e){return u.$moduleUrls[t]=e};var r=function(t,e){if(t==="ace/theme/textmate"||t==="./theme/textmate")return e(null,k("./theme/textmate"));if(o)return o(t,e);console.error("loader is not configured")},o;x.setLoader=function(t){o=t},x.dynamicModules=Object.create(null),x.$loading={},x.$loaded={},x.loadModule=function(t,e){var i;if(Array.isArray(t))var s=t[0],c=t[1];else if(typeof t=="string")var c=t;var h=function(m){if(m&&!x.$loading[c])return e&&e(m);if(x.$loading[c]||(x.$loading[c]=[]),x.$loading[c].push(e),!(x.$loading[c].length>1)){var v=function(){r(c,function(p,g){g&&(x.$loaded[c]=g),x._emit("load.module",{name:c,module:g});var w=x.$loading[c];x.$loading[c]=null,w.forEach(function(M){M&&M(g)})})};if(!x.get("packaged"))return v();A.loadScript(x.moduleUrl(c,s),v),n()}};if(x.dynamicModules[c])x.dynamicModules[c]().then(function(m){m.default?h(m.default):h(m)});else{try{i=this.$require(c)}catch{}h(i||x.$loaded[c])}},x.$require=function(t){if(typeof z.require=="function"){var e="require";return z[e](t)}},x.setModuleLoader=function(t,e){x.dynamicModules[t]=e};var n=function(){!u.basePath&&!u.workerPath&&!u.modePath&&!u.themePath&&!Object.keys(u.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),n=function(){})};x.version="1.39.0"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(k,x,z){k("./lib/fixoldbrowsers");var T=k("./config");T.setLoader(function(u,r){k([u],function(o){r(null,o)})});var A=function(){return this||typeof window<"u"&&window}();z.exports=function(u){T.init=C,T.$require=k,u.require=k},C(!0);function C(u){if(!(!A||!A.document)){T.set("packaged",u||k.packaged||z.packaged||A.define&&(void 0).packaged);var r={},o="",n=document.currentScript||document._currentScript,t=n&&n.ownerDocument||document;n&&n.src&&(o=n.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var e=t.getElementsByTagName("script"),i=0;i<e.length;i++){var s=e[i],c=s.src||s.getAttribute("src");if(c){for(var h=s.attributes,m=0,v=h.length;m<v;m++){var p=h[m];p.name.indexOf("data-ace-")===0&&(r[l(p.name.replace(/^data-ace-/,""))]=p.value)}var g=c.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);g&&(o=g[1])}}o&&(r.base=r.base||o,r.packaged=!0),r.basePath=r.base,r.workerPath=r.workerPath||r.base,r.modePath=r.modePath||r.base,r.themePath=r.themePath||r.base,delete r.base;for(var w in r)typeof r[w]<"u"&&T.set(w,r[w])}}function l(u){return u.replace(/-(.)/g,function(r,o){return o.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(k,x,z){var T=function(){function A(C,l,u,r){this.start={row:C,column:l},this.end={row:u,column:r}}return A.prototype.isEqual=function(C){return this.start.row===C.start.row&&this.end.row===C.end.row&&this.start.column===C.start.column&&this.end.column===C.end.column},A.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},A.prototype.contains=function(C,l){return this.compare(C,l)==0},A.prototype.compareRange=function(C){var l,u=C.end,r=C.start;return l=this.compare(u.row,u.column),l==1?(l=this.compare(r.row,r.column),l==1?2:l==0?1:0):l==-1?-2:(l=this.compare(r.row,r.column),l==-1?-1:l==1?42:0)},A.prototype.comparePoint=function(C){return this.compare(C.row,C.column)},A.prototype.containsRange=function(C){return this.comparePoint(C.start)==0&&this.comparePoint(C.end)==0},A.prototype.intersects=function(C){var l=this.compareRange(C);return l==-1||l==0||l==1},A.prototype.isEnd=function(C,l){return this.end.row==C&&this.end.column==l},A.prototype.isStart=function(C,l){return this.start.row==C&&this.start.column==l},A.prototype.setStart=function(C,l){typeof C=="object"?(this.start.column=C.column,this.start.row=C.row):(this.start.row=C,this.start.column=l)},A.prototype.setEnd=function(C,l){typeof C=="object"?(this.end.column=C.column,this.end.row=C.row):(this.end.row=C,this.end.column=l)},A.prototype.inside=function(C,l){return this.compare(C,l)==0?!(this.isEnd(C,l)||this.isStart(C,l)):!1},A.prototype.insideStart=function(C,l){return this.compare(C,l)==0?!this.isEnd(C,l):!1},A.prototype.insideEnd=function(C,l){return this.compare(C,l)==0?!this.isStart(C,l):!1},A.prototype.compare=function(C,l){return!this.isMultiLine()&&C===this.start.row?l<this.start.column?-1:l>this.end.column?1:0:C<this.start.row?-1:C>this.end.row?1:this.start.row===C?l>=this.start.column?0:-1:this.end.row===C?l<=this.end.column?0:1:0},A.prototype.compareStart=function(C,l){return this.start.row==C&&this.start.column==l?-1:this.compare(C,l)},A.prototype.compareEnd=function(C,l){return this.end.row==C&&this.end.column==l?1:this.compare(C,l)},A.prototype.compareInside=function(C,l){return this.end.row==C&&this.end.column==l?1:this.start.row==C&&this.start.column==l?-1:this.compare(C,l)},A.prototype.clipRows=function(C,l){if(this.end.row>l)var u={row:l+1,column:0};else if(this.end.row<C)var u={row:C,column:0};if(this.start.row>l)var r={row:l+1,column:0};else if(this.start.row<C)var r={row:C,column:0};return A.fromPoints(r||this.start,u||this.end)},A.prototype.extend=function(C,l){var u=this.compare(C,l);if(u==0)return this;if(u==-1)var r={row:C,column:l};else var o={row:C,column:l};return A.fromPoints(r||this.start,o||this.end)},A.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},A.prototype.isMultiLine=function(){return this.start.row!==this.end.row},A.prototype.clone=function(){return A.fromPoints(this.start,this.end)},A.prototype.collapseRows=function(){return this.end.column==0?new A(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new A(this.start.row,0,this.end.row,0)},A.prototype.toScreenRange=function(C){var l=C.documentToScreenPosition(this.start),u=C.documentToScreenPosition(this.end);return new A(l.row,l.column,u.row,u.column)},A.prototype.moveBy=function(C,l){this.start.row+=C,this.start.column+=l,this.end.row+=C,this.end.column+=l},A}();T.fromPoints=function(A,C){return new T(A.row,A.column,C.row,C.column)},T.comparePoints=function(A,C){return A.row-C.row||A.column-C.column},x.Range=T}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(k,x,z){for(var T=k("./oop"),A={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},C={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},l=0;l<10;l++)C["Digit"+l]=48+l,C["Numpad"+l]=96+l,A.PRINTABLE_KEYS[48+l]=""+l,A.FUNCTION_KEYS[96+l]="Numpad"+l;for(var l=65;l<91;l++){var u=String.fromCharCode(l+32);C["Key"+u.toUpperCase()]=l,A.PRINTABLE_KEYS[l]=u}for(var l=1;l<13;l++)C["F"+l]=111+l,A.FUNCTION_KEYS[111+l]="F"+l;var r={Shift:16,Control:17,Alt:18,Meta:224};for(var o in r)C[o]=C[o+"Left"]=C[o+"Right"]=r[o];x.$codeToKeyCode=C,A.PRINTABLE_KEYS[173]="-";for(var n in A.FUNCTION_KEYS){var t=A.FUNCTION_KEYS[n].toLowerCase();A[t]=parseInt(n,10)}for(var n in A.PRINTABLE_KEYS){var t=A.PRINTABLE_KEYS[n].toLowerCase();A[t]=parseInt(n,10)}T.mixin(A,A.MODIFIER_KEYS),T.mixin(A,A.PRINTABLE_KEYS),T.mixin(A,A.FUNCTION_KEYS),A.enter=A.return,A.escape=A.esc,A.del=A.delete,function(){for(var e=["cmd","ctrl","alt","shift"],i=Math.pow(2,e.length);i--;)A.KEY_MODS[i]=e.filter(function(s){return i&A.KEY_MODS[s]}).join("-")+"-"}(),A.KEY_MODS[0]="",A.KEY_MODS[-1]="input-",T.mixin(x,A),x.default=x,x.keyCodeToString=function(e){var i=A[e];return typeof i!="string"&&(i=String.fromCharCode(e)),i.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(k,x,z){var T=k("./keys"),A=k("./useragent"),C=null,l=0,u;function r(){u=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return u={passive:!1},!0}})}catch{}}function o(){return u==null&&r(),u}function n(m,v,p){this.elem=m,this.type=v,this.callback=p}n.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=x.addListener=function(m,v,p,g){m.addEventListener(v,p,o()),g&&g.$toDestroy.push(new n(m,v,p))},e=x.removeListener=function(m,v,p){m.removeEventListener(v,p,o())};x.stopEvent=function(m){return x.stopPropagation(m),x.preventDefault(m),!1},x.stopPropagation=function(m){m.stopPropagation&&m.stopPropagation()},x.preventDefault=function(m){m.preventDefault&&m.preventDefault()},x.getButton=function(m){return m.type=="dblclick"?0:m.type=="contextmenu"||A.isMac&&m.ctrlKey&&!m.altKey&&!m.shiftKey?2:m.button},x.capture=function(m,v,p){var g=m&&m.ownerDocument||document;function w(M){v&&v(M),p&&p(M),e(g,"mousemove",v),e(g,"mouseup",w),e(g,"dragstart",w)}return t(g,"mousemove",v),t(g,"mouseup",w),t(g,"dragstart",w),w},x.addMouseWheelListener=function(m,v,p){t(m,"wheel",function(g){var w=.15,M=g.deltaX||0,S=g.deltaY||0;switch(g.deltaMode){case g.DOM_DELTA_PIXEL:g.wheelX=M*w,g.wheelY=S*w;break;case g.DOM_DELTA_LINE:var $=15;g.wheelX=M*$,g.wheelY=S*$;break;case g.DOM_DELTA_PAGE:var R=150;g.wheelX=M*R,g.wheelY=S*R;break}v(g)},p)},x.addMultiMouseDownListener=function(m,v,p,g,w){var M=0,S,$,R,f={2:"dblclick",3:"tripleclick",4:"quadclick"};function a(d){if(x.getButton(d)!==0?M=0:d.detail>1?(M++,M>4&&(M=1)):M=1,A.isIE){var y=Math.abs(d.clientX-S)>5||Math.abs(d.clientY-$)>5;(!R||y)&&(M=1),R&&clearTimeout(R),R=setTimeout(function(){R=null},v[M-1]||600),M==1&&(S=d.clientX,$=d.clientY)}if(d._clicks=M,p[g]("mousedown",d),M>4)M=0;else if(M>1)return p[g](f[M],d)}Array.isArray(m)||(m=[m]),m.forEach(function(d){t(d,"mousedown",a,w)})};function i(m){return 0|(m.ctrlKey?1:0)|(m.altKey?2:0)|(m.shiftKey?4:0)|(m.metaKey?8:0)}x.getModifierString=function(m){return T.KEY_MODS[i(m)]};function s(m,v,p){var g=i(v);if(!p&&v.code&&(p=T.$codeToKeyCode[v.code]||p),!A.isMac&&C){if(v.getModifierState&&(v.getModifierState("OS")||v.getModifierState("Win"))&&(g|=8),C.altGr)if((3&g)!=3)C.altGr=0;else return;if(p===18||p===17){var w=v.location;if(p===17&&w===1)C[p]==1&&(l=v.timeStamp);else if(p===18&&g===3&&w===2){var M=v.timeStamp-l;M<50&&(C.altGr=!0)}}}if(p in T.MODIFIER_KEYS&&(p=-1),!(!g&&p===13&&v.location===3&&(m(v,g,-p),v.defaultPrevented))){if(A.isChromeOS&&g&8){if(m(v,g,p),v.defaultPrevented)return;g&=-9}return!g&&!(p in T.FUNCTION_KEYS)&&!(p in T.PRINTABLE_KEYS)?!1:m(v,g,p)}}x.addCommandKeyListener=function(m,v,p){var g=null;t(m,"keydown",function(w){C[w.keyCode]=(C[w.keyCode]||0)+1;var M=s(v,w,w.keyCode);return g=w.defaultPrevented,M},p),t(m,"keypress",function(w){g&&(w.ctrlKey||w.altKey||w.shiftKey||w.metaKey)&&(x.stopEvent(w),g=null)},p),t(m,"keyup",function(w){C[w.keyCode]=null},p),C||(c(),t(window,"focus",c))};function c(){C=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!A.isOldIE){var h=1;x.nextTick=function(m,v){v=v||window;var p="zero-timeout-message-"+h++,g=function(w){w.data==p&&(x.stopPropagation(w),e(v,"message",g),m())};t(v,"message",g),v.postMessage(p,"*")}}x.$idleBlocked=!1,x.onIdle=function(m,v){return setTimeout(function p(){x.$idleBlocked?setTimeout(p,100):m()},v)},x.$idleBlockId=null,x.blockIdle=function(m){x.$idleBlockId&&clearTimeout(x.$idleBlockId),x.$idleBlocked=!0,x.$idleBlockId=setTimeout(function(){x.$idleBlocked=!1},m||100)},x.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),x.nextFrame?x.nextFrame=x.nextFrame.bind(window):x.nextFrame=function(m){setTimeout(m,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(k,x,z){var T;z.exports={lineMode:!1,pasteCancelled:function(){return T&&T>Date.now()-50?!0:T=!1},cancel:function(){T=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(k,x,z){var T=k("../lib/event"),A=k("../config").nls,C=k("../lib/useragent"),l=k("../lib/dom"),u=k("../lib/lang"),r=k("../clipboard"),o=C.isChrome<18,n=C.isIE,t=C.isChrome>63,e=400,i=k("../lib/keys"),s=i.KEY_MODS,c=C.isIOS,h=c?/\s/:/\n/,m=C.isMobile,v;v=function(p,g){var w=l.createElement("textarea");w.className="ace_text-input",w.setAttribute("wrap","off"),w.setAttribute("autocorrect","off"),w.setAttribute("autocapitalize","off"),w.setAttribute("spellcheck","false"),w.style.opacity="0",p.insertBefore(w,p.firstChild);var M=!1,S=!1,$=!1,R=!1,f="";m||(w.style.fontSize="1px");var a=!1,d=!1,y="",b=0,L=0,E=0,_=Number.MAX_SAFE_INTEGER,I=Number.MIN_SAFE_INTEGER,O=0;try{var W=document.activeElement===w}catch{}this.setNumberOfExtraLines=function(B){if(_=Number.MAX_SAFE_INTEGER,I=Number.MIN_SAFE_INTEGER,B<0){O=0;return}O=B},this.setAriaLabel=function(){var B="";if(g.$textInputAriaLabel&&(B+="".concat(g.$textInputAriaLabel,", ")),g.session){var G=g.session.selection.cursor.row;B+=A("text-input.aria-label","Cursor at row $0",[G+1])}w.setAttribute("aria-label",B)},this.setAriaOptions=function(B){B.activeDescendant?(w.setAttribute("aria-haspopup","true"),w.setAttribute("aria-autocomplete",B.inline?"both":"list"),w.setAttribute("aria-activedescendant",B.activeDescendant)):(w.setAttribute("aria-haspopup","false"),w.setAttribute("aria-autocomplete","both"),w.removeAttribute("aria-activedescendant")),B.role&&w.setAttribute("role",B.role),B.setLabel&&(w.setAttribute("aria-roledescription",A("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),T.addListener(w,"blur",function(B){d||(g.onBlur(B),W=!1)},g),T.addListener(w,"focus",function(B){if(!d){if(W=!0,C.isEdge)try{if(!document.hasFocus())return}catch{}g.onFocus(B),C.isEdge?setTimeout(N):N()}},g),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:g.renderer.enableKeyboardAccessibility}),f||t||this.$focusScroll=="browser")return w.focus({preventScroll:!0});var B=w.style.top;w.style.position="fixed",w.style.top="0px";try{var G=w.getBoundingClientRect().top!=0}catch{return}var Y=[];if(G)for(var Q=w.parentElement;Q&&Q.nodeType==1;)Y.push(Q),Q.setAttribute("ace_nocontext","true"),!Q.parentElement&&Q.getRootNode?Q=Q.getRootNode().host:Q=Q.parentElement;w.focus({preventScroll:!0}),G&&Y.forEach(function(Z){Z.removeAttribute("ace_nocontext")}),setTimeout(function(){w.style.position="",w.style.top=="0px"&&(w.style.top=B)},0)},this.blur=function(){w.blur()},this.isFocused=function(){return W},g.on("beforeEndOperation",function(){var B=g.curOp,G=B&&B.command&&B.command.name;if(G!="insertstring"){var Y=G&&(B.docChanged||B.selectionChanged);$&&Y&&(y=w.value="",ce()),N()}}),g.on("changeSelection",this.setAriaLabel);var D=function(B,G){for(var Y=G,Q=1;Q<=B-_&&Q<2*O+1;Q++)Y+=g.session.getLine(B-Q).length+1;return Y},N=c?function(B){if(!(!W||M&&!B||R)){B||(B="");var G=`
|
|
167
|
-
ab`+B+`cde fg
|
|
168
|
-
`;G!=w.value&&(w.value=y=G);var Y=4,Q=4+(B.length||(g.selection.isEmpty()?0:1));(b!=Y||L!=Q)&&w.setSelectionRange(Y,Q),b=Y,L=Q}}:function(){if(!($||R)&&!(!W&&!j)){$=!0;var B=0,G=0,Y="";if(g.session){var Q=g.selection,Z=Q.getRange(),te=Q.cursor.row;te===I+1?(_=I+1,I=_+2*O):te===_-1?(I=_-1,_=I-2*O):(te<_-1||te>I+1)&&(_=te>O?te-O:0,I=te>O?te+O:2*O);for(var ne=[],ie=_;ie<=I;ie++)ne.push(g.session.getLine(ie));if(Y=ne.join(`
|
|
169
|
-
`),B=D(Z.start.row,Z.start.column),G=D(Z.end.row,Z.end.column),Z.start.row<_){var ee=g.session.getLine(_-1);B=Z.start.row<_-1?0:B,G+=ee.length+1,Y=ee+`
|
|
170
|
-
`+Y}else if(Z.end.row>I){var X=g.session.getLine(I+1);G=Z.end.row>I+1?X.length:Z.end.column,G+=Y.length+1,Y=Y+`
|
|
171
|
-
`+X}else m&&te>0&&(Y=`
|
|
172
|
-
`+Y,G+=1,B+=1);Y.length>e&&(B<e&&G<e?Y=Y.slice(0,e):(Y=`
|
|
173
|
-
`,B==G?B=G=0:(B=0,G=1)));var se=Y+`
|
|
174
|
-
|
|
175
|
-
`;se!=y&&(w.value=y=se,b=L=se.length)}if(j&&(b=w.selectionStart,L=w.selectionEnd),L!=G||b!=B||w.selectionEnd!=L)try{w.setSelectionRange(B,G),b=B,L=G}catch{}$=!1}};this.resetSelection=N,W&&g.onFocus();var H=function(B){return B.selectionStart===0&&B.selectionEnd>=y.length&&B.value===y&&y&&B.selectionEnd!==L},F=function(B){$||(M?M=!1:H(w)?(g.selectAll(),N()):m&&w.selectionStart!=b&&N())},P=null;this.setInputHandler=function(B){P=B},this.getInputHandler=function(){return P};var j=!1,V=function(B,G){if(j&&(j=!1),S)return N(),B&&g.onPaste(B),S=!1,"";for(var Y=w.selectionStart,Q=w.selectionEnd,Z=b,te=y.length-L,ne=B,ie=B.length-Y,ee=B.length-Q,X=0;Z>0&&y[X]==B[X];)X++,Z--;for(ne=ne.slice(X),X=1;te>0&&y.length-X>b-1&&y[y.length-X]==B[B.length-X];)X++,te--;ie-=X-1,ee-=X-1;var se=ne.length-X+1;if(se<0&&(Z=-se,se=0),ne=ne.slice(0,se),!G&&!ne&&!ie&&!Z&&!te&&!ee)return"";R=!0;var he=!1;return C.isAndroid&&ne==". "&&(ne=" ",he=!0),ne&&!Z&&!te&&!ie&&!ee||a?g.onTextInput(ne):g.onTextInput(ne,{extendLeft:Z,extendRight:te,restoreStart:ie,restoreEnd:ee}),R=!1,y=B,b=Y,L=Q,E=ee,he?`
|
|
176
|
-
`:ne},U=function(B){if($)return le();if(B&&B.inputType){if(B.inputType=="historyUndo")return g.execCommand("undo");if(B.inputType=="historyRedo")return g.execCommand("redo")}var G=w.value,Y=V(G,!0);(G.length>e+100||h.test(Y)||m&&b<1&&b==L)&&N()},K=function(B,G,Y){var Q=B.clipboardData||window.clipboardData;if(!(!Q||o)){var Z=n||Y?"Text":"text/plain";try{return G?Q.setData(Z,G)!==!1:Q.getData(Z)}catch(te){if(!Y)return K(te,G,!0)}}},J=function(B,G){var Y=g.getCopyText();if(!Y)return T.preventDefault(B);K(B,Y)?(c&&(N(Y),M=Y,setTimeout(function(){M=!1},10)),G?g.onCut():g.onCopy(),T.preventDefault(B)):(M=!0,w.value=Y,w.select(),setTimeout(function(){M=!1,N(),G?g.onCut():g.onCopy()}))},oe=function(B){J(B,!0)},re=function(B){J(B,!1)},q=function(B){var G=K(B);r.pasteCancelled()||(typeof G=="string"?(G&&g.onPaste(G,B),C.isIE&&setTimeout(N),T.preventDefault(B)):(w.value="",S=!0))};T.addCommandKeyListener(w,function(B,G,Y){if(!$)return g.onCommandKey(B,G,Y)},g),T.addListener(w,"select",F,g),T.addListener(w,"input",U,g),T.addListener(w,"cut",oe,g),T.addListener(w,"copy",re,g),T.addListener(w,"paste",q,g),(!("oncut"in w)||!("oncopy"in w)||!("onpaste"in w))&&T.addListener(p,"keydown",function(B){if(!(C.isMac&&!B.metaKey||!B.ctrlKey))switch(B.keyCode){case 67:re(B);break;case 86:q(B);break;case 88:oe(B);break}},g);var ae=function(B){if(!($||!g.onCompositionStart||g.$readOnly)&&($={},!a)){B.data&&($.useTextareaForIME=!1),setTimeout(le,0),g._signal("compositionStart"),g.on("mousedown",de);var G=g.getSelectionRange();G.end.row=G.start.row,G.end.column=G.start.column,$.markerRange=G,$.selectionStart=b,g.onCompositionStart($),$.useTextareaForIME?(y=w.value="",b=0,L=0):(w.msGetInputContext&&($.context=w.msGetInputContext()),w.getInputContext&&($.context=w.getInputContext()))}},le=function(){if(!(!$||!g.onCompositionUpdate||g.$readOnly)){if(a)return de();if($.useTextareaForIME)g.onCompositionUpdate(w.value);else{var B=w.value;V(B),$.markerRange&&($.context&&($.markerRange.start.column=$.selectionStart=$.context.compositionStartOffset),$.markerRange.end.column=$.markerRange.start.column+L-$.selectionStart+E)}}},ce=function(B){!g.onCompositionEnd||g.$readOnly||($=!1,g.onCompositionEnd(),g.off("mousedown",de),B&&U())};function de(){d=!0,w.blur(),w.focus(),d=!1}var ve=u.delayedCall(le,50).schedule.bind(null,null);function we(B){B.keyCode==27&&w.value.length<w.selectionStart&&($||(y=w.value),b=L=-1,N()),ve()}T.addListener(w,"compositionstart",ae,g),T.addListener(w,"compositionupdate",le,g),T.addListener(w,"keyup",we,g),T.addListener(w,"keydown",ve,g),T.addListener(w,"compositionend",ce,g),this.getElement=function(){return w},this.setCommandMode=function(B){a=B,w.readOnly=!1},this.setReadOnly=function(B){a||(w.readOnly=B)},this.setCopyWithEmptySelection=function(B){},this.onContextMenu=function(B){j=!0,N(),g._emit("nativecontextmenu",{target:g,domEvent:B}),this.moveToMouse(B,!0)},this.moveToMouse=function(B,G){f||(f=w.style.cssText),w.style.cssText=(G?"z-index:100000;":"")+(C.isIE?"opacity:0.1;":"")+"text-indent: -"+(b+L)*g.renderer.characterWidth*.5+"px;";var Y=g.container.getBoundingClientRect(),Q=l.computedStyle(g.container),Z=Y.top+(parseInt(Q.borderTopWidth)||0),te=Y.left+(parseInt(Q.borderLeftWidth)||0),ne=Y.bottom-Z-w.clientHeight-2,ie=function(ee){l.translate(w,ee.clientX-te-2,Math.min(ee.clientY-Z-2,ne))};ie(B),B.type=="mousedown"&&(g.renderer.$isMousePressed=!0,clearTimeout(fe),C.isWin&&T.capture(g.container,ie,ue))},this.onContextMenuClose=ue;var fe;function ue(){clearTimeout(fe),fe=setTimeout(function(){f&&(w.style.cssText=f,f=""),g.renderer.$isMousePressed=!1,g.renderer.$keepTextAreaAtCursor&&g.renderer.$moveTextAreaToCursor()},0)}var ge=function(B){g.textInput.onContextMenu(B),ue()};T.addListener(w,"mouseup",ge,g),T.addListener(w,"mousedown",function(B){B.preventDefault(),ue()},g),T.addListener(g.renderer.scroller,"contextmenu",ge,g),T.addListener(w,"contextmenu",ge,g),c&&be(p,g,w);function be(B,G,Y){var Q=null,Z=!1;Y.addEventListener("keydown",function(ne){Q&&clearTimeout(Q),Z=!0},!0),Y.addEventListener("keyup",function(ne){Q=setTimeout(function(){Z=!1},100)},!0);var te=function(ne){if(document.activeElement===Y&&!(Z||$||G.$mouseHandler.isMousePressed)&&!M){var ie=Y.selectionStart,ee=Y.selectionEnd,X=null,se=0;if(ie==0?X=i.up:ie==1?X=i.home:ee>L&&y[ee]==`
|
|
177
|
-
`?X=i.end:ie<b&&y[ie-1]==" "?(X=i.left,se=s.option):ie<b||ie==b&&L!=b&&ie==ee?X=i.left:ee>L&&y.slice(0,ee).split(`
|
|
178
|
-
`).length>2?X=i.down:ee>L&&y[ee-1]==" "?(X=i.right,se=s.option):(ee>L||ee==L&&L!=b&&ie==ee)&&(X=i.right),ie!==ee&&(se|=s.shift),X){var he=G.onCommandKey({},se,X);if(!he&&G.commands){X=i.keyCodeToString(X);var me=G.commands.findKeyCommand(se,X);me&&G.execCommand(me)}b=ie,L=ee,N("")}}};document.addEventListener("selectionchange",te),G.on("destroy",function(){document.removeEventListener("selectionchange",te)})}this.destroy=function(){w.parentElement&&w.parentElement.removeChild(w)}},x.TextInput=v,x.$setUserAgentForTests=function(p,g){m=p,c=g}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(k,x,z){var T=k("../lib/useragent"),A=0,C=550,l=function(){function o(n){n.$clickSelection=null;var t=n.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(n)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(n)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(n)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(n)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n));var e=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];e.forEach(function(i){n[i]=this[i]},this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return o.prototype.onMouseDown=function(n){var t=n.inSelection(),e=n.getDocumentPosition();this.mousedownEvent=n;var i=this.editor,s=n.getButton();if(s!==0){var c=i.getSelectionRange(),h=c.isEmpty();(h||s==1)&&i.selection.moveToPosition(e),s==2&&(i.textInput.onContextMenu(n.domEvent),T.isMozilla||n.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!i.isFocused()&&(i.focus(),this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(n);return}return this.captureMouse(n),this.startSelect(e,n.domEvent._clicks>1),n.preventDefault()},o.prototype.startSelect=function(n,t){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var e=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?e.selection.selectToPosition(n):t||e.selection.moveToPosition(n),t||this.select(),e.setStyle("ace_selecting"),this.setState("select"))},o.prototype.select=function(){var n,t=this.editor,e=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var i=this.$clickSelection.comparePoint(e);if(i==-1)n=this.$clickSelection.end;else if(i==1)n=this.$clickSelection.start;else{var s=r(this.$clickSelection,e);e=s.cursor,n=s.anchor}t.selection.setSelectionAnchor(n.row,n.column)}t.selection.selectToPosition(e),t.renderer.scrollCursorIntoView()},o.prototype.extendSelectionBy=function(n){var t,e=this.editor,i=e.renderer.screenToTextCoordinates(this.x,this.y),s=e.selection[n](i.row,i.column);if(this.$clickSelection){var c=this.$clickSelection.comparePoint(s.start),h=this.$clickSelection.comparePoint(s.end);if(c==-1&&h<=0)t=this.$clickSelection.end,(s.end.row!=i.row||s.end.column!=i.column)&&(i=s.start);else if(h==1&&c>=0)t=this.$clickSelection.start,(s.start.row!=i.row||s.start.column!=i.column)&&(i=s.end);else if(c==-1&&h==1)i=s.end,t=s.start;else{var m=r(this.$clickSelection,i);i=m.cursor,t=m.anchor}e.selection.setSelectionAnchor(t.row,t.column)}e.selection.selectToPosition(i),e.renderer.scrollCursorIntoView()},o.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},o.prototype.focusWait=function(){var n=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(n>A||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},o.prototype.onDoubleClick=function(n){var t=n.getDocumentPosition(),e=this.editor,i=e.session,s=i.getBracketRange(t);s?(s.isEmpty()&&(s.start.column--,s.end.column++),this.setState("select")):(s=e.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=s,this.select()},o.prototype.onTripleClick=function(n){var t=n.getDocumentPosition(),e=this.editor;this.setState("selectByLines");var i=e.getSelectionRange();i.isMultiLine()&&i.contains(t.row,t.column)?(this.$clickSelection=e.selection.getLineRange(i.start.row),this.$clickSelection.end=e.selection.getLineRange(i.end.row).end):this.$clickSelection=e.selection.getLineRange(t.row),this.select()},o.prototype.onQuadClick=function(n){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},o.prototype.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var e=this.$lastScroll,i=n.domEvent.timeStamp,s=i-e.t,c=s?n.wheelX/s:e.vx,h=s?n.wheelY/s:e.vy;s<C&&(c=(c+e.vx)/2,h=(h+e.vy)/2);var m=Math.abs(c/h),v=!1;if(m>=1&&t.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(v=!0),m<=1&&t.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(v=!0),v)e.allowed=i;else if(i-e.allowed<C){var p=Math.abs(c)<=1.5*Math.abs(e.vx)&&Math.abs(h)<=1.5*Math.abs(e.vy);p?(v=!0,e.allowed=i):e.allowed=0}if(e.t=i,e.vx=c,e.vy=h,v)return t.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}},o}();l.prototype.selectEnd=l.prototype.selectByLinesEnd,l.prototype.selectAllEnd=l.prototype.selectByLinesEnd,l.prototype.selectByWordsEnd=l.prototype.selectByLinesEnd,x.DefaultHandlers=l;function u(o,n,t,e){return Math.sqrt(Math.pow(t-o,2)+Math.pow(e-n,2))}function r(o,n){if(o.start.row==o.end.row)var t=2*n.column-o.start.column-o.end.column;else if(o.start.row==o.end.row-1&&!o.start.column&&!o.end.column)var t=n.column-4;else var t=2*n.row-o.start.row-o.end.row;return t<0?{cursor:o.start,anchor:o.end}:{cursor:o.end,anchor:o.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(k,x,z){x.preventParentScroll=function(A){A.stopPropagation();var C=A.currentTarget,l=C.scrollHeight>C.clientHeight;l||A.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(k,x,z){var T=this&&this.__extends||function(){var i=function(s,c){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,m){h.__proto__=m}||function(h,m){for(var v in m)Object.prototype.hasOwnProperty.call(m,v)&&(h[v]=m[v])},i(s,c)};return function(s,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");i(s,c);function h(){this.constructor=s}s.prototype=c===null?Object.create(c):(h.prototype=c.prototype,new h)}}(),A=this&&this.__values||function(i){var s=typeof Symbol=="function"&&Symbol.iterator,c=s&&i[s],h=0;if(c)return c.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&h>=i.length&&(i=void 0),{value:i&&i[h++],done:!i}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},C=k("./lib/dom");k("./lib/event");var l=k("./range").Range,u=k("./lib/scroll").preventParentScroll,r="ace_tooltip",o=function(){function i(s){this.isOpen=!1,this.$element=null,this.$parentNode=s}return i.prototype.$init=function(){return this.$element=C.createElement("div"),this.$element.className=r,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},i.prototype.getElement=function(){return this.$element||this.$init()},i.prototype.setText=function(s){this.getElement().textContent=s},i.prototype.setHtml=function(s){this.getElement().innerHTML=s},i.prototype.setPosition=function(s,c){this.getElement().style.left=s+"px",this.getElement().style.top=c+"px"},i.prototype.setClassName=function(s){C.addCssClass(this.getElement(),s)},i.prototype.setTheme=function(s){this.$element.className=r+" "+(s.isDark?"ace_dark ":"")+(s.cssClass||"")},i.prototype.show=function(s,c,h){s!=null&&this.setText(s),c!=null&&h!=null&&this.setPosition(c,h),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},i.prototype.hide=function(s){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=r,this.isOpen=!1)},i.prototype.getHeight=function(){return this.getElement().offsetHeight},i.prototype.getWidth=function(){return this.getElement().offsetWidth},i.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},i}(),n=function(){function i(){this.popups=[]}return i.prototype.addPopup=function(s){this.popups.push(s),this.updatePopups()},i.prototype.removePopup=function(s){var c=this.popups.indexOf(s);c!==-1&&(this.popups.splice(c,1),this.updatePopups())},i.prototype.updatePopups=function(){var s,c,h,m;this.popups.sort(function(f,a){return a.priority-f.priority});var v=[];try{for(var p=A(this.popups),g=p.next();!g.done;g=p.next()){var w=g.value,M=!0;try{for(var S=(h=void 0,A(v)),$=S.next();!$.done;$=S.next()){var R=$.value;if(this.doPopupsOverlap(R,w)){M=!1;break}}}catch(f){h={error:f}}finally{try{$&&!$.done&&(m=S.return)&&m.call(S)}finally{if(h)throw h.error}}M?v.push(w):w.hide()}}catch(f){s={error:f}}finally{try{g&&!g.done&&(c=p.return)&&c.call(p)}finally{if(s)throw s.error}}},i.prototype.doPopupsOverlap=function(s,c){var h=s.getElement().getBoundingClientRect(),m=c.getElement().getBoundingClientRect();return h.left<m.right&&h.right>m.left&&h.top<m.bottom&&h.bottom>m.top},i}(),t=new n;x.popupManager=t,x.Tooltip=o;var e=function(i){T(s,i);function s(c){c===void 0&&(c=document.body);var h=i.call(this,c)||this;h.timeout=void 0,h.lastT=0,h.idleTime=350,h.lastEvent=void 0,h.onMouseOut=h.onMouseOut.bind(h),h.onMouseMove=h.onMouseMove.bind(h),h.waitForHover=h.waitForHover.bind(h),h.hide=h.hide.bind(h);var m=h.getElement();return m.style.whiteSpace="pre-wrap",m.style.pointerEvents="auto",m.addEventListener("mouseout",h.onMouseOut),m.tabIndex=-1,m.addEventListener("blur",function(){m.contains(document.activeElement)||this.hide()}.bind(h)),m.addEventListener("wheel",u),h}return s.prototype.addToEditor=function(c){c.on("mousemove",this.onMouseMove),c.on("mousedown",this.hide),c.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},s.prototype.removeFromEditor=function(c){c.off("mousemove",this.onMouseMove),c.off("mousedown",this.hide),c.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},s.prototype.onMouseMove=function(c,h){this.lastEvent=c,this.lastT=Date.now();var m=h.$mouseHandler.isMousePressed;if(this.isOpen){var v=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(v.row,v.column)||m||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||m||(this.lastEvent=c,this.timeout=setTimeout(this.waitForHover,this.idleTime))},s.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var c=Date.now()-this.lastT;if(this.idleTime-c>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-c);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},s.prototype.isOutsideOfText=function(c){var h=c.editor,m=c.getDocumentPosition(),v=h.session.getLine(m.row);if(m.column==v.length){var p=h.renderer.pixelToScreenCoordinates(c.clientX,c.clientY),g=h.session.documentToScreenPosition(m.row,m.column);if(g.column!=p.column||g.row!=p.row)return!0}return!1},s.prototype.setDataProvider=function(c){this.$gatherData=c},s.prototype.showForRange=function(c,h,m,v){var p=10;if(!(v&&v!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var g=c.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(g.theme)),this.isOpen=!0,this.addMarker(h,c.session),this.range=l.fromPoints(h.start,h.end);var w=g.textToScreenCoordinates(h.start.row,h.start.column),M=g.scroller.getBoundingClientRect();w.pageX<M.left&&(w.pageX=M.left);var S=this.getElement();S.innerHTML="",S.appendChild(m),S.style.maxHeight="",S.style.display="block";var $=S.clientHeight,R=S.clientWidth,f=window.innerHeight-w.pageY-g.lineHeight,a=!0;w.pageY-$<0&&w.pageY<f&&(a=!1),S.style.maxHeight=(a?w.pageY:f)-p+"px",S.style.top=a?"":w.pageY+g.lineHeight+"px",S.style.bottom=a?window.innerHeight-w.pageY+"px":"",S.style.left=Math.min(w.pageX,window.innerWidth-R-p)+"px"}},s.prototype.addMarker=function(c,h){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=h,this.marker=h&&h.addMarker(c,"ace_highlight-marker","text")},s.prototype.hide=function(c){!c&&document.activeElement==this.getElement()||c&&c.target&&(c.type!="keydown"||c.ctrlKey||c.metaKey)&&this.$element.contains(c.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,t.removePopup(this)))},s.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},s.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},s.prototype.onMouseOut=function(c){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!c.relatedTarget||this.getElement().contains(c.relatedTarget)||c&&c.currentTarget.contains(c.relatedTarget)||c.relatedTarget.classList.contains("ace_content")||this.hide())},s}(o);x.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],function(k,x,z){var T=this&&this.__extends||function(){var i=function(s,c){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,m){h.__proto__=m}||function(h,m){for(var v in m)Object.prototype.hasOwnProperty.call(m,v)&&(h[v]=m[v])},i(s,c)};return function(s,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");i(s,c);function h(){this.constructor=s}s.prototype=c===null?Object.create(c):(h.prototype=c.prototype,new h)}}(),A=this&&this.__values||function(i){var s=typeof Symbol=="function"&&Symbol.iterator,c=s&&i[s],h=0;if(c)return c.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&h>=i.length&&(i=void 0),{value:i&&i[h++],done:!i}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},C=k("../lib/dom"),l=k("../lib/event"),u=k("../tooltip").Tooltip,r=k("../config").nls,o=5,n=3;x.GUTTER_TOOLTIP_LEFT_OFFSET=o,x.GUTTER_TOOLTIP_TOP_OFFSET=n;function t(i){var s=i.editor,c=s.renderer.$gutterLayer,h=new e(s,!0);i.editor.setDefaultHandler("guttermousedown",function(M){if(!(!s.isFocused()||M.getButton()!=0)){var S=c.getRegion(M);if(S!="foldWidgets"){var $=M.getDocumentPosition().row,R=s.session.selection;if(M.getShiftKey())R.selectTo($,0);else{if(M.domEvent.detail==2)return s.selectAll(),M.preventDefault();i.$clickSelection=s.selection.getLineRange($)}return i.setState("selectByLines"),i.captureMouse(M),M.preventDefault()}}});var m,v;function p(){var M=v.getDocumentPosition().row,S=s.session.getLength();if(M==S){var $=s.renderer.pixelToScreenCoordinates(0,v.y).row,R=v.$pos;if($>s.session.documentToScreenRow(R.row,R.column))return g()}if(h.showTooltip(M),!!h.isOpen)if(s.on("mousewheel",g),s.on("changeSession",g),window.addEventListener("keydown",g,!0),i.$tooltipFollowsMouse)w(v);else{var f=v.getGutterRow(),a=c.$lines.get(f);if(a){var d=a.element.querySelector(".ace_gutter_annotation"),y=d.getBoundingClientRect(),b=h.getElement().style;b.left=y.right-o+"px",b.top=y.bottom-n+"px"}else w(v)}}function g(M){M&&M.type==="keydown"&&(M.ctrlKey||M.metaKey)||M&&M.type==="mouseout"&&(!M.relatedTarget||h.getElement().contains(M.relatedTarget))||(m&&(m=clearTimeout(m)),h.isOpen&&(h.hideTooltip(),s.off("mousewheel",g),s.off("changeSession",g),window.removeEventListener("keydown",g,!0)))}function w(M){h.setPosition(M.x,M.y)}i.editor.setDefaultHandler("guttermousemove",function(M){var S=M.domEvent.target||M.domEvent.srcElement;if(C.hasCssClass(S,"ace_fold-widget"))return g();h.isOpen&&i.$tooltipFollowsMouse&&w(M),v=M,!m&&(m=setTimeout(function(){m=null,v&&!i.isMousePressed&&p()},50))}),l.addListener(s.renderer.$gutter,"mouseout",function(M){v=null,h.isOpen&&(m=setTimeout(function(){m=null,g(M)},50))},s)}x.GutterHandler=t;var e=function(i){T(s,i);function s(c,h){h===void 0&&(h=!1);var m=i.call(this,c.container)||this;m.editor=c,m.visibleTooltipRow;var v=m.getElement();return v.setAttribute("role","tooltip"),v.style.pointerEvents="auto",h&&(m.onMouseOut=m.onMouseOut.bind(m),v.addEventListener("mouseout",m.onMouseOut)),m}return s.prototype.onMouseOut=function(c){this.isOpen&&(!c.relatedTarget||this.getElement().contains(c.relatedTarget)||c&&c.currentTarget.contains(c.relatedTarget)||this.hideTooltip())},s.prototype.setPosition=function(c,h){var m=window.innerWidth||document.documentElement.clientWidth,v=window.innerHeight||document.documentElement.clientHeight,p=this.getWidth(),g=this.getHeight();c+=15,h+=15,c+p>m&&(c-=c+p-m),h+g>v&&(h-=20+g),u.prototype.setPosition.call(this,c,h)},Object.defineProperty(s,"annotationLabels",{get:function(){return{error:{singular:r("gutter-tooltip.aria-label.error.singular","error"),plural:r("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:r("gutter-tooltip.aria-label.security.singular","security finding"),plural:r("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:r("gutter-tooltip.aria-label.warning.singular","warning"),plural:r("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:r("gutter-tooltip.aria-label.info.singular","information message"),plural:r("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:r("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:r("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),s.prototype.showTooltip=function(c){var h,m=this.editor.renderer.$gutterLayer,v=m.$annotations[c],p;v?p={displayText:Array.from(v.displayText),type:Array.from(v.type)}:p={displayText:[],type:[]};var g=m.session.getFoldLine(c);if(g&&m.$showFoldedAnnotations){for(var w={error:[],security:[],warning:[],info:[],hint:[]},M={error:1,security:2,warning:3,info:4,hint:5},S,$=c+1;$<=g.end.row;$++)if(m.$annotations[$])for(var R=0;R<m.$annotations[$].text.length;R++){var f=m.$annotations[$].type[R];w[f].push(m.$annotations[$].text[R]),(!S||M[f]<M[S])&&(S=f)}if(["error","security","warning"].includes(S)){var a="".concat(s.annotationsToSummaryString(w)," in folded code.");p.displayText.push(a),p.type.push(S+"_fold")}}if(p.displayText.length===0)return this.hideTooltip();for(var d={error:[],security:[],warning:[],info:[],hint:[]},y=m.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",$=0;$<p.displayText.length;$++){var b=C.createElement("span"),L=C.createElement("span");(h=L.classList).add.apply(h,["ace_".concat(p.type[$]),y]),L.setAttribute("aria-label","".concat(s.annotationLabels[p.type[$].replace("_fold","")].singular)),L.setAttribute("role","img"),L.appendChild(C.createTextNode(" ")),b.appendChild(L),b.appendChild(C.createTextNode(p.displayText[$])),b.appendChild(C.createElement("br")),d[p.type[$].replace("_fold","")].push(b)}var E=this.getElement();C.removeChildren(E),d.error.forEach(function(_){return E.appendChild(_)}),d.security.forEach(function(_){return E.appendChild(_)}),d.warning.forEach(function(_){return E.appendChild(_)}),d.info.forEach(function(_){return E.appendChild(_)}),d.hint.forEach(function(_){return E.appendChild(_)}),E.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.visibleTooltipRow=c,this.editor._signal("showGutterTooltip",this)},s.prototype.hideTooltip=function(){this.isOpen&&(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this))},s.annotationsToSummaryString=function(c){var h,m,v=[],p=["error","security","warning","info","hint"];try{for(var g=A(p),w=g.next();!w.done;w=g.next()){var M=w.value;if(c[M].length){var S=c[M].length===1?s.annotationLabels[M].singular:s.annotationLabels[M].plural;v.push("".concat(c[M].length," ").concat(S))}}}catch($){h={error:$}}finally{try{w&&!w.done&&(m=g.return)&&m.call(g)}finally{if(h)throw h.error}}return v.join(", ")},s}(u);x.GutterTooltip=e}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(k,x,z){var T=k("../lib/event"),A=k("../lib/useragent"),C=function(){function l(u,r){this.speed,this.wheelX,this.wheelY,this.domEvent=u,this.editor=r,this.x=this.clientX=u.clientX,this.y=this.clientY=u.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return l.prototype.stopPropagation=function(){T.stopPropagation(this.domEvent),this.propagationStopped=!0},l.prototype.preventDefault=function(){T.preventDefault(this.domEvent),this.defaultPrevented=!0},l.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},l.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},l.prototype.getGutterRow=function(){var u=this.getDocumentPosition().row,r=this.editor.session.documentToScreenRow(u,0),o=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return r-o},l.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var u=this.editor,r=u.getSelectionRange();if(r.isEmpty())this.$inSelection=!1;else{var o=this.getDocumentPosition();this.$inSelection=r.contains(o.row,o.column)}return this.$inSelection},l.prototype.getButton=function(){return T.getButton(this.domEvent)},l.prototype.getShiftKey=function(){return this.domEvent.shiftKey},l.prototype.getAccelKey=function(){return A.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},l}();x.MouseEvent=C}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(k,x,z){var T=k("../lib/dom"),A=k("../lib/event"),C=k("../lib/useragent"),l=200,u=200,r=5;function o(t){var e=t.editor,i=T.createElement("div");i.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",i.textContent=" ";var s=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];s.forEach(function(D){t[D]=this[D]},this),e.on("mousedown",this.onMouseDown.bind(t));var c=e.container,h,m,v,p,g,w,M=0,S,$,R,f,a;this.onDragStart=function(D){if(this.cancelDrag||!c.draggable){var N=this;return setTimeout(function(){N.startSelect(),N.captureMouse(D)},0),D.preventDefault()}g=e.getSelectionRange();var H=D.dataTransfer;H.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(i),H.setDragImage&&H.setDragImage(i,0,0),setTimeout(function(){e.container.removeChild(i)}),H.clearData(),H.setData("Text",e.session.getTextRange()),$=!0,this.setState("drag")},this.onDragEnd=function(D){if(c.draggable=!1,$=!1,this.setState(null),!e.getReadOnly()){var N=D.dataTransfer.dropEffect;!S&&N=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(D){if(!(e.getReadOnly()||!O(D.dataTransfer)))return m=D.clientX,v=D.clientY,h||L(),M++,D.dataTransfer.dropEffect=S=W(D),A.preventDefault(D)},this.onDragOver=function(D){if(!(e.getReadOnly()||!O(D.dataTransfer)))return m=D.clientX,v=D.clientY,h||(L(),M++),_!==null&&(_=null),D.dataTransfer.dropEffect=S=W(D),A.preventDefault(D)},this.onDragLeave=function(D){if(M--,M<=0&&h)return E(),S=null,A.preventDefault(D)},this.onDrop=function(D){if(w){var N=D.dataTransfer;if($)switch(S){case"move":g.contains(w.row,w.column)?g={start:w,end:w}:g=e.moveText(g,w);break;case"copy":g=e.moveText(g,w,!0);break}else{var H=N.getData("Text");g={start:w,end:e.session.insert(w,H)},e.focus(),S=null}return E(),A.preventDefault(D)}},A.addListener(c,"dragstart",this.onDragStart.bind(t),e),A.addListener(c,"dragend",this.onDragEnd.bind(t),e),A.addListener(c,"dragenter",this.onDragEnter.bind(t),e),A.addListener(c,"dragover",this.onDragOver.bind(t),e),A.addListener(c,"dragleave",this.onDragLeave.bind(t),e),A.addListener(c,"drop",this.onDrop.bind(t),e);function d(D,N){var H=Date.now(),F=!N||D.row!=N.row,P=!N||D.column!=N.column;if(!f||F||P)e.moveCursorToPosition(D),f=H,a={x:m,y:v};else{var j=n(a.x,a.y,m,v);j>r?f=null:H-f>=u&&(e.renderer.scrollCursorIntoView(),f=null)}}function y(D,N){var H=Date.now(),F=e.renderer.layerConfig.lineHeight,P=e.renderer.layerConfig.characterWidth,j=e.renderer.scroller.getBoundingClientRect(),V={x:{left:m-j.left,right:j.right-m},y:{top:v-j.top,bottom:j.bottom-v}},U=Math.min(V.x.left,V.x.right),K=Math.min(V.y.top,V.y.bottom),J={row:D.row,column:D.column};U/P<=2&&(J.column+=V.x.left<V.x.right?-3:2),K/F<=1&&(J.row+=V.y.top<V.y.bottom?-1:1);var oe=D.row!=J.row,re=D.column!=J.column,q=!N||D.row!=N.row;oe||re&&!q?R?H-R>=l&&e.renderer.scrollCursorIntoView(J):R=H:R=null}function b(){var D=w;w=e.renderer.screenToTextCoordinates(m,v),d(w,D),y(w,D)}function L(){g=e.selection.toOrientedRange(),h=e.session.addMarker(g,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval(p),b(),p=setInterval(b,20),M=0,A.addListener(document,"mousemove",I)}function E(){clearInterval(p),e.session.removeMarker(h),h=null,e.selection.fromOrientedRange(g),e.isFocused()&&!$&&e.$resetCursorStyle(),g=null,w=null,M=0,R=null,f=null,A.removeListener(document,"mousemove",I)}var _=null;function I(){_==null&&(_=setTimeout(function(){_!=null&&h&&E()},20))}function O(D){var N=D.types;return!N||Array.prototype.some.call(N,function(H){return H=="text/plain"||H=="Text"})}function W(D){var N=["copy","copymove","all","uninitialized"],H=["move","copymove","linkmove","all","uninitialized"],F=C.isMac?D.altKey:D.ctrlKey,P="uninitialized";try{P=D.dataTransfer.effectAllowed.toLowerCase()}catch{}var j="none";return F&&N.indexOf(P)>=0?j="copy":H.indexOf(P)>=0?j="move":N.indexOf(P)>=0&&(j="copy"),j}}(function(){this.dragWait=function(){var t=Date.now()-this.mousedownEvent.time;t>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var t=this.editor.container;t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(t){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var t=this.editor,e=t.container;e.draggable=!0,t.renderer.$cursorLayer.setBlinking(!1),t.setStyle("ace_dragging");var i=C.isWin?"default":"move";t.renderer.setCursorStyle(i),this.setState("dragReady")},this.onMouseDrag=function(t){var e=this.editor.container;if(C.isIE&&this.state=="dragReady"){var i=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);i>3&&e.dragDrop()}if(this.state==="dragWait"){var i=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);i>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(t){if(this.$dragEnabled){this.mousedownEvent=t;var e=this.editor,i=t.inSelection(),s=t.getButton(),c=t.domEvent.detail||1;if(c===1&&s===0&&i){if(t.editor.inMultiSelectMode&&(t.getAccelKey()||t.getShiftKey()))return;this.mousedownEvent.time=Date.now();var h=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in h&&(h.unselectable="on"),e.getDragDelay()){if(C.isWebKit){this.cancelDrag=!0;var m=e.container;m.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(t,this.onMouseDrag.bind(this)),t.defaultPrevented=!0}}}}).call(o.prototype);function n(t,e,i,s){return Math.sqrt(Math.pow(i-t,2)+Math.pow(s-e,2))}x.DragdropHandler=o}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(k,x,z){var T=k("./mouse_event").MouseEvent,A=k("../lib/event"),C=k("../lib/dom");x.addTouchListeners=function(l,u){var r="scroll",o,n,t,e,i,s,c=0,h,m=0,v=0,p=0,g,w;function M(){var d=window.navigator&&window.navigator.clipboard,y=!1,b=function(){var _=u.getCopyText(),I=u.session.getUndoManager().hasUndo();w.replaceChild(C.buildDom(y?["span",!_&&L("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],_&&L("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],_&&L("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],d&&L("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],I&&L("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],L("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],L("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),w.firstChild)},L=function(_){return u.commands.canExecute(_,u)},E=function(_){var I=_.target.getAttribute("action");if(I=="more"||!y)return y=!y,b();I=="paste"?d.readText().then(function(O){u.execCommand(I,O)}):I&&((I=="cut"||I=="copy")&&(d?d.writeText(u.getCopyText()):document.execCommand("copy")),u.execCommand(I)),w.firstChild.style.display="none",y=!1,I!="openCommandPalette"&&u.focus()};w=C.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(_){r="menu",_.stopPropagation(),_.preventDefault(),u.textInput.focus()},ontouchend:function(_){_.stopPropagation(),_.preventDefault(),E(_)},onclick:E},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],u.container)}function S(){if(!u.getOption("enableMobileMenu")){w&&$();return}w||M();var d=u.selection.cursor,y=u.renderer.textToScreenCoordinates(d.row,d.column),b=u.renderer.textToScreenCoordinates(0,0).pageX,L=u.renderer.scrollLeft,E=u.container.getBoundingClientRect();w.style.top=y.pageY-E.top-3+"px",y.pageX-E.left<E.width-70?(w.style.left="",w.style.right="10px"):(w.style.right="",w.style.left=b+L-E.left+"px"),w.style.display="",w.firstChild.style.display="none",u.on("input",$)}function $(d){w&&(w.style.display="none"),u.off("input",$)}function R(){i=null,clearTimeout(i);var d=u.selection.getRange(),y=d.contains(h.row,h.column);(d.isEmpty()||!y)&&(u.selection.moveToPosition(h),u.selection.selectWord()),r="wait",S()}function f(){i=null,clearTimeout(i),u.selection.moveToPosition(h);var d=m>=2?u.selection.getLineRange(h.row):u.session.getBracketRange(h);d&&!d.isEmpty()?u.selection.setRange(d):u.selection.selectWord(),r="wait"}A.addListener(l,"contextmenu",function(d){if(g){var y=u.textInput.getElement();y.focus()}},u),A.addListener(l,"touchstart",function(d){var y=d.touches;if(i||y.length>1){clearTimeout(i),i=null,t=-1,r="zoom";return}g=u.$mouseHandler.isMousePressed=!0;var b=u.renderer.layerConfig.lineHeight,L=u.renderer.layerConfig.lineHeight,E=d.timeStamp;e=E;var _=y[0],I=_.clientX,O=_.clientY;Math.abs(o-I)+Math.abs(n-O)>b&&(t=-1),o=d.clientX=I,n=d.clientY=O,v=p=0;var W=new T(d,u);if(h=W.getDocumentPosition(),E-t<500&&y.length==1&&!c)m++,d.preventDefault(),d.button=0,f();else{m=0;var D=u.selection.cursor,N=u.selection.isEmpty()?D:u.selection.anchor,H=u.renderer.$cursorLayer.getPixelPosition(D,!0),F=u.renderer.$cursorLayer.getPixelPosition(N,!0),P=u.renderer.scroller.getBoundingClientRect(),j=u.renderer.layerConfig.offset,V=u.renderer.scrollLeft,U=function(oe,re){return oe=oe/L,re=re/b-.75,oe*oe+re*re};if(d.clientX<P.left){r="zoom";return}var K=U(d.clientX-P.left-H.left+V,d.clientY-P.top-H.top+j),J=U(d.clientX-P.left-F.left+V,d.clientY-P.top-F.top+j);K<3.5&&J<3.5&&(r=K>J?"cursor":"anchor"),J<3.5?r="anchor":K<3.5?r="cursor":r="scroll",i=setTimeout(R,450)}t=E},u),A.addListener(l,"touchend",function(d){g=u.$mouseHandler.isMousePressed=!1,s&&clearInterval(s),r=="zoom"?(r="",c=0):i?(u.selection.moveToPosition(h),c=0,S()):r=="scroll"?(a(),$()):S(),clearTimeout(i),i=null},u),A.addListener(l,"touchmove",function(d){i&&(clearTimeout(i),i=null);var y=d.touches;if(!(y.length>1||r=="zoom")){var b=y[0],L=o-b.clientX,E=n-b.clientY;if(r=="wait")if(L*L+E*E>4)r="cursor";else return d.preventDefault();o=b.clientX,n=b.clientY,d.clientX=b.clientX,d.clientY=b.clientY;var _=d.timeStamp,I=_-e;if(e=_,r=="scroll"){var O=new T(d,u);O.speed=1,O.wheelX=L,O.wheelY=E,10*Math.abs(L)<Math.abs(E)&&(L=0),10*Math.abs(E)<Math.abs(L)&&(E=0),I!=0&&(v=L/I,p=E/I),u._emit("mousewheel",O),O.propagationStopped||(v=p=0)}else{var W=new T(d,u),D=W.getDocumentPosition();r=="cursor"?u.selection.moveCursorToPosition(D):r=="anchor"&&u.selection.setSelectionAnchor(D.row,D.column),u.renderer.scrollCursorIntoView(D),d.preventDefault()}}},u);function a(){c+=60,s=setInterval(function(){c--<=0&&(clearInterval(s),s=null),Math.abs(v)<.01&&(v=0),Math.abs(p)<.01&&(p=0),c<20&&(v=.9*v),c<20&&(p=.9*p);var d=u.session.getScrollTop();u.renderer.scrollBy(10*v,10*p),d==u.session.getScrollTop()&&(c=0)},10)}}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(k,x,z){var T=k("../lib/event"),A=k("../lib/useragent"),C=k("./default_handlers").DefaultHandlers,l=k("./default_gutter_handler").GutterHandler,u=k("./mouse_event").MouseEvent,r=k("./dragdrop_handler").DragdropHandler,o=k("./touch_handler").addTouchListeners,n=k("../config"),t=function(){function e(i){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var s=this;this.editor=i,new C(this),new l(this),new r(this);var c=function(v){var p=!document.hasFocus||!document.hasFocus()||!i.isFocused()&&document.activeElement==(i.textInput&&i.textInput.getElement());p&&window.focus(),i.focus(),setTimeout(function(){i.isFocused()||i.focus()})},h=i.renderer.getMouseEventTarget();T.addListener(h,"click",this.onMouseEvent.bind(this,"click"),i),T.addListener(h,"mousemove",this.onMouseMove.bind(this,"mousemove"),i),T.addMultiMouseDownListener([h,i.renderer.scrollBarV&&i.renderer.scrollBarV.inner,i.renderer.scrollBarH&&i.renderer.scrollBarH.inner,i.textInput&&i.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",i),T.addMouseWheelListener(i.container,this.onMouseWheel.bind(this,"mousewheel"),i),o(i.container,i);var m=i.renderer.$gutter;T.addListener(m,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),i),T.addListener(m,"click",this.onMouseEvent.bind(this,"gutterclick"),i),T.addListener(m,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),i),T.addListener(m,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),i),T.addListener(h,"mousedown",c,i),T.addListener(m,"mousedown",c,i),A.isIE&&i.renderer.scrollBarV&&(T.addListener(i.renderer.scrollBarV.element,"mousedown",c,i),T.addListener(i.renderer.scrollBarH.element,"mousedown",c,i)),i.on("mousemove",function(v){if(!(s.state||s.$dragDelay||!s.$dragEnabled)){var p=i.renderer.screenToTextCoordinates(v.x,v.y),g=i.session.selection.getRange(),w=i.renderer;!g.isEmpty()&&g.insideStart(p.row,p.column)?w.setCursorStyle("default"):w.setCursorStyle("")}},i)}return e.prototype.onMouseEvent=function(i,s){this.editor.session&&this.editor._emit(i,new u(s,this.editor))},e.prototype.onMouseMove=function(i,s){var c=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!c||!c.length||this.editor._emit(i,new u(s,this.editor))},e.prototype.onMouseWheel=function(i,s){var c=new u(s,this.editor);c.speed=this.$scrollSpeed*2,c.wheelX=s.wheelX,c.wheelY=s.wheelY,this.editor._emit(i,c)},e.prototype.setState=function(i){this.state=i},e.prototype.captureMouse=function(i,s){this.x=i.x,this.y=i.y,this.isMousePressed=!0;var c=this.editor,h=this.editor.renderer;h.$isMousePressed=!0;var m=this,v=function(S){if(S){if(A.isWebKit&&!S.which&&m.releaseMouse)return m.releaseMouse();m.x=S.clientX,m.y=S.clientY,s&&s(S),m.mouseEvent=new u(S,m.editor),m.$mouseMoved=!0}},p=function(S){c.off("beforeEndOperation",w),clearInterval(M),c.session&&g(),m[m.state+"End"]&&m[m.state+"End"](S),m.state="",m.isMousePressed=h.$isMousePressed=!1,h.$keepTextAreaAtCursor&&h.$moveTextAreaToCursor(),m.$onCaptureMouseMove=m.releaseMouse=null,S&&m.onMouseEvent("mouseup",S),c.endOperation()},g=function(){m[m.state]&&m[m.state](),m.$mouseMoved=!1};if(A.isOldIE&&i.domEvent.type=="dblclick")return setTimeout(function(){p(i)});var w=function(S){m.releaseMouse&&c.curOp.command.name&&c.curOp.selectionChanged&&(m[m.state+"End"]&&m[m.state+"End"](),m.state="",m.releaseMouse())};c.on("beforeEndOperation",w),c.startOperation({command:{name:"mouse"}}),m.$onCaptureMouseMove=v,m.releaseMouse=T.capture(this.editor.container,v,p);var M=setInterval(g,20)},e.prototype.cancelContextMenu=function(){var i=function(s){s&&s.domEvent&&s.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",i),s&&s.domEvent&&T.stopEvent(s.domEvent))}.bind(this);setTimeout(i,10),this.editor.on("nativecontextmenu",i)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},e}();t.prototype.releaseMouse=null,n.defineOptions(t.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:A.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),x.MouseHandler=t}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(k,x,z){var T=k("../lib/dom"),A=function(){function C(l){l.on("click",function(u){var r=u.getDocumentPosition(),o=l.session,n=o.getFoldAt(r.row,r.column,1);n&&(u.getAccelKey()?o.removeFold(n):o.expandFold(n),u.stop());var t=u.domEvent&&u.domEvent.target;t&&T.hasCssClass(t,"ace_inline_button")&&T.hasCssClass(t,"ace_toggle_wrap")&&(o.setOption("wrap",!o.getUseWrapMode()),l.renderer.scrollCursorIntoView())}),l.on("gutterclick",function(u){var r=l.renderer.$gutterLayer.getRegion(u);if(r=="foldWidgets"){var o=u.getDocumentPosition().row,n=l.session;n.foldWidgets&&n.foldWidgets[o]&&l.session.onFoldWidgetClick(o,u),l.isFocused()||l.focus(),u.stop()}}),l.on("gutterdblclick",function(u){var r=l.renderer.$gutterLayer.getRegion(u);if(r=="foldWidgets"){var o=u.getDocumentPosition().row,n=l.session,t=n.getParentFoldRangeData(o,!0),e=t.range||t.firstRange;if(e){o=e.start.row;var i=n.getFoldAt(o,n.getLine(o).length,1);i?n.removeFold(i):(n.addFold("...",e),l.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}u.stop()}})}return C}();x.FoldHandler=A}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(k,x,z){var T=k("../lib/keys"),A=k("../lib/event"),C=function(){function l(u){this.$editor=u,this.$data={editor:u},this.$handlers=[],this.setDefaultHandler(u.commands)}return l.prototype.setDefaultHandler=function(u){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=u,this.addKeyboardHandler(u,0)},l.prototype.setKeyboardHandler=function(u){var r=this.$handlers;if(r[r.length-1]!=u){for(;r[r.length-1]&&r[r.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(r[r.length-1]);this.addKeyboardHandler(u,1)}},l.prototype.addKeyboardHandler=function(u,r){if(u){typeof u=="function"&&!u.handleKeyboard&&(u.handleKeyboard=u);var o=this.$handlers.indexOf(u);o!=-1&&this.$handlers.splice(o,1),r==null?this.$handlers.push(u):this.$handlers.splice(r,0,u),o==-1&&u.attach&&u.attach(this.$editor)}},l.prototype.removeKeyboardHandler=function(u){var r=this.$handlers.indexOf(u);return r==-1?!1:(this.$handlers.splice(r,1),u.detach&&u.detach(this.$editor),!0)},l.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},l.prototype.getStatusText=function(){var u=this.$data,r=u.editor;return this.$handlers.map(function(o){return o.getStatusText&&o.getStatusText(r,u)||""}).filter(Boolean).join(" ")},l.prototype.$callKeyboardHandlers=function(u,r,o,n){for(var t,e=!1,i=this.$editor.commands,s=this.$handlers.length;s--&&(t=this.$handlers[s].handleKeyboard(this.$data,u,r,o,n),!(!(!t||!t.command)&&(t.command=="null"?e=!0:e=i.exec(t.command,this.$editor,t.args,n),e&&n&&u!=-1&&t.passEvent!=!0&&t.command.passEvent!=!0&&A.stopEvent(n),e))););return!e&&u==-1&&(t={command:"insertstring"},e=i.exec("insertstring",this.$editor,r)),e&&this.$editor._signal&&this.$editor._signal("keyboardActivity",t),e},l.prototype.onCommandKey=function(u,r,o){var n=T.keyCodeToString(o);return this.$callKeyboardHandlers(r,n,o,u)},l.prototype.onTextInput=function(u){return this.$callKeyboardHandlers(-1,u)},l}();x.KeyBinding=C}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(k,x,z){var T=0,A=0,C=!1,l=!1,u=!1,r=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],o=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],n=0,t=1,e=0,i=1,s=2,c=3,h=4,m=5,v=6,p=7,g=8,w=9,M=10,S=11,$=12,R=13,f=14,a=15,d=16,y=17,b=18,L=[b,b,b,b,b,b,b,b,b,v,m,v,g,m,b,b,b,b,b,b,b,b,b,b,b,b,b,b,m,m,m,v,g,h,h,S,S,S,h,h,h,h,h,M,w,M,w,w,s,s,s,s,s,s,s,s,s,s,w,h,h,h,h,h,h,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,h,h,h,h,h,h,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,h,h,h,h,b,b,b,b,b,b,m,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,h,S,S,S,S,h,h,h,h,e,h,h,b,h,h,S,S,s,s,h,e,h,h,h,s,e,h,h,h,h,h],E=[g,g,g,g,g,g,g,g,g,g,g,b,b,b,e,i,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,g,m,R,f,a,d,y,w,S,S,S,S,S,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,w,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,g];function _(D,N,H,F){var P=T?o:r,j=null,V=null,U=null,K=0,J=null,oe=null,re=-1,q=null,ae=null,le=[];if(!F)for(q=0,F=[];q<H;q++)F[q]=W(D[q]);for(A=T,C=!1,l=!1,u=!1,ae=0;ae<H;ae++){if(j=K,le[ae]=V=O(D,F,le,ae),K=P[j][V],J=K&240,K&=15,N[ae]=U=P[K][5],J>0)if(J==16){for(q=re;q<ae;q++)N[q]=1;re=-1}else re=-1;if(oe=P[K][6],oe)re==-1&&(re=ae);else if(re>-1){for(q=re;q<ae;q++)N[q]=U;re=-1}F[ae]==m&&(N[ae]=0),A|=U}if(u){for(q=0;q<H;q++)if(F[q]==v){N[q]=T;for(var ce=q-1;ce>=0&&F[ce]==g;ce--)N[ce]=T}}}function I(D,N,H){if(!(A<D)){if(D==1&&T==t&&!l){H.reverse();return}for(var F=H.length,P=0,j,V,U,K;P<F;){if(N[P]>=D){for(j=P+1;j<F&&N[j]>=D;)j++;for(V=P,U=j-1;V<U;V++,U--)K=H[V],H[V]=H[U],H[U]=K;P=j}P++}}}function O(D,N,H,F){var P=N[F],j,V,U,K;switch(P){case e:case i:C=!1;case h:case c:return P;case s:return C?c:s;case p:return C=!0,i;case g:return h;case w:return F<1||F+1>=N.length||(j=H[F-1])!=s&&j!=c||(V=N[F+1])!=s&&V!=c?h:(C&&(V=c),V==j?V:h);case M:return j=F>0?H[F-1]:m,j==s&&F+1<N.length&&N[F+1]==s?s:h;case S:if(F>0&&H[F-1]==s)return s;if(C)return h;for(K=F+1,U=N.length;K<U&&N[K]==S;)K++;return K<U&&N[K]==s?s:h;case $:for(U=N.length,K=F+1;K<U&&N[K]==$;)K++;if(K<U){var J=D[F],oe=J>=1425&&J<=2303||J==64286;if(j=N[K],oe&&(j==i||j==p))return i}return F<1||(j=N[F-1])==m?h:H[F-1];case m:return C=!1,l=!0,T;case v:return u=!0,h;case R:case f:case d:case y:case a:C=!1;case b:return h}}function W(D){var N=D.charCodeAt(0),H=N>>8;return H==0?N>191?e:L[N]:H==5?/[\u0591-\u05f4]/.test(D)?i:e:H==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(D)?$:/[\u0660-\u0669\u066b-\u066c]/.test(D)?c:N==1642?S:/[\u06f0-\u06f9]/.test(D)?s:p:H==32&&N<=8287?E[N&255]:H==254&&N>=65136?p:h}x.L=e,x.R=i,x.EN=s,x.ON_R=3,x.AN=4,x.R_H=5,x.B=6,x.RLE=7,x.DOT="·",x.doBidiReorder=function(D,N,H){if(D.length<2)return{};var F=D.split(""),P=new Array(F.length),j=new Array(F.length),V=[];T=H?t:n,_(F,V,F.length,N);for(var U=0;U<P.length;P[U]=U,U++);I(2,V,P),I(1,V,P);for(var U=0;U<P.length-1;U++)N[U]===c?V[U]=x.AN:V[U]===i&&(N[U]>p&&N[U]<R||N[U]===h||N[U]===b)?V[U]=x.ON_R:U>0&&F[U-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(F[U])&&(V[U-1]=V[U]=x.R_H,U++);F[F.length-1]===x.DOT&&(V[F.length-1]=x.B),F[0]===""&&(V[0]=x.RLE);for(var U=0;U<P.length;U++)j[U]=V[P[U]];return{logicalFromVisual:P,bidiLevels:j}},x.hasBidiCharacters=function(D,N){for(var H=!1,F=0;F<D.length;F++)N[F]=W(D.charAt(F)),!H&&(N[F]==i||N[F]==p||N[F]==c)&&(H=!0);return H},x.getVisualFromLogicalIdx=function(D,N){for(var H=0;H<N.logicalFromVisual.length;H++)if(N.logicalFromVisual[H]==D)return H;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(k,x,z){var T=k("./lib/bidiutil"),A=k("./lib/lang"),C=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,l=function(){function u(r){this.session=r,this.bidiMap={},this.currentRow=null,this.bidiUtil=T,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=C.test(r.getValue())}return u.prototype.isBidiRow=function(r,o,n){return this.seenBidi?(r!==this.currentRow&&(this.currentRow=r,this.updateRowLine(o,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},u.prototype.onChange=function(r){this.seenBidi?this.currentRow=null:r.action=="insert"&&C.test(r.lines.join(`
|
|
179
|
-
`))&&(this.seenBidi=!0,this.currentRow=null)},u.prototype.getDocumentRow=function(){var r=0,o=this.session.$screenRowCache;if(o.length){var n=this.session.$getRowCacheIndex(o,this.currentRow);n>=0&&(r=this.session.$docRowCache[n])}return r},u.prototype.getSplitIndex=function(){var r=0,o=this.session.$screenRowCache;if(o.length)for(var n,t=this.session.$getRowCacheIndex(o,this.currentRow);this.currentRow-r>0&&(n=this.session.$getRowCacheIndex(o,this.currentRow-r-1),n===t);)t=n,r++;else r=this.currentRow;return r},u.prototype.updateRowLine=function(r,o){r===void 0&&(r=this.getDocumentRow());var n=r===this.session.getLength()-1,t=n?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(r),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var e=this.session.$wrapData[r];e&&(o===void 0&&(o=this.getSplitIndex()),o>0&&e.length?(this.wrapIndent=e.indent,this.wrapOffset=this.wrapIndent*this.charWidths[T.L],this.line=o<e.length?this.line.substring(e[o-1],e[o]):this.line.substring(e[e.length-1])):this.line=this.line.substring(0,e[o]),o==e.length&&(this.line+=this.showInvisibles?t:T.DOT))}else this.line+=this.showInvisibles?t:T.DOT;var i=this.session,s=0,c;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(h,m){return h===" "||i.isFullWidth(h.charCodeAt(0))?(c=h===" "?i.getScreenTabSize(m+s):2,s+=c-1,A.stringRepeat(T.DOT,c)):h}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==T.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},u.prototype.updateBidiMap=function(){var r=[];T.hasBidiCharacters(this.line,r)||this.isRtlDir?this.bidiMap=T.doBidiReorder(this.line,r,this.isRtlDir):this.bidiMap={}},u.prototype.markAsDirty=function(){this.currentRow=null},u.prototype.updateCharacterWidths=function(r){if(this.characterWidth!==r.$characterSize.width){this.fontMetrics=r;var o=this.characterWidth=r.$characterSize.width,n=r.$measureCharWidth("ה");this.charWidths[T.L]=this.charWidths[T.EN]=this.charWidths[T.ON_R]=o,this.charWidths[T.R]=this.charWidths[T.AN]=n,this.charWidths[T.R_H]=n*.45,this.charWidths[T.B]=this.charWidths[T.RLE]=0,this.currentRow=null}},u.prototype.setShowInvisibles=function(r){this.showInvisibles=r,this.currentRow=null},u.prototype.setEolChar=function(r){this.EOL=r},u.prototype.setContentWidth=function(r){this.contentWidth=r},u.prototype.isRtlLine=function(r){return this.$isRtl?!0:r!=null?this.session.getLine(r).charAt(0)==this.RLE:this.isRtlDir},u.prototype.setRtlDirection=function(r,o){for(var n=r.getCursorPosition(),t=r.selection.getSelectionAnchor().row;t<=n.row;t++)!o&&r.session.getLine(t).charAt(0)===r.session.$bidiHandler.RLE?r.session.doc.removeInLine(t,0,1):o&&r.session.getLine(t).charAt(0)!==r.session.$bidiHandler.RLE&&r.session.doc.insert({column:0,row:t},r.session.$bidiHandler.RLE)},u.prototype.getPosLeft=function(r){r-=this.wrapIndent;var o=this.line.charAt(0)===this.RLE?1:0,n=r>o?this.session.getOverwrite()?r:r-1:o,t=T.getVisualFromLogicalIdx(n,this.bidiMap),e=this.bidiMap.bidiLevels,i=0;!this.session.getOverwrite()&&r<=o&&e[t]%2!==0&&t++;for(var s=0;s<t;s++)i+=this.charWidths[e[s]];return!this.session.getOverwrite()&&r>o&&e[t]%2===0&&(i+=this.charWidths[e[t]]),this.wrapIndent&&(i+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(i+=this.rtlLineOffset),i},u.prototype.getSelections=function(r,o){var n=this.bidiMap,t=n.bidiLevels,e,i=[],s=0,c=Math.min(r,o)-this.wrapIndent,h=Math.max(r,o)-this.wrapIndent,m=!1,v=!1,p=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var g,w=0;w<t.length;w++)g=n.logicalFromVisual[w],e=t[w],m=g>=c&&g<h,m&&!v?p=s:!m&&v&&i.push({left:p,width:s-p}),s+=this.charWidths[e],v=m;if(m&&w===t.length&&i.push({left:p,width:s-p}),this.isRtlDir)for(var M=0;M<i.length;M++)i[M].left+=this.rtlLineOffset;return i},u.prototype.offsetToCol=function(n){this.isRtlDir&&(n-=this.rtlLineOffset);var o=0,n=Math.max(n,0),t=0,e=0,i=this.bidiMap.bidiLevels,s=this.charWidths[i[e]];for(this.wrapIndent&&(n-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);n>t+s/2;){if(t+=s,e===i.length-1){s=0;break}s=this.charWidths[i[++e]]}return e>0&&i[e-1]%2!==0&&i[e]%2===0?(n<t&&e--,o=this.bidiMap.logicalFromVisual[e]):e>0&&i[e-1]%2===0&&i[e]%2!==0?o=1+(n>t?this.bidiMap.logicalFromVisual[e]:this.bidiMap.logicalFromVisual[e-1]):this.isRtlDir&&e===i.length-1&&s===0&&i[e-1]%2===0||!this.isRtlDir&&e===0&&i[e]%2!==0?o=1+this.bidiMap.logicalFromVisual[e]:(e>0&&i[e-1]%2!==0&&s!==0&&e--,o=this.bidiMap.logicalFromVisual[e]),o===0&&this.isRtlDir&&o++,o+this.wrapIndent},u}();x.BidiHandler=l}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(k,x,z){var T=k("./lib/oop"),A=k("./lib/lang"),C=k("./lib/event_emitter").EventEmitter,l=k("./range").Range,u=function(){function r(o){this.session=o,this.doc=o.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var n=this;this.cursor.on("change",function(t){n.$cursorChanged=!0,n.$silent||n._emit("changeCursor"),!n.$isEmpty&&!n.$silent&&n._emit("changeSelection"),!n.$keepDesiredColumnOnChange&&t.old.column!=t.value.column&&(n.$desiredColumn=null)}),this.anchor.on("change",function(){n.$anchorChanged=!0,!n.$isEmpty&&!n.$silent&&n._emit("changeSelection")})}return r.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},r.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},r.prototype.getCursor=function(){return this.lead.getPosition()},r.prototype.setAnchor=function(o,n){this.$isEmpty=!1,this.anchor.setPosition(o,n)},r.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},r.prototype.getSelectionLead=function(){return this.lead.getPosition()},r.prototype.isBackwards=function(){var o=this.anchor,n=this.lead;return o.row>n.row||o.row==n.row&&o.column>n.column},r.prototype.getRange=function(){var o=this.anchor,n=this.lead;return this.$isEmpty?l.fromPoints(n,n):this.isBackwards()?l.fromPoints(n,o):l.fromPoints(o,n)},r.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},r.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},r.prototype.setRange=function(o,n){var t=n?o.end:o.start,e=n?o.start:o.end;this.$setSelection(t.row,t.column,e.row,e.column)},r.prototype.$setSelection=function(o,n,t,e){if(!this.$silent){var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(o,n),this.cursor.setPosition(t,e),this.$isEmpty=!l.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")}},r.prototype.$moveSelection=function(o){var n=this.lead;this.$isEmpty&&this.setSelectionAnchor(n.row,n.column),o.call(this)},r.prototype.selectTo=function(o,n){this.$moveSelection(function(){this.moveCursorTo(o,n)})},r.prototype.selectToPosition=function(o){this.$moveSelection(function(){this.moveCursorToPosition(o)})},r.prototype.moveTo=function(o,n){this.clearSelection(),this.moveCursorTo(o,n)},r.prototype.moveToPosition=function(o){this.clearSelection(),this.moveCursorToPosition(o)},r.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},r.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},r.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},r.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},r.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},r.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},r.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},r.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},r.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},r.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},r.prototype.getWordRange=function(o,n){if(typeof n>"u"){var t=o||this.lead;o=t.row,n=t.column}return this.session.getWordRange(o,n)},r.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},r.prototype.selectAWord=function(){var o=this.getCursor(),n=this.session.getAWordRange(o.row,o.column);this.setSelectionRange(n)},r.prototype.getLineRange=function(o,n){var t=typeof o=="number"?o:this.lead.row,e,i=this.session.getFoldLine(t);return i?(t=i.start.row,e=i.end.row):e=t,n===!0?new l(t,0,e,this.session.getLine(e).length):new l(t,0,e+1,0)},r.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},r.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},r.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},r.prototype.wouldMoveIntoSoftTab=function(o,n,t){var e=o.column,i=o.column+n;return t<0&&(e=o.column-n,i=o.column),this.session.isTabStop(o)&&this.doc.getLine(o.row).slice(e,i).split(" ").length-1==n},r.prototype.moveCursorLeft=function(){var o=this.lead.getPosition(),n;if(n=this.session.getFoldAt(o.row,o.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(o.column===0)o.row>0&&this.moveCursorTo(o.row-1,this.doc.getLine(o.row-1).length);else{var t=this.session.getTabSize();this.wouldMoveIntoSoftTab(o,t,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1)}},r.prototype.moveCursorRight=function(){var o=this.lead.getPosition(),n;if(n=this.session.getFoldAt(o.row,o.column,1))this.moveCursorTo(n.end.row,n.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var t=this.session.getTabSize(),o=this.lead;this.wouldMoveIntoSoftTab(o,t,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,t):this.moveCursorBy(0,1)}},r.prototype.moveCursorLineStart=function(){var o=this.lead.row,n=this.lead.column,t=this.session.documentToScreenRow(o,n),e=this.session.screenToDocumentPosition(t,0),i=this.session.getDisplayLine(o,null,e.row,e.column),s=i.match(/^\s*/);s[0].length!=n&&!this.session.$useEmacsStyleLineStart&&(e.column+=s[0].length),this.moveCursorToPosition(e)},r.prototype.moveCursorLineEnd=function(){var o=this.lead,n=this.session.getDocumentLastRowColumnPosition(o.row,o.column);if(this.lead.column==n.column){var t=this.session.getLine(n.row);if(n.column==t.length){var e=t.search(/\s+$/);e>0&&(n.column=e)}}this.moveCursorTo(n.row,n.column)},r.prototype.moveCursorFileEnd=function(){var o=this.doc.getLength()-1,n=this.doc.getLine(o).length;this.moveCursorTo(o,n)},r.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},r.prototype.moveCursorLongWordRight=function(){var o=this.lead.row,n=this.lead.column,t=this.doc.getLine(o),e=t.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(o,n,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}if(this.session.nonTokenRe.exec(e)&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=t.substring(n)),n>=t.length){this.moveCursorTo(o,t.length),this.moveCursorRight(),o<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(e)&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(o,n)},r.prototype.moveCursorLongWordLeft=function(){var o=this.lead.row,n=this.lead.column,t;if(t=this.session.getFoldAt(o,n,-1)){this.moveCursorTo(t.start.row,t.start.column);return}var e=this.session.getFoldStringAt(o,n,-1);e==null&&(e=this.doc.getLine(o).substring(0,n));var i=A.stringReverse(e);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(i)&&(n-=this.session.nonTokenRe.lastIndex,i=i.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0){this.moveCursorTo(o,0),this.moveCursorLeft(),o>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(i)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(o,n)},r.prototype.$shortWordEndIndex=function(o){var n=0,t,e=/\s/,i=this.session.tokenRe;if(i.lastIndex=0,this.session.tokenRe.exec(o))n=this.session.tokenRe.lastIndex;else{for(;(t=o[n])&&e.test(t);)n++;if(n<1){for(i.lastIndex=0;(t=o[n])&&!i.test(t);)if(i.lastIndex=0,n++,e.test(t))if(n>2){n--;break}else{for(;(t=o[n])&&e.test(t);)n++;if(n>2)break}}}return i.lastIndex=0,n},r.prototype.moveCursorShortWordRight=function(){var o=this.lead.row,n=this.lead.column,t=this.doc.getLine(o),e=t.substring(n),i=this.session.getFoldAt(o,n,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(n==t.length){var s=this.doc.getLength();do o++,e=this.doc.getLine(o);while(o<s&&/^\s*$/.test(e));/^\s+/.test(e)||(e=""),n=0}var c=this.$shortWordEndIndex(e);this.moveCursorTo(o,n+c)},r.prototype.moveCursorShortWordLeft=function(){var o=this.lead.row,n=this.lead.column,t;if(t=this.session.getFoldAt(o,n,-1))return this.moveCursorTo(t.start.row,t.start.column);var e=this.session.getLine(o).substring(0,n);if(n===0){do o--,e=this.doc.getLine(o);while(o>0&&/^\s*$/.test(e));n=e.length,/\s+$/.test(e)||(e="")}var i=A.stringReverse(e),s=this.$shortWordEndIndex(i);return this.moveCursorTo(o,n-s)},r.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},r.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},r.prototype.moveCursorBy=function(o,n){var t=this.session.documentToScreenPosition(this.lead.row,this.lead.column),e;if(n===0&&(o!==0&&(this.session.$bidiHandler.isBidiRow(t.row,this.lead.row)?(e=this.session.$bidiHandler.getPosLeft(t.column),t.column=Math.round(e/this.session.$bidiHandler.charWidths[0])):e=t.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?t.column=this.$desiredColumn:this.$desiredColumn=t.column),o!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var i=this.session.lineWidgets[this.lead.row];o<0?o-=i.rowsAbove||0:o>0&&(o+=i.rowCount-(i.rowsAbove||0))}var s=this.session.screenToDocumentPosition(t.row+o,t.column,e);o!==0&&n===0&&s.row===this.lead.row&&(s.column,this.lead.column),this.moveCursorTo(s.row,s.column+n,n===0)},r.prototype.moveCursorToPosition=function(o){this.moveCursorTo(o.row,o.column)},r.prototype.moveCursorTo=function(o,n,t){var e=this.session.getFoldAt(o,n,1);e&&(o=e.start.row,n=e.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(o);/[\uDC00-\uDFFF]/.test(i.charAt(n))&&i.charAt(n-1)&&(this.lead.row==o&&this.lead.column==n+1?n=n-1:n=n+1),this.lead.setPosition(o,n),this.$keepDesiredColumnOnChange=!1,t||(this.$desiredColumn=null)},r.prototype.moveCursorToScreen=function(o,n,t){var e=this.session.screenToDocumentPosition(o,n);this.moveCursorTo(e.row,e.column,t)},r.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},r.prototype.fromOrientedRange=function(o){this.setSelectionRange(o,o.cursor==o.start),this.$desiredColumn=o.desiredColumn||this.$desiredColumn},r.prototype.toOrientedRange=function(o){var n=this.getRange();return o?(o.start.column=n.start.column,o.start.row=n.start.row,o.end.column=n.end.column,o.end.row=n.end.row):o=n,o.cursor=this.isBackwards()?o.start:o.end,o.desiredColumn=this.$desiredColumn,o},r.prototype.getRangeOfMovements=function(o){var n=this.getCursor();try{o(this);var t=this.getCursor();return l.fromPoints(n,t)}catch{return l.fromPoints(n,n)}finally{this.moveCursorToPosition(n)}},r.prototype.toJSON=function(){if(this.rangeCount)var o=this.ranges.map(function(n){var t=n.clone();return t.isBackwards=n.cursor==n.start,t});else{var o=this.getRange();o.isBackwards=this.isBackwards()}return o},r.prototype.fromJSON=function(o){if(o.start==null)if(this.rangeList&&o.length>1){this.toSingleRange(o[0]);for(var n=o.length;n--;){var t=l.fromPoints(o[n].start,o[n].end);o[n].isBackwards&&(t.cursor=t.start),this.addRange(t,!0)}return}else o=o[0];this.rangeList&&this.toSingleRange(o),this.setSelectionRange(o,o.isBackwards)},r.prototype.isEqual=function(o){if((o.length||this.rangeCount)&&o.length!=this.rangeCount)return!1;if(!o.length||!this.ranges)return this.getRange().isEqual(o);for(var n=this.ranges.length;n--;)if(!this.ranges[n].isEqual(o[n]))return!1;return!0},r}();u.prototype.setSelectionAnchor=u.prototype.setAnchor,u.prototype.getSelectionAnchor=u.prototype.getAnchor,u.prototype.setSelectionRange=u.prototype.setRange,T.implement(u.prototype,C),x.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(k,x,z){var T=k("./lib/report_error").reportError,A=2e3,C=function(){function l(u){this.splitRegex,this.states=u,this.regExps={},this.matchMappings={};for(var r in this.states){for(var o=this.states[r],n=[],t=0,e=this.matchMappings[r]={defaultToken:"text"},i="g",s=[],c=0;c<o.length;c++){var h=o[c];if(h.defaultToken&&(e.defaultToken=h.defaultToken),h.caseInsensitive&&i.indexOf("i")===-1&&(i+="i"),h.unicode&&i.indexOf("u")===-1&&(i+="u"),h.regex!=null){h.regex instanceof RegExp&&(h.regex=h.regex.toString().slice(1,-1));var m=h.regex,v=new RegExp("(?:("+m+")|(.))").exec("a").length-2;Array.isArray(h.token)?h.token.length==1||v==1?h.token=h.token[0]:v-1!=h.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:h,groupCount:v-1}),h.token=h.token[0]):(h.tokenArray=h.token,h.token=null,h.onMatch=this.$arrayTokens):typeof h.token=="function"&&!h.onMatch&&(v>1?h.onMatch=this.$applyToken:h.onMatch=h.token),v>1&&(/\\\d/.test(h.regex)?m=h.regex.replace(/\\([0-9]+)/g,function(p,g){return"\\"+(parseInt(g,10)+t+1)}):(v=1,m=this.removeCapturingGroups(h.regex)),!h.splitRegex&&typeof h.token!="string"&&s.push(h)),e[t]=c,t+=v,n.push(m),h.onMatch||(h.onMatch=null)}}n.length||(e[0]=0,n.push("$")),s.forEach(function(p){p.splitRegex=this.createSplitterRegexp(p.regex,i)},this),this.regExps[r]=new RegExp("("+n.join(")|(")+")|($)",i)}}return l.prototype.$setMaxTokenCount=function(u){A=u|0},l.prototype.$applyToken=function(u){var r=this.splitRegex.exec(u).slice(1),o=this.token.apply(this,r);if(typeof o=="string")return[{type:o,value:u}];for(var n=[],t=0,e=o.length;t<e;t++)r[t]&&(n[n.length]={type:o[t],value:r[t]});return n},l.prototype.$arrayTokens=function(u){if(!u)return[];var r=this.splitRegex.exec(u);if(!r)return"text";for(var o=[],n=this.tokenArray,t=0,e=n.length;t<e;t++)r[t+1]&&(o[o.length]={type:n[t],value:r[t+1]});return o},l.prototype.removeCapturingGroups=function(u){var r=u.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(o,n){return n?"(?:":o});return r},l.prototype.createSplitterRegexp=function(u,r){if(u.indexOf("(?=")!=-1){var o=0,n=!1,t={};u.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,i,s,c,h,m){return n?n=h!="]":h?n=!0:c?(o==t.stack&&(t.end=m+1,t.stack=-1),o--):s&&(o++,s.length!=1&&(t.stack=o,t.start=m)),e}),t.end!=null&&/^\)*$/.test(u.substr(t.end))&&(u=u.substring(0,t.start)+u.substr(t.end))}return u.charAt(0)!="^"&&(u="^"+u),u.charAt(u.length-1)!="$"&&(u+="$"),new RegExp(u,(r||"").replace("g",""))},l.prototype.getLineTokens=function(u,r){if(r&&typeof r!="string"){var o=r.slice(0);r=o[0],r==="#tmp"&&(o.shift(),r=o.shift())}else var o=[];var n=r||"start",t=this.states[n];t||(n="start",t=this.states[n]);var e=this.matchMappings[n],i=this.regExps[n];i.lastIndex=0;for(var s,c=[],h=0,m=0,v={type:null,value:""};s=i.exec(u);){var p=e.defaultToken,g=null,w=s[0],M=i.lastIndex;if(M-w.length>h){var S=u.substring(h,M-w.length);v.type==p?v.value+=S:(v.type&&c.push(v),v={type:p,value:S})}for(var $=0;$<s.length-2;$++)if(s[$+1]!==void 0){g=t[e[$]],g.onMatch?p=g.onMatch(w,n,o,u):p=g.token,g.next&&(typeof g.next=="string"?n=g.next:n=g.next(n,o),t=this.states[n],t||(this.reportError("state doesn't exist",n),n="start",t=this.states[n]),e=this.matchMappings[n],h=M,i=this.regExps[n],i.lastIndex=M),g.consumeLineEnd&&(h=M);break}if(w){if(typeof p=="string")(!g||g.merge!==!1)&&v.type===p?v.value+=w:(v.type&&c.push(v),v={type:p,value:w});else if(p){v.type&&c.push(v),v={type:null,value:""};for(var $=0;$<p.length;$++)c.push(p[$])}}if(h==u.length)break;if(h=M,m++>A){for(m>2*u.length&&this.reportError("infinite loop with in ace tokenizer",{startState:r,line:u});h<u.length;)v.type&&c.push(v),v={value:u.substring(h,h+=500),type:"overflow"};n="start",o=[];break}}return v.type&&c.push(v),o.length>1&&o[0]!==n&&o.unshift("#tmp",n),{tokens:c,state:o.length?o:n}},l}();C.prototype.reportError=T,x.Tokenizer=C}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(k,x,z){var T=k("../lib/deep_copy").deepCopy,A;A=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},function(){this.addRules=function(u,r){if(!r){for(var o in u)this.$rules[o]=u[o];return}for(var o in u){for(var n=u[o],t=0;t<n.length;t++){var e=n[t];(e.next||e.onMatch)&&(typeof e.next=="string"&&e.next.indexOf(r)!==0&&(e.next=r+e.next),e.nextState&&e.nextState.indexOf(r)!==0&&(e.nextState=r+e.nextState))}this.$rules[r+o]=n}},this.getRules=function(){return this.$rules},this.embedRules=function(u,r,o,n,t){var e=typeof u=="function"?new u().getRules():u;if(n)for(var i=0;i<n.length;i++)n[i]=r+n[i];else{n=[];for(var s in e)n.push(r+s)}if(this.addRules(e,r),o)for(var c=Array.prototype[t?"push":"unshift"],i=0;i<n.length;i++)c.apply(this.$rules[n[i]],T(o));this.$embeds||(this.$embeds=[]),this.$embeds.push(r)},this.getEmbeds=function(){return this.$embeds};var C=function(u,r){return(u!="start"||r.length)&&r.unshift(this.nextState,u),this.nextState},l=function(u,r){return r.shift(),r.shift()||"start"};this.normalizeRules=function(){var u=0,r=this.$rules;function o(n){var t=r[n];t.processed=!0;for(var e=0;e<t.length;e++){var i=t[e],s=null;Array.isArray(i)&&(s=i,i={}),!i.regex&&i.start&&(i.regex=i.start,i.next||(i.next=[]),i.next.push({defaultToken:i.token},{token:i.token+".end",regex:i.end||i.start,next:"pop"}),i.token=i.token+".start",i.push=!0);var c=i.next||i.push;if(c&&Array.isArray(c)){var h=i.stateName;h||(h=i.token,typeof h!="string"&&(h=h[0]||""),r[h]&&(h+=u++)),r[h]=c,i.next=h,o(h)}else c=="pop"&&(i.next=l);if(i.push&&(i.nextState=i.next||i.push,i.next=C,delete i.push),i.rules)for(var m in i.rules)r[m]?r[m].push&&r[m].push.apply(r[m],i.rules[m]):r[m]=i.rules[m];var v=typeof i=="string"?i:i.include;if(v&&(v==="$self"&&(v="start"),Array.isArray(v)?s=v.map(function(g){return r[g]}):s=r[v]),s){var p=[e,1].concat(s);i.noEscape&&(p=p.filter(function(g){return!g.next})),t.splice.apply(t,p),e--}i.keywordMap&&(i.token=this.createKeywordMapper(i.keywordMap,i.defaultToken||"text",i.caseInsensitive),delete i.defaultToken)}}Object.keys(r).forEach(o,this)},this.createKeywordMapper=function(u,r,o,n){var t=Object.create(null);return this.$keywordList=[],Object.keys(u).forEach(function(e){for(var i=u[e],s=i.split(n||"|"),c=s.length;c--;){var h=s[c];this.$keywordList.push(h),o&&(h=h.toLowerCase()),t[h]=e}},this),u=null,o?function(e){return t[e.toLowerCase()]||r}:function(e){return t[e]||r}},this.getKeywords=function(){return this.$keywords}}.call(A.prototype),x.TextHighlightRules=A}),ace.define("ace/mode/behaviour",["require","exports","module"],function(k,x,z){var T;T=function(){this.$behaviours={}},function(){this.add=function(A,C,l){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[A]:this.$behaviours[A]={}}this.$behaviours[A][C]=l},this.addBehaviours=function(A){for(var C in A)for(var l in A[C])this.add(C,l,A[C][l])},this.remove=function(A){this.$behaviours&&this.$behaviours[A]&&delete this.$behaviours[A]},this.inherit=function(A,C){if(typeof A=="function")var l=new A().getBehaviours(C);else var l=A.getBehaviours(C);this.addBehaviours(l)},this.getBehaviours=function(A){if(A){for(var C={},l=0;l<A.length;l++)this.$behaviours[A[l]]&&(C[A[l]]=this.$behaviours[A[l]]);return C}else return this.$behaviours}}.call(T.prototype),x.Behaviour=T}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(k,x,z){var T=k("./range").Range,A=function(){function C(l,u,r){this.$session=l,this.$row=u,this.$rowTokens=l.getTokens(u);var o=l.getTokenAt(u,r);this.$tokenIndex=o?o.index:-1}return C.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},C.prototype.stepForward=function(){this.$tokenIndex+=1;for(var l;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,l||(l=this.$session.getLength()),this.$row>=l)return this.$row=l-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},C.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},C.prototype.getCurrentTokenRow=function(){return this.$row},C.prototype.getCurrentTokenColumn=function(){var l=this.$rowTokens,u=this.$tokenIndex,r=l[u].start;if(r!==void 0)return r;for(r=0;u>0;)u-=1,r+=l[u].value.length;return r},C.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},C.prototype.getCurrentTokenRange=function(){var l=this.$rowTokens[this.$tokenIndex],u=this.getCurrentTokenColumn();return new T(this.$row,u,this.$row,u+l.value.length)},C}();x.TokenIterator=A}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(k,x,z){var T=k("../../lib/oop"),A=k("../behaviour").Behaviour,C=k("../../token_iterator").TokenIterator,l=k("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],r=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],o,n={},t={'"':'"',"'":"'"},e=function(c){var h=-1;if(c.multiSelect&&(h=c.selection.index,n.rangeCount!=c.multiSelect.rangeCount&&(n={rangeCount:c.multiSelect.rangeCount})),n[h])return o=n[h];o=n[h]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},i=function(c,h,m,v){var p=c.end.row-c.start.row;return{text:m+h+v,selection:[0,c.start.column+1,p,c.end.column+(p?0:1)]}},s;s=function(c){c=c||{},this.add("braces","insertion",function(h,m,v,p,g){var w=v.getCursorPosition(),M=p.doc.getLine(w.row);if(g=="{"){e(v);var S=v.getSelectionRange(),$=p.doc.getTextRange(S),R=p.getTokenAt(w.row,w.column);if($!==""&&$!=="{"&&v.getWrapBehavioursEnabled())return i(S,$,"{","}");if(R&&/(?:string)\.quasi|\.xml/.test(R.type)){var f=[/tag\-(?:open|name)/,/attribute\-name/];return f.some(function(_){return _.test(R.type)})||/(string)\.quasi/.test(R.type)&&R.value[w.column-R.start-1]!=="$"?void 0:(s.recordAutoInsert(v,p,"}"),{text:"{}",selection:[1,1]})}else if(s.isSaneInsertion(v,p))return/[\]\}\)]/.test(M[w.column])||v.inMultiSelectMode||c.braces?(s.recordAutoInsert(v,p,"}"),{text:"{}",selection:[1,1]}):(s.recordMaybeInsert(v,p,"{"),{text:"{",selection:[1,1]})}else if(g=="}"){e(v);var a=M.substring(w.column,w.column+1);if(a=="}"){var d=p.$findOpeningBracket("}",{column:w.column+1,row:w.row});if(d!==null&&s.isAutoInsertedClosing(w,M,g))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(g==`
|
|
180
|
-
`||g==`\r
|
|
181
|
-
`){e(v);var y="";s.isMaybeInsertedClosing(w,M)&&(y=l.stringRepeat("}",o.maybeInsertedBrackets),s.clearMaybeInsertedClosing());var a=M.substring(w.column,w.column+1);if(a==="}"){var b=p.findMatchingBracket({row:w.row,column:w.column+1},"}");if(!b)return null;var L=this.$getIndent(p.getLine(b.row))}else if(y)var L=this.$getIndent(M);else{s.clearMaybeInsertedClosing();return}var E=L+p.getTabString();return{text:`
|
|
182
|
-
`+E+`
|
|
183
|
-
`+L+y,selection:[1,E.length,1,E.length]}}else s.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(h,m,v,p,g){var w=p.doc.getTextRange(g);if(!g.isMultiLine()&&w=="{"){e(v);var M=p.doc.getLine(g.start.row),S=M.substring(g.end.column,g.end.column+1);if(S=="}")return g.end.column++,g;o.maybeInsertedBrackets--}}),this.add("parens","insertion",function(h,m,v,p,g){if(g=="("){e(v);var w=v.getSelectionRange(),M=p.doc.getTextRange(w);if(M!==""&&v.getWrapBehavioursEnabled())return i(w,M,"(",")");if(s.isSaneInsertion(v,p))return s.recordAutoInsert(v,p,")"),{text:"()",selection:[1,1]}}else if(g==")"){e(v);var S=v.getCursorPosition(),$=p.doc.getLine(S.row),R=$.substring(S.column,S.column+1);if(R==")"){var f=p.$findOpeningBracket(")",{column:S.column+1,row:S.row});if(f!==null&&s.isAutoInsertedClosing(S,$,g))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(h,m,v,p,g){var w=p.doc.getTextRange(g);if(!g.isMultiLine()&&w=="("){e(v);var M=p.doc.getLine(g.start.row),S=M.substring(g.start.column+1,g.start.column+2);if(S==")")return g.end.column++,g}}),this.add("brackets","insertion",function(h,m,v,p,g){if(g=="["){e(v);var w=v.getSelectionRange(),M=p.doc.getTextRange(w);if(M!==""&&v.getWrapBehavioursEnabled())return i(w,M,"[","]");if(s.isSaneInsertion(v,p))return s.recordAutoInsert(v,p,"]"),{text:"[]",selection:[1,1]}}else if(g=="]"){e(v);var S=v.getCursorPosition(),$=p.doc.getLine(S.row),R=$.substring(S.column,S.column+1);if(R=="]"){var f=p.$findOpeningBracket("]",{column:S.column+1,row:S.row});if(f!==null&&s.isAutoInsertedClosing(S,$,g))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(h,m,v,p,g){var w=p.doc.getTextRange(g);if(!g.isMultiLine()&&w=="["){e(v);var M=p.doc.getLine(g.start.row),S=M.substring(g.start.column+1,g.start.column+2);if(S=="]")return g.end.column++,g}}),this.add("string_dquotes","insertion",function(h,m,v,p,g){var w=p.$mode.$quotes||t;if(g.length==1&&w[g]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(g)!=-1)return;e(v);var M=g,S=v.getSelectionRange(),$=p.doc.getTextRange(S);if($!==""&&($.length!=1||!w[$])&&v.getWrapBehavioursEnabled())return i(S,$,M,M);if(!$){var R=v.getCursorPosition(),f=p.doc.getLine(R.row),a=f.substring(R.column-1,R.column),d=f.substring(R.column,R.column+1),y=p.getTokenAt(R.row,R.column),b=p.getTokenAt(R.row,R.column+1);if(a=="\\"&&y&&/escape/.test(y.type))return null;var L=y&&/string|escape/.test(y.type),E=!b||/string|escape/.test(b.type),_;if(d==M)_=L!==E,_&&/string\.end/.test(b.type)&&(_=!1);else{if(L&&!E||L&&E)return null;var I=p.$mode.tokenRe;I.lastIndex=0;var O=I.test(a);I.lastIndex=0;var W=I.test(d),D=p.$mode.$pairQuotesAfter,N=D&&D[M]&&D[M].test(a);if(!N&&O||W||d&&!/[\s;,.})\]\\]/.test(d))return null;var H=f[R.column-2];if(a==M&&(H==M||I.test(H)))return null;_=!0}return{text:_?M+M:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(h,m,v,p,g){var w=p.$mode.$quotes||t,M=p.doc.getTextRange(g);if(!g.isMultiLine()&&w.hasOwnProperty(M)){e(v);var S=p.doc.getLine(g.start.row),$=S.substring(g.start.column+1,g.start.column+2);if($==M)return g.end.column++,g}}),c.closeDocComment!==!1&&this.add("doc comment end","insertion",function(h,m,v,p,g){if(h==="doc-start"&&(g===`
|
|
184
|
-
`||g===`\r
|
|
185
|
-
`)&&v.selection.isEmpty()){var w=v.getCursorPosition();if(w.column===0)return;for(var M=p.doc.getLine(w.row),S=p.doc.getLine(w.row+1),$=p.getTokens(w.row),R=0,f=0;f<$.length;f++){R+=$[f].value.length;var a=$[f];if(R>=w.column){if(R===w.column){if(!/\.doc/.test(a.type))return;if(/\*\//.test(a.value)){var d=$[f+1];if(!d||!/\.doc/.test(d.type))return}}var y=w.column-(R-a.value.length),b=a.value.indexOf("*/"),L=a.value.indexOf("/**",b>-1?b+2:0);if(L!==-1&&y>L&&y<L+3||b!==-1&&L!==-1&&y>=b&&y<=L||!/\.doc/.test(a.type))return;break}}var E=this.$getIndent(M);if(/\s*\*/.test(S))return/^\s*\*/.test(M)?{text:g+E+"* ",selection:[1,2+E.length,1,2+E.length]}:{text:g+E+" * ",selection:[1,3+E.length,1,3+E.length]};if(/\/\*\*/.test(M.substring(0,w.column)))return{text:g+E+" * "+g+" "+E+"*/",selection:[1,4+E.length,1,4+E.length]}}})},s.isSaneInsertion=function(c,h){var m=c.getCursorPosition(),v=new C(h,m.row,m.column);if(!this.$matchTokenType(v.getCurrentToken()||"text",u)){if(/[)}\]]/.test(c.session.getLine(m.row)[m.column]))return!0;var p=new C(h,m.row,m.column+1);if(!this.$matchTokenType(p.getCurrentToken()||"text",u))return!1}return v.stepForward(),v.getCurrentTokenRow()!==m.row||this.$matchTokenType(v.getCurrentToken()||"text",r)},s.$matchTokenType=function(c,h){return h.indexOf(c.type||c)>-1},s.recordAutoInsert=function(c,h,m){var v=c.getCursorPosition(),p=h.doc.getLine(v.row);this.isAutoInsertedClosing(v,p,o.autoInsertedLineEnd[0])||(o.autoInsertedBrackets=0),o.autoInsertedRow=v.row,o.autoInsertedLineEnd=m+p.substr(v.column),o.autoInsertedBrackets++},s.recordMaybeInsert=function(c,h,m){var v=c.getCursorPosition(),p=h.doc.getLine(v.row);this.isMaybeInsertedClosing(v,p)||(o.maybeInsertedBrackets=0),o.maybeInsertedRow=v.row,o.maybeInsertedLineStart=p.substr(0,v.column)+m,o.maybeInsertedLineEnd=p.substr(v.column),o.maybeInsertedBrackets++},s.isAutoInsertedClosing=function(c,h,m){return o.autoInsertedBrackets>0&&c.row===o.autoInsertedRow&&m===o.autoInsertedLineEnd[0]&&h.substr(c.column)===o.autoInsertedLineEnd},s.isMaybeInsertedClosing=function(c,h){return o.maybeInsertedBrackets>0&&c.row===o.maybeInsertedRow&&h.substr(c.column)===o.maybeInsertedLineEnd&&h.substr(0,c.column)==o.maybeInsertedLineStart},s.popAutoInsertedClosing=function(){o.autoInsertedLineEnd=o.autoInsertedLineEnd.substr(1),o.autoInsertedBrackets--},s.clearMaybeInsertedClosing=function(){o&&(o.maybeInsertedBrackets=0,o.maybeInsertedRow=-1)},T.inherits(s,A),x.CstyleBehaviour=s}),ace.define("ace/unicode",["require","exports","module"],function(k,x,z){for(var T=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],A=0,C=[],l=0;l<T.length;l+=2)C.push(A+=T[l]),T[l+1]&&C.push(45,A+=T[l+1]);x.wordChars=String.fromCharCode.apply(null,C)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(k,x,z){var T=k("../config"),A=k("../tokenizer").Tokenizer,C=k("./text_highlight_rules").TextHighlightRules,l=k("./behaviour/cstyle").CstyleBehaviour,u=k("../unicode"),r=k("../lib/lang"),o=k("../token_iterator").TokenIterator,n=k("../range").Range,t;t=function(){this.HighlightRules=C},function(){this.$defaultBehaviour=new l,this.tokenRe=new RegExp("^["+u.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+u.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new A(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,i,s,c){var h=i.doc,m=!0,v=!0,p=1/0,g=i.getTabSize(),w=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var $=this.lineCommentStart.map(r.escapeRegExp).join("|"),M=this.lineCommentStart[0];else var $=r.escapeRegExp(this.lineCommentStart),M=this.lineCommentStart;$=new RegExp("^(\\s*)(?:"+$+") ?"),w=i.getUseSoftTabs();var a=function(W,D){var N=W.match($);if(N){var H=N[1].length,F=N[0].length;!b(W,H,F)&&N[0][F-1]==" "&&F--,h.removeInLine(D,H,F)}},y=M+" ",f=function(W,D){(!m||/\S/.test(W))&&(b(W,p,p)?h.insertInLine({row:D,column:p},y):h.insertInLine({row:D,column:p},M))},d=function(W,D){return $.test(W)},b=function(W,D,N){for(var H=0;D--&&W.charAt(D)==" ";)H++;if(H%g!=0)return!1;for(var H=0;W.charAt(N++)==" ";)H++;return g>2?H%g!=g-1:H%g==0}}else{if(!this.blockComment)return!1;var M=this.blockComment.start,S=this.blockComment.end,$=new RegExp("^(\\s*)(?:"+r.escapeRegExp(M)+")"),R=new RegExp("(?:"+r.escapeRegExp(S)+")\\s*$"),f=function(_,I){d(_,I)||(!m||/\S/.test(_))&&(h.insertInLine({row:I,column:_.length},S),h.insertInLine({row:I,column:p},M))},a=function(_,I){var O;(O=_.match(R))&&h.removeInLine(I,_.length-O[0].length,_.length),(O=_.match($))&&h.removeInLine(I,O[1].length,O[0].length)},d=function(_,I){if($.test(_))return!0;for(var O=i.getTokens(I),W=0;W<O.length;W++)if(O[W].type==="comment")return!0}}function L(_){for(var I=s;I<=c;I++)_(h.getLine(I),I)}var E=1/0;L(function(_,I){var O=_.search(/\S/);O!==-1?(O<p&&(p=O),v&&!d(_,I)&&(v=!1)):E>_.length&&(E=_.length)}),p==1/0&&(p=E,m=!1,v=!1),w&&p%g!=0&&(p=Math.floor(p/g)*g),L(v?a:f)},this.toggleBlockComment=function(e,i,s,c){var h=this.blockComment;if(h){!h.start&&h[0]&&(h=h[0]);var m=new o(i,c.row,c.column),v=m.getCurrentToken();i.selection;var p=i.selection.toOrientedRange(),g,w;if(v&&/comment/.test(v.type)){for(var M,S;v&&/comment/.test(v.type);){var $=v.value.indexOf(h.start);if($!=-1){var R=m.getCurrentTokenRow(),f=m.getCurrentTokenColumn()+$;M=new n(R,f,R,f+h.start.length);break}v=m.stepBackward()}for(var m=new o(i,c.row,c.column),v=m.getCurrentToken();v&&/comment/.test(v.type);){var $=v.value.indexOf(h.end);if($!=-1){var R=m.getCurrentTokenRow(),f=m.getCurrentTokenColumn()+$;S=new n(R,f,R,f+h.end.length);break}v=m.stepForward()}S&&i.remove(S),M&&(i.remove(M),g=M.start.row,w=-h.start.length)}else w=h.start.length,g=s.start.row,i.insert(s.end,h.end),i.insert(s.start,h.start);p.start.row==g&&(p.start.column+=w),p.end.row==g&&(p.end.column+=w),i.selection.fromOrientedRange(p)}},this.getNextLineIndent=function(e,i,s){return this.$getIndent(i)},this.checkOutdent=function(e,i,s){return!1},this.autoOutdent=function(e,i,s){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var i in e)if(e[i]){var s=e[i],c=s.prototype.$id,h=T.$modes[c];h||(T.$modes[c]=h=new s),T.$modes[i]||(T.$modes[i]=h),this.$embeds.push(i),this.$modes[i]=h}for(var m=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],v=function(g){(function(w){var M=m[g],S=w[M];w[m[g]]=function(){return this.$delegator(M,arguments,S)}})(p)},p=this,i=0;i<m.length;i++)v(i)},this.$delegator=function(e,i,s){var c=i[0]||"start";if(typeof c!="string"){if(Array.isArray(c[2])){var h=c[2][c[2].length-1],m=this.$modes[h];if(m)return m[e].apply(m,[c[1]].concat([].slice.call(i,1)))}c=c[0]||"start"}for(var v=0;v<this.$embeds.length;v++)if(this.$modes[this.$embeds[v]]){var p=c.split(this.$embeds[v]);if(!p[0]&&p[1]){i[0]=p[1];var m=this.$modes[this.$embeds[v]];return m[e].apply(m,i)}}var g=s.apply(this,i);return s?g:void 0},this.transformAction=function(e,i,s,c,h){if(this.$behaviour){var m=this.$behaviour.getBehaviours();for(var v in m)if(m[v][i]){var p=m[v][i].apply(this,arguments);if(p)return p}}},this.getKeywords=function(e){if(!this.completionKeywords){var i=this.$tokenizer.rules,s=[];for(var c in i)for(var h=i[c],m=0,v=h.length;m<v;m++)if(typeof h[m].token=="string")/keyword|support|storage/.test(h[m].token)&&s.push(h[m].regex);else if(typeof h[m].token=="object"){for(var p=0,g=h[m].token.length;p<g;p++)if(/keyword|support|storage/.test(h[m].token[p])){var c=h[m].regex.match(/\(.+?\)/g)[p];s.push(c.substr(1,c.length-2))}}this.completionKeywords=s}return e?s.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,i,s,c){var h=this.$keywordList||this.$createKeywordList();return h.map(function(m){return{name:m,value:m,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}.call(t.prototype),x.Mode=t}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(k,x,z){var T=k("./lib/dom"),A=function(){function C(l){this.session=l,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return C.prototype.getRowLength=function(l){var u;return this.lineWidgets?u=this.lineWidgets[l]&&this.lineWidgets[l].rowCount||0:u=0,!this.$useWrapMode||!this.$wrapData[l]?1+u:this.$wrapData[l].length+1+u},C.prototype.$getWidgetScreenLength=function(){var l=0;return this.lineWidgets.forEach(function(u){u&&u.rowCount&&!u.hidden&&(l+=u.rowCount)}),l},C.prototype.$onChangeEditor=function(l){this.attach(l.editor)},C.prototype.attach=function(l){l&&l.widgetManager&&l.widgetManager!=this&&l.widgetManager.detach(),this.editor!=l&&(this.detach(),this.editor=l,l&&(l.widgetManager=this,l.renderer.on("beforeRender",this.measureWidgets),l.renderer.on("afterRender",this.renderWidgets)))},C.prototype.detach=function(l){var u=this.editor;if(u){this.editor=null,u.widgetManager=null,u.renderer.off("beforeRender",this.measureWidgets),u.renderer.off("afterRender",this.renderWidgets);var r=this.session.lineWidgets;r&&r.forEach(function(o){o&&o.el&&o.el.parentNode&&(o._inDocument=!1,o.el.parentNode.removeChild(o.el))})}},C.prototype.updateOnFold=function(l,u){var r=u.lineWidgets;if(!(!r||!l.action)){for(var o=l.data,n=o.start.row,t=o.end.row,e=l.action=="add",i=n+1;i<t;i++)r[i]&&(r[i].hidden=e);r[t]&&(e?r[n]?r[t].hidden=e:r[n]=r[t]:(r[n]==r[t]&&(r[n]=void 0),r[t].hidden=e))}},C.prototype.updateOnChange=function(l){var u=this.session.lineWidgets;if(u){var r=l.start.row,o=l.end.row-r;if(o!==0)if(l.action=="remove"){var n=u.splice(r+1,o);!u[r]&&n[n.length-1]&&(u[r]=n.pop()),n.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var t=new Array(o);u[r]&&u[r].column!=null&&l.start.column>u[r].column&&r++,t.unshift(r,0),u.splice.apply(u,t),this.$updateRows()}}},C.prototype.$updateRows=function(){var l=this.session.lineWidgets;if(l){var u=!0;l.forEach(function(r,o){if(r)for(u=!1,r.row=o;r.$oldWidget;)r.$oldWidget.row=o,r=r.$oldWidget}),u&&(this.session.lineWidgets=null)}},C.prototype.$registerLineWidget=function(l){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var u=this.session.lineWidgets[l.row];return u&&(l.$oldWidget=u,u.el&&u.el.parentNode&&(u.el.parentNode.removeChild(u.el),u._inDocument=!1)),this.session.lineWidgets[l.row]=l,l},C.prototype.addLineWidget=function(l){if(this.$registerLineWidget(l),l.session=this.session,!this.editor)return l;var u=this.editor.renderer;l.html&&!l.el&&(l.el=T.createElement("div"),l.el.innerHTML=l.html),l.text&&!l.el&&(l.el=T.createElement("div"),l.el.textContent=l.text),l.el&&(T.addCssClass(l.el,"ace_lineWidgetContainer"),l.className&&T.addCssClass(l.el,l.className),l.el.style.position="absolute",l.el.style.zIndex="5",u.container.appendChild(l.el),l._inDocument=!0,l.coverGutter||(l.el.style.zIndex="3"),l.pixelHeight==null&&(l.pixelHeight=l.el.offsetHeight)),l.rowCount==null&&(l.rowCount=l.pixelHeight/u.layerConfig.lineHeight);var r=this.session.getFoldAt(l.row,0);if(l.$fold=r,r){var o=this.session.lineWidgets;l.row==r.end.row&&!o[r.start.row]?o[r.start.row]=l:l.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:l.row}}}),this.$updateRows(),this.renderWidgets(null,u),this.onWidgetChanged(l),l},C.prototype.removeLineWidget=function(l){if(l._inDocument=!1,l.session=null,l.el&&l.el.parentNode&&l.el.parentNode.removeChild(l.el),l.editor&&l.editor.destroy)try{l.editor.destroy()}catch{}if(this.session.lineWidgets){var u=this.session.lineWidgets[l.row];if(u==l)this.session.lineWidgets[l.row]=l.$oldWidget,l.$oldWidget&&this.onWidgetChanged(l.$oldWidget);else for(;u;){if(u.$oldWidget==l){u.$oldWidget=l.$oldWidget;break}u=u.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:l.row}}}),this.$updateRows()},C.prototype.getWidgetsAtRow=function(l){for(var u=this.session.lineWidgets,r=u&&u[l],o=[];r;)o.push(r),r=r.$oldWidget;return o},C.prototype.onWidgetChanged=function(l){this.session._changedWidgets.push(l),this.editor&&this.editor.renderer.updateFull()},C.prototype.measureWidgets=function(l,u){var r=this.session._changedWidgets,o=u.layerConfig;if(!(!r||!r.length)){for(var n=1/0,t=0;t<r.length;t++){var e=r[t];if(!(!e||!e.el)&&e.session==this.session){if(!e._inDocument){if(this.session.lineWidgets[e.row]!=e)continue;e._inDocument=!0,u.container.appendChild(e.el)}e.h=e.el.offsetHeight,e.fixedWidth||(e.w=e.el.offsetWidth,e.screenWidth=Math.ceil(e.w/o.characterWidth));var i=e.h/o.lineHeight;e.coverLine&&(i-=this.session.getRowLineCount(e.row),i<0&&(i=0)),e.rowCount!=i&&(e.rowCount=i,e.row<n&&(n=e.row))}}n!=1/0&&(this.session._emit("changeFold",{data:{start:{row:n}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},C.prototype.renderWidgets=function(l,u){var r=u.layerConfig,o=this.session.lineWidgets;if(o){for(var n=Math.min(this.firstRow,r.firstRow),t=Math.max(this.lastRow,r.lastRow,o.length);n>0&&!o[n];)n--;this.firstRow=r.firstRow,this.lastRow=r.lastRow,u.$cursorLayer.config=r;for(var e=n;e<=t;e++){var i=o[e];if(!(!i||!i.el)){if(i.hidden){i.el.style.top=-100-(i.pixelHeight||0)+"px";continue}i._inDocument||(i._inDocument=!0,u.container.appendChild(i.el));var s=u.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;i.coverLine||(s+=r.lineHeight*this.session.getRowLineCount(i.row)),i.el.style.top=s-r.offset+"px";var c=i.coverGutter?0:u.gutterWidth;i.fixedWidth||(c-=u.scrollLeft),i.el.style.left=c+"px",i.fullWidth&&i.screenWidth&&(i.el.style.minWidth=r.width+2*r.padding+"px"),i.fixedWidth?i.el.style.right=u.scrollBar.getWidth()+"px":i.el.style.right=""}}}},C}();x.LineWidgets=A}),ace.define("ace/apply_delta",["require","exports","module"],function(k,x,z){x.applyDelta=function(T,A,C){var l=A.start.row,u=A.start.column,r=T[l]||"";switch(A.action){case"insert":var o=A.lines;if(o.length===1)T[l]=r.substring(0,u)+A.lines[0]+r.substring(u);else{var n=[l,1].concat(A.lines);T.splice.apply(T,n),T[l]=r.substring(0,u)+T[l],T[l+A.lines.length-1]+=r.substring(u)}break;case"remove":var t=A.end.column,e=A.end.row;l===e?T[l]=r.substring(0,u)+r.substring(t):T.splice(l,e-l+1,r.substring(0,u)+T[e].substring(t));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(k,x,z){var T=k("./lib/oop"),A=k("./lib/event_emitter").EventEmitter,C=function(){function r(o,n,t){this.$onChange=this.onChange.bind(this),this.attach(o),typeof n!="number"?this.setPosition(n.row,n.column):this.setPosition(n,t)}return r.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},r.prototype.getDocument=function(){return this.document},r.prototype.onChange=function(o){if(!(o.start.row==o.end.row&&o.start.row!=this.row)&&!(o.start.row>this.row)){var n=u(o,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},r.prototype.setPosition=function(o,n,t){var e;if(t?e={row:o,column:n}:e=this.$clipPositionToDocument(o,n),!(this.row==e.row&&this.column==e.column)){var i={row:this.row,column:this.column};this.row=e.row,this.column=e.column,this._signal("change",{old:i,value:e})}},r.prototype.detach=function(){this.document.off("change",this.$onChange)},r.prototype.attach=function(o){this.document=o||this.document,this.document.on("change",this.$onChange)},r.prototype.$clipPositionToDocument=function(o,n){var t={};return o>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):o<0?(t.row=0,t.column=0):(t.row=o,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,n))),n<0&&(t.column=0),t},r}();C.prototype.$insertRight=!1,T.implement(C.prototype,A);function l(r,o,n){var t=n?r.column<=o.column:r.column<o.column;return r.row<o.row||r.row==o.row&&t}function u(r,o,n){var t=r.action=="insert",e=(t?1:-1)*(r.end.row-r.start.row),i=(t?1:-1)*(r.end.column-r.start.column),s=r.start,c=t?s:r.end;return l(o,s,n)?{row:o.row,column:o.column}:l(c,o,!n)?{row:o.row+e,column:o.column+(o.row==c.row?i:0)}:{row:s.row,column:s.column}}x.Anchor=C}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(k,x,z){var T=k("./lib/oop"),A=k("./apply_delta").applyDelta,C=k("./lib/event_emitter").EventEmitter,l=k("./range").Range,u=k("./anchor").Anchor,r=function(){function o(n){this.$lines=[""],n.length===0?this.$lines=[""]:Array.isArray(n)?this.insertMergedLines({row:0,column:0},n):this.insert({row:0,column:0},n)}return o.prototype.setValue=function(n){var t=this.getLength()-1;this.remove(new l(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},n||"")},o.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},o.prototype.createAnchor=function(n,t){return new u(this,n,t)},o.prototype.$detectNewLine=function(n){var t=n.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:`
|
|
186
|
-
`,this._signal("changeNewLineMode")},o.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
|
|
187
|
-
`;case"unix":return`
|
|
188
|
-
`;default:return this.$autoNewLine||`
|
|
189
|
-
`}},o.prototype.setNewLineMode=function(n){this.$newLineMode!==n&&(this.$newLineMode=n,this._signal("changeNewLineMode"))},o.prototype.getNewLineMode=function(){return this.$newLineMode},o.prototype.isNewLine=function(n){return n==`\r
|
|
190
|
-
`||n=="\r"||n==`
|
|
191
|
-
`},o.prototype.getLine=function(n){return this.$lines[n]||""},o.prototype.getLines=function(n,t){return this.$lines.slice(n,t+1)},o.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},o.prototype.getLength=function(){return this.$lines.length},o.prototype.getTextRange=function(n){return this.getLinesForRange(n).join(this.getNewLineCharacter())},o.prototype.getLinesForRange=function(n){var t;if(n.start.row===n.end.row)t=[this.getLine(n.start.row).substring(n.start.column,n.end.column)];else{t=this.getLines(n.start.row,n.end.row),t[0]=(t[0]||"").substring(n.start.column);var e=t.length-1;n.end.row-n.start.row==e&&(t[e]=t[e].substring(0,n.end.column))}return t},o.prototype.insertLines=function(n,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(n,t)},o.prototype.removeLines=function(n,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(n,t)},o.prototype.insertNewLine=function(n){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(n,["",""])},o.prototype.insert=function(n,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(n,this.$split(t))},o.prototype.insertInLine=function(n,t){var e=this.clippedPos(n.row,n.column),i=this.pos(n.row,n.column+t.length);return this.applyDelta({start:e,end:i,action:"insert",lines:[t]},!0),this.clonePos(i)},o.prototype.clippedPos=function(n,t){var e=this.getLength();n===void 0?n=e:n<0?n=0:n>=e&&(n=e-1,t=void 0);var i=this.getLine(n);return t==null&&(t=i.length),t=Math.min(Math.max(t,0),i.length),{row:n,column:t}},o.prototype.clonePos=function(n){return{row:n.row,column:n.column}},o.prototype.pos=function(n,t){return{row:n,column:t}},o.prototype.$clipPosition=function(n){var t=this.getLength();return n.row>=t?(n.row=Math.max(0,t-1),n.column=this.getLine(t-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n},o.prototype.insertFullLines=function(n,t){n=Math.min(Math.max(n,0),this.getLength());var e=0;n<this.getLength()?(t=t.concat([""]),e=0):(t=[""].concat(t),n--,e=this.$lines[n].length),this.insertMergedLines({row:n,column:e},t)},o.prototype.insertMergedLines=function(n,t){var e=this.clippedPos(n.row,n.column),i={row:e.row+t.length-1,column:(t.length==1?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:i,action:"insert",lines:t}),this.clonePos(i)},o.prototype.remove=function(n){var t=this.clippedPos(n.start.row,n.start.column),e=this.clippedPos(n.end.row,n.end.column);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})}),this.clonePos(t)},o.prototype.removeInLine=function(n,t,e){var i=this.clippedPos(n,t),s=this.clippedPos(n,e);return this.applyDelta({start:i,end:s,action:"remove",lines:this.getLinesForRange({start:i,end:s})},!0),this.clonePos(i)},o.prototype.removeFullLines=function(n,t){n=Math.min(Math.max(0,n),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var e=t==this.getLength()-1&&n>0,i=t<this.getLength()-1,s=e?n-1:n,c=e?this.getLine(s).length:0,h=i?t+1:t,m=i?0:this.getLine(h).length,v=new l(s,c,h,m),p=this.$lines.slice(n,t+1);return this.applyDelta({start:v.start,end:v.end,action:"remove",lines:this.getLinesForRange(v)}),p},o.prototype.removeNewLine=function(n){n<this.getLength()-1&&n>=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})},o.prototype.replace=function(n,t){if(n instanceof l||(n=l.fromPoints(n.start,n.end)),t.length===0&&n.isEmpty())return n.start;if(t==this.getTextRange(n))return n.end;this.remove(n);var e;return t?e=this.insert(n.start,t):e=n.start,e},o.prototype.applyDeltas=function(n){for(var t=0;t<n.length;t++)this.applyDelta(n[t])},o.prototype.revertDeltas=function(n){for(var t=n.length-1;t>=0;t--)this.revertDelta(n[t])},o.prototype.applyDelta=function(n,t){var e=n.action=="insert";(e?n.lines.length<=1&&!n.lines[0]:!l.comparePoints(n.start,n.end))||(e&&n.lines.length>2e4?this.$splitAndapplyLargeDelta(n,2e4):(A(this.$lines,n,t),this._signal("change",n)))},o.prototype.$safeApplyDelta=function(n){var t=this.$lines.length;(n.action=="remove"&&n.start.row<t&&n.end.row<t||n.action=="insert"&&n.start.row<=t)&&this.applyDelta(n)},o.prototype.$splitAndapplyLargeDelta=function(n,t){for(var e=n.lines,i=e.length-t+1,s=n.start.row,c=n.start.column,h=0,m=0;h<i;h=m){m+=t-1;var v=e.slice(h,m);v.push(""),this.applyDelta({start:this.pos(s+h,c),end:this.pos(s+m,c=0),action:n.action,lines:v},!0)}n.lines=e.slice(h),n.start.row=s+h,n.start.column=c,this.applyDelta(n,!0)},o.prototype.revertDelta=function(n){this.$safeApplyDelta({start:this.clonePos(n.start),end:this.clonePos(n.end),action:n.action=="insert"?"remove":"insert",lines:n.lines.slice()})},o.prototype.indexToPosition=function(n,t){for(var e=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,s=t||0,c=e.length;s<c;s++)if(n-=e[s].length+i,n<0)return{row:s,column:n+e[s].length+i};return{row:c-1,column:n+e[c-1].length+i}},o.prototype.positionToIndex=function(n,t){for(var e=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,s=0,c=Math.min(n.row,e.length),h=t||0;h<c;++h)s+=e[h].length+i;return s+n.column},o.prototype.$split=function(n){return n.split(/\r\n|\r|\n/)},o}();r.prototype.$autoNewLine="",r.prototype.$newLineMode="auto",T.implement(r.prototype,C),x.Document=r}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(k,x,z){var T=k("./lib/oop"),A=k("./lib/event_emitter").EventEmitter,C=function(){function l(u,r){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=u;var o=this;this.$worker=function(){if(o.running){for(var n=new Date,t=o.currentLine,e=-1,i=o.doc,s=t;o.lines[t];)t++;var c=i.getLength(),h=0;for(o.running=!1;t<c;){o.$tokenizeRow(t),e=t;do t++;while(o.lines[t]);if(h++,h%5===0&&new Date-n>20){o.running=setTimeout(o.$worker,20);break}}o.currentLine=t,e==-1&&(e=t),s<=e&&o.fireUpdateEvent(s,e)}}}return l.prototype.setTokenizer=function(u){this.tokenizer=u,this.lines=[],this.states=[],this.start(0)},l.prototype.setDocument=function(u){this.doc=u,this.lines=[],this.states=[],this.stop()},l.prototype.fireUpdateEvent=function(u,r){var o={first:u,last:r};this._signal("update",{data:o})},l.prototype.start=function(u){this.currentLine=Math.min(u||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},l.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},l.prototype.$updateOnChange=function(u){var r=u.start.row,o=u.end.row-r;if(o===0)this.lines[r]=null;else if(u.action=="remove")this.lines.splice(r,o+1,null),this.states.splice(r,o+1,null);else{var n=Array(o+1);n.unshift(r,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(r,this.currentLine,this.doc.getLength()),this.stop()},l.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},l.prototype.getTokens=function(u){return this.lines[u]||this.$tokenizeRow(u)},l.prototype.getState=function(u){return this.currentLine==u&&this.$tokenizeRow(u),this.states[u]||"start"},l.prototype.$tokenizeRow=function(u){var r=this.doc.getLine(u),o=this.states[u-1],n=this.tokenizer.getLineTokens(r,o,u);return this.states[u]+""!=n.state+""?(this.states[u]=n.state,this.lines[u+1]=null,this.currentLine>u+1&&(this.currentLine=u+1)):this.currentLine==u&&(this.currentLine=u+1),this.lines[u]=n.tokens},l.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},l}();T.implement(C.prototype,A),x.BackgroundTokenizer=C}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(k,x,z){var T=k("./lib/lang"),A=k("./range").Range,C=function(){function l(u,r,o){o===void 0&&(o="text"),this.setRegexp(u),this.clazz=r,this.type=o,this.docLen=0}return l.prototype.setRegexp=function(u){this.regExp+""!=u+""&&(this.regExp=u,this.cache=[])},l.prototype.update=function(u,r,o,n){if(this.regExp){for(var t=n.firstRow,e=n.lastRow,i={},s=o.$editor.$search,c=s.$isMultilineSearch(o.$editor.getLastSearchOptions()),h=t;h<=e;h++){var m=this.cache[h];if(m==null||o.getValue().length!=this.docLen){if(c){m=[];var v=s.$multiLineForward(o,this.regExp,h,e);if(v){var p=v.endRow<=e?v.endRow-1:e;p>h&&(h=p),m.push(new A(v.startRow,v.startCol,v.endRow,v.endCol))}m.length>this.MAX_RANGES&&(m=m.slice(0,this.MAX_RANGES))}else m=T.getMatchOffsets(o.getLine(h),this.regExp),m.length>this.MAX_RANGES&&(m=m.slice(0,this.MAX_RANGES)),m=m.map(function(S){return new A(h,S.offset,h,S.offset+S.length)});this.cache[h]=m.length?m:""}if(m.length!==0)for(var g=m.length;g--;){var w=m[g].toScreenRange(o),M=w.toString();i[M]||(i[M]=!0,r.drawSingleLineMarker(u,w,this.clazz,n))}}this.docLen=o.getValue().length}},l}();C.prototype.MAX_RANGES=500,x.SearchHighlight=C}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(k,x,z){var T=function(){function p(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return p.prototype.addSession=function(g){this.$session=g},p.prototype.add=function(g,w,M){if(!this.$fromUndo&&g!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),w===!1||!this.lastDeltas){this.lastDeltas=[];var S=this.$undoStack.length;S>this.$undoDepth-1&&this.$undoStack.splice(0,S-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),g.id=this.$rev=++this.$maxRev}(g.action=="remove"||g.action=="insert")&&(this.$lastDelta=g),this.lastDeltas.push(g)}},p.prototype.addSelection=function(g,w){this.selections.push({value:g,rev:w||this.$rev})},p.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},p.prototype.markIgnored=function(g,w){w==null&&(w=this.$rev+1);for(var M=this.$undoStack,S=M.length;S--;){var $=M[S][0];if($.id<=g)break;$.id<w&&($.ignore=!0)}this.lastDeltas=null},p.prototype.getSelection=function(g,w){for(var M=this.selections,S=M.length;S--;){var $=M[S];if($.rev<g)return w&&($=M[S+1]),$}},p.prototype.getRevision=function(){return this.$rev},p.prototype.getDeltas=function(g,w){w==null&&(w=this.$rev+1);for(var M=this.$undoStack,S=null,$=0,R=M.length;R--;){var f=M[R][0];if(f.id<w&&!S&&(S=R+1),f.id<=g){$=R+1;break}}return M.slice($,S)},p.prototype.getChangedRanges=function(g,w){w==null&&(w=this.$rev+1)},p.prototype.getChangedLines=function(g,w){w==null&&(w=this.$rev+1)},p.prototype.undo=function(g,w){this.lastDeltas=null;var M=this.$undoStack;if(A(M,M.length)){g||(g=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var S=M.pop(),$=null;return S&&($=g.undoChanges(S,w),this.$redoStack.push(S),this.$syncRev()),this.$fromUndo=!1,$}},p.prototype.redo=function(g,w){if(this.lastDeltas=null,g||(g=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var M=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);v(this.$redoStack,M),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(R){R[0].id=++this.$maxRev},this)}var S=this.$redoStack.pop(),$=null;return S&&($=g.redoChanges(S,w),this.$undoStack.push(S),this.$syncRev()),this.$fromUndo=!1,$},p.prototype.$syncRev=function(){var g=this.$undoStack,w=g[g.length-1],M=w&&w[0].id||0;this.$redoStackBaseRev=M,this.$rev=M},p.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},p.prototype.canUndo=function(){return this.$undoStack.length>0},p.prototype.canRedo=function(){return this.$redoStack.length>0},p.prototype.bookmark=function(g){g==null&&(g=this.$rev),this.mark=g},p.prototype.isAtBookmark=function(){return this.$rev===this.mark},p.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},p.prototype.fromJSON=function(g){this.reset(),this.$undoStack=g.$undoStack,this.$redoStack=g.$redoStack},p.prototype.$prettyPrint=function(g){return g?o(g):o(this.$undoStack)+`
|
|
192
|
-
---
|
|
193
|
-
`+o(this.$redoStack)},p}();T.prototype.hasUndo=T.prototype.canUndo,T.prototype.hasRedo=T.prototype.canRedo,T.prototype.isClean=T.prototype.isAtBookmark,T.prototype.markClean=T.prototype.bookmark;function A(p,g){for(var w=g;w--;){var M=p[w];if(M&&!M[0].ignore){for(;w<g-1;){var S=e(p[w],p[w+1]);p[w]=S[0],p[w+1]=S[1],w++}return!0}}}var C=k("./range").Range,l=C.comparePoints;C.comparePoints;function u(p){return{row:p.row,column:p.column}}function r(p){return{start:u(p.start),end:u(p.end),action:p.action,lines:p.lines.slice()}}function o(p){if(p=p||this,Array.isArray(p))return p.map(o).join(`
|
|
194
|
-
`);var g="";return p.action?(g=p.action=="insert"?"+":"-",g+="["+p.lines+"]"):p.value&&(Array.isArray(p.value)?g=p.value.map(n).join(`
|
|
195
|
-
`):g=n(p.value)),p.start&&(g+=n(p)),(p.id||p.rev)&&(g+=" ("+(p.id||p.rev)+")"),g}function n(p){return p.start.row+":"+p.start.column+"=>"+p.end.row+":"+p.end.column}function t(p,g){var w=p.action=="insert",M=g.action=="insert";if(w&&M)if(l(g.start,p.end)>=0)s(g,p,-1);else if(l(g.start,p.start)<=0)s(p,g,1);else return null;else if(w&&!M)if(l(g.start,p.end)>=0)s(g,p,-1);else if(l(g.end,p.start)<=0)s(p,g,-1);else return null;else if(!w&&M)if(l(g.start,p.start)>=0)s(g,p,1);else if(l(g.start,p.start)<=0)s(p,g,1);else return null;else if(!w&&!M)if(l(g.start,p.start)>=0)s(g,p,1);else if(l(g.end,p.start)<=0)s(p,g,-1);else return null;return[g,p]}function e(p,g){for(var w=p.length;w--;)for(var M=0;M<g.length;M++)if(!t(p[w],g[M])){for(;w<p.length;){for(;M--;)t(g[M],p[w]);M=g.length,w++}return[p,g]}return p.selectionBefore=g.selectionBefore=p.selectionAfter=g.selectionAfter=null,[g,p]}function i(p,g){var w=p.action=="insert",M=g.action=="insert";if(w&&M)l(p.start,g.start)<0?s(g,p,1):s(p,g,1);else if(w&&!M)l(p.start,g.end)>=0?s(p,g,-1):(l(p.start,g.start)<=0||s(p,C.fromPoints(g.start,p.start),-1),s(g,p,1));else if(!w&&M)l(g.start,p.end)>=0?s(g,p,-1):(l(g.start,p.start)<=0||s(g,C.fromPoints(p.start,g.start),-1),s(p,g,1));else if(!w&&!M)if(l(g.start,p.end)>=0)s(g,p,-1);else if(l(g.end,p.start)<=0)s(p,g,-1);else{var S,$;return l(p.start,g.start)<0&&(S=p,p=h(p,g.start)),l(p.end,g.end)>0&&($=h(p,g.end)),c(g.end,p.start,p.end,-1),$&&!S&&(p.lines=$.lines,p.start=$.start,p.end=$.end,$=p),[g,S,$].filter(Boolean)}return[g,p]}function s(p,g,w){c(p.start,g.start,g.end,w),c(p.end,g.start,g.end,w)}function c(p,g,w,M){p.row==(M==1?g:w).row&&(p.column+=M*(w.column-g.column)),p.row+=M*(w.row-g.row)}function h(p,g){var w=p.lines,M=p.end;p.end=u(g);var S=p.end.row-p.start.row,$=w.splice(S,w.length),R=S?g.column:g.column-p.start.column;w.push($[0].substring(0,R)),$[0]=$[0].substr(R);var f={start:u(g),end:M,lines:$,action:p.action};return f}function m(p,g){g=r(g);for(var w=p.length;w--;){for(var M=p[w],S=0;S<M.length;S++){var $=M[S],R=i($,g);g=R[0],R.length!=2&&(R[2]?(M.splice(S+1,1,R[1],R[2]),S++):R[1]||(M.splice(S,1),S--))}M.length||p.splice(w,1)}return p}function v(p,g){for(var w=0;w<g.length;w++)for(var M=g[w],S=0;S<M.length;S++)m(p,M[S])}x.UndoManager=T}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(k,x,z){var T=k("../range").Range,A=function(){function C(l,u){this.foldData=l,Array.isArray(u)?this.folds=u:u=this.folds=[u];var r=u[u.length-1];this.range=new T(u[0].start.row,u[0].start.column,r.end.row,r.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(o){o.setFoldLine(this)},this)}return C.prototype.shiftRow=function(l){this.start.row+=l,this.end.row+=l,this.folds.forEach(function(u){u.start.row+=l,u.end.row+=l})},C.prototype.addFold=function(l){if(l.sameRow){if(l.start.row<this.startRow||l.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(l),this.folds.sort(function(u,r){return-u.range.compareEnd(r.start.row,r.start.column)}),this.range.compareEnd(l.start.row,l.start.column)>0?(this.end.row=l.end.row,this.end.column=l.end.column):this.range.compareStart(l.end.row,l.end.column)<0&&(this.start.row=l.start.row,this.start.column=l.start.column)}else if(l.start.row==this.end.row)this.folds.push(l),this.end.row=l.end.row,this.end.column=l.end.column;else if(l.end.row==this.start.row)this.folds.unshift(l),this.start.row=l.start.row,this.start.column=l.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");l.foldLine=this},C.prototype.containsRow=function(l){return l>=this.start.row&&l<=this.end.row},C.prototype.walk=function(l,u,r){var o=0,n=this.folds,t,e,i,s=!0;u==null&&(u=this.end.row,r=this.end.column);for(var c=0;c<n.length;c++){if(t=n[c],e=t.range.compareStart(u,r),e==-1){l(null,u,r,o,s);return}if(i=l(null,t.start.row,t.start.column,o,s),i=!i&&l(t.placeholder,t.start.row,t.start.column,o),i||e===0)return;s=!t.sameRow,o=t.end.column}l(null,u,r,o,s)},C.prototype.getNextFoldTo=function(l,u){for(var r,o,n=0;n<this.folds.length;n++){if(r=this.folds[n],o=r.range.compareEnd(l,u),o==-1)return{fold:r,kind:"after"};if(o===0)return{fold:r,kind:"inside"}}return null},C.prototype.addRemoveChars=function(l,u,r){var o=this.getNextFoldTo(l,u),n,t;if(o){if(n=o.fold,o.kind=="inside"&&n.start.column!=u&&n.start.row!=l)window.console&&window.console.log(l,u,n);else if(n.start.row==l){t=this.folds;var e=t.indexOf(n);for(e===0&&(this.start.column+=r),e;e<t.length;e++){if(n=t[e],n.start.column+=r,!n.sameRow)return;n.end.column+=r}this.end.column+=r}}},C.prototype.split=function(l,u){var r=this.getNextFoldTo(l,u);if(!r||r.kind=="inside")return null;var o=r.fold,n=this.folds,t=this.foldData,e=n.indexOf(o),i=n[e-1];this.end.row=i.end.row,this.end.column=i.end.column,n=n.splice(e,n.length-e);var s=new C(t,n);return t.splice(t.indexOf(this)+1,0,s),s},C.prototype.merge=function(l){for(var u=l.folds,r=0;r<u.length;r++)this.addFold(u[r]);var o=this.foldData;o.splice(o.indexOf(l),1)},C.prototype.toString=function(){var l=[this.range.toString()+": ["];return this.folds.forEach(function(u){l.push(" "+u.toString())}),l.push("]"),l.join(`
|
|
196
|
-
`)},C.prototype.idxToPosition=function(l){for(var u=0,r=0;r<this.folds.length;r++){var o=this.folds[r];if(l-=o.start.column-u,l<0)return{row:o.start.row,column:o.start.column+l};if(l-=o.placeholder.length,l<0)return o.start;u=o.end.column}return{row:this.end.row,column:this.end.column+l}},C}();x.FoldLine=A}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(k,x,z){var T=k("./range").Range,A=T.comparePoints,C=function(){function l(){this.ranges=[],this.$bias=1}return l.prototype.pointIndex=function(u,r,o){for(var n=this.ranges,t=o||0;t<n.length;t++){var e=n[t],i=A(u,e.end);if(!(i>0)){var s=A(u,e.start);return i===0?r&&s!==0?-t-2:t:s>0||s===0&&!r?t:-t-1}}return-t-1},l.prototype.add=function(u){var r=!u.isEmpty(),o=this.pointIndex(u.start,r);o<0&&(o=-o-1);var n=this.pointIndex(u.end,r,o);return n<0?n=-n-1:n++,this.ranges.splice(o,n-o,u)},l.prototype.addList=function(u){for(var r=[],o=u.length;o--;)r.push.apply(r,this.add(u[o]));return r},l.prototype.substractPoint=function(u){var r=this.pointIndex(u);if(r>=0)return this.ranges.splice(r,1)},l.prototype.merge=function(){var u=[],r=this.ranges;r=r.sort(function(i,s){return A(i.start,s.start)});for(var o=r[0],n,t=1;t<r.length;t++){n=o,o=r[t];var e=A(n.end,o.start);e<0||e==0&&!n.isEmpty()&&!o.isEmpty()||(A(n.end,o.end)<0&&(n.end.row=o.end.row,n.end.column=o.end.column),r.splice(t,1),u.push(o),o=n,t--)}return this.ranges=r,u},l.prototype.contains=function(u,r){return this.pointIndex({row:u,column:r})>=0},l.prototype.containsPoint=function(u){return this.pointIndex(u)>=0},l.prototype.rangeAtPoint=function(u){var r=this.pointIndex(u);if(r>=0)return this.ranges[r]},l.prototype.clipRows=function(u,r){var o=this.ranges;if(o[0].start.row>r||o[o.length-1].start.row<u)return[];var n=this.pointIndex({row:u,column:0});n<0&&(n=-n-1);var t=this.pointIndex({row:r,column:0},n);t<0&&(t=-t-1);for(var e=[],i=n;i<t;i++)e.push(o[i]);return e},l.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},l.prototype.attach=function(u){this.session&&this.detach(),this.session=u,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},l.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},l.prototype.$onChange=function(u){for(var r=u.start,o=u.end,n=r.row,t=o.row,e=this.ranges,i=0,s=e.length;i<s;i++){var c=e[i];if(c.end.row>=n)break}if(u.action=="insert")for(var h=t-n,m=-r.column+o.column;i<s;i++){var c=e[i];if(c.start.row>n)break;if(c.start.row==n&&c.start.column>=r.column&&(c.start.column==r.column&&this.$bias<=0||(c.start.column+=m,c.start.row+=h)),c.end.row==n&&c.end.column>=r.column){if(c.end.column==r.column&&this.$bias<0)continue;c.end.column==r.column&&m>0&&i<s-1&&c.end.column>c.start.column&&c.end.column==e[i+1].start.column&&(c.end.column-=m),c.end.column+=m,c.end.row+=h}}else for(var h=n-t,m=r.column-o.column;i<s;i++){var c=e[i];if(c.start.row>t)break;c.end.row<t&&(n<c.end.row||n==c.end.row&&r.column<c.end.column)?(c.end.row=n,c.end.column=r.column):c.end.row==t?c.end.column<=o.column?(h||c.end.column>r.column)&&(c.end.column=r.column,c.end.row=r.row):(c.end.column+=m,c.end.row+=h):c.end.row>t&&(c.end.row+=h),c.start.row<t&&(n<c.start.row||n==c.start.row&&r.column<c.start.column)?(c.start.row=n,c.start.column=r.column):c.start.row==t?c.start.column<=o.column?(h||c.start.column>r.column)&&(c.start.column=r.column,c.start.row=r.row):(c.start.column+=m,c.start.row+=h):c.start.row>t&&(c.start.row+=h)}if(h!=0&&i<s)for(;i<s;i++){var c=e[i];c.start.row+=h,c.end.row+=h}},l}();C.prototype.comparePoints=A,x.RangeList=C}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(k,x,z){var T=this&&this.__extends||function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,s){i.__proto__=s}||function(i,s){for(var c in s)Object.prototype.hasOwnProperty.call(s,c)&&(i[c]=s[c])},n(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");n(t,e);function i(){this.constructor=t}t.prototype=e===null?Object.create(e):(i.prototype=e.prototype,new i)}}(),A=k("../range_list").RangeList,C=function(n){T(t,n);function t(e,i){var s=n.call(this)||this;return s.foldLine=null,s.placeholder=i,s.range=e,s.start=e.start,s.end=e.end,s.sameRow=e.start.row==e.end.row,s.subFolds=s.ranges=[],s}return t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(i){i.setFoldLine(e)})},t.prototype.clone=function(){var e=this.range.clone(),i=new t(e,this.placeholder);return this.subFolds.forEach(function(s){i.subFolds.push(s.clone())}),i.collapseChildren=this.collapseChildren,i},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){u(e,this.start);for(var m=e.start.row,v=e.start.column,i=0,s=-1;i<this.subFolds.length&&(s=this.subFolds[i].range.compare(m,v),s==1);i++);var c=this.subFolds[i],h=0;if(s==0){if(c.range.containsRange(e))return c.addSubFold(e);h=1}for(var m=e.range.end.row,v=e.range.end.column,p=i,s=-1;p<this.subFolds.length&&(s=this.subFolds[p].range.compare(m,v),s==1);p++);s==0&&p++;for(var g=this.subFolds.splice(i,p-i,e),w=s==0?g.length-1:g.length,M=h;M<w;M++)e.addSubFold(g[M]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return o(e,this.start)},t}(A);function l(n,t){n.row-=t.row,n.row==0&&(n.column-=t.column)}function u(n,t){l(n.start,t),l(n.end,t)}function r(n,t){n.row==0&&(n.column+=t.column),n.row+=t.row}function o(n,t){r(n.start,t),r(n.end,t)}x.Fold=C}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(k,x,z){var T=k("../range").Range,A=k("./fold_line").FoldLine,C=k("./fold").Fold,l=k("../token_iterator").TokenIterator,u=k("../mouse/mouse_event").MouseEvent;function r(){this.getFoldAt=function(o,n,t){var e=this.getFoldLine(o);if(!e)return null;for(var i=e.folds,s=0;s<i.length;s++){var c=i[s].range;if(c.contains(o,n)){if(t==1&&c.isEnd(o,n)&&!c.isEmpty())continue;if(t==-1&&c.isStart(o,n)&&!c.isEmpty())continue;return i[s]}}},this.getFoldsInRange=function(o){var n=o.start,t=o.end,e=this.$foldData,i=[];n.column+=1,t.column-=1;for(var s=0;s<e.length;s++){var c=e[s].range.compareRange(o);if(c!=2){if(c==-2)break;for(var h=e[s].folds,m=0;m<h.length;m++){var v=h[m];if(c=v.range.compareRange(o),c==-2)break;if(c==2)continue;if(c==42)break;i.push(v)}}}return n.column-=1,t.column+=1,i},this.getFoldsInRangeList=function(o){if(Array.isArray(o)){var n=[];o.forEach(function(t){n=n.concat(this.getFoldsInRange(t))},this)}else var n=this.getFoldsInRange(o);return n},this.getAllFolds=function(){for(var o=[],n=this.$foldData,t=0;t<n.length;t++)for(var e=0;e<n[t].folds.length;e++)o.push(n[t].folds[e]);return o},this.getFoldStringAt=function(o,n,t,e){if(e=e||this.getFoldLine(o),!e)return null;for(var i={end:{column:0}},s,c,h=0;h<e.folds.length;h++){c=e.folds[h];var m=c.range.compareEnd(o,n);if(m==-1){s=this.getLine(c.start.row).substring(i.end.column,c.start.column);break}else if(m===0)return null;i=c}return s||(s=this.getLine(c.start.row).substring(i.end.column)),t==-1?s.substring(0,n-i.end.column):t==1?s.substring(n-i.end.column):s},this.getFoldLine=function(o,n){var t=this.$foldData,e=0;for(n&&(e=t.indexOf(n)),e==-1&&(e=0),e;e<t.length;e++){var i=t[e];if(i.start.row<=o&&i.end.row>=o)return i;if(i.end.row>o)return null}return null},this.getNextFoldLine=function(o,n){var t=this.$foldData,e=0;for(n&&(e=t.indexOf(n)),e==-1&&(e=0),e;e<t.length;e++){var i=t[e];if(i.end.row>=o)return i}return null},this.getFoldedRowCount=function(o,n){for(var t=this.$foldData,e=n-o+1,i=0;i<t.length;i++){var s=t[i],c=s.end.row,h=s.start.row;if(c>=n){h<n&&(h>=o?e-=n-h:e=0);break}else c>=o&&(h>=o?e-=c-h:e-=c-o+1)}return e},this.$addFoldLine=function(o){return this.$foldData.push(o),this.$foldData.sort(function(n,t){return n.start.row-t.start.row}),o},this.addFold=function(o,n){var t=this.$foldData,e=!1,i;o instanceof C?i=o:(i=new C(n,o),i.collapseChildren=n.collapseChildren),this.$clipRangeToDocument(i.range);var s=i.start.row,c=i.start.column,h=i.end.row,m=i.end.column,v=this.getFoldAt(s,c,1),p=this.getFoldAt(h,m,-1);if(v&&p==v)return v.addSubFold(i);v&&!v.range.isStart(s,c)&&this.removeFold(v),p&&!p.range.isEnd(h,m)&&this.removeFold(p);var g=this.getFoldsInRange(i.range);g.length>0&&(this.removeFolds(g),i.collapseChildren||g.forEach(function($){i.addSubFold($)}));for(var w=0;w<t.length;w++){var M=t[w];if(h==M.start.row){M.addFold(i),e=!0;break}else if(s==M.end.row){if(M.addFold(i),e=!0,!i.sameRow){var S=t[w+1];if(S&&S.start.row==h){M.merge(S);break}}break}else if(h<=M.start.row)break}return e||(M=this.$addFoldLine(new A(this.$foldData,i))),this.$useWrapMode?this.$updateWrapData(M.start.row,M.start.row):this.$updateRowLengthCache(M.start.row,M.start.row),this.$modified=!0,this._signal("changeFold",{data:i,action:"add"}),i},this.addFolds=function(o){o.forEach(function(n){this.addFold(n)},this)},this.removeFold=function(o){var n=o.foldLine,t=n.start.row,e=n.end.row,i=this.$foldData,s=n.folds;if(s.length==1)i.splice(i.indexOf(n),1);else if(n.range.isEnd(o.end.row,o.end.column))s.pop(),n.end.row=s[s.length-1].end.row,n.end.column=s[s.length-1].end.column;else if(n.range.isStart(o.start.row,o.start.column))s.shift(),n.start.row=s[0].start.row,n.start.column=s[0].start.column;else if(o.sameRow)s.splice(s.indexOf(o),1);else{var c=n.split(o.start.row,o.start.column);s=c.folds,s.shift(),c.start.row=s[0].start.row,c.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(t,e):this.$updateRowLengthCache(t,e)),this.$modified=!0,this._signal("changeFold",{data:o,action:"remove"})},this.removeFolds=function(o){for(var n=[],t=0;t<o.length;t++)n.push(o[t]);n.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(o){this.removeFold(o),o.subFolds.forEach(function(n){o.restoreRange(n),this.addFold(n)},this),o.collapseChildren>0&&this.foldAll(o.start.row+1,o.end.row,o.collapseChildren-1),o.subFolds=[]},this.expandFolds=function(o){o.forEach(function(n){this.expandFold(n)},this)},this.unfold=function(o,n){var t,e;if(o==null)t=new T(0,0,this.getLength(),0),n==null&&(n=!0);else if(typeof o=="number")t=new T(o,0,o,this.getLine(o).length);else if("row"in o)t=T.fromPoints(o,o);else{if(Array.isArray(o))return e=[],o.forEach(function(s){e=e.concat(this.unfold(s))},this),e;t=o}e=this.getFoldsInRangeList(t);for(var i=e;e.length==1&&T.comparePoints(e[0].start,t.start)<0&&T.comparePoints(e[0].end,t.end)>0;)this.expandFolds(e),e=this.getFoldsInRangeList(t);if(n!=!1?this.removeFolds(e):this.expandFolds(e),i.length)return i},this.isRowFolded=function(o,n){return!!this.getFoldLine(o,n)},this.getRowFoldEnd=function(o,n){var t=this.getFoldLine(o,n);return t?t.end.row:o},this.getRowFoldStart=function(o,n){var t=this.getFoldLine(o,n);return t?t.start.row:o},this.getFoldDisplayLine=function(o,n,t,e,i){e==null&&(e=o.start.row),i==null&&(i=0),n==null&&(n=o.end.row),t==null&&(t=this.getLine(n).length);var s=this.doc,c="";return o.walk(function(h,m,v,p){if(!(m<e)){if(m==e){if(v<i)return;p=Math.max(i,p)}h!=null?c+=h:c+=s.getLine(m).substring(p,v)}},n,t),c},this.getDisplayLine=function(o,n,t,e){var i=this.getFoldLine(o);if(i)return this.getFoldDisplayLine(i,o,n,t,e);var s;return s=this.doc.getLine(o),s.substring(e||0,n||s.length)},this.$cloneFoldData=function(){var o=[];return o=this.$foldData.map(function(n){var t=n.folds.map(function(e){return e.clone()});return new A(o,t)}),o},this.toggleFold=function(o){var n=this.selection,t=n.getRange(),e,i;if(t.isEmpty()){var s=t.start;if(e=this.getFoldAt(s.row,s.column),e){this.expandFold(e);return}else(i=this.findMatchingBracket(s))?t.comparePoint(i)==1?t.end=i:(t.start=i,t.start.column++,t.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(t.comparePoint(i)==1?t.end=i:t.start=i,t.start.column++):t=this.getCommentFoldRange(s.row,s.column)||t}else{var c=this.getFoldsInRange(t);if(o&&c.length){this.expandFolds(c);return}else c.length==1&&(e=c[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var h="...";if(!t.isMultiLine()){if(h=this.getTextRange(t),h.length<4)return;h=h.trim().substring(0,2)+".."}this.addFold(h,t)},this.getCommentFoldRange=function(o,n,t){var e=new l(this,o,n),i=e.getCurrentToken(),s=i&&i.type;if(i&&/^comment|string/.test(s)){s=s.match(/comment|string/)[0],s=="comment"&&(s+="|doc-start|\\.doc");var c=new RegExp(s),h=new T;if(t!=1){do i=e.stepBackward();while(i&&c.test(i.type));i=e.stepForward()}h.start.row=e.getCurrentTokenRow(),h.start.column=e.getCurrentTokenColumn()+i.value.length,e=new l(this,o,n);var m=this.getState(e.$row);if(t!=-1){var v=-1;do if(i=e.stepForward(),v==-1){var p=this.getState(e.$row);m.toString()!==p.toString()&&(v=e.$row)}else if(e.$row>v)break;while(i&&c.test(i.type));i=e.stepBackward()}else i=e.getCurrentToken();return h.end.row=e.getCurrentTokenRow(),h.end.column=e.getCurrentTokenColumn(),h}},this.foldAll=function(o,n,t,e){t==null&&(t=1e5);var i=this.foldWidgets;if(i){n=n||this.getLength(),o=o||0;for(var s=o;s<n;s++)if(i[s]==null&&(i[s]=this.getFoldWidget(s)),i[s]=="start"&&!(e&&!e(s))){var c=this.getFoldWidgetRange(s);c&&c.isMultiLine()&&c.end.row<=n&&c.start.row>=o&&(s=c.end.row,c.collapseChildren=t,this.addFold("...",c))}}},this.foldToLevel=function(o){for(this.foldAll();o-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var o=this;this.foldAll(null,null,null,function(n){for(var t=o.getTokens(n),e=0;e<t.length;e++){var i=t[e];if(!(i.type=="text"&&/^\s+$/.test(i.value)))return!!/comment/.test(i.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(o){if(!this.$foldStyles[o])throw new Error("invalid fold style: "+o+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=o){this.$foldStyle=o,o=="manual"&&this.unfold();var n=this.$foldMode;this.$setFolding(null),this.$setFolding(n)}},this.$setFolding=function(o){if(this.$foldMode!=o){if(this.$foldMode=o,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!o||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=o.getFoldWidget.bind(o,this,this.$foldStyle),this.getFoldWidgetRange=o.getFoldWidgetRange.bind(o,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(o,n){var t=this.foldWidgets;if(!t||n&&t[o])return{};for(var e=o-1,i;e>=0;){var s=t[e];if(s==null&&(s=t[e]=this.getFoldWidget(e)),s=="start"){var c=this.getFoldWidgetRange(e);if(i||(i=c),c&&c.end.row>=o)break}e--}return{range:e!==-1&&c,firstRange:i}},this.onFoldWidgetClick=function(o,n){n instanceof u&&(n=n.domEvent);var t={children:n.shiftKey,all:n.ctrlKey||n.metaKey,siblings:n.altKey},e=this.$toggleFoldWidget(o,t);if(!e){var i=n.target||n.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(o,n){if(this.getFoldWidget){var t=this.getFoldWidget(o),e=this.getLine(o),i=t==="end"?-1:1,s=this.getFoldAt(o,i===-1?0:e.length,i);if(s)return n.children||n.all?this.removeFold(s):this.expandFold(s),s;var c=this.getFoldWidgetRange(o,!0);if(c&&!c.isMultiLine()&&(s=this.getFoldAt(c.start.row,c.start.column,1),s&&c.isEqual(s.range)))return this.removeFold(s),s;if(n.siblings){var h=this.getParentFoldRangeData(o);if(h.range)var m=h.range.start.row+1,v=h.range.end.row;this.foldAll(m,v,n.all?1e4:0)}else n.children?(v=c?c.end.row:this.getLength(),this.foldAll(o+1,v,n.all?1e4:0)):c&&(n.all&&(c.collapseChildren=1e4),this.addFold("...",c));return c}},this.toggleFoldWidget=function(o){var n=this.selection.getCursor().row;n=this.getRowFoldStart(n);var t=this.$toggleFoldWidget(n,{});if(!t){var e=this.getParentFoldRangeData(n,!0);if(t=e.range||e.firstRange,t){n=t.start.row;var i=this.getFoldAt(n,this.getLine(n).length,1);i?this.removeFold(i):this.addFold("...",t)}}},this.updateFoldWidgets=function(o){var n=o.start.row,t=o.end.row-n;if(t===0)this.foldWidgets[n]=null;else if(o.action=="remove")this.foldWidgets.splice(n,t+1,null);else{var e=Array(t+1);e.unshift(n,1),this.foldWidgets.splice.apply(this.foldWidgets,e)}},this.tokenizerUpdateFoldWidgets=function(o){var n=o.data;n.first!=n.last&&this.foldWidgets.length>n.first&&this.foldWidgets.splice(n.first,this.foldWidgets.length)}}x.Folding=r}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(k,x,z){var T=k("../token_iterator").TokenIterator,A=k("../range").Range;function C(){this.findMatchingBracket=function(l,u){if(l.column==0)return null;var r=u||this.getLine(l.row).charAt(l.column-1);if(r=="")return null;var o=r.match(/([\(\[\{])|([\)\]\}])/);return o?o[1]?this.$findClosingBracket(o[1],l):this.$findOpeningBracket(o[2],l):null},this.getBracketRange=function(l){var u=this.getLine(l.row),r=!0,o,n=u.charAt(l.column-1),t=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(t||(n=u.charAt(l.column),l={row:l.row,column:l.column+1},t=n&&n.match(/([\(\[\{])|([\)\]\}])/),r=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],l);if(!e)return null;o=A.fromPoints(l,e),r||(o.end.column++,o.start.column--),o.cursor=o.end}else{var e=this.$findOpeningBracket(t[2],l);if(!e)return null;o=A.fromPoints(e,l),r||(o.start.column++,o.end.column--),o.cursor=o.start}return o},this.getMatchingBracketRanges=function(l,u){var r=this.getLine(l.row),o=/([\(\[\{])|([\)\]\}])/,n=!u&&r.charAt(l.column-1),t=n&&n.match(o);if(t||(n=(u===void 0||u)&&r.charAt(l.column),l={row:l.row,column:l.column+1},t=n&&n.match(o)),!t)return null;var e=new A(l.row,l.column-1,l.row,l.column),i=t[1]?this.$findClosingBracket(t[1],l):this.$findOpeningBracket(t[2],l);if(!i)return[e];var s=new A(i.row,i.column,i.row,i.column+1);return[e,s]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(l,u,r){var o=this.$brackets[l],n=1,t=new T(this,u.row,u.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){r||(r=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var i=u.column-t.getCurrentTokenColumn()-2,s=e.value;;){for(;i>=0;){var c=s.charAt(i);if(c==o){if(n-=1,n==0)return{row:t.getCurrentTokenRow(),column:i+t.getCurrentTokenColumn()}}else c==l&&(n+=1);i-=1}do e=t.stepBackward();while(e&&!r.test(e.type));if(e==null)break;s=e.value,i=s.length-1}return null}},this.$findClosingBracket=function(l,u,r){var o=this.$brackets[l],n=1,t=new T(this,u.row,u.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){r||(r=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var i=u.column-t.getCurrentTokenColumn();;){for(var s=e.value,c=s.length;i<c;){var h=s.charAt(i);if(h==o){if(n-=1,n==0)return{row:t.getCurrentTokenRow(),column:i+t.getCurrentTokenColumn()}}else h==l&&(n+=1);i+=1}do e=t.stepForward();while(e&&!r.test(e.type));if(e==null)break;i=0}return null}},this.getMatchingTags=function(l){var u=new T(this,l.row,l.column),r=this.$findTagName(u);if(r){var o=u.stepBackward();return o.value==="<"?this.$findClosingTag(u,r):this.$findOpeningTag(u,r)}},this.$findTagName=function(l){var u=l.getCurrentToken(),r=!1,o=!1;if(u&&u.type.indexOf("tag-name")===-1)do o?u=l.stepBackward():u=l.stepForward(),u&&(u.value==="/>"?o=!0:u.type.indexOf("tag-name")!==-1&&(r=!0));while(u&&!r);return u},this.$findClosingTag=function(l,u){var r,o=u.value,n=u.value,t=0,e=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);u=l.stepForward();var i=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length),s=!1;do{if(r=u,r.type.indexOf("tag-close")!==-1&&!s){var c=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);s=!0}if(u=l.stepForward(),u){if(u.value===">"&&!s){var c=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);s=!0}if(u.type.indexOf("tag-name")!==-1){if(o=u.value,n===o){if(r.value==="<")t++;else if(r.value==="</"&&(t--,t<0)){l.stepBackward();var h=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+2);u=l.stepForward();var m=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=l.stepForward()),u&&u.value===">")var v=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);else return}}}else if(n===o&&u.value==="/>"&&(t--,t<0))var h=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+2),m=h,v=m,c=new A(i.end.row,i.end.column,i.end.row,i.end.column+1)}}while(u&&t>=0);if(e&&c&&h&&v&&i&&m)return{openTag:new A(e.start.row,e.start.column,c.end.row,c.end.column),closeTag:new A(h.start.row,h.start.column,v.end.row,v.end.column),openTagName:i,closeTagName:m}},this.$findOpeningTag=function(l,u){var r=l.getCurrentToken(),o=u.value,n=0,t=l.getCurrentTokenRow(),e=l.getCurrentTokenColumn(),i=e+2,s=new A(t,e,t,i);l.stepForward();var c=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=l.stepForward()),!(!u||u.value!==">")){var h=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);l.stepBackward(),l.stepBackward();do if(u=r,t=l.getCurrentTokenRow(),e=l.getCurrentTokenColumn(),i=e+u.value.length,r=l.stepBackward(),u){if(u.type.indexOf("tag-name")!==-1){if(o===u.value)if(r.value==="<"){if(n++,n>0){var m=new A(t,e,t,i),v=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);do u=l.stepForward();while(u&&u.value!==">");var p=new A(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1)}}else r.value==="</"&&n--}else if(u.value==="/>"){for(var g=0,w=r;w;){if(w.type.indexOf("tag-name")!==-1&&w.value===o){n--;break}else if(w.value==="<")break;w=l.stepBackward(),g++}for(var M=0;M<g;M++)l.stepForward()}}while(r&&n<=0);if(v&&p&&s&&h&&m&&c)return{openTag:new A(v.start.row,v.start.column,p.end.row,p.end.column),closeTag:new A(s.start.row,s.start.column,h.end.row,h.end.column),openTagName:m,closeTagName:c}}}}x.BracketMatch=C}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(k,x,z){var T=k("./lib/oop"),A=k("./lib/lang"),C=k("./bidihandler").BidiHandler,l=k("./config"),u=k("./lib/event_emitter").EventEmitter,r=k("./selection").Selection,o=k("./mode/text").Mode,n=k("./range").Range,t=k("./line_widgets").LineWidgets,e=k("./document").Document,i=k("./background_tokenizer").BackgroundTokenizer,s=k("./search_highlight").SearchHighlight,c=k("./undomanager").UndoManager,h=function(){function f(a,d){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++f.$uid,this.$foldData.toString=function(){return this.join(`
|
|
197
|
-
`)},this.bgTokenizer=new i(new o().getTokenizer(),this);var y=this;this.bgTokenizer.on("update",function(b){y._signal("tokenizerUpdate",b)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof a!="object"||!a.getLine)&&(a=new e(a)),this.setDocument(a),this.selection=new r(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new C(this),l.resetOptions(this),this.setMode(d),l._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return f.prototype.$initOperationListeners=function(){var a=this;this.curOp=null,this.on("change",function(){a.curOp||(a.startOperation(),a.curOp.selectionBefore=a.$lastSel),a.curOp.docChanged=!0},!0),this.on("changeSelection",function(){a.curOp||(a.startOperation(),a.curOp.selectionBefore=a.$lastSel),a.curOp.selectionChanged=!0},!0),this.$operationResetTimer=A.delayedCall(this.endOperation.bind(this,!0))},f.prototype.startOperation=function(a){if(this.curOp){if(!a||this.curOp.command)return;this.prevOp=this.curOp}a||(a={}),this.$operationResetTimer.schedule(),this.curOp={command:a.command||{},args:a.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",a)},f.prototype.endOperation=function(a){if(this.curOp){if(a&&a.returnValue===!1){this.curOp=null,this._signal("endOperation",a);return}if(a==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var d=this.selection.toJSON();this.curOp.selectionAfter=d,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(d),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",a)}},f.prototype.setDocument=function(a){this.doc&&this.doc.off("change",this.$onChange),this.doc=a,a.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},f.prototype.getDocument=function(){return this.doc},Object.defineProperty(f.prototype,"widgetManager",{get:function(){var a=new t(this);return this.widgetManager=a,this.$editor&&a.attach(this.$editor),a},set:function(a){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:a})},enumerable:!1,configurable:!0}),f.prototype.$resetRowCache=function(a){if(!a){this.$docRowCache=[],this.$screenRowCache=[];return}var d=this.$docRowCache.length,y=this.$getRowCacheIndex(this.$docRowCache,a)+1;d>y&&(this.$docRowCache.splice(y,d),this.$screenRowCache.splice(y,d))},f.prototype.$getRowCacheIndex=function(a,d){for(var y=0,b=a.length-1;y<=b;){var L=y+b>>1,E=a[L];if(d>E)y=L+1;else if(d<E)b=L-1;else return L}return y-1},f.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},f.prototype.onChangeFold=function(a){var d=a.data;this.$resetRowCache(d.start.row)},f.prototype.onChange=function(a){this.$modified=!0,this.$bidiHandler.onChange(a),this.$resetRowCache(a.start.row);var d=this.$updateInternalDataOnChange(a);!this.$fromUndo&&this.$undoManager&&(d&&d.length&&(this.$undoManager.add({action:"removeFolds",folds:d},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(a,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(a),this._signal("change",a)},f.prototype.onSelectionChange=function(){this._signal("changeSelection")},f.prototype.setValue=function(a){this.doc.setValue(a),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},f.fromJSON=function(a){typeof a=="string"&&(a=JSON.parse(a));var d=new c;d.$undoStack=a.history.undo,d.$redoStack=a.history.redo,d.mark=a.history.mark,d.$rev=a.history.rev;var y=new f(a.value);return a.folds.forEach(function(b){y.addFold("...",n.fromPoints(b.start,b.end))}),y.setAnnotations(a.annotations),y.setBreakpoints(a.breakpoints),y.setMode(a.mode),y.setScrollLeft(a.scrollLeft),y.setScrollTop(a.scrollTop),y.setUndoManager(d),y.selection.fromJSON(a.selection),y},f.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(a){return a.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},f.prototype.toString=function(){return this.doc.getValue()},f.prototype.getSelection=function(){return this.selection},f.prototype.getState=function(a){return this.bgTokenizer.getState(a)},f.prototype.getTokens=function(a){return this.bgTokenizer.getTokens(a)},f.prototype.getTokenAt=function(a,d){var y=this.bgTokenizer.getTokens(a),b,L=0;if(d==null){var E=y.length-1;L=this.getLine(a).length}else for(var E=0;E<y.length&&(L+=y[E].value.length,!(L>=d));E++);return b=y[E],b?(b.index=E,b.start=L-b.value.length,b):null},f.prototype.setUndoManager=function(a){if(this.$undoManager=a,this.$informUndoManager&&this.$informUndoManager.cancel(),a){var d=this;a.addSession(this),this.$syncInformUndoManager=function(){d.$informUndoManager.cancel(),d.mergeUndoDeltas=!1},this.$informUndoManager=A.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},f.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},f.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},f.prototype.getTabString=function(){return this.getUseSoftTabs()?A.stringRepeat(" ",this.getTabSize()):" "},f.prototype.setUseSoftTabs=function(a){this.setOption("useSoftTabs",a)},f.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},f.prototype.setTabSize=function(a){this.setOption("tabSize",a)},f.prototype.getTabSize=function(){return this.$tabSize},f.prototype.isTabStop=function(a){return this.$useSoftTabs&&a.column%this.$tabSize===0},f.prototype.setNavigateWithinSoftTabs=function(a){this.setOption("navigateWithinSoftTabs",a)},f.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},f.prototype.setOverwrite=function(a){this.setOption("overwrite",a)},f.prototype.getOverwrite=function(){return this.$overwrite},f.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},f.prototype.addGutterDecoration=function(a,d){this.$decorations[a]||(this.$decorations[a]=""),this.$decorations[a]+=" "+d,this._signal("changeBreakpoint",{})},f.prototype.removeGutterDecoration=function(a,d){this.$decorations[a]=(this.$decorations[a]||"").replace(" "+d,""),this._signal("changeBreakpoint",{})},f.prototype.getBreakpoints=function(){return this.$breakpoints},f.prototype.setBreakpoints=function(a){this.$breakpoints=[];for(var d=0;d<a.length;d++)this.$breakpoints[a[d]]="ace_breakpoint";this._signal("changeBreakpoint",{})},f.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},f.prototype.setBreakpoint=function(a,d){d===void 0&&(d="ace_breakpoint"),d?this.$breakpoints[a]=d:delete this.$breakpoints[a],this._signal("changeBreakpoint",{})},f.prototype.clearBreakpoint=function(a){delete this.$breakpoints[a],this._signal("changeBreakpoint",{})},f.prototype.addMarker=function(a,d,y,b){var L=this.$markerId++,E={range:a,type:y||"line",renderer:typeof y=="function"?y:null,clazz:d,inFront:!!b,id:L};return b?(this.$frontMarkers[L]=E,this._signal("changeFrontMarker")):(this.$backMarkers[L]=E,this._signal("changeBackMarker")),L},f.prototype.addDynamicMarker=function(a,d){if(a.update){var y=this.$markerId++;return a.id=y,a.inFront=!!d,d?(this.$frontMarkers[y]=a,this._signal("changeFrontMarker")):(this.$backMarkers[y]=a,this._signal("changeBackMarker")),a}},f.prototype.removeMarker=function(a){var d=this.$frontMarkers[a]||this.$backMarkers[a];if(d){var y=d.inFront?this.$frontMarkers:this.$backMarkers;delete y[a],this._signal(d.inFront?"changeFrontMarker":"changeBackMarker")}},f.prototype.getMarkers=function(a){return a?this.$frontMarkers:this.$backMarkers},f.prototype.highlight=function(a){if(!this.$searchHighlight){var d=new s(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(d)}this.$searchHighlight.setRegexp(a)},f.prototype.highlightLines=function(a,d,y,b){typeof d!="number"&&(y=d,d=a),y||(y="ace_step");var L=new n(a,0,d,1/0);return L.id=this.addMarker(L,y,"fullLine",b),L},f.prototype.setAnnotations=function(a){this.$annotations=a,this._signal("changeAnnotation",{})},f.prototype.getAnnotations=function(){return this.$annotations||[]},f.prototype.clearAnnotations=function(){this.setAnnotations([])},f.prototype.$detectNewLine=function(a){var d=a.match(/^.*?(\r?\n)/m);d?this.$autoNewLine=d[1]:this.$autoNewLine=`
|
|
198
|
-
`},f.prototype.getWordRange=function(a,d){var y=this.getLine(a),b=!1;if(d>0&&(b=!!y.charAt(d-1).match(this.tokenRe)),b||(b=!!y.charAt(d).match(this.tokenRe)),b)var L=this.tokenRe;else if(/^\s+$/.test(y.slice(d-1,d+1)))var L=/\s/;else var L=this.nonTokenRe;var E=d;if(E>0){do E--;while(E>=0&&y.charAt(E).match(L));E++}for(var _=d;_<y.length&&y.charAt(_).match(L);)_++;return new n(a,E,a,_)},f.prototype.getAWordRange=function(a,d){for(var y=this.getWordRange(a,d),b=this.getLine(y.end.row);b.charAt(y.end.column).match(/[ \t]/);)y.end.column+=1;return y},f.prototype.setNewLineMode=function(a){this.doc.setNewLineMode(a)},f.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},f.prototype.setUseWorker=function(a){this.setOption("useWorker",a)},f.prototype.getUseWorker=function(){return this.$useWorker},f.prototype.onReloadTokenizer=function(a){var d=a.data;this.bgTokenizer.start(d.first),this._signal("tokenizerUpdate",a)},f.prototype.setMode=function(a,d){if(a&&typeof a=="object"){if(a.getTokenizer)return this.$onChangeMode(a);var y=a,b=y.path}else b=a||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new o),this.$modes[b]&&!y){this.$onChangeMode(this.$modes[b]),d&&d();return}this.$modeId=b,l.loadModule(["mode",b],function(L){if(!this.destroyed){if(this.$modeId!==b)return d&&d();this.$modes[b]&&!y?this.$onChangeMode(this.$modes[b]):L&&L.Mode&&(L=new L.Mode(y),y||(this.$modes[b]=L,L.$id=b),this.$onChangeMode(L)),d&&d()}}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},f.prototype.$onChangeMode=function(a,d){if(d||(this.$modeId=a.$id),this.$mode!==a){var y=this.$mode;this.$mode=a,this.$stopWorker(),this.$useWorker&&this.$startWorker();var b=a.getTokenizer();if(b.on!==void 0){var L=this.onReloadTokenizer.bind(this);b.on("update",L)}this.bgTokenizer.setTokenizer(b),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=a.tokenRe,this.nonTokenRe=a.nonTokenRe,d||(a.attachToSession&&a.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(a.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:y,mode:a}))}},f.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},f.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(a){l.warn("Could not load worker",a),this.$worker=null}},f.prototype.getMode=function(){return this.$mode},f.prototype.setScrollTop=function(a){this.$scrollTop===a||isNaN(a)||(this.$scrollTop=a,this._signal("changeScrollTop",a))},f.prototype.getScrollTop=function(){return this.$scrollTop},f.prototype.setScrollLeft=function(a){this.$scrollLeft===a||isNaN(a)||(this.$scrollLeft=a,this._signal("changeScrollLeft",a))},f.prototype.getScrollLeft=function(){return this.$scrollLeft},f.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},f.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var a=0;return this.lineWidgets.forEach(function(d){d&&d.screenWidth>a&&(a=d.screenWidth)}),this.lineWidgetWidth=a},f.prototype.$computeWidth=function(a){if(this.$modified||a){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var d=this.doc.getAllLines(),y=this.$rowLengthCache,b=0,L=0,E=this.$foldData[L],_=E?E.start.row:1/0,I=d.length,O=0;O<I;O++){if(O>_){if(O=E.end.row+1,O>=I)break;E=this.$foldData[L++],_=E?E.start.row:1/0}y[O]==null&&(y[O]=this.$getStringScreenWidth(d[O])[0]),y[O]>b&&(b=y[O])}this.screenWidth=b}},f.prototype.getLine=function(a){return this.doc.getLine(a)},f.prototype.getLines=function(a,d){return this.doc.getLines(a,d)},f.prototype.getLength=function(){return this.doc.getLength()},f.prototype.getTextRange=function(a){return this.doc.getTextRange(a||this.selection.getRange())},f.prototype.insert=function(a,d){return this.doc.insert(a,d)},f.prototype.remove=function(a){return this.doc.remove(a)},f.prototype.removeFullLines=function(a,d){return this.doc.removeFullLines(a,d)},f.prototype.undoChanges=function(a,d){if(a.length){this.$fromUndo=!0;for(var y=a.length-1;y!=-1;y--){var b=a[y];b.action=="insert"||b.action=="remove"?this.doc.revertDelta(b):b.folds&&this.addFolds(b.folds)}!d&&this.$undoSelect&&(a.selectionBefore?this.selection.fromJSON(a.selectionBefore):this.selection.setRange(this.$getUndoSelection(a,!0))),this.$fromUndo=!1}},f.prototype.redoChanges=function(a,d){if(a.length){this.$fromUndo=!0;for(var y=0;y<a.length;y++){var b=a[y];(b.action=="insert"||b.action=="remove")&&this.doc.$safeApplyDelta(b)}!d&&this.$undoSelect&&(a.selectionAfter?this.selection.fromJSON(a.selectionAfter):this.selection.setRange(this.$getUndoSelection(a,!1))),this.$fromUndo=!1}},f.prototype.setUndoSelect=function(a){this.$undoSelect=a},f.prototype.$getUndoSelection=function(a,d){function y(I){return d?I.action!=="insert":I.action==="insert"}for(var b,L,E=0;E<a.length;E++){var _=a[E];if(_.start){if(!b){y(_)?b=n.fromPoints(_.start,_.end):b=n.fromPoints(_.start,_.start);continue}y(_)?(L=_.start,b.compare(L.row,L.column)==-1&&b.setStart(L),L=_.end,b.compare(L.row,L.column)==1&&b.setEnd(L)):(L=_.start,b.compare(L.row,L.column)==-1&&(b=n.fromPoints(_.start,_.start)))}}return b},f.prototype.replace=function(a,d){return this.doc.replace(a,d)},f.prototype.moveText=function(a,d,y){var b=this.getTextRange(a),L=this.getFoldsInRange(a),E=n.fromPoints(d,d);if(!y){this.remove(a);var _=a.start.row-a.end.row,I=_?-a.end.column:a.start.column-a.end.column;I&&(E.start.row==a.end.row&&E.start.column>a.end.column&&(E.start.column+=I),E.end.row==a.end.row&&E.end.column>a.end.column&&(E.end.column+=I)),_&&E.start.row>=a.end.row&&(E.start.row+=_,E.end.row+=_)}if(E.end=this.insert(E.start,b),L.length){var O=a.start,W=E.start,_=W.row-O.row,I=W.column-O.column;this.addFolds(L.map(function(H){return H=H.clone(),H.start.row==O.row&&(H.start.column+=I),H.end.row==O.row&&(H.end.column+=I),H.start.row+=_,H.end.row+=_,H}))}return E},f.prototype.indentRows=function(a,d,y){y=y.replace(/\t/g,this.getTabString());for(var b=a;b<=d;b++)this.doc.insertInLine({row:b,column:0},y)},f.prototype.outdentRows=function(a){for(var d=a.collapseRows(),y=new n(0,0,0,0),b=this.getTabSize(),L=d.start.row;L<=d.end.row;++L){var E=this.getLine(L);y.start.row=L,y.end.row=L;for(var _=0;_<b&&E.charAt(_)==" ";++_);_<b&&E.charAt(_)==" "?(y.start.column=_,y.end.column=_+1):(y.start.column=0,y.end.column=_),this.remove(y)}},f.prototype.$moveLines=function(a,d,y){if(a=this.getRowFoldStart(a),d=this.getRowFoldEnd(d),y<0){var b=this.getRowFoldStart(a+y);if(b<0)return 0;var L=b-a}else if(y>0){var b=this.getRowFoldEnd(d+y);if(b>this.doc.getLength()-1)return 0;var L=b-d}else{a=this.$clipRowToDocument(a),d=this.$clipRowToDocument(d);var L=d-a+1}var E=new n(a,0,d,Number.MAX_VALUE),_=this.getFoldsInRange(E).map(function(O){return O=O.clone(),O.start.row+=L,O.end.row+=L,O}),I=y==0?this.doc.getLines(a,d):this.doc.removeFullLines(a,d);return this.doc.insertFullLines(a+L,I),_.length&&this.addFolds(_),L},f.prototype.moveLinesUp=function(a,d){return this.$moveLines(a,d,-1)},f.prototype.moveLinesDown=function(a,d){return this.$moveLines(a,d,1)},f.prototype.duplicateLines=function(a,d){return this.$moveLines(a,d,0)},f.prototype.$clipRowToDocument=function(a){return Math.max(0,Math.min(a,this.doc.getLength()-1))},f.prototype.$clipColumnToRow=function(a,d){return d<0?0:Math.min(this.doc.getLine(a).length,d)},f.prototype.$clipPositionToDocument=function(a,d){if(d=Math.max(0,d),a<0)a=0,d=0;else{var y=this.doc.getLength();a>=y?(a=y-1,d=this.doc.getLine(y-1).length):d=Math.min(this.doc.getLine(a).length,d)}return{row:a,column:d}},f.prototype.$clipRangeToDocument=function(a){a.start.row<0?(a.start.row=0,a.start.column=0):a.start.column=this.$clipColumnToRow(a.start.row,a.start.column);var d=this.doc.getLength()-1;return a.end.row>d?(a.end.row=d,a.end.column=this.doc.getLine(d).length):a.end.column=this.$clipColumnToRow(a.end.row,a.end.column),a},f.prototype.setUseWrapMode=function(a){if(a!=this.$useWrapMode){if(this.$useWrapMode=a,this.$modified=!0,this.$resetRowCache(0),a){var d=this.getLength();this.$wrapData=Array(d),this.$updateWrapData(0,d-1)}this._signal("changeWrapMode")}},f.prototype.getUseWrapMode=function(){return this.$useWrapMode},f.prototype.setWrapLimitRange=function(a,d){(this.$wrapLimitRange.min!==a||this.$wrapLimitRange.max!==d)&&(this.$wrapLimitRange={min:a,max:d},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},f.prototype.adjustWrapLimit=function(a,d){var y=this.$wrapLimitRange;y.max<0&&(y={min:d,max:d});var b=this.$constrainWrapLimit(a,y.min,y.max);return b!=this.$wrapLimit&&b>1?(this.$wrapLimit=b,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},f.prototype.$constrainWrapLimit=function(a,d,y){return d&&(a=Math.max(d,a)),y&&(a=Math.min(y,a)),a},f.prototype.getWrapLimit=function(){return this.$wrapLimit},f.prototype.setWrapLimit=function(a){this.setWrapLimitRange(a,a)},f.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},f.prototype.$updateInternalDataOnChange=function(a){var d=this.$useWrapMode,y=a.action,b=a.start,L=a.end,E=b.row,_=L.row,I=_-E,O=null;if(this.$updating=!0,I!=0)if(y==="remove"){this[d?"$wrapData":"$rowLengthCache"].splice(E,I);var W=this.$foldData;O=this.getFoldsInRange(a),this.removeFolds(O);var D=this.getFoldLine(L.row),N=0;if(D){D.addRemoveChars(L.row,L.column,b.column-L.column),D.shiftRow(-I);var H=this.getFoldLine(E);H&&H!==D&&(H.merge(D),D=H),N=W.indexOf(D)+1}for(N;N<W.length;N++){var D=W[N];D.start.row>=L.row&&D.shiftRow(-I)}_=E}else{var F=Array(I);F.unshift(E,0);var P=d?this.$wrapData:this.$rowLengthCache;P.splice.apply(P,F);var W=this.$foldData,D=this.getFoldLine(E),N=0;if(D){var j=D.range.compareInside(b.row,b.column);j==0?(D=D.split(b.row,b.column),D&&(D.shiftRow(I),D.addRemoveChars(_,0,L.column-b.column))):j==-1&&(D.addRemoveChars(E,0,L.column-b.column),D.shiftRow(I)),N=W.indexOf(D)+1}for(N;N<W.length;N++){var D=W[N];D.start.row>=E&&D.shiftRow(I)}}else{I=Math.abs(a.start.column-a.end.column),y==="remove"&&(O=this.getFoldsInRange(a),this.removeFolds(O),I=-I);var D=this.getFoldLine(E);D&&D.addRemoveChars(E,b.column,I)}return d&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,d?this.$updateWrapData(E,_):this.$updateRowLengthCache(E,_),O},f.prototype.$updateRowLengthCache=function(a,d){this.$rowLengthCache[a]=null,this.$rowLengthCache[d]=null},f.prototype.$updateWrapData=function(a,d){var y=this.doc.getAllLines(),b=this.getTabSize(),L=this.$wrapData,E=this.$wrapLimit,_,I,O=a;for(d=Math.min(d,y.length-1);O<=d;)I=this.getFoldLine(O,I),I?(_=[],I.walk(function(W,D,N,H){var F;if(W!=null){F=this.$getDisplayTokens(W,_.length),F[0]=p;for(var P=1;P<F.length;P++)F[P]=g}else F=this.$getDisplayTokens(y[D].substring(H,N),_.length);_=_.concat(F)}.bind(this),I.end.row,y[I.end.row].length+1),L[I.start.row]=this.$computeWrapSplits(_,E,b),O=I.end.row+1):(_=this.$getDisplayTokens(y[O]),L[O]=this.$computeWrapSplits(_,E,b),O++)},f.prototype.$computeWrapSplits=function(a,d,y){if(a.length==0)return[];var b=[],L=a.length,E=0,_=0,I=this.$wrapAsCode,O=this.$indentedSoftWrap,W=d<=Math.max(2*y,8)||O===!1?0:Math.floor(d/2);function D(){var j=0;if(W===0)return j;if(O)for(var V=0;V<a.length;V++){var U=a[V];if(U==M)j+=1;else if(U==S)j+=y;else{if(U==$)continue;break}}return I&&O!==!1&&(j+=y),Math.min(j,W)}function N(j){for(var V=j-E,U=E;U<j;U++){var K=a[U];(K===12||K===2)&&(V-=1)}b.length||(H=D(),b.indent=H),_+=V,b.push(_),E=j}for(var H=0;L-E>d-H;){var F=E+d-H;if(a[F-1]>=M&&a[F]>=M){N(F);continue}if(a[F]==p||a[F]==g){for(F;F!=E-1&&a[F]!=p;F--);if(F>E){N(F);continue}for(F=E+d,F;F<a.length&&a[F]==g;F++);if(F==a.length)break;N(F);continue}for(var P=Math.max(F-(d-(d>>2)),E-1);F>P&&a[F]<p;)F--;if(I){for(;F>P&&a[F]<p;)F--;for(;F>P&&a[F]==w;)F--}else for(;F>P&&a[F]<M;)F--;if(F>P){N(++F);continue}F=E+d,a[F]==v&&F--,N(F-H)}return b},f.prototype.$getDisplayTokens=function(a,d){var y=[],b;d=d||0;for(var L=0;L<a.length;L++){var E=a.charCodeAt(L);if(E==9){b=this.getScreenTabSize(y.length+d),y.push(S);for(var _=1;_<b;_++)y.push($)}else E==32?y.push(M):E>39&&E<48||E>57&&E<64?y.push(w):E>=4352&&R(E)?y.push(m,v):y.push(m)}return y},f.prototype.$getStringScreenWidth=function(a,d,y){if(d==0)return[0,0];d==null&&(d=1/0),y=y||0;var b,L;for(L=0;L<a.length&&(b=a.charCodeAt(L),b==9?y+=this.getScreenTabSize(y):b>=4352&&R(b)?y+=2:y+=1,!(y>d));L++);return[y,L]},f.prototype.getRowLength=function(a){var d=1;return this.lineWidgets&&(d+=this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0),!this.$useWrapMode||!this.$wrapData[a]?d:this.$wrapData[a].length+d},f.prototype.getRowLineCount=function(a){return!this.$useWrapMode||!this.$wrapData[a]?1:this.$wrapData[a].length+1},f.prototype.getRowWrapIndent=function(a){if(this.$useWrapMode){var d=this.screenToDocumentPosition(a,Number.MAX_VALUE),y=this.$wrapData[d.row];return y.length&&y[0]<d.column?y.indent:0}else return 0},f.prototype.getScreenLastRowColumn=function(a){var d=this.screenToDocumentPosition(a,Number.MAX_VALUE);return this.documentToScreenColumn(d.row,d.column)},f.prototype.getDocumentLastRowColumn=function(a,d){var y=this.documentToScreenRow(a,d);return this.getScreenLastRowColumn(y)},f.prototype.getDocumentLastRowColumnPosition=function(a,d){var y=this.documentToScreenRow(a,d);return this.screenToDocumentPosition(y,Number.MAX_VALUE/10)},f.prototype.getRowSplitData=function(a){if(this.$useWrapMode)return this.$wrapData[a]},f.prototype.getScreenTabSize=function(a){return this.$tabSize-(a%this.$tabSize|0)},f.prototype.screenToDocumentRow=function(a,d){return this.screenToDocumentPosition(a,d).row},f.prototype.screenToDocumentColumn=function(a,d){return this.screenToDocumentPosition(a,d).column},f.prototype.screenToDocumentPosition=function(a,d,y){if(a<0)return{row:0,column:0};var b,L=0,E=0,_,I=0,O=0,W=this.$screenRowCache,D=this.$getRowCacheIndex(W,a),N=W.length;if(N&&D>=0)var I=W[D],L=this.$docRowCache[D],H=a>W[N-1];else var H=!N;for(var F=this.getLength()-1,P=this.getNextFoldLine(L),j=P?P.start.row:1/0;I<=a&&(O=this.getRowLength(L),!(I+O>a||L>=F));)I+=O,L++,L>j&&(L=P.end.row+1,P=this.getNextFoldLine(L,P),j=P?P.start.row:1/0),H&&(this.$docRowCache.push(L),this.$screenRowCache.push(I));if(P&&P.start.row<=L)b=this.getFoldDisplayLine(P),L=P.start.row;else{if(I+O<=a||L>F)return{row:F,column:this.getLine(F).length};b=this.getLine(L),P=null}var V=0,U=Math.floor(a-I);if(this.$useWrapMode){var K=this.$wrapData[L];K&&(_=K[U],U>0&&K.length&&(V=K.indent,E=K[U-1]||K[K.length-1],b=b.substring(E)))}return y!==void 0&&this.$bidiHandler.isBidiRow(I+U,L,U)&&(d=this.$bidiHandler.offsetToCol(y)),E+=this.$getStringScreenWidth(b,d-V)[1],this.$useWrapMode&&E>=_&&(E=_-1),P?P.idxToPosition(E):{row:L,column:E}},f.prototype.documentToScreenPosition=function(a,d){if(typeof d>"u")var y=this.$clipPositionToDocument(a.row,a.column);else y=this.$clipPositionToDocument(a,d);a=y.row,d=y.column;var b=0,L=null,E=null;E=this.getFoldAt(a,d,1),E&&(a=E.start.row,d=E.start.column);var _,I=0,O=this.$docRowCache,W=this.$getRowCacheIndex(O,a),D=O.length;if(D&&W>=0)var I=O[W],b=this.$screenRowCache[W],N=a>O[D-1];else var N=!D;for(var H=this.getNextFoldLine(I),F=H?H.start.row:1/0;I<a;){if(I>=F){if(_=H.end.row+1,_>a)break;H=this.getNextFoldLine(_,H),F=H?H.start.row:1/0}else _=I+1;b+=this.getRowLength(I),I=_,N&&(this.$docRowCache.push(I),this.$screenRowCache.push(b))}var P="";H&&I>=F?(P=this.getFoldDisplayLine(H,a,d),L=H.start.row):(P=this.getLine(a).substring(0,d),L=a);var j=0;if(this.$useWrapMode){var V=this.$wrapData[L];if(V){for(var U=0;P.length>=V[U];)b++,U++;P=P.substring(V[U-1]||0,P.length),j=U>0?V.indent:0}}return this.lineWidgets&&this.lineWidgets[I]&&this.lineWidgets[I].rowsAbove&&(b+=this.lineWidgets[I].rowsAbove),{row:b,column:j+this.$getStringScreenWidth(P)[0]}},f.prototype.documentToScreenColumn=function(a,d){return this.documentToScreenPosition(a,d).column},f.prototype.documentToScreenRow=function(a,d){return this.documentToScreenPosition(a,d).row},f.prototype.getScreenLength=function(){var a=0,d=null;if(this.$useWrapMode)for(var L=this.$wrapData.length,E=0,b=0,d=this.$foldData[b++],_=d?d.start.row:1/0;E<L;){var I=this.$wrapData[E];a+=I?I.length+1:1,E++,E>_&&(E=d.end.row+1,d=this.$foldData[b++],_=d?d.start.row:1/0)}else{a=this.getLength();for(var y=this.$foldData,b=0;b<y.length;b++)d=y[b],a-=d.end.row-d.start.row}return this.lineWidgets&&(a+=this.$getWidgetScreenLength()),a},f.prototype.$setFontMetrics=function(a){this.$enableVarChar&&(this.$getStringScreenWidth=function(d,y,b){if(y===0)return[0,0];y||(y=1/0),b=b||0;var L,E;for(E=0;E<d.length&&(L=d.charAt(E),L===" "?b+=this.getScreenTabSize(b):b+=a.getCharacterWidth(L),!(b>y));E++);return[b,E]})},f.prototype.getPrecedingCharacter=function(){var a=this.selection.getCursor();if(a.column===0)return a.row===0?"":this.doc.getNewLineCharacter();var d=this.getLine(a.row);return d[a.column-1]},f.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},f}();h.$uid=0,h.prototype.$modes=l.$modes,h.prototype.getValue=h.prototype.toString,h.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},h.prototype.$overwrite=!1,h.prototype.$mode=null,h.prototype.$modeId=null,h.prototype.$scrollTop=0,h.prototype.$scrollLeft=0,h.prototype.$wrapLimit=80,h.prototype.$useWrapMode=!1,h.prototype.$wrapLimitRange={min:null,max:null},h.prototype.lineWidgets=null,h.prototype.isFullWidth=R,T.implement(h.prototype,u);var m=1,v=2,p=3,g=4,w=9,M=10,S=11,$=12;function R(f){return f<4352?!1:f>=4352&&f<=4447||f>=4515&&f<=4519||f>=4602&&f<=4607||f>=9001&&f<=9002||f>=11904&&f<=11929||f>=11931&&f<=12019||f>=12032&&f<=12245||f>=12272&&f<=12283||f>=12288&&f<=12350||f>=12353&&f<=12438||f>=12441&&f<=12543||f>=12549&&f<=12589||f>=12593&&f<=12686||f>=12688&&f<=12730||f>=12736&&f<=12771||f>=12784&&f<=12830||f>=12832&&f<=12871||f>=12880&&f<=13054||f>=13056&&f<=19903||f>=19968&&f<=42124||f>=42128&&f<=42182||f>=43360&&f<=43388||f>=44032&&f<=55203||f>=55216&&f<=55238||f>=55243&&f<=55291||f>=63744&&f<=64255||f>=65040&&f<=65049||f>=65072&&f<=65106||f>=65108&&f<=65126||f>=65128&&f<=65131||f>=65281&&f<=65376||f>=65504&&f<=65510}k("./edit_session/folding").Folding.call(h.prototype),k("./edit_session/bracket_match").BracketMatch.call(h.prototype),l.defineOptions(h.prototype,"session",{wrap:{set:function(f){if(!f||f=="off"?f=!1:f=="free"?f=!0:f=="printMargin"?f=-1:typeof f=="string"&&(f=parseInt(f,10)||!1),this.$wrap!=f)if(this.$wrap=f,!f)this.setUseWrapMode(!1);else{var a=typeof f=="number"?f:null;this.setWrapLimitRange(a,a),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(f){f=f=="auto"?this.$mode.type!="text":f!="text",f!=this.$wrapAsCode&&(this.$wrapAsCode=f,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(f){this.$useWorker=f,this.$stopWorker(),f&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(f){f=parseInt(f),f>0&&this.$tabSize!==f&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=f,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(f){this.setFoldStyle(f)},handlesSet:!0},overwrite:{set:function(f){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(f){this.doc.setNewLineMode(f)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(f){this.setMode(f)},get:function(){return this.$modeId},handlesSet:!0}}),x.EditSession=h}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(k,x,z){var T=k("./lib/lang"),A=k("./lib/oop"),C=k("./range").Range,l=function(){function n(){this.$options={}}return n.prototype.set=function(t){return A.mixin(this.$options,t),this},n.prototype.getOptions=function(){return T.copyObject(this.$options)},n.prototype.setOptions=function(t){this.$options=t},n.prototype.find=function(t){var e=this.$options,i=this.$matchIterator(t,e);if(!i)return!1;var s=null;return i.forEach(function(c,h,m,v){return s=new C(c,h,m,v),h==v&&e.start&&e.start.start&&e.skipCurrent!=!1&&s.isEqual(e.start)?(s=null,!1):!0}),s},n.prototype.findAll=function(t){var e=this.$options;if(!e.needle)return[];this.$assembleRegExp(e);var i=e.range,s=i?t.getLines(i.start.row,i.end.row):t.doc.getAllLines(),c=[],h=e.re;if(e.$isMultiLine){var m=h.length,v=s.length-m,p;e:for(var g=h.offset||0;g<=v;g++){for(var w=0;w<m;w++)if(s[g+w].search(h[w])==-1)continue e;var M=s[g],S=s[g+m-1],$=M.length-M.match(h[0])[0].length,R=S.match(h[m-1])[0].length;p&&p.end.row===g&&p.end.column>$||(c.push(p=new C(g,$,g+m-1,R)),m>2&&(g=g+m-2))}}else for(var f,a=0;a<s.length;a++)if(this.$isMultilineSearch(e)){var d=s.length-1;if(f=this.$multiLineForward(t,h,a,d),f){var y=f.endRow<=d?f.endRow-1:d;y>a&&(a=y),c.push(new C(f.startRow,f.startCol,f.endRow,f.endCol))}}else{f=T.getMatchOffsets(s[a],h);for(var w=0;w<f.length;w++){var b=f[w];c.push(new C(a,b.offset,a,b.offset+b.length))}}if(i){for(var L=i.start.column,E=i.end.column,a=0,w=c.length-1;a<w&&c[a].start.column<L&&c[a].start.row==0;)a++;for(var _=i.end.row-i.start.row;a<w&&c[w].end.column>E&&c[w].end.row==_;)w--;for(c=c.slice(a,w+1),a=0,w=c.length;a<w;a++)c[a].start.row+=i.start.row,c[a].end.row+=i.start.row}return c},n.prototype.parseReplaceString=function(t){for(var e={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},i="",s=0,c=t.length;s<c;s++){var h=t.charCodeAt(s);if(h===e.Backslash){if(s++,s>=c){i+="\\";break}var m=t.charCodeAt(s);switch(m){case e.Backslash:i+="\\";break;case e.n:i+=`
|
|
199
|
-
`;break;case e.t:i+=" ";break}continue}if(h===e.DollarSign){if(s++,s>=c){i+="$";break}var v=t.charCodeAt(s);if(v===e.DollarSign){i+="$$";continue}if(v===e.Digit0||v===e.Ampersand){i+="$&";continue}if(e.Digit1<=v&&v<=e.Digit9){i+="$"+t[s];continue}}i+=t[s]}return i||t},n.prototype.replace=function(t,e){var i=this.$options,s=this.$assembleRegExp(i);if(i.$isMultiLine)return e;if(s){var c=this.$isMultilineSearch(i);c&&(t=t.replace(/\r\n|\r|\n/g,`
|
|
200
|
-
`));var h=s.exec(t);if(!h||!c&&h[0].length!=t.length)return null;if(e=i.regExp?this.parseReplaceString(e):e.replace(/\$/g,"$$$$"),e=t.replace(s,e),i.preserveCase){e=e.split("");for(var m=Math.min(t.length,t.length);m--;){var v=t[m];v&&v.toLowerCase()!=v?e[m]=e[m].toUpperCase():e[m]=e[m].toLowerCase()}e=e.join("")}return e}},n.prototype.$assembleRegExp=function(t,e){if(t.needle instanceof RegExp)return t.re=t.needle;var i=t.needle;if(!t.needle)return t.re=!1;t.regExp||(i=T.escapeRegExp(i));var s=t.caseSensitive?"gm":"gmi";try{new RegExp(i,"u"),t.$supportsUnicodeFlag=!0,s+="u"}catch{t.$supportsUnicodeFlag=!1}if(t.wholeWord&&(i=u(i,t)),t.$isMultiLine=!e&&/[\n\r]/.test(i),t.$isMultiLine)return t.re=this.$assembleMultilineRegExp(i,s);try{var c=new RegExp(i,s)}catch{c=!1}return t.re=c},n.prototype.$assembleMultilineRegExp=function(t,e){for(var i=t.replace(/\r\n|\r|\n/g,`$
|
|
201
|
-
^`).split(`
|
|
202
|
-
`),s=[],c=0;c<i.length;c++)try{s.push(new RegExp(i[c],e))}catch{return!1}return s},n.prototype.$isMultilineSearch=function(t){return t.re&&/\\r\\n|\\r|\\n/.test(t.re.source)&&t.regExp&&!t.$isMultiLine},n.prototype.$multiLineForward=function(t,e,i,s){for(var c,h=o(t,i),m=i;m<=s;){for(var v=0;v<h&&!(m>s);v++){var p=t.getLine(m++);c=c==null?p:c+`
|
|
203
|
-
`+p}var g=e.exec(c);if(e.lastIndex=0,g){var w=c.slice(0,g.index).split(`
|
|
204
|
-
`),M=g[0].split(`
|
|
205
|
-
`),S=i+w.length-1,$=w[w.length-1].length,R=S+M.length-1,f=M.length==1?$+M[0].length:M[M.length-1].length;return{startRow:S,startCol:$,endRow:R,endCol:f}}}return null},n.prototype.$multiLineBackward=function(t,e,i,s,c){for(var h,m=o(t,s),v=t.getLine(s).length-i,p=s;p>=c;){for(var g=0;g<m&&p>=c;g++){var w=t.getLine(p--);h=h==null?w:w+`
|
|
206
|
-
`+h}var M=r(h,e,v);if(M){var S=h.slice(0,M.index).split(`
|
|
207
|
-
`),$=M[0].split(`
|
|
208
|
-
`),R=p+S.length,f=S[S.length-1].length,a=R+$.length-1,d=$.length==1?f+$[0].length:$[$.length-1].length;return{startRow:R,startCol:f,endRow:a,endCol:d}}}return null},n.prototype.$matchIterator=function(t,e){var i=this.$assembleRegExp(e);if(!i)return!1;var s=this.$isMultilineSearch(e),c=this.$multiLineForward,h=this.$multiLineBackward,m=e.backwards==!0,v=e.skipCurrent!=!1,p=i.unicode,g=e.range,w=e.start;w||(w=g?g[m?"end":"start"]:t.selection.getRange()),w.start&&(w=w[v!=m?"end":"start"]);var M=g?g.start.row:0,S=g?g.end.row:t.getLength()-1;if(m)var $=function(a){var d=w.row;if(!f(d,w.column,a)){for(d--;d>=M;d--)if(f(d,Number.MAX_VALUE,a))return;if(e.wrap!=!1){for(d=S,M=w.row;d>=M;d--)if(f(d,Number.MAX_VALUE,a))return}}};else var $=function(d){var y=w.row;if(!f(y,w.column,d)){for(y=y+1;y<=S;y++)if(f(y,0,d))return;if(e.wrap!=!1){for(y=M,S=w.row;y<=S;y++)if(f(y,0,d))return}}};if(e.$isMultiLine)var R=i.length,f=function(a,d,y){var b=m?a-R+1:a;if(!(b<0||b+R>t.getLength())){var L=t.getLine(b),E=L.search(i[0]);if(!(!m&&E<d||E===-1)){for(var _=1;_<R;_++)if(L=t.getLine(b+_),L.search(i[_])==-1)return;var I=L.match(i[R-1])[0].length;if(!(m&&I>d)&&y(b,E,b+R-1,I))return!0}}};else if(m)var f=function(d,y,b){if(s){var L=h(t,i,y,d,M);if(!L)return!1;if(b(L.startRow,L.startCol,L.endRow,L.endCol))return!0}else{var E=t.getLine(d),_=[],I,O=0;for(i.lastIndex=0;I=i.exec(E);){var W=I[0].length;if(O=I.index,!W){if(O>=E.length)break;i.lastIndex=O+=T.skipEmptyMatch(E,O,p)}if(I.index+W>y)break;_.push(I.index,W)}for(var D=_.length-1;D>=0;D-=2){var N=_[D-1],W=_[D];if(b(d,N,d,N+W))return!0}}};else var f=function(d,y,b){if(i.lastIndex=y,s){var L=c(t,i,d,S);if(L){var E=L.endRow<=S?L.endRow-1:S;E>d&&(d=E)}if(!L)return!1;if(b(L.startRow,L.startCol,L.endRow,L.endCol))return!0}else for(var _=t.getLine(d),I,O;O=i.exec(_);){var W=O[0].length;if(I=O.index,b(d,I,d,I+W))return!0;if(!W&&(i.lastIndex=I+=T.skipEmptyMatch(_,I,p),I>=_.length))return!1}};return{forEach:$}},n}();function u(n,t){var e=T.supportsLookbehind();function i(m,v){v===void 0&&(v=!0);var p=e&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return p.test(m)||t.regExp?e&&t.$supportsUnicodeFlag?v?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var s=Array.from(n),c=s[0],h=s[s.length-1];return i(c)+n+i(h,!1)}function r(n,t,e){for(var i=null,s=0;s<=n.length;){t.lastIndex=s;var c=t.exec(n);if(!c)break;var h=c.index+c[0].length;if(h>n.length-e)break;(!i||h>i.index+i[0].length)&&(i=c),s=c.index+1}return i}function o(n,t){var e=5e3,i={row:t,column:0},s=n.doc.positionToIndex(i),c=s+e,h=n.doc.indexToPosition(c),m=h.row;return m+1}x.Search=l}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(k,x,z){var T=this&&this.__extends||function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,s){i.__proto__=s}||function(i,s){for(var c in s)Object.prototype.hasOwnProperty.call(s,c)&&(i[c]=s[c])},n(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");n(t,e);function i(){this.constructor=t}t.prototype=e===null?Object.create(e):(i.prototype=e.prototype,new i)}}(),A=k("../lib/keys"),C=k("../lib/useragent"),l=A.KEY_MODS,u=function(){function n(t,e){this.$init(t,e,!1)}return n.prototype.$init=function(t,e,i){this.platform=e||(C.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=i},n.prototype.addCommand=function(t){this.commands[t.name]&&this.removeCommand(t),this.commands[t.name]=t,t.bindKey&&this._buildKeyHash(t)},n.prototype.removeCommand=function(t,e){var i=t&&(typeof t=="string"?t:t.name);t=this.commands[i],e||delete this.commands[i];var s=this.commandKeyBinding;for(var c in s){var h=s[c];if(h==t)delete s[c];else if(Array.isArray(h)){var m=h.indexOf(t);m!=-1&&(h.splice(m,1),h.length==1&&(s[c]=h[0]))}}},n.prototype.bindKey=function(t,e,i){if(typeof t=="object"&&t&&(i==null&&(i=t.position),t=t[this.platform]),!!t){if(typeof e=="function")return this.addCommand({exec:e,bindKey:t,name:e.name||t});t.split("|").forEach(function(s){var c="";if(s.indexOf(" ")!=-1){var h=s.split(/\s+/);s=h.pop(),h.forEach(function(p){var g=this.parseKeys(p),w=l[g.hashId]+g.key;c+=(c?" ":"")+w,this._addCommandToBinding(c,"chainKeys")},this),c+=" "}var m=this.parseKeys(s),v=l[m.hashId]+m.key;this._addCommandToBinding(c+v,e,i)},this)}},n.prototype._addCommandToBinding=function(t,e,i){var s=this.commandKeyBinding,c;if(!e)delete s[t];else if(!s[t]||this.$singleCommand)s[t]=e;else{Array.isArray(s[t])?(c=s[t].indexOf(e))!=-1&&s[t].splice(c,1):s[t]=[s[t]],typeof i!="number"&&(i=r(e));var h=s[t];for(c=0;c<h.length;c++){var m=h[c],v=r(m);if(v>i)break}h.splice(c,0,e)}},n.prototype.addCommands=function(t){t&&Object.keys(t).forEach(function(e){var i=t[e];if(i){if(typeof i=="string")return this.bindKey(i,e);typeof i=="function"&&(i={exec:i}),typeof i=="object"&&(i.name||(i.name=e),this.addCommand(i))}},this)},n.prototype.removeCommands=function(t){Object.keys(t).forEach(function(e){this.removeCommand(t[e])},this)},n.prototype.bindKeys=function(t){Object.keys(t).forEach(function(e){this.bindKey(e,t[e])},this)},n.prototype._buildKeyHash=function(t){this.bindKey(t.bindKey,t)},n.prototype.parseKeys=function(t){var e=t.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(v){return v}),i=e.pop(),s=A[i];if(A.FUNCTION_KEYS[s])i=A.FUNCTION_KEYS[s].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:i.toUpperCase(),hashId:-1}}else return{key:i,hashId:-1};for(var c=0,h=e.length;h--;){var m=A.KEY_MODS[e[h]];if(m==null)return typeof console<"u"&&console.error("invalid modifier "+e[h]+" in "+t),!1;c|=m}return{key:i,hashId:c}},n.prototype.findKeyCommand=function(t,e){var i=l[t]+e;return this.commandKeyBinding[i]},n.prototype.handleKeyboard=function(t,e,i,s){if(!(s<0)){var c=l[e]+i,h=this.commandKeyBinding[c];return t.$keyChain&&(t.$keyChain+=" "+c,h=this.commandKeyBinding[t.$keyChain]||h),h&&(h=="chainKeys"||h[h.length-1]=="chainKeys")?(t.$keyChain=t.$keyChain||c,{command:"null"}):(t.$keyChain&&((!e||e==4)&&i.length==1?t.$keyChain=t.$keyChain.slice(0,-c.length-1):(e==-1||s>0)&&(t.$keyChain="")),{command:h})}},n.prototype.getStatusText=function(t,e){return e.$keyChain||""},n}();function r(n){return typeof n=="object"&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}var o=function(n){T(t,n);function t(e,i){var s=n.call(this,e,i)||this;return s.$singleCommand=!0,s}return t}(u);o.call=function(n,t,e){u.prototype.$init.call(n,t,e,!0)},u.call=function(n,t,e){u.prototype.$init.call(n,t,e,!1)},x.HashHandler=o,x.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(k,x,z){var T=this&&this.__extends||function(){var r=function(o,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},r(o,n)};return function(o,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");r(o,n);function t(){this.constructor=o}o.prototype=n===null?Object.create(n):(t.prototype=n.prototype,new t)}}(),A=k("../lib/oop"),C=k("../keyboard/hash_handler").MultiHashHandler,l=k("../lib/event_emitter").EventEmitter,u=function(r){T(o,r);function o(n,t){var e=r.call(this,t,n)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(i){return i.args?i.command.exec(i.editor,i.args,i.event,!1):i.command.exec(i.editor,{},i.event,!0)}),e}return o.prototype.exec=function(n,t,e){if(Array.isArray(n)){for(var i=n.length;i--;)if(this.exec(n[i],t,e))return!0;return!1}if(typeof n=="string"&&(n=this.commands[n]),!this.canExecute(n,t))return!1;var s={editor:t,command:n,args:e};return s.returnValue=this._emit("exec",s),this._signal("afterExec",s),s.returnValue!==!1},o.prototype.canExecute=function(n,t){return typeof n=="string"&&(n=this.commands[n]),!(!n||t&&t.$readOnly&&!n.readOnly||this.$checkCommandState!=!1&&n.isAvailable&&!n.isAvailable(t))},o.prototype.toggleRecording=function(n){if(!this.$inReplay)return n&&n._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(t){this.macro.push([t.command,t.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},o.prototype.replay=function(n){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,n):this.exec(t[0],n,t[1])},this)}finally{this.$inReplay=!1}}},o.prototype.trimMacro=function(n){return n.map(function(t){return typeof t[0]!="string"&&(t[0]=t[0].name),t[1]||(t=t[0]),t})},o}(C);A.implement(u.prototype,l),x.CommandManager=u}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(k,x,z){var T=k("../lib/lang"),A=k("../config"),C=k("../range").Range;function l(r,o){return{win:r,mac:o}}x.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:l("Ctrl-,","Command-,"),exec:function(r){A.loadModule("ace/ext/settings_menu",function(o){o.init(r),r.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:l("Alt-E","F4"),exec:function(r){A.loadModule("ace/ext/error_marker",function(o){o.showErrorMarker(r,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:l("Alt-Shift-E","Shift-F4"),exec:function(r){A.loadModule("ace/ext/error_marker",function(o){o.showErrorMarker(r,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:l("Ctrl-A","Command-A"),exec:function(r){r.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:l(null,"Ctrl-L"),exec:function(r){r.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:l("Ctrl-L","Command-L"),exec:function(r,o){typeof o=="number"&&!isNaN(o)&&r.gotoLine(o),r.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:l("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(r){r.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:l("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(r){r.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:l("F2","F2"),exec:function(r){r.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:l("Alt-F2","Alt-F2"),exec:function(r){r.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:l(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:l(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:l("Alt-0","Command-Option-0"),exec:function(r){r.session.foldAll(),r.session.unfold(r.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:l("Alt-Shift-0","Command-Option-Shift-0"),exec:function(r){r.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:l("Ctrl-K","Command-G"),exec:function(r){r.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:l("Ctrl-Shift-K","Command-Shift-G"),exec:function(r){r.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:l("Alt-K","Ctrl-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:l("Alt-Shift-K","Ctrl-Shift-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:l("Ctrl-F","Command-F"),exec:function(r){A.loadModule("ace/ext/searchbox",function(o){o.Search(r)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(r){r.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:l("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(r){r.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:l("Ctrl-Home","Command-Home|Command-Up"),exec:function(r){r.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:l("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(r){r.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:l("Up","Up|Ctrl-P"),exec:function(r,o){r.navigateUp(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:l("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(r){r.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:l("Ctrl-End","Command-End|Command-Down"),exec:function(r){r.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:l("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(r){r.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:l("Down","Down|Ctrl-N"),exec:function(r,o){r.navigateDown(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:l("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(r){r.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:l("Ctrl-Left","Option-Left"),exec:function(r){r.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:l("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(r){r.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:l("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(r){r.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:l("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(r){r.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:l("Left","Left|Ctrl-B"),exec:function(r,o){r.navigateLeft(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:l("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(r){r.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:l("Ctrl-Right","Option-Right"),exec:function(r){r.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:l("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(r){r.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:l("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(r){r.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:l("Shift-Right","Shift-Right"),exec:function(r){r.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:l("Right","Right|Ctrl-F"),exec:function(r,o){r.navigateRight(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(r){r.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:l(null,"Option-PageDown"),exec:function(r){r.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:l("PageDown","PageDown|Ctrl-V"),exec:function(r){r.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(r){r.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:l(null,"Option-PageUp"),exec:function(r){r.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(r){r.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:l("Ctrl-Up",null),exec:function(r){r.renderer.scrollBy(0,-2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:l("Ctrl-Down",null),exec:function(r){r.renderer.scrollBy(0,2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(r){r.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(r){r.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:l("Ctrl-Alt-E","Command-Option-E"),exec:function(r){r.commands.toggleRecording(r)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:l("Ctrl-Shift-E","Command-Shift-E"),exec:function(r){r.commands.replay(r)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:l("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(r){r.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:l("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(r){r.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:l("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(r){r.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:l(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(r){},readOnly:!0},{name:"cut",description:"Cut",exec:function(r){var o=r.$copyWithEmptySelection&&r.selection.isEmpty(),n=o?r.selection.getLineRange():r.selection.getRange();r._emit("cut",n),n.isEmpty()||r.session.remove(n),r.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(r,o){r.$handlePaste(o)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:l("Ctrl-D","Command-D"),exec:function(r){r.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:l("Ctrl-Shift-D","Command-Shift-D"),exec:function(r){r.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:l("Ctrl-Alt-S","Command-Alt-S"),exec:function(r){r.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:l("Ctrl-/","Command-/"),exec:function(r){r.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:l("Ctrl-Shift-/","Command-Shift-/"),exec:function(r){r.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:l("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(r){r.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:l("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(r){r.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:l("Ctrl-H","Command-Option-F"),exec:function(r){A.loadModule("ace/ext/searchbox",function(o){o.Search(r,!0)})}},{name:"undo",description:"Undo",bindKey:l("Ctrl-Z","Command-Z"),exec:function(r){r.undo()}},{name:"redo",description:"Redo",bindKey:l("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(r){r.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:l("Alt-Shift-Up","Command-Option-Up"),exec:function(r){r.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:l("Alt-Up","Option-Up"),exec:function(r){r.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:l("Alt-Shift-Down","Command-Option-Down"),exec:function(r){r.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:l("Alt-Down","Option-Down"),exec:function(r){r.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:l("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(r){r.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:l("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(r){r.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:l("Shift-Delete",null),exec:function(r){if(r.selection.isEmpty())r.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:l("Alt-Backspace","Command-Backspace"),exec:function(r){r.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:l("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(r){r.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:l("Ctrl-Shift-Backspace",null),exec:function(r){var o=r.selection.getRange();o.start.column=0,r.session.remove(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:l("Ctrl-Shift-Delete",null),exec:function(r){var o=r.selection.getRange();o.end.column=Number.MAX_VALUE,r.session.remove(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:l("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(r){r.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:l("Ctrl-Delete","Alt-Delete"),exec:function(r){r.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:l("Shift-Tab","Shift-Tab"),exec:function(r){r.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:l("Tab","Tab"),exec:function(r){r.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:l("Ctrl-[","Ctrl-["),exec:function(r){r.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:l("Ctrl-]","Ctrl-]"),exec:function(r){r.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(r,o){r.insert(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(r,o){r.insert(T.stringRepeat(o.text||"",o.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:l(null,"Ctrl-O"),exec:function(r){r.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:l("Alt-Shift-X","Ctrl-T"),exec:function(r){r.transposeLetters()},multiSelectAction:function(r){r.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:l("Ctrl-U","Ctrl-U"),exec:function(r){r.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:l("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(r){r.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:l(null,null),exec:function(r){r.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:l("Ctrl-Shift-L","Command-Shift-L"),exec:function(r){var o=r.selection.getRange();o.start.column=o.end.column=0,o.end.row++,r.selection.setRange(o,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:l("Ctrl+F3","F3"),exec:function(r){r.openLink()}},{name:"joinlines",description:"Join lines",bindKey:l(null,null),exec:function(r){for(var o=r.selection.isBackwards(),n=o?r.selection.getSelectionLead():r.selection.getSelectionAnchor(),t=o?r.selection.getSelectionAnchor():r.selection.getSelectionLead(),e=r.session.doc.getLine(n.row).length,i=r.session.doc.getTextRange(r.selection.getRange()),s=i.replace(/\n\s*/," ").length,c=r.session.doc.getLine(n.row),h=n.row+1;h<=t.row+1;h++){var m=T.stringTrimLeft(T.stringTrimRight(r.session.doc.getLine(h)));m.length!==0&&(m=" "+m),c+=m}t.row+1<r.session.doc.getLength()-1&&(c+=r.session.doc.getNewLineCharacter()),r.clearSelection(),r.session.doc.replace(new C(n.row,0,t.row+2,0),c),s>0?(r.selection.moveCursorTo(n.row,n.column),r.selection.selectTo(n.row,n.column+s)):(e=r.session.doc.getLine(n.row).length>e?e+1:e,r.selection.moveCursorTo(n.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:l(null,null),exec:function(r){var o=r.session.doc.getLength()-1,n=r.session.doc.getLine(o).length,t=r.selection.rangeList.ranges,e=[];t.length<1&&(t=[r.selection.getRange()]);for(var i=0;i<t.length;i++)i==t.length-1&&(t[i].end.row===o&&t[i].end.column===n||e.push(new C(t[i].end.row,t[i].end.column,o,n))),i===0?t[i].start.row===0&&t[i].start.column===0||e.push(new C(0,0,t[i].start.row,t[i].start.column)):e.push(new C(t[i-1].end.row,t[i-1].end.column,t[i].start.row,t[i].start.column));r.exitMultiSelectMode(),r.clearSelection();for(var i=0;i<e.length;i++)r.selection.addRange(e[i],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(r){r.selection.clearSelection(),r.navigateLineEnd(),r.insert(`
|
|
209
|
-
`)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(r){r.selection.clearSelection();var o=r.getCursorPosition();r.selection.moveTo(o.row-1,Number.MAX_VALUE),r.insert(`
|
|
210
|
-
`),o.row===0&&r.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(r){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),r.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:l("F1","F1"),exec:function(r){r.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:l(null,null),exec:function(r){r.prompt({$type:"modes"})},readOnly:!0}];for(var u=1;u<9;u++)x.commands.push({name:"foldToLevel"+u,description:"Fold To Level "+u,level:u,exec:function(r){r.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(k,x,z){var T=k("../lib/keys"),A=k("../mouse/default_gutter_handler").GutterTooltip,C=function(){function u(r){this.editor=r,this.gutterLayer=r.renderer.$gutterLayer,this.element=r.renderer.$gutter,this.lines=r.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new A(this.editor)}return u.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},u.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},u.prototype.$onGutterKeyDown=function(r){if(this.annotationTooltip.isOpen){r.preventDefault(),r.keyCode===T.escape&&this.annotationTooltip.hideTooltip();return}if(r.target===this.element){if(r.keyCode!=T.enter)return;r.preventDefault();var o=this.editor.getCursorPosition().row;this.editor.isRowVisible(o)||this.editor.scrollToLine(o,!0,!0),setTimeout(function(){var n=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),t=this.$findNearestFoldWidget(n),e=this.$findNearestAnnotation(n);if(!(t===null&&e===null)){if(t===null&&e!==null){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}if(t!==null&&e===null){this.activeRowIndex=t,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}if(Math.abs(e-n)<Math.abs(t-n)){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}else{this.activeRowIndex=t,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}}}.bind(this),10);return}this.$handleGutterKeyboardInteraction(r),setTimeout(function(){this.editor._signal("gutterkeydown",new l(r,this))}.bind(this),10)},u.prototype.$handleGutterKeyboardInteraction=function(r){if(r.keyCode===T.tab){r.preventDefault();return}if(r.keyCode===T.escape){r.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(r.keyCode===T.up){switch(r.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(r.keyCode===T.down){switch(r.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(r.keyCode===T.left){r.preventDefault(),this.$switchLane("annotation");return}if(r.keyCode===T.right){r.preventDefault(),this.$switchLane("fold");return}if(r.keyCode===T.enter||r.keyCode===T.space){switch(r.preventDefault(),this.activeLane){case"fold":if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="start"){var o=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),r),setTimeout(function(){this.$rowIndexToRow(this.activeRowIndex)!==o&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(o),this.$focusFoldWidget(this.activeRowIndex))}.bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var n=this.lines.cells[this.activeRowIndex].element.childNodes[2],t=n.getBoundingClientRect(),e=this.annotationTooltip.getElement().style;e.left=t.right+"px",e.top=t.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},u.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},u.prototype.$isFoldWidgetVisible=function(r){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(r)),n=this.$getFoldWidget(r).style.display!=="none";return o&&n},u.prototype.$isAnnotationVisible=function(r){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(r)),n=this.$getAnnotation(r).style.display!=="none";return o&&n},u.prototype.$getFoldWidget=function(r){var o=this.lines.get(r),n=o.element;return n.childNodes[1]},u.prototype.$getAnnotation=function(r){var o=this.lines.get(r),n=o.element;return n.childNodes[2]},u.prototype.$findNearestFoldWidget=function(r){if(this.$isFoldWidgetVisible(r))return r;for(var o=0;r-o>0||r+o<this.lines.getLength()-1;){if(o++,r-o>=0&&this.$isFoldWidgetVisible(r-o))return r-o;if(r+o<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(r+o))return r+o}return null},u.prototype.$findNearestAnnotation=function(r){if(this.$isAnnotationVisible(r))return r;for(var o=0;r-o>0||r+o<this.lines.getLength()-1;){if(o++,r-o>=0&&this.$isAnnotationVisible(r-o))return r-o;if(r+o<=this.lines.getLength()-1&&this.$isAnnotationVisible(r+o))return r+o}return null},u.prototype.$focusFoldWidget=function(r){if(r!=null){var o=this.$getFoldWidget(r);o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus()}},u.prototype.$focusAnnotation=function(r){if(r!=null){var o=this.$getAnnotation(r);o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus()}},u.prototype.$blurFoldWidget=function(r){var o=this.$getFoldWidget(r);o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur()},u.prototype.$blurAnnotation=function(r){var o=this.$getAnnotation(r);o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur()},u.prototype.$moveFoldWidgetUp=function(){for(var r=this.activeRowIndex;r>0;)if(r--,this.$isFoldWidgetVisible(r)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=r,this.$focusFoldWidget(this.activeRowIndex);return}},u.prototype.$moveFoldWidgetDown=function(){for(var r=this.activeRowIndex;r<this.lines.getLength()-1;)if(r++,this.$isFoldWidgetVisible(r)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=r,this.$focusFoldWidget(this.activeRowIndex);return}},u.prototype.$moveAnnotationUp=function(){for(var r=this.activeRowIndex;r>0;)if(r--,this.$isAnnotationVisible(r)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,this.$focusAnnotation(this.activeRowIndex);return}},u.prototype.$moveAnnotationDown=function(){for(var r=this.activeRowIndex;r<this.lines.getLength()-1;)if(r++,this.$isAnnotationVisible(r)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,this.$focusAnnotation(this.activeRowIndex);return}},u.prototype.$switchLane=function(r){switch(r){case"annotation":if(this.activeLane==="annotation")break;var o=this.$findNearestAnnotation(this.activeRowIndex);if(o==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var n=this.$findNearestFoldWidget(this.activeRowIndex);if(n==null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=n,this.$focusFoldWidget(this.activeRowIndex);break}},u.prototype.$rowIndexToRow=function(r){var o=this.lines.get(r);return o?o.row:null},u.prototype.$rowToRowIndex=function(r){for(var o=0;o<this.lines.getLength();o++){var n=this.lines.get(o);if(n.row==r)return o}return null},u}();x.GutterKeyboardHandler=C;var l=function(){function u(r,o){this.gutterKeyboardHandler=o,this.domEvent=r}return u.prototype.getKey=function(){return T.keyCodeToString(this.domEvent.keyCode)},u.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},u.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},u.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},u}();x.GutterKeyboardEvent=l}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys"],function(k,x,z){var T=this&&this.__values||function(f){var a=typeof Symbol=="function"&&Symbol.iterator,d=a&&f[a],y=0;if(d)return d.call(f);if(f&&typeof f.length=="number")return{next:function(){return f&&y>=f.length&&(f=void 0),{value:f&&f[y++],done:!f}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")},A=k("./lib/oop"),C=k("./lib/dom"),l=k("./lib/lang"),u=k("./lib/useragent"),r=k("./keyboard/textinput").TextInput,o=k("./mouse/mouse_handler").MouseHandler,n=k("./mouse/fold_handler").FoldHandler,t=k("./keyboard/keybinding").KeyBinding,e=k("./edit_session").EditSession,i=k("./search").Search,s=k("./range").Range,c=k("./lib/event_emitter").EventEmitter,h=k("./commands/command_manager").CommandManager,m=k("./commands/default_commands").commands,v=k("./config"),p=k("./token_iterator").TokenIterator,g=k("./keyboard/gutter_handler").GutterKeyboardHandler,w=k("./config").nls,M=k("./clipboard"),S=k("./lib/keys"),$=function(){function f(a,d,y){this.session,this.$toDestroy=[];var b=a.getContainerElement();this.container=b,this.renderer=a,this.id="editor"+ ++f.$uid,this.commands=new h(u.isMac?"mac":"win",m),typeof document=="object"&&(this.textInput=new r(a.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new o(this),new n(this)),this.keyBinding=new t(this),this.$search=new i().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=l.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(L,E){E._$emitInputEvent.schedule(31)}),this.setSession(d||y&&y.session||new e("")),v.resetOptions(this),y&&this.setOptions(y),v._signal("editor",this)}return f.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},f.prototype.startOperation=function(a){this.session.startOperation(a)},f.prototype.endOperation=function(a){this.session.endOperation(a)},f.prototype.onStartOperation=function(a){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,a||(this.previousCommand=null)},f.prototype.onEndOperation=function(a){if(this.curOp&&this.session){if(a&&a.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var d=this.curOp.command,y=d&&d.scrollIntoView;if(y){switch(y){case"center-animate":y="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var b=this.selection.getRange(),L=this.renderer.layerConfig;(b.start.row>=L.lastRow||b.end.row<=L.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}y=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},f.prototype.$historyTracker=function(a){if(this.$mergeUndoDeltas){var d=this.prevOp,y=this.$mergeableCommands,b=d.command&&a.command.name==d.command.name;if(a.command.name=="insertstring"){var L=a.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),b=b&&this.mergeNextCommand&&(!/\s/.test(L)||/\s/.test(d.args)),this.mergeNextCommand=!0}else b=b&&y.indexOf(a.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(b=!1),b?this.session.mergeUndoDeltas=!0:y.indexOf(a.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},f.prototype.setKeyboardHandler=function(a,d){if(a&&typeof a=="string"&&a!="ace"){this.$keybindingId=a;var y=this;v.loadModule(["keybinding",a],function(b){y.$keybindingId==a&&y.keyBinding.setKeyboardHandler(b&&b.handler),d&&d()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(a),d&&d()},f.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},f.prototype.setSession=function(a){if(this.session!=a){this.curOp&&this.endOperation(),this.curOp={};var d=this.session;if(d){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var y=this.session.getSelection();y.off("changeCursor",this.$onCursorChange),y.off("changeSelection",this.$onSelectionChange)}this.session=a,a?(this.$onDocumentChange=this.onDocumentChange.bind(this),a.on("change",this.$onDocumentChange),this.renderer.setSession(a),this.$onChangeMode=this.onChangeMode.bind(this),a.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),a.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),a.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),a.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),a.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),a.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=a.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(a)),this._signal("changeSession",{session:a,oldSession:d}),this.curOp=null,d&&d._signal("changeEditor",{oldEditor:this}),d&&(d.$editor=null),a&&a._signal("changeEditor",{editor:this}),a&&(a.$editor=this),a&&!a.destroyed&&a.bgTokenizer.scheduleStart()}},f.prototype.getSession=function(){return this.session},f.prototype.setValue=function(a,d){return this.session.doc.setValue(a),d?d==1?this.navigateFileEnd():d==-1&&this.navigateFileStart():this.selectAll(),a},f.prototype.getValue=function(){return this.session.getValue()},f.prototype.getSelection=function(){return this.selection},f.prototype.resize=function(a){this.renderer.onResize(a)},f.prototype.setTheme=function(a,d){this.renderer.setTheme(a,d)},f.prototype.getTheme=function(){return this.renderer.getTheme()},f.prototype.setStyle=function(a){this.renderer.setStyle(a)},f.prototype.unsetStyle=function(a){this.renderer.unsetStyle(a)},f.prototype.getFontSize=function(){return this.getOption("fontSize")||C.computedStyle(this.container).fontSize},f.prototype.setFontSize=function(a){this.setOption("fontSize",a)},f.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var a=this;this.$highlightPending=!0,setTimeout(function(){a.$highlightPending=!1;var d=a.session;if(!(!d||d.destroyed)){d.$bracketHighlight&&(d.$bracketHighlight.markerIds.forEach(function(D){d.removeMarker(D)}),d.$bracketHighlight=null);var y=a.getCursorPosition(),b=a.getKeyboardHandler(),L=b&&b.$getDirectionForHighlight&&b.$getDirectionForHighlight(a),E=d.getMatchingBracketRanges(y,L);if(!E){var _=new p(d,y.row,y.column),I=_.getCurrentToken();if(I&&/\b(?:tag-open|tag-name)/.test(I.type)){var O=d.getMatchingTags(y);O&&(E=[O.openTagName.isEmpty()?O.openTag:O.openTagName,O.closeTagName.isEmpty()?O.closeTag:O.closeTagName])}}if(!E&&d.$mode.getMatching&&(E=d.$mode.getMatching(a.session)),!E){a.getHighlightIndentGuides()&&a.renderer.$textLayer.$highlightIndentGuide();return}var W="ace_bracket";Array.isArray(E)?E.length==1&&(W="ace_error_bracket"):E=[E],E.length==2&&(s.comparePoints(E[0].end,E[1].start)==0?E=[s.fromPoints(E[0].start,E[1].end)]:s.comparePoints(E[0].start,E[1].end)==0&&(E=[s.fromPoints(E[1].start,E[0].end)])),d.$bracketHighlight={ranges:E,markerIds:E.map(function(D){return d.addMarker(D,W,"text")})},a.getHighlightIndentGuides()&&a.renderer.$textLayer.$highlightIndentGuide()}},50)}},f.prototype.focus=function(){this.textInput.focus()},f.prototype.isFocused=function(){return this.textInput.isFocused()},f.prototype.blur=function(){this.textInput.blur()},f.prototype.onFocus=function(a){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",a))},f.prototype.onBlur=function(a){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",a))},f.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},f.prototype.onDocumentChange=function(a){var d=this.session.$useWrapMode,y=a.start.row==a.end.row?a.end.row:1/0;this.renderer.updateLines(a.start.row,y,d),this._signal("change",a),this.$cursorChange()},f.prototype.onTokenizerUpdate=function(a){var d=a.data;this.renderer.updateLines(d.first,d.last)},f.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},f.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},f.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},f.prototype.$updateHighlightActiveLine=function(){var a=this.getSession(),d;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(d=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(d=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(d=!1)),a.$highlightLineMarker&&!d)a.removeMarker(a.$highlightLineMarker.id),a.$highlightLineMarker=null;else if(!a.$highlightLineMarker&&d){var y=new s(d.row,d.column,d.row,1/0);y.id=a.addMarker(y,"ace_active-line","screenLine"),a.$highlightLineMarker=y}else d&&(a.$highlightLineMarker.start.row=d.row,a.$highlightLineMarker.end.row=d.row,a.$highlightLineMarker.start.column=d.column,a._signal("changeBackMarker"))},f.prototype.onSelectionChange=function(a){var d=this.session;if(d.$selectionMarker&&d.removeMarker(d.$selectionMarker),d.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var y=this.selection.getRange(),b=this.getSelectionStyle();d.$selectionMarker=d.addMarker(y,"ace_selection",b)}var L=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(L),this._signal("changeSelection")},f.prototype.$getSelectionHighLightRegexp=function(){var a=this.session,d=this.getSelectionRange();if(!(d.isEmpty()||d.isMultiLine())){var y=d.start.column,b=d.end.column,L=a.getLine(d.start.row),E=L.substring(y,b);if(!(E.length>5e3||!/[\w\d]/.test(E))){var _=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:E}),I=L.substring(y-1,b+1);if(_.test(I))return _}}},f.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},f.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},f.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},f.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},f.prototype.onChangeMode=function(a){this.renderer.updateText(),this._emit("changeMode",a)},f.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},f.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},f.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},f.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},f.prototype.getCopyText=function(){var a=this.getSelectedText(),d=this.session.doc.getNewLineCharacter(),y=!1;if(!a&&this.$copyWithEmptySelection){y=!0;for(var b=this.selection.getAllRanges(),L=0;L<b.length;L++){var E=b[L];L&&b[L-1].start.row==E.start.row||(a+=this.session.getLine(E.start.row)+d)}}var _={text:a};return this._signal("copy",_),M.lineMode=y?_.text:!1,_.text},f.prototype.onCopy=function(){this.commands.exec("copy",this)},f.prototype.onCut=function(){this.commands.exec("cut",this)},f.prototype.onPaste=function(a,d){var y={text:a,event:d};this.commands.exec("paste",this,y)},f.prototype.$handlePaste=function(a){typeof a=="string"&&(a={text:a}),this._signal("paste",a);var d=a.text,y=d===M.lineMode,b=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)y?b.insert({row:this.selection.lead.row,column:0},d):this.insert(d);else if(y)this.selection.rangeList.ranges.forEach(function(W){b.insert({row:W.start.row,column:0},d)});else{var L=d.split(/\r\n|\r|\n/),E=this.selection.rangeList.ranges,_=L.length==2&&(!L[0]||!L[1]);if(L.length!=E.length||_)return this.commands.exec("insertstring",this,d);for(var I=E.length;I--;){var O=E[I];O.isEmpty()||b.remove(O),b.insert(O.start,L[I])}}},f.prototype.execCommand=function(a,d){return this.commands.exec(a,this,d)},f.prototype.insert=function(a,d){var y=this.session,b=y.getMode(),L=this.getCursorPosition();if(this.getBehavioursEnabled()&&!d){var E=b.transformAction(y.getState(L.row),"insertion",this,y,a);E&&(a!==E.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),a=E.text)}if(a==" "&&(a=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&a.indexOf(`
|
|
211
|
-
`)==-1){var _=s.fromPoints(L,L);_.end.column+=a.length,this.session.remove(_)}}else{var _=this.getSelectionRange();L=this.session.remove(_),this.clearSelection()}if(a==`
|
|
212
|
-
`||a==`\r
|
|
213
|
-
`){var D=y.getLine(L.row);if(L.column>D.search(/\S|$/)){var I=D.substr(L.column).search(/\S|$/);y.doc.removeInLine(L.row,L.column,L.column+I)}}this.clearSelection();var O=L.column,W=y.getState(L.row),D=y.getLine(L.row),N=b.checkOutdent(W,D,a);if(y.insert(L,a),E&&E.selection&&(E.selection.length==2?this.selection.setSelectionRange(new s(L.row,O+E.selection[0],L.row,O+E.selection[1])):this.selection.setSelectionRange(new s(L.row+E.selection[0],E.selection[1],L.row+E.selection[2],E.selection[3]))),this.$enableAutoIndent){if(y.getDocument().isNewLine(a)){var H=b.getNextLineIndent(W,D.slice(0,L.column),y.getTabString());y.insert({row:L.row+1,column:0},H)}N&&b.autoOutdent(W,y,L.row)}},f.prototype.autoIndent=function(){for(var a=this.session,d=a.getMode(),y=this.selection.isEmpty()?[new s(0,0,a.doc.getLength()-1,0)]:this.selection.getAllRanges(),b="",L="",E="",_=a.getTabString(),I=0;I<y.length;I++)for(var O=y[I].start.row,W=y[I].end.row,D=O;D<=W;D++){D>0&&(b=a.getState(D-1),L=a.getLine(D-1),E=d.getNextLineIndent(b,L,_));var N=a.getLine(D),H=d.$getIndent(N);if(E!==H){if(H.length>0){var F=new s(D,0,D,H.length);a.remove(F)}E.length>0&&a.insert({row:D,column:0},E)}d.autoOutdent(b,a,D)}},f.prototype.onTextInput=function(a,d){if(!d)return this.keyBinding.onTextInput(a);this.startOperation({command:{name:"insertstring"}});var y=this.applyComposition.bind(this,a,d);this.selection.rangeCount?this.forEachSelection(y):y(),this.endOperation()},f.prototype.applyComposition=function(a,d){if(d.extendLeft||d.extendRight){var y=this.selection.getRange();y.start.column-=d.extendLeft,y.end.column+=d.extendRight,y.start.column<0&&(y.start.row--,y.start.column+=this.session.getLine(y.start.row).length+1),this.selection.setRange(y),!a&&!y.isEmpty()&&this.remove()}if((a||!this.selection.isEmpty())&&this.insert(a,!0),d.restoreStart||d.restoreEnd){var y=this.selection.getRange();y.start.column-=d.restoreStart,y.end.column-=d.restoreEnd,this.selection.setRange(y)}},f.prototype.onCommandKey=function(a,d,y){return this.keyBinding.onCommandKey(a,d,y)},f.prototype.setOverwrite=function(a){this.session.setOverwrite(a)},f.prototype.getOverwrite=function(){return this.session.getOverwrite()},f.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},f.prototype.setScrollSpeed=function(a){this.setOption("scrollSpeed",a)},f.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},f.prototype.setDragDelay=function(a){this.setOption("dragDelay",a)},f.prototype.getDragDelay=function(){return this.getOption("dragDelay")},f.prototype.setSelectionStyle=function(a){this.setOption("selectionStyle",a)},f.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},f.prototype.setHighlightActiveLine=function(a){this.setOption("highlightActiveLine",a)},f.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},f.prototype.setHighlightGutterLine=function(a){this.setOption("highlightGutterLine",a)},f.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},f.prototype.setHighlightSelectedWord=function(a){this.setOption("highlightSelectedWord",a)},f.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},f.prototype.setAnimatedScroll=function(a){this.renderer.setAnimatedScroll(a)},f.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},f.prototype.setShowInvisibles=function(a){this.renderer.setShowInvisibles(a)},f.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},f.prototype.setDisplayIndentGuides=function(a){this.renderer.setDisplayIndentGuides(a)},f.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},f.prototype.setHighlightIndentGuides=function(a){this.renderer.setHighlightIndentGuides(a)},f.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},f.prototype.setShowPrintMargin=function(a){this.renderer.setShowPrintMargin(a)},f.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},f.prototype.setPrintMarginColumn=function(a){this.renderer.setPrintMarginColumn(a)},f.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},f.prototype.setReadOnly=function(a){this.setOption("readOnly",a)},f.prototype.getReadOnly=function(){return this.getOption("readOnly")},f.prototype.setBehavioursEnabled=function(a){this.setOption("behavioursEnabled",a)},f.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},f.prototype.setWrapBehavioursEnabled=function(a){this.setOption("wrapBehavioursEnabled",a)},f.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},f.prototype.setShowFoldWidgets=function(a){this.setOption("showFoldWidgets",a)},f.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},f.prototype.setFadeFoldWidgets=function(a){this.setOption("fadeFoldWidgets",a)},f.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},f.prototype.remove=function(a){this.selection.isEmpty()&&(a=="left"?this.selection.selectLeft():this.selection.selectRight());var d=this.getSelectionRange();if(this.getBehavioursEnabled()){var y=this.session,b=y.getState(d.start.row),L=y.getMode().transformAction(b,"deletion",this,y,d);if(d.end.column===0){var E=y.getTextRange(d);if(E[E.length-1]==`
|
|
214
|
-
`){var _=y.getLine(d.end.row);/^\s+$/.test(_)&&(d.end.column=_.length)}}L&&(d=L)}this.session.remove(d),this.clearSelection()},f.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},f.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},f.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},f.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var a=this.getSelectionRange();a.start.column==a.end.column&&a.start.row==a.end.row&&(a.end.column=0,a.end.row++),this.session.remove(a),this.clearSelection()},f.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var a=this.getCursorPosition();this.insert(`
|
|
215
|
-
`),this.moveCursorToPosition(a)},f.prototype.setGhostText=function(a,d){this.renderer.setGhostText(a,d)},f.prototype.removeGhostText=function(){this.renderer.removeGhostText()},f.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var a=this.getCursorPosition(),d=a.column;if(d!==0){var y=this.session.getLine(a.row),b,L;d<y.length?(b=y.charAt(d)+y.charAt(d-1),L=new s(a.row,d-1,a.row,d+1)):(b=y.charAt(d-1)+y.charAt(d-2),L=new s(a.row,d-2,a.row,d)),this.session.replace(L,b),this.session.selection.moveToPosition(L.end)}}},f.prototype.toLowerCase=function(){var a=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var d=this.getSelectionRange(),y=this.session.getTextRange(d);this.session.replace(d,y.toLowerCase()),this.selection.setSelectionRange(a)},f.prototype.toUpperCase=function(){var a=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var d=this.getSelectionRange(),y=this.session.getTextRange(d);this.session.replace(d,y.toUpperCase()),this.selection.setSelectionRange(a)},f.prototype.indent=function(){var a=this.session,d=this.getSelectionRange();if(d.start.row<d.end.row){var y=this.$getSelectedRows();a.indentRows(y.first,y.last," ");return}else if(d.start.column<d.end.column){var b=a.getTextRange(d);if(!/^\s+$/.test(b)){var y=this.$getSelectedRows();a.indentRows(y.first,y.last," ");return}}var L=a.getLine(d.start.row),E=d.start,_=a.getTabSize(),I=a.documentToScreenColumn(E.row,E.column);if(this.session.getUseSoftTabs())var O=_-I%_,W=l.stringRepeat(" ",O);else{for(var O=I%_;L[d.start.column-1]==" "&&O;)d.start.column--,O--;this.selection.setSelectionRange(d),W=" "}return this.insert(W)},f.prototype.blockIndent=function(){var a=this.$getSelectedRows();this.session.indentRows(a.first,a.last," ")},f.prototype.blockOutdent=function(){var a=this.session.getSelection();this.session.outdentRows(a.getRange())},f.prototype.sortLines=function(){for(var a=this.$getSelectedRows(),d=this.session,y=[],b=a.first;b<=a.last;b++)y.push(d.getLine(b));y.sort(function(_,I){return _.toLowerCase()<I.toLowerCase()?-1:_.toLowerCase()>I.toLowerCase()?1:0});for(var L=new s(0,0,0,0),b=a.first;b<=a.last;b++){var E=d.getLine(b);L.start.row=b,L.end.row=b,L.end.column=E.length,d.replace(L,y[b-a.first])}},f.prototype.toggleCommentLines=function(){var a=this.session.getState(this.getCursorPosition().row),d=this.$getSelectedRows();this.session.getMode().toggleCommentLines(a,this.session,d.first,d.last)},f.prototype.toggleBlockComment=function(){var a=this.getCursorPosition(),d=this.session.getState(a.row),y=this.getSelectionRange();this.session.getMode().toggleBlockComment(d,this.session,y,a)},f.prototype.getNumberAt=function(a,d){var y=/[\-]?[0-9]+(?:\.[0-9]+)?/g;y.lastIndex=0;for(var b=this.session.getLine(a);y.lastIndex<d;){var L=y.exec(b);if(L.index<=d&&L.index+L[0].length>=d){var E={value:L[0],start:L.index,end:L.index+L[0].length};return E}}return null},f.prototype.modifyNumber=function(a){var d=this.selection.getCursor().row,y=this.selection.getCursor().column,b=new s(d,y-1,d,y),L=this.session.getTextRange(b);if(!isNaN(parseFloat(L))&&isFinite(L)){var E=this.getNumberAt(d,y);if(E){var _=E.value.indexOf(".")>=0?E.start+E.value.indexOf(".")+1:E.end,I=E.start+E.value.length-_,O=parseFloat(E.value);O*=Math.pow(10,I),_!==E.end&&y<_?a*=Math.pow(10,E.end-y-1):a*=Math.pow(10,E.end-y),O+=a,O/=Math.pow(10,I);var W=O.toFixed(I),D=new s(d,E.start,d,E.end);this.session.replace(D,W),this.moveCursorTo(d,Math.max(E.start+1,y+W.length-E.value.length))}}else this.toggleWord()},f.prototype.toggleWord=function(){var a=this.selection.getCursor().row,d=this.selection.getCursor().column;this.selection.selectWord();var y=this.getSelectedText(),b=this.selection.getWordRange().start.column,L=y.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),E=d-b-1;E<0&&(E=0);var _=0,I=0,O=this;y.match(/[A-Za-z0-9_]+/)&&L.forEach(function(U,K){I=_+U.length,E>=_&&E<=I&&(y=U,O.selection.clearSelection(),O.moveCursorTo(a,_+b),O.selection.selectTo(a,I+b)),_=I});for(var W=this.$toggleWordPairs,D,N=0;N<W.length;N++)for(var H=W[N],F=0;F<=1;F++){var P=+!F,j=y.match(new RegExp("^\\s?_?("+l.escapeRegExp(H[F])+")\\s?$","i"));if(j){var V=y.match(new RegExp("([_]|^|\\s)("+l.escapeRegExp(j[1])+")($|\\s)","g"));V&&(D=y.replace(new RegExp(l.escapeRegExp(H[F]),"i"),function(U){var K=H[P];return U.toUpperCase()==U?K=K.toUpperCase():U.charAt(0).toUpperCase()==U.charAt(0)&&(K=K.substr(0,0)+H[P].charAt(0).toUpperCase()+K.substr(1)),K}),this.insert(D),D="")}}},f.prototype.findLinkAt=function(a,d){var y,b,L=this.session.getLine(a),E=L.split(/((?:https?|ftp):\/\/[\S]+)/),_=d;_<0&&(_=0);var I=0,O=0,W;try{for(var D=T(E),N=D.next();!N.done;N=D.next()){var H=N.value;if(O=I+H.length,_>=I&&_<=O&&H.match(/((?:https?|ftp):\/\/[\S]+)/)){W=H.replace(/[\s:.,'";}\]]+$/,"");break}I=O}}catch(F){y={error:F}}finally{try{N&&!N.done&&(b=D.return)&&b.call(D)}finally{if(y)throw y.error}}return W},f.prototype.openLink=function(){var a=this.selection.getCursor(),d=this.findLinkAt(a.row,a.column);return d&&window.open(d,"_blank"),d!=null},f.prototype.removeLines=function(){var a=this.$getSelectedRows();this.session.removeFullLines(a.first,a.last),this.clearSelection()},f.prototype.duplicateSelection=function(){var a=this.selection,d=this.session,y=a.getRange(),b=a.isBackwards();if(y.isEmpty()){var L=y.start.row;d.duplicateLines(L,L)}else{var E=b?y.start:y.end,_=d.insert(E,d.getTextRange(y));y.start=E,y.end=_,a.setSelectionRange(y,b)}},f.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},f.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},f.prototype.moveText=function(a,d,y){return this.session.moveText(a,d,y)},f.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},f.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},f.prototype.$moveLines=function(a,d){var y,b,L=this.selection;if(!L.inMultiSelectMode||this.inVirtualSelectionMode){var E=L.toOrientedRange();y=this.$getSelectedRows(E),b=this.session.$moveLines(y.first,y.last,d?0:a),d&&a==-1&&(b=0),E.moveBy(b,0),L.fromOrientedRange(E)}else{var _=L.rangeList.ranges;L.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var I=0,O=0,W=_.length,D=0;D<W;D++){var N=D;_[D].moveBy(I,0),y=this.$getSelectedRows(_[D]);for(var H=y.first,F=y.last;++D<W;){O&&_[D].moveBy(O,0);var P=this.$getSelectedRows(_[D]);if(d&&P.first!=F)break;if(!d&&P.first>F+1)break;F=P.last}for(D--,I=this.session.$moveLines(H,F,d?0:a),d&&a==-1&&(N=D+1);N<=D;)_[N].moveBy(I,0),N++;d||(I=0),O+=I}L.fromOrientedRange(L.ranges[0]),L.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},f.prototype.$getSelectedRows=function(a){return a=(a||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(a.start.row),last:this.session.getRowFoldEnd(a.end.row)}},f.prototype.onCompositionStart=function(a){this.renderer.showComposition(a)},f.prototype.onCompositionUpdate=function(a){this.renderer.setCompositionText(a)},f.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},f.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},f.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},f.prototype.isRowVisible=function(a){return a>=this.getFirstVisibleRow()&&a<=this.getLastVisibleRow()},f.prototype.isRowFullyVisible=function(a){return a>=this.renderer.getFirstFullyVisibleRow()&&a<=this.renderer.getLastFullyVisibleRow()},f.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},f.prototype.$moveByPage=function(a,d){var y=this.renderer,b=this.renderer.layerConfig,L=a*Math.floor(b.height/b.lineHeight);d===!0?this.selection.$moveSelection(function(){this.moveCursorBy(L,0)}):d===!1&&(this.selection.moveCursorBy(L,0),this.selection.clearSelection());var E=y.scrollTop;y.scrollBy(0,L*b.lineHeight),d!=null&&y.scrollCursorIntoView(null,.5),y.animateScrolling(E)},f.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},f.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},f.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},f.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},f.prototype.scrollPageDown=function(){this.$moveByPage(1)},f.prototype.scrollPageUp=function(){this.$moveByPage(-1)},f.prototype.scrollToRow=function(a){this.renderer.scrollToRow(a)},f.prototype.scrollToLine=function(a,d,y,b){this.renderer.scrollToLine(a,d,y,b)},f.prototype.centerSelection=function(){var a=this.getSelectionRange(),d={row:Math.floor(a.start.row+(a.end.row-a.start.row)/2),column:Math.floor(a.start.column+(a.end.column-a.start.column)/2)};this.renderer.alignCursor(d,.5)},f.prototype.getCursorPosition=function(){return this.selection.getCursor()},f.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},f.prototype.getSelectionRange=function(){return this.selection.getRange()},f.prototype.selectAll=function(){this.selection.selectAll()},f.prototype.clearSelection=function(){this.selection.clearSelection()},f.prototype.moveCursorTo=function(a,d){this.selection.moveCursorTo(a,d)},f.prototype.moveCursorToPosition=function(a){this.selection.moveCursorToPosition(a)},f.prototype.jumpToMatching=function(a,d){var y=this.getCursorPosition(),b=new p(this.session,y.row,y.column),L=b.getCurrentToken(),E=0;L&&L.type.indexOf("tag-name")!==-1&&(L=b.stepBackward());var _=L||b.stepForward();if(_){var I,O=!1,W={},D=y.column-_.start,N,H={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(_.value.match(/[{}()\[\]]/g)){for(;D<_.value.length&&!O;D++)if(H[_.value[D]])switch(N=H[_.value[D]]+"."+_.type.replace("rparen","lparen"),isNaN(W[N])&&(W[N]=0),_.value[D]){case"(":case"[":case"{":W[N]++;break;case")":case"]":case"}":W[N]--,W[N]===-1&&(I="bracket",O=!0);break}}else _.type.indexOf("tag-name")!==-1&&(isNaN(W[_.value])&&(W[_.value]=0),L.value==="<"&&E>1?W[_.value]++:L.value==="</"&&W[_.value]--,W[_.value]===-1&&(I="tag",O=!0));O||(L=_,E++,_=b.stepForward(),D=0)}while(_&&!O);if(I){var F,P;if(I==="bracket")F=this.session.getBracketRange(y),F||(F=new s(b.getCurrentTokenRow(),b.getCurrentTokenColumn()+D-1,b.getCurrentTokenRow(),b.getCurrentTokenColumn()+D-1),P=F.start,(d||P.row===y.row&&Math.abs(P.column-y.column)<2)&&(F=this.session.getBracketRange(P)));else if(I==="tag"){if(!_||_.type.indexOf("tag-name")===-1)return;if(F=new s(b.getCurrentTokenRow(),b.getCurrentTokenColumn()-2,b.getCurrentTokenRow(),b.getCurrentTokenColumn()-2),F.compare(y.row,y.column)===0){var j=this.session.getMatchingTags(y);j&&(j.openTag.contains(y.row,y.column)?(F=j.closeTag,P=F.start):(F=j.openTag,j.closeTag.start.row===y.row&&j.closeTag.start.column===y.column?P=F.end:P=F.start))}P=P||F.start}P=F&&F.cursor||P,P&&(a?F&&d?this.selection.setRange(F):F&&F.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(P.row,P.column):this.selection.moveTo(P.row,P.column))}}},f.prototype.gotoLine=function(a,d,y){this.selection.clearSelection(),this.session.unfold({row:a-1,column:d||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(a-1,d||0),this.isRowFullyVisible(a-1)||this.scrollToLine(a-1,!0,y)},f.prototype.navigateTo=function(a,d){this.selection.moveTo(a,d)},f.prototype.navigateUp=function(a){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var d=this.selection.anchor.getPosition();return this.moveCursorToPosition(d)}this.selection.clearSelection(),this.selection.moveCursorBy(-a||-1,0)},f.prototype.navigateDown=function(a){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var d=this.selection.anchor.getPosition();return this.moveCursorToPosition(d)}this.selection.clearSelection(),this.selection.moveCursorBy(a||1,0)},f.prototype.navigateLeft=function(a){if(this.selection.isEmpty())for(a=a||1;a--;)this.selection.moveCursorLeft();else{var d=this.getSelectionRange().start;this.moveCursorToPosition(d)}this.clearSelection()},f.prototype.navigateRight=function(a){if(this.selection.isEmpty())for(a=a||1;a--;)this.selection.moveCursorRight();else{var d=this.getSelectionRange().end;this.moveCursorToPosition(d)}this.clearSelection()},f.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},f.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},f.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},f.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},f.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},f.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},f.prototype.replace=function(a,d){d&&this.$search.set(d);var y=this.$search.find(this.session),b=0;return y&&(this.$tryReplace(y,a)&&(b=1),this.selection.setSelectionRange(y),this.renderer.scrollSelectionIntoView(y.start,y.end)),b},f.prototype.replaceAll=function(a,d){d&&this.$search.set(d);var y=this.$search.findAll(this.session),b=0;if(!y.length)return b;var L=this.getSelectionRange();this.selection.moveTo(0,0);for(var E=y.length-1;E>=0;--E)this.$tryReplace(y[E],a)&&b++;return this.selection.setSelectionRange(L),b},f.prototype.$tryReplace=function(a,d){var y=this.session.getTextRange(a);return d=this.$search.replace(y,d),d!==null?(a.end=this.session.replace(a,d),a):null},f.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},f.prototype.find=function(a,d,y){d||(d={}),typeof a=="string"||a instanceof RegExp?d.needle=a:typeof a=="object"&&A.mixin(d,a);var b=this.selection.getRange();d.needle==null&&(a=this.session.getTextRange(b)||this.$search.$options.needle,a||(b=this.session.getWordRange(b.start.row,b.start.column),a=this.session.getTextRange(b)),this.$search.set({needle:a})),this.$search.set(d),d.start||this.$search.set({start:b});var L=this.$search.find(this.session);if(d.preventScroll)return L;if(L)return this.revealRange(L,y),L;d.backwards?b.start=b.end:b.end=b.start,this.selection.setRange(b)},f.prototype.findNext=function(a,d){this.find({skipCurrent:!0,backwards:!1},a,d)},f.prototype.findPrevious=function(a,d){this.find(a,{skipCurrent:!0,backwards:!0},d)},f.prototype.revealRange=function(a,d){this.session.unfold(a),this.selection.setSelectionRange(a);var y=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(a.start,a.end,.5),d!==!1&&this.renderer.animateScrolling(y)},f.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},f.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},f.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(a){a.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},f.prototype.setAutoScrollEditorIntoView=function(a){if(a){var d,y=this,b=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var L=this.$scrollAnchor;L.style.cssText="position:absolute",this.container.insertBefore(L,this.container.firstChild);var E=this.on("changeSelection",function(){b=!0}),_=this.renderer.on("beforeRender",function(){b&&(d=y.renderer.container.getBoundingClientRect())}),I=this.renderer.on("afterRender",function(){if(b&&d&&(y.isFocused()||y.searchBox&&y.searchBox.isFocused())){var O=y.renderer,W=O.$cursorLayer.$pixelPos,D=O.layerConfig,N=W.top-D.offset;W.top>=0&&N+d.top<0?b=!0:W.top<D.height&&W.top+d.top+D.lineHeight>window.innerHeight?b=!1:b=null,b!=null&&(L.style.top=N+"px",L.style.left=W.left+"px",L.style.height=D.lineHeight+"px",L.scrollIntoView(b)),b=d=null}});this.setAutoScrollEditorIntoView=function(O){O||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",E),this.renderer.off("afterRender",I),this.renderer.off("beforeRender",_))}}},f.prototype.$resetCursorStyle=function(){var a=this.$cursorStyle||"ace",d=this.renderer.$cursorLayer;d&&(d.setSmoothBlinking(/smooth/.test(a)),d.isBlinking=!this.$readOnly&&a!="wide",C.setCssClass(d.element,"ace_slim-cursors",/slim/.test(a)))},f.prototype.prompt=function(a,d,y){var b=this;v.loadModule("ace/ext/prompt",function(L){L.prompt(b,a,d,y)})},f}();$.$uid=0,$.prototype.curOp=null,$.prototype.prevOp={},$.prototype.$mergeableCommands=["backspace","del","insertstring"],$.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],A.implement($.prototype,c),v.defineOptions($.prototype,"editor",{selectionStyle:{set:function(f){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:f})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(f){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(f){this.textInput.setReadOnly(f),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(f){this.textInput.setCopyWithEmptySelection(f)},initialValue:!1},cursorStyle:{set:function(f){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(f){this.setAutoScrollEditorIntoView(f)}},keyboardHandler:{set:function(f){this.setKeyboardHandler(f)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(f){this.session.setValue(f)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(f){this.setSession(f)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(f){this.renderer.$gutterLayer.setShowLineNumbers(f),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),f&&this.$relativeLineNumbers?R.attach(this):R.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(f){this.$showLineNumbers&&f?R.attach(this):R.detach(this)}},placeholder:{set:function(f){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var a=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(a&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),C.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!a&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),C.addCssClass(this.container,"ace_hasPlaceholder");var d=C.createElement("div");d.className="ace_placeholder",d.textContent=this.$placeholder||"",this.renderer.placeholderNode=d,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!a&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(f){var a={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(b){b.blur(),b.renderer.scroller.focus()},readOnly:!0},d=function(b){if(b.target==this.renderer.scroller&&b.keyCode===S.enter){b.preventDefault();var L=this.getCursorPosition().row;this.isRowVisible(L)||this.scrollToLine(L,!0,!0),this.focus()}},y;f?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(u.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",w("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",w("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",d.bind(this)),this.commands.addCommand(a),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",w("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",w("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),y||(y=new g(this)),y.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",d.bind(this)),this.commands.removeCommand(a),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),y&&y.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(f){this.$textInputAriaLabel=f},initialValue:""},enableMobileMenu:{set:function(f){this.$enableMobileMenu=f},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var R={getText:function(f,a){return(Math.abs(f.selection.lead.row-a)||a+1+(a<9?"·":""))+""},getWidth:function(f,a,d){return Math.max(a.toString().length,(d.lastRow+1).toString().length,2)*d.characterWidth},update:function(f,a){a.renderer.$loop.schedule(a.renderer.CHANGE_GUTTER)},attach:function(f){f.renderer.$gutterLayer.$renderer=this,f.on("changeSelection",this.update),this.update(null,f)},detach:function(f){f.renderer.$gutterLayer.$renderer==this&&(f.renderer.$gutterLayer.$renderer=null),f.off("changeSelection",this.update),this.update(null,f)}};x.Editor=$}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(k,x,z){var T=k("../lib/dom"),A=function(){function C(l,u){this.element=l,this.canvasHeight=u||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return C.prototype.moveContainer=function(l){T.translate(this.element,0,-(l.firstRowScreen*l.lineHeight%this.canvasHeight)-l.offset*this.$offsetCoefficient)},C.prototype.pageChanged=function(l,u){return Math.floor(l.firstRowScreen*l.lineHeight/this.canvasHeight)!==Math.floor(u.firstRowScreen*u.lineHeight/this.canvasHeight)},C.prototype.computeLineTop=function(l,u,r){var o=u.firstRowScreen*u.lineHeight,n=Math.floor(o/this.canvasHeight),t=r.documentToScreenRow(l,0)*u.lineHeight;return t-n*this.canvasHeight},C.prototype.computeLineHeight=function(l,u,r){return u.lineHeight*r.getRowLineCount(l)},C.prototype.getLength=function(){return this.cells.length},C.prototype.get=function(l){return this.cells[l]},C.prototype.shift=function(){this.$cacheCell(this.cells.shift())},C.prototype.pop=function(){this.$cacheCell(this.cells.pop())},C.prototype.push=function(l){if(Array.isArray(l)){this.cells.push.apply(this.cells,l);for(var u=T.createFragment(this.element),r=0;r<l.length;r++)u.appendChild(l[r].element);this.element.appendChild(u)}else this.cells.push(l),this.element.appendChild(l.element)},C.prototype.unshift=function(l){if(Array.isArray(l)){this.cells.unshift.apply(this.cells,l);for(var u=T.createFragment(this.element),r=0;r<l.length;r++)u.appendChild(l[r].element);this.element.firstChild?this.element.insertBefore(u,this.element.firstChild):this.element.appendChild(u)}else this.cells.unshift(l),this.element.insertAdjacentElement("afterbegin",l.element)},C.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},C.prototype.$cacheCell=function(l){l&&(l.element.remove(),this.cellCache.push(l))},C.prototype.createCell=function(l,u,r,o){var n=this.cellCache.pop();if(!n){var t=T.createElement("div");o&&o(t),this.element.appendChild(t),n={element:t,text:"",row:l}}return n.row=l,n},C}();x.Lines=A}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(k,x,z){var T=k("../lib/dom"),A=k("../lib/oop"),C=k("../lib/lang"),l=k("../lib/event_emitter").EventEmitter,u=k("./lines").Lines,r=k("../config").nls,o=function(){function t(e){this.element=T.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new u(this.element),this.$lines.$offsetCoefficient=1}return t.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},t.prototype.addGutterDecoration=function(e,i){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,i)},t.prototype.removeGutterDecoration=function(e,i){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,i)},t.prototype.setAnnotations=function(e){this.$annotations=[];for(var i=0;i<e.length;i++){var s=e[i],c=s.row,h=this.$annotations[c];h||(h=this.$annotations[c]={text:[],type:[],displayText:[]});var m=s.text,v=s.text,p=s.type;m=m?C.escapeHTML(m):s.html||"",v=v||s.html||"",h.text.indexOf(m)===-1&&(h.text.push(m),h.type.push(p),h.displayText.push(v));var g=s.className;g?h.className=g:p==="error"?h.className=" ace_error":p==="security"&&!/\bace_error\b/.test(h.className)?h.className=" ace_security":p==="warning"&&!/\bace_(error|security)\b/.test(h.className)?h.className=" ace_warning":p==="info"&&!h.className?h.className=" ace_info":p==="hint"&&!h.className&&(h.className=" ace_hint")}},t.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var i=e.start.row,s=e.end.row-i;if(s!==0)if(e.action=="remove")this.$annotations.splice(i,s+1,null);else{var c=new Array(s+1);c.unshift(i,1),this.$annotations.splice.apply(this.$annotations,c)}}},t.prototype.update=function(e){this.config=e;var i=this.session,s=e.firstRow,c=Math.min(e.lastRow+e.gutterOffset,i.getLength()-1);this.oldLastRow=c,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var h=i.getNextFoldLine(s),m=h?h.start.row:1/0,v=null,p=-1,g=s;;){if(g>m&&(g=h.end.row+1,h=i.getNextFoldLine(g,h),m=h?h.start.row:1/0),g>c){for(;this.$lines.getLength()>p+1;)this.$lines.pop();break}v=this.$lines.get(++p),v?v.row=g:(v=this.$lines.createCell(g,e,this.session,n),this.$lines.push(v)),this.$renderCell(v,e,h,g),g++}this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$updateGutterWidth=function(e){var i=this.session,s=i.gutterRenderer||this.$renderer,c=i.$firstLineNumber,h=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||i.$useWrapMode)&&(h=i.getLength()+c-1);var m=s?s.getWidth(i,h,e):h.toString().length*e.characterWidth,v=this.$padding||this.$computePadding();m+=v.left+v.right,m!==this.gutterWidth&&!isNaN(m)&&(this.gutterWidth=m,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",m))},t.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},t.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!(this.$cursorCell&&this.$cursorCell.row==e)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var i=this.$lines.cells;this.$cursorCell=null;for(var s=0;s<i.length;s++){var c=i[s];if(c.row>=this.$cursorRow){if(c.row>this.$cursorRow){var h=this.session.getFoldLine(this.$cursorRow);if(s>0&&h&&h.start.row==i[s-1].row)c=i[s-1];else break}c.element.className="ace_gutter-active-line "+c.element.className,this.$cursorCell=c;break}}}}},t.prototype.scrollLines=function(e){var i=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(i,e))return this.update(e);this.$lines.moveContainer(e);var s=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),c=this.oldLastRow;if(this.oldLastRow=s,!i||c<e.firstRow)return this.update(e);if(s<i.firstRow)return this.update(e);if(i.firstRow<e.firstRow)for(var h=this.session.getFoldedRowCount(i.firstRow,e.firstRow-1);h>0;h--)this.$lines.shift();if(c>s)for(var h=this.session.getFoldedRowCount(s+1,c);h>0;h--)this.$lines.pop();e.firstRow<i.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,i.firstRow-1)),s>c&&this.$lines.push(this.$renderLines(e,c+1,s)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$renderLines=function(e,i,s){for(var c=[],h=i,m=this.session.getNextFoldLine(h),v=m?m.start.row:1/0;h>v&&(h=m.end.row+1,m=this.session.getNextFoldLine(h,m),v=m?m.start.row:1/0),!(h>s);){var p=this.$lines.createCell(h,e,this.session,n);this.$renderCell(p,e,m,h),c.push(p),h++}return c},t.prototype.$renderCell=function(e,i,s,c){var h=e.element,m=this.session,v=h.childNodes[0],p=h.childNodes[1],g=h.childNodes[2],w=g.firstChild,M=m.$firstLineNumber,S=m.$breakpoints,$=m.$decorations,R=m.gutterRenderer||this.$renderer,f=this.$showFoldWidgets&&m.foldWidgets,a=s?s.start.row:Number.MAX_VALUE,d=i.lineHeight+"px",y=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",b=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",L=(R?R.getText(m,c):c+M).toString();if(this.$highlightGutterLine&&(c==this.$cursorRow||s&&c<this.$cursorRow&&c>=a&&this.$cursorRow<=s.end.row)&&(y+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),S[c]&&(y+=S[c]),$[c]&&(y+=$[c]),this.$annotations[c]&&c!==a&&(y+=this.$annotations[c].className),f){var E=f[c];E==null&&(E=f[c]=m.getFoldWidget(c))}if(E){var _="ace_fold-widget ace_"+E,I=E=="start"&&c==a&&c<s.end.row;if(I){_+=" ace_closed";for(var O="",W=!1,D=c+1;D<=s.end.row;D++)if(this.$annotations[D]){if(this.$annotations[D].className===" ace_error"){W=!0,O=" ace_error_fold";break}this.$annotations[D].className===" ace_security"?(W=!0,O=" ace_security_fold"):this.$annotations[D].className===" ace_warning"&&O!==" ace_security_fold"&&(W=!0,O=" ace_warning_fold")}y+=O}else _+=" ace_open";p.className!=_&&(p.className=_),T.setStyle(p.style,"height",d),T.setStyle(p.style,"display","inline-block"),p.setAttribute("role","button"),p.setAttribute("tabindex","-1");var N=m.getFoldWidgetRange(c);N?p.setAttribute("aria-label",r("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[N.start.row+1,N.end.row+1])):s?p.setAttribute("aria-label",r("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[s.start.row+1,s.end.row+1])):p.setAttribute("aria-label",r("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[c+1])),I?(p.setAttribute("aria-expanded","false"),p.setAttribute("title",r("gutter.code-folding.closed.title","Unfold code"))):(p.setAttribute("aria-expanded","true"),p.setAttribute("title",r("gutter.code-folding.open.title","Fold code")))}else p&&(T.setStyle(p.style,"display","none"),p.setAttribute("tabindex","0"),p.removeAttribute("role"),p.removeAttribute("aria-label"));if(W&&this.$showFoldedAnnotations){g.className="ace_gutter_annotation",w.className=b,w.className+=O,T.setStyle(w.style,"height",d),T.setStyle(g.style,"display","block"),T.setStyle(g.style,"height",d);var H;switch(O){case" ace_error_fold":H=r("gutter.annotation.aria-label.error","Error, read annotations row $0",[L]);break;case" ace_security_fold":H=r("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[L]);break;case" ace_warning_fold":H=r("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[L]);break}g.setAttribute("aria-label",H),g.setAttribute("tabindex","-1"),g.setAttribute("role","button")}else if(this.$annotations[c]){g.className="ace_gutter_annotation",w.className=b,this.$useSvgGutterIcons?w.className+=this.$annotations[c].className:h.classList.add(this.$annotations[c].className.replace(" ","")),T.setStyle(w.style,"height",d),T.setStyle(g.style,"display","block"),T.setStyle(g.style,"height",d);var H;switch(this.$annotations[c].className){case" ace_error":H=r("gutter.annotation.aria-label.error","Error, read annotations row $0",[L]);break;case" ace_security":H=r("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[L]);break;case" ace_warning":H=r("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[L]);break;case" ace_info":H=r("gutter.annotation.aria-label.info","Info, read annotations row $0",[L]);break;case" ace_hint":H=r("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[L]);break}g.setAttribute("aria-label",H),g.setAttribute("tabindex","-1"),g.setAttribute("role","button")}else T.setStyle(g.style,"display","none"),g.removeAttribute("aria-label"),g.removeAttribute("role"),g.setAttribute("tabindex","0");return L!==v.data&&(v.data=L),h.className!=y&&(h.className=y),T.setStyle(e.element.style,"height",this.$lines.computeLineHeight(c,i,m)+"px"),T.setStyle(e.element.style,"top",this.$lines.computeLineTop(c,i,m)+"px"),e.text=L,g.style.display==="none"&&p.style.display==="none"?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},t.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},t.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},t.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},t.prototype.setShowFoldWidgets=function(e){e?T.addCssClass(this.element,"ace_folding-enabled"):T.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},t.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},t.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=T.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},t.prototype.getRegion=function(e){var i=this.$padding||this.$computePadding(),s=this.element.getBoundingClientRect();if(e.x<i.left+s.left)return"markers";if(this.$showFoldWidgets&&e.x>s.right-i.right)return"foldWidgets"},t}();o.prototype.$fixedWidth=!1,o.prototype.$highlightGutterLine=!0,o.prototype.$renderer="",o.prototype.$showLineNumbers=!0,o.prototype.$showFoldWidgets=!0,A.implement(o.prototype,l);function n(t){var e=document.createTextNode("");t.appendChild(e);var i=T.createElement("span");t.appendChild(i);var s=T.createElement("span");t.appendChild(s);var c=T.createElement("span");return s.appendChild(c),t}x.Gutter=o}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(k,x,z){var T=k("../range").Range,A=k("../lib/dom"),C=function(){function u(r){this.element=A.createElement("div"),this.element.className="ace_layer ace_marker-layer",r.appendChild(this.element)}return u.prototype.setPadding=function(r){this.$padding=r},u.prototype.setSession=function(r){this.session=r},u.prototype.setMarkers=function(r){this.markers=r},u.prototype.elt=function(r,o){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=o,n.className=r},u.prototype.update=function(r){if(r){this.config=r,this.i=0;var o;for(var n in this.markers){var t=this.markers[n];if(!t.range){t.update(o,this,this.session,r);continue}var e=t.range.clipRows(r.firstRow,r.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),t.renderer){var i=this.$getTop(e.start.row,r),s=this.$padding+e.start.column*r.characterWidth;t.renderer(o,e,s,i,r)}else t.type=="fullLine"?this.drawFullLineMarker(o,e,t.clazz,r):t.type=="screenLine"?this.drawScreenLineMarker(o,e,t.clazz,r):e.isMultiLine()?t.type=="text"?this.drawTextMarker(o,e,t.clazz,r):this.drawMultiLineMarker(o,e,t.clazz,r):this.drawSingleLineMarker(o,e,t.clazz+" ace_start ace_br15",r)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},u.prototype.$getTop=function(r,o){return(r-o.firstRowScreen)*o.lineHeight},u.prototype.drawTextMarker=function(r,o,n,t,e){for(var i=this.session,s=o.start.row,c=o.end.row,h=s,m=0,v=0,p=i.getScreenLastRowColumn(h),g=new T(h,o.start.column,h,v);h<=c;h++)g.start.row=g.end.row=h,g.start.column=h==s?o.start.column:i.getRowWrapIndent(h),g.end.column=p,m=v,v=p,p=h+1<c?i.getScreenLastRowColumn(h+1):h==c?0:o.end.column,this.drawSingleLineMarker(r,g,n+(h==s?" ace_start":"")+" ace_br"+l(h==s||h==s+1&&o.start.column,m<v,v>p,h==c),t,h==c?0:1,e)},u.prototype.drawMultiLineMarker=function(r,o,n,t,e){var i=this.$padding,s=t.lineHeight,c=this.$getTop(o.start.row,t),h=i+o.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(o.start.row)){var m=o.clone();m.end.row=m.start.row,m.end.column=this.session.getLine(m.start.row).length,this.drawBidiSingleLineMarker(r,m,n+" ace_br1 ace_start",t,null,e)}else this.elt(n+" ace_br1 ace_start","height:"+s+"px;right:"+i+"px;top:"+c+"px;left:"+h+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(o.end.row)){var m=o.clone();m.start.row=m.end.row,m.start.column=0,this.drawBidiSingleLineMarker(r,m,n+" ace_br12",t,null,e)}else{c=this.$getTop(o.end.row,t);var v=o.end.column*t.characterWidth;this.elt(n+" ace_br12","height:"+s+"px;width:"+v+"px;top:"+c+"px;left:"+i+"px;"+(e||""))}if(s=(o.end.row-o.start.row-1)*t.lineHeight,!(s<=0)){c=this.$getTop(o.start.row+1,t);var p=(o.start.column?1:0)|(o.end.column?0:8);this.elt(n+(p?" ace_br"+p:""),"height:"+s+"px;right:"+i+"px;top:"+c+"px;left:"+i+"px;"+(e||""))}},u.prototype.drawSingleLineMarker=function(r,o,n,t,e,i){if(this.session.$bidiHandler.isBidiRow(o.start.row))return this.drawBidiSingleLineMarker(r,o,n,t,e,i);var s=t.lineHeight,c=(o.end.column+(e||0)-o.start.column)*t.characterWidth,h=this.$getTop(o.start.row,t),m=this.$padding+o.start.column*t.characterWidth;this.elt(n,"height:"+s+"px;width:"+c+"px;top:"+h+"px;left:"+m+"px;"+(i||""))},u.prototype.drawBidiSingleLineMarker=function(r,o,n,t,e,i){var s=t.lineHeight,c=this.$getTop(o.start.row,t),h=this.$padding,m=this.session.$bidiHandler.getSelections(o.start.column,o.end.column);m.forEach(function(v){this.elt(n,"height:"+s+"px;width:"+(v.width+(e||0))+"px;top:"+c+"px;left:"+(h+v.left)+"px;"+(i||""))},this)},u.prototype.drawFullLineMarker=function(r,o,n,t,e){var i=this.$getTop(o.start.row,t),s=t.lineHeight;o.start.row!=o.end.row&&(s+=this.$getTop(o.end.row,t)-i),this.elt(n,"height:"+s+"px;top:"+i+"px;left:0;right:0;"+(e||""))},u.prototype.drawScreenLineMarker=function(r,o,n,t,e){var i=this.$getTop(o.start.row,t),s=t.lineHeight;this.elt(n,"height:"+s+"px;top:"+i+"px;left:0;right:0;"+(e||""))},u}();C.prototype.$padding=0;function l(u,r,o,n){return(u?1:0)|(r?2:0)|(o?4:0)|(n?8:0)}x.Marker=C}),ace.define("ace/layer/text_util",["require","exports","module"],function(k,x,z){var T=new Set(["text","rparen","lparen"]);x.isTextToken=function(A){return T.has(A)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(k,x,z){var T=k("../lib/oop"),A=k("../lib/dom"),C=k("../lib/lang"),l=k("./lines").Lines,u=k("../lib/event_emitter").EventEmitter,r=k("../config").nls,o=k("./text_util").isTextToken,n=function(){function t(e){this.dom=A,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new l(this.element)}return t.prototype.$updateEolChar=function(){var e=this.session.doc,i=e.getNewLineCharacter()==`
|
|
216
|
-
`&&e.getNewLineMode()!="windows",s=i?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=s)return this.EOL_CHAR=s,!0},t.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},t.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},t.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},t.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(i){this._signal("changeCharacterSize",i)}.bind(this)),this.$pollSizeChanges()},t.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},t.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},t.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},t.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},t.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},t.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},t.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var i=this.$tabStrings=[0],s=1;s<e+1;s++)if(this.showTabs){var c=this.dom.createElement("span");c.className="ace_invisible ace_invisible_tab",c.textContent=C.stringRepeat(this.TAB_CHAR,s),i.push(c)}else i.push(this.dom.createTextNode(C.stringRepeat(" ",s),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var h="ace_indent-guide",m=this.showSpaces?" ace_invisible ace_invisible_space":"",v=this.showSpaces?C.stringRepeat(this.SPACE_CHAR,this.tabSize):C.stringRepeat(" ",this.tabSize),p=this.showTabs?" ace_invisible ace_invisible_tab":"",g=this.showTabs?C.stringRepeat(this.TAB_CHAR,this.tabSize):v,c=this.dom.createElement("span");c.className=h+m,c.textContent=v,this.$tabStrings[" "]=c;var c=this.dom.createElement("span");c.className=h+p,c.textContent=g,this.$tabStrings[" "]=c}},t.prototype.updateLines=function(e,i,s){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var c=Math.max(i,e.firstRow),h=Math.min(s,e.lastRow),m=this.element.childNodes,v=0,g=e.firstRow;g<c;g++){var w=this.session.getFoldLine(g);if(w)if(w.containsRow(c)){c=w.start.row;break}else g=w.end.row;v++}for(var p=!1,g=c,w=this.session.getNextFoldLine(g),M=w?w.start.row:1/0;g>M&&(g=w.end.row+1,w=this.session.getNextFoldLine(g,w),M=w?w.start.row:1/0),!(g>h);){var S=m[v++];if(S){this.dom.removeChildren(S),this.$renderLine(S,g,g==M?w:!1),p&&(S.style.top=this.$lines.computeLineTop(g,e,this.session)+"px");var $=e.lineHeight*this.session.getRowLength(g)+"px";S.style.height!=$&&(p=!0,S.style.height=$)}g++}if(p)for(;v<this.$lines.cells.length;){var R=this.$lines.cells[v++];R.element.style.top=this.$lines.computeLineTop(R.row,e,this.session)+"px"}},t.prototype.scrollLines=function(e){var i=this.config;if(this.config=e,this.$lines.pageChanged(i,e))return this.update(e);this.$lines.moveContainer(e);var s=e.lastRow,c=i?i.lastRow:-1;if(!i||c<e.firstRow)return this.update(e);if(s<i.firstRow)return this.update(e);if(!i||i.lastRow<e.firstRow)return this.update(e);if(e.lastRow<i.firstRow)return this.update(e);if(i.firstRow<e.firstRow)for(var h=this.session.getFoldedRowCount(i.firstRow,e.firstRow-1);h>0;h--)this.$lines.shift();if(i.lastRow>e.lastRow)for(var h=this.session.getFoldedRowCount(e.lastRow+1,i.lastRow);h>0;h--)this.$lines.pop();e.firstRow<i.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,i.firstRow-1)),e.lastRow>i.lastRow&&this.$lines.push(this.$renderLinesFragment(e,i.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},t.prototype.$renderLinesFragment=function(e,i,s){for(var c=[],h=i,m=this.session.getNextFoldLine(h),v=m?m.start.row:1/0;h>v&&(h=m.end.row+1,m=this.session.getNextFoldLine(h,m),v=m?m.start.row:1/0),!(h>s);){var p=this.$lines.createCell(h,e,this.session),g=p.element;this.dom.removeChildren(g),A.setStyle(g.style,"height",this.$lines.computeLineHeight(h,e,this.session)+"px"),A.setStyle(g.style,"top",this.$lines.computeLineTop(h,e,this.session)+"px"),this.$renderLine(g,h,h==v?m:!1),this.$useLineGroups()?g.className="ace_line_group":g.className="ace_line",c.push(p),h++}return c},t.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var i=e.firstRow,s=e.lastRow,c=this.$lines;c.getLength();)c.pop();c.push(this.$renderLinesFragment(e,i,s))},t.prototype.$renderToken=function(e,i,s,c){for(var h=this,m=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,v=this.dom.createFragment(this.element),p,g=0;p=m.exec(c);){var w=p[1],M=p[2],S=p[3],$=p[4],R=p[5];if(!(!h.showSpaces&&M)){var f=g!=p.index?c.slice(g,p.index):"";if(g=p.index+p[0].length,f&&v.appendChild(this.dom.createTextNode(f,this.element)),w){var a=h.session.getScreenTabSize(i+p.index);v.appendChild(h.$tabStrings[a].cloneNode(!0)),i+=a-1}else if(M)if(h.showSpaces){var d=this.dom.createElement("span");d.className="ace_invisible ace_invisible_space",d.textContent=C.stringRepeat(h.SPACE_CHAR,M.length),v.appendChild(d)}else v.appendChild(this.dom.createTextNode(M,this.element));else if(S){var d=this.dom.createElement("span");d.className="ace_invisible ace_invisible_space ace_invalid",d.textContent=C.stringRepeat(h.SPACE_CHAR,S.length),v.appendChild(d)}else if($){i+=1;var d=this.dom.createElement("span");d.style.width=h.config.characterWidth*2+"px",d.className=h.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",d.textContent=h.showSpaces?h.SPACE_CHAR:$,v.appendChild(d)}else if(R){i+=1;var d=this.dom.createElement("span");d.style.width=h.config.characterWidth*2+"px",d.className="ace_cjk",d.textContent=R,v.appendChild(d)}}}if(v.appendChild(this.dom.createTextNode(g?c.slice(g):c,this.element)),o(s.type))e.appendChild(v);else{var y="ace_"+s.type.replace(/\./g," ace_"),d=this.dom.createElement("span");s.type=="fold"&&(d.style.width=s.value.length*this.config.characterWidth+"px",d.setAttribute("title",r("inline-fold.closed.title","Unfold code"))),d.className=y,d.appendChild(v),e.appendChild(d)}return i+c.length},t.prototype.renderIndentGuide=function(e,i,s){var c=i.search(this.$indentGuideRe);if(c<=0||c>=s)return i;if(i[0]==" "){c-=c%this.tabSize;for(var h=c/this.tabSize,m=0;m<h;m++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),i.substr(c)}else if(i[0]==" "){for(var m=0;m<c;m++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),i.substr(c)}return this.$highlightIndentGuide(),i},t.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var i=this.session.selection.getCursor(),s=/^\s*/.exec(this.session.doc.getLine(i.row))[0].length,c=Math.floor(s/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:c,start:i.row};var h=this.session.$bracketHighlight;if(h){for(var m=this.session.$bracketHighlight.ranges,v=0;v<m.length;v++)if(i.row!==m[v].start.row){this.$highlightIndentGuideMarker.end=m[v].start.row+1,i.row>m[v].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[i.row]!==""&&i.column===e[i.row].length){this.$highlightIndentGuideMarker.dir=1;for(var v=i.row+1;v<e.length;v++){var p=e[v],g=/^\s*/.exec(p)[0].length;if(p!==""&&(this.$highlightIndentGuideMarker.end=v,g<=s))break}}this.$renderHighlightIndentGuide()}}},t.prototype.$clearActiveIndentGuide=function(){var e=this.element.querySelectorAll(".ace_indent-guide-active");e.forEach(function(i){i.classList.remove("ace_indent-guide-active")})},t.prototype.$setIndentGuideActive=function(e,i){var s=this.session.doc.getLine(e.row);if(s!==""){var c=e.element;if(e.element.classList&&e.element.classList.contains("ace_line_group"))if(e.element.childNodes.length>0)c=e.element.childNodes[0];else return;var h=c.childNodes;if(h){var m=h[i-1];m&&m.classList&&m.classList.contains("ace_indent-guide")&&m.classList.add("ace_indent-guide-active")}}},t.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var i=this.$highlightIndentGuideMarker.indentLevel;if(i!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var s=0;s<e.length;s++){var c=e[s];if(this.$highlightIndentGuideMarker.end&&c.row>=this.$highlightIndentGuideMarker.start+1){if(c.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(c,i)}}else for(var s=e.length-1;s>=0;s--){var c=e[s];if(this.$highlightIndentGuideMarker.end&&c.row<this.$highlightIndentGuideMarker.start){if(c.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(c,i)}}}},t.prototype.$createLineElement=function(e){var i=this.dom.createElement("div");return i.className="ace_line",i.style.height=this.config.lineHeight+"px",i},t.prototype.$renderWrappedLine=function(e,i,s){var c=0,h=0,m=s[0],v=0,p=this.$createLineElement();e.appendChild(p);for(var g=0;g<i.length;g++){var w=i[g],M=w.value;if(g==0&&this.displayIndentGuides){if(c=M.length,M=this.renderIndentGuide(p,M,m),!M)continue;c-=M.length}if(c+M.length<m)v=this.$renderToken(p,v,w,M),c+=M.length;else{for(;c+M.length>=m;)v=this.$renderToken(p,v,w,M.substring(0,m-c)),M=M.substring(m-c),c=m,p=this.$createLineElement(),e.appendChild(p),p.appendChild(this.dom.createTextNode(C.stringRepeat(" ",s.indent),this.element)),h++,v=0,m=s[h]||Number.MAX_VALUE;M.length!=0&&(c+=M.length,v=this.$renderToken(p,v,w,M))}}s[s.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(p,v,null,"",!0)},t.prototype.$renderSimpleLine=function(e,i){for(var s=0,c=0;c<i.length;c++){var h=i[c],m=h.value;if(!(c==0&&this.displayIndentGuides&&(m=this.renderIndentGuide(e,m),!m))){if(s+m.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,s,h,m);s=this.$renderToken(e,s,h,m)}}},t.prototype.$renderOverflowMessage=function(e,i,s,c,h){s&&this.$renderToken(e,i,s,c.slice(0,this.MAX_LINE_LENGTH-i));var m=this.dom.createElement("span");m.className="ace_inline_button ace_keyword ace_toggle_wrap",m.textContent=h?"<hide>":"<click to see more...>",e.appendChild(m)},t.prototype.$renderLine=function(e,i,s){if(!s&&s!=!1&&(s=this.session.getFoldLine(i)),s)var c=this.$getFoldLineTokens(i,s);else var c=this.session.getTokens(i);var h=e;if(c.length){var m=this.session.getRowSplitData(i);if(m&&m.length){this.$renderWrappedLine(e,c,m);var h=e.lastChild}else{var h=e;this.$useLineGroups()&&(h=this.$createLineElement(),e.appendChild(h)),this.$renderSimpleLine(h,c)}}else this.$useLineGroups()&&(h=this.$createLineElement(),e.appendChild(h));if(this.showEOL&&h){s&&(i=s.end.row);var v=this.dom.createElement("span");v.className="ace_invisible ace_invisible_eol",v.textContent=i==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,h.appendChild(v)}},t.prototype.$getFoldLineTokens=function(e,i){var s=this.session,c=[];function h(v,p,g){for(var w=0,M=0;M+v[w].value.length<p;)if(M+=v[w].value.length,w++,w==v.length)return;if(M!=p){var S=v[w].value.substring(p-M);S.length>g-p&&(S=S.substring(0,g-p)),c.push({type:v[w].type,value:S}),M=p+S.length,w+=1}for(;M<g&&w<v.length;){var S=v[w].value;S.length+M>g?c.push({type:v[w].type,value:S.substring(0,g-M)}):c.push(v[w]),M+=S.length,w+=1}}var m=s.getTokens(e);return i.walk(function(v,p,g,w,M){v!=null?c.push({type:"fold",value:v}):(M&&(m=s.getTokens(p)),m.length&&h(m,w,g))},i.end.row,this.session.getLine(i.end.row).length),c},t.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},t}();n.prototype.EOF_CHAR="¶",n.prototype.EOL_CHAR_LF="¬",n.prototype.EOL_CHAR_CRLF="¤",n.prototype.EOL_CHAR=n.prototype.EOL_CHAR_LF,n.prototype.TAB_CHAR="—",n.prototype.SPACE_CHAR="·",n.prototype.$padding=0,n.prototype.MAX_LINE_LENGTH=1e4,n.prototype.showInvisibles=!1,n.prototype.showSpaces=!1,n.prototype.showTabs=!1,n.prototype.showEOL=!1,n.prototype.displayIndentGuides=!0,n.prototype.$highlightIndentGuides=!0,n.prototype.$tabStrings=[],n.prototype.destroy={},n.prototype.onChangeTabSize=n.prototype.$computeTabString,T.implement(n.prototype,u),x.Text=n}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(k,x,z){var T=k("../lib/dom"),A=function(){function C(l){this.element=T.createElement("div"),this.element.className="ace_layer ace_cursor-layer",l.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),T.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return C.prototype.$updateOpacity=function(l){for(var u=this.cursors,r=u.length;r--;)T.setStyle(u[r].style,"opacity",l?"":"0")},C.prototype.$startCssAnimation=function(){for(var l=this.cursors,u=l.length;u--;)l[u].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&T.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},C.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,T.removeCssClass(this.element,"ace_animate-blinking")},C.prototype.setPadding=function(l){this.$padding=l},C.prototype.setSession=function(l){this.session=l},C.prototype.setBlinking=function(l){l!=this.isBlinking&&(this.isBlinking=l,this.restartTimer())},C.prototype.setBlinkInterval=function(l){l!=this.blinkInterval&&(this.blinkInterval=l,this.restartTimer())},C.prototype.setSmoothBlinking=function(l){l!=this.smoothBlinking&&(this.smoothBlinking=l,T.setCssClass(this.element,"ace_smooth-blinking",l),this.$updateCursors(!0),this.restartTimer())},C.prototype.addCursor=function(){var l=T.createElement("div");return l.className="ace_cursor",this.element.appendChild(l),this.cursors.push(l),l},C.prototype.removeCursor=function(){if(this.cursors.length>1){var l=this.cursors.pop();return l.parentNode.removeChild(l),l}},C.prototype.hideCursor=function(){this.isVisible=!1,T.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},C.prototype.showCursor=function(){this.isVisible=!0,T.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},C.prototype.restartTimer=function(){var l=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,T.removeCssClass(this.element,"ace_smooth-blinking")),l(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&T.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),T.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var u=function(){this.timeoutId=setTimeout(function(){l(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){l(!0),u()},this.blinkInterval),u()}},C.prototype.getPixelPosition=function(l,u){if(!this.config||!this.session)return{left:0,top:0};l||(l=this.session.selection.getCursor());var r=this.session.documentToScreenPosition(l),o=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,l.row)?this.session.$bidiHandler.getPosLeft(r.column):r.column*this.config.characterWidth),n=(r.row-(u?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:o,top:n}},C.prototype.isCursorInView=function(l,u){return l.top>=0&&l.top<u.maxHeight},C.prototype.update=function(l){this.config=l;var u=this.session.$selectionMarkers,r=0,o=0;(u===void 0||u.length===0)&&(u=[{cursor:null}]);for(var r=0,n=u.length;r<n;r++){var t=this.getPixelPosition(u[r].cursor,!0);if(!((t.top>l.height+l.offset||t.top<0)&&r>1)){var e=this.cursors[o++]||this.addCursor(),i=e.style;this.drawCursor?this.drawCursor(e,t,l,u[r],this.session):this.isCursorInView(t,l)?(T.setStyle(i,"display","block"),T.translate(e,t.left,t.top),T.setStyle(i,"width",Math.round(l.characterWidth)+"px"),T.setStyle(i,"height",l.lineHeight+"px")):T.setStyle(i,"display","none")}}for(;this.cursors.length>o;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=t,this.restartTimer()},C.prototype.$setOverwrite=function(l){l!=this.overwrite&&(this.overwrite=l,l?T.addCssClass(this.element,"ace_overwrite-cursors"):T.removeCssClass(this.element,"ace_overwrite-cursors"))},C.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},C}();A.prototype.$padding=0,A.prototype.drawCursor=null,x.Cursor=A}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(k,x,z){var T=this&&this.__extends||function(){var e=function(i,s){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,h){c.__proto__=h}||function(c,h){for(var m in h)Object.prototype.hasOwnProperty.call(h,m)&&(c[m]=h[m])},e(i,s)};return function(i,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(i,s);function c(){this.constructor=i}i.prototype=s===null?Object.create(s):(c.prototype=s.prototype,new c)}}(),A=k("./lib/oop"),C=k("./lib/dom"),l=k("./lib/event"),u=k("./lib/event_emitter").EventEmitter,r=32768,o=function(){function e(i,s){this.element=C.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+s,this.inner=C.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),i.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addListener(this.element,"scroll",this.onScroll.bind(this)),l.addListener(this.element,"mousedown",l.preventDefault)}return e.prototype.setVisible=function(i){this.element.style.display=i?"":"none",this.isVisible=i,this.coeff=1},e}();A.implement(o.prototype,u);var n=function(e){T(i,e);function i(s,c){var h=e.call(this,s,"-v")||this;return h.scrollTop=0,h.scrollHeight=0,c.$scrollbarWidth=h.width=C.scrollbarWidth(s.ownerDocument),h.inner.style.width=h.element.style.width=(h.width||15)+5+"px",h.$minWidth=0,h}return i.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var s=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-s)/(this.coeff-s)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},i.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},i.prototype.setHeight=function(s){this.element.style.height=s+"px"},i.prototype.setScrollHeight=function(s){this.scrollHeight=s,s>r?(this.coeff=r/s,s=r):this.coeff!=1&&(this.coeff=1),this.inner.style.height=s+"px"},i.prototype.setScrollTop=function(s){this.scrollTop!=s&&(this.skipEvent=!0,this.scrollTop=s,this.element.scrollTop=s*this.coeff)},i}(o);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var t=function(e){T(i,e);function i(s,c){var h=e.call(this,s,"-h")||this;return h.scrollLeft=0,h.height=c.$scrollbarWidth,h.inner.style.height=h.element.style.height=(h.height||15)+5+"px",h}return i.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},i.prototype.getHeight=function(){return this.isVisible?this.height:0},i.prototype.setWidth=function(s){this.element.style.width=s+"px"},i.prototype.setInnerWidth=function(s){this.inner.style.width=s+"px"},i.prototype.setScrollWidth=function(s){this.inner.style.width=s+"px"},i.prototype.setScrollLeft=function(s){this.scrollLeft!=s&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=s)},i}(o);x.ScrollBar=n,x.ScrollBarV=n,x.ScrollBarH=t,x.VScrollBar=n,x.HScrollBar=t}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(k,x,z){var T=this&&this.__extends||function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,c){s.__proto__=c}||function(s,c){for(var h in c)Object.prototype.hasOwnProperty.call(c,h)&&(s[h]=c[h])},t(e,i)};return function(e,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");t(e,i);function s(){this.constructor=e}e.prototype=i===null?Object.create(i):(s.prototype=i.prototype,new s)}}(),A=k("./lib/oop"),C=k("./lib/dom"),l=k("./lib/event"),u=k("./lib/event_emitter").EventEmitter;C.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
|
|
217
|
-
position: absolute;
|
|
218
|
-
background: rgba(128, 128, 128, 0.6);
|
|
219
|
-
-moz-box-sizing: border-box;
|
|
220
|
-
box-sizing: border-box;
|
|
221
|
-
border: 1px solid #bbb;
|
|
222
|
-
border-radius: 2px;
|
|
223
|
-
z-index: 8;
|
|
224
|
-
}
|
|
225
|
-
.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
|
|
226
|
-
position: absolute;
|
|
227
|
-
z-index: 6;
|
|
228
|
-
background: none;
|
|
229
|
-
overflow: hidden!important;
|
|
230
|
-
}
|
|
231
|
-
.ace_editor>.ace_sb-v {
|
|
232
|
-
z-index: 6;
|
|
233
|
-
right: 0;
|
|
234
|
-
top: 0;
|
|
235
|
-
width: 12px;
|
|
236
|
-
}
|
|
237
|
-
.ace_editor>.ace_sb-v div {
|
|
238
|
-
z-index: 8;
|
|
239
|
-
right: 0;
|
|
240
|
-
width: 100%;
|
|
241
|
-
}
|
|
242
|
-
.ace_editor>.ace_sb-h {
|
|
243
|
-
bottom: 0;
|
|
244
|
-
left: 0;
|
|
245
|
-
height: 12px;
|
|
246
|
-
}
|
|
247
|
-
.ace_editor>.ace_sb-h div {
|
|
248
|
-
bottom: 0;
|
|
249
|
-
height: 100%;
|
|
250
|
-
}
|
|
251
|
-
.ace_editor>.ace_sb_grabbed {
|
|
252
|
-
z-index: 8;
|
|
253
|
-
background: #000;
|
|
254
|
-
}`,"ace_scrollbar.css",!1);var r=function(){function t(e,i){this.element=C.createElement("div"),this.element.className="ace_sb"+i,this.inner=C.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return t.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},t}();A.implement(r.prototype,u);var o=function(t){T(e,t);function e(i,s){var c=t.call(this,i,"-v")||this;return c.scrollTop=0,c.scrollHeight=0,c.parent=i,c.width=c.VScrollWidth,c.renderer=s,c.inner.style.width=c.element.style.width=(c.width||15)+"px",c.$minWidth=0,c}return e.prototype.onMouseDown=function(i,s){if(i==="mousedown"&&!(l.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var c=this,h=s.clientY,m=function($){h=$.clientY},v=function(){clearInterval(M)},p=s.clientY,g=this.thumbTop,w=function(){if(h!==void 0){var $=c.scrollTopFromThumbTop(g+h-p);$!==c.scrollTop&&c._emit("scroll",{data:$})}};l.capture(this.inner,m,v);var M=setInterval(w,20);return l.preventDefault(s)}var S=s.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(S)}),l.preventDefault(s)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(i){var s=i*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return s=s>>0,s<0?s=0:s>this.pageHeight-this.viewHeight&&(s=this.pageHeight-this.viewHeight),s},e.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},e.prototype.setHeight=function(i){this.height=Math.max(0,i),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(i,s){this.pageHeight===i&&!s||(this.pageHeight=i,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},e.prototype.setScrollTop=function(i){this.scrollTop=i,i<0&&(i=0),this.thumbTop=i*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e}(r);o.prototype.setInnerHeight=o.prototype.setScrollHeight;var n=function(t){T(e,t);function e(i,s){var c=t.call(this,i,"-h")||this;return c.scrollLeft=0,c.scrollWidth=0,c.height=c.HScrollHeight,c.inner.style.height=c.element.style.height=(c.height||12)+"px",c.renderer=s,c}return e.prototype.onMouseDown=function(i,s){if(i==="mousedown"&&!(l.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var c=this,h=s.clientX,m=function($){h=$.clientX},v=function(){clearInterval(M)},p=s.clientX,g=this.thumbLeft,w=function(){if(h!==void 0){var $=c.scrollLeftFromThumbLeft(g+h-p);$!==c.scrollLeft&&c._emit("scroll",{data:$})}};l.capture(this.inner,m,v);var M=setInterval(w,20);return l.preventDefault(s)}var S=s.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(S)}),l.preventDefault(s)}},e.prototype.getHeight=function(){return this.isVisible?this.height:0},e.prototype.scrollLeftFromThumbLeft=function(i){var s=i*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return s=s>>0,s<0?s=0:s>this.pageWidth-this.viewWidth&&(s=this.pageWidth-this.viewWidth),s},e.prototype.setWidth=function(i){this.width=Math.max(0,i),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(i,s){this.pageWidth===i&&!s||(this.pageWidth=i,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},e.prototype.setScrollLeft=function(i){this.scrollLeft=i,i<0&&(i=0),this.thumbLeft=i*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e}(r);n.prototype.setInnerWidth=n.prototype.setScrollWidth,x.ScrollBar=o,x.ScrollBarV=o,x.ScrollBarH=n,x.VScrollBar=o,x.HScrollBar=n}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(k,x,z){var T=k("./lib/event"),A=function(){function C(l,u){this.onRender=l,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=u||window;var r=this;this._flush=function(o){r.pending=!1;var n=r.changes;if(n&&(T.blockIdle(100),r.changes=0,r.onRender(n)),r.changes){if(r.$recursionLimit--<0)return;r.schedule()}else r.$recursionLimit=2}}return C.prototype.schedule=function(l){this.changes=this.changes|l,this.changes&&!this.pending&&(T.nextFrame(this._flush),this.pending=!0)},C.prototype.clear=function(l){var u=this.changes;return this.changes=0,u},C}();x.RenderLoop=A}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(k,x,z){var T=k("../lib/oop"),A=k("../lib/dom"),C=k("../lib/lang"),l=k("../lib/event"),u=k("../lib/useragent"),r=k("../lib/event_emitter").EventEmitter,o=512,n=typeof ResizeObserver=="function",t=200,e=function(){function i(s){this.el=A.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=A.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=A.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),s.appendChild(this.el),this.$measureNode.textContent=C.stringRepeat("X",o),this.$characterSize={width:0,height:0},n?this.$addObserver():this.checkForSizeChanges()}return i.prototype.$setMeasureNodeStyles=function(s,c){s.width=s.height="auto",s.left=s.top="0px",s.visibility="hidden",s.position="absolute",s.whiteSpace="pre",u.isIE<8?s["font-family"]="inherit":s.font="inherit",s.overflow=c?"hidden":"visible"},i.prototype.checkForSizeChanges=function(s){if(s===void 0&&(s=this.$measureSizes()),s&&(this.$characterSize.width!==s.width||this.$characterSize.height!==s.height)){this.$measureNode.style.fontWeight="bold";var c=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=s,this.charSizes=Object.create(null),this.allowBoldFonts=c&&c.width===s.width&&c.height===s.height,this._emit("changeCharacterSize",{data:s})}},i.prototype.$addObserver=function(){var s=this;this.$observer=new window.ResizeObserver(function(c){s.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},i.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var s=this;return this.$pollSizeChangesTimer=l.onIdle(function c(){s.checkForSizeChanges(),l.onIdle(c,500)},500)},i.prototype.setPolling=function(s){s?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},i.prototype.$measureSizes=function(s){var c={height:(s||this.$measureNode).clientHeight,width:(s||this.$measureNode).clientWidth/o};return c.width===0||c.height===0?null:c},i.prototype.$measureCharWidth=function(s){this.$main.textContent=C.stringRepeat(s,o);var c=this.$main.getBoundingClientRect();return c.width/o},i.prototype.getCharacterWidth=function(s){var c=this.charSizes[s];return c===void 0&&(c=this.charSizes[s]=this.$measureCharWidth(s)/this.$characterSize.width),c},i.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},i.prototype.$getZoom=function(s){return!s||!s.parentElement?1:(Number(window.getComputedStyle(s).zoom)||1)*this.$getZoom(s.parentElement)},i.prototype.$initTransformMeasureNodes=function(){var s=function(c,h){return["div",{style:"position: absolute;top:"+c+"px;left:"+h+"px;"}]};this.els=A.buildDom([s(0,0),s(t,0),s(0,t),s(t,t)],this.el)},i.prototype.transformCoordinates=function(s,c){if(s){var h=this.$getZoom(this.el);s=g(1/h,s)}function m(I,O,W){var D=I[1]*O[0]-I[0]*O[1];return[(-O[1]*W[0]+O[0]*W[1])/D,(+I[1]*W[0]-I[0]*W[1])/D]}function v(I,O){return[I[0]-O[0],I[1]-O[1]]}function p(I,O){return[I[0]+O[0],I[1]+O[1]]}function g(I,O){return[I*O[0],I*O[1]]}this.els||this.$initTransformMeasureNodes();function w(I){var O=I.getBoundingClientRect();return[O.left,O.top]}var M=w(this.els[0]),S=w(this.els[1]),$=w(this.els[2]),R=w(this.els[3]),f=m(v(R,S),v(R,$),v(p(S,$),p(R,M))),a=g(1+f[0],v(S,M)),d=g(1+f[1],v($,M));if(c){var y=c,b=f[0]*y[0]/t+f[1]*y[1]/t+1,L=p(g(y[0],a),g(y[1],d));return p(g(1/b/t,L),M)}var E=v(s,M),_=m(v(a,g(f[0],E)),v(d,g(f[1],E)),E);return g(t,_)},i}();e.prototype.$characterSize={width:0,height:0},T.implement(e.prototype,r),x.FontMetrics=e}),ace.define("ace/css/editor-css",["require","exports","module"],function(k,x,z){z.exports=`
|
|
255
|
-
.ace_br1 {border-top-left-radius : 3px;}
|
|
256
|
-
.ace_br2 {border-top-right-radius : 3px;}
|
|
257
|
-
.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
|
|
258
|
-
.ace_br4 {border-bottom-right-radius: 3px;}
|
|
259
|
-
.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
|
|
260
|
-
.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
|
|
261
|
-
.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
|
|
262
|
-
.ace_br8 {border-bottom-left-radius : 3px;}
|
|
263
|
-
.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
|
|
264
|
-
.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
|
|
265
|
-
.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
266
|
-
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
267
|
-
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
268
|
-
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
269
|
-
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
.ace_editor {
|
|
273
|
-
position: relative;
|
|
274
|
-
overflow: hidden;
|
|
275
|
-
padding: 0;
|
|
276
|
-
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
|
|
277
|
-
direction: ltr;
|
|
278
|
-
text-align: left;
|
|
279
|
-
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
280
|
-
forced-color-adjust: none;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
.ace_scroller {
|
|
284
|
-
position: absolute;
|
|
285
|
-
overflow: hidden;
|
|
286
|
-
top: 0;
|
|
287
|
-
bottom: 0;
|
|
288
|
-
background-color: inherit;
|
|
289
|
-
-ms-user-select: none;
|
|
290
|
-
-moz-user-select: none;
|
|
291
|
-
-webkit-user-select: none;
|
|
292
|
-
user-select: none;
|
|
293
|
-
cursor: text;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
.ace_content {
|
|
297
|
-
position: absolute;
|
|
298
|
-
box-sizing: border-box;
|
|
299
|
-
min-width: 100%;
|
|
300
|
-
contain: style size layout;
|
|
301
|
-
font-variant-ligatures: no-common-ligatures;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
.ace_keyboard-focus:focus {
|
|
305
|
-
box-shadow: inset 0 0 0 2px #5E9ED6;
|
|
306
|
-
outline: none;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
.ace_dragging .ace_scroller:before{
|
|
310
|
-
position: absolute;
|
|
311
|
-
top: 0;
|
|
312
|
-
left: 0;
|
|
313
|
-
right: 0;
|
|
314
|
-
bottom: 0;
|
|
315
|
-
content: '';
|
|
316
|
-
background: rgba(250, 250, 250, 0.01);
|
|
317
|
-
z-index: 1000;
|
|
318
|
-
}
|
|
319
|
-
.ace_dragging.ace_dark .ace_scroller:before{
|
|
320
|
-
background: rgba(0, 0, 0, 0.01);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
.ace_gutter {
|
|
324
|
-
position: absolute;
|
|
325
|
-
overflow : hidden;
|
|
326
|
-
width: auto;
|
|
327
|
-
top: 0;
|
|
328
|
-
bottom: 0;
|
|
329
|
-
left: 0;
|
|
330
|
-
cursor: default;
|
|
331
|
-
z-index: 4;
|
|
332
|
-
-ms-user-select: none;
|
|
333
|
-
-moz-user-select: none;
|
|
334
|
-
-webkit-user-select: none;
|
|
335
|
-
user-select: none;
|
|
336
|
-
contain: style size layout;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
.ace_gutter-active-line {
|
|
340
|
-
position: absolute;
|
|
341
|
-
left: 0;
|
|
342
|
-
right: 0;
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
.ace_scroller.ace_scroll-left:after {
|
|
346
|
-
content: "";
|
|
347
|
-
position: absolute;
|
|
348
|
-
top: 0;
|
|
349
|
-
right: 0;
|
|
350
|
-
bottom: 0;
|
|
351
|
-
left: 0;
|
|
352
|
-
box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
|
|
353
|
-
pointer-events: none;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
.ace_gutter-cell, .ace_gutter-cell_svg-icons {
|
|
357
|
-
position: absolute;
|
|
358
|
-
top: 0;
|
|
359
|
-
left: 0;
|
|
360
|
-
right: 0;
|
|
361
|
-
padding-left: 19px;
|
|
362
|
-
padding-right: 6px;
|
|
363
|
-
background-repeat: no-repeat;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
.ace_gutter-cell_svg-icons .ace_gutter_annotation {
|
|
367
|
-
margin-left: -14px;
|
|
368
|
-
float: left;
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
.ace_gutter-cell .ace_gutter_annotation {
|
|
372
|
-
margin-left: -19px;
|
|
373
|
-
float: left;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
|
|
377
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");
|
|
378
|
-
background-repeat: no-repeat;
|
|
379
|
-
background-position: 2px center;
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
|
|
383
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");
|
|
384
|
-
background-repeat: no-repeat;
|
|
385
|
-
background-position: 2px center;
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
|
|
389
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
|
|
390
|
-
background-repeat: no-repeat;
|
|
391
|
-
background-position: 2px center;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
|
|
395
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
.ace_icon_svg.ace_error {
|
|
399
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
|
|
400
|
-
background-color: crimson;
|
|
401
|
-
}
|
|
402
|
-
.ace_icon_svg.ace_security {
|
|
403
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
|
|
404
|
-
background-color: crimson;
|
|
405
|
-
}
|
|
406
|
-
.ace_icon_svg.ace_warning {
|
|
407
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
|
|
408
|
-
background-color: darkorange;
|
|
409
|
-
}
|
|
410
|
-
.ace_icon_svg.ace_info {
|
|
411
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
|
|
412
|
-
background-color: royalblue;
|
|
413
|
-
}
|
|
414
|
-
.ace_icon_svg.ace_hint {
|
|
415
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
|
|
416
|
-
background-color: silver;
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
.ace_icon_svg.ace_error_fold {
|
|
420
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
|
421
|
-
background-color: crimson;
|
|
422
|
-
}
|
|
423
|
-
.ace_icon_svg.ace_security_fold {
|
|
424
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
|
425
|
-
background-color: crimson;
|
|
426
|
-
}
|
|
427
|
-
.ace_icon_svg.ace_warning_fold {
|
|
428
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
|
|
429
|
-
background-color: darkorange;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
.ace_scrollbar {
|
|
433
|
-
contain: strict;
|
|
434
|
-
position: absolute;
|
|
435
|
-
right: 0;
|
|
436
|
-
bottom: 0;
|
|
437
|
-
z-index: 6;
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
.ace_scrollbar-inner {
|
|
441
|
-
position: absolute;
|
|
442
|
-
cursor: text;
|
|
443
|
-
left: 0;
|
|
444
|
-
top: 0;
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
.ace_scrollbar-v{
|
|
448
|
-
overflow-x: hidden;
|
|
449
|
-
overflow-y: scroll;
|
|
450
|
-
top: 0;
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
.ace_scrollbar-h {
|
|
454
|
-
overflow-x: scroll;
|
|
455
|
-
overflow-y: hidden;
|
|
456
|
-
left: 0;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
.ace_print-margin {
|
|
460
|
-
position: absolute;
|
|
461
|
-
height: 100%;
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
.ace_text-input {
|
|
465
|
-
position: absolute;
|
|
466
|
-
z-index: 0;
|
|
467
|
-
width: 0.5em;
|
|
468
|
-
height: 1em;
|
|
469
|
-
opacity: 0;
|
|
470
|
-
background: transparent;
|
|
471
|
-
-moz-appearance: none;
|
|
472
|
-
appearance: none;
|
|
473
|
-
border: none;
|
|
474
|
-
resize: none;
|
|
475
|
-
outline: none;
|
|
476
|
-
overflow: hidden;
|
|
477
|
-
font: inherit;
|
|
478
|
-
padding: 0 1px;
|
|
479
|
-
margin: 0 -1px;
|
|
480
|
-
contain: strict;
|
|
481
|
-
-ms-user-select: text;
|
|
482
|
-
-moz-user-select: text;
|
|
483
|
-
-webkit-user-select: text;
|
|
484
|
-
user-select: text;
|
|
485
|
-
/*with \`pre-line\` chrome inserts instead of space*/
|
|
486
|
-
white-space: pre!important;
|
|
487
|
-
}
|
|
488
|
-
.ace_text-input.ace_composition {
|
|
489
|
-
background: transparent;
|
|
490
|
-
color: inherit;
|
|
491
|
-
z-index: 1000;
|
|
492
|
-
opacity: 1;
|
|
493
|
-
}
|
|
494
|
-
.ace_composition_placeholder { color: transparent }
|
|
495
|
-
.ace_composition_marker {
|
|
496
|
-
border-bottom: 1px solid;
|
|
497
|
-
position: absolute;
|
|
498
|
-
border-radius: 0;
|
|
499
|
-
margin-top: 1px;
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
[ace_nocontext=true] {
|
|
503
|
-
transform: none!important;
|
|
504
|
-
filter: none!important;
|
|
505
|
-
clip-path: none!important;
|
|
506
|
-
mask : none!important;
|
|
507
|
-
contain: none!important;
|
|
508
|
-
perspective: none!important;
|
|
509
|
-
mix-blend-mode: initial!important;
|
|
510
|
-
z-index: auto;
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
.ace_layer {
|
|
514
|
-
z-index: 1;
|
|
515
|
-
position: absolute;
|
|
516
|
-
overflow: hidden;
|
|
517
|
-
/* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
|
|
518
|
-
word-wrap: normal;
|
|
519
|
-
white-space: pre;
|
|
520
|
-
height: 100%;
|
|
521
|
-
width: 100%;
|
|
522
|
-
box-sizing: border-box;
|
|
523
|
-
/* setting pointer-events: auto; on node under the mouse, which changes
|
|
524
|
-
during scroll, will break mouse wheel scrolling in Safari */
|
|
525
|
-
pointer-events: none;
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
.ace_gutter-layer {
|
|
529
|
-
position: relative;
|
|
530
|
-
width: auto;
|
|
531
|
-
text-align: right;
|
|
532
|
-
pointer-events: auto;
|
|
533
|
-
height: 1000000px;
|
|
534
|
-
contain: style size layout;
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
.ace_text-layer {
|
|
538
|
-
font: inherit !important;
|
|
539
|
-
position: absolute;
|
|
540
|
-
height: 1000000px;
|
|
541
|
-
width: 1000000px;
|
|
542
|
-
contain: style size layout;
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
|
|
546
|
-
contain: style size layout;
|
|
547
|
-
position: absolute;
|
|
548
|
-
top: 0;
|
|
549
|
-
left: 0;
|
|
550
|
-
right: 0;
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
.ace_hidpi .ace_text-layer,
|
|
554
|
-
.ace_hidpi .ace_gutter-layer,
|
|
555
|
-
.ace_hidpi .ace_content,
|
|
556
|
-
.ace_hidpi .ace_gutter {
|
|
557
|
-
contain: strict;
|
|
558
|
-
}
|
|
559
|
-
.ace_hidpi .ace_text-layer > .ace_line,
|
|
560
|
-
.ace_hidpi .ace_text-layer > .ace_line_group {
|
|
561
|
-
contain: strict;
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
.ace_cjk {
|
|
565
|
-
display: inline-block;
|
|
566
|
-
text-align: center;
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
.ace_cursor-layer {
|
|
570
|
-
z-index: 4;
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
.ace_cursor {
|
|
574
|
-
z-index: 4;
|
|
575
|
-
position: absolute;
|
|
576
|
-
box-sizing: border-box;
|
|
577
|
-
border-left: 2px solid;
|
|
578
|
-
/* workaround for smooth cursor repaintng whole screen in chrome */
|
|
579
|
-
transform: translatez(0);
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
.ace_multiselect .ace_cursor {
|
|
583
|
-
border-left-width: 1px;
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
.ace_slim-cursors .ace_cursor {
|
|
587
|
-
border-left-width: 1px;
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
.ace_overwrite-cursors .ace_cursor {
|
|
591
|
-
border-left-width: 0;
|
|
592
|
-
border-bottom: 1px solid;
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
.ace_hidden-cursors .ace_cursor {
|
|
596
|
-
opacity: 0.2;
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
|
|
600
|
-
opacity: 0;
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
.ace_smooth-blinking .ace_cursor {
|
|
604
|
-
transition: opacity 0.18s;
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
.ace_animate-blinking .ace_cursor {
|
|
608
|
-
animation-duration: 1000ms;
|
|
609
|
-
animation-timing-function: step-end;
|
|
610
|
-
animation-name: blink-ace-animate;
|
|
611
|
-
animation-iteration-count: infinite;
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
.ace_animate-blinking.ace_smooth-blinking .ace_cursor {
|
|
615
|
-
animation-duration: 1000ms;
|
|
616
|
-
animation-timing-function: ease-in-out;
|
|
617
|
-
animation-name: blink-ace-animate-smooth;
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
@keyframes blink-ace-animate {
|
|
621
|
-
from, to { opacity: 1; }
|
|
622
|
-
60% { opacity: 0; }
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
@keyframes blink-ace-animate-smooth {
|
|
626
|
-
from, to { opacity: 1; }
|
|
627
|
-
45% { opacity: 1; }
|
|
628
|
-
60% { opacity: 0; }
|
|
629
|
-
85% { opacity: 0; }
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
|
|
633
|
-
position: absolute;
|
|
634
|
-
z-index: 3;
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
.ace_marker-layer .ace_selection {
|
|
638
|
-
position: absolute;
|
|
639
|
-
z-index: 5;
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
.ace_marker-layer .ace_bracket {
|
|
643
|
-
position: absolute;
|
|
644
|
-
z-index: 6;
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
.ace_marker-layer .ace_error_bracket {
|
|
648
|
-
position: absolute;
|
|
649
|
-
border-bottom: 1px solid #DE5555;
|
|
650
|
-
border-radius: 0;
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
.ace_marker-layer .ace_active-line {
|
|
654
|
-
position: absolute;
|
|
655
|
-
z-index: 2;
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
.ace_marker-layer .ace_selected-word {
|
|
659
|
-
position: absolute;
|
|
660
|
-
z-index: 4;
|
|
661
|
-
box-sizing: border-box;
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
.ace_line .ace_fold {
|
|
665
|
-
box-sizing: border-box;
|
|
666
|
-
|
|
667
|
-
display: inline-block;
|
|
668
|
-
height: 11px;
|
|
669
|
-
margin-top: -2px;
|
|
670
|
-
vertical-align: middle;
|
|
671
|
-
|
|
672
|
-
background-image:
|
|
673
|
-
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
|
674
|
-
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
|
|
675
|
-
background-repeat: no-repeat, repeat-x;
|
|
676
|
-
background-position: center center, top left;
|
|
677
|
-
color: transparent;
|
|
678
|
-
|
|
679
|
-
border: 1px solid black;
|
|
680
|
-
border-radius: 2px;
|
|
681
|
-
|
|
682
|
-
cursor: pointer;
|
|
683
|
-
pointer-events: auto;
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
.ace_dark .ace_fold {
|
|
687
|
-
}
|
|
688
|
-
|
|
689
|
-
.ace_fold:hover{
|
|
690
|
-
background-image:
|
|
691
|
-
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
|
692
|
-
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
.ace_tooltip {
|
|
696
|
-
background-color: #f5f5f5;
|
|
697
|
-
border: 1px solid gray;
|
|
698
|
-
border-radius: 1px;
|
|
699
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
700
|
-
color: black;
|
|
701
|
-
max-width: 100%;
|
|
702
|
-
padding: 3px 4px;
|
|
703
|
-
position: fixed;
|
|
704
|
-
z-index: 999999;
|
|
705
|
-
box-sizing: border-box;
|
|
706
|
-
cursor: default;
|
|
707
|
-
white-space: pre-wrap;
|
|
708
|
-
word-wrap: break-word;
|
|
709
|
-
line-height: normal;
|
|
710
|
-
font-style: normal;
|
|
711
|
-
font-weight: normal;
|
|
712
|
-
letter-spacing: normal;
|
|
713
|
-
pointer-events: none;
|
|
714
|
-
overflow: auto;
|
|
715
|
-
max-width: min(60em, 66vw);
|
|
716
|
-
overscroll-behavior: contain;
|
|
717
|
-
}
|
|
718
|
-
.ace_tooltip pre {
|
|
719
|
-
white-space: pre-wrap;
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
.ace_tooltip.ace_dark {
|
|
723
|
-
background-color: #636363;
|
|
724
|
-
color: #fff;
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
.ace_tooltip:focus {
|
|
728
|
-
outline: 1px solid #5E9ED6;
|
|
729
|
-
}
|
|
730
|
-
|
|
731
|
-
.ace_icon {
|
|
732
|
-
display: inline-block;
|
|
733
|
-
width: 18px;
|
|
734
|
-
vertical-align: top;
|
|
735
|
-
}
|
|
736
|
-
|
|
737
|
-
.ace_icon_svg {
|
|
738
|
-
display: inline-block;
|
|
739
|
-
width: 12px;
|
|
740
|
-
vertical-align: top;
|
|
741
|
-
-webkit-mask-repeat: no-repeat;
|
|
742
|
-
-webkit-mask-size: 12px;
|
|
743
|
-
-webkit-mask-position: center;
|
|
744
|
-
}
|
|
745
|
-
|
|
746
|
-
.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
|
|
747
|
-
padding-right: 13px;
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
.ace_fold-widget {
|
|
751
|
-
box-sizing: border-box;
|
|
752
|
-
|
|
753
|
-
margin: 0 -12px 0 1px;
|
|
754
|
-
display: none;
|
|
755
|
-
width: 11px;
|
|
756
|
-
vertical-align: top;
|
|
757
|
-
|
|
758
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
|
|
759
|
-
background-repeat: no-repeat;
|
|
760
|
-
background-position: center;
|
|
761
|
-
|
|
762
|
-
border-radius: 3px;
|
|
763
|
-
|
|
764
|
-
border: 1px solid transparent;
|
|
765
|
-
cursor: pointer;
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
.ace_folding-enabled .ace_fold-widget {
|
|
769
|
-
display: inline-block;
|
|
770
|
-
}
|
|
771
|
-
|
|
772
|
-
.ace_fold-widget.ace_end {
|
|
773
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
|
|
774
|
-
}
|
|
775
|
-
|
|
776
|
-
.ace_fold-widget.ace_closed {
|
|
777
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
.ace_fold-widget:hover {
|
|
781
|
-
border: 1px solid rgba(0, 0, 0, 0.3);
|
|
782
|
-
background-color: rgba(255, 255, 255, 0.2);
|
|
783
|
-
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
.ace_fold-widget:active {
|
|
787
|
-
border: 1px solid rgba(0, 0, 0, 0.4);
|
|
788
|
-
background-color: rgba(0, 0, 0, 0.05);
|
|
789
|
-
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
|
790
|
-
}
|
|
791
|
-
/**
|
|
792
|
-
* Dark version for fold widgets
|
|
793
|
-
*/
|
|
794
|
-
.ace_dark .ace_fold-widget {
|
|
795
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
|
|
796
|
-
}
|
|
797
|
-
.ace_dark .ace_fold-widget.ace_end {
|
|
798
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
|
|
799
|
-
}
|
|
800
|
-
.ace_dark .ace_fold-widget.ace_closed {
|
|
801
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
|
|
802
|
-
}
|
|
803
|
-
.ace_dark .ace_fold-widget:hover {
|
|
804
|
-
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
|
805
|
-
background-color: rgba(255, 255, 255, 0.1);
|
|
806
|
-
}
|
|
807
|
-
.ace_dark .ace_fold-widget:active {
|
|
808
|
-
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
|
809
|
-
}
|
|
810
|
-
|
|
811
|
-
.ace_inline_button {
|
|
812
|
-
border: 1px solid lightgray;
|
|
813
|
-
display: inline-block;
|
|
814
|
-
margin: -1px 8px;
|
|
815
|
-
padding: 0 5px;
|
|
816
|
-
pointer-events: auto;
|
|
817
|
-
cursor: pointer;
|
|
818
|
-
}
|
|
819
|
-
.ace_inline_button:hover {
|
|
820
|
-
border-color: gray;
|
|
821
|
-
background: rgba(200,200,200,0.2);
|
|
822
|
-
display: inline-block;
|
|
823
|
-
pointer-events: auto;
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
.ace_fold-widget.ace_invalid {
|
|
827
|
-
background-color: #FFB4B4;
|
|
828
|
-
border-color: #DE5555;
|
|
829
|
-
}
|
|
830
|
-
|
|
831
|
-
.ace_fade-fold-widgets .ace_fold-widget {
|
|
832
|
-
transition: opacity 0.4s ease 0.05s;
|
|
833
|
-
opacity: 0;
|
|
834
|
-
}
|
|
835
|
-
|
|
836
|
-
.ace_fade-fold-widgets:hover .ace_fold-widget {
|
|
837
|
-
transition: opacity 0.05s ease 0.05s;
|
|
838
|
-
opacity:1;
|
|
839
|
-
}
|
|
840
|
-
|
|
841
|
-
.ace_underline {
|
|
842
|
-
text-decoration: underline;
|
|
843
|
-
}
|
|
844
|
-
|
|
845
|
-
.ace_bold {
|
|
846
|
-
font-weight: bold;
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
.ace_nobold .ace_bold {
|
|
850
|
-
font-weight: normal;
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
.ace_italic {
|
|
854
|
-
font-style: italic;
|
|
855
|
-
}
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
.ace_error-marker {
|
|
859
|
-
background-color: rgba(255, 0, 0,0.2);
|
|
860
|
-
position: absolute;
|
|
861
|
-
z-index: 9;
|
|
862
|
-
}
|
|
863
|
-
|
|
864
|
-
.ace_highlight-marker {
|
|
865
|
-
background-color: rgba(255, 255, 0,0.2);
|
|
866
|
-
position: absolute;
|
|
867
|
-
z-index: 8;
|
|
868
|
-
}
|
|
869
|
-
|
|
870
|
-
.ace_mobile-menu {
|
|
871
|
-
position: absolute;
|
|
872
|
-
line-height: 1.5;
|
|
873
|
-
border-radius: 4px;
|
|
874
|
-
-ms-user-select: none;
|
|
875
|
-
-moz-user-select: none;
|
|
876
|
-
-webkit-user-select: none;
|
|
877
|
-
user-select: none;
|
|
878
|
-
background: white;
|
|
879
|
-
box-shadow: 1px 3px 2px grey;
|
|
880
|
-
border: 1px solid #dcdcdc;
|
|
881
|
-
color: black;
|
|
882
|
-
}
|
|
883
|
-
.ace_dark > .ace_mobile-menu {
|
|
884
|
-
background: #333;
|
|
885
|
-
color: #ccc;
|
|
886
|
-
box-shadow: 1px 3px 2px grey;
|
|
887
|
-
border: 1px solid #444;
|
|
888
|
-
|
|
889
|
-
}
|
|
890
|
-
.ace_mobile-button {
|
|
891
|
-
padding: 2px;
|
|
892
|
-
cursor: pointer;
|
|
893
|
-
overflow: hidden;
|
|
894
|
-
}
|
|
895
|
-
.ace_mobile-button:hover {
|
|
896
|
-
background-color: #eee;
|
|
897
|
-
opacity:1;
|
|
898
|
-
}
|
|
899
|
-
.ace_mobile-button:active {
|
|
900
|
-
background-color: #ddd;
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
.ace_placeholder {
|
|
904
|
-
position: relative;
|
|
905
|
-
font-family: arial;
|
|
906
|
-
transform: scale(0.9);
|
|
907
|
-
transform-origin: left;
|
|
908
|
-
white-space: pre;
|
|
909
|
-
opacity: 0.7;
|
|
910
|
-
margin: 0 10px;
|
|
911
|
-
z-index: 1;
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
.ace_ghost_text {
|
|
915
|
-
opacity: 0.5;
|
|
916
|
-
font-style: italic;
|
|
917
|
-
}
|
|
918
|
-
|
|
919
|
-
.ace_ghost_text_container > div {
|
|
920
|
-
white-space: pre;
|
|
921
|
-
}
|
|
922
|
-
|
|
923
|
-
.ghost_text_line_wrapped::after {
|
|
924
|
-
content: "↩";
|
|
925
|
-
position: absolute;
|
|
926
|
-
}
|
|
927
|
-
|
|
928
|
-
.ace_lineWidgetContainer.ace_ghost_text {
|
|
929
|
-
margin: 0px 4px
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
.ace_screenreader-only {
|
|
933
|
-
position:absolute;
|
|
934
|
-
left:-10000px;
|
|
935
|
-
top:auto;
|
|
936
|
-
width:1px;
|
|
937
|
-
height:1px;
|
|
938
|
-
overflow:hidden;
|
|
939
|
-
}
|
|
940
|
-
|
|
941
|
-
.ace_hidden_token {
|
|
942
|
-
display: none;
|
|
943
|
-
}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(k,x,z){var T=k("../lib/dom"),A=k("../lib/oop"),C=k("../lib/event_emitter").EventEmitter,l=function(){function u(r,o){this.canvas=T.createElement("canvas"),this.renderer=o,this.pixelRatio=1,this.maxHeight=o.layerConfig.maxHeight,this.lineHeight=o.layerConfig.lineHeight,this.canvasHeight=r.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=r.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},r.element.appendChild(this.canvas)}return u.prototype.$updateDecorators=function(r){var o=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(r){this.maxHeight=r.maxHeight,this.lineHeight=r.lineHeight,this.canvasHeight=r.height;var n=(r.lastRow+1)*this.lineHeight;n<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight}var t=this.canvas.getContext("2d");function e(R,f){return R.priority<f.priority?-1:R.priority>f.priority?1:0}var i=this.renderer.session.$annotations;if(t.clearRect(0,0,this.canvas.width,this.canvas.height),i){var s={info:1,warning:2,error:3};i.forEach(function(R){R.priority=s[R.type]||null}),i=i.sort(e);for(var c=this.renderer.session.$foldData,h=0;h<i.length;h++){var m=i[h].row,v=this.compensateFoldRows(m,c),p=Math.round((m-v)*this.lineHeight*this.heightRatio),g=Math.round((m-v)*this.lineHeight*this.heightRatio),w=Math.round(((m-v)*this.lineHeight+this.lineHeight)*this.heightRatio),M=w-g;if(M<this.minDecorationHeight){var S=(g+w)/2|0;S<this.halfMinDecorationHeight?S=this.halfMinDecorationHeight:S+this.halfMinDecorationHeight>this.canvasHeight&&(S=this.canvasHeight-this.halfMinDecorationHeight),g=Math.round(S-this.halfMinDecorationHeight),w=Math.round(S+this.halfMinDecorationHeight)}t.fillStyle=o[i[h].type]||null,t.fillRect(0,p,this.canvasWidth,w-g)}}var $=this.renderer.session.selection.getCursor();if($){var v=this.compensateFoldRows($.row,c),p=Math.round(($.row-v)*this.lineHeight*this.heightRatio);t.fillStyle="rgba(0, 0, 0, 0.5)",t.fillRect(0,p,this.canvasWidth,2)}},u.prototype.compensateFoldRows=function(r,o){var n=0;if(o&&o.length>0)for(var t=0;t<o.length;t++)r>o[t].start.row&&r<o[t].end.row?n+=r-o[t].start.row:r>=o[t].end.row&&(n+=o[t].end.row-o[t].start.row);return n},u}();A.implement(l.prototype,C),x.Decorator=l}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(k,x,z){var T=k("./lib/oop"),A=k("./lib/dom"),C=k("./lib/lang"),l=k("./config"),u=k("./layer/gutter").Gutter,r=k("./layer/marker").Marker,o=k("./layer/text").Text,n=k("./layer/cursor").Cursor,t=k("./scrollbar").HScrollBar,e=k("./scrollbar").VScrollBar,i=k("./scrollbar_custom").HScrollBar,s=k("./scrollbar_custom").VScrollBar,c=k("./renderloop").RenderLoop,h=k("./layer/font_metrics").FontMetrics,m=k("./lib/event_emitter").EventEmitter,v=k("./css/editor-css"),p=k("./layer/decorators").Decorator,g=k("./lib/useragent"),w=k("./layer/text_util").isTextToken;A.importCssString(v,"ace_editor.css",!1);var M=function(){function S($,R){var f=this;this.container=$||A.createElement("div"),A.addCssClass(this.container,"ace_editor"),A.HI_DPI&&A.addCssClass(this.container,"ace_hidpi"),this.setTheme(R),l.get("useStrictCSP")==null&&l.set("useStrictCSP",!1),this.$gutter=A.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=A.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=A.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new r(this.content);var a=this.$textLayer=new o(this.content);this.canvas=a.element,this.$markerFront=new r(this.content),this.$cursorLayer=new n(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.on("scroll",function(d){f.$scrollAnimation||f.session.setScrollTop(d.data-f.scrollMargin.top)}),this.scrollBarH.on("scroll",function(d){f.$scrollAnimation||f.session.setScrollLeft(d.data-f.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new h(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(d){f.updateCharacterSize(),f.onResize(!0,f.gutterWidth,f.$size.width,f.$size.height),f._signal("changeCharacterSize",d)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!g.isIOS,this.$loop=new c(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),l.resetOptions(this),l._signal("renderer",this)}return S.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),A.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},S.prototype.setSession=function($){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=$,$&&this.scrollMargin.top&&$.getScrollTop()<=0&&$.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession($),this.$markerBack.setSession($),this.$markerFront.setSession($),this.$gutterLayer.setSession($),this.$textLayer.setSession($),$&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},S.prototype.updateLines=function($,R,f){if(R===void 0&&(R=1/0),this.$changedLines?(this.$changedLines.firstRow>$&&(this.$changedLines.firstRow=$),this.$changedLines.lastRow<R&&(this.$changedLines.lastRow=R)):this.$changedLines={firstRow:$,lastRow:R},this.$changedLines.lastRow<this.layerConfig.firstRow)if(f)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},S.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},S.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},S.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},S.prototype.updateFull=function($){$?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},S.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},S.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},S.prototype.onResize=function($,R,f,a){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=$?1:0;var d=this.container;a||(a=d.clientHeight||d.scrollHeight),!a&&this.$maxLines&&this.lineHeight>1&&(!d.style.height||d.style.height=="0px")&&(d.style.height="1px",a=d.clientHeight||d.scrollHeight),f||(f=d.clientWidth||d.scrollWidth);var y=this.$updateCachedSize($,R,f,a);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!f&&!a)return this.resizing=0;$&&(this.$gutterLayer.$padding=null),$?this.$renderChanges(y|this.$changes,!0):this.$loop.schedule(y|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},S.prototype.$updateCachedSize=function($,R,f,a){a-=this.$extraHeight||0;var d=0,y=this.$size,b={width:y.width,height:y.height,scrollerHeight:y.scrollerHeight,scrollerWidth:y.scrollerWidth};if(a&&($||y.height!=a)&&(y.height=a,d|=this.CHANGE_SIZE,y.scrollerHeight=y.height,this.$horizScroll&&(y.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(y.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",d=d|this.CHANGE_SCROLL),f&&($||y.width!=f)){d|=this.CHANGE_SIZE,y.width=f,R==null&&(R=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=R,A.setStyle(this.scrollBarH.element.style,"left",R+"px"),A.setStyle(this.scroller.style,"left",R+this.margin.left+"px"),y.scrollerWidth=Math.max(0,f-R-this.scrollBarV.getWidth()-this.margin.h),A.setStyle(this.$gutter.style,"left",this.margin.left+"px");var L=this.scrollBarV.getWidth()+"px";A.setStyle(this.scrollBarH.element.style,"right",L),A.setStyle(this.scroller.style,"right",L),A.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(y.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||$)&&(d|=this.CHANGE_FULL)}return y.$dirty=!f||!a,d&&this._signal("resize",b),d},S.prototype.onGutterResize=function($){var R=this.$showGutter?$:0;R!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,R,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},S.prototype.adjustWrapLimit=function(){var $=this.$size.scrollerWidth-this.$padding*2,R=Math.floor($/this.characterWidth);return this.session.adjustWrapLimit(R,this.$showPrintMargin&&this.$printMarginColumn)},S.prototype.setAnimatedScroll=function($){this.setOption("animatedScroll",$)},S.prototype.getAnimatedScroll=function(){return this.$animatedScroll},S.prototype.setShowInvisibles=function($){this.setOption("showInvisibles",$),this.session.$bidiHandler.setShowInvisibles($)},S.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},S.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},S.prototype.setDisplayIndentGuides=function($){this.setOption("displayIndentGuides",$)},S.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},S.prototype.setHighlightIndentGuides=function($){this.setOption("highlightIndentGuides",$)},S.prototype.setShowPrintMargin=function($){this.setOption("showPrintMargin",$)},S.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},S.prototype.setPrintMarginColumn=function($){this.setOption("printMarginColumn",$)},S.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},S.prototype.getShowGutter=function(){return this.getOption("showGutter")},S.prototype.setShowGutter=function($){return this.setOption("showGutter",$)},S.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},S.prototype.setFadeFoldWidgets=function($){this.setOption("fadeFoldWidgets",$)},S.prototype.setHighlightGutterLine=function($){this.setOption("highlightGutterLine",$)},S.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},S.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var $=A.createElement("div");$.className="ace_layer ace_print-margin-layer",this.$printMarginEl=A.createElement("div"),this.$printMarginEl.className="ace_print-margin",$.appendChild(this.$printMarginEl),this.content.insertBefore($,this.content.firstChild)}var R=this.$printMarginEl.style;R.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",R.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},S.prototype.getContainerElement=function(){return this.container},S.prototype.getMouseEventTarget=function(){return this.scroller},S.prototype.getTextAreaContainer=function(){return this.container},S.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var $=this.textarea.style,R=this.$composition;if(!this.$keepTextAreaAtCursor&&!R){A.translate(this.textarea,-100,0);return}var f=this.$cursorLayer.$pixelPos;if(f){R&&R.markerRange&&(f=this.$cursorLayer.getPixelPosition(R.markerRange.start,!0));var a=this.layerConfig,d=f.top,y=f.left;d-=a.offset;var b=R&&R.useTextareaForIME||g.isMobile?this.lineHeight:1;if(d<0||d>a.height-b){A.translate(this.textarea,0,0);return}var L=1,E=this.$size.height-b;if(!R)d+=this.lineHeight;else if(R.useTextareaForIME){var _=this.textarea.value;L=this.characterWidth*this.session.$getStringScreenWidth(_)[0]}else d+=this.lineHeight+2;y-=this.scrollLeft,y>this.$size.scrollerWidth-L&&(y=this.$size.scrollerWidth-L),y+=this.gutterWidth+this.margin.left,A.setStyle($,"height",b+"px"),A.setStyle($,"width",L+"px"),A.translate(this.textarea,Math.min(y,this.$size.scrollerWidth-L),Math.min(d,E))}}},S.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},S.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},S.prototype.getLastFullyVisibleRow=function(){var $=this.layerConfig,R=$.lastRow,f=this.session.documentToScreenRow(R,0)*$.lineHeight;return f-this.session.getScrollTop()>$.height-$.lineHeight?R-1:R},S.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},S.prototype.setPadding=function($){this.$padding=$,this.$textLayer.setPadding($),this.$cursorLayer.setPadding($),this.$markerFront.setPadding($),this.$markerBack.setPadding($),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},S.prototype.setScrollMargin=function($,R,f,a){var d=this.scrollMargin;d.top=$|0,d.bottom=R|0,d.right=a|0,d.left=f|0,d.v=d.top+d.bottom,d.h=d.left+d.right,d.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-d.top),this.updateFull()},S.prototype.setMargin=function($,R,f,a){var d=this.margin;d.top=$|0,d.bottom=R|0,d.right=a|0,d.left=f|0,d.v=d.top+d.bottom,d.h=d.left+d.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},S.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},S.prototype.setHScrollBarAlwaysVisible=function($){this.setOption("hScrollBarAlwaysVisible",$)},S.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},S.prototype.setVScrollBarAlwaysVisible=function($){this.setOption("vScrollBarAlwaysVisible",$)},S.prototype.$updateScrollBarV=function(){var $=this.layerConfig.maxHeight,R=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&($-=(R-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>$-R&&($=this.scrollTop+R,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight($+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},S.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},S.prototype.freeze=function(){this.$frozen=!0},S.prototype.unfreeze=function(){this.$frozen=!1},S.prototype.$renderChanges=function($,R){if(this.$changes&&($|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!$&&!R){this.$changes|=$;return}if(this.$size.$dirty)return this.$changes|=$,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",$),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var f=this.layerConfig;if($&this.CHANGE_FULL||$&this.CHANGE_SIZE||$&this.CHANGE_TEXT||$&this.CHANGE_LINES||$&this.CHANGE_SCROLL||$&this.CHANGE_H_SCROLL){if($|=this.$computeLayerConfig()|this.$loop.clear(),f.firstRow!=this.layerConfig.firstRow&&f.firstRowScreen==this.layerConfig.firstRowScreen){var a=this.scrollTop+(f.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;a>0&&(this.scrollTop=a,$=$|this.CHANGE_SCROLL,$|=this.$computeLayerConfig()|this.$loop.clear())}f=this.layerConfig,this.$updateScrollBarV(),$&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),A.translate(this.content,-this.scrollLeft,-f.offset);var d=f.width+2*this.$padding+"px",y=f.minHeight+"px";A.setStyle(this.content.style,"width",d),A.setStyle(this.content.style,"height",y)}if($&this.CHANGE_H_SCROLL&&(A.translate(this.content,-this.scrollLeft,-f.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),$&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(f),this.$showGutter&&this.$gutterLayer.update(f),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(f),this.$markerBack.update(f),this.$markerFront.update(f),this.$cursorLayer.update(f),this.$moveTextAreaToCursor(),this._signal("afterRender",$);return}if($&this.CHANGE_SCROLL){this.$changedLines=null,$&this.CHANGE_TEXT||$&this.CHANGE_LINES?this.$textLayer.update(f):this.$textLayer.scrollLines(f),this.$showGutter&&($&this.CHANGE_GUTTER||$&this.CHANGE_LINES?this.$gutterLayer.update(f):this.$gutterLayer.scrollLines(f)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(f),this.$markerBack.update(f),this.$markerFront.update(f),this.$cursorLayer.update(f),this.$moveTextAreaToCursor(),this._signal("afterRender",$);return}$&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(f),this.$showGutter&&this.$gutterLayer.update(f),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(f)):$&this.CHANGE_LINES?((this.$updateLines()||$&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(f),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(f)):$&this.CHANGE_TEXT||$&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(f),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(f)):$&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(f),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(f)),$&this.CHANGE_CURSOR&&(this.$cursorLayer.update(f),this.$moveTextAreaToCursor()),$&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(f),$&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(f),this._signal("afterRender",$)},S.prototype.$autosize=function(){var $=this.session.getScreenLength()*this.lineHeight,R=this.$maxLines*this.lineHeight,f=Math.min(R,Math.max((this.$minLines||1)*this.lineHeight,$))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(f+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&f>this.$maxPixelHeight&&(f=this.$maxPixelHeight);var a=f<=2*this.lineHeight,d=!a&&$>R;if(f!=this.desiredHeight||this.$size.height!=this.desiredHeight||d!=this.$vScroll){d!=this.$vScroll&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var y=this.container.clientWidth;this.container.style.height=f+"px",this.$updateCachedSize(!0,this.$gutterWidth,y,f),this.desiredHeight=f,this._signal("autosize")}},S.prototype.$computeLayerConfig=function(){var $=this.session,R=this.$size,f=R.height<=2*this.lineHeight,a=this.session.getScreenLength(),d=a*this.lineHeight,y=this.$getLongestLine(),b=!f&&(this.$hScrollBarAlwaysVisible||R.scrollerWidth-y-2*this.$padding<0),L=this.$horizScroll!==b;L&&(this.$horizScroll=b,this.scrollBarH.setVisible(b));var E=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),f=R.height<=2*this.lineHeight);var _=R.scrollerHeight+this.lineHeight,I=!this.$maxLines&&this.$scrollPastEnd?(R.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;d+=I;var O=this.scrollMargin;this.session.setScrollTop(Math.max(-O.top,Math.min(this.scrollTop,d-R.scrollerHeight+O.bottom))),this.session.setScrollLeft(Math.max(-O.left,Math.min(this.scrollLeft,y+2*this.$padding-R.scrollerWidth+O.right)));var W=!f&&(this.$vScrollBarAlwaysVisible||R.scrollerHeight-d+I<0||this.scrollTop>O.top),D=E!==W;D&&(this.$vScroll=W,this.scrollBarV.setVisible(W));var N=this.scrollTop%this.lineHeight,H=Math.ceil(_/this.lineHeight)-1,F=Math.max(0,Math.round((this.scrollTop-N)/this.lineHeight)),P=F+H,j,V,U=this.lineHeight;F=$.screenToDocumentRow(F,0);var K=$.getFoldLine(F);K&&(F=K.start.row),j=$.documentToScreenRow(F,0),V=$.getRowLength(F)*U,P=Math.min($.screenToDocumentRow(P,0),$.getLength()-1),_=R.scrollerHeight+$.getRowLength(P)*U+V,N=this.scrollTop-j*U;var J=0;return(this.layerConfig.width!=y||L)&&(J=this.CHANGE_H_SCROLL),(L||D)&&(J|=this.$updateCachedSize(!0,this.gutterWidth,R.width,R.height),this._signal("scrollbarVisibilityChanged"),D&&(y=this.$getLongestLine())),this.layerConfig={width:y,padding:this.$padding,firstRow:F,firstRowScreen:j,lastRow:P,lineHeight:U,characterWidth:this.characterWidth,minHeight:_,maxHeight:d,offset:N,gutterOffset:U?Math.max(0,Math.ceil((N+R.height-R.scrollerHeight)/U)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(y-this.$padding),J},S.prototype.$updateLines=function(){if(this.$changedLines){var $=this.$changedLines.firstRow,R=this.$changedLines.lastRow;this.$changedLines=null;var f=this.layerConfig;if(!($>f.lastRow+1)&&!(R<f.firstRow)){if(R===1/0){this.$showGutter&&this.$gutterLayer.update(f),this.$textLayer.update(f);return}return this.$textLayer.updateLines(f,$,R),!0}}},S.prototype.$getLongestLine=function(){var $=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&($+=1),this.$textLayer&&$>this.$textLayer.MAX_LINE_LENGTH&&($=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round($*this.characterWidth))},S.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},S.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},S.prototype.addGutterDecoration=function($,R){this.$gutterLayer.addGutterDecoration($,R)},S.prototype.removeGutterDecoration=function($,R){this.$gutterLayer.removeGutterDecoration($,R)},S.prototype.updateBreakpoints=function($){this._rows=$,this.$loop.schedule(this.CHANGE_GUTTER)},S.prototype.setAnnotations=function($){this.$gutterLayer.setAnnotations($),this.$loop.schedule(this.CHANGE_GUTTER)},S.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},S.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},S.prototype.showCursor=function(){this.$cursorLayer.showCursor()},S.prototype.scrollSelectionIntoView=function($,R,f){this.scrollCursorIntoView($,f),this.scrollCursorIntoView(R,f)},S.prototype.scrollCursorIntoView=function($,R,f){if(this.$size.scrollerHeight!==0){var a=this.$cursorLayer.getPixelPosition($),d=a.left,y=a.top,b=f&&f.top||0,L=f&&f.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var E=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;E+b>y?(R&&E+b>y+this.lineHeight&&(y-=R*this.$size.scrollerHeight),y===0&&(y=-this.scrollMargin.top),this.session.setScrollTop(y)):E+this.$size.scrollerHeight-L<y+this.lineHeight&&(R&&E+this.$size.scrollerHeight-L<y-this.lineHeight&&(y+=R*this.$size.scrollerHeight),this.session.setScrollTop(y+this.lineHeight+L-this.$size.scrollerHeight));var _=this.scrollLeft,I=2*this.layerConfig.characterWidth;d-I<_?(d-=I,d<this.$padding+I&&(d=-this.scrollMargin.left),this.session.setScrollLeft(d)):(d+=I,_+this.$size.scrollerWidth<d+this.characterWidth?this.session.setScrollLeft(Math.round(d+this.characterWidth-this.$size.scrollerWidth)):_<=this.$padding&&d-_<this.characterWidth&&this.session.setScrollLeft(0))}},S.prototype.getScrollTop=function(){return this.session.getScrollTop()},S.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},S.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},S.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},S.prototype.scrollToRow=function($){this.session.setScrollTop($*this.lineHeight)},S.prototype.alignCursor=function($,R){typeof $=="number"&&($={row:$,column:0});var f=this.$cursorLayer.getPixelPosition($),a=this.$size.scrollerHeight-this.lineHeight,d=f.top-a*(R||0);return this.session.setScrollTop(d),d},S.prototype.$calcSteps=function($,R){var f=0,a=this.STEPS,d=[],y=function(b,L,E){return E*(Math.pow(b-1,3)+1)+L};for(f=0;f<a;++f)d.push(y(f/this.STEPS,$,R-$));return d},S.prototype.scrollToLine=function($,R,f,a){var d=this.$cursorLayer.getPixelPosition({row:$,column:0}),y=d.top;R&&(y-=this.$size.scrollerHeight/2);var b=this.scrollTop;this.session.setScrollTop(y),f!==!1&&this.animateScrolling(b,a)},S.prototype.animateScrolling=function($,R){var f=this.scrollTop;if(!this.$animatedScroll)return;var a=this;if($==f)return;if(this.$scrollAnimation){var d=this.$scrollAnimation.steps;if(d.length&&($=d[0],$==f))return}var y=a.$calcSteps($,f);this.$scrollAnimation={from:$,to:f,steps:y},clearInterval(this.$timer),a.session.setScrollTop(y.shift()),a.session.$scrollTop=f;function b(){a.$timer=clearInterval(a.$timer),a.$scrollAnimation=null,a.$stopAnimation=!1,R&&R()}this.$timer=setInterval(function(){if(a.$stopAnimation){b();return}if(!a.session)return clearInterval(a.$timer);y.length?(a.session.setScrollTop(y.shift()),a.session.$scrollTop=f):f!=null?(a.session.$scrollTop=-1,a.session.setScrollTop(f),f=null):b()},10)},S.prototype.scrollToY=function($){this.scrollTop!==$&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=$)},S.prototype.scrollToX=function($){this.scrollLeft!==$&&(this.scrollLeft=$),this.$loop.schedule(this.CHANGE_H_SCROLL)},S.prototype.scrollTo=function($,R){this.session.setScrollTop(R),this.session.setScrollLeft($)},S.prototype.scrollBy=function($,R){R&&this.session.setScrollTop(this.session.getScrollTop()+R),$&&this.session.setScrollLeft(this.session.getScrollLeft()+$)},S.prototype.isScrollableBy=function($,R){if(R<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||R>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||$<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||$>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},S.prototype.pixelToScreenCoordinates=function($,R){var f;if(this.$hasCssTransforms){f={top:0,left:0};var a=this.$fontMetrics.transformCoordinates([$,R]);$=a[1]-this.gutterWidth-this.margin.left,R=a[0]}else f=this.scroller.getBoundingClientRect();var d=$+this.scrollLeft-f.left-this.$padding,y=d/this.characterWidth,b=Math.floor((R+this.scrollTop-f.top)/this.lineHeight),L=this.$blockCursor?Math.floor(y):Math.round(y);return{row:b,column:L,side:y-L>0?1:-1,offsetX:d}},S.prototype.screenToTextCoordinates=function($,R){var f;if(this.$hasCssTransforms){f={top:0,left:0};var a=this.$fontMetrics.transformCoordinates([$,R]);$=a[1]-this.gutterWidth-this.margin.left,R=a[0]}else f=this.scroller.getBoundingClientRect();var d=$+this.scrollLeft-f.left-this.$padding,y=d/this.characterWidth,b=this.$blockCursor?Math.floor(y):Math.round(y),L=Math.floor((R+this.scrollTop-f.top)/this.lineHeight);return this.session.screenToDocumentPosition(L,Math.max(b,0),d)},S.prototype.textToScreenCoordinates=function($,R){var f=this.scroller.getBoundingClientRect(),a=this.session.documentToScreenPosition($,R),d=this.$padding+(this.session.$bidiHandler.isBidiRow(a.row,$)?this.session.$bidiHandler.getPosLeft(a.column):Math.round(a.column*this.characterWidth)),y=a.row*this.lineHeight;return{pageX:f.left+d-this.scrollLeft,pageY:f.top+y-this.scrollTop}},S.prototype.visualizeFocus=function(){A.addCssClass(this.container,"ace_focus")},S.prototype.visualizeBlur=function(){A.removeCssClass(this.container,"ace_focus")},S.prototype.showComposition=function($){this.$composition=$,$.cssText||($.cssText=this.textarea.style.cssText),$.useTextareaForIME==null&&($.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(A.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):$.markerId=this.session.addMarker($.markerRange,"ace_composition_marker","text")},S.prototype.setCompositionText=function($){var R=this.session.selection.cursor;this.addToken($,"composition_placeholder",R.row,R.column),this.$moveTextAreaToCursor()},S.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),A.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var $=this.session.selection.cursor;this.removeExtraToken($.row,$.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},S.prototype.setGhostText=function($,R){var f=this.session.selection.cursor,a=R||{row:f.row,column:f.column};this.removeGhostText();var d=this.$calculateWrappedTextChunks($,a);this.addToken(d[0].text,"ghost_text",a.row,a.column),this.$ghostText={text:$,position:{row:a.row,column:a.column}};var y=A.createElement("div");if(d.length>1){var b=this.hideTokensAfterPosition(a.row,a.column),L;d.slice(1).forEach(function(D){var N=A.createElement("div"),H=A.createElement("span");H.className="ace_ghost_text",D.wrapped&&(N.className="ghost_text_line_wrapped"),D.text.length===0&&(D.text=" "),H.appendChild(A.createTextNode(D.text)),N.appendChild(H),y.appendChild(N),L=N}),b.forEach(function(D){var N=A.createElement("span");w(D.type)||(N.className="ace_"+D.type.replace(/\./g," ace_")),N.appendChild(A.createTextNode(D.value)),L.appendChild(N)}),this.$ghostTextWidget={el:y,row:a.row,column:a.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var E=this.$cursorLayer.getPixelPosition(a,!0),_=this.container,I=_.getBoundingClientRect().height,O=d.length*this.lineHeight,W=O<I-E.top;if(W)return;O<I?this.scrollBy(0,(d.length-1)*this.lineHeight):this.scrollToRow(a.row)}},S.prototype.$calculateWrappedTextChunks=function($,R){var f=this.$size.scrollerWidth-this.$padding*2,a=Math.floor(f/this.characterWidth)-2;a=a<=0?60:a;for(var d=$.split(/\r?\n/),y=[],b=0;b<d.length;b++){var L=this.session.$getDisplayTokens(d[b],R.column),E=this.session.$computeWrapSplits(L,a,this.session.$tabSize);if(E.length>0){var _=0;E.push(d[b].length);for(var I=0;I<E.length;I++){var O=d[b].slice(_,E[I]);y.push({text:O,wrapped:!0}),_=E[I]}}else y.push({text:d[b],wrapped:!1})}return y},S.prototype.removeGhostText=function(){if(this.$ghostText){var $=this.$ghostText.position;this.removeExtraToken($.row,$.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},S.prototype.addToken=function($,R,f,a){var d=this.session;d.bgTokenizer.lines[f]=null;var y={type:R,value:$},b=d.getTokens(f);if(a==null||!b.length)b.push(y);else for(var L=0,E=0;E<b.length;E++){var _=b[E];if(L+=_.value.length,a<=L){var I=_.value.length-(L-a),O=_.value.slice(0,I),W=_.value.slice(I);b.splice(E,1,{type:_.type,value:O},y,{type:_.type,value:W});break}}this.updateLines(f,f)},S.prototype.hideTokensAfterPosition=function($,R){for(var f=this.session.getTokens($),a=0,d=!1,y=[],b=0;b<f.length;b++){var L=f[b];if(a+=L.value.length,L.type!=="ghost_text"){if(d){y.push({type:L.type,value:L.value}),L.type="hidden_token";continue}a===R&&(d=!0)}}return this.updateLines($,$),y},S.prototype.removeExtraToken=function($,R){this.session.bgTokenizer.lines[$]=null,this.updateLines($,$)},S.prototype.setTheme=function($,R){var f=this;if(this.$themeId=$,f._dispatchEvent("themeChange",{theme:$}),!$||typeof $=="string"){var a=$||this.$options.theme.initialValue;l.loadModule(["theme",a],d)}else d($);function d(y){if(f.$themeId!=$)return R&&R();if(!y||!y.cssClass)throw new Error("couldn't load module "+$+" or it didn't call define");y.$id&&(f.$themeId=y.$id),A.importCssString(y.cssText,y.cssClass,f.container),f.theme&&A.removeCssClass(f.container,f.theme.cssClass);var b="padding"in y?y.padding:"padding"in(f.theme||{})?4:f.$padding;f.$padding&&b!=f.$padding&&f.setPadding(b),f.$theme=y.cssClass,f.theme=y,A.addCssClass(f.container,y.cssClass),A.setCssClass(f.container,"ace_dark",y.isDark),f.$size&&(f.$size.width=0,f.$updateSizeAsync()),f._dispatchEvent("themeLoaded",{theme:y}),R&&R(),g.isSafari&&f.scroller&&(f.scroller.style.background="red",f.scroller.style.background="")}},S.prototype.getTheme=function(){return this.$themeId},S.prototype.setStyle=function($,R){A.setCssClass(this.container,$,R!==!1)},S.prototype.unsetStyle=function($){A.removeCssClass(this.container,$)},S.prototype.setCursorStyle=function($){A.setStyle(this.scroller.style,"cursor",$)},S.prototype.setMouseCursor=function($){A.setStyle(this.scroller.style,"cursor",$)},S.prototype.attachToShadowRoot=function(){A.importCssString(v,"ace_editor.css",this.container)},S.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},S.prototype.$updateCustomScrollbar=function($){var R=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,$===!0?(this.scrollBarV=new s(this.container,this),this.scrollBarH=new i(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(f){R.$scrollAnimation||R.session.setScrollTop(f.data-R.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(f){R.$scrollAnimation||R.session.setScrollLeft(f.data-R.scrollMargin.left)}),this.$scrollDecorator=new p(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.addEventListener("scroll",function(f){R.$scrollAnimation||R.session.setScrollTop(f.data-R.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(f){R.$scrollAnimation||R.session.setScrollLeft(f.data-R.scrollMargin.left)}))},S.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var $=this;this.$resizeTimer=C.delayedCall(function(){$.destroyed||$.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(R){var f=R[0].contentRect.width,a=R[0].contentRect.height;Math.abs($.$size.width-f)>1||Math.abs($.$size.height-a)>1?$.$resizeTimer.delay():$.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},S}();M.prototype.CHANGE_CURSOR=1,M.prototype.CHANGE_MARKER=2,M.prototype.CHANGE_GUTTER=4,M.prototype.CHANGE_SCROLL=8,M.prototype.CHANGE_LINES=16,M.prototype.CHANGE_TEXT=32,M.prototype.CHANGE_SIZE=64,M.prototype.CHANGE_MARKER_BACK=128,M.prototype.CHANGE_MARKER_FRONT=256,M.prototype.CHANGE_FULL=512,M.prototype.CHANGE_H_SCROLL=1024,M.prototype.$changes=0,M.prototype.$padding=null,M.prototype.$frozen=!1,M.prototype.STEPS=8,T.implement(M.prototype,m),l.defineOptions(M.prototype,"renderer",{useResizeObserver:{set:function(S){!S&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):S&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(S){this.$textLayer.setShowInvisibles(S)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(S){typeof S=="number"&&(this.$printMarginColumn=S),this.$showPrintMargin=!!S,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(S){this.$gutter.style.display=S?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(S){this.$gutterLayer.$useSvgGutterIcons=S},initialValue:!1},showFoldedAnnotations:{set:function(S){this.$gutterLayer.$showFoldedAnnotations=S},initialValue:!1},fadeFoldWidgets:{set:function(S){A.setCssClass(this.$gutter,"ace_fade-fold-widgets",S)},initialValue:!1},showFoldWidgets:{set:function(S){this.$gutterLayer.setShowFoldWidgets(S),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(S){this.$textLayer.setDisplayIndentGuides(S)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(S){this.$textLayer.setHighlightIndentGuides(S)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(S){this.$gutterLayer.setHighlightGutterLine(S),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(S){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(S){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(S){typeof S=="number"&&(S=S+"px"),this.container.style.fontSize=S,this.updateFontSize()},initialValue:12},fontFamily:{set:function(S){this.container.style.fontFamily=S,this.updateFontSize()}},maxLines:{set:function(S){this.updateFull()}},minLines:{set:function(S){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(S){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(S){S=+S||0,this.$scrollPastEnd!=S&&(this.$scrollPastEnd=S,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(S){this.$gutterLayer.$fixedWidth=!!S,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(S){this.$updateCustomScrollbar(S)},initialValue:!1},theme:{set:function(S){this.setTheme(S)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!g.isMobile&&!g.isIE}}),x.VirtualRenderer=M}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(k,x,z){var T=k("../lib/oop"),A=k("../lib/net"),C=k("../lib/event_emitter").EventEmitter,l=k("../config");function u(t){var e="importScripts('"+A.qualifyURL(t)+"');";try{return new Blob([e],{type:"application/javascript"})}catch{var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new i;return s.append(e),s.getBlob("application/javascript")}}function r(t){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(l.get("loadWorkerFromBlob")){var e=u(t),i=window.URL||window.webkitURL,s=i.createObjectURL(e);return new Worker(s)}return new Worker(t)}var o=function(t){t.postMessage||(t=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=t,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){T.implement(this,C),this.$createWorkerFromOldConfig=function(t,e,i,s,c){if(k.nameToUrl&&!k.toUrl&&(k.toUrl=k.nameToUrl),l.get("packaged")||!k.toUrl)s=s||l.moduleUrl(e,"worker");else{var h=this.$normalizePath;s=s||h(k.toUrl("ace/worker/worker.js",null,"_"));var m={};t.forEach(function(v){m[v]=h(k.toUrl(v,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=r(s),c&&this.send("importScripts",c),this.$worker.postMessage({init:!0,tlns:m,module:e,classname:i}),this.$worker},this.onMessage=function(t){var e=t.data;switch(e.type){case"event":this._signal(e.name,{data:e.data});break;case"call":var i=this.callbacks[e.id];i&&(i(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console&&console.log&&console.log.apply(console,e.data);break}},this.reportError=function(t){window.console&&console.error&&console.error(t)},this.$normalizePath=function(t){return A.qualifyURL(t)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(t){t.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(t,e){this.$worker.postMessage({command:t,args:e})},this.call=function(t,e,i){if(i){var s=this.callbackId++;this.callbacks[s]=i,e.push(s)}this.send(t,e)},this.emit=function(t,e){try{e.data&&e.data.err&&(e.data.err={message:e.data.err.message,stack:e.data.err.stack,code:e.data.err.code}),this.$worker&&this.$worker.postMessage({event:t,data:{data:e.data}})}catch(i){console.error(i.stack)}},this.attachToDocument=function(t){this.$doc&&this.terminate(),this.$doc=t,this.call("setValue",[t.getValue()]),t.on("change",this.changeListener,!0)},this.changeListener=function(t){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),t.action=="insert"?this.deltaQueue.push(t.start,t.lines):this.deltaQueue.push(t.start,t.end)},this.$sendDeltaQueue=function(){var t=this.deltaQueue;t&&(this.deltaQueue=null,t.length>50&&t.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:t}))}}).call(o.prototype);var n=function(t,e,i){var s=null,c=!1,h=Object.create(C),m=[],v=new o({messageBuffer:m,terminate:function(){},postMessage:function(g){m.push(g),s&&(c?setTimeout(p):p())}});v.setEmitSync=function(g){c=g};var p=function(){var g=m.shift();g.command?s[g.command].apply(s,g.args):g.event&&h._signal(g.event,g.data)};return h.postMessage=function(g){v.onMessage({data:g})},h.callback=function(g,w){this.postMessage({type:"call",id:w,data:g})},h.emit=function(g,w){this.postMessage({type:"event",name:g,data:w})},l.loadModule(["worker",e],function(g){for(s=new g[i](h);m.length;)p()}),v};x.UIWorkerClient=n,x.WorkerClient=o,x.createWorker=r}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(k,x,z){var T=k("./range").Range,A=k("./lib/event_emitter").EventEmitter,C=k("./lib/oop"),l=function(){function u(r,o,n,t,e,i){var s=this;this.length=o,this.session=r,this.doc=r.getDocument(),this.mainClass=e,this.othersClass=i,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=t,this.$onCursorChange=function(){setTimeout(function(){s.onCursorChange()})},this.$pos=n;var c=r.getUndoManager().$undoStack||r.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=c.length,this.setup(),r.selection.on("changeCursor",this.$onCursorChange)}return u.prototype.setup=function(){var r=this,o=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=o.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=n.addMarker(new T(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var i=o.createAnchor(e.row,e.column);i.$insertRight=!0,i.detach(),r.others.push(i)}),n.setUndoSelect(!1)},u.prototype.showOtherMarkers=function(){if(!this.othersActive){var r=this.session,o=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=r.addMarker(new T(n.row,n.column,n.row,n.column+o.length),o.othersClass,null,!1)})}},u.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var r=0;r<this.others.length;r++)this.session.removeMarker(this.others[r].markerId)}},u.prototype.onUpdate=function(r){if(this.$updating)return this.updateAnchors(r);var o=r;if(o.start.row===o.end.row&&o.start.row===this.pos.row){this.$updating=!0;var n=r.action==="insert"?o.end.column-o.start.column:o.start.column-o.end.column,t=o.start.column>=this.pos.column&&o.start.column<=this.pos.column+this.length+1,e=o.start.column-this.pos.column;if(this.updateAnchors(r),t&&(this.length+=n),t&&!this.session.$fromUndo){if(r.action==="insert")for(var i=this.others.length-1;i>=0;i--){var s=this.others[i],c={row:s.row,column:s.column+e};this.doc.insertMergedLines(c,r.lines)}else if(r.action==="remove")for(var i=this.others.length-1;i>=0;i--){var s=this.others[i],c={row:s.row,column:s.column+e};this.doc.remove(new T(c.row,c.column,c.row,c.column-n))}}this.$updating=!1,this.updateMarkers()}},u.prototype.updateAnchors=function(r){this.pos.onChange(r);for(var o=this.others.length;o--;)this.others[o].onChange(r);this.updateMarkers()},u.prototype.updateMarkers=function(){if(!this.$updating){var r=this,o=this.session,n=function(e,i){o.removeMarker(e.markerId),e.markerId=o.addMarker(new T(e.row,e.column,e.row,e.column+r.length),i,null,!1)};n(this.pos,this.mainClass);for(var t=this.others.length;t--;)n(this.others[t],this.othersClass)}},u.prototype.onCursorChange=function(r){if(!(this.$updating||!this.session)){var o=this.session.selection.getCursor();o.row===this.pos.row&&o.column>=this.pos.column&&o.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",r)):(this.hideOtherMarkers(),this._emit("cursorLeave",r))}},u.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},u.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var r=this.session.getUndoManager(),o=(r.$undoStack||r.$undostack).length-this.$undoStackDepth,n=0;n<o;n++)r.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},u}();C.implement(l.prototype,A),x.PlaceHolder=l}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(k,x,z){var T=k("../lib/event"),A=k("../lib/useragent");function C(u,r){return u.row==r.row&&u.column==r.column}function l(u){var r=u.domEvent,o=r.altKey,n=r.shiftKey,t=r.ctrlKey,e=u.getAccelKey(),i=u.getButton();if(t&&A.isMac&&(i=r.button),u.editor.inMultiSelectMode&&i==2){u.editor.textInput.onContextMenu(u.domEvent);return}if(!t&&!o&&!e){i===0&&u.editor.inMultiSelectMode&&u.editor.exitMultiSelectMode();return}if(i===0){var s=u.editor,c=s.selection,h=s.inMultiSelectMode,m=u.getDocumentPosition(),v=c.getCursor(),p=u.inSelection()||c.isEmpty()&&C(m,v),g=u.x,w=u.y,M=function(O){g=O.clientX,w=O.clientY},S=s.session,$=s.renderer.pixelToScreenCoordinates(g,w),R=$,f;if(s.$mouseHandler.$enableJumpToDef)t&&o||e&&o?f=n?"block":"add":o&&s.$blockSelectEnabled&&(f="block");else if(e&&!o){if(f="add",!h&&n)return}else o&&s.$blockSelectEnabled&&(f="block");if(f&&A.isMac&&r.ctrlKey&&s.$mouseHandler.cancelContextMenu(),f=="add"){if(!h&&p)return;if(!h){var a=c.toOrientedRange();s.addSelectionMarker(a)}var d=c.rangeList.rangeAtPoint(m);s.inVirtualSelectionMode=!0,n&&(d=null,a=c.ranges[0]||a,s.removeSelectionMarker(a)),s.once("mouseup",function(){var O=c.toOrientedRange();d&&O.isEmpty()&&C(d.cursor,O.cursor)?c.substractPoint(O.cursor):(n?c.substractPoint(a.cursor):a&&(s.removeSelectionMarker(a),c.addRange(a)),c.addRange(O)),s.inVirtualSelectionMode=!1})}else if(f=="block"){u.stop(),s.inVirtualSelectionMode=!0;var y,b=[],L=function(){var O=s.renderer.pixelToScreenCoordinates(g,w),W=S.screenToDocumentPosition(O.row,O.column,O.offsetX);C(R,O)&&C(W,c.lead)||(R=O,s.selection.moveToPosition(W),s.renderer.scrollCursorIntoView(),s.removeSelectionMarkers(b),b=c.rectangularRangeBlock(R,$),s.$mouseHandler.$clickSelection&&b.length==1&&b[0].isEmpty()&&(b[0]=s.$mouseHandler.$clickSelection.clone()),b.forEach(s.addSelectionMarker,s),s.updateSelectionMarkers())};h&&!e?c.toSingleRange():!h&&e&&(y=c.toOrientedRange(),s.addSelectionMarker(y)),n?$=S.documentToScreenPosition(c.lead):c.moveToPosition(m),R={row:-1,column:-1};var E=function(O){L(),clearInterval(I),s.removeSelectionMarkers(b),b.length||(b=[c.toOrientedRange()]),y&&(s.removeSelectionMarker(y),c.toSingleRange(y));for(var W=0;W<b.length;W++)c.addRange(b[W]);s.inVirtualSelectionMode=!1,s.$mouseHandler.$clickSelection=null},_=L;T.capture(s.container,M,E);var I=setInterval(function(){_()},20);return u.preventDefault()}}}x.onMouseDown=l}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(k,x,z){x.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(A){A.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(A){A.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(A){A.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(A){A.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(A){A.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(A){A.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(A){A.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(A){A.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(A){A.multiSelect.rangeCount>1?A.multiSelect.joinSelections():A.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(A){A.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(A){A.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(A){A.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],x.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(A){A.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(A){return A&&A.inMultiSelectMode}}];var T=k("../keyboard/hash_handler").HashHandler;x.keyboardHandler=new T(x.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(k,x,z){var T=k("./range_list").RangeList,A=k("./range").Range,C=k("./selection").Selection,l=k("./mouse/multi_select_handler").onMouseDown,u=k("./lib/event"),r=k("./lib/lang"),o=k("./commands/multi_select_commands");x.commands=o.defaultCommands.concat(o.multiSelectCommands);var n=k("./search").Search,t=new n;function e(v,p,g){return t.$options.wrap=!0,t.$options.needle=p,t.$options.backwards=g==-1,t.find(v)}var i=k("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(i.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(v,p){if(v){if(!this.inMultiSelectMode&&this.rangeCount===0){var g=this.toOrientedRange();if(this.rangeList.add(g),this.rangeList.add(v),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),p||this.fromOrientedRange(v);this.rangeList.removeAll(),this.rangeList.add(g),this.$onAddRange(g)}v.cursor||(v.cursor=v.end);var w=this.rangeList.add(v);return this.$onAddRange(v),w.length&&this.$onRemoveRange(w),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),p||this.fromOrientedRange(v)}},this.toSingleRange=function(v){v=v||this.ranges[0];var p=this.rangeList.removeAll();p.length&&this.$onRemoveRange(p),v&&this.fromOrientedRange(v)},this.substractPoint=function(v){var p=this.rangeList.substractPoint(v);if(p)return this.$onRemoveRange(p),p[0]},this.mergeOverlappingRanges=function(){var v=this.rangeList.merge();v.length&&this.$onRemoveRange(v)},this.$onAddRange=function(v){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(v),this._signal("addRange",{range:v})},this.$onRemoveRange=function(v){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var p=this.rangeList.ranges.pop();v.push(p),this.rangeCount=0}for(var g=v.length;g--;){var w=this.ranges.indexOf(v[g]);this.ranges.splice(w,1)}this._signal("removeRange",{ranges:v}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),p=p||this.ranges[0],p&&!p.isEqual(this.getRange())&&this.fromOrientedRange(p)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new T,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var v=this.ranges.length?this.ranges:[this.getRange()],p=[],g=0;g<v.length;g++){var w=v[g],M=w.start.row,S=w.end.row;if(M===S)p.push(w.clone());else{for(p.push(new A(M,w.start.column,M,this.session.getLine(M).length));++M<S;)p.push(this.getLineRange(M,!0));p.push(new A(S,0,S,w.end.column))}g==0&&!this.isBackwards()&&(p=p.reverse())}this.toSingleRange();for(var g=p.length;g--;)this.addRange(p[g])},this.joinSelections=function(){var v=this.rangeList.ranges,p=v[v.length-1],g=A.fromPoints(v[0].start,p.end);this.toSingleRange(),this.setSelectionRange(g,p.cursor==p.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var v=this.rangeList.ranges,p=v[v.length-1],g=A.fromPoints(v[0].start,p.end);this.toSingleRange(),this.setSelectionRange(g,p.cursor==p.start)}else{var w=this.session.documentToScreenPosition(this.cursor),M=this.session.documentToScreenPosition(this.anchor),S=this.rectangularRangeBlock(w,M);S.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(v,p,g){var w=[],M=v.column<p.column;if(M)var S=v.column,$=p.column,R=v.offsetX,f=p.offsetX;else var S=p.column,$=v.column,R=p.offsetX,f=v.offsetX;var a=v.row<p.row;if(a)var d=v.row,y=p.row;else var d=p.row,y=v.row;S<0&&(S=0),d<0&&(d=0),d==y&&(g=!0);for(var b,L=d;L<=y;L++){var E=A.fromPoints(this.session.screenToDocumentPosition(L,S,R),this.session.screenToDocumentPosition(L,$,f));if(E.isEmpty()){if(b&&c(E.end,b))break;b=E.end}E.cursor=M?E.start:E.end,w.push(E)}if(a&&w.reverse(),!g){for(var _=w.length-1;w[_].isEmpty()&&_>0;)_--;if(_>0)for(var I=0;w[I].isEmpty();)I++;for(var O=_;O>=I;O--)w[O].isEmpty()&&w.splice(O,1)}return w}}.call(C.prototype);var s=k("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(v){v.cursor||(v.cursor=v.end);var p=this.getSelectionStyle();return v.marker=this.session.addMarker(v,"ace_selection",p),this.session.$selectionMarkers.push(v),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,v},this.removeSelectionMarker=function(v){if(v.marker){this.session.removeMarker(v.marker);var p=this.session.$selectionMarkers.indexOf(v);p!=-1&&this.session.$selectionMarkers.splice(p,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(v){for(var p=this.session.$selectionMarkers,g=v.length;g--;){var w=v[g];if(w.marker){this.session.removeMarker(w.marker);var M=p.indexOf(w);M!=-1&&p.splice(M,1)}}this.session.selectionMarkerCount=p.length},this.$onAddRange=function(v){this.addSelectionMarker(v.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(v){this.removeSelectionMarkers(v.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(v){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(o.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(v){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(o.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(v){var p=v.command,g=v.editor;if(g.multiSelect){if(p.multiSelectAction)p.multiSelectAction=="forEach"?w=g.forEachSelection(p,v.args):p.multiSelectAction=="forEachLine"?w=g.forEachSelection(p,v.args,!0):p.multiSelectAction=="single"?(g.exitMultiSelectMode(),w=p.exec(g,v.args||{})):w=p.multiSelectAction(g,v.args||{});else{var w=p.exec(g,v.args||{});g.multiSelect.addRange(g.multiSelect.toOrientedRange()),g.multiSelect.mergeOverlappingRanges()}return w}},this.forEachSelection=function(v,p,g){if(!this.inVirtualSelectionMode){var w=g&&g.keepOrder,M=g==!0||g&&g.$byLines,S=this.session,$=this.selection,R=$.rangeList,f=(w?$:R).ranges,a;if(!f.length)return v.exec?v.exec(this,p||{}):v(this,p||{});var d=$._eventRegistry;$._eventRegistry={};var y=new C(S);this.inVirtualSelectionMode=!0;for(var b=f.length;b--;){if(M)for(;b>0&&f[b].start.row==f[b-1].end.row;)b--;y.fromOrientedRange(f[b]),y.index=b,this.selection=S.selection=y;var L=v.exec?v.exec(this,p||{}):v(this,p||{});!a&&L!==void 0&&(a=L),y.toOrientedRange(f[b])}y.detach(),this.selection=S.selection=$,this.inVirtualSelectionMode=!1,$._eventRegistry=d,$.mergeOverlappingRanges(),$.ranges[0]&&$.fromOrientedRange($.ranges[0]);var E=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),E&&E.from==E.to&&this.renderer.animateScrolling(E.from),a}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var v="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var p=this.multiSelect.rangeList.ranges,g=[],w=0;w<p.length;w++)g.push(this.session.getTextRange(p[w]));var M=this.session.getDocument().getNewLineCharacter();v=g.join(M),v.length==(g.length-1)*M.length&&(v="")}else this.selection.isEmpty()||(v=this.session.getTextRange(this.getSelectionRange()));return v},this.$checkMultiselectChange=function(v,p){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var g=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&p==this.multiSelect.anchor)return;var w=p==this.multiSelect.anchor?g.cursor==g.start?g.end:g.start:g.cursor;w.row!=p.row||this.session.$clipPositionToDocument(w.row,w.column).column!=p.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(v,p,g){if(p=p||{},p.needle=v||p.needle,p.needle==null){var w=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();p.needle=this.session.getTextRange(w)}this.$search.set(p);var M=this.$search.findAll(this.session);if(!M.length)return 0;var S=this.multiSelect;g||S.toSingleRange(M[0]);for(var $=M.length;$--;)S.addRange(M[$],!0);return w&&S.rangeList.rangeAtPoint(w.start)&&S.addRange(w,!0),M.length},this.selectMoreLines=function(v,p){var g=this.selection.toOrientedRange(),w=g.cursor==g.end,M=this.session.documentToScreenPosition(g.cursor);this.selection.$desiredColumn&&(M.column=this.selection.$desiredColumn);var S=this.session.screenToDocumentPosition(M.row+v,M.column);if(g.isEmpty())var R=S;else var $=this.session.documentToScreenPosition(w?g.end:g.start),R=this.session.screenToDocumentPosition($.row+v,$.column);if(w){var f=A.fromPoints(S,R);f.cursor=f.start}else{var f=A.fromPoints(R,S);f.cursor=f.end}if(f.desiredColumn=M.column,!this.selection.inMultiSelectMode)this.selection.addRange(g);else if(p)var a=g.cursor;this.selection.addRange(f),a&&this.selection.substractPoint(a)},this.transposeSelections=function(v){for(var p=this.session,g=p.multiSelect,w=g.ranges,M=w.length;M--;){var S=w[M];if(S.isEmpty()){var $=p.getWordRange(S.start.row,S.start.column);S.start.row=$.start.row,S.start.column=$.start.column,S.end.row=$.end.row,S.end.column=$.end.column}}g.mergeOverlappingRanges();for(var R=[],M=w.length;M--;){var S=w[M];R.unshift(p.getTextRange(S))}v<0?R.unshift(R.pop()):R.push(R.shift());for(var M=w.length;M--;){var S=w[M],f=S.clone();p.replace(S,R[M]),S.start.row=f.start.row,S.start.column=f.start.column}g.fromOrientedRange(g.ranges[0])},this.selectMore=function(v,p,g){var w=this.session,M=w.multiSelect,S=M.toOrientedRange();if(!(S.isEmpty()&&(S=w.getWordRange(S.start.row,S.start.column),S.cursor=v==-1?S.start:S.end,this.multiSelect.addRange(S),g))){var $=w.getTextRange(S),R=e(w,$,v);R&&(R.cursor=v==-1?R.start:R.end,this.session.unfold(R),this.multiSelect.addRange(R),this.renderer.scrollCursorIntoView(null,.5)),p&&this.multiSelect.substractPoint(S.cursor)}},this.alignCursors=function(){var v=this.session,p=v.multiSelect,g=p.ranges,w=-1,M=g.filter(function(_){if(_.cursor.row==w)return!0;w=_.cursor.row});if(!g.length||M.length==g.length-1){var S=this.selection.getRange(),$=S.start.row,R=S.end.row,f=$==R;if(f){var a=this.session.getLength(),d;do d=this.session.getLine(R);while(/[=:]/.test(d)&&++R<a);do d=this.session.getLine($);while(/[=:]/.test(d)&&--$>0);$<0&&($=0),R>=a&&(R=a-1)}var y=this.session.removeFullLines($,R);y=this.$reAlignText(y,f),this.session.insert({row:$,column:0},y.join(`
|
|
944
|
-
`)+`
|
|
945
|
-
`),f||(S.start.column=0,S.end.column=y[y.length-1].length),this.selection.setRange(S)}else{M.forEach(function(_){p.substractPoint(_.cursor)});var b=0,L=1/0,E=g.map(function(_){var I=_.cursor,O=v.getLine(I.row),W=O.substr(I.column).search(/\S/g);return W==-1&&(W=0),I.column>b&&(b=I.column),W<L&&(L=W),W});g.forEach(function(_,I){var O=_.cursor,W=b-O.column,D=E[I]-L;W>D?v.insert(O,r.stringRepeat(" ",W-D)):v.remove(new A(O.row,O.column,O.row,O.column-W+D)),_.start.column=_.end.column=b,_.start.row=_.end.row=O.row,_.cursor=_.end}),p.fromOrientedRange(g[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(v,p){var g=!0,w=!0,M,S,$;return v.map(function(y){var b=y.match(/(\s*)(.*?)(\s*)([=:].*)/);return b?M==null?(M=b[1].length,S=b[2].length,$=b[3].length,b):(M+S+$!=b[1].length+b[2].length+b[3].length&&(w=!1),M!=b[1].length&&(g=!1),M>b[1].length&&(M=b[1].length),S<b[2].length&&(S=b[2].length),$>b[3].length&&($=b[3].length),b):[y]}).map(p?f:g?w?a:f:d);function R(y){return r.stringRepeat(" ",y)}function f(y){return y[2]?R(M)+y[2]+R(S-y[2].length+$)+y[4].replace(/^([=:])\s+/,"$1 "):y[0]}function a(y){return y[2]?R(M+S-y[2].length)+y[2]+R($)+y[4].replace(/^([=:])\s+/,"$1 "):y[0]}function d(y){return y[2]?R(M)+y[2]+R($)+y[4].replace(/^([=:])\s+/,"$1 "):y[0]}}}).call(s.prototype);function c(v,p){return v.row==p.row&&v.column==p.column}x.onSessionChange=function(v){var p=v.session;p&&!p.multiSelect&&(p.$selectionMarkers=[],p.selection.$initRangeList(),p.multiSelect=p.selection),this.multiSelect=p&&p.multiSelect;var g=v.oldSession;g&&(g.multiSelect.off("addRange",this.$onAddRange),g.multiSelect.off("removeRange",this.$onRemoveRange),g.multiSelect.off("multiSelect",this.$onMultiSelect),g.multiSelect.off("singleSelect",this.$onSingleSelect),g.multiSelect.lead.off("change",this.$checkMultiselectChange),g.multiSelect.anchor.off("change",this.$checkMultiselectChange)),p&&(p.multiSelect.on("addRange",this.$onAddRange),p.multiSelect.on("removeRange",this.$onRemoveRange),p.multiSelect.on("multiSelect",this.$onMultiSelect),p.multiSelect.on("singleSelect",this.$onSingleSelect),p.multiSelect.lead.on("change",this.$checkMultiselectChange),p.multiSelect.anchor.on("change",this.$checkMultiselectChange)),p&&this.inMultiSelectMode!=p.selection.inMultiSelectMode&&(p.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function h(v){v.$multiselectOnSessionChange||(v.$onAddRange=v.$onAddRange.bind(v),v.$onRemoveRange=v.$onRemoveRange.bind(v),v.$onMultiSelect=v.$onMultiSelect.bind(v),v.$onSingleSelect=v.$onSingleSelect.bind(v),v.$multiselectOnSessionChange=x.onSessionChange.bind(v),v.$checkMultiselectChange=v.$checkMultiselectChange.bind(v),v.$multiselectOnSessionChange(v),v.on("changeSession",v.$multiselectOnSessionChange),v.on("mousedown",l),v.commands.addCommands(o.defaultCommands),m(v))}function m(v){if(!v.textInput)return;var p=v.textInput.getElement(),g=!1;u.addListener(p,"keydown",function(M){var S=M.keyCode==18&&!(M.ctrlKey||M.shiftKey||M.metaKey);v.$blockSelectEnabled&&S?g||(v.renderer.setMouseCursor("crosshair"),g=!0):g&&w()},v),u.addListener(p,"keyup",w,v),u.addListener(p,"blur",w,v);function w(M){g&&(v.renderer.setMouseCursor(""),g=!1)}}x.MultiSelect=h,k("./config").defineOptions(s.prototype,"editor",{enableMultiselect:{set:function(v){h(this),v?this.on("mousedown",l):this.off("mousedown",l)},value:!0},enableBlockSelect:{set:function(v){this.$blockSelectEnabled=v},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(k,x,z){var T=k("../../range").Range,A=x.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(C,l,u){var r=C.getLine(u);return this.foldingStartMarker.test(r)?"start":l=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(C,l,u){return null},this.indentationBlock=function(C,l,u){var r=/\S/,o=C.getLine(l),n=o.search(r);if(n!=-1){for(var t=u||o.length,e=C.getLength(),i=l,s=l;++l<e;){var c=C.getLine(l).search(r);if(c!=-1){if(c<=n){var h=C.getTokenAt(l,0);if(!h||h.type!=="string")break}s=l}}if(s>i){var m=C.getLine(s).length;return new T(i,t,s,m)}}},this.openingBracketBlock=function(C,l,u,r,o){var n={row:u,column:r+1},t=C.$findClosingBracket(l,n,o);if(t){var e=C.foldWidgets[t.row];return e==null&&(e=C.getFoldWidget(t.row)),e=="start"&&t.row>n.row&&(t.row--,t.column=C.getLine(t.row).length),T.fromPoints(n,t)}},this.closingBracketBlock=function(C,l,u,r,o){var n={row:u,column:r},t=C.$findOpeningBracket(l,n);if(t)return t.column++,n.column--,T.fromPoints(t,n)}}).call(A.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(k,x,z){var T=k("../lib/dom"),A=k("../range").Range,C=k("../config").nls;function l(r,o,n){for(var t=0,e=r.length-1;t<=e;){var i=t+e>>1,s=n(o,r[i]);if(s>0)t=i+1;else if(s<0)e=i-1;else return i}return-(t+1)}function u(r,o,n){var t=r.getAnnotations().sort(A.comparePoints);if(t.length){var e=l(t,{row:o,column:-1},A.comparePoints);e<0&&(e=-e-1),e>=t.length?e=n>0?0:t.length-1:e===0&&n<0&&(e=t.length-1);var i=t[e];if(!(!i||!n)){if(i.row===o){do i=t[e+=n];while(i&&i.row===o);if(!i)return t.slice()}var s=[];o=i.row;do s[n<0?"unshift":"push"](i),i=t[e+=n];while(i&&i.row==o);return s.length&&s}}}x.showErrorMarker=function(r,o){var n=r.session,t=r.getCursorPosition(),e=t.row,i=n.widgetManager.getWidgetsAtRow(e).filter(function(M){return M.type=="errorMarker"})[0];i?i.destroy():e-=o;var s=u(n,e,o),c;if(s){var h=s[0];t.column=(h.pos&&typeof h.column!="number"?h.pos.sc:h.column)||0,t.row=h.row,c=r.renderer.$gutterLayer.$annotations[t.row]}else{if(i)return;c={displayText:[C("error-marker.good-state","Looks good!")],className:"ace_ok"}}r.session.unfold(t.row),r.selection.moveToPosition(t);var m={row:t.row,fixedWidth:!0,coverGutter:!0,el:T.createElement("div"),type:"errorMarker"},v=m.el.appendChild(T.createElement("div")),p=m.el.appendChild(T.createElement("div"));p.className="error_widget_arrow "+c.className;var g=r.renderer.$cursorLayer.getPixelPosition(t).left;p.style.left=g+r.renderer.gutterWidth-5+"px",m.el.className="error_widget_wrapper",v.className="error_widget "+c.className,c.displayText.forEach(function(M,S){v.appendChild(T.createTextNode(M)),S<c.displayText.length-1&&v.appendChild(T.createElement("br"))}),v.appendChild(T.createElement("div"));var w=function(M,S,$){if(S===0&&($==="esc"||$==="return"))return m.destroy(),{command:"null"}};m.destroy=function(){r.$mouseHandler.isMousePressed||(r.keyBinding.removeKeyboardHandler(w),n.widgetManager.removeLineWidget(m),r.off("changeSelection",m.destroy),r.off("changeSession",m.destroy),r.off("mouseup",m.destroy),r.off("change",m.destroy))},r.keyBinding.addKeyboardHandler(w),r.on("changeSelection",m.destroy),r.on("changeSession",m.destroy),r.on("mouseup",m.destroy),r.on("change",m.destroy),r.session.widgetManager.addLineWidget(m),m.el.onmousedown=r.focus.bind(r),r.renderer.scrollCursorIntoView(null,.5,{bottom:m.el.offsetHeight})},T.importCssString(`
|
|
946
|
-
.error_widget_wrapper {
|
|
947
|
-
background: inherit;
|
|
948
|
-
color: inherit;
|
|
949
|
-
border:none
|
|
950
|
-
}
|
|
951
|
-
.error_widget {
|
|
952
|
-
border-top: solid 2px;
|
|
953
|
-
border-bottom: solid 2px;
|
|
954
|
-
margin: 5px 0;
|
|
955
|
-
padding: 10px 40px;
|
|
956
|
-
white-space: pre-wrap;
|
|
957
|
-
}
|
|
958
|
-
.error_widget.ace_error, .error_widget_arrow.ace_error{
|
|
959
|
-
border-color: #ff5a5a
|
|
960
|
-
}
|
|
961
|
-
.error_widget.ace_warning, .error_widget_arrow.ace_warning{
|
|
962
|
-
border-color: #F1D817
|
|
963
|
-
}
|
|
964
|
-
.error_widget.ace_info, .error_widget_arrow.ace_info{
|
|
965
|
-
border-color: #5a5a5a
|
|
966
|
-
}
|
|
967
|
-
.error_widget.ace_ok, .error_widget_arrow.ace_ok{
|
|
968
|
-
border-color: #5aaa5a
|
|
969
|
-
}
|
|
970
|
-
.error_widget_arrow {
|
|
971
|
-
position: absolute;
|
|
972
|
-
border: solid 5px;
|
|
973
|
-
border-top-color: transparent!important;
|
|
974
|
-
border-right-color: transparent!important;
|
|
975
|
-
border-left-color: transparent!important;
|
|
976
|
-
top: -5px;
|
|
977
|
-
}
|
|
978
|
-
`,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(k,x,z){k("./loader_build")(x);var T=k("./lib/dom"),A=k("./range").Range,C=k("./editor").Editor,l=k("./edit_session").EditSession,u=k("./undomanager").UndoManager,r=k("./virtual_renderer").VirtualRenderer;k("./worker/worker_client"),k("./keyboard/hash_handler"),k("./placeholder"),k("./multi_select"),k("./mode/folding/fold_mode"),k("./theme/textmate"),k("./ext/error_marker"),x.config=k("./config"),x.edit=function(n,t){if(typeof n=="string"){var e=n;if(n=document.getElementById(e),!n)throw new Error("ace.edit can't find div #"+e)}if(n&&n.env&&n.env.editor instanceof C)return n.env.editor;var i="";if(n&&/input|textarea/i.test(n.tagName)){var s=n;i=s.value,n=T.createElement("pre"),s.parentNode.replaceChild(n,s)}else n&&(i=n.textContent,n.innerHTML="");var c=x.createEditSession(i),h=new C(new r(n),c,t),m={document:c,editor:h,onResize:h.resize.bind(h,null)};return s&&(m.textarea=s),h.on("destroy",function(){m.editor.container.env=null}),h.container.env=h.env=m,h},x.createEditSession=function(n,t){var e=new l(n,t);return e.setUndoManager(new u),e},x.Range=A,x.Editor=C,x.EditSession=l,x.UndoManager=u,x.VirtualRenderer=r;var o=x.config.version;x.version=o}),function(){ace.require(["ace/ace"],function(k){k&&(k.config.init(!0),k.define=ace.define);var x=function(){return this}();!x&&typeof window<"u"&&(x=window),!x&&typeof self<"u"&&(x=self),x.ace||(x.ace=k);for(var z in k)k.hasOwnProperty(z)&&(x.ace[z]=k[z]);x.ace.default=x.ace,pe&&(pe.exports=x.ace)})}()})(ye);var Ce=ye.exports;export{Ce as a};
|