diff --git a/dist/1609.06f45799411bf730.js b/dist/1609.06f45799411bf730.js new file mode 100644 index 00000000..19f7ddf4 --- /dev/null +++ b/dist/1609.06f45799411bf730.js @@ -0,0 +1 @@ +(self.webpackChunkdf_admin_interface=self.webpackChunkdf_admin_interface||[]).push([[1609],{41609:(ve,we,he)=>{"use strict";he.d(we,{C:()=>r});var E=he(85101),H=he(65879),x=he(56223),k=he(24546),S=he(65763),a=he(96814);const l=["editor"];let r=(()=>{class i{constructor(){this.mode=k.h.TEXT,this.readonly=!1,this.valueChange=new H.vpe,this.themeService=(0,H.f3M)(S.F),this.isDarkMode=this.themeService.darkMode$}ngAfterViewInit(){this.init(this.elementRef,this.mode)}writeValue(e){this.value=e,this.editor&&this.editor.setValue(e)}init(e,t=k.h.TEXT){E.config.set("basePath","/assets/ace-builds"),this.editor=E.edit(e.nativeElement,{mode:`ace/mode/${this.getMode(t)}`,value:this.value,fontSize:12,showPrintMargin:!1,showGutter:!0,highlightActiveLine:!0,tabSize:2,readOnly:!1,maxLines:50}),this.editor.renderer.attachToShadowRoot(),this.editor.addEventListener("change",()=>{this.valueChange.emit(this.editor.getValue()),this.onChange&&this.onChange(this.editor.getValue()),this.onTouched&&this.onTouched()})}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}ngOnChanges(e){this.editor&&(e.mode&&this.editor.session.setMode(`ace/mode/${this.getMode(e.mode.currentValue)}`),e.value&&this.setValue(e.value.currentValue))}setValue(e){this.editor.setValue(e)}ngOnDestroy(){this.editor&&this.editor.destroy()}getMode(e){return"nodejs"===e?k.h.JAVASCRIPT:e}}return i.\u0275fac=function(e){return new(e||i)},i.\u0275cmp=H.Xpm({type:i,selectors:[["df-ace-editor"]],viewQuery:function(e,t){if(1&e&&H.Gf(l,5),2&e){let o;H.iGM(o=H.CRH())&&(t.elementRef=o.first)}},inputs:{mode:"mode",readonly:"readonly",value:"value"},outputs:{valueChange:"valueChange"},standalone:!0,features:[H._Bn([{provide:x.JU,useExisting:(0,H.Gpc)(()=>i),multi:!0}]),H.TTD,H.jDz],decls:3,vars:4,consts:[[1,"editor"],["editor",""]],template:function(e,t){1&e&&(H._UZ(0,"div",0,1),H.ALo(2,"async")),2&e&&H.Tol(H.lcZ(2,2,t.isDarkMode)?"dark-theme":"")},dependencies:[a.Ov],styles:[".editor[_ngcontent-%COMP%]{height:100%;min-height:400px;width:100%;background-color:#f0f0f0}"]}),i})()},24546:(ve,we,he)=>{"use strict";he.d(we,{h:()=>E});var E=function(M){return M.JSON="json",M.YAML="yaml",M.TEXT="text",M.NODEJS="nodejs",M.PHP="php",M.PYTHON="python",M.PYTHON3="python3",M.JAVASCRIPT="javascript",M}(E||{})},85101:(ve,we,he)=>{ve=he.nmd(ve),function(){var M=function(){return this}();!M&&typeof window<"u"&&(M=window);var H=function(r,i,n){"string"==typeof r?(2==arguments.length&&(n=i),H.modules[r]||(H.payloads[r]=n,H.modules[r]=null)):H.original?H.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};H.modules={},H.payloads={};var x=function(r,i,n){if("string"==typeof i){var e=a(r,i);if(null!=e)return n&&n(),e}else if("[object Array]"===Object.prototype.toString.call(i)){for(var t=[],o=0,s=i.length;oa.length)&&(S=a.length);var l=a.indexOf(k,S-=k.length);return-1!==l&&l===S}),String.prototype.repeat||x(String.prototype,"repeat",function(k){for(var S="",a=this;k>0;)1&k&&(S+=a),(k>>=1)&&(a+=a);return S}),String.prototype.includes||x(String.prototype,"includes",function(k,S){return-1!=this.indexOf(k,S)}),Object.assign||(Object.assign=function(k){if(null==k)throw new TypeError("Cannot convert undefined or null to object");for(var S=Object(k),a=1;a>>0,r=arguments[1]>>0,i=r<0?Math.max(a+r,0):Math.min(r,a),n=arguments[2],e=void 0===n?a:n>>0,t=e<0?Math.max(a+e,0):Math.min(e,a);i0;)1&a&&(l+=S),(a>>=1)&&(S+=S);return l};var x=/^\s\s*/,k=/\s\s*$/;M.stringTrimLeft=function(S){return S.replace(x,"")},M.stringTrimRight=function(S){return S.replace(k,"")},M.copyObject=function(S){var a={};for(var l in S)a[l]=S[l];return a},M.copyArray=function(S){for(var a=[],l=0,r=S.length;l=0?parseFloat((S.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((S.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),M.isOldIE=M.isIE&&M.isIE<9,M.isGecko=M.isMozilla=S.match(/ Gecko\/\d+/),M.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),M.isWebKit=parseFloat(S.split("WebKit/")[1])||void 0,M.isChrome=parseFloat(S.split(" Chrome/")[1])||void 0,M.isEdge=parseFloat(S.split(" Edge/")[1])||void 0,M.isAIR=S.indexOf("AdobeAIR")>=0,M.isAndroid=S.indexOf("Android")>=0,M.isChromeOS=S.indexOf(" CrOS ")>=0,M.isIOS=/iPad|iPhone|iPod/.test(S)&&!window.MSStream,M.isIOS&&(M.isMac=!0),M.isMobile=M.isIOS||M.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(E,M,H){"use strict";var x=E("./useragent");M.buildDom=function n(e,t,o){if("string"==typeof e&&e){var s=document.createTextNode(e);return t&&t.appendChild(s),s}if(!Array.isArray(e))return e&&e.appendChild&&t&&t.appendChild(e),e;if("string"!=typeof e[0]||!e[0]){for(var c=[],g=0;g"u")){if(a)if(t)l();else if(!1===t)return a.push([n,e]);if(!S){var o=t;t&&t.getRootNode?(!(o=t.getRootNode())||o==t)&&(o=document):o=document;var s=o.ownerDocument||o;if(e&&M.hasCssString(e,o))return null;e&&(n+="\n/*# sourceURL=ace/css/"+e+" */");var c=M.createElement("style");c.appendChild(s.createTextNode(n)),e&&(c.id=e),o==s&&(o=M.getDocumentHead(s)),o.insertBefore(c,o.firstChild)}}}if(M.useStrictCSP=function(n){S=n,0==n?l():a||(a=[])},M.importCssString=r,M.importCssStylsheet=function(n,e){M.buildDom(["link",{rel:"stylesheet",href:n}],M.getDocumentHead(e))},M.scrollbarWidth=function(n){var e=M.createElement("ace_inner");e.style.width="100%",e.style.minWidth="0px",e.style.height="200px",e.style.display="block";var t=M.createElement("ace_outer"),o=t.style;o.position="absolute",o.left="-10000px",o.overflow="hidden",o.width="200px",o.minWidth="0px",o.height="150px",o.display="block",t.appendChild(e);var s=n&&n.documentElement||document&&document.documentElement;if(!s)return 0;s.appendChild(t);var c=e.offsetWidth;o.overflow="scroll";var g=e.offsetWidth;return c===g&&(g=t.clientWidth),s.removeChild(t),c-g},M.computedStyle=function(n,e){return window.getComputedStyle(n,"")||{}},M.setStyle=function(n,e,t){n[e]!==t&&(n[e]=t)},M.HAS_CSS_ANIMATION=!1,M.HAS_CSS_TRANSFORMS=!1,M.HI_DPI=!x.isWin||typeof window<"u"&&window.devicePixelRatio>=1.5,x.isChromeOS&&(M.HI_DPI=!1),typeof document<"u"){var i=document.createElement("div");M.HI_DPI&&void 0!==i.style.transform&&(M.HAS_CSS_TRANSFORMS=!0),!x.isEdge&&typeof i.style.animationName<"u"&&(M.HAS_CSS_ANIMATION=!0),i=null}M.translate=M.HAS_CSS_TRANSFORMS?function(n,e,t){n.style.transform="translate("+Math.round(e)+"px, "+Math.round(t)+"px)"}:function(n,e,t){n.style.top=Math.round(t)+"px",n.style.left=Math.round(e)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(E,M,H){"use strict";var x=E("./dom");M.get=function(k,S){var a=new XMLHttpRequest;a.open("GET",k,!0),a.onreadystatechange=function(){4===a.readyState&&S(a.responseText)},a.send(null)},M.loadScript=function(k,S){var a=x.getDocumentHead(),l=document.createElement("script");l.src=k,a.appendChild(l),l.onload=l.onreadystatechange=function(r,i){(i||!l.readyState||"loaded"==l.readyState||"complete"==l.readyState)&&(l=l.onload=l.onreadystatechange=null,i||S())}},M.qualifyURL=function(k){var S=document.createElement("a");return S.href=k,S.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(E,M,H){"use strict";M.inherits=function(x,k){x.super_=k,x.prototype=Object.create(k.prototype,{constructor:{value:x,enumerable:!1,writable:!0,configurable:!0}})},M.mixin=function(x,k){for(var S in k)x[S]=k[S];return x},M.implement=function(x,k){M.mixin(x,k)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(E,M,H){"use strict";var x={},k=function(){this.propagationStopped=!0},S=function(){this.defaultPrevented=!0};x._emit=x._dispatchEvent=function(a,l){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var r=this._eventRegistry[a]||[],i=this._defaultHandlers[a];if(r.length||i){("object"!=typeof l||!l)&&(l={}),l.type||(l.type=a),l.stopPropagation||(l.stopPropagation=k),l.preventDefault||(l.preventDefault=S),r=r.slice();for(var n=0;n1&&(c=o[o.length-2]);var w=l[t+"Path"];return null==w?w=l.basePath:"/"==s&&(t=s=""),w&&"/"!=w.slice(-1)&&(w+="/"),w+t+s+c+this.get("suffix")},M.setModuleUrl=function(e,t){return l.$moduleUrls[e]=t},M.setLoader=function(e){i=e},M.dynamicModules=Object.create(null),M.$loading={},M.$loaded={},M.loadModule=function(e,t){var o,s;Array.isArray(e)&&(s=e[0],e=e[1]);var c=function(g){if(g&&!M.$loading[e])return t&&t(g);if(M.$loading[e]||(M.$loading[e]=[]),M.$loading[e].push(t),!(M.$loading[e].length>1)){var w=function(){!function(e,t){"ace/theme/textmate"===e||"./theme/textmate"===e?t(0,E("./theme/textmate")):i?i(e,t):console.error("loader is not configured")}(e,function(p,b){b&&(M.$loaded[e]=b),M._emit("load.module",{name:e,module:b});var y=M.$loading[e];M.$loading[e]=null,y.forEach(function(d){d&&d(b)})})};if(!M.get("packaged"))return w();k.loadScript(M.moduleUrl(e,s),w),n()}};if(M.dynamicModules[e])M.dynamicModules[e]().then(function(g){c(g.default?g.default:g)});else{try{o=this.$require(e)}catch{}c(o||M.$loaded[e])}},M.$require=function(e){if("function"==typeof H.require)return H.require(e)},M.setModuleLoader=function(e,t){M.dynamicModules[e]=t};var n=function(){!l.basePath&&!l.workerPath&&!l.modePath&&!l.themePath&&!Object.keys(l.$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(){})};M.version="1.24.2"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(E,M,H){"use strict";E("./lib/fixoldbrowsers");var x=E("./config");x.setLoader(function(l,r){E([l],function(i){r(null,i)})});var k=function(){return this||typeof window<"u"&&window}();function S(l){if(k&&k.document){x.set("packaged",l||E.packaged||H.packaged||k.define&&he.amdD.packaged);var r={},i="",n=document.currentScript||document._currentScript,e=n&&n.ownerDocument||document;n&&n.src&&(i=n.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var t=e.getElementsByTagName("script"),o=0;o ["+this.end.row+"/"+this.end.column+"]"},S.prototype.contains=function(a,l){return 0==this.compare(a,l)},S.prototype.compareRange=function(a){var l,r=a.end,i=a.start;return 1==(l=this.compare(r.row,r.column))?1==(l=this.compare(i.row,i.column))?2:0==l?1:0:-1==l?-2:-1==(l=this.compare(i.row,i.column))?-1:1==l?42:0},S.prototype.comparePoint=function(a){return this.compare(a.row,a.column)},S.prototype.containsRange=function(a){return 0==this.comparePoint(a.start)&&0==this.comparePoint(a.end)},S.prototype.intersects=function(a){var l=this.compareRange(a);return-1==l||0==l||1==l},S.prototype.isEnd=function(a,l){return this.end.row==a&&this.end.column==l},S.prototype.isStart=function(a,l){return this.start.row==a&&this.start.column==l},S.prototype.setStart=function(a,l){"object"==typeof a?(this.start.column=a.column,this.start.row=a.row):(this.start.row=a,this.start.column=l)},S.prototype.setEnd=function(a,l){"object"==typeof a?(this.end.column=a.column,this.end.row=a.row):(this.end.row=a,this.end.column=l)},S.prototype.inside=function(a,l){return 0==this.compare(a,l)&&!(this.isEnd(a,l)||this.isStart(a,l))},S.prototype.insideStart=function(a,l){return 0==this.compare(a,l)&&!this.isEnd(a,l)},S.prototype.insideEnd=function(a,l){return 0==this.compare(a,l)&&!this.isStart(a,l)},S.prototype.compare=function(a,l){return this.isMultiLine()||a!==this.start.row?athis.end.row?1:this.start.row===a?l>=this.start.column?0:-1:this.end.row===a?l<=this.end.column?0:1:0:lthis.end.column?1:0},S.prototype.compareStart=function(a,l){return this.start.row==a&&this.start.column==l?-1:this.compare(a,l)},S.prototype.compareEnd=function(a,l){return this.end.row==a&&this.end.column==l?1:this.compare(a,l)},S.prototype.compareInside=function(a,l){return this.end.row==a&&this.end.column==l?1:this.start.row==a&&this.start.column==l?-1:this.compare(a,l)},S.prototype.clipRows=function(a,l){if(this.end.row>l)var r={row:l+1,column:0};else this.end.rowl)var i={row:l+1,column:0};else this.start.row1?++v>4&&(v=1):v=1,k.isIE){var C=Math.abs(h.clientX-$)>5||Math.abs(h.clientY-f)>5;(!u||C)&&(v=1),u&&clearTimeout(u),u=setTimeout(function(){u=null},p[v-1]||600),1==v&&($=h.clientX,f=h.clientY)}if(h._clicks=v,b[y]("mousedown",h),v>4)v=0;else if(v>1)return b[y](A[v],h)}Array.isArray(w)||(w=[w]),w.forEach(function(h){e(h,"mousedown",m,d)})};var o=function(w){return 0|(w.ctrlKey?1:0)|(w.altKey?2:0)|(w.shiftKey?4:0)|(w.metaKey?8:0)};function s(w,p,b){var y=o(p);if(!k.isMac&&S){if(p.getModifierState&&(p.getModifierState("OS")||p.getModifierState("Win"))&&(y|=8),S.altGr){if(3==(3&y))return;S.altGr=0}if(18===b||17===b){var d="location"in p?p.location:p.keyLocation;17===b&&1===d?1==S[b]&&(a=p.timeStamp):18===b&&3===y&&2===d&&p.timeStamp-a<50&&(S.altGr=!0)}}if(b in x.MODIFIER_KEYS&&(b=-1),y||13!==b||3!==(d="location"in p?p.location:p.keyLocation)||(w(p,y,-b),!p.defaultPrevented)){if(k.isChromeOS&&8&y){if(w(p,y,b),p.defaultPrevented)return;y&=-9}return!!(y||b in x.FUNCTION_KEYS||b in x.PRINTABLE_KEYS)&&w(p,y,b)}}function c(){S=Object.create(null)}if(M.getModifierString=function(w){return x.KEY_MODS[o(w)]},M.addCommandKeyListener=function(w,p,b){if(k.isOldGecko||k.isOpera&&!("KeyboardEvent"in window)){var y=null;e(w,"keydown",function(v){y=v.keyCode},b),e(w,"keypress",function(v){return s(p,v,y)},b)}else{var d=null;e(w,"keydown",function(v){S[v.keyCode]=(S[v.keyCode]||0)+1;var $=s(p,v,v.keyCode);return d=v.defaultPrevented,$},b),e(w,"keypress",function(v){d&&(v.ctrlKey||v.altKey||v.shiftKey||v.metaKey)&&(M.stopEvent(v),d=null)},b),e(w,"keyup",function(v){S[v.keyCode]=null},b),S||(c(),e(window,"focus",c))}},"object"==typeof window&&window.postMessage&&!k.isOldIE){var g=1;M.nextTick=function(w,p){p=p||window;var b="zero-timeout-message-"+g++,y=function(d){d.data==b&&(M.stopPropagation(d),t(p,"message",y),w())};e(p,"message",y),p.postMessage(b,"*")}}M.$idleBlocked=!1,M.onIdle=function(w,p){return setTimeout(function b(){M.$idleBlocked?setTimeout(b,100):w()},p)},M.$idleBlockId=null,M.blockIdle=function(w){M.$idleBlockId&&clearTimeout(M.$idleBlockId),M.$idleBlocked=!0,M.$idleBlockId=setTimeout(function(){M.$idleBlocked=!1},w||100)},M.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),M.nextFrame=M.nextFrame?M.nextFrame.bind(window):function(w){setTimeout(w,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(E,M,H){"use strict";var x;H.exports={lineMode:!1,pasteCancelled:function(){return!!(x&&x>Date.now()-50)||(x=!1)},cancel:function(){x=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(E,M,H){"use strict";var x=E("../lib/event"),k=E("../config").nls,S=E("../lib/useragent"),a=E("../lib/dom"),l=E("../lib/lang"),r=E("../clipboard"),i=S.isChrome<18,n=S.isIE,e=S.isChrome>63,t=400,o=E("../lib/keys"),s=o.KEY_MODS,c=S.isIOS,g=c?/\s/:/\n/,w=S.isMobile;M.TextInput=function(b,y){var d=a.createElement("textarea");d.className="ace_text-input",d.setAttribute("wrap","off"),d.setAttribute("autocorrect","off"),d.setAttribute("autocapitalize","off"),d.setAttribute("spellcheck",!1),d.style.opacity="0",b.insertBefore(d,b.firstChild);var v=!1,$=!1,f=!1,u=!1,A="";w||(d.style.fontSize="1px");var m=!1,h=!1,C="",L=0,T=0,R=0,_=Number.MAX_SAFE_INTEGER,O=Number.MIN_SAFE_INTEGER,I=0;try{var W=document.activeElement===d}catch{}this.setNumberOfExtraLines=function(N){_=Number.MAX_SAFE_INTEGER,O=Number.MIN_SAFE_INTEGER,I=N<0?0:N},this.setAriaOptions=function(N){N.activeDescendant?(d.setAttribute("aria-haspopup","true"),d.setAttribute("aria-autocomplete",N.inline?"both":"list"),d.setAttribute("aria-activedescendant",N.activeDescendant)):(d.setAttribute("aria-haspopup","false"),d.setAttribute("aria-autocomplete","both"),d.removeAttribute("aria-activedescendant")),N.role&&d.setAttribute("role",N.role),N.setLabel&&(d.setAttribute("aria-roledescription",k("editor")),y.session)&&d.setAttribute("aria-label",k("Cursor at row $0",[y.session.selection.cursor.row+1]))},this.setAriaOptions({role:"textbox"}),x.addListener(d,"blur",function(N){h||(y.onBlur(N),W=!1)},y),x.addListener(d,"focus",function(N){if(!h){if(W=!0,S.isEdge)try{if(!document.hasFocus())return}catch{}y.onFocus(N),S.isEdge?setTimeout(F):F()}},y),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:y.renderer.enableKeyboardAccessibility}),A||e||"browser"==this.$focusScroll)return d.focus({preventScroll:!0});var N=d.style.top;d.style.position="fixed",d.style.top="0px";try{var j=0!=d.getBoundingClientRect().top}catch{return}var X=[];if(j)for(var Z=d.parentElement;Z&&1==Z.nodeType;)X.push(Z),Z.setAttribute("ace_nocontext",!0),Z=!Z.parentElement&&Z.getRootNode?Z.getRootNode().host:Z.parentElement;d.focus({preventScroll:!0}),j&&X.forEach(function(te){te.removeAttribute("ace_nocontext")}),setTimeout(function(){d.style.position="","0px"==d.style.top&&(d.style.top=N)},0)},this.blur=function(){d.blur()},this.isFocused=function(){return W},y.on("beforeEndOperation",function(){var N=y.curOp,j=N&&N.command&&N.command.name;"insertstring"!=j&&(f&&j&&(N.docChanged||N.selectionChanged)&&(C=d.value="",fe()),F())});var D=function(N,j){for(var X=j,Z=1;Z<=N-_&&Z<2*I+1;Z++)X+=y.session.getLine(N-Z).length+1;return X},F=c?function(N){if(W&&(!v||N)&&!u){N||(N="");var j="\n ab"+N+"cde fg\n";j!=d.value&&(d.value=C=j);var Z=4+(N.length||(y.selection.isEmpty()?0:1));(4!=L||T!=Z)&&d.setSelectionRange(4,Z),L=4,T=Z}}:function(){if(!f&&!u&&(W||G)){f=!0;var N=0,j=0,X="";if(y.session){var Z=y.selection,te=Z.getRange(),oe=Z.cursor.row;oe===O+1?O=(_=O+1)+2*I:oe===_-1?_=(O=_-1)-2*I:(oe<_-1||oe>O+1)&&(_=oe>I?oe-I:0,O=oe>I?oe+I:2*I);for(var le=[],se=_;se<=O;se++)le.push(y.session.getLine(se));if(X=le.join("\n"),N=D(te.start.row,te.start.column),j=D(te.end.row,te.end.column),te.start.row<_){var re=y.session.getLine(_-1);N=te.start.row<_-1?0:N,j+=re.length+1,X=re+"\n"+X}else if(te.end.row>O){var ie=y.session.getLine(O+1);j=te.end.row>O+1?ie.length:te.end.column,j+=X.length+1,X=X+"\n"+ie}else w&&oe>0&&(X="\n"+X,j+=1,N+=1);X.length>t&&(N0&&C[ie]==N[ie];)ie++,te--;for(le=le.slice(ie),ie=1;oe>0&&C.length-ie>L-1&&C[C.length-ie]==N[N.length-ie];)ie++,oe--;se-=ie-1,re-=ie-1;var ue=le.length-ie+1;if(ue<0&&(te=-ue,ue=0),le=le.slice(0,ue),!(j||le||se||te||oe||re))return"";u=!0;var ye=!1;return S.isAndroid&&". "==le&&(le=" ",ye=!0),le&&!te&&!oe&&!se&&!re||m?y.onTextInput(le):y.onTextInput(le,{extendLeft:te,extendRight:oe,restoreStart:se,restoreEnd:re}),u=!1,C=N,L=X,T=Z,R=re,ye?"\n":le},K=function(N){if(f)return ne();if(N&&N.inputType){if("historyUndo"==N.inputType)return y.execCommand("undo");if("historyRedo"==N.inputType)return y.execCommand("redo")}var j=d.value,X=z(j,!0);(j.length>500||g.test(X)||w&&L<1&&L==T)&&F()},Y=function(N,j,X){var Z=N.clipboardData||window.clipboardData;if(Z&&!i){var te=n||X?"Text":"text/plain";try{return j?!1!==Z.setData(te,j):Z.getData(te)}catch(oe){if(!X)return Y(oe,j,!0)}}},U=function(N,j){var X=y.getCopyText();if(!X)return x.preventDefault(N);Y(N,X)?(c&&(F(X),v=X,setTimeout(function(){v=!1},10)),j?y.onCut():y.onCopy(),x.preventDefault(N)):(v=!0,d.value=X,d.select(),setTimeout(function(){v=!1,F(),j?y.onCut():y.onCopy()}))},J=function(N){U(N,!0)},q=function(N){U(N,!1)},ee=function(N){var j=Y(N);r.pasteCancelled()||("string"==typeof j?(j&&y.onPaste(j,N),S.isIE&&setTimeout(F),x.preventDefault(N)):(d.value="",$=!0))};x.addCommandKeyListener(d,y.onCommandKey.bind(y),y),x.addListener(d,"select",function(N){f||(v?v=!1:function(N){return 0===N.selectionStart&&N.selectionEnd>=C.length&&N.value===C&&C&&N.selectionEnd!==T}(d)?(y.selectAll(),F()):w&&d.selectionStart!=L&&F())},y),x.addListener(d,"input",K,y),x.addListener(d,"cut",J,y),x.addListener(d,"copy",q,y),x.addListener(d,"paste",ee,y),(!("oncut"in d)||!("oncopy"in d)||!("onpaste"in d))&&x.addListener(b,"keydown",function(N){if((!S.isMac||N.metaKey)&&N.ctrlKey)switch(N.keyCode){case 67:q(N);break;case 86:ee(N);break;case 88:J(N)}},y);var ne=function(){if(f&&y.onCompositionUpdate&&!y.$readOnly){if(m)return ge();f.useTextareaForIME?y.onCompositionUpdate(d.value):(z(d.value),f.markerRange&&(f.context&&(f.markerRange.start.column=f.selectionStart=f.context.compositionStartOffset),f.markerRange.end.column=f.markerRange.start.column+T-f.selectionStart+R))}},fe=function(N){!y.onCompositionEnd||y.$readOnly||(f=!1,y.onCompositionEnd(),y.off("mousedown",ge),N&&K())};function ge(){h=!0,d.blur(),d.focus(),h=!1}var ce,de=l.delayedCall(ne,50).schedule.bind(null,null);function me(){clearTimeout(ce),ce=setTimeout(function(){A&&(d.style.cssText=A,A=""),y.renderer.$isMousePressed=!1,y.renderer.$keepTextAreaAtCursor&&y.renderer.$moveTextAreaToCursor()},0)}x.addListener(d,"compositionstart",function(N){if(!f&&y.onCompositionStart&&!y.$readOnly&&(f={},!m)){N.data&&(f.useTextareaForIME=!1),setTimeout(ne,0),y._signal("compositionStart"),y.on("mousedown",ge);var j=y.getSelectionRange();j.end.row=j.start.row,j.end.column=j.start.column,f.markerRange=j,f.selectionStart=L,y.onCompositionStart(f),f.useTextareaForIME?(C=d.value="",L=0,T=0):(d.msGetInputContext&&(f.context=d.msGetInputContext()),d.getInputContext&&(f.context=d.getInputContext()))}},y),x.addListener(d,"compositionupdate",ne,y),x.addListener(d,"keyup",function ae(N){27==N.keyCode&&d.value.lengthT&&"\n"==C[re]?ie=o.end:seT&&C.slice(0,re).split("\n").length>2?ie=o.down:re>T&&" "==C[re-1]?(ie=o.right,ue=s.option):(re>T||re==T&&T!=L&&se==re)&&(ie=o.right),se!==re&&(ue|=s.shift),ie){if(!j.onCommandKey({},ue,ie)&&j.commands){ie=o.keyCodeToString(ie);var be=j.commands.findKeyCommand(ue,ie);be&&j.execCommand(be)}L=se,T=re,F("")}}};document.addEventListener("selectionchange",oe),j.on("destroy",function(){document.removeEventListener("selectionchange",oe)})}(0,y,d),this.destroy=function(){d.parentElement&&d.parentElement.removeChild(d)}},M.$setUserAgentForTests=function(b,y){w=b,c=y}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(E,M,H){"use strict";var x=E("../lib/useragent"),a=function(){function i(n){n.$clickSelection=null;var e=n.editor;e.setDefaultHandler("mousedown",this.onMouseDown.bind(n)),e.setDefaultHandler("dblclick",this.onDoubleClick.bind(n)),e.setDefaultHandler("tripleclick",this.onTripleClick.bind(n)),e.setDefaultHandler("quadclick",this.onQuadClick.bind(n)),e.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n)),["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach(function(o){n[o]=this[o]},this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return i.prototype.onMouseDown=function(n){var e=n.inSelection(),t=n.getDocumentPosition();this.mousedownEvent=n;var o=this.editor,s=n.getButton();return 0!==s?((o.getSelectionRange().isEmpty()||1==s)&&o.selection.moveToPosition(t),void(2==s&&(o.textInput.onContextMenu(n.domEvent),x.isMozilla||n.preventDefault()))):(this.mousedownEvent.time=Date.now(),!e||o.isFocused()||(o.focus(),!this.$focusTimeout||this.$clickSelection||o.inMultiSelectMode)?(this.captureMouse(n),this.startSelect(t,n.domEvent._clicks>1),n.preventDefault()):(this.setState("focusWait"),void this.captureMouse(n)))},i.prototype.startSelect=function(n,e){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var t=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?t.selection.selectToPosition(n):e||t.selection.moveToPosition(n),e||this.select(),t.setStyle("ace_selecting"),this.setState("select"))},i.prototype.select=function(){var n,e=this.editor,t=e.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var o=this.$clickSelection.comparePoint(t);if(-1==o)n=this.$clickSelection.end;else if(1==o)n=this.$clickSelection.start;else{var s=r(this.$clickSelection,t);t=s.cursor,n=s.anchor}e.selection.setSelectionAnchor(n.row,n.column)}e.selection.selectToPosition(t),e.renderer.scrollCursorIntoView()},i.prototype.extendSelectionBy=function(n){var e,t=this.editor,o=t.renderer.screenToTextCoordinates(this.x,this.y),s=t.selection[n](o.row,o.column);if(this.$clickSelection){var c=this.$clickSelection.comparePoint(s.start),g=this.$clickSelection.comparePoint(s.end);if(-1==c&&g<=0)e=this.$clickSelection.end,(s.end.row!=o.row||s.end.column!=o.column)&&(o=s.start);else if(1==g&&c>=0)e=this.$clickSelection.start,(s.start.row!=o.row||s.start.column!=o.column)&&(o=s.end);else if(-1==c&&1==g)o=s.end,e=s.start;else{var w=r(this.$clickSelection,o);o=w.cursor,e=w.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(o),t.renderer.scrollCursorIntoView()},i.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},i.prototype.focusWait=function(){var n=function l(i,n,e,t){return Math.sqrt(Math.pow(e-i,2)+Math.pow(t-n,2))}(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),e=Date.now();(n>0||e-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},i.prototype.onDoubleClick=function(n){var e=n.getDocumentPosition(),t=this.editor,s=t.session.getBracketRange(e);s?(s.isEmpty()&&(s.start.column--,s.end.column++),this.setState("select")):(s=t.selection.getWordRange(e.row,e.column),this.setState("selectByWords")),this.$clickSelection=s,this.select()},i.prototype.onTripleClick=function(n){var e=n.getDocumentPosition(),t=this.editor;this.setState("selectByLines");var o=t.getSelectionRange();o.isMultiLine()&&o.contains(e.row,e.column)?(this.$clickSelection=t.selection.getLineRange(o.start.row),this.$clickSelection.end=t.selection.getLineRange(o.end.row).end):this.$clickSelection=t.selection.getLineRange(e.row),this.select()},i.prototype.onQuadClick=function(n){var e=this.editor;e.selectAll(),this.$clickSelection=e.getSelectionRange(),this.setState("selectAll")},i.prototype.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var e=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var t=this.$lastScroll,o=n.domEvent.timeStamp,s=o-t.t,c=s?n.wheelX/s:t.vx,g=s?n.wheelY/s:t.vy;s<550&&(c=(c+t.vx)/2,g=(g+t.vy)/2);var w=Math.abs(c/g),p=!1;if(w>=1&&e.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(p=!0),w<=1&&e.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(p=!0),p?t.allowed=o:o-t.allowed<550&&(Math.abs(c)<=1.5*Math.abs(t.vx)&&Math.abs(g)<=1.5*Math.abs(t.vy)?(p=!0,t.allowed=o):t.allowed=0),t.t=o,t.vx=c,t.vy=g,p)return e.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}},i}();function r(i,n){if(i.start.row==i.end.row)var e=2*n.column-i.start.column-i.end.column;else if(i.start.row!=i.end.row-1||i.start.column||i.end.column)e=2*n.row-i.start.row-i.end.row;else e=n.column-4;return e<0?{cursor:i.start,anchor:i.end}:{cursor:i.end,anchor:i.start}}a.prototype.selectEnd=a.prototype.selectByLinesEnd,a.prototype.selectAllEnd=a.prototype.selectByLinesEnd,a.prototype.selectByWordsEnd=a.prototype.selectByLinesEnd,M.DefaultHandlers=a}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/range"],function(E,M,H){"use strict";var t,x=this&&this.__extends||(t=function(o,s){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,g){c.__proto__=g}||function(c,g){for(var w in g)Object.prototype.hasOwnProperty.call(g,w)&&(c[w]=g[w])})(o,s)},function(o,s){if("function"!=typeof s&&null!==s)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");function c(){this.constructor=o}t(o,s),o.prototype=null===s?Object.create(s):(c.prototype=s.prototype,new c)}),k=this&&this.__values||function(t){var o="function"==typeof Symbol&&Symbol.iterator,s=o&&t[o],c=0;if(s)return s.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&c>=t.length&&(t=void 0),{value:t&&t[c++],done:!t}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},S=E("./lib/dom"),a=E("./range").Range,l="ace_tooltip",r=function(){function t(o){this.isOpen=!1,this.$element=null,this.$parentNode=o}return t.prototype.$init=function(){return this.$element=S.createElement("div"),this.$element.className=l,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},t.prototype.getElement=function(){return this.$element||this.$init()},t.prototype.setText=function(o){this.getElement().textContent=o},t.prototype.setHtml=function(o){this.getElement().innerHTML=o},t.prototype.setPosition=function(o,s){this.getElement().style.left=o+"px",this.getElement().style.top=s+"px"},t.prototype.setClassName=function(o){S.addCssClass(this.getElement(),o)},t.prototype.setTheme=function(o){this.$element.className=l+" "+(o.isDark?"ace_dark ":"")+(o.cssClass||"")},t.prototype.show=function(o,s,c){null!=o&&this.setText(o),null!=s&&null!=c&&this.setPosition(s,c),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},t.prototype.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=l,this.isOpen=!1)},t.prototype.getHeight=function(){return this.getElement().offsetHeight},t.prototype.getWidth=function(){return this.getElement().offsetWidth},t.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},t}(),i=function(){function t(){this.popups=[]}return t.prototype.addPopup=function(o){this.popups.push(o),this.updatePopups()},t.prototype.removePopup=function(o){var s=this.popups.indexOf(o);-1!==s&&(this.popups.splice(s,1),this.updatePopups())},t.prototype.updatePopups=function(){var o,s,c,g;this.popups.sort(function(u,A){return A.priority-u.priority});var w=[];try{for(var p=k(this.popups),b=p.next();!b.done;b=p.next()){var y=b.value,d=!0;try{for(var v=(c=void 0,k(w)),$=v.next();!$.done;$=v.next())if(this.doPopupsOverlap($.value,y)){d=!1;break}}catch(u){c={error:u}}finally{try{$&&!$.done&&(g=v.return)&&g.call(v)}finally{if(c)throw c.error}}d?w.push(y):y.hide()}}catch(u){o={error:u}}finally{try{b&&!b.done&&(s=p.return)&&s.call(p)}finally{if(o)throw o.error}}},t.prototype.doPopupsOverlap=function(o,s){var c=o.getElement().getBoundingClientRect(),g=s.getElement().getBoundingClientRect();return c.leftg.left&&c.topg.top},t}(),n=new i;M.popupManager=n,M.Tooltip=r;var e=function(t){function o(s){void 0===s&&(s=document.body);var c=t.call(this,s)||this;c.timeout=void 0,c.lastT=0,c.idleTime=350,c.lastEvent=void 0,c.onMouseOut=c.onMouseOut.bind(c),c.onMouseMove=c.onMouseMove.bind(c),c.waitForHover=c.waitForHover.bind(c),c.hide=c.hide.bind(c);var g=c.getElement();return g.style.whiteSpace="pre-wrap",g.style.pointerEvents="auto",g.addEventListener("mouseout",c.onMouseOut),g.tabIndex=-1,g.addEventListener("blur",function(){g.contains(document.activeElement)||this.hide()}.bind(c)),c}return x(o,t),o.prototype.addToEditor=function(s){s.on("mousemove",this.onMouseMove),s.on("mousedown",this.hide),s.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},o.prototype.removeFromEditor=function(s){s.off("mousemove",this.onMouseMove),s.off("mousedown",this.hide),s.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},o.prototype.onMouseMove=function(s,c){this.lastEvent=s,this.lastT=Date.now();var g=c.$mouseHandler.isMousePressed;if(this.isOpen){var w=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(w.row,w.column)||g||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||g||(this.lastEvent=s,this.timeout=setTimeout(this.waitForHover,this.idleTime))},o.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var s=Date.now()-this.lastT;this.idleTime-s>10?this.timeout=setTimeout(this.waitForHover,this.idleTime-s):(this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor))},o.prototype.isOutsideOfText=function(s){var c=s.editor,g=s.getDocumentPosition(),w=c.session.getLine(g.row);if(g.column==w.length){var p=c.renderer.pixelToScreenCoordinates(s.clientX,s.clientY),b=c.session.documentToScreenPosition(g.row,g.column);if(b.column!=p.column||b.row!=p.row)return!0}return!1},o.prototype.setDataProvider=function(s){this.$gatherData=s},o.prototype.showForRange=function(s,c,g,w){if(!(w&&w!=this.lastEvent||this.isOpen&&document.activeElement==this.getElement())){var p=s.renderer;this.isOpen||(n.addPopup(this),this.$registerCloseEvents(),this.setTheme(p.theme)),this.isOpen=!0,this.addMarker(c,s.session),this.range=a.fromPoints(c.start,c.end);var b=this.getElement();b.innerHTML="",b.appendChild(g),b.style.display="block";var y=p.textToScreenCoordinates(c.start.row,c.start.column),d=s.getCursorPosition(),v=b.clientHeight,$=p.scroller.getBoundingClientRect(),f=!0;this.row>d.row?f=!0:this.row$.bottom&&(f=!1),f?y.pageY+=p.lineHeight:y.pageY-=v,b.style.maxWidth=$.width-(y.pageX-$.left)+"px",this.setPosition(y.pageX,y.pageY)}},o.prototype.addMarker=function(s,c){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=c,this.marker=c&&c.addMarker(s,"ace_highlight-marker","text")},o.prototype.hide=function(s){!s&&document.activeElement==this.getElement()||s&&s.target&&("keydown"!=s.type||s.ctrlKey||s.metaKey)&&this.$element.contains(s.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,n.removePopup(this)))},o.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("mousewheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},o.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("mousewheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},o.prototype.onMouseOut=function(s){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!s.relatedTarget||s.relatedTarget==this.getElement()||s&&s.currentTarget.contains(s.relatedTarget)||s.relatedTarget.classList.contains("ace_content")||this.hide())},o}(r);M.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],function(E,M,H){"use strict";var e,x=this&&this.__extends||(e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,c){s.__proto__=c}||function(s,c){for(var g in c)Object.prototype.hasOwnProperty.call(c,g)&&(s[g]=c[g])})(t,o)},function(t,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function s(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(s.prototype=o.prototype,new s)}),k=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,o=t&&e[t],s=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&s>=e.length&&(e=void 0),{value:e&&e[s++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},S=E("../lib/dom"),a=E("../lib/event"),l=E("../tooltip").Tooltip,r=E("../config").nls;M.GutterHandler=function i(e){var c,g,t=e.editor,o=t.renderer.$gutterLayer,s=new n(t);function p(){c&&(c=clearTimeout(c)),s.isOpen&&(s.hideTooltip(),t.off("mousewheel",p))}function b(y){s.setPosition(y.x,y.y)}e.editor.setDefaultHandler("guttermousedown",function(y){if(t.isFocused()&&0==y.getButton()&&"foldWidgets"!=o.getRegion(y)){var v=y.getDocumentPosition().row,$=t.session.selection;if(y.getShiftKey())$.selectTo(v,0);else{if(2==y.domEvent.detail)return t.selectAll(),y.preventDefault();e.$clickSelection=t.selection.getLineRange(v)}return e.setState("selectByLines"),e.captureMouse(y),y.preventDefault()}}),e.editor.setDefaultHandler("guttermousemove",function(y){if(S.hasCssClass(y.domEvent.target||y.domEvent.srcElement,"ace_fold-widget"))return p();s.isOpen&&e.$tooltipFollowsMouse&&b(y),g=y,!c&&(c=setTimeout(function(){c=null,g&&!e.isMousePressed?function w(){var y=g.getDocumentPosition().row;if(y==t.session.getLength()){var v=t.renderer.pixelToScreenCoordinates(0,g.y).row,$=g.$pos;if(v>t.session.documentToScreenRow($.row,$.column))return p()}if(s.showTooltip(y),s.isOpen)if(t.on("mousewheel",p),e.$tooltipFollowsMouse)b(g);else{var f=g.getGutterRow(),u=o.$lines.get(f);if(u){var m=u.element.querySelector(".ace_gutter_annotation").getBoundingClientRect(),h=s.getElement().style;h.left=m.right+"px",h.top=m.bottom+"px"}else b(g)}}():p()},50))}),a.addListener(t.renderer.$gutter,"mouseout",function(y){g=null,s.isOpen&&!c&&(c=setTimeout(function(){c=null,p()},50))},t),t.on("changeSession",p),t.on("input",p)};var n=function(e){function t(o){var s=e.call(this,o.container)||this;return s.editor=o,s}return x(t,e),t.prototype.setPosition=function(o,s){var c=window.innerWidth||document.documentElement.clientWidth,g=window.innerHeight||document.documentElement.clientHeight,w=this.getWidth(),p=this.getHeight();(o+=15)+w>c&&(o-=o+w-c),(s+=15)+p>g&&(s-=20+p),l.prototype.setPosition.call(this,o,s)},Object.defineProperty(t,"annotationLabels",{get:function(){return{error:{singular:r("error"),plural:r("errors")},warning:{singular:r("warning"),plural:r("warnings")},info:{singular:r("information message"),plural:r("information messages")}}},enumerable:!1,configurable:!0}),t.prototype.showTooltip=function(o){var g,s=this.editor.renderer.$gutterLayer,c=s.$annotations[o];g=c?{text:Array.from(c.text),type:Array.from(c.type)}:{text:[],type:[]};var w=s.session.getFoldLine(o);if(w&&s.$showFoldedAnnotations){for(var b,p={error:[],warning:[],info:[]},y=o+1;y<=w.end.row;y++)if(s.$annotations[y])for(var d=0;d ").concat(g.text[y]);f[g.type[y].replace("_fold","")].push(A)}var m=[].concat(f.error,f.warning,f.info).join("
");this.setHtml(m),this.$element.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.editor._signal("showGutterTooltip",this)},t.prototype.hideTooltip=function(){this.$element.removeAttribute("aria-live"),this.hide(),this.editor._signal("hideGutterTooltip",this)},t.annotationsToSummaryString=function(o){var s,c,g=[];try{for(var p=k(["error","warning","info"]),b=p.next();!b.done;b=p.next()){var y=b.value;if(o[y].length){var d=1===o[y].length?t.annotationLabels[y].singular:t.annotationLabels[y].plural;g.push("".concat(o[y].length," ").concat(d))}}}catch(v){s={error:v}}finally{try{b&&!b.done&&(c=p.return)&&c.call(p)}finally{if(s)throw s.error}}return g.join(", ")},t}(l);M.GutterTooltip=n}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(E,M,H){"use strict";var x=E("../lib/event"),k=E("../lib/useragent"),S=function(){function a(l,r){this.domEvent=l,this.editor=r,this.x=this.clientX=l.clientX,this.y=this.clientY=l.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return a.prototype.stopPropagation=function(){x.stopPropagation(this.domEvent),this.propagationStopped=!0},a.prototype.preventDefault=function(){x.preventDefault(this.domEvent),this.defaultPrevented=!0},a.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},a.prototype.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},a.prototype.getGutterRow=function(){var l=this.getDocumentPosition().row;return this.editor.session.documentToScreenRow(l,0)-this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0)},a.prototype.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var r=this.editor.getSelectionRange();if(r.isEmpty())this.$inSelection=!1;else{var i=this.getDocumentPosition();this.$inSelection=r.contains(i.row,i.column)}return this.$inSelection},a.prototype.getButton=function(){return x.getButton(this.domEvent)},a.prototype.getShiftKey=function(){return this.domEvent.shiftKey},a.prototype.getAccelKey=function(){return k.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},a}();M.MouseEvent=S}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(E,M,H){"use strict";var x=E("../lib/dom"),k=E("../lib/event"),S=E("../lib/useragent");function i(e){var t=e.editor,o=x.createElement("div");o.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",o.textContent="\xa0",["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach(function(D){e[D]=this[D]},this),t.on("mousedown",this.onMouseDown.bind(e));var g,w,p,b,y,d,$,f,u,A,m,c=t.container,v=0;function L(){var D=d;(function h(D,F){var B=Date.now();A&&F&&D.row==F.row&&F&&D.column==F.column?n(m.x,m.y,w,p)>5?A=null:B-A>=200&&(t.renderer.scrollCursorIntoView(),A=null):(t.moveCursorToPosition(D),A=B,m={x:w,y:p})})(d=t.renderer.screenToTextCoordinates(w,p),D),function C(D,F){var B=Date.now(),V=t.renderer.layerConfig.lineHeight,P=t.renderer.layerConfig.characterWidth,G=t.renderer.scroller.getBoundingClientRect(),z={x:{left:w-G.left,right:G.right-w},y:{top:p-G.top,bottom:G.bottom-p}},K=Math.min(z.x.left,z.x.right),Y=Math.min(z.y.top,z.y.bottom),U={row:D.row,column:D.column};K/P<=2&&(U.column+=z.x.left=200&&t.renderer.scrollCursorIntoView(U):u=B:u=null}(d,D)}function T(){y=t.selection.toOrientedRange(),g=t.session.addMarker(y,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(b),L(),b=setInterval(L,20),v=0,k.addListener(document,"mousemove",O)}function R(){clearInterval(b),t.session.removeMarker(g),g=null,t.selection.fromOrientedRange(y),t.isFocused()&&!f&&t.$resetCursorStyle(),y=null,d=null,v=0,u=null,A=null,k.removeListener(document,"mousemove",O)}this.onDragStart=function(D){if(this.cancelDrag||!c.draggable){var F=this;return setTimeout(function(){F.startSelect(),F.captureMouse(D)},0),D.preventDefault()}y=t.getSelectionRange();var B=D.dataTransfer;B.effectAllowed=t.getReadOnly()?"copy":"copyMove",t.container.appendChild(o),B.setDragImage&&B.setDragImage(o,0,0),setTimeout(function(){t.container.removeChild(o)}),B.clearData(),B.setData("Text",t.session.getTextRange()),f=!0,this.setState("drag")},this.onDragEnd=function(D){c.draggable=!1,f=!1,this.setState(null),t.getReadOnly()||(!$&&"move"==D.dataTransfer.dropEffect&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(D){if(!t.getReadOnly()&&I(D.dataTransfer))return w=D.clientX,p=D.clientY,g||T(),v++,D.dataTransfer.dropEffect=$=W(D),k.preventDefault(D)},this.onDragOver=function(D){if(!t.getReadOnly()&&I(D.dataTransfer))return w=D.clientX,p=D.clientY,g||(T(),v++),null!==_&&(_=null),D.dataTransfer.dropEffect=$=W(D),k.preventDefault(D)},this.onDragLeave=function(D){if(--v<=0&&g)return R(),$=null,k.preventDefault(D)},this.onDrop=function(D){if(d){var F=D.dataTransfer;if(f)switch($){case"move":y=y.contains(d.row,d.column)?{start:d,end:d}:t.moveText(y,d);break;case"copy":y=t.moveText(y,d,!0)}else{var B=F.getData("Text");y={start:d,end:t.session.insert(d,B)},t.focus(),$=null}return R(),k.preventDefault(D)}},k.addListener(c,"dragstart",this.onDragStart.bind(e),t),k.addListener(c,"dragend",this.onDragEnd.bind(e),t),k.addListener(c,"dragenter",this.onDragEnter.bind(e),t),k.addListener(c,"dragover",this.onDragOver.bind(e),t),k.addListener(c,"dragleave",this.onDragLeave.bind(e),t),k.addListener(c,"drop",this.onDrop.bind(e),t);var _=null;function O(){null==_&&(_=setTimeout(function(){null!=_&&g&&R()},20))}function I(D){var F=D.types;return!F||Array.prototype.some.call(F,function(B){return"text/plain"==B||"Text"==B})}function W(D){var F=["copy","copymove","all","uninitialized"],V=S.isMac?D.altKey:D.ctrlKey,P="uninitialized";try{P=D.dataTransfer.effectAllowed.toLowerCase()}catch{}var G="none";return V&&F.indexOf(P)>=0?G="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(P)>=0?G="move":F.indexOf(P)>=0&&(G="copy"),G}}function n(e,t,o,s){return Math.sqrt(Math.pow(o-e,2)+Math.pow(s-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging"),e.renderer.setCursorStyle(S.isWin?"default":"move"),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;S.isIE&&"dragReady"==this.state&&n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop(),"dragWait"===this.state&&n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,o=e.inSelection(),s=e.getButton();if(1===(e.domEvent.detail||1)&&0===s&&o){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var g=e.domEvent.target||e.domEvent.srcElement;"unselectable"in g&&(g.unselectable="on"),t.getDragDelay()?(S.isWebKit&&(this.cancelDrag=!0,t.container.draggable=!0),this.setState("dragWait")):this.startDrag(),this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(i.prototype),M.DragdropHandler=i}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(E,M,H){"use strict";var x=E("./mouse_event").MouseEvent,k=E("../lib/event"),S=E("../lib/dom");M.addTouchListeners=function(a,l){var i,n,e,t,o,s,g,y,d,r="scroll",c=0,w=0,p=0,b=0;function $(){d||function v(){var h=window.navigator&&window.navigator.clipboard,C=!1,T=function(R){var _=R.target.getAttribute("action");if("more"==_||!C)return C=!C,function(){var R=l.getCopyText(),_=l.session.getUndoManager().hasUndo();d.replaceChild(S.buildDom(C?["span",!R&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],R&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],R&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],h&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],_&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],["span",{class:"ace_mobile-button",action:"find"},"Find"],["span",{class:"ace_mobile-button",action:"openCommandPallete"},"Palette"]]:["span"]),d.firstChild)}();"paste"==_?h.readText().then(function(O){l.execCommand(_,O)}):_&&(("cut"==_||"copy"==_)&&(h?h.writeText(l.getCopyText()):document.execCommand("copy")),l.execCommand(_)),d.firstChild.style.display="none",C=!1,"openCommandPallete"!=_&&l.focus()};d=S.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(R){r="menu",R.stopPropagation(),R.preventDefault(),l.textInput.focus()},ontouchend:function(R){R.stopPropagation(),R.preventDefault(),T(R)},onclick:T},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],l.container)}();var h=l.selection.cursor,C=l.renderer.textToScreenCoordinates(h.row,h.column),L=l.renderer.textToScreenCoordinates(0,0).pageX,T=l.renderer.scrollLeft,R=l.container.getBoundingClientRect();d.style.top=C.pageY-R.top-3+"px",C.pageX-R.left1)return clearTimeout(o),o=null,e=-1,void(r="zoom");y=l.$mouseHandler.isMousePressed=!0;var L=l.renderer.layerConfig.lineHeight,T=l.renderer.layerConfig.lineHeight,R=h.timeStamp;t=R;var _=C[0],O=_.clientX,I=_.clientY;Math.abs(i-O)+Math.abs(n-I)>L&&(e=-1),i=h.clientX=O,n=h.clientY=I,p=b=0;var W=new x(h,l);if(g=W.getDocumentPosition(),R-e<500&&1==C.length&&!c)w++,h.preventDefault(),h.button=0,function A(){o=null,clearTimeout(o),l.selection.moveToPosition(g);var h=w>=2?l.selection.getLineRange(g.row):l.session.getBracketRange(g);h&&!h.isEmpty()?l.selection.setRange(h):l.selection.selectWord(),r="wait"}();else{w=0;var D=l.selection.cursor,F=l.selection.isEmpty()?D:l.selection.anchor,B=l.renderer.$cursorLayer.getPixelPosition(D,!0),V=l.renderer.$cursorLayer.getPixelPosition(F,!0),P=l.renderer.scroller.getBoundingClientRect(),G=l.renderer.layerConfig.offset,z=l.renderer.scrollLeft,K=function(J,q){return(J/=T)*J+(q=q/L-.75)*q};if(h.clientXU?"cursor":"anchor"),r=U<3.5?"anchor":Y<3.5?"cursor":"scroll",o=setTimeout(u,450)}e=R},l),k.addListener(a,"touchend",function(h){y=l.$mouseHandler.isMousePressed=!1,s&&clearInterval(s),"zoom"==r?(r="",c=0):o?(l.selection.moveToPosition(g),c=0,$()):"scroll"==r?(function m(){c+=60,s=setInterval(function(){c--<=0&&(clearInterval(s),s=null),Math.abs(p)<.01&&(p=0),Math.abs(b)<.01&&(b=0),c<20&&(p*=.9),c<20&&(b*=.9);var h=l.session.getScrollTop();l.renderer.scrollBy(10*p,10*b),h==l.session.getScrollTop()&&(c=0)},10)}(),f()):$(),clearTimeout(o),o=null},l),k.addListener(a,"touchmove",function(h){o&&(clearTimeout(o),o=null);var C=h.touches;if(!(C.length>1||"zoom"==r)){var L=C[0],T=i-L.clientX,R=n-L.clientY;if("wait"==r){if(!(T*T+R*R>4))return h.preventDefault();r="cursor"}i=L.clientX,n=L.clientY,h.clientX=L.clientX,h.clientY=L.clientY;var _=h.timeStamp,O=_-t;if(t=_,"scroll"==r){var I=new x(h,l);I.speed=1,I.wheelX=T,I.wheelY=R,10*Math.abs(T)=z){for(q=J+1;q=z;)q++;for(ee=J,Q=q-1;ee=K.length||2!=(q=Y[U-1])&&3!=q||2!=(ee=K[U+1])&&3!=ee?4:(l&&(ee=3),ee==q?ee:4);case 10:return 2==(q=U>0?Y[U-1]:5)&&U+10&&2==Y[U-1])return 2;if(l)return 4;for(ne=U+1,Q=K.length;ne=1425&&fe<=2303||64286==fe)&&(1==q||7==q))return 1}return U<1||5==(q=K[U-1])?4:Y[U-1];case 5:return l=!1,i=!0,S;case 6:return n=!0,4;case 13:case 14:case 16:case 17:case 15:l=!1;case I:return 4}}function P(z){var K=z.charCodeAt(0),Y=K>>8;return 0==Y?K>191?0:W[K]:5==Y?/[\u0591-\u05f4]/.test(z)?1:0:6==Y?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(z)?12:/[\u0660-\u0669\u066b-\u066c]/.test(z)?3:1642==K?h:/[\u06f0-\u06f9]/.test(z)?2:7:32==Y&&K<=8287?D[255&K]:254==Y&&K>=65136?7:4}M.L=0,M.R=1,M.EN=2,M.ON_R=3,M.AN=4,M.R_H=5,M.B=6,M.RLE=7,M.DOT="\xb7",M.doBidiReorder=function(z,K,Y){if(z.length<2)return{};var U=z.split(""),J=new Array(U.length),q=new Array(U.length),ee=[];S=Y?1:0,function F(z,K,Y,U){var J=S?s:o,q=null,ee=null,Q=null,ne=0,fe=null,de=-1,ae=null,ce=null,me=[];if(!U)for(ae=0,U=[];ae0)if(16==fe){for(ae=de;ae-1){for(ae=de;ae=0&&8==U[pe];pe--)K[pe]=S}}(U,ee,U.length,K);for(var Q=0;Q7&&K[Q]<13||4===K[Q]||K[Q]===I)?ee[Q]=M.ON_R:Q>0&&"\u0644"===U[Q-1]&&/\u0622|\u0623|\u0625|\u0627/.test(U[Q])&&(ee[Q-1]=ee[Q]=M.R_H,Q++);for(U[U.length-1]===M.DOT&&(ee[U.length-1]=M.B),"\u202b"===U[0]&&(ee[0]=M.RLE),Q=0;Q=0&&(r=this.session.$docRowCache[n])}return r},l.prototype.getSplitIndex=function(){var r=0,i=this.session.$screenRowCache;if(i.length)for(var n,e=this.session.$getRowCacheIndex(i,this.currentRow);this.currentRow-r>0&&(n=this.session.$getRowCacheIndex(i,this.currentRow-r-1))===e;)e=n,r++;else r=this.currentRow;return r},l.prototype.updateRowLine=function(r,i){void 0===r&&(r=this.getDocumentRow());var e=r===this.session.getLength()-1?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 t=this.session.$wrapData[r];t&&(void 0===i&&(i=this.getSplitIndex()),i>0&&t.length?(this.wrapIndent=t.indent,this.wrapOffset=this.wrapIndent*this.charWidths[x.L],this.line=ii?this.session.getOverwrite()?r:r-1:i,e=x.getVisualFromLogicalIdx(n,this.bidiMap),t=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&r<=i&&t[e]%2!=0&&e++;for(var s=0;si&&t[e]%2==0&&(o+=this.charWidths[t[e]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},l.prototype.getSelections=function(r,i){var t,n=this.bidiMap,e=n.bidiLevels,o=[],s=0,c=Math.min(r,i)-this.wrapIndent,g=Math.max(r,i)-this.wrapIndent,w=!1,p=!1,b=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var y,d=0;d=c&&ye+s/2;){if(e+=s,t===o.length-1){s=0;break}s=this.charWidths[o[++t]]}return t>0&&o[t-1]%2!=0&&o[t]%2==0?(n0&&o[t-1]%2==0&&o[t]%2!=0?i=1+(n>e?this.bidiMap.logicalFromVisual[t]:this.bidiMap.logicalFromVisual[t-1]):this.isRtlDir&&t===o.length-1&&0===s&&o[t-1]%2==0||!this.isRtlDir&&0===t&&o[t]%2!=0?i=1+this.bidiMap.logicalFromVisual[t]:(t>0&&o[t-1]%2!=0&&0!==s&&t--,i=this.bidiMap.logicalFromVisual[t]),0===i&&this.isRtlDir&&i++,i+this.wrapIndent},l}();M.BidiHandler=a}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(E,M,H){"use strict";var x=E("./lib/oop"),k=E("./lib/lang"),S=E("./lib/event_emitter").EventEmitter,a=E("./range").Range,l=function(){function r(i){this.session=i,this.doc=i.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(e){n.$cursorChanged=!0,n.$silent||n._emit("changeCursor"),!n.$isEmpty&&!n.$silent&&n._emit("changeSelection"),!n.$keepDesiredColumnOnChange&&e.old.column!=e.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(i,n){this.$isEmpty=!1,this.anchor.setPosition(i,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 i=this.anchor,n=this.lead;return i.row>n.row||i.row==n.row&&i.column>n.column},r.prototype.getRange=function(){var i=this.anchor,n=this.lead;return this.$isEmpty?a.fromPoints(n,n):this.isBackwards()?a.fromPoints(n,i):a.fromPoints(i,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(i,n){var e=n?i.end:i.start,t=n?i.start:i.end;this.$setSelection(e.row,e.column,t.row,t.column)},r.prototype.$setSelection=function(i,n,e,t){if(!this.$silent){var o=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(i,n),this.cursor.setPosition(e,t),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||o!=this.$isEmpty||s)&&this._emit("changeSelection")}},r.prototype.$moveSelection=function(i){var n=this.lead;this.$isEmpty&&this.setSelectionAnchor(n.row,n.column),i.call(this)},r.prototype.selectTo=function(i,n){this.$moveSelection(function(){this.moveCursorTo(i,n)})},r.prototype.selectToPosition=function(i){this.$moveSelection(function(){this.moveCursorToPosition(i)})},r.prototype.moveTo=function(i,n){this.clearSelection(),this.moveCursorTo(i,n)},r.prototype.moveToPosition=function(i){this.clearSelection(),this.moveCursorToPosition(i)},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(i,n){if(typeof n>"u"){var e=i||this.lead;i=e.row,n=e.column}return this.session.getWordRange(i,n)},r.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},r.prototype.selectAWord=function(){var i=this.getCursor(),n=this.session.getAWordRange(i.row,i.column);this.setSelectionRange(n)},r.prototype.getLineRange=function(i,n){var t,e="number"==typeof i?i:this.lead.row,o=this.session.getFoldLine(e);return o?(e=o.start.row,t=o.end.row):t=e,!0===n?new a(e,0,t,this.session.getLine(t).length):new a(e,0,t+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(i,n,e){var t=i.column,o=i.column+n;return e<0&&(t=i.column-n,o=i.column),this.session.isTabStop(i)&&this.doc.getLine(i.row).slice(t,o).split(" ").length-1==n},r.prototype.moveCursorLeft=function(){var n,i=this.lead.getPosition();if(n=this.session.getFoldAt(i.row,i.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(0===i.column)i.row>0&&this.moveCursorTo(i.row-1,this.doc.getLine(i.row-1).length);else{var e=this.session.getTabSize();this.wouldMoveIntoSoftTab(i,e,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-e):this.moveCursorBy(0,-1)}},r.prototype.moveCursorRight=function(){var n,i=this.lead.getPosition();if(n=this.session.getFoldAt(i.row,i.column,1))this.moveCursorTo(n.end.row,n.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(n.column=t)}}this.moveCursorTo(n.row,n.column)},r.prototype.moveCursorFileEnd=function(){var i=this.doc.getLength()-1,n=this.doc.getLine(i).length;this.moveCursorTo(i,n)},r.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},r.prototype.moveCursorLongWordRight=function(){var i=this.lead.row,n=this.lead.column,e=this.doc.getLine(i),t=e.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var o=this.session.getFoldAt(i,n,1);if(!o)return this.session.nonTokenRe.exec(t)&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,t=e.substring(n)),n>=e.length?(this.moveCursorTo(i,e.length),this.moveCursorRight(),void(i0&&this.moveCursorWordLeft());this.session.tokenRe.exec(o)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(i,n)}},r.prototype.$shortWordEndIndex=function(i){var e,n=0,t=/\s/,o=this.session.tokenRe;if(o.lastIndex=0,this.session.tokenRe.exec(i))n=this.session.tokenRe.lastIndex;else{for(;(e=i[n])&&t.test(e);)n++;if(n<1)for(o.lastIndex=0;(e=i[n])&&!o.test(e);)if(o.lastIndex=0,n++,t.test(e)){if(n>2){n--;break}for(;(e=i[n])&&t.test(e);)n++;if(n>2)break}}return o.lastIndex=0,n},r.prototype.moveCursorShortWordRight=function(){var i=this.lead.row,n=this.lead.column,e=this.doc.getLine(i),t=e.substring(n),o=this.session.getFoldAt(i,n,1);if(o)return this.moveCursorTo(o.end.row,o.end.column);if(n==e.length){var s=this.doc.getLength();do{i++,t=this.doc.getLine(i)}while(i0&&/^\s*$/.test(t));n=t.length,/\s+$/.test(t)||(t="")}var o=k.stringReverse(t),s=this.$shortWordEndIndex(o);return this.moveCursorTo(i,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(i,n){var t,e=this.session.documentToScreenPosition(this.lead.row,this.lead.column);if(0===n&&(0!==i&&(this.session.$bidiHandler.isBidiRow(e.row,this.lead.row)?(t=this.session.$bidiHandler.getPosLeft(e.column),e.column=Math.round(t/this.session.$bidiHandler.charWidths[0])):t=e.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?e.column=this.$desiredColumn:this.$desiredColumn=e.column),0!=i&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var o=this.session.lineWidgets[this.lead.row];i<0?i-=o.rowsAbove||0:i>0&&(i+=o.rowCount-(o.rowsAbove||0))}var s=this.session.screenToDocumentPosition(e.row+i,e.column,t);this.moveCursorTo(s.row,s.column+n,0===n)},r.prototype.moveCursorToPosition=function(i){this.moveCursorTo(i.row,i.column)},r.prototype.moveCursorTo=function(i,n,e){var t=this.session.getFoldAt(i,n,1);t&&(i=t.start.row,n=t.start.column),this.$keepDesiredColumnOnChange=!0;var o=this.session.getLine(i);/[\uDC00-\uDFFF]/.test(o.charAt(n))&&o.charAt(n-1)&&(this.lead.row==i&&this.lead.column==n+1?n-=1:n+=1),this.lead.setPosition(i,n),this.$keepDesiredColumnOnChange=!1,e||(this.$desiredColumn=null)},r.prototype.moveCursorToScreen=function(i,n,e){var t=this.session.screenToDocumentPosition(i,n);this.moveCursorTo(t.row,t.column,e)},r.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},r.prototype.fromOrientedRange=function(i){this.setSelectionRange(i,i.cursor==i.start),this.$desiredColumn=i.desiredColumn||this.$desiredColumn},r.prototype.toOrientedRange=function(i){var n=this.getRange();return i?(i.start.column=n.start.column,i.start.row=n.start.row,i.end.column=n.end.column,i.end.row=n.end.row):i=n,i.cursor=this.isBackwards()?i.start:i.end,i.desiredColumn=this.$desiredColumn,i},r.prototype.getRangeOfMovements=function(i){var n=this.getCursor();try{i(this);var e=this.getCursor();return a.fromPoints(n,e)}catch{return a.fromPoints(n,n)}finally{this.moveCursorToPosition(n)}},r.prototype.toJSON=function(){if(this.rangeCount)var i=this.ranges.map(function(n){var e=n.clone();return e.isBackwards=n.cursor==n.start,e});else(i=this.getRange()).isBackwards=this.isBackwards();return i},r.prototype.fromJSON=function(i){if(null==i.start){if(this.rangeList&&i.length>1){this.toSingleRange(i[0]);for(var n=i.length;n--;){var e=a.fromPoints(i[n].start,i[n].end);i[n].isBackwards&&(e.cursor=e.start),this.addRange(e,!0)}return}i=i[0]}this.rangeList&&this.toSingleRange(i),this.setSelectionRange(i,i.isBackwards)},r.prototype.isEqual=function(i){if((i.length||this.rangeCount)&&i.length!=this.rangeCount)return!1;if(!i.length||!this.ranges)return this.getRange().isEqual(i);for(var n=this.ranges.length;n--;)if(!this.ranges[n].isEqual(i[n]))return!1;return!0},r}();l.prototype.setSelectionAnchor=l.prototype.setAnchor,l.prototype.getSelectionAnchor=l.prototype.getAnchor,l.prototype.setSelectionRange=l.prototype.setRange,x.implement(l.prototype,S),M.Selection=l}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(E,M,H){"use strict";var x=E("./config"),k=2e3,S=function(){function a(l){for(var r in this.states=l,this.regExps={},this.matchMappings={},this.states){for(var i=this.states[r],n=[],e=0,t=this.matchMappings[r]={defaultToken:"text"},o="g",s=[],c=0;c1?this.$applyToken:g.token),p>1&&(/\\\d/.test(g.regex)?w=g.regex.replace(/\\([0-9]+)/g,function(b,y){return"\\"+(parseInt(y,10)+e+1)}):(p=1,w=this.removeCapturingGroups(g.regex)),!g.splitRegex&&"string"!=typeof g.token&&s.push(g)),t[e]=c,e+=p,n.push(w),g.onMatch||(g.onMatch=null)}}n.length||(t[0]=0,n.push("$")),s.forEach(function(b){b.splitRegex=this.createSplitterRegexp(b.regex,o)},this),this.regExps[r]=new RegExp("("+n.join(")|(")+")|($)",o)}}return a.prototype.$setMaxTokenCount=function(l){k=0|l},a.prototype.$applyToken=function(l){var r=this.splitRegex.exec(l).slice(1),i=this.token.apply(this,r);if("string"==typeof i)return[{type:i,value:l}];for(var n=[],e=0,t=i.length;eg){var $=l.substring(g,v-d.length);p.type==b?p.value+=$:(p.type&&c.push(p),p={type:b,value:$})}for(var f=0;fk){for(w>2*l.length&&this.reportError("infinite loop with in ace tokenizer",{startState:r,line:l});g1&&i[0]!==n&&i.unshift("#tmp",n),{tokens:c,state:i.length?i:n}},a}();S.prototype.reportError=x.reportError,M.Tokenizer=S}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(E,M,H){"use strict";var x=E("../lib/lang"),k=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(l,r){if(r)for(var i in l){for(var n=l[i],e=0;e=this.$rowTokens.length;){if(this.$row+=1,a||(a=this.$session.getLength()),this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},S.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},S.prototype.getCurrentTokenRow=function(){return this.$row},S.prototype.getCurrentTokenColumn=function(){var a=this.$rowTokens,l=this.$tokenIndex,r=a[l].start;if(void 0!==r)return r;for(r=0;l>0;)r+=a[l-=1].value.length;return r},S.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},S.prototype.getCurrentTokenRange=function(){var a=this.$rowTokens[this.$tokenIndex],l=this.getCurrentTokenColumn();return new x(this.$row,l,this.$row,l+a.value.length)},S}();M.TokenIterator=k}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(E,M,H){"use strict";var i,x=E("../../lib/oop"),k=E("../behaviour").Behaviour,S=E("../../token_iterator").TokenIterator,a=E("../../lib/lang"),l=["text","paren.rparen","rparen","paren","punctuation.operator"],r=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],n={},e={'"':'"',"'":"'"},t=function(c){var g=-1;if(c.multiSelect&&(g=c.selection.index,n.rangeCount!=c.multiSelect.rangeCount&&(n={rangeCount:c.multiSelect.rangeCount})),n[g])return i=n[g];i=n[g]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},o=function(c,g,w,p){var b=c.end.row-c.start.row;return{text:w+g+p,selection:[0,c.start.column+1,b,c.end.column+(b?0:1)]}},s=function(c){c=c||{},this.add("braces","insertion",function(g,w,p,b,y){var d=p.getCursorPosition(),v=b.doc.getLine(d.row);if("{"==y){t(p);var $=p.getSelectionRange(),f=b.doc.getTextRange($);if(""!==f&&"{"!==f&&p.getWrapBehavioursEnabled())return o($,f,"{","}");if(s.isSaneInsertion(p,b))return/[\]\}\)]/.test(v[d.column])||p.inMultiSelectMode||c.braces?(s.recordAutoInsert(p,b,"}"),{text:"{}",selection:[1,1]}):(s.recordMaybeInsert(p,b,"{"),{text:"{",selection:[1,1]})}else if("}"==y){if(t(p),"}"==v.substring(d.column,d.column+1)&&null!==b.$findOpeningBracket("}",{column:d.column+1,row:d.row})&&s.isAutoInsertedClosing(d,v,y))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==y||"\r\n"==y){t(p);var m="";if(s.isMaybeInsertedClosing(d,v)&&(m=a.stringRepeat("}",i.maybeInsertedBrackets),s.clearMaybeInsertedClosing()),"}"===v.substring(d.column,d.column+1)){var h=b.findMatchingBracket({row:d.row,column:d.column+1},"}");if(!h)return null;var C=this.$getIndent(b.getLine(h.row))}else{if(!m)return void s.clearMaybeInsertedClosing();C=this.$getIndent(v)}var L=C+b.getTabString();return{text:"\n"+L+"\n"+C+m,selection:[1,L.length,1,L.length]}}s.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(g,w,p,b,y){var d=b.doc.getTextRange(y);if(!y.isMultiLine()&&"{"==d){if(t(p),"}"==b.doc.getLine(y.start.row).substring(y.end.column,y.end.column+1))return y.end.column++,y;i.maybeInsertedBrackets--}}),this.add("parens","insertion",function(g,w,p,b,y){if("("==y){t(p);var d=p.getSelectionRange(),v=b.doc.getTextRange(d);if(""!==v&&p.getWrapBehavioursEnabled())return o(d,v,"(",")");if(s.isSaneInsertion(p,b))return s.recordAutoInsert(p,b,")"),{text:"()",selection:[1,1]}}else if(")"==y){t(p);var $=p.getCursorPosition(),f=b.doc.getLine($.row);if(")"==f.substring($.column,$.column+1)&&null!==b.$findOpeningBracket(")",{column:$.column+1,row:$.row})&&s.isAutoInsertedClosing($,f,y))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("parens","deletion",function(g,w,p,b,y){var d=b.doc.getTextRange(y);if(!y.isMultiLine()&&"("==d&&(t(p),")"==b.doc.getLine(y.start.row).substring(y.start.column+1,y.start.column+2)))return y.end.column++,y}),this.add("brackets","insertion",function(g,w,p,b,y){if("["==y){t(p);var d=p.getSelectionRange(),v=b.doc.getTextRange(d);if(""!==v&&p.getWrapBehavioursEnabled())return o(d,v,"[","]");if(s.isSaneInsertion(p,b))return s.recordAutoInsert(p,b,"]"),{text:"[]",selection:[1,1]}}else if("]"==y){t(p);var $=p.getCursorPosition(),f=b.doc.getLine($.row);if("]"==f.substring($.column,$.column+1)&&null!==b.$findOpeningBracket("]",{column:$.column+1,row:$.row})&&s.isAutoInsertedClosing($,f,y))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("brackets","deletion",function(g,w,p,b,y){var d=b.doc.getTextRange(y);if(!y.isMultiLine()&&"["==d&&(t(p),"]"==b.doc.getLine(y.start.row).substring(y.start.column+1,y.start.column+2)))return y.end.column++,y}),this.add("string_dquotes","insertion",function(g,w,p,b,y){var d=b.$mode.$quotes||e;if(1==y.length&&d[y]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(y))return;t(p);var v=y,$=p.getSelectionRange(),f=b.doc.getTextRange($);if(""!==f&&(1!=f.length||!d[f])&&p.getWrapBehavioursEnabled())return o($,f,v,v);if(!f){var u=p.getCursorPosition(),A=b.doc.getLine(u.row),m=A.substring(u.column-1,u.column),h=A.substring(u.column,u.column+1),C=b.getTokenAt(u.row,u.column),L=b.getTokenAt(u.row,u.column+1);if("\\"==m&&C&&/escape/.test(C.type))return null;var _,T=C&&/string|escape/.test(C.type),R=!L||/string|escape/.test(L.type);if(h==v)(_=T!==R)&&/string\.end/.test(L.type)&&(_=!1);else{if(T&&!R||T&&R)return null;var O=b.$mode.tokenRe;O.lastIndex=0;var I=O.test(m);O.lastIndex=0;var W=O.test(h),D=b.$mode.$pairQuotesAfter;if(!(D&&D[v]&&D[v].test(m))&&I||W||h&&!/[\s;,.})\]\\]/.test(h))return null;var B=A[u.column-2];if(m==v&&(B==v||O.test(B)))return null;_=!0}return{text:_?v+v:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(g,w,p,b,y){var d=b.$mode.$quotes||e,v=b.doc.getTextRange(y);if(!y.isMultiLine()&&d.hasOwnProperty(v)&&(t(p),b.doc.getLine(y.start.row).substring(y.start.column+1,y.start.column+2)==v))return y.end.column++,y}),!1!==c.closeDocComment&&this.add("doc comment end","insertion",function(g,w,p,b,y){if("doc-start"===g&&("\n"===y||"\r\n"===y)&&p.selection.isEmpty()){var d=p.getCursorPosition(),v=b.doc.getLine(d.row),$=b.doc.getLine(d.row+1),f=this.$getIndent(v);if(/\s*\*/.test($))return/^\s*\*/.test(v)?{text:y+f+"* ",selection:[1,3+f.length,1,3+f.length]}:{text:y+f+" * ",selection:[1,3+f.length,1,3+f.length]};if(/\/\*\*/.test(v.substring(0,d.column)))return{text:y+f+" * "+y+" "+f+"*/",selection:[1,4+f.length,1,4+f.length]}}})};s.isSaneInsertion=function(c,g){var w=c.getCursorPosition(),p=new S(g,w.row,w.column);if(!this.$matchTokenType(p.getCurrentToken()||"text",l)){if(/[)}\]]/.test(c.session.getLine(w.row)[w.column]))return!0;var b=new S(g,w.row,w.column+1);if(!this.$matchTokenType(b.getCurrentToken()||"text",l))return!1}return p.stepForward(),p.getCurrentTokenRow()!==w.row||this.$matchTokenType(p.getCurrentToken()||"text",r)},s.$matchTokenType=function(c,g){return g.indexOf(c.type||c)>-1},s.recordAutoInsert=function(c,g,w){var p=c.getCursorPosition(),b=g.doc.getLine(p.row);this.isAutoInsertedClosing(p,b,i.autoInsertedLineEnd[0])||(i.autoInsertedBrackets=0),i.autoInsertedRow=p.row,i.autoInsertedLineEnd=w+b.substr(p.column),i.autoInsertedBrackets++},s.recordMaybeInsert=function(c,g,w){var p=c.getCursorPosition(),b=g.doc.getLine(p.row);this.isMaybeInsertedClosing(p,b)||(i.maybeInsertedBrackets=0),i.maybeInsertedRow=p.row,i.maybeInsertedLineStart=b.substr(0,p.column)+w,i.maybeInsertedLineEnd=b.substr(p.column),i.maybeInsertedBrackets++},s.isAutoInsertedClosing=function(c,g,w){return i.autoInsertedBrackets>0&&c.row===i.autoInsertedRow&&w===i.autoInsertedLineEnd[0]&&g.substr(c.column)===i.autoInsertedLineEnd},s.isMaybeInsertedClosing=function(c,g){return i.maybeInsertedBrackets>0&&c.row===i.maybeInsertedRow&&g.substr(c.column)===i.maybeInsertedLineEnd&&g.substr(0,c.column)==i.maybeInsertedLineStart},s.popAutoInsertedClosing=function(){i.autoInsertedLineEnd=i.autoInsertedLineEnd.substr(1),i.autoInsertedBrackets--},s.clearMaybeInsertedClosing=function(){i&&(i.maybeInsertedBrackets=0,i.maybeInsertedRow=-1)},x.inherits(s,k),M.CstyleBehaviour=s}),ace.define("ace/unicode",["require","exports","module"],function(E,M,H){"use strict";for(var x=[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],k=0,S=[],a=0;a2?B%y!=y-1:B%y==0}}else{if(!this.blockComment)return!1;v=this.blockComment.start;var $=this.blockComment.end,u=(f=new RegExp("^(\\s*)(?:"+r.escapeRegExp(v)+")"),new RegExp("(?:"+r.escapeRegExp($)+")\\s*$"));A=function(_,O){h(_,O)||(!w||/\S/.test(_))&&(g.insertInLine({row:O,column:_.length},$),g.insertInLine({row:O,column:b},v))},m=function(_,O){var I;(I=_.match(u))&&g.removeInLine(O,_.length-I[0].length,_.length),(I=_.match(f))&&g.removeInLine(O,I[1].length,I[0].length)},h=function(_,O){if(f.test(_))return!0;for(var I=o.getTokens(O),W=0;W_.length&&(R=_.length)}),b==1/0&&(b=R,w=!1,p=!1),d&&b%y!=0&&(b=Math.floor(b/y)*y),T(p?m:A)},this.toggleBlockComment=function(t,o,s,c){var g=this.blockComment;if(g){!g.start&&g[0]&&(g=g[0]);var d,v,p=(w=new i(o,c.row,c.column)).getCurrentToken(),y=o.selection.toOrientedRange();if(p&&/comment/.test(p.type)){for(var $,f;p&&/comment/.test(p.type);){if(-1!=(u=p.value.indexOf(g.start))){var A=w.getCurrentTokenRow(),m=w.getCurrentTokenColumn()+u;$=new n(A,m,A,m+g.start.length);break}p=w.stepBackward()}var w;for(p=(w=new i(o,c.row,c.column)).getCurrentToken();p&&/comment/.test(p.type);){var u;if(-1!=(u=p.value.indexOf(g.end))){A=w.getCurrentTokenRow(),m=w.getCurrentTokenColumn()+u,f=new n(A,m,A,m+g.end.length);break}p=w.stepForward()}f&&o.remove(f),$&&(o.remove($),d=$.start.row,v=-g.start.length)}else v=g.start.length,d=s.start.row,o.insert(s.end,g.end),o.insert(s.start,g.start);y.start.row==d&&(y.start.column+=v),y.end.row==d&&(y.end.column+=v),o.selection.fromOrientedRange(y)}},this.getNextLineIndent=function(t,o,s){return this.$getIndent(o)},this.checkOutdent=function(t,o,s){return!1},this.autoOutdent=function(t,o,s){},this.$getIndent=function(t){return t.match(/^\s*/)[0]},this.createWorker=function(t){return null},this.createModeDelegates=function(t){for(var o in this.$embeds=[],this.$modes={},t)if(t[o]){var s=t[o],c=s.prototype.$id,g=x.$modes[c];g||(x.$modes[c]=g=new s),x.$modes[o]||(x.$modes[o]=g),this.$embeds.push(o),this.$modes[o]=g}var w=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(o=0;o"u"?this.setPosition(n.row,n.column):this.setPosition(n,e)}return r.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},r.prototype.getDocument=function(){return this.document},r.prototype.onChange=function(i){if(!(i.start.row==i.end.row&&i.start.row!=this.row||i.start.row>this.row)){var n=function l(r,i,n){var e="insert"==r.action,t=(e?1:-1)*(r.end.row-r.start.row),o=(e?1:-1)*(r.end.column-r.start.column),s=r.start,c=e?s:r.end;return a(i,s,n)?{row:i.row,column:i.column}:a(c,i,!n)?{row:i.row+t,column:i.column+(i.row==c.row?o:0)}:{row:s.row,column:s.column}}(i,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},r.prototype.setPosition=function(i,n,e){var t;if(t=e?{row:i,column:n}:this.$clipPositionToDocument(i,n),this.row!=t.row||this.column!=t.column){var o={row:this.row,column:this.column};this.row=t.row,this.column=t.column,this._signal("change",{old:o,value:t})}},r.prototype.detach=function(){this.document.off("change",this.$onChange)},r.prototype.attach=function(i){this.document=i||this.document,this.document.on("change",this.$onChange)},r.prototype.$clipPositionToDocument=function(i,n){var e={};return i>=this.document.getLength()?(e.row=Math.max(0,this.document.getLength()-1),e.column=this.document.getLine(e.row).length):i<0?(e.row=0,e.column=0):(e.row=i,e.column=Math.min(this.document.getLine(e.row).length,Math.max(0,n))),n<0&&(e.column=0),e},r}();function a(r,i,n){return r.row=t&&(n=t-1,e=void 0);var o=this.getLine(n);return null==e&&(e=o.length),{row:n,column:e=Math.min(Math.max(e,0),o.length)}},i.prototype.clonePos=function(n){return{row:n.row,column:n.column}},i.prototype.pos=function(n,e){return{row:n,column:e}},i.prototype.$clipPosition=function(n){var e=this.getLength();return n.row>=e?(n.row=Math.max(0,e-1),n.column=this.getLine(e-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n},i.prototype.insertFullLines=function(n,e){var t=0;(n=Math.min(Math.max(n,0),this.getLength()))0,o=e=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})},i.prototype.replace=function(n,e){return n instanceof a||(n=a.fromPoints(n.start,n.end)),0===e.length&&n.isEmpty()?n.start:e==this.getTextRange(n)?n.end:(this.remove(n),e?this.insert(n.start,e):n.start)},i.prototype.applyDeltas=function(n){for(var e=0;e=0;e--)this.revertDelta(n[e])},i.prototype.applyDelta=function(n,e){var t="insert"==n.action;(t?n.lines.length<=1&&!n.lines[0]:!a.comparePoints(n.start,n.end))||(t&&n.lines.length>2e4?this.$splitAndapplyLargeDelta(n,2e4):(k(this.$lines,n,e),this._signal("change",n)))},i.prototype.$safeApplyDelta=function(n){var e=this.$lines.length;("remove"==n.action&&n.start.row20){i.running=setTimeout(i.$worker,20);break}}i.currentLine=e,-1==t&&(t=e),s<=t&&i.fireUpdateEvent(s,t)}}}return a.prototype.setTokenizer=function(l){this.tokenizer=l,this.lines=[],this.states=[],this.start(0)},a.prototype.setDocument=function(l){this.doc=l,this.lines=[],this.states=[],this.stop()},a.prototype.fireUpdateEvent=function(l,r){this._signal("update",{data:{first:l,last:r}})},a.prototype.start=function(l){this.currentLine=Math.min(l||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)},a.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},a.prototype.$updateOnChange=function(l){var r=l.start.row,i=l.end.row-r;if(0===i)this.lines[r]=null;else if("remove"==l.action)this.lines.splice(r,i+1,null),this.states.splice(r,i+1,null);else{var n=Array(i+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()},a.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},a.prototype.getTokens=function(l){return this.lines[l]||this.$tokenizeRow(l)},a.prototype.getState=function(l){return this.currentLine==l&&this.$tokenizeRow(l),this.states[l]||"start"},a.prototype.$tokenizeRow=function(l){var r=this.doc.getLine(l),n=this.tokenizer.getLineTokens(r,this.states[l-1],l);return this.states[l]+""!=n.state+""?(this.states[l]=n.state,this.lines[l+1]=null,this.currentLine>l+1&&(this.currentLine=l+1)):this.currentLine==l&&(this.currentLine=l+1),this.lines[l]=n.tokens},a.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},a}();x.implement(S.prototype,k),M.BackgroundTokenizer=S}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(E,M,H){"use strict";var x=E("./lib/lang"),k=E("./range").Range,S=function(){function a(l,r,i){void 0===i&&(i="text"),this.setRegexp(l),this.clazz=r,this.type=i}return a.prototype.setRegexp=function(l){this.regExp+""!=l+""&&(this.regExp=l,this.cache=[])},a.prototype.update=function(l,r,i,n){if(this.regExp)for(var t=n.lastRow,o={},s=n.firstRow;s<=t;s++){var c=this.cache[s];null==c&&((c=x.getMatchOffsets(i.getLine(s),this.regExp)).length>this.MAX_RANGES&&(c=c.slice(0,this.MAX_RANGES)),c=c.map(function(b){return new k(s,b.offset,s,b.offset+b.length)}),this.cache[s]=c.length?c:"");for(var g=c.length;g--;){var w=c[g].toScreenRange(i),p=w.toString();o[p]||(o[p]=!0,r.drawSingleLineMarker(l,w,this.clazz,n))}}},a}();S.prototype.MAX_RANGES=500,M.SearchHighlight=S}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(E,M,H){"use strict";var x=E("../range").Range,k=function(){function S(a,l){this.foldData=a,Array.isArray(l)?this.folds=l:l=this.folds=[l];var r=l[l.length-1];this.range=new x(l[0].start.row,l[0].start.column,r.end.row,r.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(i){i.setFoldLine(this)},this)}return S.prototype.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(l){l.start.row+=a,l.end.row+=a})},S.prototype.addFold=function(a){if(a.sameRow){if(a.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(a),this.folds.sort(function(l,r){return-l.range.compareEnd(r.start.row,r.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column)}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else{if(a.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column}a.foldLine=this},S.prototype.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},S.prototype.walk=function(a,l,r){var e,t,i=0,n=this.folds,s=!0;null==l&&(l=this.end.row,r=this.end.column);for(var c=0;c0)){var s=k(l,t.start);return 0===o?r&&0!==s?-e-2:e:s>0||0===s&&!r?e:-e-1}}return-e-1},a.prototype.add=function(l){var r=!l.isEmpty(),i=this.pointIndex(l.start,r);i<0&&(i=-i-1);var n=this.pointIndex(l.end,r,i);return n<0?n=-n-1:n++,this.ranges.splice(i,n-i,l)},a.prototype.addList=function(l){for(var r=[],i=l.length;i--;)r.push.apply(r,this.add(l[i]));return r},a.prototype.substractPoint=function(l){var r=this.pointIndex(l);if(r>=0)return this.ranges.splice(r,1)},a.prototype.merge=function(){for(var n,l=[],r=this.ranges,i=(r=r.sort(function(o,s){return k(o.start,s.start)}))[0],e=1;e=0},a.prototype.containsPoint=function(l){return this.pointIndex(l)>=0},a.prototype.rangeAtPoint=function(l){var r=this.pointIndex(l);if(r>=0)return this.ranges[r]},a.prototype.clipRows=function(l,r){var i=this.ranges;if(i[0].start.row>r||i[i.length-1].start.row=n);o++);if("insert"==l.action){for(var g=e-n,w=-r.column+i.column;on);o++)if(c.start.row==n&&c.start.column>=r.column&&(c.start.column==r.column&&this.$bias<=0||(c.start.column+=w,c.start.row+=g)),c.end.row==n&&c.end.column>=r.column){if(c.end.column==r.column&&this.$bias<0)continue;c.end.column==r.column&&w>0&&oc.start.column&&c.end.column==t[o+1].start.column&&(c.end.column-=w),c.end.column+=w,c.end.row+=g}}else for(g=n-e,w=r.column-i.column;oe);o++)c.end.rowr.column)&&(c.end.column=r.column,c.end.row=r.row):(c.end.column+=w,c.end.row+=g):c.end.row>e&&(c.end.row+=g),c.start.rowr.column)&&(c.start.column=r.column,c.start.row=r.row):(c.start.column+=w,c.start.row+=g):c.start.row>e&&(c.start.row+=g);if(0!=g&&o=i)return o;if(o.end.row>i)return null}return null},this.getNextFoldLine=function(i,n){var e=this.$foldData,t=0;for(n&&(t=e.indexOf(n)),-1==t&&(t=0);t=i)return o}return null},this.getFoldedRowCount=function(i,n){for(var e=this.$foldData,t=n-i+1,o=0;o=n){g=i?t-=n-g:t=0);break}c>=i&&(t-=g>=i?c-g:c-i+1)}return t},this.$addFoldLine=function(i){return this.$foldData.push(i),this.$foldData.sort(function(n,e){return n.start.row-e.start.row}),i},this.addFold=function(i,n){var o,e=this.$foldData,t=!1;i instanceof S?o=i:(o=new S(n,i)).collapseChildren=n.collapseChildren,this.$clipRangeToDocument(o.range);var s=o.start.row,c=o.start.column,g=o.end.row,w=o.end.column,p=this.getFoldAt(s,c,1),b=this.getFoldAt(g,w,-1);if(p&&b==p)return p.addSubFold(o);p&&!p.range.isStart(s,c)&&this.removeFold(p),b&&!b.range.isEnd(g,w)&&this.removeFold(b);var y=this.getFoldsInRange(o.range);y.length>0&&(this.removeFolds(y),o.collapseChildren||y.forEach(function(f){o.addSubFold(f)}));for(var d=0;d0&&this.foldAll(i.start.row+1,i.end.row,i.collapseChildren-1),i.subFolds=[]},this.expandFolds=function(i){i.forEach(function(n){this.expandFold(n)},this)},this.unfold=function(i,n){var e,t;if(null==i)e=new x(0,0,this.getLength(),0),null==n&&(n=!0);else if("number"==typeof i)e=new x(i,0,i,this.getLine(i).length);else if("row"in i)e=x.fromPoints(i,i);else{if(Array.isArray(i))return t=[],i.forEach(function(s){t=t.concat(this.unfold(s))},this),t;e=i}for(var o=t=this.getFoldsInRangeList(e);1==t.length&&x.comparePoints(t[0].start,e.start)<0&&x.comparePoints(t[0].end,e.end)>0;)this.expandFolds(t),t=this.getFoldsInRangeList(e);if(0!=n?this.removeFolds(t):this.expandFolds(t),o.length)return o},this.isRowFolded=function(i,n){return!!this.getFoldLine(i,n)},this.getRowFoldEnd=function(i,n){var e=this.getFoldLine(i,n);return e?e.end.row:i},this.getRowFoldStart=function(i,n){var e=this.getFoldLine(i,n);return e?e.start.row:i},this.getFoldDisplayLine=function(i,n,e,t,o){null==t&&(t=i.start.row),null==o&&(o=0),null==n&&(n=i.end.row),null==e&&(e=this.getLine(n).length);var s=this.doc,c="";return i.walk(function(g,w,p,b){if(!(ww)break}while(o&&c.test(o.type)&&!/^comment.start/.test(o.type));o=t.stepBackward()}else o=t.getCurrentToken();return g.end.row=t.getCurrentTokenRow(),g.end.column=t.getCurrentTokenColumn(),/^comment.end/.test(o.type)||(g.end.column+=o.value.length-2),g}},this.foldAll=function(i,n,e,t){null==e&&(e=1e5);var o=this.foldWidgets;if(o){n=n||this.getLength();for(var s=i=i||0;s=i&&(s=c.end.row,c.collapseChildren=e,this.addFold("...",c))}}},this.foldToLevel=function(i){for(this.foldAll();i-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var i=this;this.foldAll(null,null,null,function(n){for(var e=i.getTokens(n),t=0;t=0;){var s=e[t];if(null==s&&(s=e[t]=this.getFoldWidget(t)),"start"==s){var c=this.getFoldWidgetRange(t);if(o||(o=c),c&&c.end.row>=i)break}t--}return{range:-1!==t&&c,firstRange:o}},this.onFoldWidgetClick=function(i,n){if(n instanceof l&&(n=n.domEvent),!this.$toggleFoldWidget(i,{children:n.shiftKey,all:n.ctrlKey||n.metaKey,siblings:n.altKey})){var o=n.target||n.srcElement;o&&/ace_fold-widget/.test(o.className)&&(o.className+=" ace_invalid")}},this.$toggleFoldWidget=function(i,n){if(this.getFoldWidget){var e=this.getFoldWidget(i),t=this.getLine(i),o="end"===e?-1:1,s=this.getFoldAt(i,-1===o?0:t.length,o);if(s)return n.children||n.all?this.removeFold(s):this.expandFold(s),s;var c=this.getFoldWidgetRange(i,!0);if(c&&!c.isMultiLine()&&(s=this.getFoldAt(c.start.row,c.start.column,1))&&c.isEqual(s.range))return this.removeFold(s),s;if(n.siblings){var g=this.getParentFoldRangeData(i);if(g.range)var w=g.range.start.row+1,p=g.range.end.row;this.foldAll(w,p,n.all?1e4:0)}else n.children?(p=c?c.end.row:this.getLength(),this.foldAll(i+1,p,n.all?1e4:0)):c&&(n.all&&(c.collapseChildren=1e4),this.addFold("...",c));return c}},this.toggleFoldWidget=function(i){var n=this.selection.getCursor().row;n=this.getRowFoldStart(n);var e=this.$toggleFoldWidget(n,{});if(!e){var t=this.getParentFoldRangeData(n,!0);if(e=t.range||t.firstRange){var o=this.getFoldAt(n=e.start.row,this.getLine(n).length,1);o?this.removeFold(o):this.addFold("...",e)}}},this.updateFoldWidgets=function(i){var n=i.start.row,e=i.end.row-n;if(0===e)this.foldWidgets[n]=null;else if("remove"==i.action)this.foldWidgets.splice(n,e+1,null);else{var t=Array(e+1);t.unshift(n,1),this.foldWidgets.splice.apply(this.foldWidgets,t)}},this.tokenizerUpdateFoldWidgets=function(i){var n=i.data;n.first!=n.last&&this.foldWidgets.length>n.first&&this.foldWidgets.splice(n.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(E,M,H){"use strict";var x=E("../token_iterator").TokenIterator,k=E("../range").Range;M.BracketMatch=function S(){this.findMatchingBracket=function(a,l){if(0==a.column)return null;var r=l||this.getLine(a.row).charAt(a.column-1);if(""==r)return null;var i=r.match(/([\(\[\{])|([\)\]\}])/);return i?i[1]?this.$findClosingBracket(i[1],a):this.$findOpeningBracket(i[2],a):null},this.getBracketRange=function(a){var i,l=this.getLine(a.row),r=!0,n=l.charAt(a.column-1),e=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(e||(n=l.charAt(a.column),a={row:a.row,column:a.column+1},e=n&&n.match(/([\(\[\{])|([\)\]\}])/),r=!1),!e)return null;if(e[1]){if(!(t=this.$findClosingBracket(e[1],a)))return null;i=k.fromPoints(a,t),r||(i.end.column++,i.start.column--),i.cursor=i.end}else{var t;if(!(t=this.$findOpeningBracket(e[2],a)))return null;i=k.fromPoints(t,a),r||(i.start.column++,i.end.column--),i.cursor=i.start}return i},this.getMatchingBracketRanges=function(a,l){var r=this.getLine(a.row),i=/([\(\[\{])|([\)\]\}])/,n=!l&&r.charAt(a.column-1),e=n&&n.match(i);if(e||(n=(void 0===l||l)&&r.charAt(a.column),a={row:a.row,column:a.column+1},e=n&&n.match(i)),!e)return null;var t=new k(a.row,a.column-1,a.row,a.column),o=e[1]?this.$findClosingBracket(e[1],a):this.$findOpeningBracket(e[2],a);return o?[t,new k(o.row,o.column,o.row,o.column+1)]:[t]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(a,l,r){var i=this.$brackets[a],n=1,e=new x(this,l.row,l.column),t=e.getCurrentToken();if(t||(t=e.stepForward()),t){r||(r=new RegExp("(\\.?"+t.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var o=l.column-e.getCurrentTokenColumn()-2,s=t.value;;){for(;o>=0;){var c=s.charAt(o);if(c==i){if(0==(n-=1))return{row:e.getCurrentTokenRow(),column:o+e.getCurrentTokenColumn()}}else c==a&&(n+=1);o-=1}do{t=e.stepBackward()}while(t&&!r.test(t.type));if(null==t)break;o=(s=t.value).length-1}return null}},this.$findClosingBracket=function(a,l,r){var i=this.$brackets[a],n=1,e=new x(this,l.row,l.column),t=e.getCurrentToken();if(t||(t=e.stepForward()),t){r||(r=new RegExp("(\\.?"+t.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var o=l.column-e.getCurrentTokenColumn();;){for(var s=t.value,c=s.length;o"===l.value?i=!0:-1!==l.type.indexOf("tag-name")&&(r=!0))}while(l&&!r);return l},this.$findClosingTag=function(a,l){var r,i=l.value,n=l.value,e=0,t=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);l=a.stepForward();var o=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length),s=!1;do{if(r=l,l=a.stepForward()){if(">"===l.value&&!s){var c=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);s=!0}if(-1!==l.type.indexOf("tag-name")){if(n===(i=l.value))if("<"===r.value)e++;else if(""!==l.value)return;var p=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1)}}else n===i&&"/>"===l.value&&--e<0&&(p=w=g=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2),c=new k(o.end.row,o.end.column,o.end.row,o.end.column+1))}}while(l&&e>=0);if(t&&c&&g&&p&&o&&w)return{openTag:new k(t.start.row,t.start.column,c.end.row,c.end.column),closeTag:new k(g.start.row,g.start.column,p.end.row,p.end.column),openTagName:o,closeTagName:w}},this.$findOpeningTag=function(a,l){var r=a.getCurrentToken(),i=l.value,n=0,e=a.getCurrentTokenRow(),t=a.getCurrentTokenColumn(),o=t+2,s=new k(e,t,e,o);a.stepForward();var c=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length);if((l=a.stepForward())&&">"===l.value){var g=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);a.stepBackward(),a.stepBackward();do{if(l=r,e=a.getCurrentTokenRow(),o=(t=a.getCurrentTokenColumn())+l.value.length,r=a.stepBackward(),l)if(-1!==l.type.indexOf("tag-name")){if(i===l.value)if("<"===r.value){if(++n>0){var w=new k(e,t,e,o),p=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);do{l=a.stepForward()}while(l&&">"!==l.value);var b=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1)}}else""===l.value){for(var y=0,d=r;d;){if(-1!==d.type.indexOf("tag-name")&&d.value===i){n--;break}if("<"===d.value)break;d=a.stepBackward(),y++}for(var v=0;vm&&(this.$docRowCache.splice(m,A),this.$screenRowCache.splice(m,A))},f.prototype.$getRowCacheIndex=function(u,A){for(var m=0,h=u.length-1;m<=h;){var C=m+h>>1,L=u[C];if(A>L)m=C+1;else{if(!(A=A);L++);return(h=m[L])?(h.index=L,h.start=C-h.value.length,h):null},f.prototype.setUndoManager=function(u){if(this.$undoManager=u,this.$informUndoManager&&this.$informUndoManager.cancel(),u){var A=this;u.addSession(this),this.$syncInformUndoManager=function(){A.$informUndoManager.cancel(),A.mergeUndoDeltas=!1},this.$informUndoManager=k.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()?k.stringRepeat(" ",this.getTabSize()):"\t"},f.prototype.setUseSoftTabs=function(u){this.setOption("useSoftTabs",u)},f.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},f.prototype.setTabSize=function(u){this.setOption("tabSize",u)},f.prototype.getTabSize=function(){return this.$tabSize},f.prototype.isTabStop=function(u){return this.$useSoftTabs&&u.column%this.$tabSize==0},f.prototype.setNavigateWithinSoftTabs=function(u){this.setOption("navigateWithinSoftTabs",u)},f.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},f.prototype.setOverwrite=function(u){this.setOption("overwrite",u)},f.prototype.getOverwrite=function(){return this.$overwrite},f.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},f.prototype.addGutterDecoration=function(u,A){this.$decorations[u]||(this.$decorations[u]=""),this.$decorations[u]+=" "+A,this._signal("changeBreakpoint",{})},f.prototype.removeGutterDecoration=function(u,A){this.$decorations[u]=(this.$decorations[u]||"").replace(" "+A,""),this._signal("changeBreakpoint",{})},f.prototype.getBreakpoints=function(){return this.$breakpoints},f.prototype.setBreakpoints=function(u){this.$breakpoints=[];for(var A=0;A0&&(h=!!m.charAt(A-1).match(this.tokenRe)),h||(h=!!m.charAt(A).match(this.tokenRe)),h)var C=this.tokenRe;else C=/^\s+$/.test(m.slice(A-1,A+1))?/\s/:this.nonTokenRe;var L=A;if(L>0){do{L--}while(L>=0&&m.charAt(L).match(C));L++}for(var T=A;Tu&&(u=A.screenWidth)}),this.lineWidgetWidth=u},f.prototype.$computeWidth=function(u){if(this.$modified||u){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var A=this.doc.getAllLines(),m=this.$rowLengthCache,h=0,C=0,L=this.$foldData[C],T=L?L.start.row:1/0,R=A.length,_=0;_T){if((_=L.end.row+1)>=R)break;T=(L=this.$foldData[C++])?L.start.row:1/0}null==m[_]&&(m[_]=this.$getStringScreenWidth(A[_])[0]),m[_]>h&&(h=m[_])}this.screenWidth=h}},f.prototype.getLine=function(u){return this.doc.getLine(u)},f.prototype.getLines=function(u,A){return this.doc.getLines(u,A)},f.prototype.getLength=function(){return this.doc.getLength()},f.prototype.getTextRange=function(u){return this.doc.getTextRange(u||this.selection.getRange())},f.prototype.insert=function(u,A){return this.doc.insert(u,A)},f.prototype.remove=function(u){return this.doc.remove(u)},f.prototype.removeFullLines=function(u,A){return this.doc.removeFullLines(u,A)},f.prototype.undoChanges=function(u,A){if(u.length){this.$fromUndo=!0;for(var m=u.length-1;-1!=m;m--){var h=u[m];"insert"==h.action||"remove"==h.action?this.doc.revertDelta(h):h.folds&&this.addFolds(h.folds)}!A&&this.$undoSelect&&(u.selectionBefore?this.selection.fromJSON(u.selectionBefore):this.selection.setRange(this.$getUndoSelection(u,!0))),this.$fromUndo=!1}},f.prototype.redoChanges=function(u,A){if(u.length){this.$fromUndo=!0;for(var m=0;mu.end.column&&(L.start.column+=R),L.end.row==u.end.row&&L.end.column>u.end.column&&(L.end.column+=R)),T&&L.start.row>=u.end.row&&(L.start.row+=T,L.end.row+=T)),L.end=this.insert(L.start,h),C.length){var _=u.start,O=L.start,T=O.row-_.row,R=O.column-_.column;this.addFolds(C.map(function(D){return(D=D.clone()).start.row==_.row&&(D.start.column+=R),D.end.row==_.row&&(D.end.column+=R),D.start.row+=T,D.end.row+=T,D}))}return L},f.prototype.indentRows=function(u,A,m){m=m.replace(/\t/g,this.getTabString());for(var h=u;h<=A;h++)this.doc.insertInLine({row:h,column:0},m)},f.prototype.outdentRows=function(u){for(var A=u.collapseRows(),m=new n(0,0,0,0),h=this.getTabSize(),C=A.start.row;C<=A.end.row;++C){var L=this.getLine(C);m.start.row=C,m.end.row=C;for(var T=0;T0){var h;if((h=this.getRowFoldEnd(A+m))>this.doc.getLength()-1)return 0;C=h-A}else u=this.$clipRowToDocument(u),C=(A=this.$clipRowToDocument(A))-u+1;var L=new n(u,0,A,Number.MAX_VALUE),T=this.getFoldsInRange(L).map(function(_){return(_=_.clone()).start.row+=C,_.end.row+=C,_}),R=0==m?this.doc.getLines(u,A):this.doc.removeFullLines(u,A);return this.doc.insertFullLines(u+C,R),T.length&&this.addFolds(T),C},f.prototype.moveLinesUp=function(u,A){return this.$moveLines(u,A,-1)},f.prototype.moveLinesDown=function(u,A){return this.$moveLines(u,A,1)},f.prototype.duplicateLines=function(u,A){return this.$moveLines(u,A,0)},f.prototype.$clipRowToDocument=function(u){return Math.max(0,Math.min(u,this.doc.getLength()-1))},f.prototype.$clipColumnToRow=function(u,A){return A<0?0:Math.min(this.doc.getLine(u).length,A)},f.prototype.$clipPositionToDocument=function(u,A){if(A=Math.max(0,A),u<0)u=0,A=0;else{var m=this.doc.getLength();u>=m?(u=m-1,A=this.doc.getLine(m-1).length):A=Math.min(this.doc.getLine(u).length,A)}return{row:u,column:A}},f.prototype.$clipRangeToDocument=function(u){u.start.row<0?(u.start.row=0,u.start.column=0):u.start.column=this.$clipColumnToRow(u.start.row,u.start.column);var A=this.doc.getLength()-1;return u.end.row>A?(u.end.row=A,u.end.column=this.doc.getLine(A).length):u.end.column=this.$clipColumnToRow(u.end.row,u.end.column),u},f.prototype.setUseWrapMode=function(u){if(u!=this.$useWrapMode){if(this.$useWrapMode=u,this.$modified=!0,this.$resetRowCache(0),u){var A=this.getLength();this.$wrapData=Array(A),this.$updateWrapData(0,A-1)}this._signal("changeWrapMode")}},f.prototype.getUseWrapMode=function(){return this.$useWrapMode},f.prototype.setWrapLimitRange=function(u,A){(this.$wrapLimitRange.min!==u||this.$wrapLimitRange.max!==A)&&(this.$wrapLimitRange={min:u,max:A},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},f.prototype.adjustWrapLimit=function(u,A){var m=this.$wrapLimitRange;m.max<0&&(m={min:A,max:A});var h=this.$constrainWrapLimit(u,m.min,m.max);return h!=this.$wrapLimit&&h>1&&(this.$wrapLimit=h,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},f.prototype.$constrainWrapLimit=function(u,A,m){return A&&(u=Math.max(A,u)),m&&(u=Math.min(m,u)),u},f.prototype.getWrapLimit=function(){return this.$wrapLimit},f.prototype.setWrapLimit=function(u){this.setWrapLimitRange(u,u)},f.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},f.prototype.$updateInternalDataOnChange=function(u){var A=this.$useWrapMode,m=u.action,h=u.start,C=u.end,L=h.row,T=C.row,R=T-L,_=null;if(this.$updating=!0,0!=R)if("remove"===m){this[A?"$wrapData":"$rowLengthCache"].splice(L,R);var O=this.$foldData;_=this.getFoldsInRange(u),this.removeFolds(_);var W=0;if(I=this.getFoldLine(C.row)){I.addRemoveChars(C.row,C.column,h.column-C.column),I.shiftRow(-R);var D=this.getFoldLine(L);D&&D!==I&&(D.merge(I),I=D),W=O.indexOf(I)+1}for(;W=C.row&&I.shiftRow(-R);T=L}else{var F=Array(R);F.unshift(L,0);var B=A?this.$wrapData:this.$rowLengthCache;if(B.splice.apply(B,F),O=this.$foldData,W=0,I=this.getFoldLine(L)){var V=I.range.compareInside(h.row,h.column);0==V?(I=I.split(h.row,h.column))&&(I.shiftRow(R),I.addRemoveChars(T,0,C.column-h.column)):-1==V&&(I.addRemoveChars(L,0,C.column-h.column),I.shiftRow(R)),W=O.indexOf(I)+1}for(;W=L&&I.shiftRow(R)}}else R=Math.abs(u.start.column-u.end.column),"remove"===m&&(_=this.getFoldsInRange(u),this.removeFolds(_),R=-R),(I=this.getFoldLine(L))&&I.addRemoveChars(L,h.column,R);return A&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,A?this.$updateWrapData(L,T):this.$updateRowLengthCache(L,T),_},f.prototype.$updateRowLengthCache=function(u,A,m){this.$rowLengthCache[u]=null,this.$rowLengthCache[A]=null},f.prototype.$updateWrapData=function(u,A){var T,R,m=this.doc.getAllLines(),h=this.getTabSize(),C=this.$wrapData,L=this.$wrapLimit,_=u;for(A=Math.min(A,m.length-1);_<=A;)(R=this.getFoldLine(_,R))?(T=[],R.walk(function(O,I,W,D){var F;if(null!=O){(F=this.$getDisplayTokens(O,T.length))[0]=w;for(var B=1;BA-D;){var F=L+A-D;if(u[F-1]>=y&&u[F]>=y)W(F);else if(u[F]!=w&&u[F]!=p){for(var B=Math.max(F-(A-(A>>2)),L-1);F>B&&u[F]B&&u[F]B&&u[F]==b;)F--}else for(;F>B&&u[F]B?W(++F):(u[F=L+A]==g&&F--,W(F-D))}else{for(;F!=L-1&&u[F]!=w;F--);if(F>L){W(F);continue}for(F=L+A;F39&&L<48||L>57&&L<64?m.push(b):L>=4352&&$(L)?m.push(c,g):m.push(c)}return m},f.prototype.$getStringScreenWidth=function(u,A,m){if(0==A)return[0,0];var h,C;for(null==A&&(A=1/0),m=m||0,C=0;C=4352&&$(h)?m+=2:m+=1,!(m>A));C++);return[m,C]},f.prototype.getRowLength=function(u){var A=1;return this.lineWidgets&&(A+=this.lineWidgets[u]&&this.lineWidgets[u].rowCount||0),this.$useWrapMode&&this.$wrapData[u]?this.$wrapData[u].length+A:A},f.prototype.getRowLineCount=function(u){return this.$useWrapMode&&this.$wrapData[u]?this.$wrapData[u].length+1:1},f.prototype.getRowWrapIndent=function(u){if(this.$useWrapMode){var A=this.screenToDocumentPosition(u,Number.MAX_VALUE),m=this.$wrapData[A.row];return m.length&&m[0]=0){R=O[I],C=this.$docRowCache[I];var D=u>O[W-1]}else D=!W;for(var F=this.getLength()-1,B=this.getNextFoldLine(C),V=B?B.start.row:1/0;R<=u&&!(R+(_=this.getRowLength(C))>u||C>=F);)R+=_,++C>V&&(V=(B=this.getNextFoldLine(C=B.end.row+1,B))?B.start.row:1/0),D&&(this.$docRowCache.push(C),this.$screenRowCache.push(R));if(B&&B.start.row<=C)h=this.getFoldDisplayLine(B),C=B.start.row;else{if(R+_<=u||C>F)return{row:F,column:this.getLine(F).length};h=this.getLine(C),B=null}var P=0,G=Math.floor(u-R);if(this.$useWrapMode){var z=this.$wrapData[C];z&&(T=z[G],G>0&&z.length&&(P=z.indent,h=h.substring(L=z[G-1]||z[z.length-1])))}return void 0!==m&&this.$bidiHandler.isBidiRow(R+G,C,G)&&(A=this.$bidiHandler.offsetToCol(m)),L+=this.$getStringScreenWidth(h,A-P)[1],this.$useWrapMode&&L>=T&&(L=T-1),B?B.idxToPosition(L):{row:C,column:L}},f.prototype.documentToScreenPosition=function(u,A){if(typeof A>"u")var m=this.$clipPositionToDocument(u.row,u.column);else m=this.$clipPositionToDocument(u,A);var L,h=0,C=null;(L=this.getFoldAt(u=m.row,A=m.column,1))&&(u=L.start.row,A=L.start.column);var T,R=0,_=this.$docRowCache,O=this.$getRowCacheIndex(_,u),I=_.length;if(I&&O>=0){R=_[O],h=this.$screenRowCache[O];var W=u>_[I-1]}else W=!I;for(var D=this.getNextFoldLine(R),F=D?D.start.row:1/0;R=F){if((T=D.end.row+1)>u)break;F=(D=this.getNextFoldLine(T,D))?D.start.row:1/0}else T=R+1;h+=this.getRowLength(R),R=T,W&&(this.$docRowCache.push(R),this.$screenRowCache.push(h))}var B="";D&&R>=F?(B=this.getFoldDisplayLine(D,u,A),C=D.start.row):(B=this.getLine(u).substring(0,A),C=u);var V=0;if(this.$useWrapMode){var P=this.$wrapData[C];if(P){for(var G=0;B.length>=P[G];)h++,G++;B=B.substring(P[G-1]||0,B.length),V=G>0?P.indent:0}}return this.lineWidgets&&this.lineWidgets[R]&&this.lineWidgets[R].rowsAbove&&(h+=this.lineWidgets[R].rowsAbove),{row:h,column:V+this.$getStringScreenWidth(B)[0]}},f.prototype.documentToScreenColumn=function(u,A){return this.documentToScreenPosition(u,A).column},f.prototype.documentToScreenRow=function(u,A){return this.documentToScreenPosition(u,A).row},f.prototype.getScreenLength=function(){var u=0,A=null;if(this.$useWrapMode)for(var C=this.$wrapData.length,L=0,h=0,T=(A=this.$foldData[h++])?A.start.row:1/0;LT&&(L=A.end.row+1,T=(A=this.$foldData[h++])?A.start.row:1/0)}else{u=this.getLength();var m=this.$foldData;for(h=0;hm);L++);return[h,L]})},f.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection.detach()},f}();s.$uid=0,s.prototype.$modes=a.$modes,s.prototype.getValue=s.prototype.toString,s.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},s.prototype.$overwrite=!1,s.prototype.$mode=null,s.prototype.$modeId=null,s.prototype.$scrollTop=0,s.prototype.$scrollLeft=0,s.prototype.$wrapLimit=80,s.prototype.$useWrapMode=!1,s.prototype.$wrapLimitRange={min:null,max:null},s.prototype.lineWidgets=null,s.prototype.isFullWidth=$,x.implement(s.prototype,l);var c=1,g=2,w=3,p=4,b=9,y=10,d=11,v=12;function $(f){return!(f<4352)&&(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)}E("./edit_session/folding").Folding.call(s.prototype),E("./edit_session/bracket_match").BracketMatch.call(s.prototype),a.defineOptions(s.prototype,"session",{wrap:{set:function(f){if(f&&"off"!=f?"free"==f?f=!0:"printMargin"==f?f=-1:"string"==typeof f&&(f=parseInt(f,10)||!1):f=!1,this.$wrap!=f)if(this.$wrap=f,f){var u="number"==typeof f?f:null;this.setWrapLimitRange(u,u),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(f){(f="auto"==f?"text"!=this.$mode.type:"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))>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}}),M.EditSession=s}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(E,M,H){"use strict";var x=E("./lib/lang"),k=E("./lib/oop"),S=E("./range").Range,a=function(){function r(){this.$options={}}return r.prototype.set=function(i){return k.mixin(this.$options,i),this},r.prototype.getOptions=function(){return x.copyObject(this.$options)},r.prototype.setOptions=function(i){this.$options=i},r.prototype.find=function(i){var n=this.$options,e=this.$matchIterator(i,n);if(!e)return!1;var t=null;return e.forEach(function(o,s,c,g){return t=new S(o,s,c,g),!(s==g&&n.start&&n.start.start&&0!=n.skipCurrent&&t.isEqual(n.start)&&(t=null,1))}),t},r.prototype.findAll=function(i){var n=this.$options;if(!n.needle)return[];this.$assembleRegExp(n);var e=n.range,t=e?i.getLines(e.start.row,e.end.row):i.doc.getAllLines(),o=[],s=n.re;if(n.$isMultiLine){var w,c=s.length,g=t.length-c;e:for(var p=s.offset||0;p<=g;p++){for(var b=0;bv||(o.push(w=new S(p,v,p+c-1,$)),c>2&&(p=p+c-2))}}else for(var f=0;fh&&o[b].end.row==C;)b--;for(o=o.slice(f,b+1),f=0,b=o.length;f=g;v--)if(y(v,Number.MAX_VALUE,d))return;if(0!=n.wrap)for(v=w,g=c.row;v>=g;v--)if(y(v,Number.MAX_VALUE,d))return}};else p=function(v){var $=c.row;if(!y($,c.column,v)){for($+=1;$<=w;$++)if(y($,0,v))return;if(0!=n.wrap)for($=g,w=c.row;$<=w;$++)if(y($,0,v))return}};if(n.$isMultiLine)var b=e.length,y=function(d,v,$){var f=t?d-b+1:d;if(!(f<0||f+b>i.getLength())){var u=i.getLine(f),A=u.search(e[0]);if(!(!t&&Av)&&$(f,A,f+b-1,h))return!0}}};else y=t?function(v,$,f){var m,u=i.getLine(v),A=[],h=0;for(e.lastIndex=0;m=e.exec(u);){if(h=m.index,!(C=m[0].length)){if(h>=u.length)break;e.lastIndex=h+=1}if(m.index+C>$)break;A.push(m.index,C)}for(var L=A.length-1;L>=0;L-=2){var C,T=A[L-1];if(f(v,T,v,T+(C=A[L])))return!0}}:function(v,$,f){var A,m,u=i.getLine(v);for(e.lastIndex=$;m=e.exec(u);){var h=m[0].length;if(f(v,A=m.index,v,A+h))return!0;if(!h&&(e.lastIndex=A+=1,A>=u.length))return!1}};return{forEach:p}},r}();M.Search=a}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(E,M,H){"use strict";var n,x=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var c in s)Object.prototype.hasOwnProperty.call(s,c)&&(o[c]=s[c])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),k=E("../lib/keys"),S=E("../lib/useragent"),a=k.KEY_MODS,l=function(){function n(e,t){this.$init(e,t,!1)}return n.prototype.$init=function(e,t,o){this.platform=t||(S.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=o},n.prototype.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},n.prototype.removeCommand=function(e,t){var o=e&&("string"==typeof e?e:e.name);e=this.commands[o],t||delete this.commands[o];var s=this.commandKeyBinding;for(var c in s){var g=s[c];if(g==e)delete s[c];else if(Array.isArray(g)){var w=g.indexOf(e);-1!=w&&(g.splice(w,1),1==g.length&&(s[c]=g[0]))}}},n.prototype.bindKey=function(e,t,o){if("object"==typeof e&&e&&(null==o&&(o=e.position),e=e[this.platform]),e){if("function"==typeof t)return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(s){var c="";if(-1!=s.indexOf(" ")){var g=s.split(/\s+/);s=g.pop(),g.forEach(function(b){var y=this.parseKeys(b);this._addCommandToBinding(c+=(c?" ":"")+(a[y.hashId]+y.key),"chainKeys")},this),c+=" "}var w=this.parseKeys(s);this._addCommandToBinding(c+(a[w.hashId]+w.key),t,o)},this)}},n.prototype._addCommandToBinding=function(e,t,o){var c,s=this.commandKeyBinding;if(t)if(!s[e]||this.$singleCommand)s[e]=t;else{Array.isArray(s[e])?-1!=(c=s[e].indexOf(t))&&s[e].splice(c,1):s[e]=[s[e]],"number"!=typeof o&&(o=r(t));var g=s[e];for(c=0;co);c++);g.splice(c,0,t)}else delete s[e]},n.prototype.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var o=e[t];if(o){if("string"==typeof o)return this.bindKey(o,t);"function"==typeof o&&(o={exec:o}),"object"==typeof o&&(o.name||(o.name=t),this.addCommand(o))}},this)},n.prototype.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},n.prototype.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},n.prototype._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},n.prototype.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(p){return p}),o=t.pop(),s=k[o];if(k.FUNCTION_KEYS[s])o=k.FUNCTION_KEYS[s].toLowerCase();else{if(!t.length)return{key:o,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:o.toUpperCase(),hashId:-1}}for(var c=0,g=t.length;g--;){var w=k.KEY_MODS[t[g]];if(null==w)return typeof console<"u"&&console.error("invalid modifier "+t[g]+" in "+e),!1;c|=w}return{key:o,hashId:c}},n.prototype.findKeyCommand=function(e,t){return this.commandKeyBinding[a[e]+t]},n.prototype.handleKeyboard=function(e,t,o,s){if(!(s<0)){var c=a[t]+o,g=this.commandKeyBinding[c];return e.$keyChain&&(e.$keyChain+=" "+c,g=this.commandKeyBinding[e.$keyChain]||g),!g||"chainKeys"!=g&&"chainKeys"!=g[g.length-1]?(e.$keyChain&&(t&&4!=t||1!=o.length?(-1==t||s>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-c.length-1)),{command:g}):(e.$keyChain=e.$keyChain||c,{command:"null"})}},n.prototype.getStatusText=function(e,t){return t.$keyChain||""},n}();function r(n){return"object"==typeof n&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}var i=function(n){function e(t,o){var s=n.call(this,t,o)||this;return s.$singleCommand=!0,s}return x(e,n),e}(l);i.call=function(n,e,t){l.prototype.$init.call(n,e,t,!0)},l.call=function(n,e,t){l.prototype.$init.call(n,e,t,!1)},M.HashHandler=i,M.MultiHashHandler=l}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(E,M,H){"use strict";var r,x=this&&this.__extends||(r=function(i,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])})(i,n)},function(i,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function e(){this.constructor=i}r(i,n),i.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}),k=E("../lib/oop"),S=E("../keyboard/hash_handler").MultiHashHandler,a=E("../lib/event_emitter").EventEmitter,l=function(r){function i(n,e){var t=r.call(this,e,n)||this;return t.byName=t.commands,t.setDefaultHandler("exec",function(o){return o.args?o.command.exec(o.editor,o.args,o.event,!1):o.command.exec(o.editor,{},o.event,!0)}),t}return x(i,r),i.prototype.exec=function(n,e,t){if(Array.isArray(n)){for(var o=n.length;o--;)if(this.exec(n[o],e,t))return!0;return!1}if("string"==typeof n&&(n=this.commands[n]),!n||e&&e.$readOnly&&!n.readOnly||0!=this.$checkCommandState&&n.isAvailable&&!n.isAvailable(e))return!1;var s={editor:e,command:n,args:t};return s.returnValue=this._emit("exec",s),this._signal("afterExec",s),!1!==s.returnValue},i.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(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},i.prototype.replay=function(n){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0,this.macro.forEach(function(e){"string"==typeof e?this.exec(e,n):this.exec(e[0],n,e[1])},this)}finally{this.$inReplay=!1}}},i.prototype.trimMacro=function(n){return n.map(function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})},i}(S);k.implement(l.prototype,a),M.CommandManager=l}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(E,M,H){"use strict";var x=E("../lib/lang"),k=E("../config"),S=E("../range").Range;function a(r,i){return{win:r,mac:i}}M.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:a("Ctrl-,","Command-,"),exec:function(r){k.loadModule("ace/ext/settings_menu",function(i){i.init(r),r.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:a("Alt-E","F4"),exec:function(r){k.loadModule("ace/ext/error_marker",function(i){i.showErrorMarker(r,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:a("Alt-Shift-E","Shift-F4"),exec:function(r){k.loadModule("ace/ext/error_marker",function(i){i.showErrorMarker(r,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:a("Ctrl-A","Command-A"),exec:function(r){r.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:a(null,"Ctrl-L"),exec:function(r){r.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:a("Ctrl-L","Command-L"),exec:function(r,i){"number"==typeof i&&!isNaN(i)&&r.gotoLine(i),r.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:a("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:a("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:a("F2","F2"),exec:function(r){r.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:a("Alt-F2","Alt-F2"),exec:function(r){r.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:a("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:a("Alt-Shift-0","Command-Option-Shift-0"),exec:function(r){r.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:a("Ctrl-K","Command-G"),exec:function(r){r.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:a("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:a("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:a("Alt-Shift-K","Ctrl-Shift-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:a("Ctrl-F","Command-F"),exec:function(r){k.loadModule("ace/ext/searchbox",function(i){i.Search(r)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(r){r.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:a("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:a("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:a("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:a("Up","Up|Ctrl-P"),exec:function(r,i){r.navigateUp(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:a("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:a("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:a("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:a("Down","Down|Ctrl-N"),exec:function(r,i){r.navigateDown(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:a("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:a("Ctrl-Left","Option-Left"),exec:function(r){r.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:a("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:a("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:a("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:a("Left","Left|Ctrl-B"),exec:function(r,i){r.navigateLeft(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:a("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:a("Ctrl-Right","Option-Right"),exec:function(r){r.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:a("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:a("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:a("Shift-Right","Shift-Right"),exec:function(r){r.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:a("Right","Right|Ctrl-F"),exec:function(r,i){r.navigateRight(i.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:a(null,"Option-PageDown"),exec:function(r){r.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:a("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:a(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:a("Ctrl-Up",null),exec:function(r){r.renderer.scrollBy(0,-2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:a("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:a("Ctrl-Alt-E","Command-Option-E"),exec:function(r){r.commands.toggleRecording(r)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:a("Ctrl-Shift-E","Command-Shift-E"),exec:function(r){r.commands.replay(r)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:a("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(r){r.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:a("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:a("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:a(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 n=r.$copyWithEmptySelection&&r.selection.isEmpty()?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,i){r.$handlePaste(i)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:a("Ctrl-D","Command-D"),exec:function(r){r.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:a("Ctrl-Shift-D","Command-Shift-D"),exec:function(r){r.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:a("Ctrl-Alt-S","Command-Alt-S"),exec:function(r){r.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:a("Ctrl-/","Command-/"),exec:function(r){r.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:a("Ctrl-Shift-/","Command-Shift-/"),exec:function(r){r.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:a("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(r){r.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:a("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(r){r.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:a("Ctrl-H","Command-Option-F"),exec:function(r){k.loadModule("ace/ext/searchbox",function(i){i.Search(r,!0)})}},{name:"undo",description:"Undo",bindKey:a("Ctrl-Z","Command-Z"),exec:function(r){r.undo()}},{name:"redo",description:"Redo",bindKey:a("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(r){r.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:a("Alt-Shift-Up","Command-Option-Up"),exec:function(r){r.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:a("Alt-Up","Option-Up"),exec:function(r){r.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:a("Alt-Shift-Down","Command-Option-Down"),exec:function(r){r.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:a("Alt-Down","Option-Down"),exec:function(r){r.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:a("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(r){r.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:a("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:a("Shift-Delete",null),exec:function(r){if(!r.selection.isEmpty())return!1;r.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:a("Alt-Backspace","Command-Backspace"),exec:function(r){r.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:a("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(r){r.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:a("Ctrl-Shift-Backspace",null),exec:function(r){var i=r.selection.getRange();i.start.column=0,r.session.remove(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:a("Ctrl-Shift-Delete",null),exec:function(r){var i=r.selection.getRange();i.end.column=Number.MAX_VALUE,r.session.remove(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:a("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(r){r.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:a("Ctrl-Delete","Alt-Delete"),exec:function(r){r.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:a("Shift-Tab","Shift-Tab"),exec:function(r){r.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:a("Tab","Tab"),exec:function(r){r.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:a("Ctrl-[","Ctrl-["),exec:function(r){r.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:a("Ctrl-]","Ctrl-]"),exec:function(r){r.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(r,i){r.insert(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(r,i){r.insert(x.stringRepeat(i.text||"",i.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:a(null,"Ctrl-O"),exec:function(r){r.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:a("Alt-Shift-X","Ctrl-T"),exec:function(r){r.transposeLetters()},multiSelectAction:function(r){r.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:a("Ctrl-U","Ctrl-U"),exec:function(r){r.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:a("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(r){r.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:a(null,null),exec:function(r){r.autoIndent()},multiSelectAction:"forEachLine",scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:a("Ctrl-Shift-L","Command-Shift-L"),exec:function(r){var i=r.selection.getRange();i.start.column=i.end.column=0,i.end.row++,r.selection.setRange(i,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:a("Ctrl+F3","F3"),exec:function(r){r.openLink()}},{name:"joinlines",description:"Join lines",bindKey:a(null,null),exec:function(r){for(var i=r.selection.isBackwards(),n=i?r.selection.getSelectionLead():r.selection.getSelectionAnchor(),e=i?r.selection.getSelectionAnchor():r.selection.getSelectionLead(),t=r.session.doc.getLine(n.row).length,s=r.session.doc.getTextRange(r.selection.getRange()).replace(/\n\s*/," ").length,c=r.session.doc.getLine(n.row),g=n.row+1;g<=e.row+1;g++){var w=x.stringTrimLeft(x.stringTrimRight(r.session.doc.getLine(g)));0!==w.length&&(w=" "+w),c+=w}e.row+10?(r.selection.moveCursorTo(n.row,n.column),r.selection.selectTo(n.row,n.column+s)):(t=r.session.doc.getLine(n.row).length>t?t+1:t,r.selection.moveCursorTo(n.row,t))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:a(null,null),exec:function(r){var i=r.session.doc.getLength()-1,n=r.session.doc.getLine(i).length,e=r.selection.rangeList.ranges,t=[];e.length<1&&(e=[r.selection.getRange()]);for(var o=0;ol[r].column&&r++,e.unshift(r,0),l.splice.apply(l,e),this.$updateRows()}}},S.prototype.$updateRows=function(){var a=this.session.lineWidgets;if(a){var l=!0;a.forEach(function(r,i){if(r)for(l=!1,r.row=i;r.$oldWidget;)r.$oldWidget.row=i,r=r.$oldWidget}),l&&(this.session.lineWidgets=null)}},S.prototype.$registerLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var l=this.session.lineWidgets[a.row];return l&&(a.$oldWidget=l,l.el&&l.el.parentNode&&(l.el.parentNode.removeChild(l.el),l._inDocument=!1)),this.session.lineWidgets[a.row]=a,a},S.prototype.addLineWidget=function(a){if(this.$registerLineWidget(a),a.session=this.session,!this.editor)return a;var l=this.editor.renderer;a.html&&!a.el&&(a.el=x.createElement("div"),a.el.innerHTML=a.html),a.text&&!a.el&&(a.el=x.createElement("div"),a.el.textContent=a.text),a.el&&(x.addCssClass(a.el,"ace_lineWidgetContainer"),a.className&&x.addCssClass(a.el,a.className),a.el.style.position="absolute",a.el.style.zIndex=5,l.container.appendChild(a.el),a._inDocument=!0,a.coverGutter||(a.el.style.zIndex=3),null==a.pixelHeight&&(a.pixelHeight=a.el.offsetHeight)),null==a.rowCount&&(a.rowCount=a.pixelHeight/l.layerConfig.lineHeight);var r=this.session.getFoldAt(a.row,0);if(a.$fold=r,r){var i=this.session.lineWidgets;a.row!=r.end.row||i[r.start.row]?a.hidden=!0:i[r.start.row]=a}return this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,l),this.onWidgetChanged(a),a},S.prototype.removeLineWidget=function(a){if(a._inDocument=!1,a.session=null,a.el&&a.el.parentNode&&a.el.parentNode.removeChild(a.el),a.editor&&a.editor.destroy)try{a.editor.destroy()}catch{}if(this.session.lineWidgets){var l=this.session.lineWidgets[a.row];if(l==a)this.session.lineWidgets[a.row]=a.$oldWidget,a.$oldWidget&&this.onWidgetChanged(a.$oldWidget);else for(;l;){if(l.$oldWidget==a){l.$oldWidget=a.$oldWidget;break}l=l.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},S.prototype.getWidgetsAtRow=function(a){for(var l=this.session.lineWidgets,r=l&&l[a],i=[];r;)i.push(r),r=r.$oldWidget;return i},S.prototype.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},S.prototype.measureWidgets=function(a,l){var r=this.session._changedWidgets,i=l.layerConfig;if(r&&r.length){for(var n=1/0,e=0;e0&&!i[n];)n--;this.firstRow=r.firstRow,this.lastRow=r.lastRow,l.$cursorLayer.config=r;for(var t=n;t<=e;t++){var o=i[t];if(o&&o.el){if(o.hidden){o.el.style.top=-100-(o.pixelHeight||0)+"px";continue}o._inDocument||(o._inDocument=!0,l.container.appendChild(o.el));var s=l.$cursorLayer.getPixelPosition({row:t,column:0},!0).top;o.coverLine||(s+=r.lineHeight*this.session.getRowLineCount(o.row)),o.el.style.top=s-r.offset+"px";var c=o.coverGutter?0:l.gutterWidth;o.fixedWidth||(c-=l.scrollLeft),o.el.style.left=c+"px",o.fullWidth&&o.screenWidth&&(o.el.style.minWidth=r.width+2*r.padding+"px"),o.el.style.right=o.fixedWidth?l.scrollBar.getWidth()+"px":""}}}},S}();M.LineWidgets=k}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(E,M,H){"use strict";var x=E("../lib/keys"),k=E("../mouse/default_gutter_handler").GutterTooltip,S=function(){function l(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 k(this.editor)}return l.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))},l.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))},l.prototype.$onGutterKeyDown=function(r){if(this.annotationTooltip.isOpen)return r.preventDefault(),void(r.keyCode===x.escape&&this.annotationTooltip.hideTooltip());if(r.target===this.element){if(r.keyCode!=x.enter)return;r.preventDefault();var i=this.editor.getCursorPosition().row;return this.editor.isRowVisible(i)||this.editor.scrollToLine(i,!0,!0),void setTimeout(function(){var n=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),e=this.$findNearestFoldWidget(n),t=this.$findNearestAnnotation(n);if(null!==e||null!==t)return null===e&&null!==t?(this.activeRowIndex=t,this.activeLane="annotation",void this.$focusAnnotation(this.activeRowIndex)):null!==e&&null===t?(this.activeRowIndex=e,this.activeLane="fold",void this.$focusFoldWidget(this.activeRowIndex)):Math.abs(t-n)0||r+i=0&&this.$isFoldWidgetVisible(r-i))return r-i;if(r+i<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(r+i))return r+i}return null},l.prototype.$findNearestAnnotation=function(r){if(this.$isAnnotationVisible(r))return r;for(var i=0;r-i>0||r+i=0&&this.$isAnnotationVisible(r-i))return r-i;if(r+i<=this.lines.getLength()-1&&this.$isAnnotationVisible(r+i))return r+i}return null},l.prototype.$focusFoldWidget=function(r){if(null!=r){var i=this.$getFoldWidget(r);i.classList.add(this.editor.renderer.keyboardFocusClassName),i.focus()}},l.prototype.$focusAnnotation=function(r){if(null!=r){var i=this.$getAnnotation(r);i.classList.add(this.editor.renderer.keyboardFocusClassName),i.focus()}},l.prototype.$blurFoldWidget=function(r){var i=this.$getFoldWidget(r);i.classList.remove(this.editor.renderer.keyboardFocusClassName),i.blur()},l.prototype.$blurAnnotation=function(r){var i=this.$getAnnotation(r);i.classList.remove(this.editor.renderer.keyboardFocusClassName),i.blur()},l.prototype.$moveFoldWidgetUp=function(){for(var r=this.activeRowIndex;r>0;)if(r--,this.$isFoldWidgetVisible(r))return this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=r,void this.$focusFoldWidget(this.activeRowIndex)},l.prototype.$moveFoldWidgetDown=function(){for(var r=this.activeRowIndex;r0;)if(r--,this.$isAnnotationVisible(r))return this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,void this.$focusAnnotation(this.activeRowIndex)},l.prototype.$moveAnnotationDown=function(){for(var r=this.activeRowIndex;r=m.length&&(m=void 0),{value:m&&m[L++],done:!m}}};throw new TypeError(h?"Object is not iterable.":"Symbol.iterator is not defined.")},k=E("./lib/oop"),S=E("./lib/dom"),a=E("./lib/lang"),l=E("./lib/useragent"),r=E("./keyboard/textinput").TextInput,i=E("./mouse/mouse_handler").MouseHandler,n=E("./mouse/fold_handler").FoldHandler,e=E("./keyboard/keybinding").KeyBinding,t=E("./edit_session").EditSession,o=E("./search").Search,s=E("./range").Range,c=E("./lib/event_emitter").EventEmitter,g=E("./commands/command_manager").CommandManager,w=E("./commands/default_commands").commands,p=E("./config"),b=E("./token_iterator").TokenIterator,y=E("./line_widgets").LineWidgets,d=E("./keyboard/gutter_handler").GutterKeyboardHandler,v=E("./config").nls,$=E("./clipboard"),f=E("./lib/keys"),u=function(){function m(h,C,L){this.$toDestroy=[];var T=h.getContainerElement();this.container=T,this.renderer=h,this.id="editor"+ ++m.$uid,this.commands=new g(l.isMac?"mac":"win",w),"object"==typeof document&&(this.textInput=new r(h.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new i(this),new n(this)),this.keyBinding=new e(this),this.$search=(new o).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=a.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(R,_){_._$emitInputEvent.schedule(31)}),this.setSession(C||L&&L.session||new t("")),p.resetOptions(this),L&&this.setOptions(L),p._signal("editor",this)}return m.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=a.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},m.prototype.startOperation=function(h){if(this.curOp){if(!h||this.curOp.command)return;this.prevOp=this.curOp}h||(this.previousCommand=null,h={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:h.command||{},args:h.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},m.prototype.endOperation=function(h){if(this.curOp&&this.session){if(h&&!1===h.returnValue||!this.session)return this.curOp=null;if(1==h&&this.curOp.command&&"mouse"==this.curOp.command.name||(this._signal("beforeEndOperation"),!this.curOp))return;var C=this.curOp.command,L=C&&C.scrollIntoView;if(L){switch(L){case"center-animate":L="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var T=this.selection.getRange(),R=this.renderer.layerConfig;(T.start.row>=R.lastRow||T.end.row<=R.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==L&&this.renderer.animateScrolling(this.curOp.scrollTop)}var _=this.selection.toJSON();this.curOp.selectionAfter=_,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(_),this.prevOp=this.curOp,this.curOp=null}},m.prototype.$historyTracker=function(h){if(this.$mergeUndoDeltas){var C=this.prevOp,L=this.$mergeableCommands,T=C.command&&h.command.name==C.command.name;if("insertstring"==h.command.name){var R=h.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),T=T&&this.mergeNextCommand&&(!/\s/.test(R)||/\s/.test(C.args)),this.mergeNextCommand=!0}else T=T&&-1!==L.indexOf(h.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(T=!1),T?this.session.mergeUndoDeltas=!0:-1!==L.indexOf(h.command.name)&&(this.sequenceStartTime=Date.now())}},m.prototype.setKeyboardHandler=function(h,C){if(h&&"string"==typeof h&&"ace"!=h){this.$keybindingId=h;var L=this;p.loadModule(["keybinding",h],function(T){L.$keybindingId==h&&L.keyBinding.setKeyboardHandler(T&&T.handler),C&&C()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(h),C&&C()},m.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},m.prototype.setSession=function(h){if(this.session!=h){this.curOp&&this.endOperation(),this.curOp={};var C=this.session;if(C){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);var L=this.session.getSelection();L.off("changeCursor",this.$onCursorChange),L.off("changeSelection",this.$onSelectionChange)}this.session=h,h?(this.$onDocumentChange=this.onDocumentChange.bind(this),h.on("change",this.$onDocumentChange),this.renderer.setSession(h),this.$onChangeMode=this.onChangeMode.bind(this),h.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),h.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),h.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),h.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),h.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),h.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=h.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),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(h)),this._signal("changeSession",{session:h,oldSession:C}),this.curOp=null,C&&C._signal("changeEditor",{oldEditor:this}),h&&h._signal("changeEditor",{editor:this}),h&&!h.destroyed&&h.bgTokenizer.scheduleStart()}},m.prototype.getSession=function(){return this.session},m.prototype.setValue=function(h,C){return this.session.doc.setValue(h),C?1==C?this.navigateFileEnd():-1==C&&this.navigateFileStart():this.selectAll(),h},m.prototype.getValue=function(){return this.session.getValue()},m.prototype.getSelection=function(){return this.selection},m.prototype.resize=function(h){this.renderer.onResize(h)},m.prototype.setTheme=function(h,C){this.renderer.setTheme(h,C)},m.prototype.getTheme=function(){return this.renderer.getTheme()},m.prototype.setStyle=function(h){this.renderer.setStyle(h)},m.prototype.unsetStyle=function(h){this.renderer.unsetStyle(h)},m.prototype.getFontSize=function(){return this.getOption("fontSize")||S.computedStyle(this.container).fontSize},m.prototype.setFontSize=function(h){this.setOption("fontSize",h)},m.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var h=this;this.$highlightPending=!0,setTimeout(function(){h.$highlightPending=!1;var C=h.session;if(C&&!C.destroyed){C.$bracketHighlight&&(C.$bracketHighlight.markerIds.forEach(function(F){C.removeMarker(F)}),C.$bracketHighlight=null);var L=h.getCursorPosition(),T=h.getKeyboardHandler(),R=T&&T.$getDirectionForHighlight&&T.$getDirectionForHighlight(h),_=C.getMatchingBracketRanges(L,R);if(!_){var I=new b(C,L.row,L.column).getCurrentToken();if(I&&/\b(?:tag-open|tag-name)/.test(I.type)){var W=C.getMatchingTags(L);W&&(_=[W.openTagName,W.closeTagName])}}if(!_&&C.$mode.getMatching&&(_=C.$mode.getMatching(h.session)),!_)return void(h.getHighlightIndentGuides()&&h.renderer.$textLayer.$highlightIndentGuide());var D="ace_bracket";Array.isArray(_)?1==_.length&&(D="ace_error_bracket"):_=[_],2==_.length&&(0==s.comparePoints(_[0].end,_[1].start)?_=[s.fromPoints(_[0].start,_[1].end)]:0==s.comparePoints(_[0].start,_[1].end)&&(_=[s.fromPoints(_[1].start,_[0].end)])),C.$bracketHighlight={ranges:_,markerIds:_.map(function(F){return C.addMarker(F,D,"text")})},h.getHighlightIndentGuides()&&h.renderer.$textLayer.$highlightIndentGuide()}},50)}},m.prototype.focus=function(){this.textInput.focus()},m.prototype.isFocused=function(){return this.textInput.isFocused()},m.prototype.blur=function(){this.textInput.blur()},m.prototype.onFocus=function(h){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",h))},m.prototype.onBlur=function(h){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",h))},m.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},m.prototype.onDocumentChange=function(h){this.renderer.updateLines(h.start.row,h.start.row==h.end.row?h.end.row:1/0,this.session.$useWrapMode),this._signal("change",h),this.$cursorChange()},m.prototype.onTokenizerUpdate=function(h){var C=h.data;this.renderer.updateLines(C.first,C.last)},m.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},m.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},m.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},m.prototype.$updateHighlightActiveLine=function(){var C,h=this.getSession();if(this.$highlightActiveLine&&(("line"!=this.$selectionStyle||!this.selection.isMultiLine())&&(C=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(C=!1),this.renderer.$maxLines&&1===this.session.getLength()&&!(this.renderer.$minLines>1)&&(C=!1)),h.$highlightLineMarker&&!C)h.removeMarker(h.$highlightLineMarker.id),h.$highlightLineMarker=null;else if(!h.$highlightLineMarker&&C){var L=new s(C.row,C.column,C.row,1/0);L.id=h.addMarker(L,"ace_active-line","screenLine"),h.$highlightLineMarker=L}else C&&(h.$highlightLineMarker.start.row=C.row,h.$highlightLineMarker.end.row=C.row,h.$highlightLineMarker.start.column=C.column,h._signal("changeBackMarker"))},m.prototype.onSelectionChange=function(h){var C=this.session;if(C.$selectionMarker&&C.removeMarker(C.$selectionMarker),C.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var L=this.selection.getRange(),T=this.getSelectionStyle();C.$selectionMarker=C.addMarker(L,"ace_selection",T)}var R=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(R),this._signal("changeSelection")},m.prototype.$getSelectionHighLightRegexp=function(){var h=this.session,C=this.getSelectionRange();if(!C.isEmpty()&&!C.isMultiLine()){var L=C.start.column,T=C.end.column,R=h.getLine(C.start.row),_=R.substring(L,T);if(!(_.length>5e3)&&/[\w\d]/.test(_)){var O=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:_}),I=R.substring(L-1,T+1);if(O.test(I))return O}}},m.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},m.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},m.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},m.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},m.prototype.onChangeMode=function(h){this.renderer.updateText(),this._emit("changeMode",h)},m.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},m.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},m.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},m.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},m.prototype.getCopyText=function(){var h=this.getSelectedText(),C=this.session.doc.getNewLineCharacter(),L=!1;if(!h&&this.$copyWithEmptySelection){L=!0;for(var T=this.selection.getAllRanges(),R=0;RF.search(/\S|$/)){var I=F.substr(R.column).search(/\S|$/);L.doc.removeInLine(R.row,R.column,R.column+I)}}this.clearSelection();var W=R.column,D=L.getState(R.row),B=(F=L.getLine(R.row),T.checkOutdent(D,F,h));if(L.insert(R,h),_&&_.selection&&this.selection.setSelectionRange(2==_.selection.length?new s(R.row,W+_.selection[0],R.row,W+_.selection[1]):new s(R.row+_.selection[0],_.selection[1],R.row+_.selection[2],_.selection[3])),this.$enableAutoIndent){if(L.getDocument().isNewLine(h)){var V=T.getNextLineIndent(D,F.slice(0,R.column),L.getTabString());L.insert({row:R.row+1,column:0},V)}B&&T.autoOutdent(D,L,R.row)}},m.prototype.autoIndent=function(){var L,T,h=this.session,C=h.getMode();if(this.selection.isEmpty())L=0,T=h.doc.getLength()-1;else{var R=this.getSelectionRange();L=R.start.row,T=R.end.row}for(var W,D,F,_="",O="",I="",B=h.getTabString(),V=L;V<=T;V++)V>0&&(_=h.getState(V-1),O=h.getLine(V-1),I=C.getNextLineIndent(_,O,B)),W=h.getLine(V),I!==(D=C.$getIndent(W))&&(D.length>0&&(F=new s(V,0,V,D.length),h.remove(F)),I.length>0&&h.insert({row:V,column:0},I)),C.autoOutdent(_,h,V)},m.prototype.onTextInput=function(h,C){if(!C)return this.keyBinding.onTextInput(h);this.startOperation({command:{name:"insertstring"}});var L=this.applyComposition.bind(this,h,C);this.selection.rangeCount?this.forEachSelection(L):L(),this.endOperation()},m.prototype.applyComposition=function(h,C){var L;(C.extendLeft||C.extendRight)&&((L=this.selection.getRange()).start.column-=C.extendLeft,L.end.column+=C.extendRight,L.start.column<0&&(L.start.row--,L.start.column+=this.session.getLine(L.start.row).length+1),this.selection.setRange(L),!h&&!L.isEmpty()&&this.remove()),(h||!this.selection.isEmpty())&&this.insert(h,!0),(C.restoreStart||C.restoreEnd)&&((L=this.selection.getRange()).start.column-=C.restoreStart,L.end.column-=C.restoreEnd,this.selection.setRange(L))},m.prototype.onCommandKey=function(h,C,L){return this.keyBinding.onCommandKey(h,C,L)},m.prototype.setOverwrite=function(h){this.session.setOverwrite(h)},m.prototype.getOverwrite=function(){return this.session.getOverwrite()},m.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},m.prototype.setScrollSpeed=function(h){this.setOption("scrollSpeed",h)},m.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},m.prototype.setDragDelay=function(h){this.setOption("dragDelay",h)},m.prototype.getDragDelay=function(){return this.getOption("dragDelay")},m.prototype.setSelectionStyle=function(h){this.setOption("selectionStyle",h)},m.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},m.prototype.setHighlightActiveLine=function(h){this.setOption("highlightActiveLine",h)},m.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},m.prototype.setHighlightGutterLine=function(h){this.setOption("highlightGutterLine",h)},m.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},m.prototype.setHighlightSelectedWord=function(h){this.setOption("highlightSelectedWord",h)},m.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},m.prototype.setAnimatedScroll=function(h){this.renderer.setAnimatedScroll(h)},m.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},m.prototype.setShowInvisibles=function(h){this.renderer.setShowInvisibles(h)},m.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},m.prototype.setDisplayIndentGuides=function(h){this.renderer.setDisplayIndentGuides(h)},m.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},m.prototype.setHighlightIndentGuides=function(h){this.renderer.setHighlightIndentGuides(h)},m.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},m.prototype.setShowPrintMargin=function(h){this.renderer.setShowPrintMargin(h)},m.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},m.prototype.setPrintMarginColumn=function(h){this.renderer.setPrintMarginColumn(h)},m.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},m.prototype.setReadOnly=function(h){this.setOption("readOnly",h)},m.prototype.getReadOnly=function(){return this.getOption("readOnly")},m.prototype.setBehavioursEnabled=function(h){this.setOption("behavioursEnabled",h)},m.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},m.prototype.setWrapBehavioursEnabled=function(h){this.setOption("wrapBehavioursEnabled",h)},m.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},m.prototype.setShowFoldWidgets=function(h){this.setOption("showFoldWidgets",h)},m.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},m.prototype.setFadeFoldWidgets=function(h){this.setOption("fadeFoldWidgets",h)},m.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},m.prototype.remove=function(h){this.selection.isEmpty()&&("left"==h?this.selection.selectLeft():this.selection.selectRight());var C=this.getSelectionRange();if(this.getBehavioursEnabled()){var L=this.session,T=L.getState(C.start.row),R=L.getMode().transformAction(T,"deletion",this,L,C);if(0===C.end.column){var _=L.getTextRange(C);if("\n"==_[_.length-1]){var O=L.getLine(C.end.row);/^\s+$/.test(O)&&(C.end.column=O.length)}}R&&(C=R)}this.session.remove(C),this.clearSelection()},m.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var h=this.getSelectionRange();h.start.column==h.end.column&&h.start.row==h.end.row&&(h.end.column=0,h.end.row++),this.session.remove(h),this.clearSelection()},m.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var h=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(h)},m.prototype.setGhostText=function(h,C){this.session.widgetManager||(this.session.widgetManager=new y(this.session),this.session.widgetManager.attach(this)),this.renderer.setGhostText(h,C)},m.prototype.removeGhostText=function(){this.session.widgetManager&&this.renderer.removeGhostText()},m.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var h=this.getCursorPosition(),C=h.column;if(0!==C){var T,R,L=this.session.getLine(h.row);CI.toLowerCase()?1:0});var R=new s(0,0,0,0);for(T=h.first;T<=h.last;T++){var _=C.getLine(T);R.start.row=T,R.end.row=T,R.end.column=_.length,C.replace(R,L[T-h.first])}},m.prototype.toggleCommentLines=function(){var h=this.session.getState(this.getCursorPosition().row),C=this.$getSelectedRows();this.session.getMode().toggleCommentLines(h,this.session,C.first,C.last)},m.prototype.toggleBlockComment=function(){var h=this.getCursorPosition(),C=this.session.getState(h.row),L=this.getSelectionRange();this.session.getMode().toggleBlockComment(C,this.session,L,h)},m.prototype.getNumberAt=function(h,C){var L=/[\-]?[0-9]+(?:\.[0-9]+)?/g;L.lastIndex=0;for(var T=this.session.getLine(h);L.lastIndex=C)return{value:R[0],start:R.index,end:R.index+R[0].length}}return null},m.prototype.modifyNumber=function(h){var C=this.selection.getCursor().row,L=this.selection.getCursor().column,T=new s(C,L-1,C,L),R=this.session.getTextRange(T);if(!isNaN(parseFloat(R))&&isFinite(R)){var _=this.getNumberAt(C,L);if(_){var O=_.value.indexOf(".")>=0?_.start+_.value.indexOf(".")+1:_.end,I=_.start+_.value.length-O,W=parseFloat(_.value);W*=Math.pow(10,I),W+=h*=O!==_.end&&L=O&&_<=I&&(L=Y,W.selection.clearSelection(),W.moveCursorTo(h,O+T),W.selection.selectTo(h,I+T)),O=I});for(var F,D=this.$toggleWordPairs,B=0;B=I&&O<=W&&V.match(/((?:https?|ftp):\/\/[\S]+)/)){D=V.replace(/[\s:.,'";}\]]+$/,"");break}I=W}}catch(P){L={error:P}}finally{try{B&&!B.done&&(T=F.return)&&T.call(F)}finally{if(L)throw L.error}}return D},m.prototype.openLink=function(){var h=this.selection.getCursor(),C=this.findLinkAt(h.row,h.column);return C&&window.open(C,"_blank"),null!=C},m.prototype.removeLines=function(){var h=this.$getSelectedRows();this.session.removeFullLines(h.first,h.last),this.clearSelection()},m.prototype.duplicateSelection=function(){var h=this.selection,C=this.session,L=h.getRange(),T=h.isBackwards();if(L.isEmpty()){var R=L.start.row;C.duplicateLines(R,R)}else{var _=T?L.start:L.end,O=C.insert(_,C.getTextRange(L),!1);L.start=_,L.end=O,h.setSelectionRange(L,T)}},m.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},m.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},m.prototype.moveText=function(h,C,L){return this.session.moveText(h,C,L)},m.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},m.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},m.prototype.$moveLines=function(h,C){var L,T,R=this.selection;if(!R.inMultiSelectMode||this.inVirtualSelectionMode){var _=R.toOrientedRange();L=this.$getSelectedRows(_),T=this.session.$moveLines(L.first,L.last,C?0:h),C&&-1==h&&(T=0),_.moveBy(T,0),R.fromOrientedRange(_)}else{var O=R.rangeList.ranges;R.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var I=0,W=0,D=O.length,F=0;FP+1)break;P=G.last}for(F--,I=this.session.$moveLines(V,P,C?0:h),C&&-1==h&&(B=F+1);B<=F;)O[B].moveBy(I,0),B++;C||(I=0),W+=I}R.fromOrientedRange(R.ranges[0]),R.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},m.prototype.$getSelectedRows=function(h){return h=(h||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(h.start.row),last:this.session.getRowFoldEnd(h.end.row)}},m.prototype.onCompositionStart=function(h){this.renderer.showComposition(h)},m.prototype.onCompositionUpdate=function(h){this.renderer.setCompositionText(h)},m.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},m.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},m.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},m.prototype.isRowVisible=function(h){return h>=this.getFirstVisibleRow()&&h<=this.getLastVisibleRow()},m.prototype.isRowFullyVisible=function(h){return h>=this.renderer.getFirstFullyVisibleRow()&&h<=this.renderer.getLastFullyVisibleRow()},m.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},m.prototype.$moveByPage=function(h,C){var L=this.renderer,T=this.renderer.layerConfig,R=h*Math.floor(T.height/T.lineHeight);!0===C?this.selection.$moveSelection(function(){this.moveCursorBy(R,0)}):!1===C&&(this.selection.moveCursorBy(R,0),this.selection.clearSelection());var _=L.scrollTop;L.scrollBy(0,R*T.lineHeight),null!=C&&L.scrollCursorIntoView(null,.5),L.animateScrolling(_)},m.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},m.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},m.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},m.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},m.prototype.scrollPageDown=function(){this.$moveByPage(1)},m.prototype.scrollPageUp=function(){this.$moveByPage(-1)},m.prototype.scrollToRow=function(h){this.renderer.scrollToRow(h)},m.prototype.scrollToLine=function(h,C,L,T){this.renderer.scrollToLine(h,C,L,T)},m.prototype.centerSelection=function(){var h=this.getSelectionRange(),C={row:Math.floor(h.start.row+(h.end.row-h.start.row)/2),column:Math.floor(h.start.column+(h.end.column-h.start.column)/2)};this.renderer.alignCursor(C,.5)},m.prototype.getCursorPosition=function(){return this.selection.getCursor()},m.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},m.prototype.getSelectionRange=function(){return this.selection.getRange()},m.prototype.selectAll=function(){this.selection.selectAll()},m.prototype.clearSelection=function(){this.selection.clearSelection()},m.prototype.moveCursorTo=function(h,C){this.selection.moveCursorTo(h,C)},m.prototype.moveCursorToPosition=function(h){this.selection.moveCursorToPosition(h)},m.prototype.jumpToMatching=function(h,C){var L=this.getCursorPosition(),T=new b(this.session,L.row,L.column),R=T.getCurrentToken(),_=0;R&&-1!==R.type.indexOf("tag-name")&&(R=T.stepBackward());var O=R||T.stepForward();if(O){var I,B,W=!1,D={},F=L.column-O.start,V={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(O.value.match(/[{}()\[\]]/g)){for(;F1?D[O.value]++:"=0;--_)this.$tryReplace(L[_],h)&&T++;return this.selection.setSelectionRange(R),T},m.prototype.$tryReplace=function(h,C){var L=this.session.getTextRange(h);return null!==(C=this.$search.replace(L,C))?(h.end=this.session.replace(h,C),h):null},m.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},m.prototype.find=function(h,C,L){C||(C={}),"string"==typeof h||h instanceof RegExp?C.needle=h:"object"==typeof h&&k.mixin(C,h);var T=this.selection.getRange();null==C.needle&&((h=this.session.getTextRange(T)||this.$search.$options.needle)||(T=this.session.getWordRange(T.start.row,T.start.column),h=this.session.getTextRange(T)),this.$search.set({needle:h})),this.$search.set(C),C.start||this.$search.set({start:T});var R=this.$search.find(this.session);return C.preventScroll?R:R?(this.revealRange(R,L),R):(C.backwards?T.start=T.end:T.end=T.start,void this.selection.setRange(T))},m.prototype.findNext=function(h,C){this.find({skipCurrent:!0,backwards:!1},h,C)},m.prototype.findPrevious=function(h,C){this.find(h,{skipCurrent:!0,backwards:!0},C)},m.prototype.revealRange=function(h,C){this.session.unfold(h),this.selection.setSelectionRange(h);var L=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(h.start,h.end,.5),!1!==C&&this.renderer.animateScrolling(L)},m.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},m.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},m.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(h){h.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()},m.prototype.setAutoScrollEditorIntoView=function(h){if(h){var C,L=this,T=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var R=this.$scrollAnchor;R.style.cssText="position:absolute",this.container.insertBefore(R,this.container.firstChild);var _=this.on("changeSelection",function(){T=!0}),O=this.renderer.on("beforeRender",function(){T&&(C=L.renderer.container.getBoundingClientRect())}),I=this.renderer.on("afterRender",function(){if(T&&C&&(L.isFocused()||L.searchBox&&L.searchBox.isFocused())){var W=L.renderer,D=W.$cursorLayer.$pixelPos,F=W.layerConfig,B=D.top-F.offset;null!=(T=D.top>=0&&B+C.top<0||!(D.topwindow.innerHeight)&&null)&&(R.style.top=B+"px",R.style.left=D.left+"px",R.style.height=F.lineHeight+"px",R.scrollIntoView(T)),T=C=null}});this.setAutoScrollEditorIntoView=function(W){W||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",_),this.renderer.off("afterRender",I),this.renderer.off("beforeRender",O))}}},m.prototype.$resetCursorStyle=function(){var h=this.$cursorStyle||"ace",C=this.renderer.$cursorLayer;C&&(C.setSmoothBlinking(/smooth/.test(h)),C.isBlinking=!this.$readOnly&&"wide"!=h,S.setCssClass(C.element,"ace_slim-cursors",/slim/.test(h)))},m.prototype.prompt=function(h,C,L){var T=this;p.loadModule("ace/ext/prompt",function(R){R.prompt(T,h,C,L)})},m}();u.$uid=0,u.prototype.curOp=null,u.prototype.prevOp={},u.prototype.$mergeableCommands=["backspace","del","insertstring"],u.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"],["&&","||"],["==","!="]],k.implement(u.prototype,c),p.defineOptions(u.prototype,"editor",{selectionStyle:{set:function(m){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:m})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(m){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(m){this.textInput.setReadOnly(m),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(m){this.textInput.setCopyWithEmptySelection(m)},initialValue:!1},cursorStyle:{set:function(m){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(m){this.setAutoScrollEditorIntoView(m)}},keyboardHandler:{set:function(m){this.setKeyboardHandler(m)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(m){this.session.setValue(m)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(m){this.setSession(m)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(m){this.renderer.$gutterLayer.setShowLineNumbers(m),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),m&&this.$relativeLineNumbers?A.attach(this):A.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(m){this.$showLineNumbers&&m?A.attach(this):A.detach(this)}},placeholder:{set:function(m){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var h=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(h&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),S.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(h||this.renderer.placeholderNode)!h&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"");else{this.renderer.on("afterRender",this.$updatePlaceholder),S.addCssClass(this.container,"ace_hasPlaceholder");var C=S.createElement("div");C.className="ace_placeholder",C.textContent=this.$placeholder||"",this.renderer.placeholderNode=C,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(m){var L,h={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(T){T.blur(),T.renderer.scroller.focus()},readOnly:!0},C=function(T){if(T.target==this.renderer.scroller&&T.keyCode===f.enter){T.preventDefault();var R=this.getCursorPosition().row;this.isRowVisible(R)||this.scrollToLine(R,!0,!0),this.focus()}};m?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(l.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",v("editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",v("Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",C.bind(this)),this.commands.addCommand(h),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",v("editor")),this.renderer.$gutter.setAttribute("aria-label",v("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),L||(L=new d(this)),L.addListener()):(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",C.bind(this)),this.commands.removeCommand(h),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),L&&L.removeListener())},initialValue:!1},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 A={getText:function(m,h){return(Math.abs(m.selection.lead.row-h)||h+1+(h<9?"\xb7":""))+""},getWidth:function(m,h,C){return Math.max(h.toString().length,(C.lastRow+1).toString().length,2)*C.characterWidth},update:function(m,h){h.renderer.$loop.schedule(h.renderer.CHANGE_GUTTER)},attach:function(m){m.renderer.$gutterLayer.$renderer=this,m.on("changeSelection",this.update),this.update(null,m)},detach:function(m){m.renderer.$gutterLayer.$renderer==this&&(m.renderer.$gutterLayer.$renderer=null),m.off("changeSelection",this.update),this.update(null,m)}};M.Editor=u}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(E,M,H){"use strict";var x=function(){function d(){this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return d.prototype.addSession=function(v){this.$session=v},d.prototype.add=function(v,$,f){if(!this.$fromUndo&&v!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),!1===$||!this.lastDeltas){this.lastDeltas=[];var u=this.$undoStack.length;u>this.$undoDepth-1&&this.$undoStack.splice(0,u-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),v.id=this.$rev=++this.$maxRev}("remove"==v.action||"insert"==v.action)&&(this.$lastDelta=v),this.lastDeltas.push(v)}},d.prototype.addSelection=function(v,$){this.selections.push({value:v,rev:$||this.$rev})},d.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},d.prototype.markIgnored=function(v,$){null==$&&($=this.$rev+1);for(var f=this.$undoStack,u=f.length;u--;){var A=f[u][0];if(A.id<=v)break;A.id<$&&(A.ignore=!0)}this.lastDeltas=null},d.prototype.getSelection=function(v,$){for(var f=this.selections,u=f.length;u--;){var A=f[u];if(A.rev0},d.prototype.canRedo=function(){return this.$redoStack.length>0},d.prototype.bookmark=function(v){null==v&&(v=this.$rev),this.mark=v},d.prototype.isAtBookmark=function(){return this.$rev===this.mark},d.prototype.toJSON=function(){},d.prototype.fromJSON=function(){},d.prototype.$prettyPrint=function(v){return v?e(v):e(this.$undoStack)+"\n---\n"+e(this.$redoStack)},d}();x.prototype.hasUndo=x.prototype.canUndo,x.prototype.hasRedo=x.prototype.canRedo,x.prototype.isClean=x.prototype.isAtBookmark,x.prototype.markClean=x.prototype.bookmark;var S=E("./range").Range,a=S.comparePoints;function i(d){return{row:d.row,column:d.column}}function e(d){if(d=d||this,Array.isArray(d))return d.map(e).join("\n");var v="";return d.action?(v="insert"==d.action?"+":"-",v+="["+d.lines+"]"):d.value&&(v=Array.isArray(d.value)?d.value.map(t).join("\n"):t(d.value)),d.start&&(v+=t(d)),(d.id||d.rev)&&(v+="\t("+(d.id||d.rev)+")"),v}function t(d){return d.start.row+":"+d.start.column+"=>"+d.end.row+":"+d.end.column}function o(d,v){var $="insert"==d.action,f="insert"==v.action;if($&&f)if(a(v.start,d.end)>=0)g(v,d,-1);else{if(!(a(v.start,d.start)<=0))return null;g(d,v,1)}else if($&&!f)if(a(v.start,d.end)>=0)g(v,d,-1);else{if(!(a(v.end,d.start)<=0))return null;g(d,v,-1)}else if(!$&&f)if(a(v.start,d.start)>=0)g(v,d,1);else{if(!(a(v.start,d.start)<=0))return null;g(d,v,1)}else if(!$&&!f)if(a(v.start,d.start)>=0)g(v,d,1);else{if(!(a(v.end,d.start)<=0))return null;g(d,v,-1)}return[v,d]}function s(d,v){for(var $=d.length;$--;)for(var f=0;f=0?g(d,v,-1):(a(d.start,v.start)<=0||g(d,S.fromPoints(v.start,d.start),-1),g(v,d,1));else if(!$&&f)a(v.start,d.end)>=0?g(v,d,-1):(a(v.start,d.start)<=0||g(v,S.fromPoints(d.start,v.start),-1),g(d,v,1));else if(!$&&!f)if(a(v.start,d.end)>=0)g(v,d,-1);else{var u,A;if(!(a(v.end,d.start)<=0))return a(d.start,v.start)<0&&(u=d,d=p(d,v.start)),a(d.end,v.end)>0&&(A=p(d,v.end)),w(v.end,d.start,d.end,-1),A&&!u&&(d.lines=A.lines,d.start=A.start,d.end=A.end,A=d),[v,u,A].filter(Boolean);g(d,v,-1)}return[v,d]}function g(d,v,$){w(d.start,v.start,v.end,$),w(d.end,v.start,v.end,$)}function w(d,v,$,f){d.row==(1==f?v:$).row&&(d.column+=f*($.column-v.column)),d.row+=f*($.row-v.row)}function p(d,v){var $=d.lines,f=d.end;d.end=i(v);var u=d.end.row-d.start.row,A=$.splice(u,$.length),m=u?v.column:v.column-d.start.column;return $.push(A[0].substring(0,m)),A[0]=A[0].substr(m),{start:i(v),end:f,lines:A,action:d.action}}function b(d,v){v=function n(d){return{start:i(d.start),end:i(d.end),action:d.action,lines:d.lines.slice()}}(v);for(var $=d.length;$--;){for(var f=d[$],u=0;uw&&(w=(g=o.getNextFoldLine(y=g.end.row+1,g))?g.start.row:1/0),y>c){for(;this.$lines.getLength()>b+1;)this.$lines.pop();break}(p=this.$lines.get(++b))?p.row=y:(p=this.$lines.createCell(y,t,this.session,n),this.$lines.push(p)),this.$renderCell(p,t,g,y),y++}this._signal("afterRender"),this.$updateGutterWidth(t)},e.prototype.$updateGutterWidth=function(t){var o=this.session,s=o.gutterRenderer||this.$renderer,c=o.$firstLineNumber,g=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||o.$useWrapMode)&&(g=o.getLength()+c-1);var w=s?s.getWidth(o,g,t):g.toString().length*t.characterWidth,p=this.$padding||this.$computePadding();(w+=p.left+p.right)!==this.gutterWidth&&!isNaN(w)&&(this.gutterWidth=w,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",w))},e.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var t=this.session.selection.getCursor();this.$cursorRow!==t.row&&(this.$cursorRow=t.row)}},e.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var t=this.session.selection.cursor.row;if(this.$cursorRow=t,!this.$cursorCell||this.$cursorCell.row!=t){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var o=this.$lines.cells;this.$cursorCell=null;for(var s=0;s=this.$cursorRow){if(c.row>this.$cursorRow){var g=this.session.getFoldLine(this.$cursorRow);if(!(s>0&&g&&g.start.row==o[s-1].row))break;c=o[s-1]}c.element.className="ace_gutter-active-line "+c.element.className,this.$cursorCell=c;break}}}}},e.prototype.scrollLines=function(t){var o=this.config;if(this.config=t,this.$updateCursorRow(),this.$lines.pageChanged(o,t))return this.update(t);this.$lines.moveContainer(t);var s=Math.min(t.lastRow+t.gutterOffset,this.session.getLength()-1),c=this.oldLastRow;if(this.oldLastRow=s,!o||c0;g--)this.$lines.shift();if(c>s)for(g=this.session.getFoldedRowCount(s+1,c);g>0;g--)this.$lines.pop();t.firstRowc&&this.$lines.push(this.$renderLines(t,c+1,s)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(t)},e.prototype.$renderLines=function(t,o,s){for(var c=[],g=o,w=this.session.getNextFoldLine(g),p=w?w.start.row:1/0;g>p&&(p=(w=this.session.getNextFoldLine(g=w.end.row+1,w))?w.start.row:1/0),!(g>s);){var b=this.$lines.createCell(g,t,this.session,n);this.$renderCell(b,t,w,g),c.push(b),g++}return c},e.prototype.$renderCell=function(t,o,s,c){var g=t.element,w=this.session,p=g.childNodes[0],b=g.childNodes[1],y=g.childNodes[2],d=y.firstChild,v=w.$firstLineNumber,$=w.$breakpoints,f=w.$decorations,u=w.gutterRenderer||this.$renderer,A=this.$showFoldWidgets&&w.foldWidgets,m=s?s.start.row:Number.MAX_VALUE,h=o.lineHeight+"px",C=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",L=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",T=(u?u.getText(w,c):c+v).toString();if(this.$highlightGutterLine&&(c==this.$cursorRow||s&&c=m&&this.$cursorRow<=s.end.row)&&(C+="ace_gutter-active-line ",this.$cursorCell!=t&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=t)),$[c]&&(C+=$[c]),f[c]&&(C+=f[c]),this.$annotations[c]&&c!==m&&(C+=this.$annotations[c].className),A){var R=A[c];null==R&&(R=A[c]=w.getFoldWidget(c))}if(R){var _="ace_fold-widget ace_"+R,O="start"==R&&c==m&&cs.right-o.right?"foldWidgets":void 0},e}();function n(e){var t=document.createTextNode("");e.appendChild(t);var o=x.createElement("span");e.appendChild(o);var s=x.createElement("span");e.appendChild(s);var c=x.createElement("span");return s.appendChild(c),e}i.prototype.$fixedWidth=!1,i.prototype.$highlightGutterLine=!0,i.prototype.$renderer="",i.prototype.$showLineNumbers=!0,i.prototype.$showFoldWidgets=!0,k.implement(i.prototype,a),M.Gutter=i}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(E,M,H){"use strict";var x=E("../range").Range,k=E("../lib/dom"),S=function(){function l(r){this.element=k.createElement("div"),this.element.className="ace_layer ace_marker-layer",r.appendChild(this.element)}return l.prototype.setPadding=function(r){this.$padding=r},l.prototype.setSession=function(r){this.session=r},l.prototype.setMarkers=function(r){this.markers=r},l.prototype.elt=function(r,i){var n=-1!=this.i&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=i,n.className=r},l.prototype.update=function(r){if(r){var i;for(var n in this.config=r,this.i=0,this.markers){var e=this.markers[n];if(e.range){var t=e.range.clipRows(r.firstRow,r.lastRow);if(!t.isEmpty())if(t=t.toScreenRange(this.session),e.renderer){var o=this.$getTop(t.start.row,r);e.renderer(i,t,this.$padding+t.start.column*r.characterWidth,o,r)}else"fullLine"==e.type?this.drawFullLineMarker(i,t,e.clazz,r):"screenLine"==e.type?this.drawScreenLineMarker(i,t,e.clazz,r):t.isMultiLine()?"text"==e.type?this.drawTextMarker(i,t,e.clazz,r):this.drawMultiLineMarker(i,t,e.clazz,r):this.drawSingleLineMarker(i,t,e.clazz+" ace_start ace_br15",r)}else e.update(i,this,this.session,r)}if(-1!=this.i)for(;this.ib,g==c),e,g==c?0:1,t)},l.prototype.drawMultiLineMarker=function(r,i,n,e,t){var w,o=this.$padding,s=e.lineHeight,c=this.$getTop(i.start.row,e),g=o+i.start.column*e.characterWidth;if(t=t||"",this.session.$bidiHandler.isBidiRow(i.start.row)?((w=i.clone()).end.row=w.start.row,w.end.column=this.session.getLine(w.start.row).length,this.drawBidiSingleLineMarker(r,w,n+" ace_br1 ace_start",e,null,t)):this.elt(n+" ace_br1 ace_start","height:"+s+"px;right:0;top:"+c+"px;left:"+g+"px;"+(t||"")),this.session.$bidiHandler.isBidiRow(i.end.row)?((w=i.clone()).start.row=w.end.row,w.start.column=0,this.drawBidiSingleLineMarker(r,w,n+" ace_br12",e,null,t)):(c=this.$getTop(i.end.row,e),this.elt(n+" ace_br12","height:"+s+"px;width:"+i.end.column*e.characterWidth+"px;top:"+c+"px;left:"+o+"px;"+(t||""))),!((s=(i.end.row-i.start.row-1)*e.lineHeight)<=0)){c=this.$getTop(i.start.row+1,e);var b=(i.start.column?1:0)|(i.end.column?0:8);this.elt(n+(b?" ace_br"+b:""),"height:"+s+"px;right:0;top:"+c+"px;left:"+o+"px;"+(t||""))}},l.prototype.drawSingleLineMarker=function(r,i,n,e,t,o){if(this.session.$bidiHandler.isBidiRow(i.start.row))return this.drawBidiSingleLineMarker(r,i,n,e,t,o);var s=e.lineHeight,c=(i.end.column+(t||0)-i.start.column)*e.characterWidth,g=this.$getTop(i.start.row,e);this.elt(n,"height:"+s+"px;width:"+c+"px;top:"+g+"px;left:"+(this.$padding+i.start.column*e.characterWidth)+"px;"+(o||""))},l.prototype.drawBidiSingleLineMarker=function(r,i,n,e,t,o){var s=e.lineHeight,c=this.$getTop(i.start.row,e),g=this.$padding;this.session.$bidiHandler.getSelections(i.start.column,i.end.column).forEach(function(p){this.elt(n,"height:"+s+"px;width:"+(p.width+(t||0))+"px;top:"+c+"px;left:"+(g+p.left)+"px;"+(o||""))},this)},l.prototype.drawFullLineMarker=function(r,i,n,e,t){var o=this.$getTop(i.start.row,e),s=e.lineHeight;i.start.row!=i.end.row&&(s+=this.$getTop(i.end.row,e)-o),this.elt(n,"height:"+s+"px;top:"+o+"px;left:0;right:0;"+(t||""))},l.prototype.drawScreenLineMarker=function(r,i,n,e,t){var o=this.$getTop(i.start.row,e);this.elt(n,"height:"+e.lineHeight+"px;top:"+o+"px;left:0;right:0;"+(t||""))},l}();function a(l,r,i,n){return(l?1:0)|(r?2:0)|(i?4:0)|(n?8:0)}S.prototype.$padding=0,M.Marker=S}),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"],function(E,M,H){"use strict";var x=E("../lib/oop"),k=E("../lib/dom"),S=E("../lib/lang"),a=E("./lines").Lines,l=E("../lib/event_emitter").EventEmitter,r=E("../config").nls,i=function(){function n(e){this.dom=k,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 a(this.element)}return n.prototype.$updateEolChar=function(){var e=this.session.doc,o="\n"==e.getNewLineCharacter()&&"windows"!=e.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=o)return this.EOL_CHAR=o,!0},n.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},n.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},n.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},n.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(t){this._signal("changeCharacterSize",t)}.bind(this)),this.$pollSizeChanges()},n.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},n.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},n.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},n.prototype.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,"string"==typeof e?(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)},n.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},n.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides!==e&&(this.$highlightIndentGuides=e,e)},n.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],o=1;od&&(d=(y=this.session.getNextFoldLine(b=y.end.row+1,y))?y.start.row:1/0),!(b>c);){var v=g[w++];if(v){this.dom.removeChildren(v),this.$renderLine(v,b,b==d&&y),p&&(v.style.top=this.$lines.computeLineTop(b,e,this.session)+"px");var $=e.lineHeight*this.session.getRowLength(b)+"px";v.style.height!=$&&(p=!0,v.style.height=$)}b++}if(p)for(;w0;c--)this.$lines.shift();if(t.lastRow>e.lastRow)for(c=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);c>0;c--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},n.prototype.$renderLinesFragment=function(e,t,o){for(var s=[],c=t,g=this.session.getNextFoldLine(c),w=g?g.start.row:1/0;c>w&&(w=(g=this.session.getNextFoldLine(c=g.end.row+1,g))?g.start.row:1/0),!(c>o);){var p=this.$lines.createCell(c,e,this.session),b=p.element;this.dom.removeChildren(b),k.setStyle(b.style,"height",this.$lines.computeLineHeight(c,e,this.session)+"px"),k.setStyle(b.style,"top",this.$lines.computeLineTop(c,e,this.session)+"px"),this.$renderLine(b,c,c==w&&g),b.className=this.$useLineGroups()?"ace_line_group":"ace_line",s.push(p),c++}return s},n.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var t=e.firstRow,o=e.lastRow,s=this.$lines;s.getLength();)s.pop();s.push(this.$renderLinesFragment(e,t,o))},n.prototype.$renderToken=function(e,t,o,s){for(var p,c=this,g=/(\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]+)|(\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,w=this.dom.createFragment(this.element),b=0;p=g.exec(s);){var y=p[1],d=p[2],v=p[3],$=p[4],f=p[5];if(c.showSpaces||!d){var u=b!=p.index?s.slice(b,p.index):"";if(b=p.index+p[0].length,u&&w.appendChild(this.dom.createTextNode(u,this.element)),y){var A=c.session.getScreenTabSize(t+p.index);w.appendChild(c.$tabStrings[A].cloneNode(!0)),t+=A-1}else d?c.showSpaces?((m=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",m.textContent=S.stringRepeat(c.SPACE_CHAR,d.length),w.appendChild(m)):w.appendChild(this.com.createTextNode(d,this.element)):v?((m=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",m.textContent=S.stringRepeat(c.SPACE_CHAR,v.length),w.appendChild(m)):$?(t+=1,(m=this.dom.createElement("span")).style.width=2*c.config.characterWidth+"px",m.className=c.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",m.textContent=c.showSpaces?c.SPACE_CHAR:$,w.appendChild(m)):f&&(t+=1,(m=this.dom.createElement("span")).style.width=2*c.config.characterWidth+"px",m.className="ace_cjk",m.textContent=f,w.appendChild(m))}}if(w.appendChild(this.dom.createTextNode(b?s.slice(b):s,this.element)),this.$textToken[o.type])e.appendChild(w);else{var h="ace_"+o.type.replace(/\./g," ace_"),m=this.dom.createElement("span");"fold"==o.type&&(m.style.width=o.value.length*this.config.characterWidth+"px",m.setAttribute("title",r("Unfold code"))),m.className=h,m.appendChild(w),e.appendChild(m)}return t+s.length},n.prototype.renderIndentGuide=function(e,t,o){var s=t.search(this.$indentGuideRe);if(s<=0||s>=o)return t;if(" "==t[0]){for(var c=(s-=s%this.tabSize)/this.tabSize,g=0;gg[w].start.row?-1:1;break}if(!this.$highlightIndentGuideMarker.end&&""!==e[t.row]&&t.column===e[t.row].length)for(this.$highlightIndentGuideMarker.dir=1,w=t.row+1;w0)for(var c=0;c=this.$highlightIndentGuideMarker.start+1){if(s.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(s,t)}}else for(o=e.length-1;o>=0;o--)if(s=e[o],this.$highlightIndentGuideMarker.end&&s.row=g;)w=this.$renderToken(p,w,y,d.substring(0,g-s)),d=d.substring(g-s),s=g,p=this.$createLineElement(),e.appendChild(p),p.appendChild(this.dom.createTextNode(S.stringRepeat("\xa0",o.indent),this.element)),w=0,g=o[++c]||Number.MAX_VALUE;0!=d.length&&(s+=d.length,w=this.$renderToken(p,w,y,d))}}o[o.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(p,w,null,"",!0)},n.prototype.$renderSimpleLine=function(e,t){for(var o=0,s=0;sthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,o,c,g);o=this.$renderToken(e,o,c,g)}}},n.prototype.$renderOverflowMessage=function(e,t,o,s,c){o&&this.$renderToken(e,t,o,s.slice(0,this.MAX_LINE_LENGTH-t));var g=this.dom.createElement("span");g.className="ace_inline_button ace_keyword ace_toggle_wrap",g.textContent=c?"":"",e.appendChild(g)},n.prototype.$renderLine=function(e,t,o){if(!o&&0!=o&&(o=this.session.getFoldLine(t)),o)var s=this.$getFoldLineTokens(t,o);else s=this.session.getTokens(t);var c=e;if(s.length){var g=this.session.getRowSplitData(t);g&&g.length?(this.$renderWrappedLine(e,s,g),c=e.lastChild):(c=e,this.$useLineGroups()&&(c=this.$createLineElement(),e.appendChild(c)),this.$renderSimpleLine(c,s))}else this.$useLineGroups()&&(c=this.$createLineElement(),e.appendChild(c));if(this.showEOL&&c){o&&(t=o.end.row);var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_eol",w.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,c.appendChild(w)}},n.prototype.$getFoldLineTokens=function(e,t){var o=this.session,s=[],g=o.getTokens(e);return t.walk(function(w,p,b,y,d){null!=w?s.push({type:"fold",value:w}):(d&&(g=o.getTokens(p)),g.length&&function c(w,p,b){for(var y=0,d=0;d+w[y].value.lengthb-p&&(v=v.substring(0,b-p)),s.push({type:w[y].type,value:v}),d=p+v.length,y+=1);db?{type:w[y].type,value:v.substring(0,b-d)}:w[y]),d+=v.length,y+=1}}(g,y,b))},t.end.row,this.session.getLine(t.end.row).length),s},n.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},n}();i.prototype.$textToken={text:!0,rparen:!0,lparen:!0},i.prototype.EOF_CHAR="\xb6",i.prototype.EOL_CHAR_LF="\xac",i.prototype.EOL_CHAR_CRLF="\xa4",i.prototype.EOL_CHAR=i.prototype.EOL_CHAR_LF,i.prototype.TAB_CHAR="\u2014",i.prototype.SPACE_CHAR="\xb7",i.prototype.$padding=0,i.prototype.MAX_LINE_LENGTH=1e4,i.prototype.showInvisibles=!1,i.prototype.showSpaces=!1,i.prototype.showTabs=!1,i.prototype.showEOL=!1,i.prototype.displayIndentGuides=!0,i.prototype.$highlightIndentGuides=!0,i.prototype.$tabStrings=[],i.prototype.destroy={},i.prototype.onChangeTabSize=i.prototype.$computeTabString,x.implement(i.prototype,l),M.Text=i}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(E,M,H){"use strict";var x=E("../lib/dom"),k=function(){function S(a){this.element=x.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),x.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return S.prototype.$updateOpacity=function(a){for(var l=this.cursors,r=l.length;r--;)x.setStyle(l[r].style,"opacity",a?"":"0")},S.prototype.$startCssAnimation=function(){for(var a=this.cursors,l=a.length;l--;)a[l].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&x.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},S.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,x.removeCssClass(this.element,"ace_animate-blinking")},S.prototype.setPadding=function(a){this.$padding=a},S.prototype.setSession=function(a){this.session=a},S.prototype.setBlinking=function(a){a!=this.isBlinking&&(this.isBlinking=a,this.restartTimer())},S.prototype.setBlinkInterval=function(a){a!=this.blinkInterval&&(this.blinkInterval=a,this.restartTimer())},S.prototype.setSmoothBlinking=function(a){a!=this.smoothBlinking&&(this.smoothBlinking=a,x.setCssClass(this.element,"ace_smooth-blinking",a),this.$updateCursors(!0),this.restartTimer())},S.prototype.addCursor=function(){var a=x.createElement("div");return a.className="ace_cursor",this.element.appendChild(a),this.cursors.push(a),a},S.prototype.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},S.prototype.hideCursor=function(){this.isVisible=!1,x.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},S.prototype.showCursor=function(){this.isVisible=!0,x.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},S.prototype.restartTimer=function(){var a=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,x.removeCssClass(this.element,"ace_smooth-blinking")),a(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&x.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),x.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var l=function(){this.timeoutId=setTimeout(function(){a(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){a(!0),l()},this.blinkInterval),l()}else this.$stopCssAnimation()},S.prototype.getPixelPosition=function(a,l){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var r=this.session.documentToScreenPosition(a);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,a.row)?this.session.$bidiHandler.getPosLeft(r.column):r.column*this.config.characterWidth),top:(r.row-(l?this.config.firstRowScreen:0))*this.config.lineHeight}},S.prototype.isCursorInView=function(a,l){return a.top>=0&&a.topa.height+a.offset||e.top<0)&&r>1)){var t=this.cursors[i++]||this.addCursor(),o=t.style;this.drawCursor?this.drawCursor(t,e,a,l[r],this.session):this.isCursorInView(e,a)?(x.setStyle(o,"display","block"),x.translate(t,e.left,e.top),x.setStyle(o,"width",Math.round(a.characterWidth)+"px"),x.setStyle(o,"height",a.lineHeight+"px")):x.setStyle(o,"display","none")}}for(;this.cursors.length>i;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=e,this.restartTimer()},S.prototype.$setOverwrite=function(a){a!=this.overwrite&&(this.overwrite=a,a?x.addCssClass(this.element,"ace_overwrite-cursors"):x.removeCssClass(this.element,"ace_overwrite-cursors"))},S.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},S}();k.prototype.$padding=0,k.prototype.drawCursor=null,M.Cursor=k}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(E,M,H){"use strict";var t,x=this&&this.__extends||(t=function(o,s){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,g){c.__proto__=g}||function(c,g){for(var w in g)Object.prototype.hasOwnProperty.call(g,w)&&(c[w]=g[w])})(o,s)},function(o,s){if("function"!=typeof s&&null!==s)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");function c(){this.constructor=o}t(o,s),o.prototype=null===s?Object.create(s):(c.prototype=s.prototype,new c)}),k=E("./lib/oop"),S=E("./lib/dom"),a=E("./lib/event"),l=E("./lib/event_emitter").EventEmitter,r=32768,i=function(){function t(o,s){this.element=S.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+s,this.inner=S.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\xa0",this.element.appendChild(this.inner),o.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addListener(this.element,"scroll",this.onScroll.bind(this)),a.addListener(this.element,"mousedown",a.preventDefault)}return t.prototype.setVisible=function(o){this.element.style.display=o?"":"none",this.isVisible=o,this.coeff=1},t}();k.implement(i.prototype,l);var n=function(t){function o(s,c){var g=t.call(this,s,"-v")||this;return g.scrollTop=0,g.scrollHeight=0,c.$scrollbarWidth=g.width=S.scrollbarWidth(s.ownerDocument),g.inner.style.width=g.element.style.width=(g.width||15)+5+"px",g.$minWidth=0,g}return x(o,t),o.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){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},o.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},o.prototype.setHeight=function(s){this.element.style.height=s+"px"},o.prototype.setScrollHeight=function(s){this.scrollHeight=s,s>r?(this.coeff=r/s,s=r):1!=this.coeff&&(this.coeff=1),this.inner.style.height=s+"px"},o.prototype.setScrollTop=function(s){this.scrollTop!=s&&(this.skipEvent=!0,this.scrollTop=s,this.element.scrollTop=s*this.coeff)},o}(i);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var e=function(t){function o(s,c){var g=t.call(this,s,"-h")||this;return g.scrollLeft=0,g.height=c.$scrollbarWidth,g.inner.style.height=g.element.style.height=(g.height||15)+5+"px",g}return x(o,t),o.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},o.prototype.getHeight=function(){return this.isVisible?this.height:0},o.prototype.setWidth=function(s){this.element.style.width=s+"px"},o.prototype.setInnerWidth=function(s){this.inner.style.width=s+"px"},o.prototype.setScrollWidth=function(s){this.inner.style.width=s+"px"},o.prototype.setScrollLeft=function(s){this.scrollLeft!=s&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=s)},o}(i);M.ScrollBar=n,M.ScrollBarV=n,M.ScrollBarH=e,M.VScrollBar=n,M.HScrollBar=e}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(E,M,H){"use strict";var e,x=this&&this.__extends||(e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,c){s.__proto__=c}||function(s,c){for(var g in c)Object.prototype.hasOwnProperty.call(c,g)&&(s[g]=c[g])})(t,o)},function(t,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function s(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(s.prototype=o.prototype,new s)}),k=E("./lib/oop"),S=E("./lib/dom"),a=E("./lib/event"),l=E("./lib/event_emitter").EventEmitter;S.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n position: absolute;\n background: rgba(128, 128, 128, 0.6);\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n position: absolute;\n z-index: 6;\n background: none;\n overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n z-index: 6;\n right: 0;\n top: 0;\n width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n z-index: 8;\n right: 0;\n width: 100%;\n}\n.ace_editor>.ace_sb-h {\n bottom: 0;\n left: 0;\n height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n bottom: 0;\n height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n z-index: 8;\n background: #000;\n}","ace_scrollbar.css",!1);var r=function(){function e(t,o){this.element=S.createElement("div"),this.element.className="ace_sb"+o,this.inner=S.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,t.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return e.prototype.setVisible=function(t){this.element.style.display=t?"":"none",this.isVisible=t,this.coeff=1},e}();k.implement(r.prototype,l);var i=function(e){function t(o,s){var c=e.call(this,o,"-v")||this;return c.scrollTop=0,c.scrollHeight=0,c.parent=o,c.width=c.VScrollWidth,c.renderer=s,c.inner.style.width=c.element.style.width=(c.width||15)+"px",c.$minWidth=0,c}return x(t,e),t.prototype.onMouseDown=function(o,s){if("mousedown"===o&&0===a.getButton(s)&&2!==s.detail){if(s.target===this.inner){var c=this,g=s.clientY,b=s.clientY,y=this.thumbTop;a.capture(this.inner,function(f){g=f.clientY},function(){clearInterval(v)});var v=setInterval(function(){if(void 0!==g){var f=c.scrollTopFromThumbTop(y+g-b);f!==c.scrollTop&&c._emit("scroll",{data:f})}},20);return a.preventDefault(s)}var $=s.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop($)}),a.preventDefault(s)}},t.prototype.getHeight=function(){return this.height},t.prototype.scrollTopFromThumbTop=function(o){var s=o*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return(s>>=0)<0?s=0:s>this.pageHeight-this.viewHeight&&(s=this.pageHeight-this.viewHeight),s},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(o){this.height=Math.max(0,o),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},t.prototype.setScrollHeight=function(o,s){this.pageHeight===o&&!s||(this.pageHeight=o,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})))},t.prototype.setScrollTop=function(o){this.scrollTop=o,o<0&&(o=0),this.thumbTop=o*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},t}(r);i.prototype.setInnerHeight=i.prototype.setScrollHeight;var n=function(e){function t(o,s){var c=e.call(this,o,"-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 x(t,e),t.prototype.onMouseDown=function(o,s){if("mousedown"===o&&0===a.getButton(s)&&2!==s.detail){if(s.target===this.inner){var c=this,g=s.clientX,b=s.clientX,y=this.thumbLeft;a.capture(this.inner,function(f){g=f.clientX},function(){clearInterval(v)});var v=setInterval(function(){if(void 0!==g){var f=c.scrollLeftFromThumbLeft(y+g-b);f!==c.scrollLeft&&c._emit("scroll",{data:f})}},20);return a.preventDefault(s)}var $=s.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft($)}),a.preventDefault(s)}},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.scrollLeftFromThumbLeft=function(o){var s=o*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return(s>>=0)<0?s=0:s>this.pageWidth-this.viewWidth&&(s=this.pageWidth-this.viewWidth),s},t.prototype.setWidth=function(o){this.width=Math.max(0,o),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},t.prototype.setScrollWidth=function(o,s){this.pageWidth===o&&!s||(this.pageWidth=o,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})))},t.prototype.setScrollLeft=function(o){this.scrollLeft=o,o<0&&(o=0),this.thumbLeft=o*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},t}(r);n.prototype.setInnerWidth=n.prototype.setScrollWidth,M.ScrollBar=i,M.ScrollBarV=i,M.ScrollBarH=n,M.VScrollBar=i,M.HScrollBar=n}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(E,M,H){"use strict";var x=E("./lib/event"),k=function(){function S(a,l){this.onRender=a,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=l||window;var r=this;this._flush=function(i){r.pending=!1;var n=r.changes;if(n&&(x.blockIdle(100),r.changes=0,r.onRender(n)),r.changes){if(r.$recursionLimit--<0)return;r.schedule()}else r.$recursionLimit=2}}return S.prototype.schedule=function(a){this.changes=this.changes|a,this.changes&&!this.pending&&(x.nextFrame(this._flush),this.pending=!0)},S.prototype.clear=function(a){var l=this.changes;return this.changes=0,l},S}();M.RenderLoop=k}),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(E,M,H){var x=E("../lib/oop"),k=E("../lib/dom"),S=E("../lib/lang"),a=E("../lib/event"),l=E("../lib/useragent"),r=E("../lib/event_emitter").EventEmitter,i=512,n="function"==typeof ResizeObserver,e=200,t=function(){function o(s){this.el=k.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=k.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=k.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),s.appendChild(this.el),this.$measureNode.textContent=S.stringRepeat("X",i),this.$characterSize={width:0,height:0},n?this.$addObserver():this.checkForSizeChanges()}return o.prototype.$setMeasureNodeStyles=function(s,c){s.width=s.height="auto",s.left=s.top="0px",s.visibility="hidden",s.position="absolute",s.whiteSpace="pre",l.isIE<8?s["font-family"]="inherit":s.font="inherit",s.overflow=c?"hidden":"visible"},o.prototype.checkForSizeChanges=function(s){if(void 0===s&&(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})}},o.prototype.$addObserver=function(){var s=this;this.$observer=new window.ResizeObserver(function(c){s.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},o.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var s=this;return this.$pollSizeChangesTimer=a.onIdle(function c(){s.checkForSizeChanges(),a.onIdle(c,500)},500)},o.prototype.setPolling=function(s){s?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},o.prototype.$measureSizes=function(s){var c={height:(s||this.$measureNode).clientHeight,width:(s||this.$measureNode).clientWidth/i};return 0===c.width||0===c.height?null:c},o.prototype.$measureCharWidth=function(s){return this.$main.textContent=S.stringRepeat(s,i),this.$main.getBoundingClientRect().width/i},o.prototype.getCharacterWidth=function(s){var c=this.charSizes[s];return void 0===c&&(c=this.charSizes[s]=this.$measureCharWidth(s)/this.$characterSize.width),c},o.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},o.prototype.$getZoom=function(s){return s&&s.parentElement?(window.getComputedStyle(s).zoom||1)*this.$getZoom(s.parentElement):1},o.prototype.$initTransformMeasureNodes=function(){var s=function(c,g){return["div",{style:"position: absolute;top:"+c+"px;left:"+g+"px;"}]};this.els=k.buildDom([s(0,0),s(e,0),s(0,e),s(e,e)],this.el)},o.prototype.transformCoordinates=function(s,c){function w(O,I,W){var D=O[1]*I[0]-O[0]*I[1];return[(-I[1]*W[0]+I[0]*W[1])/D,(+O[1]*W[0]-O[0]*W[1])/D]}function p(O,I){return[O[0]-I[0],O[1]-I[1]]}function b(O,I){return[O[0]+I[0],O[1]+I[1]]}function y(O,I){return[O*I[0],O*I[1]]}function d(O){var I=O.getBoundingClientRect();return[I.left,I.top]}s&&(s=y(1/this.$getZoom(this.el),s)),this.els||this.$initTransformMeasureNodes();var v=d(this.els[0]),$=d(this.els[1]),f=d(this.els[2]),u=d(this.els[3]),A=w(p(u,$),p(u,f),p(b($,f),b(u,v))),m=y(1+A[0],p($,v)),h=y(1+A[1],p(f,v));if(c){var C=c,L=A[0]*C[0]/e+A[1]*C[1]/e+1,T=b(y(C[0],m),y(C[1],h));return b(y(1/L/e,T),v)}var R=p(s,v),_=w(p(m,y(A[0],R)),p(h,y(A[1],R)),R);return y(e,_)},o}();t.prototype.$characterSize={width:0,height:0},x.implement(t.prototype,r),M.FontMetrics=t}),ace.define("ace/css/editor-css",["require","exports","module"],function(E,M,H){H.exports='\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n\n.ace_keyboard-focus:focus {\n box-shadow: inset 0 0 0 2px #5E9ED6;\n outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n content: "";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n margin-left: -14px;\n float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n margin-left: -19px;\n float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold {\n 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==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n 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==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: royalblue;\n}\n\n.ace_icon_svg.ace_error_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n background-color: darkorange;\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts   instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #f5f5f5;\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n max-width: 100%;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n}\n\n.ace_tooltip.ace_dark {\n background-color: #636363;\n color: #fff;\n}\n\n.ace_tooltip:focus {\n outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n display: inline-block;\n width: 18px;\n vertical-align: top;\n}\n\n.ace_icon_svg {\n display: inline-block;\n width: 12px;\n vertical-align: top;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: 12px;\n -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n}\n\n.ace_ghost_text {\n opacity: 0.5;\n font-style: italic;\n white-space: pre;\n}'}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(E,M,H){"use strict";var x=E("../lib/dom"),k=E("../lib/oop"),S=E("../lib/event_emitter").EventEmitter,a=function(){function l(r,i){this.canvas=x.createElement("canvas"),this.renderer=i,this.pixelRatio=1,this.maxHeight=i.layerConfig.maxHeight,this.lineHeight=i.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 l.prototype.$updateDecorators=function(r){var i=!0===this.renderer.theme.isDark?this.colors.dark:this.colors.light;r&&(this.maxHeight=r.maxHeight,this.lineHeight=r.lineHeight,this.canvasHeight=r.height,this.heightRatio=(r.lastRow+1)*this.lineHeightA.priority?1:0});for(var c=this.renderer.session.$foldData,g=0;gthis.canvasHeight&&($=this.canvasHeight-this.halfMinDecorationHeight),y=Math.round($-this.halfMinDecorationHeight),d=Math.round($+this.halfMinDecorationHeight)}e.fillStyle=i[o[g].type]||null,e.fillRect(0,b,this.canvasWidth,d-y)}}var f=this.renderer.session.selection.getCursor();f&&(p=this.compensateFoldRows(f.row,c),b=Math.round((f.row-p)*this.lineHeight*this.heightRatio),e.fillStyle="rgba(0, 0, 0, 0.5)",e.fillRect(0,b,this.canvasWidth,2))},l.prototype.compensateFoldRows=function(r,i){var n=0;if(i&&i.length>0)for(var e=0;ei[e].start.row&&r=i[e].end.row&&(n+=i[e].end.row-i[e].start.row);return n},l}();k.implement(a.prototype,S),M.Decorator=a}),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"],function(E,M,H){"use strict";var x=E("./lib/oop"),k=E("./lib/dom"),S=E("./lib/lang"),a=E("./config"),l=E("./layer/gutter").Gutter,r=E("./layer/marker").Marker,i=E("./layer/text").Text,n=E("./layer/cursor").Cursor,e=E("./scrollbar").HScrollBar,t=E("./scrollbar").VScrollBar,o=E("./scrollbar_custom").HScrollBar,s=E("./scrollbar_custom").VScrollBar,c=E("./renderloop").RenderLoop,g=E("./layer/font_metrics").FontMetrics,w=E("./lib/event_emitter").EventEmitter,p=E("./css/editor-css"),b=E("./layer/decorators").Decorator,y=E("./lib/useragent");k.importCssString(p,"ace_editor.css",!1);var d=function(){function v($,f){var u=this;this.container=$||k.createElement("div"),k.addCssClass(this.container,"ace_editor"),k.HI_DPI&&k.addCssClass(this.container,"ace_hidpi"),this.setTheme(f),null==a.get("useStrictCSP")&&a.set("useStrictCSP",!1),this.$gutter=k.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=k.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=k.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new l(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new r(this.content);var A=this.$textLayer=new i(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 t(this.container,this),this.scrollBarH=new e(this.container,this),this.scrollBarV.on("scroll",function(m){u.$scrollAnimation||u.session.setScrollTop(m.data-u.scrollMargin.top)}),this.scrollBarH.on("scroll",function(m){u.$scrollAnimation||u.session.setScrollLeft(m.data-u.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new g(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(m){u.updateCharacterSize(),u.onResize(!0,u.gutterWidth,u.$size.width,u.$size.height),u._signal("changeCharacterSize",m)}),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=!y.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(),a.resetOptions(this),a._signal("renderer",this)}return v.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(),k.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},v.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))},v.prototype.updateLines=function($,f,u){if(void 0===f&&(f=1/0),this.$changedLines?(this.$changedLines.firstRow>$&&(this.$changedLines.firstRow=$),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},v.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},v.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},v.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},v.prototype.updateFull=function($){$?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},v.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},v.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},v.prototype.onResize=function($,f,u,A){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=$?1:0;var m=this.container;A||(A=m.clientHeight||m.scrollHeight),u||(u=m.clientWidth||m.scrollWidth);var h=this.$updateCachedSize($,f,u,A);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!u&&!A)return this.resizing=0;$&&(this.$gutterLayer.$padding=null),$?this.$renderChanges(h|this.$changes,!0):this.$loop.schedule(h|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},v.prototype.$updateCachedSize=function($,f,u,A){var m=0,h=this.$size,C={width:h.width,height:h.height,scrollerHeight:h.scrollerHeight,scrollerWidth:h.scrollerWidth};if((A-=this.$extraHeight||0)&&($||h.height!=A)&&(h.height=A,m|=this.CHANGE_SIZE,h.scrollerHeight=h.height,this.$horizScroll&&(h.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(h.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",m|=this.CHANGE_SCROLL),u&&($||h.width!=u)){m|=this.CHANGE_SIZE,h.width=u,null==f&&(f=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=f,k.setStyle(this.scrollBarH.element.style,"left",f+"px"),k.setStyle(this.scroller.style,"left",f+this.margin.left+"px"),h.scrollerWidth=Math.max(0,u-f-this.scrollBarV.getWidth()-this.margin.h),k.setStyle(this.$gutter.style,"left",this.margin.left+"px");var L=this.scrollBarV.getWidth()+"px";k.setStyle(this.scrollBarH.element.style,"right",L),k.setStyle(this.scroller.style,"right",L),k.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(h.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||$)&&(m|=this.CHANGE_FULL)}return h.$dirty=!u||!A,m&&this._signal("resize",C),m},v.prototype.onGutterResize=function($){var f=this.$showGutter?$:0;f!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,f,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},v.prototype.adjustWrapLimit=function(){var f=Math.floor((this.$size.scrollerWidth-2*this.$padding)/this.characterWidth);return this.session.adjustWrapLimit(f,this.$showPrintMargin&&this.$printMarginColumn)},v.prototype.setAnimatedScroll=function($){this.setOption("animatedScroll",$)},v.prototype.getAnimatedScroll=function(){return this.$animatedScroll},v.prototype.setShowInvisibles=function($){this.setOption("showInvisibles",$),this.session.$bidiHandler.setShowInvisibles($)},v.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},v.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},v.prototype.setDisplayIndentGuides=function($){this.setOption("displayIndentGuides",$)},v.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},v.prototype.setHighlightIndentGuides=function($){this.setOption("highlightIndentGuides",$)},v.prototype.setShowPrintMargin=function($){this.setOption("showPrintMargin",$)},v.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},v.prototype.setPrintMarginColumn=function($){this.setOption("printMarginColumn",$)},v.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},v.prototype.getShowGutter=function(){return this.getOption("showGutter")},v.prototype.setShowGutter=function($){return this.setOption("showGutter",$)},v.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},v.prototype.setFadeFoldWidgets=function($){this.setOption("fadeFoldWidgets",$)},v.prototype.setHighlightGutterLine=function($){this.setOption("highlightGutterLine",$)},v.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},v.prototype.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var $=k.createElement("div");$.className="ace_layer ace_print-margin-layer",this.$printMarginEl=k.createElement("div"),this.$printMarginEl.className="ace_print-margin",$.appendChild(this.$printMarginEl),this.content.insertBefore($,this.content.firstChild)}var f=this.$printMarginEl.style;f.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",f.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},v.prototype.getContainerElement=function(){return this.container},v.prototype.getMouseEventTarget=function(){return this.scroller},v.prototype.getTextAreaContainer=function(){return this.container},v.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var $=this.textarea.style,f=this.$composition;if(!this.$keepTextAreaAtCursor&&!f)return void k.translate(this.textarea,-100,0);var u=this.$cursorLayer.$pixelPos;if(u){f&&f.markerRange&&(u=this.$cursorLayer.getPixelPosition(f.markerRange.start,!0));var A=this.layerConfig,m=u.top,h=u.left,C=f&&f.useTextareaForIME||y.isMobile?this.lineHeight:1;if((m-=A.offset)<0||m>A.height-C)return void k.translate(this.textarea,0,0);var L=1,T=this.$size.height-C;f?f.useTextareaForIME?L=this.characterWidth*this.session.$getStringScreenWidth(this.textarea.value)[0]:m+=this.lineHeight+2:m+=this.lineHeight,(h-=this.scrollLeft)>this.$size.scrollerWidth-L&&(h=this.$size.scrollerWidth-L),h+=this.gutterWidth+this.margin.left,k.setStyle($,"height",C+"px"),k.setStyle($,"width",L+"px"),k.translate(this.textarea,Math.min(h,this.$size.scrollerWidth-L),Math.min(m,T))}}},v.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},v.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},v.prototype.getLastFullyVisibleRow=function(){var $=this.layerConfig,f=$.lastRow;return this.session.documentToScreenRow(f,0)*$.lineHeight-this.session.getScrollTop()>$.height-$.lineHeight?f-1:f},v.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},v.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()},v.prototype.setScrollMargin=function($,f,u,A){var m=this.scrollMargin;m.top=0|$,m.bottom=0|f,m.right=0|A,m.left=0|u,m.v=m.top+m.bottom,m.h=m.left+m.right,m.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-m.top),this.updateFull()},v.prototype.setMargin=function($,f,u,A){var m=this.margin;m.top=0|$,m.bottom=0|f,m.right=0|A,m.left=0|u,m.v=m.top+m.bottom,m.h=m.left+m.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},v.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},v.prototype.setHScrollBarAlwaysVisible=function($){this.setOption("hScrollBarAlwaysVisible",$)},v.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},v.prototype.setVScrollBarAlwaysVisible=function($){this.setOption("vScrollBarAlwaysVisible",$)},v.prototype.$updateScrollBarV=function(){var $=this.layerConfig.maxHeight,f=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&this.scrollTop>($-=(f-this.lineHeight)*this.$scrollPastEnd)-f&&($=this.scrollTop+f,this.scrollBarV.scrollTop=null),this.scrollBarV.setScrollHeight($+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},v.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},v.prototype.freeze=function(){this.$frozen=!0},v.prototype.unfreeze=function(){this.$frozen=!1},v.prototype.$renderChanges=function($,f){if(this.$changes&&($|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&($||f)){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 u=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(),u.firstRow!=this.layerConfig.firstRow&&u.firstRowScreen==this.layerConfig.firstRowScreen){var A=this.scrollTop+(u.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;A>0&&(this.scrollTop=A,$|=this.CHANGE_SCROLL,$|=this.$computeLayerConfig()|this.$loop.clear())}u=this.layerConfig,this.$updateScrollBarV(),$&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),k.translate(this.content,-this.scrollLeft,-u.offset);var h=u.minHeight+"px";k.setStyle(this.content.style,"width",u.width+2*this.$padding+"px"),k.setStyle(this.content.style,"height",h)}return $&this.CHANGE_H_SCROLL&&(k.translate(this.content,-this.scrollLeft,-u.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(u),this.$showGutter&&this.$gutterLayer.update(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u),this.$markerBack.update(u),this.$markerFront.update(u),this.$cursorLayer.update(u),this.$moveTextAreaToCursor(),void this._signal("afterRender",$)):$&this.CHANGE_SCROLL?(this.$changedLines=null,$&this.CHANGE_TEXT||$&this.CHANGE_LINES?this.$textLayer.update(u):this.$textLayer.scrollLines(u),this.$showGutter&&($&this.CHANGE_GUTTER||$&this.CHANGE_LINES?this.$gutterLayer.update(u):this.$gutterLayer.scrollLines(u)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u),this.$markerBack.update(u),this.$markerFront.update(u),this.$cursorLayer.update(u),this.$moveTextAreaToCursor(),void this._signal("afterRender",$)):($&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(u),this.$showGutter&&this.$gutterLayer.update(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u)):$&this.CHANGE_LINES?((this.$updateLines()||$&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u)):$&this.CHANGE_TEXT||$&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u)):$&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u)),$&this.CHANGE_CURSOR&&(this.$cursorLayer.update(u),this.$moveTextAreaToCursor()),$&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(u),$&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(u),void this._signal("afterRender",$))}this.$changes|=$},v.prototype.$autosize=function(){var $=this.session.getScreenLength()*this.lineHeight,f=this.$maxLines*this.lineHeight,u=Math.min(f,Math.max((this.$minLines||1)*this.lineHeight,$))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(u+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&u>this.$maxPixelHeight&&(u=this.$maxPixelHeight);var m=!(u<=2*this.lineHeight)&&$>f;if(u!=this.desiredHeight||this.$size.height!=this.desiredHeight||m!=this.$vScroll){m!=this.$vScroll&&(this.$vScroll=m,this.scrollBarV.setVisible(m));var h=this.container.clientWidth;this.container.style.height=u+"px",this.$updateCachedSize(!0,this.$gutterWidth,h,u),this.desiredHeight=u,this._signal("autosize")}},v.prototype.$computeLayerConfig=function(){var $=this.session,f=this.$size,u=f.height<=2*this.lineHeight,m=this.session.getScreenLength()*this.lineHeight,h=this.$getLongestLine(),C=!u&&(this.$hScrollBarAlwaysVisible||f.scrollerWidth-h-2*this.$padding<0),L=this.$horizScroll!==C;L&&(this.$horizScroll=C,this.scrollBarH.setVisible(C));var T=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var R=f.scrollerHeight+this.lineHeight,_=!this.$maxLines&&this.$scrollPastEnd?(f.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;m+=_;var O=this.scrollMargin;this.session.setScrollTop(Math.max(-O.top,Math.min(this.scrollTop,m-f.scrollerHeight+O.bottom))),this.session.setScrollLeft(Math.max(-O.left,Math.min(this.scrollLeft,h+2*this.$padding-f.scrollerWidth+O.right)));var I=!u&&(this.$vScrollBarAlwaysVisible||f.scrollerHeight-m+_<0||this.scrollTop>O.top),W=T!==I;W&&(this.$vScroll=I,this.scrollBarV.setVisible(I));var P,G,D=this.scrollTop%this.lineHeight,F=Math.ceil(R/this.lineHeight)-1,B=Math.max(0,Math.round((this.scrollTop-D)/this.lineHeight)),V=B+F,z=this.lineHeight;B=$.screenToDocumentRow(B,0);var K=$.getFoldLine(B);K&&(B=K.start.row),P=$.documentToScreenRow(B,0),G=$.getRowLength(B)*z,V=Math.min($.screenToDocumentRow(V,0),$.getLength()-1),R=f.scrollerHeight+$.getRowLength(V)*z+G,D=this.scrollTop-P*z;var Y=0;return(this.layerConfig.width!=h||L)&&(Y=this.CHANGE_H_SCROLL),(L||W)&&(Y|=this.$updateCachedSize(!0,this.gutterWidth,f.width,f.height),this._signal("scrollbarVisibilityChanged"),W&&(h=this.$getLongestLine())),this.layerConfig={width:h,padding:this.$padding,firstRow:B,firstRowScreen:P,lastRow:V,lineHeight:z,characterWidth:this.characterWidth,minHeight:R,maxHeight:m,offset:D,gutterOffset:z?Math.max(0,Math.ceil((D+f.height-f.scrollerHeight)/z)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(h-this.$padding),Y},v.prototype.$updateLines=function(){if(this.$changedLines){var $=this.$changedLines.firstRow,f=this.$changedLines.lastRow;this.$changedLines=null;var u=this.layerConfig;if(!($>u.lastRow+1||fthis.$textLayer.MAX_LINE_LENGTH&&($=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round($*this.characterWidth))},v.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},v.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},v.prototype.addGutterDecoration=function($,f){this.$gutterLayer.addGutterDecoration($,f)},v.prototype.removeGutterDecoration=function($,f){this.$gutterLayer.removeGutterDecoration($,f)},v.prototype.updateBreakpoints=function($){this.$loop.schedule(this.CHANGE_GUTTER)},v.prototype.setAnnotations=function($){this.$gutterLayer.setAnnotations($),this.$loop.schedule(this.CHANGE_GUTTER)},v.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},v.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},v.prototype.showCursor=function(){this.$cursorLayer.showCursor()},v.prototype.scrollSelectionIntoView=function($,f,u){this.scrollCursorIntoView($,u),this.scrollCursorIntoView(f,u)},v.prototype.scrollCursorIntoView=function($,f,u){if(0!==this.$size.scrollerHeight){var A=this.$cursorLayer.getPixelPosition($),m=A.left,h=A.top,C=u&&u.top||0,L=u&&u.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var T=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;T+C>h?(f&&T+C>h+this.lineHeight&&(h-=f*this.$size.scrollerHeight),0===h&&(h=-this.scrollMargin.top),this.session.setScrollTop(h)):T+this.$size.scrollerHeight-L=1-this.scrollMargin.top||f>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},v.prototype.pixelToScreenCoordinates=function($,f){var u;if(this.$hasCssTransforms){u={top:0,left:0};var A=this.$fontMetrics.transformCoordinates([$,f]);$=A[1]-this.gutterWidth-this.margin.left,f=A[0]}else u=this.scroller.getBoundingClientRect();var m=$+this.scrollLeft-u.left-this.$padding,h=m/this.characterWidth,C=Math.floor((f+this.scrollTop-u.top)/this.lineHeight),L=this.$blockCursor?Math.floor(h):Math.round(h);return{row:C,column:L,side:h-L>0?1:-1,offsetX:m}},v.prototype.screenToTextCoordinates=function($,f){var u;if(this.$hasCssTransforms){u={top:0,left:0};var A=this.$fontMetrics.transformCoordinates([$,f]);$=A[1]-this.gutterWidth-this.margin.left,f=A[0]}else u=this.scroller.getBoundingClientRect();var m=$+this.scrollLeft-u.left-this.$padding,h=m/this.characterWidth,C=this.$blockCursor?Math.floor(h):Math.round(h),L=Math.floor((f+this.scrollTop-u.top)/this.lineHeight);return this.session.screenToDocumentPosition(L,Math.max(C,0),m)},v.prototype.textToScreenCoordinates=function($,f){var u=this.scroller.getBoundingClientRect(),A=this.session.documentToScreenPosition($,f),m=this.$padding+(this.session.$bidiHandler.isBidiRow(A.row,$)?this.session.$bidiHandler.getPosLeft(A.column):Math.round(A.column*this.characterWidth));return{pageX:u.left+m-this.scrollLeft,pageY:u.top+A.row*this.lineHeight-this.scrollTop}},v.prototype.visualizeFocus=function(){k.addCssClass(this.container,"ace_focus")},v.prototype.visualizeBlur=function(){k.removeCssClass(this.container,"ace_focus")},v.prototype.showComposition=function($){this.$composition=$,$.cssText||($.cssText=this.textarea.style.cssText),null==$.useTextareaForIME&&($.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(k.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")},v.prototype.setCompositionText=function($){var f=this.session.selection.cursor;this.addToken($,"composition_placeholder",f.row,f.column),this.$moveTextAreaToCursor()},v.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),k.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=""}},v.prototype.setGhostText=function($,f){var u=this.session.selection.cursor,A=f||{row:u.row,column:u.column};this.removeGhostText();var m=$.split("\n");this.addToken(m[0],"ghost_text",A.row,A.column),this.$ghostText={text:$,position:{row:A.row,column:A.column}},m.length>1&&(this.$ghostTextWidget={text:m.slice(1).join("\n"),row:A.row,column:A.column,className:"ace_ghost_text"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget))},v.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}},v.prototype.addToken=function($,f,u,A){var m=this.session;m.bgTokenizer.lines[u]=null;var h={type:f,value:$},C=m.getTokens(u);if(null!=A&&C.length)for(var L=0,T=0;T1||Math.abs($.$size.height-A)>1?$.$resizeTimer.delay():$.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},v}();d.prototype.CHANGE_CURSOR=1,d.prototype.CHANGE_MARKER=2,d.prototype.CHANGE_GUTTER=4,d.prototype.CHANGE_SCROLL=8,d.prototype.CHANGE_LINES=16,d.prototype.CHANGE_TEXT=32,d.prototype.CHANGE_SIZE=64,d.prototype.CHANGE_MARKER_BACK=128,d.prototype.CHANGE_MARKER_FRONT=256,d.prototype.CHANGE_FULL=512,d.prototype.CHANGE_H_SCROLL=1024,d.prototype.$changes=0,d.prototype.$padding=null,d.prototype.$frozen=!1,d.prototype.STEPS=8,x.implement(d.prototype,w),a.defineOptions(d.prototype,"renderer",{useResizeObserver:{set:function(v){!v&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):v&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(v){this.$textLayer.setShowInvisibles(v)&&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(v){"number"==typeof v&&(this.$printMarginColumn=v),this.$showPrintMargin=!!v,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(v){this.$gutter.style.display=v?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(v){this.$gutterLayer.$useSvgGutterIcons=v},initialValue:!1},showFoldedAnnotations:{set:function(v){this.$gutterLayer.$showFoldedAnnotations=v},initialValue:!1},fadeFoldWidgets:{set:function(v){k.setCssClass(this.$gutter,"ace_fade-fold-widgets",v)},initialValue:!1},showFoldWidgets:{set:function(v){this.$gutterLayer.setShowFoldWidgets(v),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(v){this.$textLayer.setDisplayIndentGuides(v)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(v){1==this.$textLayer.setHighlightIndentGuides(v)?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(v){this.$gutterLayer.setHighlightGutterLine(v),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(v){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(v){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(v){"number"==typeof v&&(v+="px"),this.container.style.fontSize=v,this.updateFontSize()},initialValue:12},fontFamily:{set:function(v){this.container.style.fontFamily=v,this.updateFontSize()}},maxLines:{set:function(v){this.updateFull()}},minLines:{set:function(v){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(v){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(v){this.$scrollPastEnd!=(v=+v||0)&&(this.$scrollPastEnd=v,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(v){this.$gutterLayer.$fixedWidth=!!v,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(v){this.$updateCustomScrollbar(v)},initialValue:!1},theme:{set:function(v){this.setTheme(v)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!y.isMobile&&!y.isIE}}),M.VirtualRenderer=d}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(E,M,H){"use strict";var x=E("../lib/oop"),k=E("../lib/net"),S=E("../lib/event_emitter").EventEmitter,a=E("../config");function r(e){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(a.get("loadWorkerFromBlob")){var t=function l(e){var t="importScripts('"+k.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch{var s=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return s.append(t),s.getBlob("application/javascript")}}(e),s=(window.URL||window.webkitURL).createObjectURL(t);return new Worker(s)}return new Worker(e)}var i=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,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(){x.implement(this,S),this.$createWorkerFromOldConfig=function(e,t,o,s,c){if(E.nameToUrl&&!E.toUrl&&(E.toUrl=E.nameToUrl),a.get("packaged")||!E.toUrl)s=s||a.moduleUrl(t,"worker");else{var g=this.$normalizePath;s=s||g(E.toUrl("ace/worker/worker.js",null,"_"));var w={};e.forEach(function(p){w[p]=g(E.toUrl(p,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=r(s),c&&this.send("importScripts",c),this.$worker.postMessage({init:!0,tlns:w,module:t,classname:o}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var o=this.callbacks[t.id];o&&(o(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return k.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(e){e.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,o){if(o){var s=this.callbackId++;this.callbacks[s]=o,t.push(s)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker&&this.$worker.postMessage({event:e,data:{data:t.data}})}catch(o){console.error(o.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener,!0)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),this.deltaQueue.push(e.start,"insert"==e.action?e.lines:e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(i.prototype),M.UIWorkerClient=function(e,t,o){var s=null,c=!1,g=Object.create(S),w=[],p=new i({messageBuffer:w,terminate:function(){},postMessage:function(y){w.push(y),s&&(c?setTimeout(b):b())}});p.setEmitSync=function(y){c=y};var b=function(){var y=w.shift();y.command?s[y.command].apply(s,y.args):y.event&&g._signal(y.event,y.data)};return g.postMessage=function(y){p.onMessage({data:y})},g.callback=function(y,d){this.postMessage({type:"call",id:d,data:y})},g.emit=function(y,d){this.postMessage({type:"event",name:y,data:d})},a.loadModule(["worker",t],function(y){for(s=new y[o](g);w.length;)b()}),p},M.WorkerClient=i,M.createWorker=r}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(E,M,H){"use strict";var x=E("./range").Range,k=E("./lib/event_emitter").EventEmitter,S=E("./lib/oop"),a=function(){function l(r,i,n,e,t,o){var s=this;this.length=i,this.session=r,this.doc=r.getDocument(),this.mainClass=t,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=e,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 l.prototype.setup=function(){var r=this,i=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=i.createAnchor(this.$pos.row,this.$pos.column);var e=this.pos;e.$insertRight=!0,e.detach(),e.markerId=n.addMarker(new x(e.row,e.column,e.row,e.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(t){var o=i.createAnchor(t.row,t.column);o.$insertRight=!0,o.detach(),r.others.push(o)}),n.setUndoSelect(!1)},l.prototype.showOtherMarkers=function(){if(!this.othersActive){var r=this.session,i=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=r.addMarker(new x(n.row,n.column,n.row,n.column+i.length),i.othersClass,null,!1)})}},l.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var r=0;r=this.pos.column&&i.start.column<=this.pos.column+this.length+1,t=i.start.column-this.pos.column;if(this.updateAnchors(r),e&&(this.length+=n),e&&!this.session.$fromUndo)if("insert"===r.action)for(var o=this.others.length-1;o>=0;o--)this.doc.insertMergedLines(c={row:(s=this.others[o]).row,column:s.column+t},r.lines);else if("remove"===r.action)for(o=this.others.length-1;o>=0;o--){var s,c;this.doc.remove(new x((c={row:(s=this.others[o]).row,column:s.column+t}).row,c.column,c.row,c.column-n))}this.$updating=!1,this.updateMarkers()}},l.prototype.updateAnchors=function(r){this.pos.onChange(r);for(var i=this.others.length;i--;)this.others[i].onChange(r);this.updateMarkers()},l.prototype.updateMarkers=function(){if(!this.$updating){var r=this,i=this.session,n=function(t,o){i.removeMarker(t.markerId),t.markerId=i.addMarker(new x(t.row,t.column,t.row,t.column+r.length),o,null,!1)};n(this.pos,this.mainClass);for(var e=this.others.length;e--;)n(this.others[e],this.othersClass)}},l.prototype.onCursorChange=function(r){if(!this.$updating&&this.session){var i=this.session.selection.getCursor();i.row===this.pos.row&&i.column>=this.pos.column&&i.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",r)):(this.hideOtherMarkers(),this._emit("cursorLeave",r))}},l.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},l.prototype.cancel=function(){if(-1!==this.$undoStackDepth){for(var r=this.session.getUndoManager(),i=(r.$undoStack||r.$undostack).length-this.$undoStackDepth,n=0;n1?k.multiSelect.joinSelections():k.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(k){k.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(k){k.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(k){k.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],M.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(k){k.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(k){return k&&k.inMultiSelectMode}}];var x=E("../keyboard/hash_handler").HashHandler;M.keyboardHandler=new x(M.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(E,M,H){var x=E("./range_list").RangeList,k=E("./range").Range,S=E("./selection").Selection,a=E("./mouse/multi_select_handler").onMouseDown,l=E("./lib/event"),r=E("./lib/lang"),i=E("./commands/multi_select_commands");M.commands=i.defaultCommands.concat(i.multiSelectCommands);var e=new(0,E("./search").Search),o=E("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(o.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(p,b){if(p){if(!this.inMultiSelectMode&&0===this.rangeCount){var y=this.toOrientedRange();if(this.rangeList.add(y),this.rangeList.add(p),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),b||this.fromOrientedRange(p);this.rangeList.removeAll(),this.rangeList.add(y),this.$onAddRange(y)}p.cursor||(p.cursor=p.end);var d=this.rangeList.add(p);return this.$onAddRange(p),d.length&&this.$onRemoveRange(d),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(p)}},this.toSingleRange=function(p){p=p||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),p&&this.fromOrientedRange(p)},this.substractPoint=function(p){var b=this.rangeList.substractPoint(p);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var p=this.rangeList.merge();p.length&&this.$onRemoveRange(p)},this.$onAddRange=function(p){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(p),this._signal("addRange",{range:p})},this.$onRemoveRange=function(p){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();p.push(b),this.rangeCount=0}for(var y=p.length;y--;){var d=this.ranges.indexOf(p[y]);this.ranges.splice(d,1)}this._signal("removeRange",{ranges:p}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(b=b||this.ranges[0])&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new x,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var p=this.ranges.length?this.ranges:[this.getRange()],b=[],y=0;y1){var p=this.rangeList.ranges,b=p[p.length-1],y=k.fromPoints(p[0].start,b.end);this.toSingleRange(),this.setSelectionRange(y,b.cursor==b.start)}else{var d=this.session.documentToScreenPosition(this.cursor),v=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(d,v).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(p,b,y){var d=[],v=p.column0;)_--;if(_>0)for(var O=0;d[O].isEmpty();)O++;for(var I=_;I>=O;I--)d[I].isEmpty()&&d.splice(I,1)}return d}}.call(S.prototype);var s=E("./editor").Editor;function c(p,b){return p.row==b.row&&p.column==b.column}function g(p){p.$multiselectOnSessionChange||(p.$onAddRange=p.$onAddRange.bind(p),p.$onRemoveRange=p.$onRemoveRange.bind(p),p.$onMultiSelect=p.$onMultiSelect.bind(p),p.$onSingleSelect=p.$onSingleSelect.bind(p),p.$multiselectOnSessionChange=M.onSessionChange.bind(p),p.$checkMultiselectChange=p.$checkMultiselectChange.bind(p),p.$multiselectOnSessionChange(p),p.on("changeSession",p.$multiselectOnSessionChange),p.on("mousedown",a),p.commands.addCommands(i.defaultCommands),function w(p){if(p.textInput){var b=p.textInput.getElement(),y=!1;l.addListener(b,"keydown",function(v){p.$blockSelectEnabled&&18==v.keyCode&&!(v.ctrlKey||v.shiftKey||v.metaKey)?y||(p.renderer.setMouseCursor("crosshair"),y=!0):y&&d()},p),l.addListener(b,"keyup",d,p),l.addListener(b,"blur",d,p)}function d(v){y&&(p.renderer.setMouseCursor(""),y=!1)}}(p))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(p){p.cursor||(p.cursor=p.end);var b=this.getSelectionStyle();return p.marker=this.session.addMarker(p,"ace_selection",b),this.session.$selectionMarkers.push(p),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,p},this.removeSelectionMarker=function(p){if(p.marker){this.session.removeMarker(p.marker);var b=this.session.$selectionMarkers.indexOf(p);-1!=b&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(p){for(var b=this.session.$selectionMarkers,y=p.length;y--;){var d=p[y];if(d.marker){this.session.removeMarker(d.marker);var v=b.indexOf(d);-1!=v&&b.splice(v,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(p){this.addSelectionMarker(p.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(p){this.removeSelectionMarkers(p.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(p){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(i.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(p){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(i.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(p){var b=p.command,y=p.editor;if(y.multiSelect){if(b.multiSelectAction)"forEach"==b.multiSelectAction?d=y.forEachSelection(b,p.args):"forEachLine"==b.multiSelectAction?d=y.forEachSelection(b,p.args,!0):"single"==b.multiSelectAction?(y.exitMultiSelectMode(),d=b.exec(y,p.args||{})):d=b.multiSelectAction(y,p.args||{});else{var d=b.exec(y,p.args||{});y.multiSelect.addRange(y.multiSelect.toOrientedRange()),y.multiSelect.mergeOverlappingRanges()}return d}},this.forEachSelection=function(p,b,y){if(!this.inVirtualSelectionMode){var m,v=1==y||y&&y.$byLines,$=this.session,f=this.selection,A=(y&&y.keepOrder?f:f.rangeList).ranges;if(!A.length)return p.exec?p.exec(this,b||{}):p(this,b||{});var h=f._eventRegistry;f._eventRegistry={};var C=new S($);this.inVirtualSelectionMode=!0;for(var L=A.length;L--;){if(v)for(;L>0&&A[L].start.row==A[L-1].end.row;)L--;C.fromOrientedRange(A[L]),C.index=L,this.selection=$.selection=C;var T=p.exec?p.exec(this,b||{}):p(this,b||{});!m&&void 0!==T&&(m=T),C.toOrientedRange(A[L])}C.detach(),this.selection=$.selection=f,this.inVirtualSelectionMode=!1,f._eventRegistry=h,f.mergeOverlappingRanges(),f.ranges[0]&&f.fromOrientedRange(f.ranges[0]);var R=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),R&&R.from==R.to&&this.renderer.animateScrolling(R.from),m}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var p="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,y=[],d=0;dL&&(L=O.column),WD?p.insert(I,r.stringRepeat(" ",W-D)):p.remove(new k(I.row,I.column,I.row,I.column-W+D)),_.start.column=_.end.column=L,_.start.row=_.end.row=I.row,_.cursor=_.end}),b.fromOrientedRange(y[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var $=this.selection.getRange(),f=$.start.row,u=$.end.row,A=f==u;if(A){var h,m=this.session.getLength();do{h=this.session.getLine(u)}while(/[=:]/.test(h)&&++u0);f<0&&(f=0),u>=m&&(u=m-1)}var C=this.session.removeFullLines(f,u);C=this.$reAlignText(C,A),this.session.insert({row:f,column:0},C.join("\n")+"\n"),A||($.start.column=0,$.end.column=C[C.length-1].length),this.selection.setRange($)}},this.$reAlignText=function(p,b){var v,$,f,y=!0,d=!0;return p.map(function(C){var L=C.match(/(\s*)(.*?)(\s*)([=:].*)/);return L?null==v?(v=L[1].length,$=L[2].length,f=L[3].length,L):(v+$+f!=L[1].length+L[2].length+L[3].length&&(d=!1),v!=L[1].length&&(y=!1),v>L[1].length&&(v=L[1].length),$L[3].length&&(f=L[3].length),L):[C]}).map(b?A:y?d?function m(C){return C[2]?u(v+$-C[2].length)+C[2]+u(f)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]}:A:function h(C){return C[2]?u(v)+C[2]+u(f)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]});function u(C){return r.stringRepeat(" ",C)}function A(C){return C[2]?u(v)+C[2]+u($-C[2].length+f)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]}}}).call(s.prototype),M.onSessionChange=function(p){var b=p.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var y=p.oldSession;y&&(y.multiSelect.off("addRange",this.$onAddRange),y.multiSelect.off("removeRange",this.$onRemoveRange),y.multiSelect.off("multiSelect",this.$onMultiSelect),y.multiSelect.off("singleSelect",this.$onSingleSelect),y.multiSelect.lead.off("change",this.$checkMultiselectChange),y.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},M.MultiSelect=g,E("./config").defineOptions(s.prototype,"editor",{enableMultiselect:{set:function(p){g(this),p?this.on("mousedown",a):this.off("mousedown",a)},value:!0},enableBlockSelect:{set:function(p){this.$blockSelectEnabled=p},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(E,M,H){"use strict";var x=E("../../range").Range,k=M.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(S,a,l){var r=S.getLine(l);return this.foldingStartMarker.test(r)?"start":"markbeginend"==a&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(S,a,l){return null},this.indentationBlock=function(S,a,l){var r=/\S/,i=S.getLine(a),n=i.search(r);if(-1!=n){for(var e=l||i.length,t=S.getLength(),o=a,s=a;++ao){var w=S.getLine(s).length;return new x(o,e,s,w)}}},this.openingBracketBlock=function(S,a,l,r,i){var n={row:l,column:r+1},e=S.$findClosingBracket(a,n,i);if(e){var t=S.foldWidgets[e.row];return null==t&&(t=S.getFoldWidget(e.row)),"start"==t&&e.row>n.row&&(e.row--,e.column=S.getLine(e.row).length),x.fromPoints(n,e)}},this.closingBracketBlock=function(S,a,l,r,i){var n={row:l,column:r},e=S.$findOpeningBracket(a,n);if(e)return e.column++,n.column--,x.fromPoints(e,n)}}).call(k.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range","ace/config"],function(E,M,H){"use strict";var x=E("../line_widgets").LineWidgets,k=E("../lib/dom"),S=E("../range").Range,a=E("../config").nls;M.showErrorMarker=function(i,n){var e=i.session;e.widgetManager||(e.widgetManager=new x(e),e.widgetManager.attach(i));var t=i.getCursorPosition(),o=t.row,s=e.widgetManager.getWidgetsAtRow(o).filter(function($){return"errorMarker"==$.type})[0];s?s.destroy():o-=n;var g,c=function r(i,n,e){var t=i.getAnnotations().sort(S.comparePoints);if(t.length){var o=function l(i,n,e){for(var t=0,o=i.length-1;t<=o;){var s=t+o>>1,c=e(n,i[s]);if(c>0)t=s+1;else{if(!(c<0))return s;o=s-1}}return-(t+1)}(t,{row:n,column:-1},S.comparePoints);o<0&&(o=-o-1),o>=t.length?o=e>0?0:t.length-1:0===o&&e<0&&(o=t.length-1);var s=t[o];if(s&&e){if(s.row===n){do{s=t[o+=e]}while(s&&s.row===n);if(!s)return t.slice()}var c=[];n=s.row;do{c[e<0?"unshift":"push"](s),s=t[o+=e]}while(s&&s.row==n);return c.length&&c}}}(e,o,n);if(c){var w=c[0];t.column=(w.pos&&"number"!=typeof w.column?w.pos.sc:w.column)||0,t.row=w.row,g=i.renderer.$gutterLayer.$annotations[t.row]}else{if(s)return;g={text:[a("Looks good!")],className:"ace_ok"}}i.session.unfold(t.row),i.selection.moveToPosition(t);var p={row:t.row,fixedWidth:!0,coverGutter:!0,el:k.createElement("div"),type:"errorMarker"},b=p.el.appendChild(k.createElement("div")),y=p.el.appendChild(k.createElement("div"));y.className="error_widget_arrow "+g.className;var d=i.renderer.$cursorLayer.getPixelPosition(t).left;y.style.left=d+i.renderer.gutterWidth-5+"px",p.el.className="error_widget_wrapper",b.className="error_widget "+g.className,b.innerHTML=g.text.join("
"),b.appendChild(k.createElement("div"));var v=function($,f,u){if(0===f&&("esc"===u||"return"===u))return p.destroy(),{command:"null"}};p.destroy=function(){i.$mouseHandler.isMousePressed||(i.keyBinding.removeKeyboardHandler(v),e.widgetManager.removeLineWidget(p),i.off("changeSelection",p.destroy),i.off("changeSession",p.destroy),i.off("mouseup",p.destroy),i.off("change",p.destroy))},i.keyBinding.addKeyboardHandler(v),i.on("changeSelection",p.destroy),i.on("changeSession",p.destroy),i.on("mouseup",p.destroy),i.on("change",p.destroy),i.session.widgetManager.addLineWidget(p),p.el.onmousedown=i.focus.bind(i),i.renderer.scrollCursorIntoView(null,.5,{bottom:p.el.offsetHeight})},k.importCssString("\n .error_widget_wrapper {\n background: inherit;\n color: inherit;\n border:none\n }\n .error_widget {\n border-top: solid 2px;\n border-bottom: solid 2px;\n margin: 5px 0;\n padding: 10px 40px;\n white-space: pre-wrap;\n }\n .error_widget.ace_error, .error_widget_arrow.ace_error{\n border-color: #ff5a5a\n }\n .error_widget.ace_warning, .error_widget_arrow.ace_warning{\n border-color: #F1D817\n }\n .error_widget.ace_info, .error_widget_arrow.ace_info{\n border-color: #5a5a5a\n }\n .error_widget.ace_ok, .error_widget_arrow.ace_ok{\n border-color: #5aaa5a\n }\n .error_widget_arrow {\n position: absolute;\n border: solid 5px;\n border-top-color: transparent!important;\n border-right-color: transparent!important;\n border-left-color: transparent!important;\n top: -5px;\n }\n","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(E,M,H){"use strict";E("./loader_build")(M);var x=E("./lib/dom"),k=E("./range").Range,S=E("./editor").Editor,a=E("./edit_session").EditSession,l=E("./undomanager").UndoManager,r=E("./virtual_renderer").VirtualRenderer;E("./worker/worker_client"),E("./keyboard/hash_handler"),E("./placeholder"),E("./multi_select"),E("./mode/folding/fold_mode"),E("./theme/textmate"),E("./ext/error_marker"),M.config=E("./config"),M.edit=function(i,n){if("string"==typeof i){var e=i;if(!(i=document.getElementById(e)))throw new Error("ace.edit can't find div #"+e)}if(i&&i.env&&i.env.editor instanceof S)return i.env.editor;var t="";if(i&&/input|textarea/i.test(i.tagName)){var o=i;t=o.value,i=x.createElement("pre"),o.parentNode.replaceChild(i,o)}else i&&(t=i.textContent,i.innerHTML="");var s=M.createEditSession(t),c=new S(new r(i),s,n),g={document:s,editor:c,onResize:c.resize.bind(c,null)};return o&&(g.textarea=o),c.on("destroy",function(){g.editor.container.env=null}),c.container.env=c.env=g,c},M.createEditSession=function(i,n){var e=new a(i,n);return e.setUndoManager(new l),e},M.Range=k,M.Editor=S,M.EditSession=a,M.UndoManager=l,M.VirtualRenderer=r,M.version=M.config.version}),ace.require(["ace/ace"],function(E){E&&(E.config.init(!0),E.define=ace.define);var M=function(){return this}();for(var H in!M&&typeof window<"u"&&(M=window),!M&&typeof self<"u"&&(M=self),M.ace||(M.ace=E),E)E.hasOwnProperty(H)&&(M.ace[H]=E[H]);M.ace.default=M.ace,ve&&(ve.exports=M.ace)})}}]); \ No newline at end of file diff --git a/dist/1609.a4e38a7bfa38816e.js b/dist/1609.a4e38a7bfa38816e.js deleted file mode 100644 index 4c4eba96..00000000 --- a/dist/1609.a4e38a7bfa38816e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkdf_admin_interface=self.webpackChunkdf_admin_interface||[]).push([[1609],{41609:(ve,we,he)=>{"use strict";he.d(we,{C:()=>r});var E=he(85101),H=he(65879),x=he(56223),k=he(24546),S=he(65763),a=he(96814);const l=["editor"];let r=(()=>{class i{constructor(){this.mode=k.h.TEXT,this.readonly=!1,this.valueChange=new H.vpe,this.themeService=(0,H.f3M)(S.F),this.isDarkMode=this.themeService.darkMode$}ngAfterViewInit(){this.init(this.elementRef,this.mode)}writeValue(e){this.value=e,this.editor&&this.editor.setValue(e)}init(e,t=k.h.TEXT){E.config.set("basePath","/assets/ace-builds"),this.editor=E.edit(e.nativeElement,{mode:`ace/mode/${this.getMode(t)}`,value:this.value,fontSize:12,showPrintMargin:!1,showGutter:!0,highlightActiveLine:!0,tabSize:2,readOnly:!1,maxLines:50}),this.editor.renderer.attachToShadowRoot(),this.editor.addEventListener("change",()=>{this.valueChange.emit(this.editor.getValue()),this.onChange&&this.onChange(this.editor.getValue()),this.onTouched&&this.onTouched()})}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}ngOnChanges(e){this.editor&&(e.mode&&this.editor.session.setMode(`ace/mode/${this.getMode(e.mode.currentValue)}`),e.value&&this.setValue(e.value.currentValue))}setValue(e){this.editor.setValue(e)}ngOnDestroy(){this.editor&&this.editor.destroy()}getMode(e){return"nodejs"===e?k.h.JAVASCRIPT:"python3"===e?k.h.PYTHON:e}}return i.\u0275fac=function(e){return new(e||i)},i.\u0275cmp=H.Xpm({type:i,selectors:[["df-ace-editor"]],viewQuery:function(e,t){if(1&e&&H.Gf(l,5),2&e){let o;H.iGM(o=H.CRH())&&(t.elementRef=o.first)}},inputs:{mode:"mode",readonly:"readonly",value:"value"},outputs:{valueChange:"valueChange"},standalone:!0,features:[H._Bn([{provide:x.JU,useExisting:(0,H.Gpc)(()=>i),multi:!0}]),H.TTD,H.jDz],decls:3,vars:4,consts:[[1,"editor"],["editor",""]],template:function(e,t){1&e&&(H._UZ(0,"div",0,1),H.ALo(2,"async")),2&e&&H.Tol(H.lcZ(2,2,t.isDarkMode)?"dark-theme":"")},dependencies:[a.Ov],styles:[".editor[_ngcontent-%COMP%]{height:100%;min-height:400px;width:100%;background-color:#f0f0f0}"]}),i})()},24546:(ve,we,he)=>{"use strict";he.d(we,{h:()=>E});var E=function(M){return M.JSON="json",M.YAML="yaml",M.TEXT="text",M.NODEJS="nodejs",M.PHP="php",M.PYTHON="python",M.PYTHON3="python",M.JAVASCRIPT="javascript",M}(E||{})},85101:(ve,we,he)=>{ve=he.nmd(ve),function(){var M=function(){return this}();!M&&typeof window<"u"&&(M=window);var H=function(r,i,n){"string"==typeof r?(2==arguments.length&&(n=i),H.modules[r]||(H.payloads[r]=n,H.modules[r]=null)):H.original?H.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};H.modules={},H.payloads={};var x=function(r,i,n){if("string"==typeof i){var e=a(r,i);if(null!=e)return n&&n(),e}else if("[object Array]"===Object.prototype.toString.call(i)){for(var t=[],o=0,s=i.length;oa.length)&&(S=a.length);var l=a.indexOf(k,S-=k.length);return-1!==l&&l===S}),String.prototype.repeat||x(String.prototype,"repeat",function(k){for(var S="",a=this;k>0;)1&k&&(S+=a),(k>>=1)&&(a+=a);return S}),String.prototype.includes||x(String.prototype,"includes",function(k,S){return-1!=this.indexOf(k,S)}),Object.assign||(Object.assign=function(k){if(null==k)throw new TypeError("Cannot convert undefined or null to object");for(var S=Object(k),a=1;a>>0,r=arguments[1]>>0,i=r<0?Math.max(a+r,0):Math.min(r,a),n=arguments[2],e=void 0===n?a:n>>0,t=e<0?Math.max(a+e,0):Math.min(e,a);i0;)1&a&&(l+=S),(a>>=1)&&(S+=S);return l};var x=/^\s\s*/,k=/\s\s*$/;M.stringTrimLeft=function(S){return S.replace(x,"")},M.stringTrimRight=function(S){return S.replace(k,"")},M.copyObject=function(S){var a={};for(var l in S)a[l]=S[l];return a},M.copyArray=function(S){for(var a=[],l=0,r=S.length;l=0?parseFloat((S.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((S.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),M.isOldIE=M.isIE&&M.isIE<9,M.isGecko=M.isMozilla=S.match(/ Gecko\/\d+/),M.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),M.isWebKit=parseFloat(S.split("WebKit/")[1])||void 0,M.isChrome=parseFloat(S.split(" Chrome/")[1])||void 0,M.isEdge=parseFloat(S.split(" Edge/")[1])||void 0,M.isAIR=S.indexOf("AdobeAIR")>=0,M.isAndroid=S.indexOf("Android")>=0,M.isChromeOS=S.indexOf(" CrOS ")>=0,M.isIOS=/iPad|iPhone|iPod/.test(S)&&!window.MSStream,M.isIOS&&(M.isMac=!0),M.isMobile=M.isIOS||M.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(E,M,H){"use strict";var x=E("./useragent");M.buildDom=function n(e,t,o){if("string"==typeof e&&e){var s=document.createTextNode(e);return t&&t.appendChild(s),s}if(!Array.isArray(e))return e&&e.appendChild&&t&&t.appendChild(e),e;if("string"!=typeof e[0]||!e[0]){for(var c=[],g=0;g"u")){if(a)if(t)l();else if(!1===t)return a.push([n,e]);if(!S){var o=t;t&&t.getRootNode?(!(o=t.getRootNode())||o==t)&&(o=document):o=document;var s=o.ownerDocument||o;if(e&&M.hasCssString(e,o))return null;e&&(n+="\n/*# sourceURL=ace/css/"+e+" */");var c=M.createElement("style");c.appendChild(s.createTextNode(n)),e&&(c.id=e),o==s&&(o=M.getDocumentHead(s)),o.insertBefore(c,o.firstChild)}}}if(M.useStrictCSP=function(n){S=n,0==n?l():a||(a=[])},M.importCssString=r,M.importCssStylsheet=function(n,e){M.buildDom(["link",{rel:"stylesheet",href:n}],M.getDocumentHead(e))},M.scrollbarWidth=function(n){var e=M.createElement("ace_inner");e.style.width="100%",e.style.minWidth="0px",e.style.height="200px",e.style.display="block";var t=M.createElement("ace_outer"),o=t.style;o.position="absolute",o.left="-10000px",o.overflow="hidden",o.width="200px",o.minWidth="0px",o.height="150px",o.display="block",t.appendChild(e);var s=n&&n.documentElement||document&&document.documentElement;if(!s)return 0;s.appendChild(t);var c=e.offsetWidth;o.overflow="scroll";var g=e.offsetWidth;return c===g&&(g=t.clientWidth),s.removeChild(t),c-g},M.computedStyle=function(n,e){return window.getComputedStyle(n,"")||{}},M.setStyle=function(n,e,t){n[e]!==t&&(n[e]=t)},M.HAS_CSS_ANIMATION=!1,M.HAS_CSS_TRANSFORMS=!1,M.HI_DPI=!x.isWin||typeof window<"u"&&window.devicePixelRatio>=1.5,x.isChromeOS&&(M.HI_DPI=!1),typeof document<"u"){var i=document.createElement("div");M.HI_DPI&&void 0!==i.style.transform&&(M.HAS_CSS_TRANSFORMS=!0),!x.isEdge&&typeof i.style.animationName<"u"&&(M.HAS_CSS_ANIMATION=!0),i=null}M.translate=M.HAS_CSS_TRANSFORMS?function(n,e,t){n.style.transform="translate("+Math.round(e)+"px, "+Math.round(t)+"px)"}:function(n,e,t){n.style.top=Math.round(t)+"px",n.style.left=Math.round(e)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(E,M,H){"use strict";var x=E("./dom");M.get=function(k,S){var a=new XMLHttpRequest;a.open("GET",k,!0),a.onreadystatechange=function(){4===a.readyState&&S(a.responseText)},a.send(null)},M.loadScript=function(k,S){var a=x.getDocumentHead(),l=document.createElement("script");l.src=k,a.appendChild(l),l.onload=l.onreadystatechange=function(r,i){(i||!l.readyState||"loaded"==l.readyState||"complete"==l.readyState)&&(l=l.onload=l.onreadystatechange=null,i||S())}},M.qualifyURL=function(k){var S=document.createElement("a");return S.href=k,S.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(E,M,H){"use strict";M.inherits=function(x,k){x.super_=k,x.prototype=Object.create(k.prototype,{constructor:{value:x,enumerable:!1,writable:!0,configurable:!0}})},M.mixin=function(x,k){for(var S in k)x[S]=k[S];return x},M.implement=function(x,k){M.mixin(x,k)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(E,M,H){"use strict";var x={},k=function(){this.propagationStopped=!0},S=function(){this.defaultPrevented=!0};x._emit=x._dispatchEvent=function(a,l){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var r=this._eventRegistry[a]||[],i=this._defaultHandlers[a];if(r.length||i){("object"!=typeof l||!l)&&(l={}),l.type||(l.type=a),l.stopPropagation||(l.stopPropagation=k),l.preventDefault||(l.preventDefault=S),r=r.slice();for(var n=0;n1&&(c=o[o.length-2]);var w=l[t+"Path"];return null==w?w=l.basePath:"/"==s&&(t=s=""),w&&"/"!=w.slice(-1)&&(w+="/"),w+t+s+c+this.get("suffix")},M.setModuleUrl=function(e,t){return l.$moduleUrls[e]=t},M.setLoader=function(e){i=e},M.dynamicModules=Object.create(null),M.$loading={},M.$loaded={},M.loadModule=function(e,t){var o,s;Array.isArray(e)&&(s=e[0],e=e[1]);var c=function(g){if(g&&!M.$loading[e])return t&&t(g);if(M.$loading[e]||(M.$loading[e]=[]),M.$loading[e].push(t),!(M.$loading[e].length>1)){var w=function(){!function(e,t){"ace/theme/textmate"===e||"./theme/textmate"===e?t(0,E("./theme/textmate")):i?i(e,t):console.error("loader is not configured")}(e,function(p,b){b&&(M.$loaded[e]=b),M._emit("load.module",{name:e,module:b});var y=M.$loading[e];M.$loading[e]=null,y.forEach(function(d){d&&d(b)})})};if(!M.get("packaged"))return w();k.loadScript(M.moduleUrl(e,s),w),n()}};if(M.dynamicModules[e])M.dynamicModules[e]().then(function(g){c(g.default?g.default:g)});else{try{o=this.$require(e)}catch{}c(o||M.$loaded[e])}},M.$require=function(e){if("function"==typeof H.require)return H.require(e)},M.setModuleLoader=function(e,t){M.dynamicModules[e]=t};var n=function(){!l.basePath&&!l.workerPath&&!l.modePath&&!l.themePath&&!Object.keys(l.$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(){})};M.version="1.24.2"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(E,M,H){"use strict";E("./lib/fixoldbrowsers");var x=E("./config");x.setLoader(function(l,r){E([l],function(i){r(null,i)})});var k=function(){return this||typeof window<"u"&&window}();function S(l){if(k&&k.document){x.set("packaged",l||E.packaged||H.packaged||k.define&&he.amdD.packaged);var r={},i="",n=document.currentScript||document._currentScript,e=n&&n.ownerDocument||document;n&&n.src&&(i=n.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var t=e.getElementsByTagName("script"),o=0;o ["+this.end.row+"/"+this.end.column+"]"},S.prototype.contains=function(a,l){return 0==this.compare(a,l)},S.prototype.compareRange=function(a){var l,r=a.end,i=a.start;return 1==(l=this.compare(r.row,r.column))?1==(l=this.compare(i.row,i.column))?2:0==l?1:0:-1==l?-2:-1==(l=this.compare(i.row,i.column))?-1:1==l?42:0},S.prototype.comparePoint=function(a){return this.compare(a.row,a.column)},S.prototype.containsRange=function(a){return 0==this.comparePoint(a.start)&&0==this.comparePoint(a.end)},S.prototype.intersects=function(a){var l=this.compareRange(a);return-1==l||0==l||1==l},S.prototype.isEnd=function(a,l){return this.end.row==a&&this.end.column==l},S.prototype.isStart=function(a,l){return this.start.row==a&&this.start.column==l},S.prototype.setStart=function(a,l){"object"==typeof a?(this.start.column=a.column,this.start.row=a.row):(this.start.row=a,this.start.column=l)},S.prototype.setEnd=function(a,l){"object"==typeof a?(this.end.column=a.column,this.end.row=a.row):(this.end.row=a,this.end.column=l)},S.prototype.inside=function(a,l){return 0==this.compare(a,l)&&!(this.isEnd(a,l)||this.isStart(a,l))},S.prototype.insideStart=function(a,l){return 0==this.compare(a,l)&&!this.isEnd(a,l)},S.prototype.insideEnd=function(a,l){return 0==this.compare(a,l)&&!this.isStart(a,l)},S.prototype.compare=function(a,l){return this.isMultiLine()||a!==this.start.row?athis.end.row?1:this.start.row===a?l>=this.start.column?0:-1:this.end.row===a?l<=this.end.column?0:1:0:lthis.end.column?1:0},S.prototype.compareStart=function(a,l){return this.start.row==a&&this.start.column==l?-1:this.compare(a,l)},S.prototype.compareEnd=function(a,l){return this.end.row==a&&this.end.column==l?1:this.compare(a,l)},S.prototype.compareInside=function(a,l){return this.end.row==a&&this.end.column==l?1:this.start.row==a&&this.start.column==l?-1:this.compare(a,l)},S.prototype.clipRows=function(a,l){if(this.end.row>l)var r={row:l+1,column:0};else this.end.rowl)var i={row:l+1,column:0};else this.start.row1?++v>4&&(v=1):v=1,k.isIE){var C=Math.abs(h.clientX-$)>5||Math.abs(h.clientY-f)>5;(!u||C)&&(v=1),u&&clearTimeout(u),u=setTimeout(function(){u=null},p[v-1]||600),1==v&&($=h.clientX,f=h.clientY)}if(h._clicks=v,b[y]("mousedown",h),v>4)v=0;else if(v>1)return b[y](A[v],h)}Array.isArray(w)||(w=[w]),w.forEach(function(h){e(h,"mousedown",m,d)})};var o=function(w){return 0|(w.ctrlKey?1:0)|(w.altKey?2:0)|(w.shiftKey?4:0)|(w.metaKey?8:0)};function s(w,p,b){var y=o(p);if(!k.isMac&&S){if(p.getModifierState&&(p.getModifierState("OS")||p.getModifierState("Win"))&&(y|=8),S.altGr){if(3==(3&y))return;S.altGr=0}if(18===b||17===b){var d="location"in p?p.location:p.keyLocation;17===b&&1===d?1==S[b]&&(a=p.timeStamp):18===b&&3===y&&2===d&&p.timeStamp-a<50&&(S.altGr=!0)}}if(b in x.MODIFIER_KEYS&&(b=-1),y||13!==b||3!==(d="location"in p?p.location:p.keyLocation)||(w(p,y,-b),!p.defaultPrevented)){if(k.isChromeOS&&8&y){if(w(p,y,b),p.defaultPrevented)return;y&=-9}return!!(y||b in x.FUNCTION_KEYS||b in x.PRINTABLE_KEYS)&&w(p,y,b)}}function c(){S=Object.create(null)}if(M.getModifierString=function(w){return x.KEY_MODS[o(w)]},M.addCommandKeyListener=function(w,p,b){if(k.isOldGecko||k.isOpera&&!("KeyboardEvent"in window)){var y=null;e(w,"keydown",function(v){y=v.keyCode},b),e(w,"keypress",function(v){return s(p,v,y)},b)}else{var d=null;e(w,"keydown",function(v){S[v.keyCode]=(S[v.keyCode]||0)+1;var $=s(p,v,v.keyCode);return d=v.defaultPrevented,$},b),e(w,"keypress",function(v){d&&(v.ctrlKey||v.altKey||v.shiftKey||v.metaKey)&&(M.stopEvent(v),d=null)},b),e(w,"keyup",function(v){S[v.keyCode]=null},b),S||(c(),e(window,"focus",c))}},"object"==typeof window&&window.postMessage&&!k.isOldIE){var g=1;M.nextTick=function(w,p){p=p||window;var b="zero-timeout-message-"+g++,y=function(d){d.data==b&&(M.stopPropagation(d),t(p,"message",y),w())};e(p,"message",y),p.postMessage(b,"*")}}M.$idleBlocked=!1,M.onIdle=function(w,p){return setTimeout(function b(){M.$idleBlocked?setTimeout(b,100):w()},p)},M.$idleBlockId=null,M.blockIdle=function(w){M.$idleBlockId&&clearTimeout(M.$idleBlockId),M.$idleBlocked=!0,M.$idleBlockId=setTimeout(function(){M.$idleBlocked=!1},w||100)},M.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),M.nextFrame=M.nextFrame?M.nextFrame.bind(window):function(w){setTimeout(w,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(E,M,H){"use strict";var x;H.exports={lineMode:!1,pasteCancelled:function(){return!!(x&&x>Date.now()-50)||(x=!1)},cancel:function(){x=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(E,M,H){"use strict";var x=E("../lib/event"),k=E("../config").nls,S=E("../lib/useragent"),a=E("../lib/dom"),l=E("../lib/lang"),r=E("../clipboard"),i=S.isChrome<18,n=S.isIE,e=S.isChrome>63,t=400,o=E("../lib/keys"),s=o.KEY_MODS,c=S.isIOS,g=c?/\s/:/\n/,w=S.isMobile;M.TextInput=function(b,y){var d=a.createElement("textarea");d.className="ace_text-input",d.setAttribute("wrap","off"),d.setAttribute("autocorrect","off"),d.setAttribute("autocapitalize","off"),d.setAttribute("spellcheck",!1),d.style.opacity="0",b.insertBefore(d,b.firstChild);var v=!1,$=!1,f=!1,u=!1,A="";w||(d.style.fontSize="1px");var m=!1,h=!1,C="",L=0,T=0,R=0,_=Number.MAX_SAFE_INTEGER,O=Number.MIN_SAFE_INTEGER,I=0;try{var W=document.activeElement===d}catch{}this.setNumberOfExtraLines=function(N){_=Number.MAX_SAFE_INTEGER,O=Number.MIN_SAFE_INTEGER,I=N<0?0:N},this.setAriaOptions=function(N){N.activeDescendant?(d.setAttribute("aria-haspopup","true"),d.setAttribute("aria-autocomplete",N.inline?"both":"list"),d.setAttribute("aria-activedescendant",N.activeDescendant)):(d.setAttribute("aria-haspopup","false"),d.setAttribute("aria-autocomplete","both"),d.removeAttribute("aria-activedescendant")),N.role&&d.setAttribute("role",N.role),N.setLabel&&(d.setAttribute("aria-roledescription",k("editor")),y.session)&&d.setAttribute("aria-label",k("Cursor at row $0",[y.session.selection.cursor.row+1]))},this.setAriaOptions({role:"textbox"}),x.addListener(d,"blur",function(N){h||(y.onBlur(N),W=!1)},y),x.addListener(d,"focus",function(N){if(!h){if(W=!0,S.isEdge)try{if(!document.hasFocus())return}catch{}y.onFocus(N),S.isEdge?setTimeout(F):F()}},y),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:y.renderer.enableKeyboardAccessibility}),A||e||"browser"==this.$focusScroll)return d.focus({preventScroll:!0});var N=d.style.top;d.style.position="fixed",d.style.top="0px";try{var j=0!=d.getBoundingClientRect().top}catch{return}var X=[];if(j)for(var Z=d.parentElement;Z&&1==Z.nodeType;)X.push(Z),Z.setAttribute("ace_nocontext",!0),Z=!Z.parentElement&&Z.getRootNode?Z.getRootNode().host:Z.parentElement;d.focus({preventScroll:!0}),j&&X.forEach(function(te){te.removeAttribute("ace_nocontext")}),setTimeout(function(){d.style.position="","0px"==d.style.top&&(d.style.top=N)},0)},this.blur=function(){d.blur()},this.isFocused=function(){return W},y.on("beforeEndOperation",function(){var N=y.curOp,j=N&&N.command&&N.command.name;"insertstring"!=j&&(f&&j&&(N.docChanged||N.selectionChanged)&&(C=d.value="",fe()),F())});var D=function(N,j){for(var X=j,Z=1;Z<=N-_&&Z<2*I+1;Z++)X+=y.session.getLine(N-Z).length+1;return X},F=c?function(N){if(W&&(!v||N)&&!u){N||(N="");var j="\n ab"+N+"cde fg\n";j!=d.value&&(d.value=C=j);var Z=4+(N.length||(y.selection.isEmpty()?0:1));(4!=L||T!=Z)&&d.setSelectionRange(4,Z),L=4,T=Z}}:function(){if(!f&&!u&&(W||G)){f=!0;var N=0,j=0,X="";if(y.session){var Z=y.selection,te=Z.getRange(),oe=Z.cursor.row;oe===O+1?O=(_=O+1)+2*I:oe===_-1?_=(O=_-1)-2*I:(oe<_-1||oe>O+1)&&(_=oe>I?oe-I:0,O=oe>I?oe+I:2*I);for(var le=[],se=_;se<=O;se++)le.push(y.session.getLine(se));if(X=le.join("\n"),N=D(te.start.row,te.start.column),j=D(te.end.row,te.end.column),te.start.row<_){var re=y.session.getLine(_-1);N=te.start.row<_-1?0:N,j+=re.length+1,X=re+"\n"+X}else if(te.end.row>O){var ie=y.session.getLine(O+1);j=te.end.row>O+1?ie.length:te.end.column,j+=X.length+1,X=X+"\n"+ie}else w&&oe>0&&(X="\n"+X,j+=1,N+=1);X.length>t&&(N0&&C[ie]==N[ie];)ie++,te--;for(le=le.slice(ie),ie=1;oe>0&&C.length-ie>L-1&&C[C.length-ie]==N[N.length-ie];)ie++,oe--;se-=ie-1,re-=ie-1;var ue=le.length-ie+1;if(ue<0&&(te=-ue,ue=0),le=le.slice(0,ue),!(j||le||se||te||oe||re))return"";u=!0;var ye=!1;return S.isAndroid&&". "==le&&(le=" ",ye=!0),le&&!te&&!oe&&!se&&!re||m?y.onTextInput(le):y.onTextInput(le,{extendLeft:te,extendRight:oe,restoreStart:se,restoreEnd:re}),u=!1,C=N,L=X,T=Z,R=re,ye?"\n":le},K=function(N){if(f)return ne();if(N&&N.inputType){if("historyUndo"==N.inputType)return y.execCommand("undo");if("historyRedo"==N.inputType)return y.execCommand("redo")}var j=d.value,X=z(j,!0);(j.length>500||g.test(X)||w&&L<1&&L==T)&&F()},Y=function(N,j,X){var Z=N.clipboardData||window.clipboardData;if(Z&&!i){var te=n||X?"Text":"text/plain";try{return j?!1!==Z.setData(te,j):Z.getData(te)}catch(oe){if(!X)return Y(oe,j,!0)}}},U=function(N,j){var X=y.getCopyText();if(!X)return x.preventDefault(N);Y(N,X)?(c&&(F(X),v=X,setTimeout(function(){v=!1},10)),j?y.onCut():y.onCopy(),x.preventDefault(N)):(v=!0,d.value=X,d.select(),setTimeout(function(){v=!1,F(),j?y.onCut():y.onCopy()}))},J=function(N){U(N,!0)},q=function(N){U(N,!1)},ee=function(N){var j=Y(N);r.pasteCancelled()||("string"==typeof j?(j&&y.onPaste(j,N),S.isIE&&setTimeout(F),x.preventDefault(N)):(d.value="",$=!0))};x.addCommandKeyListener(d,y.onCommandKey.bind(y),y),x.addListener(d,"select",function(N){f||(v?v=!1:function(N){return 0===N.selectionStart&&N.selectionEnd>=C.length&&N.value===C&&C&&N.selectionEnd!==T}(d)?(y.selectAll(),F()):w&&d.selectionStart!=L&&F())},y),x.addListener(d,"input",K,y),x.addListener(d,"cut",J,y),x.addListener(d,"copy",q,y),x.addListener(d,"paste",ee,y),(!("oncut"in d)||!("oncopy"in d)||!("onpaste"in d))&&x.addListener(b,"keydown",function(N){if((!S.isMac||N.metaKey)&&N.ctrlKey)switch(N.keyCode){case 67:q(N);break;case 86:ee(N);break;case 88:J(N)}},y);var ne=function(){if(f&&y.onCompositionUpdate&&!y.$readOnly){if(m)return ge();f.useTextareaForIME?y.onCompositionUpdate(d.value):(z(d.value),f.markerRange&&(f.context&&(f.markerRange.start.column=f.selectionStart=f.context.compositionStartOffset),f.markerRange.end.column=f.markerRange.start.column+T-f.selectionStart+R))}},fe=function(N){!y.onCompositionEnd||y.$readOnly||(f=!1,y.onCompositionEnd(),y.off("mousedown",ge),N&&K())};function ge(){h=!0,d.blur(),d.focus(),h=!1}var ce,de=l.delayedCall(ne,50).schedule.bind(null,null);function me(){clearTimeout(ce),ce=setTimeout(function(){A&&(d.style.cssText=A,A=""),y.renderer.$isMousePressed=!1,y.renderer.$keepTextAreaAtCursor&&y.renderer.$moveTextAreaToCursor()},0)}x.addListener(d,"compositionstart",function(N){if(!f&&y.onCompositionStart&&!y.$readOnly&&(f={},!m)){N.data&&(f.useTextareaForIME=!1),setTimeout(ne,0),y._signal("compositionStart"),y.on("mousedown",ge);var j=y.getSelectionRange();j.end.row=j.start.row,j.end.column=j.start.column,f.markerRange=j,f.selectionStart=L,y.onCompositionStart(f),f.useTextareaForIME?(C=d.value="",L=0,T=0):(d.msGetInputContext&&(f.context=d.msGetInputContext()),d.getInputContext&&(f.context=d.getInputContext()))}},y),x.addListener(d,"compositionupdate",ne,y),x.addListener(d,"keyup",function ae(N){27==N.keyCode&&d.value.lengthT&&"\n"==C[re]?ie=o.end:seT&&C.slice(0,re).split("\n").length>2?ie=o.down:re>T&&" "==C[re-1]?(ie=o.right,ue=s.option):(re>T||re==T&&T!=L&&se==re)&&(ie=o.right),se!==re&&(ue|=s.shift),ie){if(!j.onCommandKey({},ue,ie)&&j.commands){ie=o.keyCodeToString(ie);var be=j.commands.findKeyCommand(ue,ie);be&&j.execCommand(be)}L=se,T=re,F("")}}};document.addEventListener("selectionchange",oe),j.on("destroy",function(){document.removeEventListener("selectionchange",oe)})}(0,y,d),this.destroy=function(){d.parentElement&&d.parentElement.removeChild(d)}},M.$setUserAgentForTests=function(b,y){w=b,c=y}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(E,M,H){"use strict";var x=E("../lib/useragent"),a=function(){function i(n){n.$clickSelection=null;var e=n.editor;e.setDefaultHandler("mousedown",this.onMouseDown.bind(n)),e.setDefaultHandler("dblclick",this.onDoubleClick.bind(n)),e.setDefaultHandler("tripleclick",this.onTripleClick.bind(n)),e.setDefaultHandler("quadclick",this.onQuadClick.bind(n)),e.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n)),["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach(function(o){n[o]=this[o]},this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return i.prototype.onMouseDown=function(n){var e=n.inSelection(),t=n.getDocumentPosition();this.mousedownEvent=n;var o=this.editor,s=n.getButton();return 0!==s?((o.getSelectionRange().isEmpty()||1==s)&&o.selection.moveToPosition(t),void(2==s&&(o.textInput.onContextMenu(n.domEvent),x.isMozilla||n.preventDefault()))):(this.mousedownEvent.time=Date.now(),!e||o.isFocused()||(o.focus(),!this.$focusTimeout||this.$clickSelection||o.inMultiSelectMode)?(this.captureMouse(n),this.startSelect(t,n.domEvent._clicks>1),n.preventDefault()):(this.setState("focusWait"),void this.captureMouse(n)))},i.prototype.startSelect=function(n,e){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var t=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?t.selection.selectToPosition(n):e||t.selection.moveToPosition(n),e||this.select(),t.setStyle("ace_selecting"),this.setState("select"))},i.prototype.select=function(){var n,e=this.editor,t=e.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var o=this.$clickSelection.comparePoint(t);if(-1==o)n=this.$clickSelection.end;else if(1==o)n=this.$clickSelection.start;else{var s=r(this.$clickSelection,t);t=s.cursor,n=s.anchor}e.selection.setSelectionAnchor(n.row,n.column)}e.selection.selectToPosition(t),e.renderer.scrollCursorIntoView()},i.prototype.extendSelectionBy=function(n){var e,t=this.editor,o=t.renderer.screenToTextCoordinates(this.x,this.y),s=t.selection[n](o.row,o.column);if(this.$clickSelection){var c=this.$clickSelection.comparePoint(s.start),g=this.$clickSelection.comparePoint(s.end);if(-1==c&&g<=0)e=this.$clickSelection.end,(s.end.row!=o.row||s.end.column!=o.column)&&(o=s.start);else if(1==g&&c>=0)e=this.$clickSelection.start,(s.start.row!=o.row||s.start.column!=o.column)&&(o=s.end);else if(-1==c&&1==g)o=s.end,e=s.start;else{var w=r(this.$clickSelection,o);o=w.cursor,e=w.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(o),t.renderer.scrollCursorIntoView()},i.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},i.prototype.focusWait=function(){var n=function l(i,n,e,t){return Math.sqrt(Math.pow(e-i,2)+Math.pow(t-n,2))}(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),e=Date.now();(n>0||e-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},i.prototype.onDoubleClick=function(n){var e=n.getDocumentPosition(),t=this.editor,s=t.session.getBracketRange(e);s?(s.isEmpty()&&(s.start.column--,s.end.column++),this.setState("select")):(s=t.selection.getWordRange(e.row,e.column),this.setState("selectByWords")),this.$clickSelection=s,this.select()},i.prototype.onTripleClick=function(n){var e=n.getDocumentPosition(),t=this.editor;this.setState("selectByLines");var o=t.getSelectionRange();o.isMultiLine()&&o.contains(e.row,e.column)?(this.$clickSelection=t.selection.getLineRange(o.start.row),this.$clickSelection.end=t.selection.getLineRange(o.end.row).end):this.$clickSelection=t.selection.getLineRange(e.row),this.select()},i.prototype.onQuadClick=function(n){var e=this.editor;e.selectAll(),this.$clickSelection=e.getSelectionRange(),this.setState("selectAll")},i.prototype.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var e=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var t=this.$lastScroll,o=n.domEvent.timeStamp,s=o-t.t,c=s?n.wheelX/s:t.vx,g=s?n.wheelY/s:t.vy;s<550&&(c=(c+t.vx)/2,g=(g+t.vy)/2);var w=Math.abs(c/g),p=!1;if(w>=1&&e.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(p=!0),w<=1&&e.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(p=!0),p?t.allowed=o:o-t.allowed<550&&(Math.abs(c)<=1.5*Math.abs(t.vx)&&Math.abs(g)<=1.5*Math.abs(t.vy)?(p=!0,t.allowed=o):t.allowed=0),t.t=o,t.vx=c,t.vy=g,p)return e.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}},i}();function r(i,n){if(i.start.row==i.end.row)var e=2*n.column-i.start.column-i.end.column;else if(i.start.row!=i.end.row-1||i.start.column||i.end.column)e=2*n.row-i.start.row-i.end.row;else e=n.column-4;return e<0?{cursor:i.start,anchor:i.end}:{cursor:i.end,anchor:i.start}}a.prototype.selectEnd=a.prototype.selectByLinesEnd,a.prototype.selectAllEnd=a.prototype.selectByLinesEnd,a.prototype.selectByWordsEnd=a.prototype.selectByLinesEnd,M.DefaultHandlers=a}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/range"],function(E,M,H){"use strict";var t,x=this&&this.__extends||(t=function(o,s){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,g){c.__proto__=g}||function(c,g){for(var w in g)Object.prototype.hasOwnProperty.call(g,w)&&(c[w]=g[w])})(o,s)},function(o,s){if("function"!=typeof s&&null!==s)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");function c(){this.constructor=o}t(o,s),o.prototype=null===s?Object.create(s):(c.prototype=s.prototype,new c)}),k=this&&this.__values||function(t){var o="function"==typeof Symbol&&Symbol.iterator,s=o&&t[o],c=0;if(s)return s.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&c>=t.length&&(t=void 0),{value:t&&t[c++],done:!t}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},S=E("./lib/dom"),a=E("./range").Range,l="ace_tooltip",r=function(){function t(o){this.isOpen=!1,this.$element=null,this.$parentNode=o}return t.prototype.$init=function(){return this.$element=S.createElement("div"),this.$element.className=l,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},t.prototype.getElement=function(){return this.$element||this.$init()},t.prototype.setText=function(o){this.getElement().textContent=o},t.prototype.setHtml=function(o){this.getElement().innerHTML=o},t.prototype.setPosition=function(o,s){this.getElement().style.left=o+"px",this.getElement().style.top=s+"px"},t.prototype.setClassName=function(o){S.addCssClass(this.getElement(),o)},t.prototype.setTheme=function(o){this.$element.className=l+" "+(o.isDark?"ace_dark ":"")+(o.cssClass||"")},t.prototype.show=function(o,s,c){null!=o&&this.setText(o),null!=s&&null!=c&&this.setPosition(s,c),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},t.prototype.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=l,this.isOpen=!1)},t.prototype.getHeight=function(){return this.getElement().offsetHeight},t.prototype.getWidth=function(){return this.getElement().offsetWidth},t.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},t}(),i=function(){function t(){this.popups=[]}return t.prototype.addPopup=function(o){this.popups.push(o),this.updatePopups()},t.prototype.removePopup=function(o){var s=this.popups.indexOf(o);-1!==s&&(this.popups.splice(s,1),this.updatePopups())},t.prototype.updatePopups=function(){var o,s,c,g;this.popups.sort(function(u,A){return A.priority-u.priority});var w=[];try{for(var p=k(this.popups),b=p.next();!b.done;b=p.next()){var y=b.value,d=!0;try{for(var v=(c=void 0,k(w)),$=v.next();!$.done;$=v.next())if(this.doPopupsOverlap($.value,y)){d=!1;break}}catch(u){c={error:u}}finally{try{$&&!$.done&&(g=v.return)&&g.call(v)}finally{if(c)throw c.error}}d?w.push(y):y.hide()}}catch(u){o={error:u}}finally{try{b&&!b.done&&(s=p.return)&&s.call(p)}finally{if(o)throw o.error}}},t.prototype.doPopupsOverlap=function(o,s){var c=o.getElement().getBoundingClientRect(),g=s.getElement().getBoundingClientRect();return c.leftg.left&&c.topg.top},t}(),n=new i;M.popupManager=n,M.Tooltip=r;var e=function(t){function o(s){void 0===s&&(s=document.body);var c=t.call(this,s)||this;c.timeout=void 0,c.lastT=0,c.idleTime=350,c.lastEvent=void 0,c.onMouseOut=c.onMouseOut.bind(c),c.onMouseMove=c.onMouseMove.bind(c),c.waitForHover=c.waitForHover.bind(c),c.hide=c.hide.bind(c);var g=c.getElement();return g.style.whiteSpace="pre-wrap",g.style.pointerEvents="auto",g.addEventListener("mouseout",c.onMouseOut),g.tabIndex=-1,g.addEventListener("blur",function(){g.contains(document.activeElement)||this.hide()}.bind(c)),c}return x(o,t),o.prototype.addToEditor=function(s){s.on("mousemove",this.onMouseMove),s.on("mousedown",this.hide),s.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},o.prototype.removeFromEditor=function(s){s.off("mousemove",this.onMouseMove),s.off("mousedown",this.hide),s.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},o.prototype.onMouseMove=function(s,c){this.lastEvent=s,this.lastT=Date.now();var g=c.$mouseHandler.isMousePressed;if(this.isOpen){var w=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(w.row,w.column)||g||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||g||(this.lastEvent=s,this.timeout=setTimeout(this.waitForHover,this.idleTime))},o.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var s=Date.now()-this.lastT;this.idleTime-s>10?this.timeout=setTimeout(this.waitForHover,this.idleTime-s):(this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor))},o.prototype.isOutsideOfText=function(s){var c=s.editor,g=s.getDocumentPosition(),w=c.session.getLine(g.row);if(g.column==w.length){var p=c.renderer.pixelToScreenCoordinates(s.clientX,s.clientY),b=c.session.documentToScreenPosition(g.row,g.column);if(b.column!=p.column||b.row!=p.row)return!0}return!1},o.prototype.setDataProvider=function(s){this.$gatherData=s},o.prototype.showForRange=function(s,c,g,w){if(!(w&&w!=this.lastEvent||this.isOpen&&document.activeElement==this.getElement())){var p=s.renderer;this.isOpen||(n.addPopup(this),this.$registerCloseEvents(),this.setTheme(p.theme)),this.isOpen=!0,this.addMarker(c,s.session),this.range=a.fromPoints(c.start,c.end);var b=this.getElement();b.innerHTML="",b.appendChild(g),b.style.display="block";var y=p.textToScreenCoordinates(c.start.row,c.start.column),d=s.getCursorPosition(),v=b.clientHeight,$=p.scroller.getBoundingClientRect(),f=!0;this.row>d.row?f=!0:this.row$.bottom&&(f=!1),f?y.pageY+=p.lineHeight:y.pageY-=v,b.style.maxWidth=$.width-(y.pageX-$.left)+"px",this.setPosition(y.pageX,y.pageY)}},o.prototype.addMarker=function(s,c){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=c,this.marker=c&&c.addMarker(s,"ace_highlight-marker","text")},o.prototype.hide=function(s){!s&&document.activeElement==this.getElement()||s&&s.target&&("keydown"!=s.type||s.ctrlKey||s.metaKey)&&this.$element.contains(s.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,n.removePopup(this)))},o.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("mousewheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},o.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("mousewheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},o.prototype.onMouseOut=function(s){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!s.relatedTarget||s.relatedTarget==this.getElement()||s&&s.currentTarget.contains(s.relatedTarget)||s.relatedTarget.classList.contains("ace_content")||this.hide())},o}(r);M.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],function(E,M,H){"use strict";var e,x=this&&this.__extends||(e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,c){s.__proto__=c}||function(s,c){for(var g in c)Object.prototype.hasOwnProperty.call(c,g)&&(s[g]=c[g])})(t,o)},function(t,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function s(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(s.prototype=o.prototype,new s)}),k=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,o=t&&e[t],s=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&s>=e.length&&(e=void 0),{value:e&&e[s++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},S=E("../lib/dom"),a=E("../lib/event"),l=E("../tooltip").Tooltip,r=E("../config").nls;M.GutterHandler=function i(e){var c,g,t=e.editor,o=t.renderer.$gutterLayer,s=new n(t);function p(){c&&(c=clearTimeout(c)),s.isOpen&&(s.hideTooltip(),t.off("mousewheel",p))}function b(y){s.setPosition(y.x,y.y)}e.editor.setDefaultHandler("guttermousedown",function(y){if(t.isFocused()&&0==y.getButton()&&"foldWidgets"!=o.getRegion(y)){var v=y.getDocumentPosition().row,$=t.session.selection;if(y.getShiftKey())$.selectTo(v,0);else{if(2==y.domEvent.detail)return t.selectAll(),y.preventDefault();e.$clickSelection=t.selection.getLineRange(v)}return e.setState("selectByLines"),e.captureMouse(y),y.preventDefault()}}),e.editor.setDefaultHandler("guttermousemove",function(y){if(S.hasCssClass(y.domEvent.target||y.domEvent.srcElement,"ace_fold-widget"))return p();s.isOpen&&e.$tooltipFollowsMouse&&b(y),g=y,!c&&(c=setTimeout(function(){c=null,g&&!e.isMousePressed?function w(){var y=g.getDocumentPosition().row;if(y==t.session.getLength()){var v=t.renderer.pixelToScreenCoordinates(0,g.y).row,$=g.$pos;if(v>t.session.documentToScreenRow($.row,$.column))return p()}if(s.showTooltip(y),s.isOpen)if(t.on("mousewheel",p),e.$tooltipFollowsMouse)b(g);else{var f=g.getGutterRow(),u=o.$lines.get(f);if(u){var m=u.element.querySelector(".ace_gutter_annotation").getBoundingClientRect(),h=s.getElement().style;h.left=m.right+"px",h.top=m.bottom+"px"}else b(g)}}():p()},50))}),a.addListener(t.renderer.$gutter,"mouseout",function(y){g=null,s.isOpen&&!c&&(c=setTimeout(function(){c=null,p()},50))},t),t.on("changeSession",p),t.on("input",p)};var n=function(e){function t(o){var s=e.call(this,o.container)||this;return s.editor=o,s}return x(t,e),t.prototype.setPosition=function(o,s){var c=window.innerWidth||document.documentElement.clientWidth,g=window.innerHeight||document.documentElement.clientHeight,w=this.getWidth(),p=this.getHeight();(o+=15)+w>c&&(o-=o+w-c),(s+=15)+p>g&&(s-=20+p),l.prototype.setPosition.call(this,o,s)},Object.defineProperty(t,"annotationLabels",{get:function(){return{error:{singular:r("error"),plural:r("errors")},warning:{singular:r("warning"),plural:r("warnings")},info:{singular:r("information message"),plural:r("information messages")}}},enumerable:!1,configurable:!0}),t.prototype.showTooltip=function(o){var g,s=this.editor.renderer.$gutterLayer,c=s.$annotations[o];g=c?{text:Array.from(c.text),type:Array.from(c.type)}:{text:[],type:[]};var w=s.session.getFoldLine(o);if(w&&s.$showFoldedAnnotations){for(var b,p={error:[],warning:[],info:[]},y=o+1;y<=w.end.row;y++)if(s.$annotations[y])for(var d=0;d ").concat(g.text[y]);f[g.type[y].replace("_fold","")].push(A)}var m=[].concat(f.error,f.warning,f.info).join("
");this.setHtml(m),this.$element.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.editor._signal("showGutterTooltip",this)},t.prototype.hideTooltip=function(){this.$element.removeAttribute("aria-live"),this.hide(),this.editor._signal("hideGutterTooltip",this)},t.annotationsToSummaryString=function(o){var s,c,g=[];try{for(var p=k(["error","warning","info"]),b=p.next();!b.done;b=p.next()){var y=b.value;if(o[y].length){var d=1===o[y].length?t.annotationLabels[y].singular:t.annotationLabels[y].plural;g.push("".concat(o[y].length," ").concat(d))}}}catch(v){s={error:v}}finally{try{b&&!b.done&&(c=p.return)&&c.call(p)}finally{if(s)throw s.error}}return g.join(", ")},t}(l);M.GutterTooltip=n}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(E,M,H){"use strict";var x=E("../lib/event"),k=E("../lib/useragent"),S=function(){function a(l,r){this.domEvent=l,this.editor=r,this.x=this.clientX=l.clientX,this.y=this.clientY=l.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return a.prototype.stopPropagation=function(){x.stopPropagation(this.domEvent),this.propagationStopped=!0},a.prototype.preventDefault=function(){x.preventDefault(this.domEvent),this.defaultPrevented=!0},a.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},a.prototype.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},a.prototype.getGutterRow=function(){var l=this.getDocumentPosition().row;return this.editor.session.documentToScreenRow(l,0)-this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0)},a.prototype.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var r=this.editor.getSelectionRange();if(r.isEmpty())this.$inSelection=!1;else{var i=this.getDocumentPosition();this.$inSelection=r.contains(i.row,i.column)}return this.$inSelection},a.prototype.getButton=function(){return x.getButton(this.domEvent)},a.prototype.getShiftKey=function(){return this.domEvent.shiftKey},a.prototype.getAccelKey=function(){return k.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},a}();M.MouseEvent=S}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(E,M,H){"use strict";var x=E("../lib/dom"),k=E("../lib/event"),S=E("../lib/useragent");function i(e){var t=e.editor,o=x.createElement("div");o.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",o.textContent="\xa0",["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach(function(D){e[D]=this[D]},this),t.on("mousedown",this.onMouseDown.bind(e));var g,w,p,b,y,d,$,f,u,A,m,c=t.container,v=0;function L(){var D=d;(function h(D,F){var B=Date.now();A&&F&&D.row==F.row&&F&&D.column==F.column?n(m.x,m.y,w,p)>5?A=null:B-A>=200&&(t.renderer.scrollCursorIntoView(),A=null):(t.moveCursorToPosition(D),A=B,m={x:w,y:p})})(d=t.renderer.screenToTextCoordinates(w,p),D),function C(D,F){var B=Date.now(),V=t.renderer.layerConfig.lineHeight,P=t.renderer.layerConfig.characterWidth,G=t.renderer.scroller.getBoundingClientRect(),z={x:{left:w-G.left,right:G.right-w},y:{top:p-G.top,bottom:G.bottom-p}},K=Math.min(z.x.left,z.x.right),Y=Math.min(z.y.top,z.y.bottom),U={row:D.row,column:D.column};K/P<=2&&(U.column+=z.x.left=200&&t.renderer.scrollCursorIntoView(U):u=B:u=null}(d,D)}function T(){y=t.selection.toOrientedRange(),g=t.session.addMarker(y,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(b),L(),b=setInterval(L,20),v=0,k.addListener(document,"mousemove",O)}function R(){clearInterval(b),t.session.removeMarker(g),g=null,t.selection.fromOrientedRange(y),t.isFocused()&&!f&&t.$resetCursorStyle(),y=null,d=null,v=0,u=null,A=null,k.removeListener(document,"mousemove",O)}this.onDragStart=function(D){if(this.cancelDrag||!c.draggable){var F=this;return setTimeout(function(){F.startSelect(),F.captureMouse(D)},0),D.preventDefault()}y=t.getSelectionRange();var B=D.dataTransfer;B.effectAllowed=t.getReadOnly()?"copy":"copyMove",t.container.appendChild(o),B.setDragImage&&B.setDragImage(o,0,0),setTimeout(function(){t.container.removeChild(o)}),B.clearData(),B.setData("Text",t.session.getTextRange()),f=!0,this.setState("drag")},this.onDragEnd=function(D){c.draggable=!1,f=!1,this.setState(null),t.getReadOnly()||(!$&&"move"==D.dataTransfer.dropEffect&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(D){if(!t.getReadOnly()&&I(D.dataTransfer))return w=D.clientX,p=D.clientY,g||T(),v++,D.dataTransfer.dropEffect=$=W(D),k.preventDefault(D)},this.onDragOver=function(D){if(!t.getReadOnly()&&I(D.dataTransfer))return w=D.clientX,p=D.clientY,g||(T(),v++),null!==_&&(_=null),D.dataTransfer.dropEffect=$=W(D),k.preventDefault(D)},this.onDragLeave=function(D){if(--v<=0&&g)return R(),$=null,k.preventDefault(D)},this.onDrop=function(D){if(d){var F=D.dataTransfer;if(f)switch($){case"move":y=y.contains(d.row,d.column)?{start:d,end:d}:t.moveText(y,d);break;case"copy":y=t.moveText(y,d,!0)}else{var B=F.getData("Text");y={start:d,end:t.session.insert(d,B)},t.focus(),$=null}return R(),k.preventDefault(D)}},k.addListener(c,"dragstart",this.onDragStart.bind(e),t),k.addListener(c,"dragend",this.onDragEnd.bind(e),t),k.addListener(c,"dragenter",this.onDragEnter.bind(e),t),k.addListener(c,"dragover",this.onDragOver.bind(e),t),k.addListener(c,"dragleave",this.onDragLeave.bind(e),t),k.addListener(c,"drop",this.onDrop.bind(e),t);var _=null;function O(){null==_&&(_=setTimeout(function(){null!=_&&g&&R()},20))}function I(D){var F=D.types;return!F||Array.prototype.some.call(F,function(B){return"text/plain"==B||"Text"==B})}function W(D){var F=["copy","copymove","all","uninitialized"],V=S.isMac?D.altKey:D.ctrlKey,P="uninitialized";try{P=D.dataTransfer.effectAllowed.toLowerCase()}catch{}var G="none";return V&&F.indexOf(P)>=0?G="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(P)>=0?G="move":F.indexOf(P)>=0&&(G="copy"),G}}function n(e,t,o,s){return Math.sqrt(Math.pow(o-e,2)+Math.pow(s-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging"),e.renderer.setCursorStyle(S.isWin?"default":"move"),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;S.isIE&&"dragReady"==this.state&&n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop(),"dragWait"===this.state&&n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,o=e.inSelection(),s=e.getButton();if(1===(e.domEvent.detail||1)&&0===s&&o){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var g=e.domEvent.target||e.domEvent.srcElement;"unselectable"in g&&(g.unselectable="on"),t.getDragDelay()?(S.isWebKit&&(this.cancelDrag=!0,t.container.draggable=!0),this.setState("dragWait")):this.startDrag(),this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(i.prototype),M.DragdropHandler=i}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(E,M,H){"use strict";var x=E("./mouse_event").MouseEvent,k=E("../lib/event"),S=E("../lib/dom");M.addTouchListeners=function(a,l){var i,n,e,t,o,s,g,y,d,r="scroll",c=0,w=0,p=0,b=0;function $(){d||function v(){var h=window.navigator&&window.navigator.clipboard,C=!1,T=function(R){var _=R.target.getAttribute("action");if("more"==_||!C)return C=!C,function(){var R=l.getCopyText(),_=l.session.getUndoManager().hasUndo();d.replaceChild(S.buildDom(C?["span",!R&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],R&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],R&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],h&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],_&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],["span",{class:"ace_mobile-button",action:"find"},"Find"],["span",{class:"ace_mobile-button",action:"openCommandPallete"},"Palette"]]:["span"]),d.firstChild)}();"paste"==_?h.readText().then(function(O){l.execCommand(_,O)}):_&&(("cut"==_||"copy"==_)&&(h?h.writeText(l.getCopyText()):document.execCommand("copy")),l.execCommand(_)),d.firstChild.style.display="none",C=!1,"openCommandPallete"!=_&&l.focus()};d=S.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(R){r="menu",R.stopPropagation(),R.preventDefault(),l.textInput.focus()},ontouchend:function(R){R.stopPropagation(),R.preventDefault(),T(R)},onclick:T},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],l.container)}();var h=l.selection.cursor,C=l.renderer.textToScreenCoordinates(h.row,h.column),L=l.renderer.textToScreenCoordinates(0,0).pageX,T=l.renderer.scrollLeft,R=l.container.getBoundingClientRect();d.style.top=C.pageY-R.top-3+"px",C.pageX-R.left1)return clearTimeout(o),o=null,e=-1,void(r="zoom");y=l.$mouseHandler.isMousePressed=!0;var L=l.renderer.layerConfig.lineHeight,T=l.renderer.layerConfig.lineHeight,R=h.timeStamp;t=R;var _=C[0],O=_.clientX,I=_.clientY;Math.abs(i-O)+Math.abs(n-I)>L&&(e=-1),i=h.clientX=O,n=h.clientY=I,p=b=0;var W=new x(h,l);if(g=W.getDocumentPosition(),R-e<500&&1==C.length&&!c)w++,h.preventDefault(),h.button=0,function A(){o=null,clearTimeout(o),l.selection.moveToPosition(g);var h=w>=2?l.selection.getLineRange(g.row):l.session.getBracketRange(g);h&&!h.isEmpty()?l.selection.setRange(h):l.selection.selectWord(),r="wait"}();else{w=0;var D=l.selection.cursor,F=l.selection.isEmpty()?D:l.selection.anchor,B=l.renderer.$cursorLayer.getPixelPosition(D,!0),V=l.renderer.$cursorLayer.getPixelPosition(F,!0),P=l.renderer.scroller.getBoundingClientRect(),G=l.renderer.layerConfig.offset,z=l.renderer.scrollLeft,K=function(J,q){return(J/=T)*J+(q=q/L-.75)*q};if(h.clientXU?"cursor":"anchor"),r=U<3.5?"anchor":Y<3.5?"cursor":"scroll",o=setTimeout(u,450)}e=R},l),k.addListener(a,"touchend",function(h){y=l.$mouseHandler.isMousePressed=!1,s&&clearInterval(s),"zoom"==r?(r="",c=0):o?(l.selection.moveToPosition(g),c=0,$()):"scroll"==r?(function m(){c+=60,s=setInterval(function(){c--<=0&&(clearInterval(s),s=null),Math.abs(p)<.01&&(p=0),Math.abs(b)<.01&&(b=0),c<20&&(p*=.9),c<20&&(b*=.9);var h=l.session.getScrollTop();l.renderer.scrollBy(10*p,10*b),h==l.session.getScrollTop()&&(c=0)},10)}(),f()):$(),clearTimeout(o),o=null},l),k.addListener(a,"touchmove",function(h){o&&(clearTimeout(o),o=null);var C=h.touches;if(!(C.length>1||"zoom"==r)){var L=C[0],T=i-L.clientX,R=n-L.clientY;if("wait"==r){if(!(T*T+R*R>4))return h.preventDefault();r="cursor"}i=L.clientX,n=L.clientY,h.clientX=L.clientX,h.clientY=L.clientY;var _=h.timeStamp,O=_-t;if(t=_,"scroll"==r){var I=new x(h,l);I.speed=1,I.wheelX=T,I.wheelY=R,10*Math.abs(T)=z){for(q=J+1;q=z;)q++;for(ee=J,Q=q-1;ee=K.length||2!=(q=Y[U-1])&&3!=q||2!=(ee=K[U+1])&&3!=ee?4:(l&&(ee=3),ee==q?ee:4);case 10:return 2==(q=U>0?Y[U-1]:5)&&U+10&&2==Y[U-1])return 2;if(l)return 4;for(ne=U+1,Q=K.length;ne=1425&&fe<=2303||64286==fe)&&(1==q||7==q))return 1}return U<1||5==(q=K[U-1])?4:Y[U-1];case 5:return l=!1,i=!0,S;case 6:return n=!0,4;case 13:case 14:case 16:case 17:case 15:l=!1;case I:return 4}}function P(z){var K=z.charCodeAt(0),Y=K>>8;return 0==Y?K>191?0:W[K]:5==Y?/[\u0591-\u05f4]/.test(z)?1:0:6==Y?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(z)?12:/[\u0660-\u0669\u066b-\u066c]/.test(z)?3:1642==K?h:/[\u06f0-\u06f9]/.test(z)?2:7:32==Y&&K<=8287?D[255&K]:254==Y&&K>=65136?7:4}M.L=0,M.R=1,M.EN=2,M.ON_R=3,M.AN=4,M.R_H=5,M.B=6,M.RLE=7,M.DOT="\xb7",M.doBidiReorder=function(z,K,Y){if(z.length<2)return{};var U=z.split(""),J=new Array(U.length),q=new Array(U.length),ee=[];S=Y?1:0,function F(z,K,Y,U){var J=S?s:o,q=null,ee=null,Q=null,ne=0,fe=null,de=-1,ae=null,ce=null,me=[];if(!U)for(ae=0,U=[];ae0)if(16==fe){for(ae=de;ae-1){for(ae=de;ae=0&&8==U[pe];pe--)K[pe]=S}}(U,ee,U.length,K);for(var Q=0;Q7&&K[Q]<13||4===K[Q]||K[Q]===I)?ee[Q]=M.ON_R:Q>0&&"\u0644"===U[Q-1]&&/\u0622|\u0623|\u0625|\u0627/.test(U[Q])&&(ee[Q-1]=ee[Q]=M.R_H,Q++);for(U[U.length-1]===M.DOT&&(ee[U.length-1]=M.B),"\u202b"===U[0]&&(ee[0]=M.RLE),Q=0;Q=0&&(r=this.session.$docRowCache[n])}return r},l.prototype.getSplitIndex=function(){var r=0,i=this.session.$screenRowCache;if(i.length)for(var n,e=this.session.$getRowCacheIndex(i,this.currentRow);this.currentRow-r>0&&(n=this.session.$getRowCacheIndex(i,this.currentRow-r-1))===e;)e=n,r++;else r=this.currentRow;return r},l.prototype.updateRowLine=function(r,i){void 0===r&&(r=this.getDocumentRow());var e=r===this.session.getLength()-1?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 t=this.session.$wrapData[r];t&&(void 0===i&&(i=this.getSplitIndex()),i>0&&t.length?(this.wrapIndent=t.indent,this.wrapOffset=this.wrapIndent*this.charWidths[x.L],this.line=ii?this.session.getOverwrite()?r:r-1:i,e=x.getVisualFromLogicalIdx(n,this.bidiMap),t=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&r<=i&&t[e]%2!=0&&e++;for(var s=0;si&&t[e]%2==0&&(o+=this.charWidths[t[e]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},l.prototype.getSelections=function(r,i){var t,n=this.bidiMap,e=n.bidiLevels,o=[],s=0,c=Math.min(r,i)-this.wrapIndent,g=Math.max(r,i)-this.wrapIndent,w=!1,p=!1,b=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var y,d=0;d=c&&ye+s/2;){if(e+=s,t===o.length-1){s=0;break}s=this.charWidths[o[++t]]}return t>0&&o[t-1]%2!=0&&o[t]%2==0?(n0&&o[t-1]%2==0&&o[t]%2!=0?i=1+(n>e?this.bidiMap.logicalFromVisual[t]:this.bidiMap.logicalFromVisual[t-1]):this.isRtlDir&&t===o.length-1&&0===s&&o[t-1]%2==0||!this.isRtlDir&&0===t&&o[t]%2!=0?i=1+this.bidiMap.logicalFromVisual[t]:(t>0&&o[t-1]%2!=0&&0!==s&&t--,i=this.bidiMap.logicalFromVisual[t]),0===i&&this.isRtlDir&&i++,i+this.wrapIndent},l}();M.BidiHandler=a}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(E,M,H){"use strict";var x=E("./lib/oop"),k=E("./lib/lang"),S=E("./lib/event_emitter").EventEmitter,a=E("./range").Range,l=function(){function r(i){this.session=i,this.doc=i.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(e){n.$cursorChanged=!0,n.$silent||n._emit("changeCursor"),!n.$isEmpty&&!n.$silent&&n._emit("changeSelection"),!n.$keepDesiredColumnOnChange&&e.old.column!=e.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(i,n){this.$isEmpty=!1,this.anchor.setPosition(i,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 i=this.anchor,n=this.lead;return i.row>n.row||i.row==n.row&&i.column>n.column},r.prototype.getRange=function(){var i=this.anchor,n=this.lead;return this.$isEmpty?a.fromPoints(n,n):this.isBackwards()?a.fromPoints(n,i):a.fromPoints(i,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(i,n){var e=n?i.end:i.start,t=n?i.start:i.end;this.$setSelection(e.row,e.column,t.row,t.column)},r.prototype.$setSelection=function(i,n,e,t){if(!this.$silent){var o=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(i,n),this.cursor.setPosition(e,t),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||o!=this.$isEmpty||s)&&this._emit("changeSelection")}},r.prototype.$moveSelection=function(i){var n=this.lead;this.$isEmpty&&this.setSelectionAnchor(n.row,n.column),i.call(this)},r.prototype.selectTo=function(i,n){this.$moveSelection(function(){this.moveCursorTo(i,n)})},r.prototype.selectToPosition=function(i){this.$moveSelection(function(){this.moveCursorToPosition(i)})},r.prototype.moveTo=function(i,n){this.clearSelection(),this.moveCursorTo(i,n)},r.prototype.moveToPosition=function(i){this.clearSelection(),this.moveCursorToPosition(i)},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(i,n){if(typeof n>"u"){var e=i||this.lead;i=e.row,n=e.column}return this.session.getWordRange(i,n)},r.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},r.prototype.selectAWord=function(){var i=this.getCursor(),n=this.session.getAWordRange(i.row,i.column);this.setSelectionRange(n)},r.prototype.getLineRange=function(i,n){var t,e="number"==typeof i?i:this.lead.row,o=this.session.getFoldLine(e);return o?(e=o.start.row,t=o.end.row):t=e,!0===n?new a(e,0,t,this.session.getLine(t).length):new a(e,0,t+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(i,n,e){var t=i.column,o=i.column+n;return e<0&&(t=i.column-n,o=i.column),this.session.isTabStop(i)&&this.doc.getLine(i.row).slice(t,o).split(" ").length-1==n},r.prototype.moveCursorLeft=function(){var n,i=this.lead.getPosition();if(n=this.session.getFoldAt(i.row,i.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(0===i.column)i.row>0&&this.moveCursorTo(i.row-1,this.doc.getLine(i.row-1).length);else{var e=this.session.getTabSize();this.wouldMoveIntoSoftTab(i,e,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-e):this.moveCursorBy(0,-1)}},r.prototype.moveCursorRight=function(){var n,i=this.lead.getPosition();if(n=this.session.getFoldAt(i.row,i.column,1))this.moveCursorTo(n.end.row,n.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(n.column=t)}}this.moveCursorTo(n.row,n.column)},r.prototype.moveCursorFileEnd=function(){var i=this.doc.getLength()-1,n=this.doc.getLine(i).length;this.moveCursorTo(i,n)},r.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},r.prototype.moveCursorLongWordRight=function(){var i=this.lead.row,n=this.lead.column,e=this.doc.getLine(i),t=e.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var o=this.session.getFoldAt(i,n,1);if(!o)return this.session.nonTokenRe.exec(t)&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,t=e.substring(n)),n>=e.length?(this.moveCursorTo(i,e.length),this.moveCursorRight(),void(i0&&this.moveCursorWordLeft());this.session.tokenRe.exec(o)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(i,n)}},r.prototype.$shortWordEndIndex=function(i){var e,n=0,t=/\s/,o=this.session.tokenRe;if(o.lastIndex=0,this.session.tokenRe.exec(i))n=this.session.tokenRe.lastIndex;else{for(;(e=i[n])&&t.test(e);)n++;if(n<1)for(o.lastIndex=0;(e=i[n])&&!o.test(e);)if(o.lastIndex=0,n++,t.test(e)){if(n>2){n--;break}for(;(e=i[n])&&t.test(e);)n++;if(n>2)break}}return o.lastIndex=0,n},r.prototype.moveCursorShortWordRight=function(){var i=this.lead.row,n=this.lead.column,e=this.doc.getLine(i),t=e.substring(n),o=this.session.getFoldAt(i,n,1);if(o)return this.moveCursorTo(o.end.row,o.end.column);if(n==e.length){var s=this.doc.getLength();do{i++,t=this.doc.getLine(i)}while(i0&&/^\s*$/.test(t));n=t.length,/\s+$/.test(t)||(t="")}var o=k.stringReverse(t),s=this.$shortWordEndIndex(o);return this.moveCursorTo(i,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(i,n){var t,e=this.session.documentToScreenPosition(this.lead.row,this.lead.column);if(0===n&&(0!==i&&(this.session.$bidiHandler.isBidiRow(e.row,this.lead.row)?(t=this.session.$bidiHandler.getPosLeft(e.column),e.column=Math.round(t/this.session.$bidiHandler.charWidths[0])):t=e.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?e.column=this.$desiredColumn:this.$desiredColumn=e.column),0!=i&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var o=this.session.lineWidgets[this.lead.row];i<0?i-=o.rowsAbove||0:i>0&&(i+=o.rowCount-(o.rowsAbove||0))}var s=this.session.screenToDocumentPosition(e.row+i,e.column,t);this.moveCursorTo(s.row,s.column+n,0===n)},r.prototype.moveCursorToPosition=function(i){this.moveCursorTo(i.row,i.column)},r.prototype.moveCursorTo=function(i,n,e){var t=this.session.getFoldAt(i,n,1);t&&(i=t.start.row,n=t.start.column),this.$keepDesiredColumnOnChange=!0;var o=this.session.getLine(i);/[\uDC00-\uDFFF]/.test(o.charAt(n))&&o.charAt(n-1)&&(this.lead.row==i&&this.lead.column==n+1?n-=1:n+=1),this.lead.setPosition(i,n),this.$keepDesiredColumnOnChange=!1,e||(this.$desiredColumn=null)},r.prototype.moveCursorToScreen=function(i,n,e){var t=this.session.screenToDocumentPosition(i,n);this.moveCursorTo(t.row,t.column,e)},r.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},r.prototype.fromOrientedRange=function(i){this.setSelectionRange(i,i.cursor==i.start),this.$desiredColumn=i.desiredColumn||this.$desiredColumn},r.prototype.toOrientedRange=function(i){var n=this.getRange();return i?(i.start.column=n.start.column,i.start.row=n.start.row,i.end.column=n.end.column,i.end.row=n.end.row):i=n,i.cursor=this.isBackwards()?i.start:i.end,i.desiredColumn=this.$desiredColumn,i},r.prototype.getRangeOfMovements=function(i){var n=this.getCursor();try{i(this);var e=this.getCursor();return a.fromPoints(n,e)}catch{return a.fromPoints(n,n)}finally{this.moveCursorToPosition(n)}},r.prototype.toJSON=function(){if(this.rangeCount)var i=this.ranges.map(function(n){var e=n.clone();return e.isBackwards=n.cursor==n.start,e});else(i=this.getRange()).isBackwards=this.isBackwards();return i},r.prototype.fromJSON=function(i){if(null==i.start){if(this.rangeList&&i.length>1){this.toSingleRange(i[0]);for(var n=i.length;n--;){var e=a.fromPoints(i[n].start,i[n].end);i[n].isBackwards&&(e.cursor=e.start),this.addRange(e,!0)}return}i=i[0]}this.rangeList&&this.toSingleRange(i),this.setSelectionRange(i,i.isBackwards)},r.prototype.isEqual=function(i){if((i.length||this.rangeCount)&&i.length!=this.rangeCount)return!1;if(!i.length||!this.ranges)return this.getRange().isEqual(i);for(var n=this.ranges.length;n--;)if(!this.ranges[n].isEqual(i[n]))return!1;return!0},r}();l.prototype.setSelectionAnchor=l.prototype.setAnchor,l.prototype.getSelectionAnchor=l.prototype.getAnchor,l.prototype.setSelectionRange=l.prototype.setRange,x.implement(l.prototype,S),M.Selection=l}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(E,M,H){"use strict";var x=E("./config"),k=2e3,S=function(){function a(l){for(var r in this.states=l,this.regExps={},this.matchMappings={},this.states){for(var i=this.states[r],n=[],e=0,t=this.matchMappings[r]={defaultToken:"text"},o="g",s=[],c=0;c1?this.$applyToken:g.token),p>1&&(/\\\d/.test(g.regex)?w=g.regex.replace(/\\([0-9]+)/g,function(b,y){return"\\"+(parseInt(y,10)+e+1)}):(p=1,w=this.removeCapturingGroups(g.regex)),!g.splitRegex&&"string"!=typeof g.token&&s.push(g)),t[e]=c,e+=p,n.push(w),g.onMatch||(g.onMatch=null)}}n.length||(t[0]=0,n.push("$")),s.forEach(function(b){b.splitRegex=this.createSplitterRegexp(b.regex,o)},this),this.regExps[r]=new RegExp("("+n.join(")|(")+")|($)",o)}}return a.prototype.$setMaxTokenCount=function(l){k=0|l},a.prototype.$applyToken=function(l){var r=this.splitRegex.exec(l).slice(1),i=this.token.apply(this,r);if("string"==typeof i)return[{type:i,value:l}];for(var n=[],e=0,t=i.length;eg){var $=l.substring(g,v-d.length);p.type==b?p.value+=$:(p.type&&c.push(p),p={type:b,value:$})}for(var f=0;fk){for(w>2*l.length&&this.reportError("infinite loop with in ace tokenizer",{startState:r,line:l});g1&&i[0]!==n&&i.unshift("#tmp",n),{tokens:c,state:i.length?i:n}},a}();S.prototype.reportError=x.reportError,M.Tokenizer=S}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(E,M,H){"use strict";var x=E("../lib/lang"),k=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(l,r){if(r)for(var i in l){for(var n=l[i],e=0;e=this.$rowTokens.length;){if(this.$row+=1,a||(a=this.$session.getLength()),this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},S.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},S.prototype.getCurrentTokenRow=function(){return this.$row},S.prototype.getCurrentTokenColumn=function(){var a=this.$rowTokens,l=this.$tokenIndex,r=a[l].start;if(void 0!==r)return r;for(r=0;l>0;)r+=a[l-=1].value.length;return r},S.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},S.prototype.getCurrentTokenRange=function(){var a=this.$rowTokens[this.$tokenIndex],l=this.getCurrentTokenColumn();return new x(this.$row,l,this.$row,l+a.value.length)},S}();M.TokenIterator=k}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(E,M,H){"use strict";var i,x=E("../../lib/oop"),k=E("../behaviour").Behaviour,S=E("../../token_iterator").TokenIterator,a=E("../../lib/lang"),l=["text","paren.rparen","rparen","paren","punctuation.operator"],r=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],n={},e={'"':'"',"'":"'"},t=function(c){var g=-1;if(c.multiSelect&&(g=c.selection.index,n.rangeCount!=c.multiSelect.rangeCount&&(n={rangeCount:c.multiSelect.rangeCount})),n[g])return i=n[g];i=n[g]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},o=function(c,g,w,p){var b=c.end.row-c.start.row;return{text:w+g+p,selection:[0,c.start.column+1,b,c.end.column+(b?0:1)]}},s=function(c){c=c||{},this.add("braces","insertion",function(g,w,p,b,y){var d=p.getCursorPosition(),v=b.doc.getLine(d.row);if("{"==y){t(p);var $=p.getSelectionRange(),f=b.doc.getTextRange($);if(""!==f&&"{"!==f&&p.getWrapBehavioursEnabled())return o($,f,"{","}");if(s.isSaneInsertion(p,b))return/[\]\}\)]/.test(v[d.column])||p.inMultiSelectMode||c.braces?(s.recordAutoInsert(p,b,"}"),{text:"{}",selection:[1,1]}):(s.recordMaybeInsert(p,b,"{"),{text:"{",selection:[1,1]})}else if("}"==y){if(t(p),"}"==v.substring(d.column,d.column+1)&&null!==b.$findOpeningBracket("}",{column:d.column+1,row:d.row})&&s.isAutoInsertedClosing(d,v,y))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==y||"\r\n"==y){t(p);var m="";if(s.isMaybeInsertedClosing(d,v)&&(m=a.stringRepeat("}",i.maybeInsertedBrackets),s.clearMaybeInsertedClosing()),"}"===v.substring(d.column,d.column+1)){var h=b.findMatchingBracket({row:d.row,column:d.column+1},"}");if(!h)return null;var C=this.$getIndent(b.getLine(h.row))}else{if(!m)return void s.clearMaybeInsertedClosing();C=this.$getIndent(v)}var L=C+b.getTabString();return{text:"\n"+L+"\n"+C+m,selection:[1,L.length,1,L.length]}}s.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(g,w,p,b,y){var d=b.doc.getTextRange(y);if(!y.isMultiLine()&&"{"==d){if(t(p),"}"==b.doc.getLine(y.start.row).substring(y.end.column,y.end.column+1))return y.end.column++,y;i.maybeInsertedBrackets--}}),this.add("parens","insertion",function(g,w,p,b,y){if("("==y){t(p);var d=p.getSelectionRange(),v=b.doc.getTextRange(d);if(""!==v&&p.getWrapBehavioursEnabled())return o(d,v,"(",")");if(s.isSaneInsertion(p,b))return s.recordAutoInsert(p,b,")"),{text:"()",selection:[1,1]}}else if(")"==y){t(p);var $=p.getCursorPosition(),f=b.doc.getLine($.row);if(")"==f.substring($.column,$.column+1)&&null!==b.$findOpeningBracket(")",{column:$.column+1,row:$.row})&&s.isAutoInsertedClosing($,f,y))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("parens","deletion",function(g,w,p,b,y){var d=b.doc.getTextRange(y);if(!y.isMultiLine()&&"("==d&&(t(p),")"==b.doc.getLine(y.start.row).substring(y.start.column+1,y.start.column+2)))return y.end.column++,y}),this.add("brackets","insertion",function(g,w,p,b,y){if("["==y){t(p);var d=p.getSelectionRange(),v=b.doc.getTextRange(d);if(""!==v&&p.getWrapBehavioursEnabled())return o(d,v,"[","]");if(s.isSaneInsertion(p,b))return s.recordAutoInsert(p,b,"]"),{text:"[]",selection:[1,1]}}else if("]"==y){t(p);var $=p.getCursorPosition(),f=b.doc.getLine($.row);if("]"==f.substring($.column,$.column+1)&&null!==b.$findOpeningBracket("]",{column:$.column+1,row:$.row})&&s.isAutoInsertedClosing($,f,y))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("brackets","deletion",function(g,w,p,b,y){var d=b.doc.getTextRange(y);if(!y.isMultiLine()&&"["==d&&(t(p),"]"==b.doc.getLine(y.start.row).substring(y.start.column+1,y.start.column+2)))return y.end.column++,y}),this.add("string_dquotes","insertion",function(g,w,p,b,y){var d=b.$mode.$quotes||e;if(1==y.length&&d[y]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(y))return;t(p);var v=y,$=p.getSelectionRange(),f=b.doc.getTextRange($);if(""!==f&&(1!=f.length||!d[f])&&p.getWrapBehavioursEnabled())return o($,f,v,v);if(!f){var u=p.getCursorPosition(),A=b.doc.getLine(u.row),m=A.substring(u.column-1,u.column),h=A.substring(u.column,u.column+1),C=b.getTokenAt(u.row,u.column),L=b.getTokenAt(u.row,u.column+1);if("\\"==m&&C&&/escape/.test(C.type))return null;var _,T=C&&/string|escape/.test(C.type),R=!L||/string|escape/.test(L.type);if(h==v)(_=T!==R)&&/string\.end/.test(L.type)&&(_=!1);else{if(T&&!R||T&&R)return null;var O=b.$mode.tokenRe;O.lastIndex=0;var I=O.test(m);O.lastIndex=0;var W=O.test(h),D=b.$mode.$pairQuotesAfter;if(!(D&&D[v]&&D[v].test(m))&&I||W||h&&!/[\s;,.})\]\\]/.test(h))return null;var B=A[u.column-2];if(m==v&&(B==v||O.test(B)))return null;_=!0}return{text:_?v+v:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(g,w,p,b,y){var d=b.$mode.$quotes||e,v=b.doc.getTextRange(y);if(!y.isMultiLine()&&d.hasOwnProperty(v)&&(t(p),b.doc.getLine(y.start.row).substring(y.start.column+1,y.start.column+2)==v))return y.end.column++,y}),!1!==c.closeDocComment&&this.add("doc comment end","insertion",function(g,w,p,b,y){if("doc-start"===g&&("\n"===y||"\r\n"===y)&&p.selection.isEmpty()){var d=p.getCursorPosition(),v=b.doc.getLine(d.row),$=b.doc.getLine(d.row+1),f=this.$getIndent(v);if(/\s*\*/.test($))return/^\s*\*/.test(v)?{text:y+f+"* ",selection:[1,3+f.length,1,3+f.length]}:{text:y+f+" * ",selection:[1,3+f.length,1,3+f.length]};if(/\/\*\*/.test(v.substring(0,d.column)))return{text:y+f+" * "+y+" "+f+"*/",selection:[1,4+f.length,1,4+f.length]}}})};s.isSaneInsertion=function(c,g){var w=c.getCursorPosition(),p=new S(g,w.row,w.column);if(!this.$matchTokenType(p.getCurrentToken()||"text",l)){if(/[)}\]]/.test(c.session.getLine(w.row)[w.column]))return!0;var b=new S(g,w.row,w.column+1);if(!this.$matchTokenType(b.getCurrentToken()||"text",l))return!1}return p.stepForward(),p.getCurrentTokenRow()!==w.row||this.$matchTokenType(p.getCurrentToken()||"text",r)},s.$matchTokenType=function(c,g){return g.indexOf(c.type||c)>-1},s.recordAutoInsert=function(c,g,w){var p=c.getCursorPosition(),b=g.doc.getLine(p.row);this.isAutoInsertedClosing(p,b,i.autoInsertedLineEnd[0])||(i.autoInsertedBrackets=0),i.autoInsertedRow=p.row,i.autoInsertedLineEnd=w+b.substr(p.column),i.autoInsertedBrackets++},s.recordMaybeInsert=function(c,g,w){var p=c.getCursorPosition(),b=g.doc.getLine(p.row);this.isMaybeInsertedClosing(p,b)||(i.maybeInsertedBrackets=0),i.maybeInsertedRow=p.row,i.maybeInsertedLineStart=b.substr(0,p.column)+w,i.maybeInsertedLineEnd=b.substr(p.column),i.maybeInsertedBrackets++},s.isAutoInsertedClosing=function(c,g,w){return i.autoInsertedBrackets>0&&c.row===i.autoInsertedRow&&w===i.autoInsertedLineEnd[0]&&g.substr(c.column)===i.autoInsertedLineEnd},s.isMaybeInsertedClosing=function(c,g){return i.maybeInsertedBrackets>0&&c.row===i.maybeInsertedRow&&g.substr(c.column)===i.maybeInsertedLineEnd&&g.substr(0,c.column)==i.maybeInsertedLineStart},s.popAutoInsertedClosing=function(){i.autoInsertedLineEnd=i.autoInsertedLineEnd.substr(1),i.autoInsertedBrackets--},s.clearMaybeInsertedClosing=function(){i&&(i.maybeInsertedBrackets=0,i.maybeInsertedRow=-1)},x.inherits(s,k),M.CstyleBehaviour=s}),ace.define("ace/unicode",["require","exports","module"],function(E,M,H){"use strict";for(var x=[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],k=0,S=[],a=0;a2?B%y!=y-1:B%y==0}}else{if(!this.blockComment)return!1;v=this.blockComment.start;var $=this.blockComment.end,u=(f=new RegExp("^(\\s*)(?:"+r.escapeRegExp(v)+")"),new RegExp("(?:"+r.escapeRegExp($)+")\\s*$"));A=function(_,O){h(_,O)||(!w||/\S/.test(_))&&(g.insertInLine({row:O,column:_.length},$),g.insertInLine({row:O,column:b},v))},m=function(_,O){var I;(I=_.match(u))&&g.removeInLine(O,_.length-I[0].length,_.length),(I=_.match(f))&&g.removeInLine(O,I[1].length,I[0].length)},h=function(_,O){if(f.test(_))return!0;for(var I=o.getTokens(O),W=0;W_.length&&(R=_.length)}),b==1/0&&(b=R,w=!1,p=!1),d&&b%y!=0&&(b=Math.floor(b/y)*y),T(p?m:A)},this.toggleBlockComment=function(t,o,s,c){var g=this.blockComment;if(g){!g.start&&g[0]&&(g=g[0]);var d,v,p=(w=new i(o,c.row,c.column)).getCurrentToken(),y=o.selection.toOrientedRange();if(p&&/comment/.test(p.type)){for(var $,f;p&&/comment/.test(p.type);){if(-1!=(u=p.value.indexOf(g.start))){var A=w.getCurrentTokenRow(),m=w.getCurrentTokenColumn()+u;$=new n(A,m,A,m+g.start.length);break}p=w.stepBackward()}var w;for(p=(w=new i(o,c.row,c.column)).getCurrentToken();p&&/comment/.test(p.type);){var u;if(-1!=(u=p.value.indexOf(g.end))){A=w.getCurrentTokenRow(),m=w.getCurrentTokenColumn()+u,f=new n(A,m,A,m+g.end.length);break}p=w.stepForward()}f&&o.remove(f),$&&(o.remove($),d=$.start.row,v=-g.start.length)}else v=g.start.length,d=s.start.row,o.insert(s.end,g.end),o.insert(s.start,g.start);y.start.row==d&&(y.start.column+=v),y.end.row==d&&(y.end.column+=v),o.selection.fromOrientedRange(y)}},this.getNextLineIndent=function(t,o,s){return this.$getIndent(o)},this.checkOutdent=function(t,o,s){return!1},this.autoOutdent=function(t,o,s){},this.$getIndent=function(t){return t.match(/^\s*/)[0]},this.createWorker=function(t){return null},this.createModeDelegates=function(t){for(var o in this.$embeds=[],this.$modes={},t)if(t[o]){var s=t[o],c=s.prototype.$id,g=x.$modes[c];g||(x.$modes[c]=g=new s),x.$modes[o]||(x.$modes[o]=g),this.$embeds.push(o),this.$modes[o]=g}var w=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(o=0;o"u"?this.setPosition(n.row,n.column):this.setPosition(n,e)}return r.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},r.prototype.getDocument=function(){return this.document},r.prototype.onChange=function(i){if(!(i.start.row==i.end.row&&i.start.row!=this.row||i.start.row>this.row)){var n=function l(r,i,n){var e="insert"==r.action,t=(e?1:-1)*(r.end.row-r.start.row),o=(e?1:-1)*(r.end.column-r.start.column),s=r.start,c=e?s:r.end;return a(i,s,n)?{row:i.row,column:i.column}:a(c,i,!n)?{row:i.row+t,column:i.column+(i.row==c.row?o:0)}:{row:s.row,column:s.column}}(i,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},r.prototype.setPosition=function(i,n,e){var t;if(t=e?{row:i,column:n}:this.$clipPositionToDocument(i,n),this.row!=t.row||this.column!=t.column){var o={row:this.row,column:this.column};this.row=t.row,this.column=t.column,this._signal("change",{old:o,value:t})}},r.prototype.detach=function(){this.document.off("change",this.$onChange)},r.prototype.attach=function(i){this.document=i||this.document,this.document.on("change",this.$onChange)},r.prototype.$clipPositionToDocument=function(i,n){var e={};return i>=this.document.getLength()?(e.row=Math.max(0,this.document.getLength()-1),e.column=this.document.getLine(e.row).length):i<0?(e.row=0,e.column=0):(e.row=i,e.column=Math.min(this.document.getLine(e.row).length,Math.max(0,n))),n<0&&(e.column=0),e},r}();function a(r,i,n){return r.row=t&&(n=t-1,e=void 0);var o=this.getLine(n);return null==e&&(e=o.length),{row:n,column:e=Math.min(Math.max(e,0),o.length)}},i.prototype.clonePos=function(n){return{row:n.row,column:n.column}},i.prototype.pos=function(n,e){return{row:n,column:e}},i.prototype.$clipPosition=function(n){var e=this.getLength();return n.row>=e?(n.row=Math.max(0,e-1),n.column=this.getLine(e-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n},i.prototype.insertFullLines=function(n,e){var t=0;(n=Math.min(Math.max(n,0),this.getLength()))0,o=e=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})},i.prototype.replace=function(n,e){return n instanceof a||(n=a.fromPoints(n.start,n.end)),0===e.length&&n.isEmpty()?n.start:e==this.getTextRange(n)?n.end:(this.remove(n),e?this.insert(n.start,e):n.start)},i.prototype.applyDeltas=function(n){for(var e=0;e=0;e--)this.revertDelta(n[e])},i.prototype.applyDelta=function(n,e){var t="insert"==n.action;(t?n.lines.length<=1&&!n.lines[0]:!a.comparePoints(n.start,n.end))||(t&&n.lines.length>2e4?this.$splitAndapplyLargeDelta(n,2e4):(k(this.$lines,n,e),this._signal("change",n)))},i.prototype.$safeApplyDelta=function(n){var e=this.$lines.length;("remove"==n.action&&n.start.row20){i.running=setTimeout(i.$worker,20);break}}i.currentLine=e,-1==t&&(t=e),s<=t&&i.fireUpdateEvent(s,t)}}}return a.prototype.setTokenizer=function(l){this.tokenizer=l,this.lines=[],this.states=[],this.start(0)},a.prototype.setDocument=function(l){this.doc=l,this.lines=[],this.states=[],this.stop()},a.prototype.fireUpdateEvent=function(l,r){this._signal("update",{data:{first:l,last:r}})},a.prototype.start=function(l){this.currentLine=Math.min(l||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)},a.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},a.prototype.$updateOnChange=function(l){var r=l.start.row,i=l.end.row-r;if(0===i)this.lines[r]=null;else if("remove"==l.action)this.lines.splice(r,i+1,null),this.states.splice(r,i+1,null);else{var n=Array(i+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()},a.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},a.prototype.getTokens=function(l){return this.lines[l]||this.$tokenizeRow(l)},a.prototype.getState=function(l){return this.currentLine==l&&this.$tokenizeRow(l),this.states[l]||"start"},a.prototype.$tokenizeRow=function(l){var r=this.doc.getLine(l),n=this.tokenizer.getLineTokens(r,this.states[l-1],l);return this.states[l]+""!=n.state+""?(this.states[l]=n.state,this.lines[l+1]=null,this.currentLine>l+1&&(this.currentLine=l+1)):this.currentLine==l&&(this.currentLine=l+1),this.lines[l]=n.tokens},a.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},a}();x.implement(S.prototype,k),M.BackgroundTokenizer=S}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(E,M,H){"use strict";var x=E("./lib/lang"),k=E("./range").Range,S=function(){function a(l,r,i){void 0===i&&(i="text"),this.setRegexp(l),this.clazz=r,this.type=i}return a.prototype.setRegexp=function(l){this.regExp+""!=l+""&&(this.regExp=l,this.cache=[])},a.prototype.update=function(l,r,i,n){if(this.regExp)for(var t=n.lastRow,o={},s=n.firstRow;s<=t;s++){var c=this.cache[s];null==c&&((c=x.getMatchOffsets(i.getLine(s),this.regExp)).length>this.MAX_RANGES&&(c=c.slice(0,this.MAX_RANGES)),c=c.map(function(b){return new k(s,b.offset,s,b.offset+b.length)}),this.cache[s]=c.length?c:"");for(var g=c.length;g--;){var w=c[g].toScreenRange(i),p=w.toString();o[p]||(o[p]=!0,r.drawSingleLineMarker(l,w,this.clazz,n))}}},a}();S.prototype.MAX_RANGES=500,M.SearchHighlight=S}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(E,M,H){"use strict";var x=E("../range").Range,k=function(){function S(a,l){this.foldData=a,Array.isArray(l)?this.folds=l:l=this.folds=[l];var r=l[l.length-1];this.range=new x(l[0].start.row,l[0].start.column,r.end.row,r.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(i){i.setFoldLine(this)},this)}return S.prototype.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(l){l.start.row+=a,l.end.row+=a})},S.prototype.addFold=function(a){if(a.sameRow){if(a.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(a),this.folds.sort(function(l,r){return-l.range.compareEnd(r.start.row,r.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column)}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else{if(a.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column}a.foldLine=this},S.prototype.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},S.prototype.walk=function(a,l,r){var e,t,i=0,n=this.folds,s=!0;null==l&&(l=this.end.row,r=this.end.column);for(var c=0;c0)){var s=k(l,t.start);return 0===o?r&&0!==s?-e-2:e:s>0||0===s&&!r?e:-e-1}}return-e-1},a.prototype.add=function(l){var r=!l.isEmpty(),i=this.pointIndex(l.start,r);i<0&&(i=-i-1);var n=this.pointIndex(l.end,r,i);return n<0?n=-n-1:n++,this.ranges.splice(i,n-i,l)},a.prototype.addList=function(l){for(var r=[],i=l.length;i--;)r.push.apply(r,this.add(l[i]));return r},a.prototype.substractPoint=function(l){var r=this.pointIndex(l);if(r>=0)return this.ranges.splice(r,1)},a.prototype.merge=function(){for(var n,l=[],r=this.ranges,i=(r=r.sort(function(o,s){return k(o.start,s.start)}))[0],e=1;e=0},a.prototype.containsPoint=function(l){return this.pointIndex(l)>=0},a.prototype.rangeAtPoint=function(l){var r=this.pointIndex(l);if(r>=0)return this.ranges[r]},a.prototype.clipRows=function(l,r){var i=this.ranges;if(i[0].start.row>r||i[i.length-1].start.row=n);o++);if("insert"==l.action){for(var g=e-n,w=-r.column+i.column;on);o++)if(c.start.row==n&&c.start.column>=r.column&&(c.start.column==r.column&&this.$bias<=0||(c.start.column+=w,c.start.row+=g)),c.end.row==n&&c.end.column>=r.column){if(c.end.column==r.column&&this.$bias<0)continue;c.end.column==r.column&&w>0&&oc.start.column&&c.end.column==t[o+1].start.column&&(c.end.column-=w),c.end.column+=w,c.end.row+=g}}else for(g=n-e,w=r.column-i.column;oe);o++)c.end.rowr.column)&&(c.end.column=r.column,c.end.row=r.row):(c.end.column+=w,c.end.row+=g):c.end.row>e&&(c.end.row+=g),c.start.rowr.column)&&(c.start.column=r.column,c.start.row=r.row):(c.start.column+=w,c.start.row+=g):c.start.row>e&&(c.start.row+=g);if(0!=g&&o=i)return o;if(o.end.row>i)return null}return null},this.getNextFoldLine=function(i,n){var e=this.$foldData,t=0;for(n&&(t=e.indexOf(n)),-1==t&&(t=0);t=i)return o}return null},this.getFoldedRowCount=function(i,n){for(var e=this.$foldData,t=n-i+1,o=0;o=n){g=i?t-=n-g:t=0);break}c>=i&&(t-=g>=i?c-g:c-i+1)}return t},this.$addFoldLine=function(i){return this.$foldData.push(i),this.$foldData.sort(function(n,e){return n.start.row-e.start.row}),i},this.addFold=function(i,n){var o,e=this.$foldData,t=!1;i instanceof S?o=i:(o=new S(n,i)).collapseChildren=n.collapseChildren,this.$clipRangeToDocument(o.range);var s=o.start.row,c=o.start.column,g=o.end.row,w=o.end.column,p=this.getFoldAt(s,c,1),b=this.getFoldAt(g,w,-1);if(p&&b==p)return p.addSubFold(o);p&&!p.range.isStart(s,c)&&this.removeFold(p),b&&!b.range.isEnd(g,w)&&this.removeFold(b);var y=this.getFoldsInRange(o.range);y.length>0&&(this.removeFolds(y),o.collapseChildren||y.forEach(function(f){o.addSubFold(f)}));for(var d=0;d0&&this.foldAll(i.start.row+1,i.end.row,i.collapseChildren-1),i.subFolds=[]},this.expandFolds=function(i){i.forEach(function(n){this.expandFold(n)},this)},this.unfold=function(i,n){var e,t;if(null==i)e=new x(0,0,this.getLength(),0),null==n&&(n=!0);else if("number"==typeof i)e=new x(i,0,i,this.getLine(i).length);else if("row"in i)e=x.fromPoints(i,i);else{if(Array.isArray(i))return t=[],i.forEach(function(s){t=t.concat(this.unfold(s))},this),t;e=i}for(var o=t=this.getFoldsInRangeList(e);1==t.length&&x.comparePoints(t[0].start,e.start)<0&&x.comparePoints(t[0].end,e.end)>0;)this.expandFolds(t),t=this.getFoldsInRangeList(e);if(0!=n?this.removeFolds(t):this.expandFolds(t),o.length)return o},this.isRowFolded=function(i,n){return!!this.getFoldLine(i,n)},this.getRowFoldEnd=function(i,n){var e=this.getFoldLine(i,n);return e?e.end.row:i},this.getRowFoldStart=function(i,n){var e=this.getFoldLine(i,n);return e?e.start.row:i},this.getFoldDisplayLine=function(i,n,e,t,o){null==t&&(t=i.start.row),null==o&&(o=0),null==n&&(n=i.end.row),null==e&&(e=this.getLine(n).length);var s=this.doc,c="";return i.walk(function(g,w,p,b){if(!(ww)break}while(o&&c.test(o.type)&&!/^comment.start/.test(o.type));o=t.stepBackward()}else o=t.getCurrentToken();return g.end.row=t.getCurrentTokenRow(),g.end.column=t.getCurrentTokenColumn(),/^comment.end/.test(o.type)||(g.end.column+=o.value.length-2),g}},this.foldAll=function(i,n,e,t){null==e&&(e=1e5);var o=this.foldWidgets;if(o){n=n||this.getLength();for(var s=i=i||0;s=i&&(s=c.end.row,c.collapseChildren=e,this.addFold("...",c))}}},this.foldToLevel=function(i){for(this.foldAll();i-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var i=this;this.foldAll(null,null,null,function(n){for(var e=i.getTokens(n),t=0;t=0;){var s=e[t];if(null==s&&(s=e[t]=this.getFoldWidget(t)),"start"==s){var c=this.getFoldWidgetRange(t);if(o||(o=c),c&&c.end.row>=i)break}t--}return{range:-1!==t&&c,firstRange:o}},this.onFoldWidgetClick=function(i,n){if(n instanceof l&&(n=n.domEvent),!this.$toggleFoldWidget(i,{children:n.shiftKey,all:n.ctrlKey||n.metaKey,siblings:n.altKey})){var o=n.target||n.srcElement;o&&/ace_fold-widget/.test(o.className)&&(o.className+=" ace_invalid")}},this.$toggleFoldWidget=function(i,n){if(this.getFoldWidget){var e=this.getFoldWidget(i),t=this.getLine(i),o="end"===e?-1:1,s=this.getFoldAt(i,-1===o?0:t.length,o);if(s)return n.children||n.all?this.removeFold(s):this.expandFold(s),s;var c=this.getFoldWidgetRange(i,!0);if(c&&!c.isMultiLine()&&(s=this.getFoldAt(c.start.row,c.start.column,1))&&c.isEqual(s.range))return this.removeFold(s),s;if(n.siblings){var g=this.getParentFoldRangeData(i);if(g.range)var w=g.range.start.row+1,p=g.range.end.row;this.foldAll(w,p,n.all?1e4:0)}else n.children?(p=c?c.end.row:this.getLength(),this.foldAll(i+1,p,n.all?1e4:0)):c&&(n.all&&(c.collapseChildren=1e4),this.addFold("...",c));return c}},this.toggleFoldWidget=function(i){var n=this.selection.getCursor().row;n=this.getRowFoldStart(n);var e=this.$toggleFoldWidget(n,{});if(!e){var t=this.getParentFoldRangeData(n,!0);if(e=t.range||t.firstRange){var o=this.getFoldAt(n=e.start.row,this.getLine(n).length,1);o?this.removeFold(o):this.addFold("...",e)}}},this.updateFoldWidgets=function(i){var n=i.start.row,e=i.end.row-n;if(0===e)this.foldWidgets[n]=null;else if("remove"==i.action)this.foldWidgets.splice(n,e+1,null);else{var t=Array(e+1);t.unshift(n,1),this.foldWidgets.splice.apply(this.foldWidgets,t)}},this.tokenizerUpdateFoldWidgets=function(i){var n=i.data;n.first!=n.last&&this.foldWidgets.length>n.first&&this.foldWidgets.splice(n.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(E,M,H){"use strict";var x=E("../token_iterator").TokenIterator,k=E("../range").Range;M.BracketMatch=function S(){this.findMatchingBracket=function(a,l){if(0==a.column)return null;var r=l||this.getLine(a.row).charAt(a.column-1);if(""==r)return null;var i=r.match(/([\(\[\{])|([\)\]\}])/);return i?i[1]?this.$findClosingBracket(i[1],a):this.$findOpeningBracket(i[2],a):null},this.getBracketRange=function(a){var i,l=this.getLine(a.row),r=!0,n=l.charAt(a.column-1),e=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(e||(n=l.charAt(a.column),a={row:a.row,column:a.column+1},e=n&&n.match(/([\(\[\{])|([\)\]\}])/),r=!1),!e)return null;if(e[1]){if(!(t=this.$findClosingBracket(e[1],a)))return null;i=k.fromPoints(a,t),r||(i.end.column++,i.start.column--),i.cursor=i.end}else{var t;if(!(t=this.$findOpeningBracket(e[2],a)))return null;i=k.fromPoints(t,a),r||(i.start.column++,i.end.column--),i.cursor=i.start}return i},this.getMatchingBracketRanges=function(a,l){var r=this.getLine(a.row),i=/([\(\[\{])|([\)\]\}])/,n=!l&&r.charAt(a.column-1),e=n&&n.match(i);if(e||(n=(void 0===l||l)&&r.charAt(a.column),a={row:a.row,column:a.column+1},e=n&&n.match(i)),!e)return null;var t=new k(a.row,a.column-1,a.row,a.column),o=e[1]?this.$findClosingBracket(e[1],a):this.$findOpeningBracket(e[2],a);return o?[t,new k(o.row,o.column,o.row,o.column+1)]:[t]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(a,l,r){var i=this.$brackets[a],n=1,e=new x(this,l.row,l.column),t=e.getCurrentToken();if(t||(t=e.stepForward()),t){r||(r=new RegExp("(\\.?"+t.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var o=l.column-e.getCurrentTokenColumn()-2,s=t.value;;){for(;o>=0;){var c=s.charAt(o);if(c==i){if(0==(n-=1))return{row:e.getCurrentTokenRow(),column:o+e.getCurrentTokenColumn()}}else c==a&&(n+=1);o-=1}do{t=e.stepBackward()}while(t&&!r.test(t.type));if(null==t)break;o=(s=t.value).length-1}return null}},this.$findClosingBracket=function(a,l,r){var i=this.$brackets[a],n=1,e=new x(this,l.row,l.column),t=e.getCurrentToken();if(t||(t=e.stepForward()),t){r||(r=new RegExp("(\\.?"+t.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var o=l.column-e.getCurrentTokenColumn();;){for(var s=t.value,c=s.length;o"===l.value?i=!0:-1!==l.type.indexOf("tag-name")&&(r=!0))}while(l&&!r);return l},this.$findClosingTag=function(a,l){var r,i=l.value,n=l.value,e=0,t=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);l=a.stepForward();var o=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length),s=!1;do{if(r=l,l=a.stepForward()){if(">"===l.value&&!s){var c=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);s=!0}if(-1!==l.type.indexOf("tag-name")){if(n===(i=l.value))if("<"===r.value)e++;else if(""!==l.value)return;var p=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1)}}else n===i&&"/>"===l.value&&--e<0&&(p=w=g=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2),c=new k(o.end.row,o.end.column,o.end.row,o.end.column+1))}}while(l&&e>=0);if(t&&c&&g&&p&&o&&w)return{openTag:new k(t.start.row,t.start.column,c.end.row,c.end.column),closeTag:new k(g.start.row,g.start.column,p.end.row,p.end.column),openTagName:o,closeTagName:w}},this.$findOpeningTag=function(a,l){var r=a.getCurrentToken(),i=l.value,n=0,e=a.getCurrentTokenRow(),t=a.getCurrentTokenColumn(),o=t+2,s=new k(e,t,e,o);a.stepForward();var c=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length);if((l=a.stepForward())&&">"===l.value){var g=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);a.stepBackward(),a.stepBackward();do{if(l=r,e=a.getCurrentTokenRow(),o=(t=a.getCurrentTokenColumn())+l.value.length,r=a.stepBackward(),l)if(-1!==l.type.indexOf("tag-name")){if(i===l.value)if("<"===r.value){if(++n>0){var w=new k(e,t,e,o),p=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);do{l=a.stepForward()}while(l&&">"!==l.value);var b=new k(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1)}}else""===l.value){for(var y=0,d=r;d;){if(-1!==d.type.indexOf("tag-name")&&d.value===i){n--;break}if("<"===d.value)break;d=a.stepBackward(),y++}for(var v=0;vm&&(this.$docRowCache.splice(m,A),this.$screenRowCache.splice(m,A))},f.prototype.$getRowCacheIndex=function(u,A){for(var m=0,h=u.length-1;m<=h;){var C=m+h>>1,L=u[C];if(A>L)m=C+1;else{if(!(A=A);L++);return(h=m[L])?(h.index=L,h.start=C-h.value.length,h):null},f.prototype.setUndoManager=function(u){if(this.$undoManager=u,this.$informUndoManager&&this.$informUndoManager.cancel(),u){var A=this;u.addSession(this),this.$syncInformUndoManager=function(){A.$informUndoManager.cancel(),A.mergeUndoDeltas=!1},this.$informUndoManager=k.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()?k.stringRepeat(" ",this.getTabSize()):"\t"},f.prototype.setUseSoftTabs=function(u){this.setOption("useSoftTabs",u)},f.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},f.prototype.setTabSize=function(u){this.setOption("tabSize",u)},f.prototype.getTabSize=function(){return this.$tabSize},f.prototype.isTabStop=function(u){return this.$useSoftTabs&&u.column%this.$tabSize==0},f.prototype.setNavigateWithinSoftTabs=function(u){this.setOption("navigateWithinSoftTabs",u)},f.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},f.prototype.setOverwrite=function(u){this.setOption("overwrite",u)},f.prototype.getOverwrite=function(){return this.$overwrite},f.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},f.prototype.addGutterDecoration=function(u,A){this.$decorations[u]||(this.$decorations[u]=""),this.$decorations[u]+=" "+A,this._signal("changeBreakpoint",{})},f.prototype.removeGutterDecoration=function(u,A){this.$decorations[u]=(this.$decorations[u]||"").replace(" "+A,""),this._signal("changeBreakpoint",{})},f.prototype.getBreakpoints=function(){return this.$breakpoints},f.prototype.setBreakpoints=function(u){this.$breakpoints=[];for(var A=0;A0&&(h=!!m.charAt(A-1).match(this.tokenRe)),h||(h=!!m.charAt(A).match(this.tokenRe)),h)var C=this.tokenRe;else C=/^\s+$/.test(m.slice(A-1,A+1))?/\s/:this.nonTokenRe;var L=A;if(L>0){do{L--}while(L>=0&&m.charAt(L).match(C));L++}for(var T=A;Tu&&(u=A.screenWidth)}),this.lineWidgetWidth=u},f.prototype.$computeWidth=function(u){if(this.$modified||u){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var A=this.doc.getAllLines(),m=this.$rowLengthCache,h=0,C=0,L=this.$foldData[C],T=L?L.start.row:1/0,R=A.length,_=0;_T){if((_=L.end.row+1)>=R)break;T=(L=this.$foldData[C++])?L.start.row:1/0}null==m[_]&&(m[_]=this.$getStringScreenWidth(A[_])[0]),m[_]>h&&(h=m[_])}this.screenWidth=h}},f.prototype.getLine=function(u){return this.doc.getLine(u)},f.prototype.getLines=function(u,A){return this.doc.getLines(u,A)},f.prototype.getLength=function(){return this.doc.getLength()},f.prototype.getTextRange=function(u){return this.doc.getTextRange(u||this.selection.getRange())},f.prototype.insert=function(u,A){return this.doc.insert(u,A)},f.prototype.remove=function(u){return this.doc.remove(u)},f.prototype.removeFullLines=function(u,A){return this.doc.removeFullLines(u,A)},f.prototype.undoChanges=function(u,A){if(u.length){this.$fromUndo=!0;for(var m=u.length-1;-1!=m;m--){var h=u[m];"insert"==h.action||"remove"==h.action?this.doc.revertDelta(h):h.folds&&this.addFolds(h.folds)}!A&&this.$undoSelect&&(u.selectionBefore?this.selection.fromJSON(u.selectionBefore):this.selection.setRange(this.$getUndoSelection(u,!0))),this.$fromUndo=!1}},f.prototype.redoChanges=function(u,A){if(u.length){this.$fromUndo=!0;for(var m=0;mu.end.column&&(L.start.column+=R),L.end.row==u.end.row&&L.end.column>u.end.column&&(L.end.column+=R)),T&&L.start.row>=u.end.row&&(L.start.row+=T,L.end.row+=T)),L.end=this.insert(L.start,h),C.length){var _=u.start,O=L.start,T=O.row-_.row,R=O.column-_.column;this.addFolds(C.map(function(D){return(D=D.clone()).start.row==_.row&&(D.start.column+=R),D.end.row==_.row&&(D.end.column+=R),D.start.row+=T,D.end.row+=T,D}))}return L},f.prototype.indentRows=function(u,A,m){m=m.replace(/\t/g,this.getTabString());for(var h=u;h<=A;h++)this.doc.insertInLine({row:h,column:0},m)},f.prototype.outdentRows=function(u){for(var A=u.collapseRows(),m=new n(0,0,0,0),h=this.getTabSize(),C=A.start.row;C<=A.end.row;++C){var L=this.getLine(C);m.start.row=C,m.end.row=C;for(var T=0;T0){var h;if((h=this.getRowFoldEnd(A+m))>this.doc.getLength()-1)return 0;C=h-A}else u=this.$clipRowToDocument(u),C=(A=this.$clipRowToDocument(A))-u+1;var L=new n(u,0,A,Number.MAX_VALUE),T=this.getFoldsInRange(L).map(function(_){return(_=_.clone()).start.row+=C,_.end.row+=C,_}),R=0==m?this.doc.getLines(u,A):this.doc.removeFullLines(u,A);return this.doc.insertFullLines(u+C,R),T.length&&this.addFolds(T),C},f.prototype.moveLinesUp=function(u,A){return this.$moveLines(u,A,-1)},f.prototype.moveLinesDown=function(u,A){return this.$moveLines(u,A,1)},f.prototype.duplicateLines=function(u,A){return this.$moveLines(u,A,0)},f.prototype.$clipRowToDocument=function(u){return Math.max(0,Math.min(u,this.doc.getLength()-1))},f.prototype.$clipColumnToRow=function(u,A){return A<0?0:Math.min(this.doc.getLine(u).length,A)},f.prototype.$clipPositionToDocument=function(u,A){if(A=Math.max(0,A),u<0)u=0,A=0;else{var m=this.doc.getLength();u>=m?(u=m-1,A=this.doc.getLine(m-1).length):A=Math.min(this.doc.getLine(u).length,A)}return{row:u,column:A}},f.prototype.$clipRangeToDocument=function(u){u.start.row<0?(u.start.row=0,u.start.column=0):u.start.column=this.$clipColumnToRow(u.start.row,u.start.column);var A=this.doc.getLength()-1;return u.end.row>A?(u.end.row=A,u.end.column=this.doc.getLine(A).length):u.end.column=this.$clipColumnToRow(u.end.row,u.end.column),u},f.prototype.setUseWrapMode=function(u){if(u!=this.$useWrapMode){if(this.$useWrapMode=u,this.$modified=!0,this.$resetRowCache(0),u){var A=this.getLength();this.$wrapData=Array(A),this.$updateWrapData(0,A-1)}this._signal("changeWrapMode")}},f.prototype.getUseWrapMode=function(){return this.$useWrapMode},f.prototype.setWrapLimitRange=function(u,A){(this.$wrapLimitRange.min!==u||this.$wrapLimitRange.max!==A)&&(this.$wrapLimitRange={min:u,max:A},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},f.prototype.adjustWrapLimit=function(u,A){var m=this.$wrapLimitRange;m.max<0&&(m={min:A,max:A});var h=this.$constrainWrapLimit(u,m.min,m.max);return h!=this.$wrapLimit&&h>1&&(this.$wrapLimit=h,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},f.prototype.$constrainWrapLimit=function(u,A,m){return A&&(u=Math.max(A,u)),m&&(u=Math.min(m,u)),u},f.prototype.getWrapLimit=function(){return this.$wrapLimit},f.prototype.setWrapLimit=function(u){this.setWrapLimitRange(u,u)},f.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},f.prototype.$updateInternalDataOnChange=function(u){var A=this.$useWrapMode,m=u.action,h=u.start,C=u.end,L=h.row,T=C.row,R=T-L,_=null;if(this.$updating=!0,0!=R)if("remove"===m){this[A?"$wrapData":"$rowLengthCache"].splice(L,R);var O=this.$foldData;_=this.getFoldsInRange(u),this.removeFolds(_);var W=0;if(I=this.getFoldLine(C.row)){I.addRemoveChars(C.row,C.column,h.column-C.column),I.shiftRow(-R);var D=this.getFoldLine(L);D&&D!==I&&(D.merge(I),I=D),W=O.indexOf(I)+1}for(;W=C.row&&I.shiftRow(-R);T=L}else{var F=Array(R);F.unshift(L,0);var B=A?this.$wrapData:this.$rowLengthCache;if(B.splice.apply(B,F),O=this.$foldData,W=0,I=this.getFoldLine(L)){var V=I.range.compareInside(h.row,h.column);0==V?(I=I.split(h.row,h.column))&&(I.shiftRow(R),I.addRemoveChars(T,0,C.column-h.column)):-1==V&&(I.addRemoveChars(L,0,C.column-h.column),I.shiftRow(R)),W=O.indexOf(I)+1}for(;W=L&&I.shiftRow(R)}}else R=Math.abs(u.start.column-u.end.column),"remove"===m&&(_=this.getFoldsInRange(u),this.removeFolds(_),R=-R),(I=this.getFoldLine(L))&&I.addRemoveChars(L,h.column,R);return A&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,A?this.$updateWrapData(L,T):this.$updateRowLengthCache(L,T),_},f.prototype.$updateRowLengthCache=function(u,A,m){this.$rowLengthCache[u]=null,this.$rowLengthCache[A]=null},f.prototype.$updateWrapData=function(u,A){var T,R,m=this.doc.getAllLines(),h=this.getTabSize(),C=this.$wrapData,L=this.$wrapLimit,_=u;for(A=Math.min(A,m.length-1);_<=A;)(R=this.getFoldLine(_,R))?(T=[],R.walk(function(O,I,W,D){var F;if(null!=O){(F=this.$getDisplayTokens(O,T.length))[0]=w;for(var B=1;BA-D;){var F=L+A-D;if(u[F-1]>=y&&u[F]>=y)W(F);else if(u[F]!=w&&u[F]!=p){for(var B=Math.max(F-(A-(A>>2)),L-1);F>B&&u[F]B&&u[F]B&&u[F]==b;)F--}else for(;F>B&&u[F]B?W(++F):(u[F=L+A]==g&&F--,W(F-D))}else{for(;F!=L-1&&u[F]!=w;F--);if(F>L){W(F);continue}for(F=L+A;F39&&L<48||L>57&&L<64?m.push(b):L>=4352&&$(L)?m.push(c,g):m.push(c)}return m},f.prototype.$getStringScreenWidth=function(u,A,m){if(0==A)return[0,0];var h,C;for(null==A&&(A=1/0),m=m||0,C=0;C=4352&&$(h)?m+=2:m+=1,!(m>A));C++);return[m,C]},f.prototype.getRowLength=function(u){var A=1;return this.lineWidgets&&(A+=this.lineWidgets[u]&&this.lineWidgets[u].rowCount||0),this.$useWrapMode&&this.$wrapData[u]?this.$wrapData[u].length+A:A},f.prototype.getRowLineCount=function(u){return this.$useWrapMode&&this.$wrapData[u]?this.$wrapData[u].length+1:1},f.prototype.getRowWrapIndent=function(u){if(this.$useWrapMode){var A=this.screenToDocumentPosition(u,Number.MAX_VALUE),m=this.$wrapData[A.row];return m.length&&m[0]=0){R=O[I],C=this.$docRowCache[I];var D=u>O[W-1]}else D=!W;for(var F=this.getLength()-1,B=this.getNextFoldLine(C),V=B?B.start.row:1/0;R<=u&&!(R+(_=this.getRowLength(C))>u||C>=F);)R+=_,++C>V&&(V=(B=this.getNextFoldLine(C=B.end.row+1,B))?B.start.row:1/0),D&&(this.$docRowCache.push(C),this.$screenRowCache.push(R));if(B&&B.start.row<=C)h=this.getFoldDisplayLine(B),C=B.start.row;else{if(R+_<=u||C>F)return{row:F,column:this.getLine(F).length};h=this.getLine(C),B=null}var P=0,G=Math.floor(u-R);if(this.$useWrapMode){var z=this.$wrapData[C];z&&(T=z[G],G>0&&z.length&&(P=z.indent,h=h.substring(L=z[G-1]||z[z.length-1])))}return void 0!==m&&this.$bidiHandler.isBidiRow(R+G,C,G)&&(A=this.$bidiHandler.offsetToCol(m)),L+=this.$getStringScreenWidth(h,A-P)[1],this.$useWrapMode&&L>=T&&(L=T-1),B?B.idxToPosition(L):{row:C,column:L}},f.prototype.documentToScreenPosition=function(u,A){if(typeof A>"u")var m=this.$clipPositionToDocument(u.row,u.column);else m=this.$clipPositionToDocument(u,A);var L,h=0,C=null;(L=this.getFoldAt(u=m.row,A=m.column,1))&&(u=L.start.row,A=L.start.column);var T,R=0,_=this.$docRowCache,O=this.$getRowCacheIndex(_,u),I=_.length;if(I&&O>=0){R=_[O],h=this.$screenRowCache[O];var W=u>_[I-1]}else W=!I;for(var D=this.getNextFoldLine(R),F=D?D.start.row:1/0;R=F){if((T=D.end.row+1)>u)break;F=(D=this.getNextFoldLine(T,D))?D.start.row:1/0}else T=R+1;h+=this.getRowLength(R),R=T,W&&(this.$docRowCache.push(R),this.$screenRowCache.push(h))}var B="";D&&R>=F?(B=this.getFoldDisplayLine(D,u,A),C=D.start.row):(B=this.getLine(u).substring(0,A),C=u);var V=0;if(this.$useWrapMode){var P=this.$wrapData[C];if(P){for(var G=0;B.length>=P[G];)h++,G++;B=B.substring(P[G-1]||0,B.length),V=G>0?P.indent:0}}return this.lineWidgets&&this.lineWidgets[R]&&this.lineWidgets[R].rowsAbove&&(h+=this.lineWidgets[R].rowsAbove),{row:h,column:V+this.$getStringScreenWidth(B)[0]}},f.prototype.documentToScreenColumn=function(u,A){return this.documentToScreenPosition(u,A).column},f.prototype.documentToScreenRow=function(u,A){return this.documentToScreenPosition(u,A).row},f.prototype.getScreenLength=function(){var u=0,A=null;if(this.$useWrapMode)for(var C=this.$wrapData.length,L=0,h=0,T=(A=this.$foldData[h++])?A.start.row:1/0;LT&&(L=A.end.row+1,T=(A=this.$foldData[h++])?A.start.row:1/0)}else{u=this.getLength();var m=this.$foldData;for(h=0;hm);L++);return[h,L]})},f.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection.detach()},f}();s.$uid=0,s.prototype.$modes=a.$modes,s.prototype.getValue=s.prototype.toString,s.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},s.prototype.$overwrite=!1,s.prototype.$mode=null,s.prototype.$modeId=null,s.prototype.$scrollTop=0,s.prototype.$scrollLeft=0,s.prototype.$wrapLimit=80,s.prototype.$useWrapMode=!1,s.prototype.$wrapLimitRange={min:null,max:null},s.prototype.lineWidgets=null,s.prototype.isFullWidth=$,x.implement(s.prototype,l);var c=1,g=2,w=3,p=4,b=9,y=10,d=11,v=12;function $(f){return!(f<4352)&&(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)}E("./edit_session/folding").Folding.call(s.prototype),E("./edit_session/bracket_match").BracketMatch.call(s.prototype),a.defineOptions(s.prototype,"session",{wrap:{set:function(f){if(f&&"off"!=f?"free"==f?f=!0:"printMargin"==f?f=-1:"string"==typeof f&&(f=parseInt(f,10)||!1):f=!1,this.$wrap!=f)if(this.$wrap=f,f){var u="number"==typeof f?f:null;this.setWrapLimitRange(u,u),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(f){(f="auto"==f?"text"!=this.$mode.type:"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))>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}}),M.EditSession=s}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(E,M,H){"use strict";var x=E("./lib/lang"),k=E("./lib/oop"),S=E("./range").Range,a=function(){function r(){this.$options={}}return r.prototype.set=function(i){return k.mixin(this.$options,i),this},r.prototype.getOptions=function(){return x.copyObject(this.$options)},r.prototype.setOptions=function(i){this.$options=i},r.prototype.find=function(i){var n=this.$options,e=this.$matchIterator(i,n);if(!e)return!1;var t=null;return e.forEach(function(o,s,c,g){return t=new S(o,s,c,g),!(s==g&&n.start&&n.start.start&&0!=n.skipCurrent&&t.isEqual(n.start)&&(t=null,1))}),t},r.prototype.findAll=function(i){var n=this.$options;if(!n.needle)return[];this.$assembleRegExp(n);var e=n.range,t=e?i.getLines(e.start.row,e.end.row):i.doc.getAllLines(),o=[],s=n.re;if(n.$isMultiLine){var w,c=s.length,g=t.length-c;e:for(var p=s.offset||0;p<=g;p++){for(var b=0;bv||(o.push(w=new S(p,v,p+c-1,$)),c>2&&(p=p+c-2))}}else for(var f=0;fh&&o[b].end.row==C;)b--;for(o=o.slice(f,b+1),f=0,b=o.length;f=g;v--)if(y(v,Number.MAX_VALUE,d))return;if(0!=n.wrap)for(v=w,g=c.row;v>=g;v--)if(y(v,Number.MAX_VALUE,d))return}};else p=function(v){var $=c.row;if(!y($,c.column,v)){for($+=1;$<=w;$++)if(y($,0,v))return;if(0!=n.wrap)for($=g,w=c.row;$<=w;$++)if(y($,0,v))return}};if(n.$isMultiLine)var b=e.length,y=function(d,v,$){var f=t?d-b+1:d;if(!(f<0||f+b>i.getLength())){var u=i.getLine(f),A=u.search(e[0]);if(!(!t&&Av)&&$(f,A,f+b-1,h))return!0}}};else y=t?function(v,$,f){var m,u=i.getLine(v),A=[],h=0;for(e.lastIndex=0;m=e.exec(u);){if(h=m.index,!(C=m[0].length)){if(h>=u.length)break;e.lastIndex=h+=1}if(m.index+C>$)break;A.push(m.index,C)}for(var L=A.length-1;L>=0;L-=2){var C,T=A[L-1];if(f(v,T,v,T+(C=A[L])))return!0}}:function(v,$,f){var A,m,u=i.getLine(v);for(e.lastIndex=$;m=e.exec(u);){var h=m[0].length;if(f(v,A=m.index,v,A+h))return!0;if(!h&&(e.lastIndex=A+=1,A>=u.length))return!1}};return{forEach:p}},r}();M.Search=a}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(E,M,H){"use strict";var n,x=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var c in s)Object.prototype.hasOwnProperty.call(s,c)&&(o[c]=s[c])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),k=E("../lib/keys"),S=E("../lib/useragent"),a=k.KEY_MODS,l=function(){function n(e,t){this.$init(e,t,!1)}return n.prototype.$init=function(e,t,o){this.platform=t||(S.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=o},n.prototype.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},n.prototype.removeCommand=function(e,t){var o=e&&("string"==typeof e?e:e.name);e=this.commands[o],t||delete this.commands[o];var s=this.commandKeyBinding;for(var c in s){var g=s[c];if(g==e)delete s[c];else if(Array.isArray(g)){var w=g.indexOf(e);-1!=w&&(g.splice(w,1),1==g.length&&(s[c]=g[0]))}}},n.prototype.bindKey=function(e,t,o){if("object"==typeof e&&e&&(null==o&&(o=e.position),e=e[this.platform]),e){if("function"==typeof t)return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(s){var c="";if(-1!=s.indexOf(" ")){var g=s.split(/\s+/);s=g.pop(),g.forEach(function(b){var y=this.parseKeys(b);this._addCommandToBinding(c+=(c?" ":"")+(a[y.hashId]+y.key),"chainKeys")},this),c+=" "}var w=this.parseKeys(s);this._addCommandToBinding(c+(a[w.hashId]+w.key),t,o)},this)}},n.prototype._addCommandToBinding=function(e,t,o){var c,s=this.commandKeyBinding;if(t)if(!s[e]||this.$singleCommand)s[e]=t;else{Array.isArray(s[e])?-1!=(c=s[e].indexOf(t))&&s[e].splice(c,1):s[e]=[s[e]],"number"!=typeof o&&(o=r(t));var g=s[e];for(c=0;co);c++);g.splice(c,0,t)}else delete s[e]},n.prototype.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var o=e[t];if(o){if("string"==typeof o)return this.bindKey(o,t);"function"==typeof o&&(o={exec:o}),"object"==typeof o&&(o.name||(o.name=t),this.addCommand(o))}},this)},n.prototype.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},n.prototype.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},n.prototype._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},n.prototype.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(p){return p}),o=t.pop(),s=k[o];if(k.FUNCTION_KEYS[s])o=k.FUNCTION_KEYS[s].toLowerCase();else{if(!t.length)return{key:o,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:o.toUpperCase(),hashId:-1}}for(var c=0,g=t.length;g--;){var w=k.KEY_MODS[t[g]];if(null==w)return typeof console<"u"&&console.error("invalid modifier "+t[g]+" in "+e),!1;c|=w}return{key:o,hashId:c}},n.prototype.findKeyCommand=function(e,t){return this.commandKeyBinding[a[e]+t]},n.prototype.handleKeyboard=function(e,t,o,s){if(!(s<0)){var c=a[t]+o,g=this.commandKeyBinding[c];return e.$keyChain&&(e.$keyChain+=" "+c,g=this.commandKeyBinding[e.$keyChain]||g),!g||"chainKeys"!=g&&"chainKeys"!=g[g.length-1]?(e.$keyChain&&(t&&4!=t||1!=o.length?(-1==t||s>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-c.length-1)),{command:g}):(e.$keyChain=e.$keyChain||c,{command:"null"})}},n.prototype.getStatusText=function(e,t){return t.$keyChain||""},n}();function r(n){return"object"==typeof n&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}var i=function(n){function e(t,o){var s=n.call(this,t,o)||this;return s.$singleCommand=!0,s}return x(e,n),e}(l);i.call=function(n,e,t){l.prototype.$init.call(n,e,t,!0)},l.call=function(n,e,t){l.prototype.$init.call(n,e,t,!1)},M.HashHandler=i,M.MultiHashHandler=l}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(E,M,H){"use strict";var r,x=this&&this.__extends||(r=function(i,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])})(i,n)},function(i,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function e(){this.constructor=i}r(i,n),i.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}),k=E("../lib/oop"),S=E("../keyboard/hash_handler").MultiHashHandler,a=E("../lib/event_emitter").EventEmitter,l=function(r){function i(n,e){var t=r.call(this,e,n)||this;return t.byName=t.commands,t.setDefaultHandler("exec",function(o){return o.args?o.command.exec(o.editor,o.args,o.event,!1):o.command.exec(o.editor,{},o.event,!0)}),t}return x(i,r),i.prototype.exec=function(n,e,t){if(Array.isArray(n)){for(var o=n.length;o--;)if(this.exec(n[o],e,t))return!0;return!1}if("string"==typeof n&&(n=this.commands[n]),!n||e&&e.$readOnly&&!n.readOnly||0!=this.$checkCommandState&&n.isAvailable&&!n.isAvailable(e))return!1;var s={editor:e,command:n,args:t};return s.returnValue=this._emit("exec",s),this._signal("afterExec",s),!1!==s.returnValue},i.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(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},i.prototype.replay=function(n){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0,this.macro.forEach(function(e){"string"==typeof e?this.exec(e,n):this.exec(e[0],n,e[1])},this)}finally{this.$inReplay=!1}}},i.prototype.trimMacro=function(n){return n.map(function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})},i}(S);k.implement(l.prototype,a),M.CommandManager=l}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(E,M,H){"use strict";var x=E("../lib/lang"),k=E("../config"),S=E("../range").Range;function a(r,i){return{win:r,mac:i}}M.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:a("Ctrl-,","Command-,"),exec:function(r){k.loadModule("ace/ext/settings_menu",function(i){i.init(r),r.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:a("Alt-E","F4"),exec:function(r){k.loadModule("ace/ext/error_marker",function(i){i.showErrorMarker(r,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:a("Alt-Shift-E","Shift-F4"),exec:function(r){k.loadModule("ace/ext/error_marker",function(i){i.showErrorMarker(r,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:a("Ctrl-A","Command-A"),exec:function(r){r.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:a(null,"Ctrl-L"),exec:function(r){r.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:a("Ctrl-L","Command-L"),exec:function(r,i){"number"==typeof i&&!isNaN(i)&&r.gotoLine(i),r.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:a("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:a("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:a("F2","F2"),exec:function(r){r.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:a("Alt-F2","Alt-F2"),exec:function(r){r.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:a("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:a("Alt-Shift-0","Command-Option-Shift-0"),exec:function(r){r.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:a("Ctrl-K","Command-G"),exec:function(r){r.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:a("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:a("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:a("Alt-Shift-K","Ctrl-Shift-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:a("Ctrl-F","Command-F"),exec:function(r){k.loadModule("ace/ext/searchbox",function(i){i.Search(r)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(r){r.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:a("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:a("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:a("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:a("Up","Up|Ctrl-P"),exec:function(r,i){r.navigateUp(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:a("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:a("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:a("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:a("Down","Down|Ctrl-N"),exec:function(r,i){r.navigateDown(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:a("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:a("Ctrl-Left","Option-Left"),exec:function(r){r.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:a("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:a("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:a("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:a("Left","Left|Ctrl-B"),exec:function(r,i){r.navigateLeft(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:a("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:a("Ctrl-Right","Option-Right"),exec:function(r){r.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:a("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:a("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:a("Shift-Right","Shift-Right"),exec:function(r){r.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:a("Right","Right|Ctrl-F"),exec:function(r,i){r.navigateRight(i.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:a(null,"Option-PageDown"),exec:function(r){r.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:a("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:a(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:a("Ctrl-Up",null),exec:function(r){r.renderer.scrollBy(0,-2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:a("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:a("Ctrl-Alt-E","Command-Option-E"),exec:function(r){r.commands.toggleRecording(r)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:a("Ctrl-Shift-E","Command-Shift-E"),exec:function(r){r.commands.replay(r)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:a("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(r){r.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:a("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:a("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:a(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 n=r.$copyWithEmptySelection&&r.selection.isEmpty()?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,i){r.$handlePaste(i)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:a("Ctrl-D","Command-D"),exec:function(r){r.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:a("Ctrl-Shift-D","Command-Shift-D"),exec:function(r){r.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:a("Ctrl-Alt-S","Command-Alt-S"),exec:function(r){r.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:a("Ctrl-/","Command-/"),exec:function(r){r.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:a("Ctrl-Shift-/","Command-Shift-/"),exec:function(r){r.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:a("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(r){r.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:a("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(r){r.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:a("Ctrl-H","Command-Option-F"),exec:function(r){k.loadModule("ace/ext/searchbox",function(i){i.Search(r,!0)})}},{name:"undo",description:"Undo",bindKey:a("Ctrl-Z","Command-Z"),exec:function(r){r.undo()}},{name:"redo",description:"Redo",bindKey:a("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(r){r.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:a("Alt-Shift-Up","Command-Option-Up"),exec:function(r){r.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:a("Alt-Up","Option-Up"),exec:function(r){r.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:a("Alt-Shift-Down","Command-Option-Down"),exec:function(r){r.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:a("Alt-Down","Option-Down"),exec:function(r){r.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:a("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(r){r.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:a("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:a("Shift-Delete",null),exec:function(r){if(!r.selection.isEmpty())return!1;r.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:a("Alt-Backspace","Command-Backspace"),exec:function(r){r.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:a("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(r){r.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:a("Ctrl-Shift-Backspace",null),exec:function(r){var i=r.selection.getRange();i.start.column=0,r.session.remove(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:a("Ctrl-Shift-Delete",null),exec:function(r){var i=r.selection.getRange();i.end.column=Number.MAX_VALUE,r.session.remove(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:a("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(r){r.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:a("Ctrl-Delete","Alt-Delete"),exec:function(r){r.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:a("Shift-Tab","Shift-Tab"),exec:function(r){r.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:a("Tab","Tab"),exec:function(r){r.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:a("Ctrl-[","Ctrl-["),exec:function(r){r.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:a("Ctrl-]","Ctrl-]"),exec:function(r){r.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(r,i){r.insert(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(r,i){r.insert(x.stringRepeat(i.text||"",i.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:a(null,"Ctrl-O"),exec:function(r){r.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:a("Alt-Shift-X","Ctrl-T"),exec:function(r){r.transposeLetters()},multiSelectAction:function(r){r.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:a("Ctrl-U","Ctrl-U"),exec:function(r){r.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:a("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(r){r.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:a(null,null),exec:function(r){r.autoIndent()},multiSelectAction:"forEachLine",scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:a("Ctrl-Shift-L","Command-Shift-L"),exec:function(r){var i=r.selection.getRange();i.start.column=i.end.column=0,i.end.row++,r.selection.setRange(i,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:a("Ctrl+F3","F3"),exec:function(r){r.openLink()}},{name:"joinlines",description:"Join lines",bindKey:a(null,null),exec:function(r){for(var i=r.selection.isBackwards(),n=i?r.selection.getSelectionLead():r.selection.getSelectionAnchor(),e=i?r.selection.getSelectionAnchor():r.selection.getSelectionLead(),t=r.session.doc.getLine(n.row).length,s=r.session.doc.getTextRange(r.selection.getRange()).replace(/\n\s*/," ").length,c=r.session.doc.getLine(n.row),g=n.row+1;g<=e.row+1;g++){var w=x.stringTrimLeft(x.stringTrimRight(r.session.doc.getLine(g)));0!==w.length&&(w=" "+w),c+=w}e.row+10?(r.selection.moveCursorTo(n.row,n.column),r.selection.selectTo(n.row,n.column+s)):(t=r.session.doc.getLine(n.row).length>t?t+1:t,r.selection.moveCursorTo(n.row,t))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:a(null,null),exec:function(r){var i=r.session.doc.getLength()-1,n=r.session.doc.getLine(i).length,e=r.selection.rangeList.ranges,t=[];e.length<1&&(e=[r.selection.getRange()]);for(var o=0;ol[r].column&&r++,e.unshift(r,0),l.splice.apply(l,e),this.$updateRows()}}},S.prototype.$updateRows=function(){var a=this.session.lineWidgets;if(a){var l=!0;a.forEach(function(r,i){if(r)for(l=!1,r.row=i;r.$oldWidget;)r.$oldWidget.row=i,r=r.$oldWidget}),l&&(this.session.lineWidgets=null)}},S.prototype.$registerLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var l=this.session.lineWidgets[a.row];return l&&(a.$oldWidget=l,l.el&&l.el.parentNode&&(l.el.parentNode.removeChild(l.el),l._inDocument=!1)),this.session.lineWidgets[a.row]=a,a},S.prototype.addLineWidget=function(a){if(this.$registerLineWidget(a),a.session=this.session,!this.editor)return a;var l=this.editor.renderer;a.html&&!a.el&&(a.el=x.createElement("div"),a.el.innerHTML=a.html),a.text&&!a.el&&(a.el=x.createElement("div"),a.el.textContent=a.text),a.el&&(x.addCssClass(a.el,"ace_lineWidgetContainer"),a.className&&x.addCssClass(a.el,a.className),a.el.style.position="absolute",a.el.style.zIndex=5,l.container.appendChild(a.el),a._inDocument=!0,a.coverGutter||(a.el.style.zIndex=3),null==a.pixelHeight&&(a.pixelHeight=a.el.offsetHeight)),null==a.rowCount&&(a.rowCount=a.pixelHeight/l.layerConfig.lineHeight);var r=this.session.getFoldAt(a.row,0);if(a.$fold=r,r){var i=this.session.lineWidgets;a.row!=r.end.row||i[r.start.row]?a.hidden=!0:i[r.start.row]=a}return this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,l),this.onWidgetChanged(a),a},S.prototype.removeLineWidget=function(a){if(a._inDocument=!1,a.session=null,a.el&&a.el.parentNode&&a.el.parentNode.removeChild(a.el),a.editor&&a.editor.destroy)try{a.editor.destroy()}catch{}if(this.session.lineWidgets){var l=this.session.lineWidgets[a.row];if(l==a)this.session.lineWidgets[a.row]=a.$oldWidget,a.$oldWidget&&this.onWidgetChanged(a.$oldWidget);else for(;l;){if(l.$oldWidget==a){l.$oldWidget=a.$oldWidget;break}l=l.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},S.prototype.getWidgetsAtRow=function(a){for(var l=this.session.lineWidgets,r=l&&l[a],i=[];r;)i.push(r),r=r.$oldWidget;return i},S.prototype.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},S.prototype.measureWidgets=function(a,l){var r=this.session._changedWidgets,i=l.layerConfig;if(r&&r.length){for(var n=1/0,e=0;e0&&!i[n];)n--;this.firstRow=r.firstRow,this.lastRow=r.lastRow,l.$cursorLayer.config=r;for(var t=n;t<=e;t++){var o=i[t];if(o&&o.el){if(o.hidden){o.el.style.top=-100-(o.pixelHeight||0)+"px";continue}o._inDocument||(o._inDocument=!0,l.container.appendChild(o.el));var s=l.$cursorLayer.getPixelPosition({row:t,column:0},!0).top;o.coverLine||(s+=r.lineHeight*this.session.getRowLineCount(o.row)),o.el.style.top=s-r.offset+"px";var c=o.coverGutter?0:l.gutterWidth;o.fixedWidth||(c-=l.scrollLeft),o.el.style.left=c+"px",o.fullWidth&&o.screenWidth&&(o.el.style.minWidth=r.width+2*r.padding+"px"),o.el.style.right=o.fixedWidth?l.scrollBar.getWidth()+"px":""}}}},S}();M.LineWidgets=k}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(E,M,H){"use strict";var x=E("../lib/keys"),k=E("../mouse/default_gutter_handler").GutterTooltip,S=function(){function l(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 k(this.editor)}return l.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))},l.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))},l.prototype.$onGutterKeyDown=function(r){if(this.annotationTooltip.isOpen)return r.preventDefault(),void(r.keyCode===x.escape&&this.annotationTooltip.hideTooltip());if(r.target===this.element){if(r.keyCode!=x.enter)return;r.preventDefault();var i=this.editor.getCursorPosition().row;return this.editor.isRowVisible(i)||this.editor.scrollToLine(i,!0,!0),void setTimeout(function(){var n=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),e=this.$findNearestFoldWidget(n),t=this.$findNearestAnnotation(n);if(null!==e||null!==t)return null===e&&null!==t?(this.activeRowIndex=t,this.activeLane="annotation",void this.$focusAnnotation(this.activeRowIndex)):null!==e&&null===t?(this.activeRowIndex=e,this.activeLane="fold",void this.$focusFoldWidget(this.activeRowIndex)):Math.abs(t-n)0||r+i=0&&this.$isFoldWidgetVisible(r-i))return r-i;if(r+i<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(r+i))return r+i}return null},l.prototype.$findNearestAnnotation=function(r){if(this.$isAnnotationVisible(r))return r;for(var i=0;r-i>0||r+i=0&&this.$isAnnotationVisible(r-i))return r-i;if(r+i<=this.lines.getLength()-1&&this.$isAnnotationVisible(r+i))return r+i}return null},l.prototype.$focusFoldWidget=function(r){if(null!=r){var i=this.$getFoldWidget(r);i.classList.add(this.editor.renderer.keyboardFocusClassName),i.focus()}},l.prototype.$focusAnnotation=function(r){if(null!=r){var i=this.$getAnnotation(r);i.classList.add(this.editor.renderer.keyboardFocusClassName),i.focus()}},l.prototype.$blurFoldWidget=function(r){var i=this.$getFoldWidget(r);i.classList.remove(this.editor.renderer.keyboardFocusClassName),i.blur()},l.prototype.$blurAnnotation=function(r){var i=this.$getAnnotation(r);i.classList.remove(this.editor.renderer.keyboardFocusClassName),i.blur()},l.prototype.$moveFoldWidgetUp=function(){for(var r=this.activeRowIndex;r>0;)if(r--,this.$isFoldWidgetVisible(r))return this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=r,void this.$focusFoldWidget(this.activeRowIndex)},l.prototype.$moveFoldWidgetDown=function(){for(var r=this.activeRowIndex;r0;)if(r--,this.$isAnnotationVisible(r))return this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,void this.$focusAnnotation(this.activeRowIndex)},l.prototype.$moveAnnotationDown=function(){for(var r=this.activeRowIndex;r=m.length&&(m=void 0),{value:m&&m[L++],done:!m}}};throw new TypeError(h?"Object is not iterable.":"Symbol.iterator is not defined.")},k=E("./lib/oop"),S=E("./lib/dom"),a=E("./lib/lang"),l=E("./lib/useragent"),r=E("./keyboard/textinput").TextInput,i=E("./mouse/mouse_handler").MouseHandler,n=E("./mouse/fold_handler").FoldHandler,e=E("./keyboard/keybinding").KeyBinding,t=E("./edit_session").EditSession,o=E("./search").Search,s=E("./range").Range,c=E("./lib/event_emitter").EventEmitter,g=E("./commands/command_manager").CommandManager,w=E("./commands/default_commands").commands,p=E("./config"),b=E("./token_iterator").TokenIterator,y=E("./line_widgets").LineWidgets,d=E("./keyboard/gutter_handler").GutterKeyboardHandler,v=E("./config").nls,$=E("./clipboard"),f=E("./lib/keys"),u=function(){function m(h,C,L){this.$toDestroy=[];var T=h.getContainerElement();this.container=T,this.renderer=h,this.id="editor"+ ++m.$uid,this.commands=new g(l.isMac?"mac":"win",w),"object"==typeof document&&(this.textInput=new r(h.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new i(this),new n(this)),this.keyBinding=new e(this),this.$search=(new o).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=a.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(R,_){_._$emitInputEvent.schedule(31)}),this.setSession(C||L&&L.session||new t("")),p.resetOptions(this),L&&this.setOptions(L),p._signal("editor",this)}return m.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=a.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},m.prototype.startOperation=function(h){if(this.curOp){if(!h||this.curOp.command)return;this.prevOp=this.curOp}h||(this.previousCommand=null,h={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:h.command||{},args:h.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},m.prototype.endOperation=function(h){if(this.curOp&&this.session){if(h&&!1===h.returnValue||!this.session)return this.curOp=null;if(1==h&&this.curOp.command&&"mouse"==this.curOp.command.name||(this._signal("beforeEndOperation"),!this.curOp))return;var C=this.curOp.command,L=C&&C.scrollIntoView;if(L){switch(L){case"center-animate":L="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var T=this.selection.getRange(),R=this.renderer.layerConfig;(T.start.row>=R.lastRow||T.end.row<=R.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==L&&this.renderer.animateScrolling(this.curOp.scrollTop)}var _=this.selection.toJSON();this.curOp.selectionAfter=_,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(_),this.prevOp=this.curOp,this.curOp=null}},m.prototype.$historyTracker=function(h){if(this.$mergeUndoDeltas){var C=this.prevOp,L=this.$mergeableCommands,T=C.command&&h.command.name==C.command.name;if("insertstring"==h.command.name){var R=h.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),T=T&&this.mergeNextCommand&&(!/\s/.test(R)||/\s/.test(C.args)),this.mergeNextCommand=!0}else T=T&&-1!==L.indexOf(h.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(T=!1),T?this.session.mergeUndoDeltas=!0:-1!==L.indexOf(h.command.name)&&(this.sequenceStartTime=Date.now())}},m.prototype.setKeyboardHandler=function(h,C){if(h&&"string"==typeof h&&"ace"!=h){this.$keybindingId=h;var L=this;p.loadModule(["keybinding",h],function(T){L.$keybindingId==h&&L.keyBinding.setKeyboardHandler(T&&T.handler),C&&C()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(h),C&&C()},m.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},m.prototype.setSession=function(h){if(this.session!=h){this.curOp&&this.endOperation(),this.curOp={};var C=this.session;if(C){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);var L=this.session.getSelection();L.off("changeCursor",this.$onCursorChange),L.off("changeSelection",this.$onSelectionChange)}this.session=h,h?(this.$onDocumentChange=this.onDocumentChange.bind(this),h.on("change",this.$onDocumentChange),this.renderer.setSession(h),this.$onChangeMode=this.onChangeMode.bind(this),h.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),h.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),h.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),h.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),h.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),h.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=h.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),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(h)),this._signal("changeSession",{session:h,oldSession:C}),this.curOp=null,C&&C._signal("changeEditor",{oldEditor:this}),h&&h._signal("changeEditor",{editor:this}),h&&!h.destroyed&&h.bgTokenizer.scheduleStart()}},m.prototype.getSession=function(){return this.session},m.prototype.setValue=function(h,C){return this.session.doc.setValue(h),C?1==C?this.navigateFileEnd():-1==C&&this.navigateFileStart():this.selectAll(),h},m.prototype.getValue=function(){return this.session.getValue()},m.prototype.getSelection=function(){return this.selection},m.prototype.resize=function(h){this.renderer.onResize(h)},m.prototype.setTheme=function(h,C){this.renderer.setTheme(h,C)},m.prototype.getTheme=function(){return this.renderer.getTheme()},m.prototype.setStyle=function(h){this.renderer.setStyle(h)},m.prototype.unsetStyle=function(h){this.renderer.unsetStyle(h)},m.prototype.getFontSize=function(){return this.getOption("fontSize")||S.computedStyle(this.container).fontSize},m.prototype.setFontSize=function(h){this.setOption("fontSize",h)},m.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var h=this;this.$highlightPending=!0,setTimeout(function(){h.$highlightPending=!1;var C=h.session;if(C&&!C.destroyed){C.$bracketHighlight&&(C.$bracketHighlight.markerIds.forEach(function(F){C.removeMarker(F)}),C.$bracketHighlight=null);var L=h.getCursorPosition(),T=h.getKeyboardHandler(),R=T&&T.$getDirectionForHighlight&&T.$getDirectionForHighlight(h),_=C.getMatchingBracketRanges(L,R);if(!_){var I=new b(C,L.row,L.column).getCurrentToken();if(I&&/\b(?:tag-open|tag-name)/.test(I.type)){var W=C.getMatchingTags(L);W&&(_=[W.openTagName,W.closeTagName])}}if(!_&&C.$mode.getMatching&&(_=C.$mode.getMatching(h.session)),!_)return void(h.getHighlightIndentGuides()&&h.renderer.$textLayer.$highlightIndentGuide());var D="ace_bracket";Array.isArray(_)?1==_.length&&(D="ace_error_bracket"):_=[_],2==_.length&&(0==s.comparePoints(_[0].end,_[1].start)?_=[s.fromPoints(_[0].start,_[1].end)]:0==s.comparePoints(_[0].start,_[1].end)&&(_=[s.fromPoints(_[1].start,_[0].end)])),C.$bracketHighlight={ranges:_,markerIds:_.map(function(F){return C.addMarker(F,D,"text")})},h.getHighlightIndentGuides()&&h.renderer.$textLayer.$highlightIndentGuide()}},50)}},m.prototype.focus=function(){this.textInput.focus()},m.prototype.isFocused=function(){return this.textInput.isFocused()},m.prototype.blur=function(){this.textInput.blur()},m.prototype.onFocus=function(h){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",h))},m.prototype.onBlur=function(h){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",h))},m.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},m.prototype.onDocumentChange=function(h){this.renderer.updateLines(h.start.row,h.start.row==h.end.row?h.end.row:1/0,this.session.$useWrapMode),this._signal("change",h),this.$cursorChange()},m.prototype.onTokenizerUpdate=function(h){var C=h.data;this.renderer.updateLines(C.first,C.last)},m.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},m.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},m.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},m.prototype.$updateHighlightActiveLine=function(){var C,h=this.getSession();if(this.$highlightActiveLine&&(("line"!=this.$selectionStyle||!this.selection.isMultiLine())&&(C=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(C=!1),this.renderer.$maxLines&&1===this.session.getLength()&&!(this.renderer.$minLines>1)&&(C=!1)),h.$highlightLineMarker&&!C)h.removeMarker(h.$highlightLineMarker.id),h.$highlightLineMarker=null;else if(!h.$highlightLineMarker&&C){var L=new s(C.row,C.column,C.row,1/0);L.id=h.addMarker(L,"ace_active-line","screenLine"),h.$highlightLineMarker=L}else C&&(h.$highlightLineMarker.start.row=C.row,h.$highlightLineMarker.end.row=C.row,h.$highlightLineMarker.start.column=C.column,h._signal("changeBackMarker"))},m.prototype.onSelectionChange=function(h){var C=this.session;if(C.$selectionMarker&&C.removeMarker(C.$selectionMarker),C.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var L=this.selection.getRange(),T=this.getSelectionStyle();C.$selectionMarker=C.addMarker(L,"ace_selection",T)}var R=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(R),this._signal("changeSelection")},m.prototype.$getSelectionHighLightRegexp=function(){var h=this.session,C=this.getSelectionRange();if(!C.isEmpty()&&!C.isMultiLine()){var L=C.start.column,T=C.end.column,R=h.getLine(C.start.row),_=R.substring(L,T);if(!(_.length>5e3)&&/[\w\d]/.test(_)){var O=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:_}),I=R.substring(L-1,T+1);if(O.test(I))return O}}},m.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},m.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},m.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},m.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},m.prototype.onChangeMode=function(h){this.renderer.updateText(),this._emit("changeMode",h)},m.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},m.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},m.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},m.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},m.prototype.getCopyText=function(){var h=this.getSelectedText(),C=this.session.doc.getNewLineCharacter(),L=!1;if(!h&&this.$copyWithEmptySelection){L=!0;for(var T=this.selection.getAllRanges(),R=0;RF.search(/\S|$/)){var I=F.substr(R.column).search(/\S|$/);L.doc.removeInLine(R.row,R.column,R.column+I)}}this.clearSelection();var W=R.column,D=L.getState(R.row),B=(F=L.getLine(R.row),T.checkOutdent(D,F,h));if(L.insert(R,h),_&&_.selection&&this.selection.setSelectionRange(2==_.selection.length?new s(R.row,W+_.selection[0],R.row,W+_.selection[1]):new s(R.row+_.selection[0],_.selection[1],R.row+_.selection[2],_.selection[3])),this.$enableAutoIndent){if(L.getDocument().isNewLine(h)){var V=T.getNextLineIndent(D,F.slice(0,R.column),L.getTabString());L.insert({row:R.row+1,column:0},V)}B&&T.autoOutdent(D,L,R.row)}},m.prototype.autoIndent=function(){var L,T,h=this.session,C=h.getMode();if(this.selection.isEmpty())L=0,T=h.doc.getLength()-1;else{var R=this.getSelectionRange();L=R.start.row,T=R.end.row}for(var W,D,F,_="",O="",I="",B=h.getTabString(),V=L;V<=T;V++)V>0&&(_=h.getState(V-1),O=h.getLine(V-1),I=C.getNextLineIndent(_,O,B)),W=h.getLine(V),I!==(D=C.$getIndent(W))&&(D.length>0&&(F=new s(V,0,V,D.length),h.remove(F)),I.length>0&&h.insert({row:V,column:0},I)),C.autoOutdent(_,h,V)},m.prototype.onTextInput=function(h,C){if(!C)return this.keyBinding.onTextInput(h);this.startOperation({command:{name:"insertstring"}});var L=this.applyComposition.bind(this,h,C);this.selection.rangeCount?this.forEachSelection(L):L(),this.endOperation()},m.prototype.applyComposition=function(h,C){var L;(C.extendLeft||C.extendRight)&&((L=this.selection.getRange()).start.column-=C.extendLeft,L.end.column+=C.extendRight,L.start.column<0&&(L.start.row--,L.start.column+=this.session.getLine(L.start.row).length+1),this.selection.setRange(L),!h&&!L.isEmpty()&&this.remove()),(h||!this.selection.isEmpty())&&this.insert(h,!0),(C.restoreStart||C.restoreEnd)&&((L=this.selection.getRange()).start.column-=C.restoreStart,L.end.column-=C.restoreEnd,this.selection.setRange(L))},m.prototype.onCommandKey=function(h,C,L){return this.keyBinding.onCommandKey(h,C,L)},m.prototype.setOverwrite=function(h){this.session.setOverwrite(h)},m.prototype.getOverwrite=function(){return this.session.getOverwrite()},m.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},m.prototype.setScrollSpeed=function(h){this.setOption("scrollSpeed",h)},m.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},m.prototype.setDragDelay=function(h){this.setOption("dragDelay",h)},m.prototype.getDragDelay=function(){return this.getOption("dragDelay")},m.prototype.setSelectionStyle=function(h){this.setOption("selectionStyle",h)},m.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},m.prototype.setHighlightActiveLine=function(h){this.setOption("highlightActiveLine",h)},m.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},m.prototype.setHighlightGutterLine=function(h){this.setOption("highlightGutterLine",h)},m.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},m.prototype.setHighlightSelectedWord=function(h){this.setOption("highlightSelectedWord",h)},m.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},m.prototype.setAnimatedScroll=function(h){this.renderer.setAnimatedScroll(h)},m.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},m.prototype.setShowInvisibles=function(h){this.renderer.setShowInvisibles(h)},m.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},m.prototype.setDisplayIndentGuides=function(h){this.renderer.setDisplayIndentGuides(h)},m.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},m.prototype.setHighlightIndentGuides=function(h){this.renderer.setHighlightIndentGuides(h)},m.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},m.prototype.setShowPrintMargin=function(h){this.renderer.setShowPrintMargin(h)},m.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},m.prototype.setPrintMarginColumn=function(h){this.renderer.setPrintMarginColumn(h)},m.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},m.prototype.setReadOnly=function(h){this.setOption("readOnly",h)},m.prototype.getReadOnly=function(){return this.getOption("readOnly")},m.prototype.setBehavioursEnabled=function(h){this.setOption("behavioursEnabled",h)},m.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},m.prototype.setWrapBehavioursEnabled=function(h){this.setOption("wrapBehavioursEnabled",h)},m.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},m.prototype.setShowFoldWidgets=function(h){this.setOption("showFoldWidgets",h)},m.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},m.prototype.setFadeFoldWidgets=function(h){this.setOption("fadeFoldWidgets",h)},m.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},m.prototype.remove=function(h){this.selection.isEmpty()&&("left"==h?this.selection.selectLeft():this.selection.selectRight());var C=this.getSelectionRange();if(this.getBehavioursEnabled()){var L=this.session,T=L.getState(C.start.row),R=L.getMode().transformAction(T,"deletion",this,L,C);if(0===C.end.column){var _=L.getTextRange(C);if("\n"==_[_.length-1]){var O=L.getLine(C.end.row);/^\s+$/.test(O)&&(C.end.column=O.length)}}R&&(C=R)}this.session.remove(C),this.clearSelection()},m.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var h=this.getSelectionRange();h.start.column==h.end.column&&h.start.row==h.end.row&&(h.end.column=0,h.end.row++),this.session.remove(h),this.clearSelection()},m.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var h=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(h)},m.prototype.setGhostText=function(h,C){this.session.widgetManager||(this.session.widgetManager=new y(this.session),this.session.widgetManager.attach(this)),this.renderer.setGhostText(h,C)},m.prototype.removeGhostText=function(){this.session.widgetManager&&this.renderer.removeGhostText()},m.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var h=this.getCursorPosition(),C=h.column;if(0!==C){var T,R,L=this.session.getLine(h.row);CI.toLowerCase()?1:0});var R=new s(0,0,0,0);for(T=h.first;T<=h.last;T++){var _=C.getLine(T);R.start.row=T,R.end.row=T,R.end.column=_.length,C.replace(R,L[T-h.first])}},m.prototype.toggleCommentLines=function(){var h=this.session.getState(this.getCursorPosition().row),C=this.$getSelectedRows();this.session.getMode().toggleCommentLines(h,this.session,C.first,C.last)},m.prototype.toggleBlockComment=function(){var h=this.getCursorPosition(),C=this.session.getState(h.row),L=this.getSelectionRange();this.session.getMode().toggleBlockComment(C,this.session,L,h)},m.prototype.getNumberAt=function(h,C){var L=/[\-]?[0-9]+(?:\.[0-9]+)?/g;L.lastIndex=0;for(var T=this.session.getLine(h);L.lastIndex=C)return{value:R[0],start:R.index,end:R.index+R[0].length}}return null},m.prototype.modifyNumber=function(h){var C=this.selection.getCursor().row,L=this.selection.getCursor().column,T=new s(C,L-1,C,L),R=this.session.getTextRange(T);if(!isNaN(parseFloat(R))&&isFinite(R)){var _=this.getNumberAt(C,L);if(_){var O=_.value.indexOf(".")>=0?_.start+_.value.indexOf(".")+1:_.end,I=_.start+_.value.length-O,W=parseFloat(_.value);W*=Math.pow(10,I),W+=h*=O!==_.end&&L=O&&_<=I&&(L=Y,W.selection.clearSelection(),W.moveCursorTo(h,O+T),W.selection.selectTo(h,I+T)),O=I});for(var F,D=this.$toggleWordPairs,B=0;B=I&&O<=W&&V.match(/((?:https?|ftp):\/\/[\S]+)/)){D=V.replace(/[\s:.,'";}\]]+$/,"");break}I=W}}catch(P){L={error:P}}finally{try{B&&!B.done&&(T=F.return)&&T.call(F)}finally{if(L)throw L.error}}return D},m.prototype.openLink=function(){var h=this.selection.getCursor(),C=this.findLinkAt(h.row,h.column);return C&&window.open(C,"_blank"),null!=C},m.prototype.removeLines=function(){var h=this.$getSelectedRows();this.session.removeFullLines(h.first,h.last),this.clearSelection()},m.prototype.duplicateSelection=function(){var h=this.selection,C=this.session,L=h.getRange(),T=h.isBackwards();if(L.isEmpty()){var R=L.start.row;C.duplicateLines(R,R)}else{var _=T?L.start:L.end,O=C.insert(_,C.getTextRange(L),!1);L.start=_,L.end=O,h.setSelectionRange(L,T)}},m.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},m.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},m.prototype.moveText=function(h,C,L){return this.session.moveText(h,C,L)},m.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},m.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},m.prototype.$moveLines=function(h,C){var L,T,R=this.selection;if(!R.inMultiSelectMode||this.inVirtualSelectionMode){var _=R.toOrientedRange();L=this.$getSelectedRows(_),T=this.session.$moveLines(L.first,L.last,C?0:h),C&&-1==h&&(T=0),_.moveBy(T,0),R.fromOrientedRange(_)}else{var O=R.rangeList.ranges;R.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var I=0,W=0,D=O.length,F=0;FP+1)break;P=G.last}for(F--,I=this.session.$moveLines(V,P,C?0:h),C&&-1==h&&(B=F+1);B<=F;)O[B].moveBy(I,0),B++;C||(I=0),W+=I}R.fromOrientedRange(R.ranges[0]),R.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},m.prototype.$getSelectedRows=function(h){return h=(h||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(h.start.row),last:this.session.getRowFoldEnd(h.end.row)}},m.prototype.onCompositionStart=function(h){this.renderer.showComposition(h)},m.prototype.onCompositionUpdate=function(h){this.renderer.setCompositionText(h)},m.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},m.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},m.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},m.prototype.isRowVisible=function(h){return h>=this.getFirstVisibleRow()&&h<=this.getLastVisibleRow()},m.prototype.isRowFullyVisible=function(h){return h>=this.renderer.getFirstFullyVisibleRow()&&h<=this.renderer.getLastFullyVisibleRow()},m.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},m.prototype.$moveByPage=function(h,C){var L=this.renderer,T=this.renderer.layerConfig,R=h*Math.floor(T.height/T.lineHeight);!0===C?this.selection.$moveSelection(function(){this.moveCursorBy(R,0)}):!1===C&&(this.selection.moveCursorBy(R,0),this.selection.clearSelection());var _=L.scrollTop;L.scrollBy(0,R*T.lineHeight),null!=C&&L.scrollCursorIntoView(null,.5),L.animateScrolling(_)},m.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},m.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},m.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},m.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},m.prototype.scrollPageDown=function(){this.$moveByPage(1)},m.prototype.scrollPageUp=function(){this.$moveByPage(-1)},m.prototype.scrollToRow=function(h){this.renderer.scrollToRow(h)},m.prototype.scrollToLine=function(h,C,L,T){this.renderer.scrollToLine(h,C,L,T)},m.prototype.centerSelection=function(){var h=this.getSelectionRange(),C={row:Math.floor(h.start.row+(h.end.row-h.start.row)/2),column:Math.floor(h.start.column+(h.end.column-h.start.column)/2)};this.renderer.alignCursor(C,.5)},m.prototype.getCursorPosition=function(){return this.selection.getCursor()},m.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},m.prototype.getSelectionRange=function(){return this.selection.getRange()},m.prototype.selectAll=function(){this.selection.selectAll()},m.prototype.clearSelection=function(){this.selection.clearSelection()},m.prototype.moveCursorTo=function(h,C){this.selection.moveCursorTo(h,C)},m.prototype.moveCursorToPosition=function(h){this.selection.moveCursorToPosition(h)},m.prototype.jumpToMatching=function(h,C){var L=this.getCursorPosition(),T=new b(this.session,L.row,L.column),R=T.getCurrentToken(),_=0;R&&-1!==R.type.indexOf("tag-name")&&(R=T.stepBackward());var O=R||T.stepForward();if(O){var I,B,W=!1,D={},F=L.column-O.start,V={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(O.value.match(/[{}()\[\]]/g)){for(;F1?D[O.value]++:"=0;--_)this.$tryReplace(L[_],h)&&T++;return this.selection.setSelectionRange(R),T},m.prototype.$tryReplace=function(h,C){var L=this.session.getTextRange(h);return null!==(C=this.$search.replace(L,C))?(h.end=this.session.replace(h,C),h):null},m.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},m.prototype.find=function(h,C,L){C||(C={}),"string"==typeof h||h instanceof RegExp?C.needle=h:"object"==typeof h&&k.mixin(C,h);var T=this.selection.getRange();null==C.needle&&((h=this.session.getTextRange(T)||this.$search.$options.needle)||(T=this.session.getWordRange(T.start.row,T.start.column),h=this.session.getTextRange(T)),this.$search.set({needle:h})),this.$search.set(C),C.start||this.$search.set({start:T});var R=this.$search.find(this.session);return C.preventScroll?R:R?(this.revealRange(R,L),R):(C.backwards?T.start=T.end:T.end=T.start,void this.selection.setRange(T))},m.prototype.findNext=function(h,C){this.find({skipCurrent:!0,backwards:!1},h,C)},m.prototype.findPrevious=function(h,C){this.find(h,{skipCurrent:!0,backwards:!0},C)},m.prototype.revealRange=function(h,C){this.session.unfold(h),this.selection.setSelectionRange(h);var L=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(h.start,h.end,.5),!1!==C&&this.renderer.animateScrolling(L)},m.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},m.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},m.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(h){h.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()},m.prototype.setAutoScrollEditorIntoView=function(h){if(h){var C,L=this,T=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var R=this.$scrollAnchor;R.style.cssText="position:absolute",this.container.insertBefore(R,this.container.firstChild);var _=this.on("changeSelection",function(){T=!0}),O=this.renderer.on("beforeRender",function(){T&&(C=L.renderer.container.getBoundingClientRect())}),I=this.renderer.on("afterRender",function(){if(T&&C&&(L.isFocused()||L.searchBox&&L.searchBox.isFocused())){var W=L.renderer,D=W.$cursorLayer.$pixelPos,F=W.layerConfig,B=D.top-F.offset;null!=(T=D.top>=0&&B+C.top<0||!(D.topwindow.innerHeight)&&null)&&(R.style.top=B+"px",R.style.left=D.left+"px",R.style.height=F.lineHeight+"px",R.scrollIntoView(T)),T=C=null}});this.setAutoScrollEditorIntoView=function(W){W||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",_),this.renderer.off("afterRender",I),this.renderer.off("beforeRender",O))}}},m.prototype.$resetCursorStyle=function(){var h=this.$cursorStyle||"ace",C=this.renderer.$cursorLayer;C&&(C.setSmoothBlinking(/smooth/.test(h)),C.isBlinking=!this.$readOnly&&"wide"!=h,S.setCssClass(C.element,"ace_slim-cursors",/slim/.test(h)))},m.prototype.prompt=function(h,C,L){var T=this;p.loadModule("ace/ext/prompt",function(R){R.prompt(T,h,C,L)})},m}();u.$uid=0,u.prototype.curOp=null,u.prototype.prevOp={},u.prototype.$mergeableCommands=["backspace","del","insertstring"],u.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"],["&&","||"],["==","!="]],k.implement(u.prototype,c),p.defineOptions(u.prototype,"editor",{selectionStyle:{set:function(m){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:m})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(m){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(m){this.textInput.setReadOnly(m),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(m){this.textInput.setCopyWithEmptySelection(m)},initialValue:!1},cursorStyle:{set:function(m){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(m){this.setAutoScrollEditorIntoView(m)}},keyboardHandler:{set:function(m){this.setKeyboardHandler(m)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(m){this.session.setValue(m)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(m){this.setSession(m)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(m){this.renderer.$gutterLayer.setShowLineNumbers(m),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),m&&this.$relativeLineNumbers?A.attach(this):A.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(m){this.$showLineNumbers&&m?A.attach(this):A.detach(this)}},placeholder:{set:function(m){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var h=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(h&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),S.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(h||this.renderer.placeholderNode)!h&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"");else{this.renderer.on("afterRender",this.$updatePlaceholder),S.addCssClass(this.container,"ace_hasPlaceholder");var C=S.createElement("div");C.className="ace_placeholder",C.textContent=this.$placeholder||"",this.renderer.placeholderNode=C,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(m){var L,h={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(T){T.blur(),T.renderer.scroller.focus()},readOnly:!0},C=function(T){if(T.target==this.renderer.scroller&&T.keyCode===f.enter){T.preventDefault();var R=this.getCursorPosition().row;this.isRowVisible(R)||this.scrollToLine(R,!0,!0),this.focus()}};m?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(l.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",v("editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",v("Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",C.bind(this)),this.commands.addCommand(h),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",v("editor")),this.renderer.$gutter.setAttribute("aria-label",v("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),L||(L=new d(this)),L.addListener()):(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",C.bind(this)),this.commands.removeCommand(h),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),L&&L.removeListener())},initialValue:!1},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 A={getText:function(m,h){return(Math.abs(m.selection.lead.row-h)||h+1+(h<9?"\xb7":""))+""},getWidth:function(m,h,C){return Math.max(h.toString().length,(C.lastRow+1).toString().length,2)*C.characterWidth},update:function(m,h){h.renderer.$loop.schedule(h.renderer.CHANGE_GUTTER)},attach:function(m){m.renderer.$gutterLayer.$renderer=this,m.on("changeSelection",this.update),this.update(null,m)},detach:function(m){m.renderer.$gutterLayer.$renderer==this&&(m.renderer.$gutterLayer.$renderer=null),m.off("changeSelection",this.update),this.update(null,m)}};M.Editor=u}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(E,M,H){"use strict";var x=function(){function d(){this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return d.prototype.addSession=function(v){this.$session=v},d.prototype.add=function(v,$,f){if(!this.$fromUndo&&v!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),!1===$||!this.lastDeltas){this.lastDeltas=[];var u=this.$undoStack.length;u>this.$undoDepth-1&&this.$undoStack.splice(0,u-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),v.id=this.$rev=++this.$maxRev}("remove"==v.action||"insert"==v.action)&&(this.$lastDelta=v),this.lastDeltas.push(v)}},d.prototype.addSelection=function(v,$){this.selections.push({value:v,rev:$||this.$rev})},d.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},d.prototype.markIgnored=function(v,$){null==$&&($=this.$rev+1);for(var f=this.$undoStack,u=f.length;u--;){var A=f[u][0];if(A.id<=v)break;A.id<$&&(A.ignore=!0)}this.lastDeltas=null},d.prototype.getSelection=function(v,$){for(var f=this.selections,u=f.length;u--;){var A=f[u];if(A.rev0},d.prototype.canRedo=function(){return this.$redoStack.length>0},d.prototype.bookmark=function(v){null==v&&(v=this.$rev),this.mark=v},d.prototype.isAtBookmark=function(){return this.$rev===this.mark},d.prototype.toJSON=function(){},d.prototype.fromJSON=function(){},d.prototype.$prettyPrint=function(v){return v?e(v):e(this.$undoStack)+"\n---\n"+e(this.$redoStack)},d}();x.prototype.hasUndo=x.prototype.canUndo,x.prototype.hasRedo=x.prototype.canRedo,x.prototype.isClean=x.prototype.isAtBookmark,x.prototype.markClean=x.prototype.bookmark;var S=E("./range").Range,a=S.comparePoints;function i(d){return{row:d.row,column:d.column}}function e(d){if(d=d||this,Array.isArray(d))return d.map(e).join("\n");var v="";return d.action?(v="insert"==d.action?"+":"-",v+="["+d.lines+"]"):d.value&&(v=Array.isArray(d.value)?d.value.map(t).join("\n"):t(d.value)),d.start&&(v+=t(d)),(d.id||d.rev)&&(v+="\t("+(d.id||d.rev)+")"),v}function t(d){return d.start.row+":"+d.start.column+"=>"+d.end.row+":"+d.end.column}function o(d,v){var $="insert"==d.action,f="insert"==v.action;if($&&f)if(a(v.start,d.end)>=0)g(v,d,-1);else{if(!(a(v.start,d.start)<=0))return null;g(d,v,1)}else if($&&!f)if(a(v.start,d.end)>=0)g(v,d,-1);else{if(!(a(v.end,d.start)<=0))return null;g(d,v,-1)}else if(!$&&f)if(a(v.start,d.start)>=0)g(v,d,1);else{if(!(a(v.start,d.start)<=0))return null;g(d,v,1)}else if(!$&&!f)if(a(v.start,d.start)>=0)g(v,d,1);else{if(!(a(v.end,d.start)<=0))return null;g(d,v,-1)}return[v,d]}function s(d,v){for(var $=d.length;$--;)for(var f=0;f=0?g(d,v,-1):(a(d.start,v.start)<=0||g(d,S.fromPoints(v.start,d.start),-1),g(v,d,1));else if(!$&&f)a(v.start,d.end)>=0?g(v,d,-1):(a(v.start,d.start)<=0||g(v,S.fromPoints(d.start,v.start),-1),g(d,v,1));else if(!$&&!f)if(a(v.start,d.end)>=0)g(v,d,-1);else{var u,A;if(!(a(v.end,d.start)<=0))return a(d.start,v.start)<0&&(u=d,d=p(d,v.start)),a(d.end,v.end)>0&&(A=p(d,v.end)),w(v.end,d.start,d.end,-1),A&&!u&&(d.lines=A.lines,d.start=A.start,d.end=A.end,A=d),[v,u,A].filter(Boolean);g(d,v,-1)}return[v,d]}function g(d,v,$){w(d.start,v.start,v.end,$),w(d.end,v.start,v.end,$)}function w(d,v,$,f){d.row==(1==f?v:$).row&&(d.column+=f*($.column-v.column)),d.row+=f*($.row-v.row)}function p(d,v){var $=d.lines,f=d.end;d.end=i(v);var u=d.end.row-d.start.row,A=$.splice(u,$.length),m=u?v.column:v.column-d.start.column;return $.push(A[0].substring(0,m)),A[0]=A[0].substr(m),{start:i(v),end:f,lines:A,action:d.action}}function b(d,v){v=function n(d){return{start:i(d.start),end:i(d.end),action:d.action,lines:d.lines.slice()}}(v);for(var $=d.length;$--;){for(var f=d[$],u=0;uw&&(w=(g=o.getNextFoldLine(y=g.end.row+1,g))?g.start.row:1/0),y>c){for(;this.$lines.getLength()>b+1;)this.$lines.pop();break}(p=this.$lines.get(++b))?p.row=y:(p=this.$lines.createCell(y,t,this.session,n),this.$lines.push(p)),this.$renderCell(p,t,g,y),y++}this._signal("afterRender"),this.$updateGutterWidth(t)},e.prototype.$updateGutterWidth=function(t){var o=this.session,s=o.gutterRenderer||this.$renderer,c=o.$firstLineNumber,g=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||o.$useWrapMode)&&(g=o.getLength()+c-1);var w=s?s.getWidth(o,g,t):g.toString().length*t.characterWidth,p=this.$padding||this.$computePadding();(w+=p.left+p.right)!==this.gutterWidth&&!isNaN(w)&&(this.gutterWidth=w,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",w))},e.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var t=this.session.selection.getCursor();this.$cursorRow!==t.row&&(this.$cursorRow=t.row)}},e.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var t=this.session.selection.cursor.row;if(this.$cursorRow=t,!this.$cursorCell||this.$cursorCell.row!=t){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var o=this.$lines.cells;this.$cursorCell=null;for(var s=0;s=this.$cursorRow){if(c.row>this.$cursorRow){var g=this.session.getFoldLine(this.$cursorRow);if(!(s>0&&g&&g.start.row==o[s-1].row))break;c=o[s-1]}c.element.className="ace_gutter-active-line "+c.element.className,this.$cursorCell=c;break}}}}},e.prototype.scrollLines=function(t){var o=this.config;if(this.config=t,this.$updateCursorRow(),this.$lines.pageChanged(o,t))return this.update(t);this.$lines.moveContainer(t);var s=Math.min(t.lastRow+t.gutterOffset,this.session.getLength()-1),c=this.oldLastRow;if(this.oldLastRow=s,!o||c0;g--)this.$lines.shift();if(c>s)for(g=this.session.getFoldedRowCount(s+1,c);g>0;g--)this.$lines.pop();t.firstRowc&&this.$lines.push(this.$renderLines(t,c+1,s)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(t)},e.prototype.$renderLines=function(t,o,s){for(var c=[],g=o,w=this.session.getNextFoldLine(g),p=w?w.start.row:1/0;g>p&&(p=(w=this.session.getNextFoldLine(g=w.end.row+1,w))?w.start.row:1/0),!(g>s);){var b=this.$lines.createCell(g,t,this.session,n);this.$renderCell(b,t,w,g),c.push(b),g++}return c},e.prototype.$renderCell=function(t,o,s,c){var g=t.element,w=this.session,p=g.childNodes[0],b=g.childNodes[1],y=g.childNodes[2],d=y.firstChild,v=w.$firstLineNumber,$=w.$breakpoints,f=w.$decorations,u=w.gutterRenderer||this.$renderer,A=this.$showFoldWidgets&&w.foldWidgets,m=s?s.start.row:Number.MAX_VALUE,h=o.lineHeight+"px",C=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",L=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",T=(u?u.getText(w,c):c+v).toString();if(this.$highlightGutterLine&&(c==this.$cursorRow||s&&c=m&&this.$cursorRow<=s.end.row)&&(C+="ace_gutter-active-line ",this.$cursorCell!=t&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=t)),$[c]&&(C+=$[c]),f[c]&&(C+=f[c]),this.$annotations[c]&&c!==m&&(C+=this.$annotations[c].className),A){var R=A[c];null==R&&(R=A[c]=w.getFoldWidget(c))}if(R){var _="ace_fold-widget ace_"+R,O="start"==R&&c==m&&cs.right-o.right?"foldWidgets":void 0},e}();function n(e){var t=document.createTextNode("");e.appendChild(t);var o=x.createElement("span");e.appendChild(o);var s=x.createElement("span");e.appendChild(s);var c=x.createElement("span");return s.appendChild(c),e}i.prototype.$fixedWidth=!1,i.prototype.$highlightGutterLine=!0,i.prototype.$renderer="",i.prototype.$showLineNumbers=!0,i.prototype.$showFoldWidgets=!0,k.implement(i.prototype,a),M.Gutter=i}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(E,M,H){"use strict";var x=E("../range").Range,k=E("../lib/dom"),S=function(){function l(r){this.element=k.createElement("div"),this.element.className="ace_layer ace_marker-layer",r.appendChild(this.element)}return l.prototype.setPadding=function(r){this.$padding=r},l.prototype.setSession=function(r){this.session=r},l.prototype.setMarkers=function(r){this.markers=r},l.prototype.elt=function(r,i){var n=-1!=this.i&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=i,n.className=r},l.prototype.update=function(r){if(r){var i;for(var n in this.config=r,this.i=0,this.markers){var e=this.markers[n];if(e.range){var t=e.range.clipRows(r.firstRow,r.lastRow);if(!t.isEmpty())if(t=t.toScreenRange(this.session),e.renderer){var o=this.$getTop(t.start.row,r);e.renderer(i,t,this.$padding+t.start.column*r.characterWidth,o,r)}else"fullLine"==e.type?this.drawFullLineMarker(i,t,e.clazz,r):"screenLine"==e.type?this.drawScreenLineMarker(i,t,e.clazz,r):t.isMultiLine()?"text"==e.type?this.drawTextMarker(i,t,e.clazz,r):this.drawMultiLineMarker(i,t,e.clazz,r):this.drawSingleLineMarker(i,t,e.clazz+" ace_start ace_br15",r)}else e.update(i,this,this.session,r)}if(-1!=this.i)for(;this.ib,g==c),e,g==c?0:1,t)},l.prototype.drawMultiLineMarker=function(r,i,n,e,t){var w,o=this.$padding,s=e.lineHeight,c=this.$getTop(i.start.row,e),g=o+i.start.column*e.characterWidth;if(t=t||"",this.session.$bidiHandler.isBidiRow(i.start.row)?((w=i.clone()).end.row=w.start.row,w.end.column=this.session.getLine(w.start.row).length,this.drawBidiSingleLineMarker(r,w,n+" ace_br1 ace_start",e,null,t)):this.elt(n+" ace_br1 ace_start","height:"+s+"px;right:0;top:"+c+"px;left:"+g+"px;"+(t||"")),this.session.$bidiHandler.isBidiRow(i.end.row)?((w=i.clone()).start.row=w.end.row,w.start.column=0,this.drawBidiSingleLineMarker(r,w,n+" ace_br12",e,null,t)):(c=this.$getTop(i.end.row,e),this.elt(n+" ace_br12","height:"+s+"px;width:"+i.end.column*e.characterWidth+"px;top:"+c+"px;left:"+o+"px;"+(t||""))),!((s=(i.end.row-i.start.row-1)*e.lineHeight)<=0)){c=this.$getTop(i.start.row+1,e);var b=(i.start.column?1:0)|(i.end.column?0:8);this.elt(n+(b?" ace_br"+b:""),"height:"+s+"px;right:0;top:"+c+"px;left:"+o+"px;"+(t||""))}},l.prototype.drawSingleLineMarker=function(r,i,n,e,t,o){if(this.session.$bidiHandler.isBidiRow(i.start.row))return this.drawBidiSingleLineMarker(r,i,n,e,t,o);var s=e.lineHeight,c=(i.end.column+(t||0)-i.start.column)*e.characterWidth,g=this.$getTop(i.start.row,e);this.elt(n,"height:"+s+"px;width:"+c+"px;top:"+g+"px;left:"+(this.$padding+i.start.column*e.characterWidth)+"px;"+(o||""))},l.prototype.drawBidiSingleLineMarker=function(r,i,n,e,t,o){var s=e.lineHeight,c=this.$getTop(i.start.row,e),g=this.$padding;this.session.$bidiHandler.getSelections(i.start.column,i.end.column).forEach(function(p){this.elt(n,"height:"+s+"px;width:"+(p.width+(t||0))+"px;top:"+c+"px;left:"+(g+p.left)+"px;"+(o||""))},this)},l.prototype.drawFullLineMarker=function(r,i,n,e,t){var o=this.$getTop(i.start.row,e),s=e.lineHeight;i.start.row!=i.end.row&&(s+=this.$getTop(i.end.row,e)-o),this.elt(n,"height:"+s+"px;top:"+o+"px;left:0;right:0;"+(t||""))},l.prototype.drawScreenLineMarker=function(r,i,n,e,t){var o=this.$getTop(i.start.row,e);this.elt(n,"height:"+e.lineHeight+"px;top:"+o+"px;left:0;right:0;"+(t||""))},l}();function a(l,r,i,n){return(l?1:0)|(r?2:0)|(i?4:0)|(n?8:0)}S.prototype.$padding=0,M.Marker=S}),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"],function(E,M,H){"use strict";var x=E("../lib/oop"),k=E("../lib/dom"),S=E("../lib/lang"),a=E("./lines").Lines,l=E("../lib/event_emitter").EventEmitter,r=E("../config").nls,i=function(){function n(e){this.dom=k,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 a(this.element)}return n.prototype.$updateEolChar=function(){var e=this.session.doc,o="\n"==e.getNewLineCharacter()&&"windows"!=e.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=o)return this.EOL_CHAR=o,!0},n.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},n.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},n.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},n.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(t){this._signal("changeCharacterSize",t)}.bind(this)),this.$pollSizeChanges()},n.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},n.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},n.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},n.prototype.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,"string"==typeof e?(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)},n.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},n.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides!==e&&(this.$highlightIndentGuides=e,e)},n.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],o=1;od&&(d=(y=this.session.getNextFoldLine(b=y.end.row+1,y))?y.start.row:1/0),!(b>c);){var v=g[w++];if(v){this.dom.removeChildren(v),this.$renderLine(v,b,b==d&&y),p&&(v.style.top=this.$lines.computeLineTop(b,e,this.session)+"px");var $=e.lineHeight*this.session.getRowLength(b)+"px";v.style.height!=$&&(p=!0,v.style.height=$)}b++}if(p)for(;w0;c--)this.$lines.shift();if(t.lastRow>e.lastRow)for(c=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);c>0;c--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},n.prototype.$renderLinesFragment=function(e,t,o){for(var s=[],c=t,g=this.session.getNextFoldLine(c),w=g?g.start.row:1/0;c>w&&(w=(g=this.session.getNextFoldLine(c=g.end.row+1,g))?g.start.row:1/0),!(c>o);){var p=this.$lines.createCell(c,e,this.session),b=p.element;this.dom.removeChildren(b),k.setStyle(b.style,"height",this.$lines.computeLineHeight(c,e,this.session)+"px"),k.setStyle(b.style,"top",this.$lines.computeLineTop(c,e,this.session)+"px"),this.$renderLine(b,c,c==w&&g),b.className=this.$useLineGroups()?"ace_line_group":"ace_line",s.push(p),c++}return s},n.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var t=e.firstRow,o=e.lastRow,s=this.$lines;s.getLength();)s.pop();s.push(this.$renderLinesFragment(e,t,o))},n.prototype.$renderToken=function(e,t,o,s){for(var p,c=this,g=/(\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]+)|(\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,w=this.dom.createFragment(this.element),b=0;p=g.exec(s);){var y=p[1],d=p[2],v=p[3],$=p[4],f=p[5];if(c.showSpaces||!d){var u=b!=p.index?s.slice(b,p.index):"";if(b=p.index+p[0].length,u&&w.appendChild(this.dom.createTextNode(u,this.element)),y){var A=c.session.getScreenTabSize(t+p.index);w.appendChild(c.$tabStrings[A].cloneNode(!0)),t+=A-1}else d?c.showSpaces?((m=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",m.textContent=S.stringRepeat(c.SPACE_CHAR,d.length),w.appendChild(m)):w.appendChild(this.com.createTextNode(d,this.element)):v?((m=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",m.textContent=S.stringRepeat(c.SPACE_CHAR,v.length),w.appendChild(m)):$?(t+=1,(m=this.dom.createElement("span")).style.width=2*c.config.characterWidth+"px",m.className=c.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",m.textContent=c.showSpaces?c.SPACE_CHAR:$,w.appendChild(m)):f&&(t+=1,(m=this.dom.createElement("span")).style.width=2*c.config.characterWidth+"px",m.className="ace_cjk",m.textContent=f,w.appendChild(m))}}if(w.appendChild(this.dom.createTextNode(b?s.slice(b):s,this.element)),this.$textToken[o.type])e.appendChild(w);else{var h="ace_"+o.type.replace(/\./g," ace_"),m=this.dom.createElement("span");"fold"==o.type&&(m.style.width=o.value.length*this.config.characterWidth+"px",m.setAttribute("title",r("Unfold code"))),m.className=h,m.appendChild(w),e.appendChild(m)}return t+s.length},n.prototype.renderIndentGuide=function(e,t,o){var s=t.search(this.$indentGuideRe);if(s<=0||s>=o)return t;if(" "==t[0]){for(var c=(s-=s%this.tabSize)/this.tabSize,g=0;gg[w].start.row?-1:1;break}if(!this.$highlightIndentGuideMarker.end&&""!==e[t.row]&&t.column===e[t.row].length)for(this.$highlightIndentGuideMarker.dir=1,w=t.row+1;w0)for(var c=0;c=this.$highlightIndentGuideMarker.start+1){if(s.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(s,t)}}else for(o=e.length-1;o>=0;o--)if(s=e[o],this.$highlightIndentGuideMarker.end&&s.row=g;)w=this.$renderToken(p,w,y,d.substring(0,g-s)),d=d.substring(g-s),s=g,p=this.$createLineElement(),e.appendChild(p),p.appendChild(this.dom.createTextNode(S.stringRepeat("\xa0",o.indent),this.element)),w=0,g=o[++c]||Number.MAX_VALUE;0!=d.length&&(s+=d.length,w=this.$renderToken(p,w,y,d))}}o[o.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(p,w,null,"",!0)},n.prototype.$renderSimpleLine=function(e,t){for(var o=0,s=0;sthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,o,c,g);o=this.$renderToken(e,o,c,g)}}},n.prototype.$renderOverflowMessage=function(e,t,o,s,c){o&&this.$renderToken(e,t,o,s.slice(0,this.MAX_LINE_LENGTH-t));var g=this.dom.createElement("span");g.className="ace_inline_button ace_keyword ace_toggle_wrap",g.textContent=c?"":"",e.appendChild(g)},n.prototype.$renderLine=function(e,t,o){if(!o&&0!=o&&(o=this.session.getFoldLine(t)),o)var s=this.$getFoldLineTokens(t,o);else s=this.session.getTokens(t);var c=e;if(s.length){var g=this.session.getRowSplitData(t);g&&g.length?(this.$renderWrappedLine(e,s,g),c=e.lastChild):(c=e,this.$useLineGroups()&&(c=this.$createLineElement(),e.appendChild(c)),this.$renderSimpleLine(c,s))}else this.$useLineGroups()&&(c=this.$createLineElement(),e.appendChild(c));if(this.showEOL&&c){o&&(t=o.end.row);var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_eol",w.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,c.appendChild(w)}},n.prototype.$getFoldLineTokens=function(e,t){var o=this.session,s=[],g=o.getTokens(e);return t.walk(function(w,p,b,y,d){null!=w?s.push({type:"fold",value:w}):(d&&(g=o.getTokens(p)),g.length&&function c(w,p,b){for(var y=0,d=0;d+w[y].value.lengthb-p&&(v=v.substring(0,b-p)),s.push({type:w[y].type,value:v}),d=p+v.length,y+=1);db?{type:w[y].type,value:v.substring(0,b-d)}:w[y]),d+=v.length,y+=1}}(g,y,b))},t.end.row,this.session.getLine(t.end.row).length),s},n.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},n}();i.prototype.$textToken={text:!0,rparen:!0,lparen:!0},i.prototype.EOF_CHAR="\xb6",i.prototype.EOL_CHAR_LF="\xac",i.prototype.EOL_CHAR_CRLF="\xa4",i.prototype.EOL_CHAR=i.prototype.EOL_CHAR_LF,i.prototype.TAB_CHAR="\u2014",i.prototype.SPACE_CHAR="\xb7",i.prototype.$padding=0,i.prototype.MAX_LINE_LENGTH=1e4,i.prototype.showInvisibles=!1,i.prototype.showSpaces=!1,i.prototype.showTabs=!1,i.prototype.showEOL=!1,i.prototype.displayIndentGuides=!0,i.prototype.$highlightIndentGuides=!0,i.prototype.$tabStrings=[],i.prototype.destroy={},i.prototype.onChangeTabSize=i.prototype.$computeTabString,x.implement(i.prototype,l),M.Text=i}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(E,M,H){"use strict";var x=E("../lib/dom"),k=function(){function S(a){this.element=x.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),x.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return S.prototype.$updateOpacity=function(a){for(var l=this.cursors,r=l.length;r--;)x.setStyle(l[r].style,"opacity",a?"":"0")},S.prototype.$startCssAnimation=function(){for(var a=this.cursors,l=a.length;l--;)a[l].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&x.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},S.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,x.removeCssClass(this.element,"ace_animate-blinking")},S.prototype.setPadding=function(a){this.$padding=a},S.prototype.setSession=function(a){this.session=a},S.prototype.setBlinking=function(a){a!=this.isBlinking&&(this.isBlinking=a,this.restartTimer())},S.prototype.setBlinkInterval=function(a){a!=this.blinkInterval&&(this.blinkInterval=a,this.restartTimer())},S.prototype.setSmoothBlinking=function(a){a!=this.smoothBlinking&&(this.smoothBlinking=a,x.setCssClass(this.element,"ace_smooth-blinking",a),this.$updateCursors(!0),this.restartTimer())},S.prototype.addCursor=function(){var a=x.createElement("div");return a.className="ace_cursor",this.element.appendChild(a),this.cursors.push(a),a},S.prototype.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},S.prototype.hideCursor=function(){this.isVisible=!1,x.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},S.prototype.showCursor=function(){this.isVisible=!0,x.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},S.prototype.restartTimer=function(){var a=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,x.removeCssClass(this.element,"ace_smooth-blinking")),a(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&x.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),x.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var l=function(){this.timeoutId=setTimeout(function(){a(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){a(!0),l()},this.blinkInterval),l()}else this.$stopCssAnimation()},S.prototype.getPixelPosition=function(a,l){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var r=this.session.documentToScreenPosition(a);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,a.row)?this.session.$bidiHandler.getPosLeft(r.column):r.column*this.config.characterWidth),top:(r.row-(l?this.config.firstRowScreen:0))*this.config.lineHeight}},S.prototype.isCursorInView=function(a,l){return a.top>=0&&a.topa.height+a.offset||e.top<0)&&r>1)){var t=this.cursors[i++]||this.addCursor(),o=t.style;this.drawCursor?this.drawCursor(t,e,a,l[r],this.session):this.isCursorInView(e,a)?(x.setStyle(o,"display","block"),x.translate(t,e.left,e.top),x.setStyle(o,"width",Math.round(a.characterWidth)+"px"),x.setStyle(o,"height",a.lineHeight+"px")):x.setStyle(o,"display","none")}}for(;this.cursors.length>i;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=e,this.restartTimer()},S.prototype.$setOverwrite=function(a){a!=this.overwrite&&(this.overwrite=a,a?x.addCssClass(this.element,"ace_overwrite-cursors"):x.removeCssClass(this.element,"ace_overwrite-cursors"))},S.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},S}();k.prototype.$padding=0,k.prototype.drawCursor=null,M.Cursor=k}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(E,M,H){"use strict";var t,x=this&&this.__extends||(t=function(o,s){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,g){c.__proto__=g}||function(c,g){for(var w in g)Object.prototype.hasOwnProperty.call(g,w)&&(c[w]=g[w])})(o,s)},function(o,s){if("function"!=typeof s&&null!==s)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");function c(){this.constructor=o}t(o,s),o.prototype=null===s?Object.create(s):(c.prototype=s.prototype,new c)}),k=E("./lib/oop"),S=E("./lib/dom"),a=E("./lib/event"),l=E("./lib/event_emitter").EventEmitter,r=32768,i=function(){function t(o,s){this.element=S.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+s,this.inner=S.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\xa0",this.element.appendChild(this.inner),o.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addListener(this.element,"scroll",this.onScroll.bind(this)),a.addListener(this.element,"mousedown",a.preventDefault)}return t.prototype.setVisible=function(o){this.element.style.display=o?"":"none",this.isVisible=o,this.coeff=1},t}();k.implement(i.prototype,l);var n=function(t){function o(s,c){var g=t.call(this,s,"-v")||this;return g.scrollTop=0,g.scrollHeight=0,c.$scrollbarWidth=g.width=S.scrollbarWidth(s.ownerDocument),g.inner.style.width=g.element.style.width=(g.width||15)+5+"px",g.$minWidth=0,g}return x(o,t),o.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){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},o.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},o.prototype.setHeight=function(s){this.element.style.height=s+"px"},o.prototype.setScrollHeight=function(s){this.scrollHeight=s,s>r?(this.coeff=r/s,s=r):1!=this.coeff&&(this.coeff=1),this.inner.style.height=s+"px"},o.prototype.setScrollTop=function(s){this.scrollTop!=s&&(this.skipEvent=!0,this.scrollTop=s,this.element.scrollTop=s*this.coeff)},o}(i);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var e=function(t){function o(s,c){var g=t.call(this,s,"-h")||this;return g.scrollLeft=0,g.height=c.$scrollbarWidth,g.inner.style.height=g.element.style.height=(g.height||15)+5+"px",g}return x(o,t),o.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},o.prototype.getHeight=function(){return this.isVisible?this.height:0},o.prototype.setWidth=function(s){this.element.style.width=s+"px"},o.prototype.setInnerWidth=function(s){this.inner.style.width=s+"px"},o.prototype.setScrollWidth=function(s){this.inner.style.width=s+"px"},o.prototype.setScrollLeft=function(s){this.scrollLeft!=s&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=s)},o}(i);M.ScrollBar=n,M.ScrollBarV=n,M.ScrollBarH=e,M.VScrollBar=n,M.HScrollBar=e}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(E,M,H){"use strict";var e,x=this&&this.__extends||(e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,c){s.__proto__=c}||function(s,c){for(var g in c)Object.prototype.hasOwnProperty.call(c,g)&&(s[g]=c[g])})(t,o)},function(t,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function s(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(s.prototype=o.prototype,new s)}),k=E("./lib/oop"),S=E("./lib/dom"),a=E("./lib/event"),l=E("./lib/event_emitter").EventEmitter;S.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n position: absolute;\n background: rgba(128, 128, 128, 0.6);\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n position: absolute;\n z-index: 6;\n background: none;\n overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n z-index: 6;\n right: 0;\n top: 0;\n width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n z-index: 8;\n right: 0;\n width: 100%;\n}\n.ace_editor>.ace_sb-h {\n bottom: 0;\n left: 0;\n height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n bottom: 0;\n height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n z-index: 8;\n background: #000;\n}","ace_scrollbar.css",!1);var r=function(){function e(t,o){this.element=S.createElement("div"),this.element.className="ace_sb"+o,this.inner=S.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,t.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return e.prototype.setVisible=function(t){this.element.style.display=t?"":"none",this.isVisible=t,this.coeff=1},e}();k.implement(r.prototype,l);var i=function(e){function t(o,s){var c=e.call(this,o,"-v")||this;return c.scrollTop=0,c.scrollHeight=0,c.parent=o,c.width=c.VScrollWidth,c.renderer=s,c.inner.style.width=c.element.style.width=(c.width||15)+"px",c.$minWidth=0,c}return x(t,e),t.prototype.onMouseDown=function(o,s){if("mousedown"===o&&0===a.getButton(s)&&2!==s.detail){if(s.target===this.inner){var c=this,g=s.clientY,b=s.clientY,y=this.thumbTop;a.capture(this.inner,function(f){g=f.clientY},function(){clearInterval(v)});var v=setInterval(function(){if(void 0!==g){var f=c.scrollTopFromThumbTop(y+g-b);f!==c.scrollTop&&c._emit("scroll",{data:f})}},20);return a.preventDefault(s)}var $=s.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop($)}),a.preventDefault(s)}},t.prototype.getHeight=function(){return this.height},t.prototype.scrollTopFromThumbTop=function(o){var s=o*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return(s>>=0)<0?s=0:s>this.pageHeight-this.viewHeight&&(s=this.pageHeight-this.viewHeight),s},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(o){this.height=Math.max(0,o),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},t.prototype.setScrollHeight=function(o,s){this.pageHeight===o&&!s||(this.pageHeight=o,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})))},t.prototype.setScrollTop=function(o){this.scrollTop=o,o<0&&(o=0),this.thumbTop=o*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},t}(r);i.prototype.setInnerHeight=i.prototype.setScrollHeight;var n=function(e){function t(o,s){var c=e.call(this,o,"-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 x(t,e),t.prototype.onMouseDown=function(o,s){if("mousedown"===o&&0===a.getButton(s)&&2!==s.detail){if(s.target===this.inner){var c=this,g=s.clientX,b=s.clientX,y=this.thumbLeft;a.capture(this.inner,function(f){g=f.clientX},function(){clearInterval(v)});var v=setInterval(function(){if(void 0!==g){var f=c.scrollLeftFromThumbLeft(y+g-b);f!==c.scrollLeft&&c._emit("scroll",{data:f})}},20);return a.preventDefault(s)}var $=s.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft($)}),a.preventDefault(s)}},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.scrollLeftFromThumbLeft=function(o){var s=o*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return(s>>=0)<0?s=0:s>this.pageWidth-this.viewWidth&&(s=this.pageWidth-this.viewWidth),s},t.prototype.setWidth=function(o){this.width=Math.max(0,o),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},t.prototype.setScrollWidth=function(o,s){this.pageWidth===o&&!s||(this.pageWidth=o,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})))},t.prototype.setScrollLeft=function(o){this.scrollLeft=o,o<0&&(o=0),this.thumbLeft=o*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},t}(r);n.prototype.setInnerWidth=n.prototype.setScrollWidth,M.ScrollBar=i,M.ScrollBarV=i,M.ScrollBarH=n,M.VScrollBar=i,M.HScrollBar=n}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(E,M,H){"use strict";var x=E("./lib/event"),k=function(){function S(a,l){this.onRender=a,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=l||window;var r=this;this._flush=function(i){r.pending=!1;var n=r.changes;if(n&&(x.blockIdle(100),r.changes=0,r.onRender(n)),r.changes){if(r.$recursionLimit--<0)return;r.schedule()}else r.$recursionLimit=2}}return S.prototype.schedule=function(a){this.changes=this.changes|a,this.changes&&!this.pending&&(x.nextFrame(this._flush),this.pending=!0)},S.prototype.clear=function(a){var l=this.changes;return this.changes=0,l},S}();M.RenderLoop=k}),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(E,M,H){var x=E("../lib/oop"),k=E("../lib/dom"),S=E("../lib/lang"),a=E("../lib/event"),l=E("../lib/useragent"),r=E("../lib/event_emitter").EventEmitter,i=512,n="function"==typeof ResizeObserver,e=200,t=function(){function o(s){this.el=k.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=k.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=k.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),s.appendChild(this.el),this.$measureNode.textContent=S.stringRepeat("X",i),this.$characterSize={width:0,height:0},n?this.$addObserver():this.checkForSizeChanges()}return o.prototype.$setMeasureNodeStyles=function(s,c){s.width=s.height="auto",s.left=s.top="0px",s.visibility="hidden",s.position="absolute",s.whiteSpace="pre",l.isIE<8?s["font-family"]="inherit":s.font="inherit",s.overflow=c?"hidden":"visible"},o.prototype.checkForSizeChanges=function(s){if(void 0===s&&(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})}},o.prototype.$addObserver=function(){var s=this;this.$observer=new window.ResizeObserver(function(c){s.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},o.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var s=this;return this.$pollSizeChangesTimer=a.onIdle(function c(){s.checkForSizeChanges(),a.onIdle(c,500)},500)},o.prototype.setPolling=function(s){s?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},o.prototype.$measureSizes=function(s){var c={height:(s||this.$measureNode).clientHeight,width:(s||this.$measureNode).clientWidth/i};return 0===c.width||0===c.height?null:c},o.prototype.$measureCharWidth=function(s){return this.$main.textContent=S.stringRepeat(s,i),this.$main.getBoundingClientRect().width/i},o.prototype.getCharacterWidth=function(s){var c=this.charSizes[s];return void 0===c&&(c=this.charSizes[s]=this.$measureCharWidth(s)/this.$characterSize.width),c},o.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},o.prototype.$getZoom=function(s){return s&&s.parentElement?(window.getComputedStyle(s).zoom||1)*this.$getZoom(s.parentElement):1},o.prototype.$initTransformMeasureNodes=function(){var s=function(c,g){return["div",{style:"position: absolute;top:"+c+"px;left:"+g+"px;"}]};this.els=k.buildDom([s(0,0),s(e,0),s(0,e),s(e,e)],this.el)},o.prototype.transformCoordinates=function(s,c){function w(O,I,W){var D=O[1]*I[0]-O[0]*I[1];return[(-I[1]*W[0]+I[0]*W[1])/D,(+O[1]*W[0]-O[0]*W[1])/D]}function p(O,I){return[O[0]-I[0],O[1]-I[1]]}function b(O,I){return[O[0]+I[0],O[1]+I[1]]}function y(O,I){return[O*I[0],O*I[1]]}function d(O){var I=O.getBoundingClientRect();return[I.left,I.top]}s&&(s=y(1/this.$getZoom(this.el),s)),this.els||this.$initTransformMeasureNodes();var v=d(this.els[0]),$=d(this.els[1]),f=d(this.els[2]),u=d(this.els[3]),A=w(p(u,$),p(u,f),p(b($,f),b(u,v))),m=y(1+A[0],p($,v)),h=y(1+A[1],p(f,v));if(c){var C=c,L=A[0]*C[0]/e+A[1]*C[1]/e+1,T=b(y(C[0],m),y(C[1],h));return b(y(1/L/e,T),v)}var R=p(s,v),_=w(p(m,y(A[0],R)),p(h,y(A[1],R)),R);return y(e,_)},o}();t.prototype.$characterSize={width:0,height:0},x.implement(t.prototype,r),M.FontMetrics=t}),ace.define("ace/css/editor-css",["require","exports","module"],function(E,M,H){H.exports='\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n\n.ace_keyboard-focus:focus {\n box-shadow: inset 0 0 0 2px #5E9ED6;\n outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n content: "";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n margin-left: -14px;\n float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n margin-left: -19px;\n float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold {\n 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==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n 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==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: royalblue;\n}\n\n.ace_icon_svg.ace_error_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n background-color: darkorange;\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts   instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #f5f5f5;\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n max-width: 100%;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n}\n\n.ace_tooltip.ace_dark {\n background-color: #636363;\n color: #fff;\n}\n\n.ace_tooltip:focus {\n outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n display: inline-block;\n width: 18px;\n vertical-align: top;\n}\n\n.ace_icon_svg {\n display: inline-block;\n width: 12px;\n vertical-align: top;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: 12px;\n -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n}\n\n.ace_ghost_text {\n opacity: 0.5;\n font-style: italic;\n white-space: pre;\n}'}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(E,M,H){"use strict";var x=E("../lib/dom"),k=E("../lib/oop"),S=E("../lib/event_emitter").EventEmitter,a=function(){function l(r,i){this.canvas=x.createElement("canvas"),this.renderer=i,this.pixelRatio=1,this.maxHeight=i.layerConfig.maxHeight,this.lineHeight=i.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 l.prototype.$updateDecorators=function(r){var i=!0===this.renderer.theme.isDark?this.colors.dark:this.colors.light;r&&(this.maxHeight=r.maxHeight,this.lineHeight=r.lineHeight,this.canvasHeight=r.height,this.heightRatio=(r.lastRow+1)*this.lineHeightA.priority?1:0});for(var c=this.renderer.session.$foldData,g=0;gthis.canvasHeight&&($=this.canvasHeight-this.halfMinDecorationHeight),y=Math.round($-this.halfMinDecorationHeight),d=Math.round($+this.halfMinDecorationHeight)}e.fillStyle=i[o[g].type]||null,e.fillRect(0,b,this.canvasWidth,d-y)}}var f=this.renderer.session.selection.getCursor();f&&(p=this.compensateFoldRows(f.row,c),b=Math.round((f.row-p)*this.lineHeight*this.heightRatio),e.fillStyle="rgba(0, 0, 0, 0.5)",e.fillRect(0,b,this.canvasWidth,2))},l.prototype.compensateFoldRows=function(r,i){var n=0;if(i&&i.length>0)for(var e=0;ei[e].start.row&&r=i[e].end.row&&(n+=i[e].end.row-i[e].start.row);return n},l}();k.implement(a.prototype,S),M.Decorator=a}),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"],function(E,M,H){"use strict";var x=E("./lib/oop"),k=E("./lib/dom"),S=E("./lib/lang"),a=E("./config"),l=E("./layer/gutter").Gutter,r=E("./layer/marker").Marker,i=E("./layer/text").Text,n=E("./layer/cursor").Cursor,e=E("./scrollbar").HScrollBar,t=E("./scrollbar").VScrollBar,o=E("./scrollbar_custom").HScrollBar,s=E("./scrollbar_custom").VScrollBar,c=E("./renderloop").RenderLoop,g=E("./layer/font_metrics").FontMetrics,w=E("./lib/event_emitter").EventEmitter,p=E("./css/editor-css"),b=E("./layer/decorators").Decorator,y=E("./lib/useragent");k.importCssString(p,"ace_editor.css",!1);var d=function(){function v($,f){var u=this;this.container=$||k.createElement("div"),k.addCssClass(this.container,"ace_editor"),k.HI_DPI&&k.addCssClass(this.container,"ace_hidpi"),this.setTheme(f),null==a.get("useStrictCSP")&&a.set("useStrictCSP",!1),this.$gutter=k.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=k.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=k.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new l(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new r(this.content);var A=this.$textLayer=new i(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 t(this.container,this),this.scrollBarH=new e(this.container,this),this.scrollBarV.on("scroll",function(m){u.$scrollAnimation||u.session.setScrollTop(m.data-u.scrollMargin.top)}),this.scrollBarH.on("scroll",function(m){u.$scrollAnimation||u.session.setScrollLeft(m.data-u.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new g(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(m){u.updateCharacterSize(),u.onResize(!0,u.gutterWidth,u.$size.width,u.$size.height),u._signal("changeCharacterSize",m)}),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=!y.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(),a.resetOptions(this),a._signal("renderer",this)}return v.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(),k.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},v.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))},v.prototype.updateLines=function($,f,u){if(void 0===f&&(f=1/0),this.$changedLines?(this.$changedLines.firstRow>$&&(this.$changedLines.firstRow=$),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},v.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},v.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},v.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},v.prototype.updateFull=function($){$?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},v.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},v.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},v.prototype.onResize=function($,f,u,A){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=$?1:0;var m=this.container;A||(A=m.clientHeight||m.scrollHeight),u||(u=m.clientWidth||m.scrollWidth);var h=this.$updateCachedSize($,f,u,A);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!u&&!A)return this.resizing=0;$&&(this.$gutterLayer.$padding=null),$?this.$renderChanges(h|this.$changes,!0):this.$loop.schedule(h|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},v.prototype.$updateCachedSize=function($,f,u,A){var m=0,h=this.$size,C={width:h.width,height:h.height,scrollerHeight:h.scrollerHeight,scrollerWidth:h.scrollerWidth};if((A-=this.$extraHeight||0)&&($||h.height!=A)&&(h.height=A,m|=this.CHANGE_SIZE,h.scrollerHeight=h.height,this.$horizScroll&&(h.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(h.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",m|=this.CHANGE_SCROLL),u&&($||h.width!=u)){m|=this.CHANGE_SIZE,h.width=u,null==f&&(f=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=f,k.setStyle(this.scrollBarH.element.style,"left",f+"px"),k.setStyle(this.scroller.style,"left",f+this.margin.left+"px"),h.scrollerWidth=Math.max(0,u-f-this.scrollBarV.getWidth()-this.margin.h),k.setStyle(this.$gutter.style,"left",this.margin.left+"px");var L=this.scrollBarV.getWidth()+"px";k.setStyle(this.scrollBarH.element.style,"right",L),k.setStyle(this.scroller.style,"right",L),k.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(h.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||$)&&(m|=this.CHANGE_FULL)}return h.$dirty=!u||!A,m&&this._signal("resize",C),m},v.prototype.onGutterResize=function($){var f=this.$showGutter?$:0;f!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,f,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},v.prototype.adjustWrapLimit=function(){var f=Math.floor((this.$size.scrollerWidth-2*this.$padding)/this.characterWidth);return this.session.adjustWrapLimit(f,this.$showPrintMargin&&this.$printMarginColumn)},v.prototype.setAnimatedScroll=function($){this.setOption("animatedScroll",$)},v.prototype.getAnimatedScroll=function(){return this.$animatedScroll},v.prototype.setShowInvisibles=function($){this.setOption("showInvisibles",$),this.session.$bidiHandler.setShowInvisibles($)},v.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},v.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},v.prototype.setDisplayIndentGuides=function($){this.setOption("displayIndentGuides",$)},v.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},v.prototype.setHighlightIndentGuides=function($){this.setOption("highlightIndentGuides",$)},v.prototype.setShowPrintMargin=function($){this.setOption("showPrintMargin",$)},v.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},v.prototype.setPrintMarginColumn=function($){this.setOption("printMarginColumn",$)},v.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},v.prototype.getShowGutter=function(){return this.getOption("showGutter")},v.prototype.setShowGutter=function($){return this.setOption("showGutter",$)},v.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},v.prototype.setFadeFoldWidgets=function($){this.setOption("fadeFoldWidgets",$)},v.prototype.setHighlightGutterLine=function($){this.setOption("highlightGutterLine",$)},v.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},v.prototype.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var $=k.createElement("div");$.className="ace_layer ace_print-margin-layer",this.$printMarginEl=k.createElement("div"),this.$printMarginEl.className="ace_print-margin",$.appendChild(this.$printMarginEl),this.content.insertBefore($,this.content.firstChild)}var f=this.$printMarginEl.style;f.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",f.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},v.prototype.getContainerElement=function(){return this.container},v.prototype.getMouseEventTarget=function(){return this.scroller},v.prototype.getTextAreaContainer=function(){return this.container},v.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var $=this.textarea.style,f=this.$composition;if(!this.$keepTextAreaAtCursor&&!f)return void k.translate(this.textarea,-100,0);var u=this.$cursorLayer.$pixelPos;if(u){f&&f.markerRange&&(u=this.$cursorLayer.getPixelPosition(f.markerRange.start,!0));var A=this.layerConfig,m=u.top,h=u.left,C=f&&f.useTextareaForIME||y.isMobile?this.lineHeight:1;if((m-=A.offset)<0||m>A.height-C)return void k.translate(this.textarea,0,0);var L=1,T=this.$size.height-C;f?f.useTextareaForIME?L=this.characterWidth*this.session.$getStringScreenWidth(this.textarea.value)[0]:m+=this.lineHeight+2:m+=this.lineHeight,(h-=this.scrollLeft)>this.$size.scrollerWidth-L&&(h=this.$size.scrollerWidth-L),h+=this.gutterWidth+this.margin.left,k.setStyle($,"height",C+"px"),k.setStyle($,"width",L+"px"),k.translate(this.textarea,Math.min(h,this.$size.scrollerWidth-L),Math.min(m,T))}}},v.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},v.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},v.prototype.getLastFullyVisibleRow=function(){var $=this.layerConfig,f=$.lastRow;return this.session.documentToScreenRow(f,0)*$.lineHeight-this.session.getScrollTop()>$.height-$.lineHeight?f-1:f},v.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},v.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()},v.prototype.setScrollMargin=function($,f,u,A){var m=this.scrollMargin;m.top=0|$,m.bottom=0|f,m.right=0|A,m.left=0|u,m.v=m.top+m.bottom,m.h=m.left+m.right,m.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-m.top),this.updateFull()},v.prototype.setMargin=function($,f,u,A){var m=this.margin;m.top=0|$,m.bottom=0|f,m.right=0|A,m.left=0|u,m.v=m.top+m.bottom,m.h=m.left+m.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},v.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},v.prototype.setHScrollBarAlwaysVisible=function($){this.setOption("hScrollBarAlwaysVisible",$)},v.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},v.prototype.setVScrollBarAlwaysVisible=function($){this.setOption("vScrollBarAlwaysVisible",$)},v.prototype.$updateScrollBarV=function(){var $=this.layerConfig.maxHeight,f=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&this.scrollTop>($-=(f-this.lineHeight)*this.$scrollPastEnd)-f&&($=this.scrollTop+f,this.scrollBarV.scrollTop=null),this.scrollBarV.setScrollHeight($+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},v.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},v.prototype.freeze=function(){this.$frozen=!0},v.prototype.unfreeze=function(){this.$frozen=!1},v.prototype.$renderChanges=function($,f){if(this.$changes&&($|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&($||f)){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 u=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(),u.firstRow!=this.layerConfig.firstRow&&u.firstRowScreen==this.layerConfig.firstRowScreen){var A=this.scrollTop+(u.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;A>0&&(this.scrollTop=A,$|=this.CHANGE_SCROLL,$|=this.$computeLayerConfig()|this.$loop.clear())}u=this.layerConfig,this.$updateScrollBarV(),$&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),k.translate(this.content,-this.scrollLeft,-u.offset);var h=u.minHeight+"px";k.setStyle(this.content.style,"width",u.width+2*this.$padding+"px"),k.setStyle(this.content.style,"height",h)}return $&this.CHANGE_H_SCROLL&&(k.translate(this.content,-this.scrollLeft,-u.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(u),this.$showGutter&&this.$gutterLayer.update(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u),this.$markerBack.update(u),this.$markerFront.update(u),this.$cursorLayer.update(u),this.$moveTextAreaToCursor(),void this._signal("afterRender",$)):$&this.CHANGE_SCROLL?(this.$changedLines=null,$&this.CHANGE_TEXT||$&this.CHANGE_LINES?this.$textLayer.update(u):this.$textLayer.scrollLines(u),this.$showGutter&&($&this.CHANGE_GUTTER||$&this.CHANGE_LINES?this.$gutterLayer.update(u):this.$gutterLayer.scrollLines(u)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u),this.$markerBack.update(u),this.$markerFront.update(u),this.$cursorLayer.update(u),this.$moveTextAreaToCursor(),void this._signal("afterRender",$)):($&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(u),this.$showGutter&&this.$gutterLayer.update(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u)):$&this.CHANGE_LINES?((this.$updateLines()||$&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u)):$&this.CHANGE_TEXT||$&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u)):$&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(u),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(u)),$&this.CHANGE_CURSOR&&(this.$cursorLayer.update(u),this.$moveTextAreaToCursor()),$&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(u),$&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(u),void this._signal("afterRender",$))}this.$changes|=$},v.prototype.$autosize=function(){var $=this.session.getScreenLength()*this.lineHeight,f=this.$maxLines*this.lineHeight,u=Math.min(f,Math.max((this.$minLines||1)*this.lineHeight,$))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(u+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&u>this.$maxPixelHeight&&(u=this.$maxPixelHeight);var m=!(u<=2*this.lineHeight)&&$>f;if(u!=this.desiredHeight||this.$size.height!=this.desiredHeight||m!=this.$vScroll){m!=this.$vScroll&&(this.$vScroll=m,this.scrollBarV.setVisible(m));var h=this.container.clientWidth;this.container.style.height=u+"px",this.$updateCachedSize(!0,this.$gutterWidth,h,u),this.desiredHeight=u,this._signal("autosize")}},v.prototype.$computeLayerConfig=function(){var $=this.session,f=this.$size,u=f.height<=2*this.lineHeight,m=this.session.getScreenLength()*this.lineHeight,h=this.$getLongestLine(),C=!u&&(this.$hScrollBarAlwaysVisible||f.scrollerWidth-h-2*this.$padding<0),L=this.$horizScroll!==C;L&&(this.$horizScroll=C,this.scrollBarH.setVisible(C));var T=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var R=f.scrollerHeight+this.lineHeight,_=!this.$maxLines&&this.$scrollPastEnd?(f.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;m+=_;var O=this.scrollMargin;this.session.setScrollTop(Math.max(-O.top,Math.min(this.scrollTop,m-f.scrollerHeight+O.bottom))),this.session.setScrollLeft(Math.max(-O.left,Math.min(this.scrollLeft,h+2*this.$padding-f.scrollerWidth+O.right)));var I=!u&&(this.$vScrollBarAlwaysVisible||f.scrollerHeight-m+_<0||this.scrollTop>O.top),W=T!==I;W&&(this.$vScroll=I,this.scrollBarV.setVisible(I));var P,G,D=this.scrollTop%this.lineHeight,F=Math.ceil(R/this.lineHeight)-1,B=Math.max(0,Math.round((this.scrollTop-D)/this.lineHeight)),V=B+F,z=this.lineHeight;B=$.screenToDocumentRow(B,0);var K=$.getFoldLine(B);K&&(B=K.start.row),P=$.documentToScreenRow(B,0),G=$.getRowLength(B)*z,V=Math.min($.screenToDocumentRow(V,0),$.getLength()-1),R=f.scrollerHeight+$.getRowLength(V)*z+G,D=this.scrollTop-P*z;var Y=0;return(this.layerConfig.width!=h||L)&&(Y=this.CHANGE_H_SCROLL),(L||W)&&(Y|=this.$updateCachedSize(!0,this.gutterWidth,f.width,f.height),this._signal("scrollbarVisibilityChanged"),W&&(h=this.$getLongestLine())),this.layerConfig={width:h,padding:this.$padding,firstRow:B,firstRowScreen:P,lastRow:V,lineHeight:z,characterWidth:this.characterWidth,minHeight:R,maxHeight:m,offset:D,gutterOffset:z?Math.max(0,Math.ceil((D+f.height-f.scrollerHeight)/z)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(h-this.$padding),Y},v.prototype.$updateLines=function(){if(this.$changedLines){var $=this.$changedLines.firstRow,f=this.$changedLines.lastRow;this.$changedLines=null;var u=this.layerConfig;if(!($>u.lastRow+1||fthis.$textLayer.MAX_LINE_LENGTH&&($=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round($*this.characterWidth))},v.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},v.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},v.prototype.addGutterDecoration=function($,f){this.$gutterLayer.addGutterDecoration($,f)},v.prototype.removeGutterDecoration=function($,f){this.$gutterLayer.removeGutterDecoration($,f)},v.prototype.updateBreakpoints=function($){this.$loop.schedule(this.CHANGE_GUTTER)},v.prototype.setAnnotations=function($){this.$gutterLayer.setAnnotations($),this.$loop.schedule(this.CHANGE_GUTTER)},v.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},v.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},v.prototype.showCursor=function(){this.$cursorLayer.showCursor()},v.prototype.scrollSelectionIntoView=function($,f,u){this.scrollCursorIntoView($,u),this.scrollCursorIntoView(f,u)},v.prototype.scrollCursorIntoView=function($,f,u){if(0!==this.$size.scrollerHeight){var A=this.$cursorLayer.getPixelPosition($),m=A.left,h=A.top,C=u&&u.top||0,L=u&&u.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var T=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;T+C>h?(f&&T+C>h+this.lineHeight&&(h-=f*this.$size.scrollerHeight),0===h&&(h=-this.scrollMargin.top),this.session.setScrollTop(h)):T+this.$size.scrollerHeight-L=1-this.scrollMargin.top||f>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},v.prototype.pixelToScreenCoordinates=function($,f){var u;if(this.$hasCssTransforms){u={top:0,left:0};var A=this.$fontMetrics.transformCoordinates([$,f]);$=A[1]-this.gutterWidth-this.margin.left,f=A[0]}else u=this.scroller.getBoundingClientRect();var m=$+this.scrollLeft-u.left-this.$padding,h=m/this.characterWidth,C=Math.floor((f+this.scrollTop-u.top)/this.lineHeight),L=this.$blockCursor?Math.floor(h):Math.round(h);return{row:C,column:L,side:h-L>0?1:-1,offsetX:m}},v.prototype.screenToTextCoordinates=function($,f){var u;if(this.$hasCssTransforms){u={top:0,left:0};var A=this.$fontMetrics.transformCoordinates([$,f]);$=A[1]-this.gutterWidth-this.margin.left,f=A[0]}else u=this.scroller.getBoundingClientRect();var m=$+this.scrollLeft-u.left-this.$padding,h=m/this.characterWidth,C=this.$blockCursor?Math.floor(h):Math.round(h),L=Math.floor((f+this.scrollTop-u.top)/this.lineHeight);return this.session.screenToDocumentPosition(L,Math.max(C,0),m)},v.prototype.textToScreenCoordinates=function($,f){var u=this.scroller.getBoundingClientRect(),A=this.session.documentToScreenPosition($,f),m=this.$padding+(this.session.$bidiHandler.isBidiRow(A.row,$)?this.session.$bidiHandler.getPosLeft(A.column):Math.round(A.column*this.characterWidth));return{pageX:u.left+m-this.scrollLeft,pageY:u.top+A.row*this.lineHeight-this.scrollTop}},v.prototype.visualizeFocus=function(){k.addCssClass(this.container,"ace_focus")},v.prototype.visualizeBlur=function(){k.removeCssClass(this.container,"ace_focus")},v.prototype.showComposition=function($){this.$composition=$,$.cssText||($.cssText=this.textarea.style.cssText),null==$.useTextareaForIME&&($.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(k.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")},v.prototype.setCompositionText=function($){var f=this.session.selection.cursor;this.addToken($,"composition_placeholder",f.row,f.column),this.$moveTextAreaToCursor()},v.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),k.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=""}},v.prototype.setGhostText=function($,f){var u=this.session.selection.cursor,A=f||{row:u.row,column:u.column};this.removeGhostText();var m=$.split("\n");this.addToken(m[0],"ghost_text",A.row,A.column),this.$ghostText={text:$,position:{row:A.row,column:A.column}},m.length>1&&(this.$ghostTextWidget={text:m.slice(1).join("\n"),row:A.row,column:A.column,className:"ace_ghost_text"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget))},v.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}},v.prototype.addToken=function($,f,u,A){var m=this.session;m.bgTokenizer.lines[u]=null;var h={type:f,value:$},C=m.getTokens(u);if(null!=A&&C.length)for(var L=0,T=0;T1||Math.abs($.$size.height-A)>1?$.$resizeTimer.delay():$.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},v}();d.prototype.CHANGE_CURSOR=1,d.prototype.CHANGE_MARKER=2,d.prototype.CHANGE_GUTTER=4,d.prototype.CHANGE_SCROLL=8,d.prototype.CHANGE_LINES=16,d.prototype.CHANGE_TEXT=32,d.prototype.CHANGE_SIZE=64,d.prototype.CHANGE_MARKER_BACK=128,d.prototype.CHANGE_MARKER_FRONT=256,d.prototype.CHANGE_FULL=512,d.prototype.CHANGE_H_SCROLL=1024,d.prototype.$changes=0,d.prototype.$padding=null,d.prototype.$frozen=!1,d.prototype.STEPS=8,x.implement(d.prototype,w),a.defineOptions(d.prototype,"renderer",{useResizeObserver:{set:function(v){!v&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):v&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(v){this.$textLayer.setShowInvisibles(v)&&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(v){"number"==typeof v&&(this.$printMarginColumn=v),this.$showPrintMargin=!!v,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(v){this.$gutter.style.display=v?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(v){this.$gutterLayer.$useSvgGutterIcons=v},initialValue:!1},showFoldedAnnotations:{set:function(v){this.$gutterLayer.$showFoldedAnnotations=v},initialValue:!1},fadeFoldWidgets:{set:function(v){k.setCssClass(this.$gutter,"ace_fade-fold-widgets",v)},initialValue:!1},showFoldWidgets:{set:function(v){this.$gutterLayer.setShowFoldWidgets(v),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(v){this.$textLayer.setDisplayIndentGuides(v)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(v){1==this.$textLayer.setHighlightIndentGuides(v)?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(v){this.$gutterLayer.setHighlightGutterLine(v),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(v){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(v){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(v){"number"==typeof v&&(v+="px"),this.container.style.fontSize=v,this.updateFontSize()},initialValue:12},fontFamily:{set:function(v){this.container.style.fontFamily=v,this.updateFontSize()}},maxLines:{set:function(v){this.updateFull()}},minLines:{set:function(v){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(v){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(v){this.$scrollPastEnd!=(v=+v||0)&&(this.$scrollPastEnd=v,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(v){this.$gutterLayer.$fixedWidth=!!v,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(v){this.$updateCustomScrollbar(v)},initialValue:!1},theme:{set:function(v){this.setTheme(v)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!y.isMobile&&!y.isIE}}),M.VirtualRenderer=d}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(E,M,H){"use strict";var x=E("../lib/oop"),k=E("../lib/net"),S=E("../lib/event_emitter").EventEmitter,a=E("../config");function r(e){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(a.get("loadWorkerFromBlob")){var t=function l(e){var t="importScripts('"+k.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch{var s=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return s.append(t),s.getBlob("application/javascript")}}(e),s=(window.URL||window.webkitURL).createObjectURL(t);return new Worker(s)}return new Worker(e)}var i=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,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(){x.implement(this,S),this.$createWorkerFromOldConfig=function(e,t,o,s,c){if(E.nameToUrl&&!E.toUrl&&(E.toUrl=E.nameToUrl),a.get("packaged")||!E.toUrl)s=s||a.moduleUrl(t,"worker");else{var g=this.$normalizePath;s=s||g(E.toUrl("ace/worker/worker.js",null,"_"));var w={};e.forEach(function(p){w[p]=g(E.toUrl(p,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=r(s),c&&this.send("importScripts",c),this.$worker.postMessage({init:!0,tlns:w,module:t,classname:o}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var o=this.callbacks[t.id];o&&(o(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return k.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(e){e.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,o){if(o){var s=this.callbackId++;this.callbacks[s]=o,t.push(s)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker&&this.$worker.postMessage({event:e,data:{data:t.data}})}catch(o){console.error(o.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener,!0)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),this.deltaQueue.push(e.start,"insert"==e.action?e.lines:e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(i.prototype),M.UIWorkerClient=function(e,t,o){var s=null,c=!1,g=Object.create(S),w=[],p=new i({messageBuffer:w,terminate:function(){},postMessage:function(y){w.push(y),s&&(c?setTimeout(b):b())}});p.setEmitSync=function(y){c=y};var b=function(){var y=w.shift();y.command?s[y.command].apply(s,y.args):y.event&&g._signal(y.event,y.data)};return g.postMessage=function(y){p.onMessage({data:y})},g.callback=function(y,d){this.postMessage({type:"call",id:d,data:y})},g.emit=function(y,d){this.postMessage({type:"event",name:y,data:d})},a.loadModule(["worker",t],function(y){for(s=new y[o](g);w.length;)b()}),p},M.WorkerClient=i,M.createWorker=r}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(E,M,H){"use strict";var x=E("./range").Range,k=E("./lib/event_emitter").EventEmitter,S=E("./lib/oop"),a=function(){function l(r,i,n,e,t,o){var s=this;this.length=i,this.session=r,this.doc=r.getDocument(),this.mainClass=t,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=e,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 l.prototype.setup=function(){var r=this,i=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=i.createAnchor(this.$pos.row,this.$pos.column);var e=this.pos;e.$insertRight=!0,e.detach(),e.markerId=n.addMarker(new x(e.row,e.column,e.row,e.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(t){var o=i.createAnchor(t.row,t.column);o.$insertRight=!0,o.detach(),r.others.push(o)}),n.setUndoSelect(!1)},l.prototype.showOtherMarkers=function(){if(!this.othersActive){var r=this.session,i=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=r.addMarker(new x(n.row,n.column,n.row,n.column+i.length),i.othersClass,null,!1)})}},l.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var r=0;r=this.pos.column&&i.start.column<=this.pos.column+this.length+1,t=i.start.column-this.pos.column;if(this.updateAnchors(r),e&&(this.length+=n),e&&!this.session.$fromUndo)if("insert"===r.action)for(var o=this.others.length-1;o>=0;o--)this.doc.insertMergedLines(c={row:(s=this.others[o]).row,column:s.column+t},r.lines);else if("remove"===r.action)for(o=this.others.length-1;o>=0;o--){var s,c;this.doc.remove(new x((c={row:(s=this.others[o]).row,column:s.column+t}).row,c.column,c.row,c.column-n))}this.$updating=!1,this.updateMarkers()}},l.prototype.updateAnchors=function(r){this.pos.onChange(r);for(var i=this.others.length;i--;)this.others[i].onChange(r);this.updateMarkers()},l.prototype.updateMarkers=function(){if(!this.$updating){var r=this,i=this.session,n=function(t,o){i.removeMarker(t.markerId),t.markerId=i.addMarker(new x(t.row,t.column,t.row,t.column+r.length),o,null,!1)};n(this.pos,this.mainClass);for(var e=this.others.length;e--;)n(this.others[e],this.othersClass)}},l.prototype.onCursorChange=function(r){if(!this.$updating&&this.session){var i=this.session.selection.getCursor();i.row===this.pos.row&&i.column>=this.pos.column&&i.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",r)):(this.hideOtherMarkers(),this._emit("cursorLeave",r))}},l.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},l.prototype.cancel=function(){if(-1!==this.$undoStackDepth){for(var r=this.session.getUndoManager(),i=(r.$undoStack||r.$undostack).length-this.$undoStackDepth,n=0;n1?k.multiSelect.joinSelections():k.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(k){k.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(k){k.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(k){k.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],M.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(k){k.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(k){return k&&k.inMultiSelectMode}}];var x=E("../keyboard/hash_handler").HashHandler;M.keyboardHandler=new x(M.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(E,M,H){var x=E("./range_list").RangeList,k=E("./range").Range,S=E("./selection").Selection,a=E("./mouse/multi_select_handler").onMouseDown,l=E("./lib/event"),r=E("./lib/lang"),i=E("./commands/multi_select_commands");M.commands=i.defaultCommands.concat(i.multiSelectCommands);var e=new(0,E("./search").Search),o=E("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(o.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(p,b){if(p){if(!this.inMultiSelectMode&&0===this.rangeCount){var y=this.toOrientedRange();if(this.rangeList.add(y),this.rangeList.add(p),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),b||this.fromOrientedRange(p);this.rangeList.removeAll(),this.rangeList.add(y),this.$onAddRange(y)}p.cursor||(p.cursor=p.end);var d=this.rangeList.add(p);return this.$onAddRange(p),d.length&&this.$onRemoveRange(d),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(p)}},this.toSingleRange=function(p){p=p||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),p&&this.fromOrientedRange(p)},this.substractPoint=function(p){var b=this.rangeList.substractPoint(p);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var p=this.rangeList.merge();p.length&&this.$onRemoveRange(p)},this.$onAddRange=function(p){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(p),this._signal("addRange",{range:p})},this.$onRemoveRange=function(p){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();p.push(b),this.rangeCount=0}for(var y=p.length;y--;){var d=this.ranges.indexOf(p[y]);this.ranges.splice(d,1)}this._signal("removeRange",{ranges:p}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(b=b||this.ranges[0])&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new x,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var p=this.ranges.length?this.ranges:[this.getRange()],b=[],y=0;y1){var p=this.rangeList.ranges,b=p[p.length-1],y=k.fromPoints(p[0].start,b.end);this.toSingleRange(),this.setSelectionRange(y,b.cursor==b.start)}else{var d=this.session.documentToScreenPosition(this.cursor),v=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(d,v).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(p,b,y){var d=[],v=p.column0;)_--;if(_>0)for(var O=0;d[O].isEmpty();)O++;for(var I=_;I>=O;I--)d[I].isEmpty()&&d.splice(I,1)}return d}}.call(S.prototype);var s=E("./editor").Editor;function c(p,b){return p.row==b.row&&p.column==b.column}function g(p){p.$multiselectOnSessionChange||(p.$onAddRange=p.$onAddRange.bind(p),p.$onRemoveRange=p.$onRemoveRange.bind(p),p.$onMultiSelect=p.$onMultiSelect.bind(p),p.$onSingleSelect=p.$onSingleSelect.bind(p),p.$multiselectOnSessionChange=M.onSessionChange.bind(p),p.$checkMultiselectChange=p.$checkMultiselectChange.bind(p),p.$multiselectOnSessionChange(p),p.on("changeSession",p.$multiselectOnSessionChange),p.on("mousedown",a),p.commands.addCommands(i.defaultCommands),function w(p){if(p.textInput){var b=p.textInput.getElement(),y=!1;l.addListener(b,"keydown",function(v){p.$blockSelectEnabled&&18==v.keyCode&&!(v.ctrlKey||v.shiftKey||v.metaKey)?y||(p.renderer.setMouseCursor("crosshair"),y=!0):y&&d()},p),l.addListener(b,"keyup",d,p),l.addListener(b,"blur",d,p)}function d(v){y&&(p.renderer.setMouseCursor(""),y=!1)}}(p))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(p){p.cursor||(p.cursor=p.end);var b=this.getSelectionStyle();return p.marker=this.session.addMarker(p,"ace_selection",b),this.session.$selectionMarkers.push(p),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,p},this.removeSelectionMarker=function(p){if(p.marker){this.session.removeMarker(p.marker);var b=this.session.$selectionMarkers.indexOf(p);-1!=b&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(p){for(var b=this.session.$selectionMarkers,y=p.length;y--;){var d=p[y];if(d.marker){this.session.removeMarker(d.marker);var v=b.indexOf(d);-1!=v&&b.splice(v,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(p){this.addSelectionMarker(p.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(p){this.removeSelectionMarkers(p.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(p){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(i.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(p){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(i.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(p){var b=p.command,y=p.editor;if(y.multiSelect){if(b.multiSelectAction)"forEach"==b.multiSelectAction?d=y.forEachSelection(b,p.args):"forEachLine"==b.multiSelectAction?d=y.forEachSelection(b,p.args,!0):"single"==b.multiSelectAction?(y.exitMultiSelectMode(),d=b.exec(y,p.args||{})):d=b.multiSelectAction(y,p.args||{});else{var d=b.exec(y,p.args||{});y.multiSelect.addRange(y.multiSelect.toOrientedRange()),y.multiSelect.mergeOverlappingRanges()}return d}},this.forEachSelection=function(p,b,y){if(!this.inVirtualSelectionMode){var m,v=1==y||y&&y.$byLines,$=this.session,f=this.selection,A=(y&&y.keepOrder?f:f.rangeList).ranges;if(!A.length)return p.exec?p.exec(this,b||{}):p(this,b||{});var h=f._eventRegistry;f._eventRegistry={};var C=new S($);this.inVirtualSelectionMode=!0;for(var L=A.length;L--;){if(v)for(;L>0&&A[L].start.row==A[L-1].end.row;)L--;C.fromOrientedRange(A[L]),C.index=L,this.selection=$.selection=C;var T=p.exec?p.exec(this,b||{}):p(this,b||{});!m&&void 0!==T&&(m=T),C.toOrientedRange(A[L])}C.detach(),this.selection=$.selection=f,this.inVirtualSelectionMode=!1,f._eventRegistry=h,f.mergeOverlappingRanges(),f.ranges[0]&&f.fromOrientedRange(f.ranges[0]);var R=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),R&&R.from==R.to&&this.renderer.animateScrolling(R.from),m}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var p="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,y=[],d=0;dL&&(L=O.column),WD?p.insert(I,r.stringRepeat(" ",W-D)):p.remove(new k(I.row,I.column,I.row,I.column-W+D)),_.start.column=_.end.column=L,_.start.row=_.end.row=I.row,_.cursor=_.end}),b.fromOrientedRange(y[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var $=this.selection.getRange(),f=$.start.row,u=$.end.row,A=f==u;if(A){var h,m=this.session.getLength();do{h=this.session.getLine(u)}while(/[=:]/.test(h)&&++u0);f<0&&(f=0),u>=m&&(u=m-1)}var C=this.session.removeFullLines(f,u);C=this.$reAlignText(C,A),this.session.insert({row:f,column:0},C.join("\n")+"\n"),A||($.start.column=0,$.end.column=C[C.length-1].length),this.selection.setRange($)}},this.$reAlignText=function(p,b){var v,$,f,y=!0,d=!0;return p.map(function(C){var L=C.match(/(\s*)(.*?)(\s*)([=:].*)/);return L?null==v?(v=L[1].length,$=L[2].length,f=L[3].length,L):(v+$+f!=L[1].length+L[2].length+L[3].length&&(d=!1),v!=L[1].length&&(y=!1),v>L[1].length&&(v=L[1].length),$L[3].length&&(f=L[3].length),L):[C]}).map(b?A:y?d?function m(C){return C[2]?u(v+$-C[2].length)+C[2]+u(f)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]}:A:function h(C){return C[2]?u(v)+C[2]+u(f)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]});function u(C){return r.stringRepeat(" ",C)}function A(C){return C[2]?u(v)+C[2]+u($-C[2].length+f)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]}}}).call(s.prototype),M.onSessionChange=function(p){var b=p.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var y=p.oldSession;y&&(y.multiSelect.off("addRange",this.$onAddRange),y.multiSelect.off("removeRange",this.$onRemoveRange),y.multiSelect.off("multiSelect",this.$onMultiSelect),y.multiSelect.off("singleSelect",this.$onSingleSelect),y.multiSelect.lead.off("change",this.$checkMultiselectChange),y.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},M.MultiSelect=g,E("./config").defineOptions(s.prototype,"editor",{enableMultiselect:{set:function(p){g(this),p?this.on("mousedown",a):this.off("mousedown",a)},value:!0},enableBlockSelect:{set:function(p){this.$blockSelectEnabled=p},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(E,M,H){"use strict";var x=E("../../range").Range,k=M.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(S,a,l){var r=S.getLine(l);return this.foldingStartMarker.test(r)?"start":"markbeginend"==a&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(S,a,l){return null},this.indentationBlock=function(S,a,l){var r=/\S/,i=S.getLine(a),n=i.search(r);if(-1!=n){for(var e=l||i.length,t=S.getLength(),o=a,s=a;++ao){var w=S.getLine(s).length;return new x(o,e,s,w)}}},this.openingBracketBlock=function(S,a,l,r,i){var n={row:l,column:r+1},e=S.$findClosingBracket(a,n,i);if(e){var t=S.foldWidgets[e.row];return null==t&&(t=S.getFoldWidget(e.row)),"start"==t&&e.row>n.row&&(e.row--,e.column=S.getLine(e.row).length),x.fromPoints(n,e)}},this.closingBracketBlock=function(S,a,l,r,i){var n={row:l,column:r},e=S.$findOpeningBracket(a,n);if(e)return e.column++,n.column--,x.fromPoints(e,n)}}).call(k.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range","ace/config"],function(E,M,H){"use strict";var x=E("../line_widgets").LineWidgets,k=E("../lib/dom"),S=E("../range").Range,a=E("../config").nls;M.showErrorMarker=function(i,n){var e=i.session;e.widgetManager||(e.widgetManager=new x(e),e.widgetManager.attach(i));var t=i.getCursorPosition(),o=t.row,s=e.widgetManager.getWidgetsAtRow(o).filter(function($){return"errorMarker"==$.type})[0];s?s.destroy():o-=n;var g,c=function r(i,n,e){var t=i.getAnnotations().sort(S.comparePoints);if(t.length){var o=function l(i,n,e){for(var t=0,o=i.length-1;t<=o;){var s=t+o>>1,c=e(n,i[s]);if(c>0)t=s+1;else{if(!(c<0))return s;o=s-1}}return-(t+1)}(t,{row:n,column:-1},S.comparePoints);o<0&&(o=-o-1),o>=t.length?o=e>0?0:t.length-1:0===o&&e<0&&(o=t.length-1);var s=t[o];if(s&&e){if(s.row===n){do{s=t[o+=e]}while(s&&s.row===n);if(!s)return t.slice()}var c=[];n=s.row;do{c[e<0?"unshift":"push"](s),s=t[o+=e]}while(s&&s.row==n);return c.length&&c}}}(e,o,n);if(c){var w=c[0];t.column=(w.pos&&"number"!=typeof w.column?w.pos.sc:w.column)||0,t.row=w.row,g=i.renderer.$gutterLayer.$annotations[t.row]}else{if(s)return;g={text:[a("Looks good!")],className:"ace_ok"}}i.session.unfold(t.row),i.selection.moveToPosition(t);var p={row:t.row,fixedWidth:!0,coverGutter:!0,el:k.createElement("div"),type:"errorMarker"},b=p.el.appendChild(k.createElement("div")),y=p.el.appendChild(k.createElement("div"));y.className="error_widget_arrow "+g.className;var d=i.renderer.$cursorLayer.getPixelPosition(t).left;y.style.left=d+i.renderer.gutterWidth-5+"px",p.el.className="error_widget_wrapper",b.className="error_widget "+g.className,b.innerHTML=g.text.join("
"),b.appendChild(k.createElement("div"));var v=function($,f,u){if(0===f&&("esc"===u||"return"===u))return p.destroy(),{command:"null"}};p.destroy=function(){i.$mouseHandler.isMousePressed||(i.keyBinding.removeKeyboardHandler(v),e.widgetManager.removeLineWidget(p),i.off("changeSelection",p.destroy),i.off("changeSession",p.destroy),i.off("mouseup",p.destroy),i.off("change",p.destroy))},i.keyBinding.addKeyboardHandler(v),i.on("changeSelection",p.destroy),i.on("changeSession",p.destroy),i.on("mouseup",p.destroy),i.on("change",p.destroy),i.session.widgetManager.addLineWidget(p),p.el.onmousedown=i.focus.bind(i),i.renderer.scrollCursorIntoView(null,.5,{bottom:p.el.offsetHeight})},k.importCssString("\n .error_widget_wrapper {\n background: inherit;\n color: inherit;\n border:none\n }\n .error_widget {\n border-top: solid 2px;\n border-bottom: solid 2px;\n margin: 5px 0;\n padding: 10px 40px;\n white-space: pre-wrap;\n }\n .error_widget.ace_error, .error_widget_arrow.ace_error{\n border-color: #ff5a5a\n }\n .error_widget.ace_warning, .error_widget_arrow.ace_warning{\n border-color: #F1D817\n }\n .error_widget.ace_info, .error_widget_arrow.ace_info{\n border-color: #5a5a5a\n }\n .error_widget.ace_ok, .error_widget_arrow.ace_ok{\n border-color: #5aaa5a\n }\n .error_widget_arrow {\n position: absolute;\n border: solid 5px;\n border-top-color: transparent!important;\n border-right-color: transparent!important;\n border-left-color: transparent!important;\n top: -5px;\n }\n","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(E,M,H){"use strict";E("./loader_build")(M);var x=E("./lib/dom"),k=E("./range").Range,S=E("./editor").Editor,a=E("./edit_session").EditSession,l=E("./undomanager").UndoManager,r=E("./virtual_renderer").VirtualRenderer;E("./worker/worker_client"),E("./keyboard/hash_handler"),E("./placeholder"),E("./multi_select"),E("./mode/folding/fold_mode"),E("./theme/textmate"),E("./ext/error_marker"),M.config=E("./config"),M.edit=function(i,n){if("string"==typeof i){var e=i;if(!(i=document.getElementById(e)))throw new Error("ace.edit can't find div #"+e)}if(i&&i.env&&i.env.editor instanceof S)return i.env.editor;var t="";if(i&&/input|textarea/i.test(i.tagName)){var o=i;t=o.value,i=x.createElement("pre"),o.parentNode.replaceChild(i,o)}else i&&(t=i.textContent,i.innerHTML="");var s=M.createEditSession(t),c=new S(new r(i),s,n),g={document:s,editor:c,onResize:c.resize.bind(c,null)};return o&&(g.textarea=o),c.on("destroy",function(){g.editor.container.env=null}),c.container.env=c.env=g,c},M.createEditSession=function(i,n){var e=new a(i,n);return e.setUndoManager(new l),e},M.Range=k,M.Editor=S,M.EditSession=a,M.UndoManager=l,M.VirtualRenderer=r,M.version=M.config.version}),ace.require(["ace/ace"],function(E){E&&(E.config.init(!0),E.define=ace.define);var M=function(){return this}();for(var H in!M&&typeof window<"u"&&(M=window),!M&&typeof self<"u"&&(M=self),M.ace||(M.ace=E),E)E.hasOwnProperty(H)&&(M.ace[H]=E[H]);M.ace.default=M.ace,ve&&(ve.exports=M.ace)})}}]); \ No newline at end of file diff --git a/dist/5979.f1f28bef55ade342.js b/dist/5979.f1f28bef55ade342.js new file mode 100644 index 00000000..4546733b --- /dev/null +++ b/dist/5979.f1f28bef55ade342.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdf_admin_interface=self.webpackChunkdf_admin_interface||[]).push([[5979],{25979:(Sc,Pt,l)=>{l.r(Pt),l.d(Pt,{DfPaywallModal:()=>Kt,DfServiceDetailsComponent:()=>Ot});var Wt=l(15861),Z=l(97582),g=l(96814),s=l(56223),vt=l(75986),K=l(3305),u=l(64170),O=l(2032),T=l(98525),W=l(82599),yt=l(74104),q=l(42346),t=l(65879),x=l(32296),y=l(45597),C=l(90590),k=l(92596),P=l(78791),lt=l(24630),Y=l(27921),w=l(37398),Xt=l(15711),b=l(17700),M=l(23680),S=l(42495);const te=["determinateSpinner"];function ee(n,o){if(1&n&&(t.O4$(),t.TgZ(0,"svg",11),t._UZ(1,"circle",12),t.qZA()),2&n){const e=t.oxw();t.uIk("viewBox",e._viewBox()),t.xp6(1),t.Udp("stroke-dasharray",e._strokeCircumference(),"px")("stroke-dashoffset",e._strokeCircumference()/2,"px")("stroke-width",e._circleStrokeWidth(),"%"),t.uIk("r",e._circleRadius())}}const ne=(0,M.pj)(class{constructor(n){this._elementRef=n}},"primary"),oe=new t.OlP("mat-progress-spinner-default-options",{providedIn:"root",factory:function ce(){return{diameter:kt}}}),kt=100;let ie=(()=>{class n extends ne{constructor(e,c,a){super(e),this.mode="mat-spinner"===this._elementRef.nativeElement.nodeName.toLowerCase()?"indeterminate":"determinate",this._value=0,this._diameter=kt,this._noopAnimations="NoopAnimations"===c&&!!a&&!a._forceAnimations,a&&(a.color&&(this.color=this.defaultColor=a.color),a.diameter&&(this.diameter=a.diameter),a.strokeWidth&&(this.strokeWidth=a.strokeWidth))}get value(){return"determinate"===this.mode?this._value:0}set value(e){this._value=Math.max(0,Math.min(100,(0,S.su)(e)))}get diameter(){return this._diameter}set diameter(e){this._diameter=(0,S.su)(e)}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(e){this._strokeWidth=(0,S.su)(e)}_circleRadius(){return(this.diameter-10)/2}_viewBox(){const e=2*this._circleRadius()+this.strokeWidth;return`0 0 ${e} ${e}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(t.SBq),t.Y36(t.QbO,8),t.Y36(oe))},n.\u0275cmp=t.Xpm({type:n,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(e,c){if(1&e&&t.Gf(te,5),2&e){let a;t.iGM(a=t.CRH())&&(c._determinateCircle=a.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:16,hostBindings:function(e,c){2&e&&(t.uIk("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow","determinate"===c.mode?c.value:null)("mode",c.mode),t.Udp("width",c.diameter,"px")("height",c.diameter,"px")("--mdc-circular-progress-size",c.diameter+"px")("--mdc-circular-progress-active-indicator-width",c.diameter+"px"),t.ekj("_mat-animation-noopable",c._noopAnimations)("mdc-circular-progress--indeterminate","indeterminate"===c.mode))},inputs:{color:"color",mode:"mode",value:"value",diameter:"diameter",strokeWidth:"strokeWidth"},exportAs:["matProgressSpinner"],features:[t.qOj],decls:14,vars:11,consts:[["circle",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["determinateSpinner",""],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(e,c){if(1&e&&(t.YNc(0,ee,2,8,"ng-template",null,0,t.W1O),t.TgZ(2,"div",1,2),t.O4$(),t.TgZ(4,"svg",3),t._UZ(5,"circle",4),t.qZA()(),t.kcU(),t.TgZ(6,"div",5)(7,"div",6)(8,"div",7),t.GkF(9,8),t.qZA(),t.TgZ(10,"div",9),t.GkF(11,8),t.qZA(),t.TgZ(12,"div",10),t.GkF(13,8),t.qZA()()()),2&e){const a=t.MAs(1);t.xp6(4),t.uIk("viewBox",c._viewBox()),t.xp6(1),t.Udp("stroke-dasharray",c._strokeCircumference(),"px")("stroke-dashoffset",c._strokeDashOffset(),"px")("stroke-width",c._circleStrokeWidth(),"%"),t.uIk("r",c._circleRadius()),t.xp6(4),t.Q6J("ngTemplateOutlet",a),t.xp6(2),t.Q6J("ngTemplateOutlet",a),t.xp6(2),t.Q6J("ngTemplateOutlet",a)}},dependencies:[g.tP],styles:["@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}.mdc-circular-progress{display:inline-flex;position:relative;direction:ltr;line-height:0;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--closed{opacity:0}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-width:4px;--mdc-circular-progress-size:48px}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-1 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-2 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-3 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-4 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner .mdc-circular-progress{width:var(--mdc-circular-progress-size) !important;height:var(--mdc-circular-progress-size) !important}.mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}"],encapsulation:2,changeDetection:0}),n})(),re=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.oAB({type:n}),n.\u0275inj=t.cJS({imports:[g.ez,M.BQ]}),n})();var A=l(30617),_=l(25313),R=l(69862),B=l(6625),H=l(65592),v=l(26306),G=l(99397),z=l(58504),wt=l(69854),le=l(78630);let St=(()=>{class n{constructor(e,c){this.http=e,this.userDataService=c,this.excludedServices=["logs","log"]}getAbsoluteApiUrl(e){const d=`${window.location.origin}/${(e.startsWith("/")?e.substring(1):e).replace(/^(dreamfactory\/dist\/)?/,"")}`;return console.log(`\u{1f50d} Constructed absolute URL for API request: ${d}`),d}isSelectableFileService(e){return!this.excludedServices.some(c=>e.name.toLowerCase().includes(c)||e.label.toLowerCase().includes(c))}getHeaders(){const e={},c=this.userDataService.token;return c&&(e[wt.Zt]=c),console.log("Auth headers:",e),e}getFileServices(){console.log("Getting file services, session token:",this.userDataService.token);const e={resource:[{id:3,name:"files",label:"Local File Storage",type:"local_file"}]};return this.userDataService.token?new H.y(c=>{c.next(e);const a=`${window.location.origin}/api/v2/system/service`;console.log(`Loading file services from absolute URL: ${a}`);const d=this.getHeaders();this.http.get(a,{params:{filter:"type=local_file",fields:"id,name,label,type"},headers:d}).pipe((0,w.U)(r=>r&&r.resource&&Array.isArray(r.resource)?(r.resource=r.resource.filter(m=>this.isSelectableFileService(m)),0===r.resource.length?(console.warn("No valid file services found in API response, using defaults"),e):r):(console.warn("Invalid response format from API, using default services"),e)),(0,v.K)(r=>(console.error("Error fetching file services:",r),console.warn("API call failed, using default file services"),new H.y(m=>{m.next(e),m.complete()})))).subscribe({next:r=>{JSON.stringify(r)!==JSON.stringify(e)&&c.next(r),c.complete()},error:()=>{c.complete()}})}):(console.warn("No session token available, using hardcoded file services"),new H.y(c=>{c.next(e),c.complete()}))}listFiles(e,c=""){if(!e)return console.warn("No service name provided for listFiles, returning empty list"),new H.y(p=>{p.next({resource:[]}),p.complete()});const a=c?`api/v2/${e}/${c}`:`api/v2/${e}`;console.log(`Listing files from path: ${a}`);const i=`${window.location.origin}/${a}`;console.log(`Using absolute URL: ${i}`);const r={},m=this.userDataService.token;return m&&(r[wt.Zt]=m),this.http.get(i,{headers:r,params:{include_properties:"content_type",fields:"name,path,type,content_type,last_modified,size"}}).pipe((0,G.b)(p=>console.log("Files response:",p)),(0,v.K)(p=>{console.error(`Error fetching files from ${i}:`,p);let h="Error loading files. ";return h+=500===p.status?"The server encountered an internal error. This might be a temporary issue.":404===p.status?"The specified folder does not exist.":403===p.status||401===p.status?"You do not have permission to access this location.":"Please check your connection and try again.",console.warn(h),new H.y(rt=>{rt.next({resource:[],error:h}),rt.complete()})}))}uploadFile(e,c,a=""){let i;i=a?`api/v2/${e}/${a.replace(/\/$/,"")}/${c.name}`:`api/v2/${e}/${c.name}`;const d=this.getAbsoluteApiUrl(i);console.log(`\u2b50\u2b50\u2b50 UPLOADING FILE ${c.name} (${c.size} bytes), type: ${c.type} \u2b50\u2b50\u2b50`),console.log(`To absolute URL: ${d}`),console.log(`Current document baseURI: ${document.baseURI}`),console.log(`Current window location: ${window.location.href}`),(c.name.endsWith(".pem")||c.name.endsWith(".p8")||c.name.endsWith(".key"))&&console.log("Detected private key file - using standard FormData upload method");const m=new FormData;m.append("files",c);const p=this.getHeaders();return this.http.post(d,m,{headers:p}).pipe((0,G.b)(h=>console.log("Upload complete with response:",h)),(0,v.K)(h=>(console.error(`Error uploading file: ${h.status} ${h.statusText}`,h),(0,z._)(()=>({status:h.status,error:h.error||{message:"File upload failed"}})))))}createDirectoryWithPost(e,c,a){const i={resource:[{name:a,type:"folder"}]},r=this.getAbsoluteApiUrl(c?`api/v2/${e}/${c}`:`api/v2/${e}`);console.log(`Creating directory using POST at absolute URL: ${r}`,i);const m=this.getHeaders();return m["X-Http-Method"]="POST",this.http.post(r,i,{headers:m}).pipe((0,G.b)(p=>console.log("Create directory response:",p)),(0,v.K)(p=>{throw console.error(`Error creating directory at ${r}:`,p),p}))}getFileContent(e,c){const i=this.getAbsoluteApiUrl(`api/v2/${e}/${c}`);return console.log(`Getting file content from absolute URL: ${i}`),this.http.get(i,{responseType:"blob",headers:this.getHeaders()}).pipe((0,v.K)(d=>{throw console.error(`Error getting file content from ${i}:`,d),d}))}deleteFile(e,c){const i=this.getAbsoluteApiUrl(`api/v2/${e}/${c}`);return console.log(`Deleting file at absolute URL: ${i}`),this.http.delete(i,{headers:this.getHeaders()}).pipe((0,G.b)(d=>console.log("Delete response:",d)),(0,v.K)(d=>{throw console.error(`Error deleting file at ${i}:`,d),d}))}createDirectory(e,c,a){const i={resource:[{name:a,type:"folder"}]},r=this.getAbsoluteApiUrl(c?`api/v2/${e}/${c}`:`api/v2/${e}`);return console.log(`Creating directory at absolute URL: ${r}`,i),this.http.post(r,i,{headers:this.getHeaders()}).pipe((0,G.b)(m=>console.log("Create directory response:",m)),(0,v.K)(m=>{throw console.error(`Error creating directory at ${r}:`,m),m}))}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(R.eN),t.LFG(le._))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var F;const de=["fileUploadInput"];function se(n,o){1&n&&(t.ynx(0),t.TgZ(1,"span"),t._uU(2,"Upload Private Key File"),t.qZA(),t.BQk())}function me(n,o){1&n&&(t.ynx(0),t.TgZ(1,"span"),t._uU(2,"Select File"),t.qZA(),t.BQk())}function ge(n,o){if(1&n&&(t.TgZ(0,"small"),t._uU(1),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.hij(" Allowed file types: ",e.data.allowedExtensions.join(", ")," ")}}function pe(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",10),t.NdJ("click",function(){const i=t.CHM(e).$implicit,d=t.oxw(2);return t.KtG(d.selectFileApi(i))}),t.TgZ(1,"div",11),t._UZ(2,"fa-icon",12),t.qZA(),t.TgZ(3,"div",13)(4,"div",14),t._uU(5),t.qZA(),t.TgZ(6,"div",15),t._uU(7),t.qZA()()()}if(2&n){const e=o.$implicit,c=t.oxw(2);t.xp6(2),t.Q6J("icon",c.faFolderOpen),t.xp6(3),t.Oqu(e.label||e.name),t.xp6(2),t.Oqu(e.type)}}function fe(n,o){if(1&n&&(t.TgZ(0,"div",7)(1,"h3"),t._uU(2,"Select a File Service"),t.qZA(),t.TgZ(3,"div",8),t.YNc(4,pe,8,3,"div",9),t.qZA()()),2&n){const e=t.oxw();t.xp6(4),t.Q6J("ngForOf",e.data.fileApis)}}function _e(n,o){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e.currentPath)}}function be(n,o){1&n&&(t.TgZ(0,"div",32)(1,"p"),t._uU(2," Select a file from the list below. To upload new files, please use the File Manager. "),t.qZA()())}function he(n,o){1&n&&(t.TgZ(0,"div",33),t._UZ(1,"mat-spinner",34),t.TgZ(2,"div"),t._uU(3,"Loading files..."),t.qZA()())}function ue(n,o){1&n&&(t.TgZ(0,"th",46),t._uU(1,"Name"),t.qZA())}function xe(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"td",47),t.NdJ("click",function(){const i=t.CHM(e).$implicit,d=t.oxw(3);return t.KtG("folder"===i.type?d.openFolder(i):d.selectFile(i))}),t.TgZ(1,"div",48),t._UZ(2,"fa-icon",19),t.TgZ(3,"span"),t._uU(4),t.qZA()()()}if(2&n){const e=o.$implicit,c=t.oxw(3);t.xp6(2),t.Q6J("icon","folder"===e.type?c.faFolderOpen:c.faFile),t.xp6(2),t.Oqu(e.name)}}function Ce(n,o){1&n&&(t.TgZ(0,"th",46),t._uU(1,"Type"),t.qZA())}function Me(n,o){if(1&n&&(t.TgZ(0,"td",49),t._uU(1),t.qZA()),2&n){const e=o.$implicit;t.xp6(1),t.hij(" ","folder"===e.type?"Folder":e.contentType||"File"," ")}}function Oe(n,o){1&n&&(t.TgZ(0,"th",46),t._uU(1,"Actions"),t.qZA())}function Pe(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"button",52),t.NdJ("click",function(){t.CHM(e);const a=t.oxw().$implicit,i=t.oxw(3);return t.KtG(i.openFolder(a))}),t.TgZ(1,"mat-icon"),t._uU(2,"folder_open"),t.qZA()()}}function ve(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"button",53),t.NdJ("click",function(){t.CHM(e);const a=t.oxw().$implicit,i=t.oxw(3);return t.KtG(i.selectFile(a))}),t.TgZ(1,"mat-icon"),t._uU(2,"check_circle"),t.qZA()()}if(2&n){const e=t.oxw(4);t.Q6J("disabled",e.data.uploadMode)}}function ye(n,o){if(1&n&&(t.TgZ(0,"td",49),t.YNc(1,Pe,3,0,"button",50),t.YNc(2,ve,3,1,"button",51),t.qZA()),2&n){const e=o.$implicit;t.xp6(1),t.Q6J("ngIf","folder"===e.type),t.xp6(1),t.Q6J("ngIf","file"===e.type)}}function ke(n,o){1&n&&t._UZ(0,"tr",54)}function we(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"tr",55),t.NdJ("click",function(){const i=t.CHM(e).$implicit,d=t.oxw(3);return t.KtG("folder"===i.type?d.openFolder(i):null)}),t.qZA()}if(2&n){const e=o.$implicit,c=t.oxw(3);t.ekj("selected-row",(null==c.selectedFile?null:c.selectedFile.name)===e.name)}}function Se(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"button",58),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(4);return t.KtG(a.triggerFileUpload())}),t.TgZ(1,"mat-icon"),t._uU(2,"upload_file"),t.qZA(),t._uU(3," Upload File Here "),t.qZA()}}function De(n,o){if(1&n&&(t.TgZ(0,"div",56)(1,"p"),t._uU(2,"This directory is empty."),t.qZA(),t.YNc(3,Se,4,0,"button",57),t.qZA()),2&n){const e=t.oxw(3);t.xp6(3),t.Q6J("ngIf",!e.isSelectorOnly)}}function Te(n,o){if(1&n&&(t.TgZ(0,"div",35)(1,"table",36),t.ynx(2,37),t.YNc(3,ue,2,0,"th",38),t.YNc(4,xe,5,2,"td",39),t.BQk(),t.ynx(5,40),t.YNc(6,Ce,2,0,"th",38),t.YNc(7,Me,2,1,"td",41),t.BQk(),t.ynx(8,42),t.YNc(9,Oe,2,0,"th",38),t.YNc(10,ye,3,2,"td",41),t.BQk(),t.YNc(11,ke,1,0,"tr",43),t.YNc(12,we,1,2,"tr",44),t.qZA(),t.YNc(13,De,4,1,"div",45),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Q6J("dataSource",e.files),t.xp6(10),t.Q6J("matHeaderRowDef",e.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",e.displayedColumns),t.xp6(1),t.Q6J("ngIf",0===e.files.length)}}function Ae(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",59)(1,"h3"),t._uU(2),t.qZA(),t.TgZ(3,"button",6),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.uploadFile())}),t._UZ(4,"fa-icon",19),t._uU(5," Upload Here "),t.qZA()()}if(2&n){const e=t.oxw(2);t.xp6(2),t.hij('Upload "',null==e.data.fileToUpload?null:e.data.fileToUpload.name,'" to this location?'),t.xp6(1),t.Q6J("disabled",e.uploadInProgress),t.xp6(1),t.Q6J("icon",e.faUpload)}}function Ie(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",16)(1,"div",17)(2,"button",18),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.navigateBack())}),t._UZ(3,"fa-icon",19),t.qZA(),t.TgZ(4,"div",20)(5,"span",21),t._uU(6),t.qZA(),t.YNc(7,_e,2,1,"span",1),t.qZA()(),t.TgZ(8,"div",22)(9,"button",23),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.showCreateFolderDialog())}),t.TgZ(10,"span",24),t._uU(11,"cr"),t.qZA(),t._uU(12," Create Folder "),t.qZA(),t.TgZ(13,"button",25),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.triggerFileUpload())}),t.TgZ(14,"span",24),t._uU(15,"up"),t.qZA(),t._uU(16," Upload File "),t.qZA(),t.TgZ(17,"input",26,27),t.NdJ("change",function(a){t.CHM(e);const i=t.oxw();return t.KtG(i.handleFileUpload(a))}),t.qZA()(),t.YNc(19,be,3,0,"div",28),t.YNc(20,he,4,0,"div",29),t.YNc(21,Te,14,4,"div",30),t.YNc(22,Ae,6,3,"div",31),t.qZA()}if(2&n){const e=t.oxw();t.xp6(3),t.Q6J("icon",e.faArrowLeft),t.xp6(3),t.Oqu(e.selectedFileApi.name),t.xp6(1),t.Q6J("ngIf",e.currentPath),t.xp6(10),t.Q6J("accept",e.data.allowedExtensions.join(",")),t.xp6(2),t.Q6J("ngIf",e.isSelectorOnly),t.xp6(1),t.Q6J("ngIf",e.isLoading),t.xp6(1),t.Q6J("ngIf",!e.isLoading),t.xp6(1),t.Q6J("ngIf",e.data.uploadMode)}}let Ze=(()=>{class n{constructor(e){this.dialogRef=e,this.folderName=""}onCancel(){this.dialogRef.close()}onConfirm(){this.dialogRef.close(this.folderName)}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(b.so))},n.\u0275cmp=t.Xpm({type:n,selectors:[["df-create-folder-dialog"]],standalone:!0,features:[t.jDz],decls:12,vars:2,consts:[["mat-dialog-title",""],["appearance","outline",1,"full-width"],["matInput","","placeholder","Enter folder name",3,"ngModel","ngModelChange"],["align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"disabled","click"]],template:function(e,c){1&e&&(t.TgZ(0,"h2",0),t._uU(1,"Create New Folder"),t.qZA(),t.TgZ(2,"mat-dialog-content")(3,"mat-form-field",1)(4,"mat-label"),t._uU(5,"Folder Name"),t.qZA(),t.TgZ(6,"input",2),t.NdJ("ngModelChange",function(i){return c.folderName=i}),t.qZA()()(),t.TgZ(7,"mat-dialog-actions",3)(8,"button",4),t.NdJ("click",function(){return c.onCancel()}),t._uU(9,"Cancel"),t.qZA(),t.TgZ(10,"button",5),t.NdJ("click",function(){return c.onConfirm()}),t._uU(11," Create "),t.qZA()()),2&e&&(t.xp6(6),t.Q6J("ngModel",c.folderName),t.xp6(4),t.Q6J("disabled",!c.folderName))},dependencies:[b.Is,b.uh,b.xY,b.H8,x.ot,x.lW,u.lN,u.KE,u.hX,O.c,O.Nt,s.u5,s.Fj,s.JJ,s.On,g.ez],styles:[".full-width[_ngcontent-%COMP%]{width:100%}"]}),n})(),dt=((F=class{get isSelectorOnly(){return console.log("isSelectorOnly getter called, data.selectorOnly =",this.data.selectorOnly),!!this.data.selectorOnly}constructor(o,e,c,a,i,d){this.dialogRef=o,this.data=e,this.dialog=c,this.http=a,this.fileApiService=i,this.crudService=d,this.faFolderOpen=C.cC_,this.faFile=C.gMD,this.faArrowLeft=C.acZ,this.faUpload=C.cf$,this.selectedFileApi=null,this.currentPath="",this.files=[],this.navigationStack=[],this.isLoading=!1,this.uploadInProgress=!1,this.displayedColumns=["name","type","actions"],this.selectedFile=null}ngOnInit(){this.data.uploadMode&&this.data.fileApis.length>0&&this.selectFileApi(this.data.fileApis[0]),console.log("Dialog initialized with data:",{uploadMode:this.data.uploadMode,selectorOnly:this.data.selectorOnly,allowedExtensions:this.data.allowedExtensions,fileApis:this.data.fileApis?.length||0})}selectFileApi(o){this.selectedFileApi=o,this.currentPath="",this.navigationStack=[],this.loadFiles()}loadFiles(){this.selectedFileApi&&(this.isLoading=!0,this.fileApiService.listFiles(this.selectedFileApi.name,this.currentPath).pipe((0,P.t)(this)).subscribe({next:o=>{if(this.isLoading=!1,o.error&&(console.warn("File listing contained error:",o.error),o.error.includes("Internal Server Error")))return console.log("Server error encountered, showing empty directory"),void(this.files=[]);let e=[];Array.isArray(o)?e=o:o.resource&&Array.isArray(o.resource)&&(e=o.resource),this.files=e.map(c=>({name:c.name||(c.path?c.path.split("/").pop():""),path:c.path||((this.currentPath?this.currentPath+"/":"")+c.name).replace("//","/"),type:"folder"===c.type?"folder":"file",contentType:c.content_type||c.contentType,lastModified:c.last_modified||c.lastModified,size:c.size})),console.log("Processed files:",this.files)},error:o=>{console.error("Error loading files:",o),this.files=[];let e="Failed to load files. ";500===o.status?(e+="The server encountered an internal error. Using empty directory view.",console.warn(e)):404===o.status?(e+="The specified folder does not exist.",alert(e)):403===o.status||401===o.status?(e+="You do not have permission to access this location.",alert(e)):(e+="Please check your connection and try again.",alert(e)),this.isLoading=!1}}))}openFolder(o){this.navigationStack.push(this.currentPath),this.currentPath=o.path,this.loadFiles()}navigateBack(){this.navigationStack.length>0?(this.currentPath=this.navigationStack.pop()||"",this.loadFiles()):this.selectedFileApi&&(this.selectedFileApi=null,this.files=[])}selectFile(o){const e="."+o.name.split(".").pop()?.toLowerCase();this.data.allowedExtensions.includes(e)?this.selectedFile=o:alert(`Only ${this.data.allowedExtensions.join(", ")} files are allowed.`)}confirmSelection(){if(!this.selectedFile||!this.selectedFileApi)return;const o=this.selectedFileApi,a={path:"/opt/dreamfactory/storage/app/"+this.selectedFile.path,relativePath:this.selectedFile.path,fileName:this.selectedFile.name,name:this.selectedFile.name,serviceId:o.id,serviceName:o.name};console.log("Selected file with absolute path:",a),this.dialogRef.close(a)}uploadFileDirectly(o){this.selectedFileApi?(this.uploadInProgress=!0,this.performUpload(o,this.currentPath)):alert("Please select a file service first.")}performUpload(o,e){if(!this.selectedFileApi)return void(this.uploadInProgress=!1);this.uploadInProgress=!0;const c=this.selectedFileApi;console.log(`Starting upload of ${o.name} (${o.size} bytes) to ${c.name}/${e}`),this.fileApiService.uploadFile(c.name,o,e).pipe((0,P.t)(this)).subscribe({next:a=>{this.uploadInProgress=!1,console.log("Upload successful:",a);const i=e?`${e}/${o.name}`:o.name;console.log("File uploaded successfully, returning:",{path:"/opt/dreamfactory/storage/app/"+i,relativePath:i,fileName:o.name,name:o.name,serviceId:c.id,serviceName:c.name}),this.loadFiles(),setTimeout(()=>{const m=this.files.find(p=>p.name===o.name);m&&(this.selectedFile=m)},500)},error:a=>{console.error("Error uploading file:",a),this.uploadInProgress=!1;let i="Failed to upload file. ";i+=400===a.status?"Bad request - check if the file type is allowed or if the file is too large.":401===a.status||403===a.status?"Permission denied - you may not have access to upload to this location.":404===a.status?"The specified folder does not exist.":413===a.status?"The file is too large.":500===a.status?a.error?.error?.message||"Server error occurred.":"Please try again.",alert(i)}})}uploadFile(){this.data.fileToUpload&&this.selectedFileApi&&(this.uploadInProgress=!0,this.performUploadAndClose(this.data.fileToUpload,this.currentPath))}performUploadAndClose(o,e){if(!this.selectedFileApi)return void(this.uploadInProgress=!1);this.uploadInProgress=!0;const c=this.selectedFileApi;console.log(`Starting upload of ${o.name} (${o.size} bytes) to ${c.name}/${e}`),this.fileApiService.uploadFile(c.name,o,e).pipe((0,P.t)(this)).subscribe({next:a=>{this.uploadInProgress=!1,console.log("Upload successful:",a);const i=e?`${e}/${o.name}`:o.name,r={path:"/opt/dreamfactory/storage/app/"+i,relativePath:i,fileName:o.name,name:o.name,serviceId:c.id,serviceName:c.name};console.log("File uploaded successfully, returning with absolute path:",r),this.dialogRef.close(r)},error:a=>{console.error("Error uploading file:",a),this.uploadInProgress=!1;let i="Failed to upload file. ";i+=400===a.status?"Bad request - check if the file type is allowed or if the file is too large.":401===a.status||403===a.status?"Permission denied - you may not have access to upload to this location.":404===a.status?"The specified folder does not exist.":413===a.status?"The file is too large.":500===a.status?a.error?.error?.message||"Server error occurred.":"Please try again.",alert(i)}})}triggerFileUpload(){console.log("triggerFileUpload called, isSelectorOnly =",this.isSelectorOnly),this.isSelectorOnly?console.log("Blocked file upload due to selector-only mode"):this.fileUploadInput?(console.log("Clicking file upload input element"),this.fileUploadInput.nativeElement.click()):console.log("File upload input element not found")}showCreateFolderDialog(){console.log("showCreateFolderDialog called, isSelectorOnly =",this.isSelectorOnly),this.isSelectorOnly?console.log("Blocked folder creation due to selector-only mode"):this.dialog.open(Ze,{width:"350px"}).afterClosed().subscribe(e=>{e&&this.selectedFileApi&&this.createFolder(e)})}createFolder(o){this.selectedFileApi&&(this.isLoading=!0,this.fileApiService.createDirectory(this.selectedFileApi.name,this.currentPath,o).pipe((0,P.t)(this)).subscribe({next:()=>{console.log("Folder created successfully"),this.loadFiles()},error:e=>{console.error("Error creating folder:",e),alert("Failed to create folder. Please try again."),this.isLoading=!1}}))}cancel(){this.dialogRef.close()}handleFileUpload(o){const e=o.target;if(e.files&&e.files.length>0){const c=e.files[0];console.log(`File selected: ${c.name}`),console.log(`File size: ${c.size} bytes`),console.log(`File type: ${c.type}`),(c.name.endsWith(".pem")||c.name.endsWith(".p8")||c.name.endsWith(".key"))&&console.log("Handling private key file with special care for Snowflake authentication");const i=new FileReader;i.onload=d=>{const r=d.target?.result;console.log(`File content read successfully, content length: ${r?r.byteLength:0} bytes`);const m="."+c.name.split(".").pop()?.toLowerCase();this.data.allowedExtensions.includes(m)?this.uploadFileDirectly(c):alert(`Only ${this.data.allowedExtensions.join(", ")} files are allowed`)},i.onerror=d=>{console.error("Error reading file:",d),alert("Error reading file content. Please try again with another file.")},i.readAsArrayBuffer(c)}}}).\u0275fac=function(o){return new(o||F)(t.Y36(b.so),t.Y36(b.WI),t.Y36(b.uw),t.Y36(R.eN),t.Y36(St),t.Y36(B.R))},F.\u0275cmp=t.Xpm({type:F,selectors:[["df-file-selector-dialog"]],viewQuery:function(o,e){if(1&o&&t.Gf(de,5),2&o){let c;t.iGM(c=t.CRH())&&(e.fileUploadInput=c.first)}},standalone:!0,features:[t._Bn([{provide:B.R,useFactory:n=>new B.R("api/v2",n),deps:[R.eN]}]),t.jDz],decls:12,vars:6,consts:[["mat-dialog-title",""],[4,"ngIf"],["class","file-api-selection",4,"ngIf"],["class","file-browser",4,"ngIf"],["mat-dialog-actions","","align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"disabled","click"],[1,"file-api-selection"],[1,"file-api-grid"],["class","file-api-card",3,"click",4,"ngFor","ngForOf"],[1,"file-api-card",3,"click"],[1,"file-api-icon"],["size","2x",3,"icon"],[1,"file-api-details"],[1,"file-api-name"],[1,"file-api-type"],[1,"file-browser"],[1,"navigation-bar"],["mat-icon-button","","matTooltip","Go back",3,"click"],[3,"icon"],[1,"current-location"],[1,"service-name"],[1,"action-row"],[1,"action-button","create-folder-btn",3,"click"],[1,"button-content"],[1,"action-button","upload-file-btn",3,"click"],["type","file",2,"display","none",3,"accept","change"],["fileUploadInput",""],["class","selector-info",4,"ngIf"],["class","loading-container",4,"ngIf"],["class","file-list",4,"ngIf"],["class","upload-section",4,"ngIf"],[1,"selector-info"],[1,"loading-container"],["diameter","40"],[1,"file-list"],["mat-table","",1,"file-table",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",3,"click",4,"matCellDef"],["matColumnDef","type"],["mat-cell","",4,"matCellDef"],["matColumnDef","actions"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",3,"selected-row","click",4,"matRowDef","matRowDefColumns"],["class","empty-directory",4,"ngIf"],["mat-header-cell",""],["mat-cell","",3,"click"],[1,"file-name-cell"],["mat-cell",""],["mat-icon-button","","color","primary","matTooltip","Open folder",3,"click",4,"ngIf"],["mat-icon-button","","color","primary","matTooltip","Select file",3,"disabled","click",4,"ngIf"],["mat-icon-button","","color","primary","matTooltip","Open folder",3,"click"],["mat-icon-button","","color","primary","matTooltip","Select file",3,"disabled","click"],["mat-header-row",""],["mat-row","",3,"click"],[1,"empty-directory"],["mat-stroked-button","","color","primary",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary",3,"click"],[1,"upload-section"]],template:function(o,e){1&o&&(t.TgZ(0,"h2",0),t.YNc(1,se,3,0,"ng-container",1),t.YNc(2,me,3,0,"ng-container",1),t.YNc(3,ge,2,1,"small",1),t.qZA(),t.TgZ(4,"mat-dialog-content"),t.YNc(5,fe,5,1,"div",2),t.YNc(6,Ie,23,8,"div",3),t.qZA(),t.TgZ(7,"div",4)(8,"button",5),t.NdJ("click",function(){return e.cancel()}),t._uU(9,"Cancel"),t.qZA(),t.TgZ(10,"button",6),t.NdJ("click",function(){return e.confirmSelection()}),t._uU(11," Choose "),t.qZA()()),2&o&&(t.xp6(1),t.Q6J("ngIf",e.data.uploadMode),t.xp6(1),t.Q6J("ngIf",!e.data.uploadMode),t.xp6(1),t.Q6J("ngIf",e.data.allowedExtensions.length>0),t.xp6(2),t.Q6J("ngIf",!e.selectedFileApi),t.xp6(1),t.Q6J("ngIf",e.selectedFileApi),t.xp6(4),t.Q6J("disabled",!e.selectedFile||"folder"===e.selectedFile.type))},dependencies:[g.ez,g.sg,g.O5,b.Is,b.uh,b.xY,b.H8,x.ot,x.lW,x.RK,yt.Nh,u.lN,O.c,T.LD,re,ie,A.Ps,A.Hw,_.p0,_.BZ,_.fO,_.as,_.w1,_.Dz,_.nj,_.ge,_.ev,_.XQ,_.Gk,k.AV,k.gM,s.u5,s.UX,y.uH,y.BN],styles:["mat-dialog-content[_ngcontent-%COMP%]{min-height:400px;max-height:600px;overflow-y:auto}h2[_ngcontent-%COMP%]{margin-bottom:0}h2[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;font-size:12px;font-weight:400;color:#0000008a;margin-top:4px}.file-api-selection[_ngcontent-%COMP%]{padding:16px 0}.file-api-selection[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-top:0;margin-bottom:16px}.file-api-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.file-api-card[_ngcontent-%COMP%]{display:flex;align-items:center;padding:16px;border-radius:4px;border:1px solid rgba(0,0,0,.12);cursor:pointer;transition:background-color .2s ease}.file-api-card[_ngcontent-%COMP%]:hover{background-color:#0000000a}.file-api-icon[_ngcontent-%COMP%]{margin-right:16px;color:#3f51b5}.file-api-details[_ngcontent-%COMP%] .file-api-name[_ngcontent-%COMP%]{font-weight:500;margin-bottom:4px}.file-api-details[_ngcontent-%COMP%] .file-api-type[_ngcontent-%COMP%]{font-size:12px;color:#0000008a}.file-browser[_ngcontent-%COMP%] .navigation-bar[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:16px}.file-browser[_ngcontent-%COMP%] .navigation-bar[_ngcontent-%COMP%] .current-location[_ngcontent-%COMP%]{margin-left:8px}.file-browser[_ngcontent-%COMP%] .navigation-bar[_ngcontent-%COMP%] .current-location[_ngcontent-%COMP%] .service-name[_ngcontent-%COMP%]{font-weight:500;margin-right:8px}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%]{display:flex;gap:16px;margin-bottom:20px;padding:10px;border:1px dashed #3f51b5;background-color:#3f51b50d}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]{display:flex;align-items:center;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;margin-right:8px;font-weight:700;font-size:12px}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]:hover{opacity:.9}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]:active{transform:translateY(1px)}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%] .create-folder-btn[_ngcontent-%COMP%]{background-color:#3f51b5;color:#fff}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%] .create-folder-btn[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%]{background-color:#fff3}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%] .upload-file-btn[_ngcontent-%COMP%]{background-color:#ff5722;color:#fff}.file-browser[_ngcontent-%COMP%] .action-row[_ngcontent-%COMP%] .upload-file-btn[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%]{background-color:#fff3}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px}.loading-container[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{margin-top:16px;color:#0000008a}.file-table[_ngcontent-%COMP%]{width:100%}.file-table[_ngcontent-%COMP%] .mat-column-name[_ngcontent-%COMP%]{width:60%}.file-table[_ngcontent-%COMP%] .mat-column-type[_ngcontent-%COMP%]{width:20%}.file-table[_ngcontent-%COMP%] .mat-column-actions[_ngcontent-%COMP%]{width:20%;text-align:right}.file-table[_ngcontent-%COMP%] .file-name-cell[_ngcontent-%COMP%]{display:flex;align-items:center}.file-table[_ngcontent-%COMP%] .file-name-cell[_ngcontent-%COMP%] fa-icon[_ngcontent-%COMP%]{margin-right:8px;color:#3f51b5}.file-table[_ngcontent-%COMP%] .selected-row[_ngcontent-%COMP%]{background-color:#3f51b514}.empty-directory[_ngcontent-%COMP%]{padding:24px 16px;text-align:center;color:#0000008a}.empty-directory[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:16px;font-style:italic}.empty-directory[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-top:8px}.upload-section[_ngcontent-%COMP%]{margin-top:24px;padding:16px;border-radius:4px;background-color:#0000000a;text-align:center}.upload-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-top:0;margin-bottom:16px}.dark-theme[_nghost-%COMP%] small[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] small[_ngcontent-%COMP%]{color:#fff9}.dark-theme[_nghost-%COMP%] .file-api-card[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-api-card[_ngcontent-%COMP%]{border-color:#ffffff1f}.dark-theme[_nghost-%COMP%] .file-api-card[_ngcontent-%COMP%]:hover, .dark-theme [_nghost-%COMP%] .file-api-card[_ngcontent-%COMP%]:hover{background-color:#ffffff0a}.dark-theme[_nghost-%COMP%] .file-api-type[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-api-type[_ngcontent-%COMP%]{color:#fff9}.dark-theme[_nghost-%COMP%] .loading-container[_ngcontent-%COMP%] div[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .loading-container[_ngcontent-%COMP%] div[_ngcontent-%COMP%], .dark-theme[_nghost-%COMP%] .empty-directory[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .empty-directory[_ngcontent-%COMP%]{color:#fff9}.dark-theme[_nghost-%COMP%] .selected-row[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .selected-row[_ngcontent-%COMP%]{background-color:#6779dd26}.dark-theme[_nghost-%COMP%] .upload-section[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .upload-section[_ngcontent-%COMP%]{background-color:#ffffff0a}"]}),F);dt=(0,Z.gn)([(0,P.c)({checkProperties:!0})],dt);var U,N=l(86806),Dt=l(62651),X=l(81896);function ze(n,o){if(1&n&&(t.TgZ(0,"span",8),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e.label)}}function Fe(n,o){if(1&n&&t._UZ(0,"div",9),2&n){const e=t.oxw(2);t.Q6J("innerHTML",e.description,t.oJD)}}function Ne(n,o){if(1&n&&(t.TgZ(0,"div",5),t.YNc(1,ze,2,1,"span",6),t.YNc(2,Fe,1,1,"div",7),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Q6J("ngIf",e.label),t.xp6(1),t.Q6J("ngIf",e.description)}}function Ue(n,o){1&n&&(t.TgZ(0,"div",17),t._uU(1," No file services configured. Contact your administrator. "),t.qZA())}function Qe(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",10)(1,"div",11)(2,"button",12),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.openFileSelector())}),t._UZ(3,"fa-icon",13),t._uU(4," Select File "),t.qZA(),t.TgZ(5,"button",14),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.goToFilesManager())}),t._UZ(6,"fa-icon",13),t._uU(7," File Manager "),t.qZA()(),t.TgZ(8,"div",15),t._uU(9,' You can upload and select files directly with "Select File" or manage files via the "File Manager". '),t.qZA(),t.YNc(10,Ue,2,0,"div",16),t.qZA()}if(2&n){const e=t.oxw();t.xp6(3),t.Q6J("icon",e.faFolderOpen),t.xp6(3),t.Q6J("icon",e.faExternalLinkAlt),t.xp6(4),t.Q6J("ngIf",0===e.fileApis.length)}}function Je(n,o){if(1&n&&(t.TgZ(0,"div",31)(1,"strong"),t._uU(2,"Service:"),t.qZA(),t._uU(3),t.qZA()),2&n){const e=t.oxw(2);t.xp6(3),t.hij(" ",e.selectedFile.serviceName," ")}}function Le(n,o){if(1&n&&(t.TgZ(0,"div",32)(1,"span",33),t._uU(2,"Service Relative Path:"),t.qZA(),t.TgZ(3,"span",34),t._uU(4),t.qZA()()),2&n){const e=t.oxw(2);t.xp6(4),t.Oqu(e.selectedFile.relativePath)}}function Ee(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",18)(1,"div",19),t._UZ(2,"fa-icon",20),t.TgZ(3,"div",21)(4,"div",22),t._uU(5),t.qZA(),t.YNc(6,Je,4,1,"div",23),t.TgZ(7,"div",24)(8,"div",25),t._uU(9,"Full Absolute Path:"),t.qZA(),t.TgZ(10,"div",26)(11,"div",27),t._uU(12),t.qZA()(),t.YNc(13,Le,5,1,"div",28),t.qZA()()(),t.TgZ(14,"div",29)(15,"button",30),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.clearSelection())}),t._uU(16," Clear selection "),t.qZA(),t.TgZ(17,"button",12),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.openFileSelector())}),t._uU(18," Choose Different "),t.qZA(),t.TgZ(19,"button",14),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.goToFilesManager())}),t._UZ(20,"fa-icon",13),t._uU(21," File Manager "),t.qZA()()()}if(2&n){const e=t.oxw();t.xp6(2),t.Q6J("icon",e.faFile),t.xp6(3),t.hij(" ",e.selectedFile.fileName||e.selectedFile.name," "),t.xp6(1),t.Q6J("ngIf","Unknown"!==e.selectedFile.serviceName),t.xp6(6),t.Oqu(e.selectedFile.path),t.xp6(1),t.Q6J("ngIf",e.selectedFile.relativePath),t.xp6(7),t.Q6J("icon",e.faExternalLinkAlt)}}let st=((U=class{constructor(o,e,c,a){this.dialog=o,this.fileApiService=e,this.crudService=c,this.router=a,this.label="Private Key File",this.description="",this.allowedExtensions=[".pem",".p8",".key"],this.initialValue="",this.fileSelected=new t.vpe,this.faFile=C.gMD,this.faFolderOpen=C.cC_,this.faCheck=C.LEp,this.faUpload=C.cf$,this.faExternalLinkAlt=C.Xjp,this.selectedFile=void 0,this.fileApis=[],this.isLoading=!1}ngOnInit(){this.loadFileApis(),this.initialValue&&this.parseInitialValue(),this.ensureFallbackService()}goToFilesManager(){this.router.navigate([Dt.Z.ADMIN_SETTINGS,Dt.Z.FILES])}ensureFallbackService(){0===this.fileApis.length&&(console.log("Creating fallback file service entry"),this.fileApis=[{id:1,name:"files",label:"Local Files",type:"local_file"}])}loadFileApis(){this.isLoading=!0,this.ensureFallbackService(),this.fileApiService.getFileServices().pipe((0,P.t)(this)).subscribe({next:o=>{o&&o.resource&&o.resource.length>0?this.fileApis=o.resource:this.ensureFallbackService(),this.isLoading=!1},error:o=>{console.error("Error loading file APIs:",o),this.ensureFallbackService(),this.isLoading=!1}})}openFileSelector(){this.ensureFallbackService(),console.log("Opening file selector dialog with selectorOnly = false"),this.dialog.open(dt,{width:"800px",data:{fileApis:this.fileApis,allowedExtensions:this.allowedExtensions,selectorOnly:!1}}).afterClosed().subscribe(e=>{e&&(this.selectedFile=e,this.fileSelected.emit(this.selectedFile))})}clearSelection(){this.selectedFile=void 0,this.fileSelected.emit(void 0)}parseInitialValue(o){try{const e=o||this.initialValue;if(e){console.log("Parsing path value:",e);const c=e.split("/"),a=c[c.length-1];this.selectedFile={path:e,fileName:a,name:a,serviceId:0,serviceName:"Unknown"},console.log("Generated selected file:",this.selectedFile)}}catch(e){console.error("Failed to parse path value:",e)}}setPath(o){o&&(console.log("Setting path manually:",o),this.parseInitialValue(o))}}).\u0275fac=function(o){return new(o||U)(t.Y36(b.uw),t.Y36(St),t.Y36(B.R),t.Y36(X.F0))},U.\u0275cmp=t.Xpm({type:U,selectors:[["df-file-selector"]],inputs:{label:"label",description:"description",allowedExtensions:"allowedExtensions",initialValue:"initialValue"},outputs:{fileSelected:"fileSelected"},standalone:!0,features:[t._Bn([{provide:N.Xt,useValue:"api/v2/system/service"},B.R]),t.jDz],decls:5,vars:3,consts:[[1,"file-selector-container"],["class","file-selector-header",4,"ngIf"],[1,"file-selector-content"],["class","file-selector-empty",4,"ngIf"],["class","file-selector-selected",4,"ngIf"],[1,"file-selector-header"],["class","file-selector-label",4,"ngIf"],["class","file-selector-description",3,"innerHTML",4,"ngIf"],[1,"file-selector-label"],[1,"file-selector-description",3,"innerHTML"],[1,"file-selector-empty"],[1,"file-selector-actions"],["mat-raised-button","","color","primary",1,"select-file-button",3,"click"],[3,"icon"],["mat-button","","color","accent","matTooltip","Upload and manage files in the file manager",1,"manage-files-button",3,"click"],[1,"help-text"],["class","no-apis-message",4,"ngIf"],[1,"no-apis-message"],[1,"file-selector-selected"],[1,"selected-file-info"],[1,"file-icon",3,"icon"],[1,"file-details"],[1,"file-name"],["class","file-service",4,"ngIf"],[1,"file-path-container"],[1,"file-path-header"],[1,"file-path-section"],[1,"file-path-value"],["class","relative-path-section",4,"ngIf"],[1,"file-actions"],[1,"clear-button",3,"click"],[1,"file-service"],[1,"relative-path-section"],[1,"relative-path-label"],[1,"relative-path-value"]],template:function(o,e){1&o&&(t.TgZ(0,"div",0),t.YNc(1,Ne,3,2,"div",1),t.TgZ(2,"div",2),t.YNc(3,Qe,11,3,"div",3),t.YNc(4,Ee,22,6,"div",4),t.qZA()()),2&o&&(t.xp6(1),t.Q6J("ngIf",e.label||e.description),t.xp6(2),t.Q6J("ngIf",!e.selectedFile),t.xp6(1),t.Q6J("ngIf",e.selectedFile))},dependencies:[g.ez,g.O5,b.Is,x.ot,x.lW,u.lN,O.c,T.LD,s.u5,s.UX,k.AV,k.gM,y.uH,y.BN,A.Ps],styles:[".file-selector-container[_ngcontent-%COMP%]{width:100%;border:1px solid rgba(0,0,0,.12);border-radius:4px;padding:16px;margin-bottom:16px}.file-selector-header[_ngcontent-%COMP%]{margin-bottom:16px}.file-selector-label[_ngcontent-%COMP%]{font-size:16px;font-weight:500;margin-right:8px}.file-selector-description[_ngcontent-%COMP%]{font-size:14px;color:#0009}.file-selector-description[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#3f51b5;text-decoration:none}.file-selector-description[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-selector-content[_ngcontent-%COMP%]{width:100%}.file-selector-empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:16px 0}.file-selector-actions[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-bottom:16px}.select-file-button[_ngcontent-%COMP%]{padding:8px 24px;font-size:14px}.select-file-button[_ngcontent-%COMP%] fa-icon[_ngcontent-%COMP%]{margin-right:8px}.file-selector-selected[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#0000000a;border-radius:4px}.selected-file-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.file-icon[_ngcontent-%COMP%]{font-size:24px;color:#3f51b5}.file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column}.file-name[_ngcontent-%COMP%]{font-weight:500;margin-bottom:4px}.file-path-container[_ngcontent-%COMP%]{margin-top:12px;padding:4px;border-radius:4px}.file-path-header[_ngcontent-%COMP%]{font-weight:600;margin-bottom:6px;font-size:15px;color:#000000de}.file-path-section[_ngcontent-%COMP%]{display:flex;margin-bottom:8px;flex-wrap:wrap;padding:12px;background-color:#0000000d;border-radius:4px;border:1px solid rgba(0,0,0,.15);box-shadow:inset 0 1px 3px #0000000d}.file-path-label[_ngcontent-%COMP%]{font-weight:600;margin-right:8px;color:#000000de;font-size:14px}.file-path-value[_ngcontent-%COMP%]{font-size:14px;color:#000000de;word-break:break-all;flex:1;font-family:monospace;background-color:#ffffff80;padding:4px 8px;border-radius:3px;border:1px solid rgba(0,0,0,.1)}.file-service[_ngcontent-%COMP%]{font-size:12px;color:#000000de}.file-actions[_ngcontent-%COMP%]{display:flex;gap:12px;align-items:center}.clear-button[_ngcontent-%COMP%]{background:none;border:none;color:#f44336;cursor:pointer;font-size:14px;padding:0;font-weight:500}.clear-button[_ngcontent-%COMP%]:hover{text-decoration:underline}.no-apis-message[_ngcontent-%COMP%]{color:#0009;font-style:italic}.relative-path-section[_ngcontent-%COMP%]{display:flex;margin-top:6px;font-size:12px;color:#0009}.relative-path-label[_ngcontent-%COMP%]{font-weight:600;margin-right:8px}.relative-path-value[_ngcontent-%COMP%]{font-family:monospace}.dark-theme[_nghost-%COMP%] .file-selector-container[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-selector-container[_ngcontent-%COMP%]{border-color:#ffffff1f}.dark-theme[_nghost-%COMP%] .file-selector-description[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-selector-description[_ngcontent-%COMP%], .dark-theme[_nghost-%COMP%] .no-apis-message[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .no-apis-message[_ngcontent-%COMP%]{color:#fff9}.dark-theme[_nghost-%COMP%] .file-selector-description[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-selector-description[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .dark-theme[_nghost-%COMP%] .no-apis-message[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .no-apis-message[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#9fa8da}.dark-theme[_nghost-%COMP%] .file-name[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-name[_ngcontent-%COMP%], .dark-theme[_nghost-%COMP%] .file-service[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-service[_ngcontent-%COMP%]{color:#ffffffde}.dark-theme[_nghost-%COMP%] .file-path-header[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-path-header[_ngcontent-%COMP%]{color:#ffffffe6}.dark-theme[_nghost-%COMP%] .file-selector-selected[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-selector-selected[_ngcontent-%COMP%]{background-color:#ffffff0a}.dark-theme[_nghost-%COMP%] .clear-button[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .clear-button[_ngcontent-%COMP%]{color:#ef9a9a}.dark-theme[_nghost-%COMP%] .file-path-section[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-path-section[_ngcontent-%COMP%]{background-color:#ffffff12;border-color:#ffffff26;box-shadow:inset 0 1px 3px #0003}.dark-theme[_nghost-%COMP%] .file-path-label[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-path-label[_ngcontent-%COMP%]{color:#ffffffe6}.dark-theme[_nghost-%COMP%] .file-path-value[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .file-path-value[_ngcontent-%COMP%]{color:#ffffffe6;background-color:#0003;border-color:#ffffff1a}.dark-theme[_nghost-%COMP%] .relative-path-section[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .relative-path-section[_ngcontent-%COMP%]{color:#fff9}"]}),U);st=(0,Z.gn)([(0,P.c)({checkProperties:!0})],st);var Q,tt=l(65763);const qe=["fileSelector"];function Ye(n,o){if(1&n&&(t.TgZ(0,"mat-label"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e.schema.label)}}function Re(n,o){if(1&n&&t._UZ(0,"input",8),2&n){const e=t.oxw(2);t.Q6J("formControl",e.control)("type","integer"===e.schema.type?"number":"password"===e.schema.type?"password":"text"),t.uIk("autocomplete","password"===e.schema.type?"current-password":"off")("aria-label",e.schema.label)}}function Be(n,o){if(1&n&&(t.TgZ(0,"mat-option",11),t._uU(1),t.qZA()),2&n){const e=o.$implicit;t.Q6J("value",e.name),t.xp6(1),t.hij(" ",e.label," ")}}function He(n,o){if(1&n&&(t.TgZ(0,"mat-select",9),t.YNc(1,Be,2,2,"mat-option",10),t.qZA()),2&n){const e=t.oxw(2);t.Q6J("multiple","multi_picklist"===e.schema.type)("formControl",e.control),t.xp6(1),t.Q6J("ngForOf",e.schema.values)}}function Ge(n,o){if(1&n&&t._UZ(0,"fa-icon",12),2&n){const e=t.oxw(2);t.Q6J("icon",e.faCircleInfo)("matTooltip",e.schema.description)}}const $e=function(){return["integer","string","password","text"]},je=function(){return["picklist","multi_picklist"]};function Ve(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",4),t.YNc(1,Ye,2,1,"mat-label",1),t.YNc(2,Re,1,4,"input",5),t.YNc(3,He,2,3,"mat-select",6),t.YNc(4,Ge,1,2,"fa-icon",7),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Q6J("ngIf",e.showLabel),t.xp6(1),t.Q6J("ngIf",t.DdM(4,$e).includes(e.schema.type)),t.xp6(1),t.Q6J("ngIf",t.DdM(5,je).includes(e.schema.type)),t.xp6(1),t.Q6J("ngIf",e.schema.description)}}const Ke=function(){return[".p8",".pem",".key"]};function We(n,o){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"df-file-selector",13,14),t.NdJ("fileSelected",function(a){t.CHM(e);const i=t.oxw();return t.KtG(i.onFileSelected(a))}),t.qZA(),t.BQk()}if(2&n){const e=t.oxw();t.xp6(1),t.Q6J("label",e.schema.label)("description",e.schema.description||"")("allowedExtensions",t.DdM(4,Ke))("initialValue",e.control.value)}}function Xe(n,o){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"input",15,16),t.NdJ("change",function(a){t.CHM(e);const i=t.oxw();return t.KtG(i.handleFileInput(a))}),t.qZA(),t.TgZ(3,"button",17),t.NdJ("click",function(){t.CHM(e);const a=t.MAs(2);return t.KtG(a.click())}),t._uU(4),t.qZA(),t._uU(5),t.ALo(6,"transloco"),t.BQk()}if(2&n){const e=t.oxw();let c;t.xp6(3),t.Q6J("matTooltip",null!==(c=e.schema.description)&&void 0!==c?c:""),t.xp6(1),t.hij(" ",e.schema.label," "),t.xp6(1),t.hij(" ",e.control.value?e.control.value.name:t.lcZ(6,3,"noFileSelected")," ")}}function tn(n,o){if(1&n&&(t.ynx(0),t.TgZ(1,"span"),t._uU(2),t.qZA(),t.BQk()),2&n){const e=t.oxw(2);t.xp6(2),t.Oqu(e.schema.label)}}function en(n,o){if(1&n&&(t.TgZ(0,"mat-slide-toggle",18),t.YNc(1,tn,3,1,"ng-container",1),t.qZA()),2&n){const e=t.oxw();let c;t.Q6J("formControl",e.control)("matTooltip",null!==(c=e.schema.description)&&void 0!==c?c:""),t.uIk("aria-label",e.schema.label),t.xp6(1),t.Q6J("ngIf",e.showLabel)}}function nn(n,o){if(1&n&&(t.TgZ(0,"mat-label"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e.schema.label)}}function on(n,o){if(1&n&&(t.TgZ(0,"mat-option",11),t._uU(1),t.qZA()),2&n){const e=o.$implicit;t.Q6J("value",e),t.xp6(1),t.hij(" ",e," ")}}function cn(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",19),t.YNc(1,nn,2,1,"mat-label",1),t._UZ(2,"input",20),t.TgZ(3,"mat-autocomplete",null,21),t.YNc(5,on,2,2,"mat-option",10),t.ALo(6,"async"),t.qZA()()),2&n){const e=t.MAs(4),c=t.oxw();t.xp6(1),t.Q6J("ngIf",c.showLabel),t.xp6(1),t.Q6J("formControl",c.control)("matAutocomplete",e),t.uIk("aria-label",c.schema.label),t.xp6(3),t.Q6J("ngForOf",t.lcZ(6,5,c.filteredEventList))}}const an=function(){return["integer","password","string","string","picklist","multi_picklist","text"]};let et=((Q=class{constructor(o,e,c){this.controlDir=o,this.activedRoute=e,this.themeService=c,this.showLabel=!0,this.faCircleInfo=C.DBf,this.control=new s.NI,this.pendingFilePath=null,this.eventList=[],this.isDarkMode=this.themeService.darkMode$,o.valueAccessor=this}ngOnInit(){"event_picklist"===this.schema.type&&(this.activedRoute.data.subscribe(o=>{o.systemEvents&&o.systemEvents.resource&&(this.eventList=(0,Xt.H)(o.systemEvents.resource))}),this.filteredEventList=this.control.valueChanges.pipe((0,Y.O)(""),(0,w.U)(o=>o&&this.eventList?this.eventList.filter(e=>e.toLowerCase().includes(o.toLowerCase())):[])))}ngDoCheck(){this.controlDir.control instanceof s.NI&&this.controlDir.control.hasValidator(s.kI.required)&&this.control.addValidators(s.kI.required)}ngAfterViewInit(){"file_certificate_api"===this.schema?.type&&this.fileSelector&&(this.pendingFilePath?(console.log("Applying pending file path after view init:",this.pendingFilePath),this.fileSelector.setPath(this.pendingFilePath),this.pendingFilePath=null):this.control.value&&"string"==typeof this.control.value&&(console.log("Setting file selector path after view init:",this.control.value),this.fileSelector.setPath(this.control.value)))}handleFileInput(o){const e=o.target;e.files&&this.control.setValue(e.files[0])}onFileSelected(o){o?(this.control.setValue(o.path),console.log("File selected in dynamic field:",o)):this.control.setValue(null)}writeValue(o){if(console.log("Dynamic field writeValue:",o,"Schema type:",this.schema?.type),"file_certificate_api"===this.schema?.type&&"string"==typeof o&&o)return console.log("Setting file path value:",o),this.control.setValue(o,{emitEvent:!1}),void(this.fileSelector?(console.log("Setting path on file selector:",o),this.fileSelector.setPath(o)):(console.log("File selector not yet available, storing pending path:",o),this.pendingFilePath=o));this.control.setValue(o,{emitEvent:!1})}registerOnChange(o){this.onChange=o,this.control.valueChanges.subscribe(e=>this.onChange(e))}registerOnTouched(o){this.onTouched=o}setDisabledState(o){o?this.control.disable():this.control.enable()}}).\u0275fac=function(o){return new(o||Q)(t.Y36(s.a5,10),t.Y36(X.gz),t.Y36(tt.F))},Q.\u0275cmp=t.Xpm({type:Q,selectors:[["df-dynamic-field"]],viewQuery:function(o,e){if(1&o&&t.Gf(qe,5),2&o){let c;t.iGM(c=t.CRH())&&(e.fileSelector=c.first)}},inputs:{schema:"schema",showLabel:"showLabel"},standalone:!0,features:[t.jDz],decls:7,vars:10,consts:[["subscriptSizing","dynamic","appearance","outline",4,"ngIf"],[4,"ngIf"],["color","primary",3,"formControl","matTooltip",4,"ngIf"],["subscriptSizing","dynamic",4,"ngIf"],["subscriptSizing","dynamic","appearance","outline"],["matInput","",3,"formControl","type",4,"ngIf"],[3,"multiple","formControl",4,"ngIf"],["class","tool-tip-trigger","matSuffix","",3,"icon","matTooltip",4,"ngIf"],["matInput","",3,"formControl","type"],[3,"multiple","formControl"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["matSuffix","",1,"tool-tip-trigger",3,"icon","matTooltip"],[3,"label","description","allowedExtensions","initialValue","fileSelected"],["fileSelector",""],["type","file",2,"display","none",3,"change"],["fileInput",""],["mat-flat-button","","color","primary",3,"matTooltip","click"],["color","primary",3,"formControl","matTooltip"],["subscriptSizing","dynamic"],["type","text","matInput","",3,"formControl","matAutocomplete"],["auto","matAutocomplete"]],template:function(o,e){1&o&&(t.TgZ(0,"div"),t.ALo(1,"async"),t.YNc(2,Ve,5,6,"mat-form-field",0),t.YNc(3,We,3,5,"ng-container",1),t.YNc(4,Xe,7,5,"ng-container",1),t.YNc(5,en,2,4,"mat-slide-toggle",2),t.YNc(6,cn,7,7,"mat-form-field",3),t.qZA()),2&o&&(t.Tol(t.lcZ(1,7,e.isDarkMode)?"dark-theme":""),t.xp6(2),t.Q6J("ngIf",t.DdM(9,an).includes(e.schema.type)),t.xp6(1),t.Q6J("ngIf","file_certificate_api"===e.schema.type),t.xp6(1),t.Q6J("ngIf","file_certificate"===e.schema.type),t.xp6(1),t.Q6J("ngIf","boolean"===e.schema.type),t.xp6(1),t.Q6J("ngIf","event_picklist"===e.schema.type))},dependencies:[u.lN,u.KE,u.hX,u.R9,O.c,O.Nt,g.O5,T.LD,T.gD,M.ey,W.rP,W.Rr,s.UX,s.Fj,s.JJ,s.oH,g.ax,x.ot,x.lW,q.Ot,y.uH,y.BN,k.AV,k.gM,lt.Bb,lt.XC,lt.ZL,g.Ov,st],encapsulation:2}),Q);et=(0,Z.gn)([(0,P.c)({checkProperties:!0})],et);var I,mt,J=l(95195),rn=l(75058);function ln(n,o){if(1&n&&t._UZ(0,"fa-icon",10),2&n){const e=t.oxw(2);t.Q6J("icon",e.faCircleInfo)("matTooltip",e.schema.description)}}function dn(n,o){if(1&n&&(t.TgZ(0,"mat-card-header"),t._uU(1),t.YNc(2,ln,1,2,"fa-icon",9),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Oqu(e.schema.label),t.xp6(1),t.Q6J("ngIf",e.schema.description)}}function sn(n,o){if(1&n&&t._UZ(0,"fa-icon",10),2&n){const e=t.oxw(3);t.Q6J("icon",e.faCircleInfo)("matTooltip",e.schema.description)}}function mn(n,o){if(1&n&&(t.TgZ(0,"th",12),t._uU(1),t.YNc(2,sn,1,2,"fa-icon",9),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.hij(" ",e.schema.label,""),t.xp6(1),t.Q6J("ngIf",e.schema.description)}}function gn(n,o){if(1&n&&(t.TgZ(0,"td",13)(1,"mat-form-field",14),t._UZ(2,"input",15),t.qZA()()),2&n){const e=o.index,c=t.oxw(2);t.xp6(2),t.Q6J("formControl",c.controls[e]),t.uIk("aria-label",c.schema.label)}}function pn(n,o){if(1&n&&(t.ynx(0,11),t.YNc(1,mn,3,2,"th",5),t.YNc(2,gn,3,2,"td",6),t.BQk()),2&n){const e=t.oxw();t.Q6J("matColumnDef",e.schema.name)}}function fn(n,o){if(1&n&&(t.TgZ(0,"th",12),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.hij(" ",e.label," ")}}function _n(n,o){if(1&n&&t._UZ(0,"df-verb-picker",20),2&n){const e=t.oxw(2).$implicit;t.Q6J("formControlName",e.name)("schema",e)}}function bn(n,o){if(1&n&&t._UZ(0,"df-dynamic-field",21),2&n){const e=t.oxw(2).$implicit;t.Q6J("showLabel",!1)("schema",e)("formControlName",e.name)}}function hn(n,o){if(1&n&&(t.TgZ(0,"td",13),t.ynx(1,17),t.YNc(2,_n,1,2,"df-verb-picker",18),t.YNc(3,bn,1,3,"df-dynamic-field",19),t.BQk(),t.qZA()),2&n){const e=o.index,c=t.oxw().$implicit,a=t.oxw(2);t.xp6(1),t.Q6J("formGroup",a.getFormGroup(e)),t.xp6(1),t.Q6J("ngIf","verb_mask"===c.type),t.xp6(1),t.Q6J("ngIf","verb_mask"!==c.type)}}function un(n,o){1&n&&(t.ynx(0,11),t.YNc(1,fn,2,1,"th",5),t.YNc(2,hn,4,3,"td",6),t.BQk()),2&n&&t.Q6J("matColumnDef",o.$implicit.name)}function xn(n,o){if(1&n&&t.YNc(0,un,3,1,"ng-container",16),2&n){const e=t.oxw();t.Q6J("ngForOf",e.schemas)}}function Cn(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"th",12)(1,"button",22),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.add())}),t.ALo(2,"transloco"),t._UZ(3,"fa-icon",23),t.qZA()()}if(2&n){const e=t.oxw();t.xp6(1),t.uIk("aria-label",t.lcZ(2,2,"newEntry")),t.xp6(2),t.Q6J("icon",e.faPlus)}}const Mn=function(n){return{id:n}};function On(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"td",13)(1,"button",24),t.NdJ("click",function(){const i=t.CHM(e).index,d=t.oxw();return t.KtG(d.remove(i))}),t.ALo(2,"transloco"),t._UZ(3,"fa-icon",23),t.qZA()()}if(2&n){const e=o.index,c=t.oxw();t.xp6(1),t.uIk("aria-label",t.xi3(2,2,"deleteRow",t.VKq(5,Mn,e))),t.xp6(2),t.Q6J("icon",c.faTrashCan)}}function Pn(n,o){1&n&&t._UZ(0,"tr",25)}function vn(n,o){1&n&&t._UZ(0,"tr",26)}let gt=(mt=I=class{updateDataSource(){this.dataSource=new _.by(this.fieldArray.controls)}constructor(o,e){this.fb=o,this.themeService=e,this.faPlus=C.r8p,this.faTrashCan=C.Vui,this.faCircleInfo=C.DBf,this.isDarkMode=this.themeService.darkMode$}get controls(){return this.fieldArray.controls}ngOnInit(){this.initialize()}get schemas(){return"array"===this.schema.type?this.schema.items:[{name:"key",label:this.schema.object?.key.label,type:this.schema.object?.key.type},{name:"value",label:this.schema.object?.value.label,type:this.schema.object?.value.type}]}get displayedColumns(){const o="array"===this.schema.type?"string"===this.schema.items?[this.schema.name]:this.schemas.map(e=>e.name):["key","value"];return o.push("actions"),o}getFormGroup(o){return this.fieldArray.at(o)}createGroup(o){const e=this.fb.group({});return this.schemas.forEach(c=>{e.addControl(c.name,new s.NI(o?o[c.name]:c.default))}),o&&e.patchValue(o),e}initialize(){this.fieldArray=this.fb.array([])}writeValue(o){o&&Array.isArray(o)&&"array"===this.schema.type?this.fieldArray=this.fb.array(o.map("string"===this.schema.items?e=>new s.NI(e):e=>this.createGroup(e))):o&&"object"===this.schema.type&&(this.fieldArray=this.fb.array(Object.keys(o).map(e=>this.createGroup({key:e,value:o[e]})))),this.fieldArray.valueChanges.pipe((0,w.U)(e=>"object"===this.schema.type?e.reduce((c,a)=>(c[a.key]=a.value,c),{}):e)).subscribe(()=>{this.updateDataSource()})}registerOnChange(o){this.onChange=o,this.fieldArray.valueChanges.pipe((0,w.U)(e=>"object"===this.schema.type?e.reduce((c,a)=>(c[a.key]=a.value,c),{}):e)).subscribe(e=>{this.onChange(e),this.updateDataSource()})}registerOnTouched(o){this.onTouched=o}setDisabledState(o){o?this.fieldArray.disable():this.fieldArray.enable()}add(){this.fieldArray.push("string"===this.schema.items?new s.NI(""):this.createGroup())}remove(o){this.fieldArray.removeAt(o)}},I.\u0275fac=function(o){return new(o||I)(t.Y36(s.qu),t.Y36(tt.F))},I.\u0275cmp=t.Xpm({type:I,selectors:[["df-array-field"]],inputs:{schema:"schema"},standalone:!0,features:[t._Bn([{provide:s.JU,useExisting:(0,t.Gpc)(()=>mt),multi:!0}]),t.jDz],decls:12,vars:10,consts:[[4,"ngIf"],["mat-table","",3,"dataSource"],[3,"matColumnDef",4,"ngIf","ngIfElse"],["dynamic",""],["matColumnDef","actions","stickyEnd",""],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["class","tool-tip-trigger","matSuffix","",3,"icon","matTooltip",4,"ngIf"],["matSuffix","",1,"tool-tip-trigger",3,"icon","matTooltip"],[3,"matColumnDef"],["mat-header-cell",""],["mat-cell",""],["appearance","outline","subscriptSizing","dynamic",1,"full-width"],["matInput","","type","text",3,"formControl"],[3,"matColumnDef",4,"ngFor","ngForOf"],[3,"formGroup"],["type","number","class","full-width",3,"formControlName","schema",4,"ngIf"],["class","full-width",3,"showLabel","schema","formControlName",4,"ngIf"],["type","number",1,"full-width",3,"formControlName","schema"],[1,"full-width",3,"showLabel","schema","formControlName"],["type","button","mat-mini-fab","","color","primary",3,"click"],["size","lg",3,"icon"],["type","button","mat-mini-fab","",1,"remove-btn",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(o,e){if(1&o&&(t.TgZ(0,"mat-card"),t.ALo(1,"async"),t.YNc(2,dn,3,2,"mat-card-header",0),t.TgZ(3,"table",1),t.YNc(4,pn,3,1,"ng-container",2),t.YNc(5,xn,1,1,"ng-template",null,3,t.W1O),t.ynx(7,4),t.YNc(8,Cn,4,4,"th",5),t.YNc(9,On,4,7,"td",6),t.BQk(),t.YNc(10,Pn,1,0,"tr",7),t.YNc(11,vn,1,0,"tr",8),t.qZA()()),2&o){const c=t.MAs(6);t.Tol(t.lcZ(1,8,e.isDarkMode)?"dark-theme":""),t.xp6(2),t.Q6J("ngIf","string"!==e.schema.items),t.xp6(1),t.Q6J("dataSource",e.dataSource),t.xp6(1),t.Q6J("ngIf","string"===e.schema.items)("ngIfElse",c),t.xp6(6),t.Q6J("matHeaderRowDef",e.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",e.displayedColumns)}},dependencies:[s.UX,s.Fj,s.JJ,s.JL,s.oH,s.sg,s.u,g.ax,u.lN,u.KE,u.R9,O.c,O.Nt,x.ot,x.nh,y.uH,y.BN,et,g.O5,_.p0,_.BZ,_.fO,_.as,_.w1,_.Dz,_.nj,_.ge,_.ev,_.XQ,_.Gk,J.QW,J.a8,J.dk,k.AV,k.gM,q.Ot,rn.M,T.LD,g.Ov],styles:[".mat-ripple[_ngcontent-%COMP%]{overflow:hidden;position:relative}.mat-ripple[_ngcontent-%COMP%]:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded[_ngcontent-%COMP%]{overflow:visible}.mat-ripple-element[_ngcontent-%COMP%]{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active[_ngcontent-%COMP%] .mat-ripple-element[_ngcontent-%COMP%]{display:none}.cdk-visually-hidden[_ngcontent-%COMP%]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl][_ngcontent-%COMP%] .cdk-visually-hidden[_ngcontent-%COMP%]{left:auto;right:0}.cdk-overlay-container[_ngcontent-%COMP%], .cdk-global-overlay-wrapper[_ngcontent-%COMP%]{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container[_ngcontent-%COMP%]{position:fixed;z-index:1000}.cdk-overlay-container[_ngcontent-%COMP%]:empty{display:none}.cdk-global-overlay-wrapper[_ngcontent-%COMP%]{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane[_ngcontent-%COMP%]{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing[_ngcontent-%COMP%]{opacity:1}.cdk-high-contrast-active[_ngcontent-%COMP%] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing[_ngcontent-%COMP%]{opacity:.6}.cdk-overlay-dark-backdrop[_ngcontent-%COMP%]{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop[_ngcontent-%COMP%]{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing[_ngcontent-%COMP%]{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation[_ngcontent-%COMP%]{transition:none}.cdk-overlay-connected-position-bounding-box[_ngcontent-%COMP%]{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock[_ngcontent-%COMP%]{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize[_ngcontent-%COMP%]{resize:none}textarea.cdk-textarea-autosize-measuring[_ngcontent-%COMP%]{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox[_ngcontent-%COMP%]{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes _ngcontent-%COMP%_cdk-text-field-autofill-start{}@keyframes _ngcontent-%COMP%_cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored[_ngcontent-%COMP%]:-webkit-autofill{animation:_ngcontent-%COMP%_cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored[_ngcontent-%COMP%]:not(:-webkit-autofill){animation:_ngcontent-%COMP%_cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator[_ngcontent-%COMP%]{position:relative}.mat-focus-indicator[_ngcontent-%COMP%]:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator[_ngcontent-%COMP%]:focus:before{content:\"\"}.cdk-high-contrast-active[_ngcontent-%COMP%]{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator[_ngcontent-%COMP%]{position:relative}.mat-mdc-focus-indicator[_ngcontent-%COMP%]:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator[_ngcontent-%COMP%]:focus:before{content:\"\"}.cdk-high-contrast-active[_ngcontent-%COMP%]{--mat-mdc-focus-indicator-display: block}@font-face{font-family:Inter;src:url(Inter-VariableFont_slnt,wght.1cccc37b0c8d2802.ttf)}.mat-ripple-element[_ngcontent-%COMP%]{background-color:#0000001a}html[_ngcontent-%COMP%]{--mat-option-selected-state-label-text-color: #0f0761;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}.mat-accent[_ngcontent-%COMP%]{--mat-option-selected-state-label-text-color: #dd7345}.mat-warn[_ngcontent-%COMP%]{--mat-option-selected-state-label-text-color: #f44336}html[_ngcontent-%COMP%]{--mat-optgroup-label-text-color: rgba(0, 0, 0, .87)}.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{color:#0000008a}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled[_ngcontent-%COMP%]{color:#b0b0b0}.mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#0f0761}.mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#0f0761}.mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after, .mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after{color:#fafafa}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#dd7345}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#dd7345}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after, .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after{color:#fafafa}.mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#dd7345}.mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#dd7345}.mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after, .mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after{color:#fafafa}.mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#f44336}.mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#f44336}.mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after, .mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after{color:#fafafa}.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#b0b0b0}.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#b0b0b0}.mat-app-background[_ngcontent-%COMP%]{background-color:#fafafa;color:#000000de}.mat-elevation-z0[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z0[_ngcontent-%COMP%]{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z1[_ngcontent-%COMP%]{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z2[_ngcontent-%COMP%]{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z3[_ngcontent-%COMP%]{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z4[_ngcontent-%COMP%]{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z5[_ngcontent-%COMP%]{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z6[_ngcontent-%COMP%]{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z7[_ngcontent-%COMP%]{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z8[_ngcontent-%COMP%]{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z9[_ngcontent-%COMP%]{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z10[_ngcontent-%COMP%]{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z11[_ngcontent-%COMP%]{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z12[_ngcontent-%COMP%]{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z13[_ngcontent-%COMP%]{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z14[_ngcontent-%COMP%]{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z15[_ngcontent-%COMP%]{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z16[_ngcontent-%COMP%]{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z17[_ngcontent-%COMP%]{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z18[_ngcontent-%COMP%]{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z19[_ngcontent-%COMP%]{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z20[_ngcontent-%COMP%]{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z21[_ngcontent-%COMP%]{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z22[_ngcontent-%COMP%]{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z23[_ngcontent-%COMP%]{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z24[_ngcontent-%COMP%]{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker[_ngcontent-%COMP%]{display:none}html[_ngcontent-%COMP%]{--mat-option-label-text-font: Inter;--mat-option-label-text-line-height: 24px;--mat-option-label-text-size: 16px;--mat-option-label-text-tracking: .03125em;--mat-option-label-text-weight: 400}html[_ngcontent-%COMP%]{--mat-optgroup-label-text-font: Inter;--mat-optgroup-label-text-line-height: 24px;--mat-optgroup-label-text-size: 16px;--mat-optgroup-label-text-tracking: .03125em;--mat-optgroup-label-text-weight: 400}.mat-mdc-card[_ngcontent-%COMP%]{--mdc-elevated-card-container-color: white;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-color: white;--mdc-outlined-card-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-subtitle-text-color: rgba(0, 0, 0, .54)}.mat-mdc-card[_ngcontent-%COMP%]{--mat-card-title-text-font: Inter;--mat-card-title-text-line-height: 32px;--mat-card-title-text-size: 20px;--mat-card-title-text-tracking: .0125em;--mat-card-title-text-weight: 500;--mat-card-subtitle-text-font: Inter;--mat-card-subtitle-text-line-height: 22px;--mat-card-subtitle-text-size: 14px;--mat-card-subtitle-text-tracking: .0071428571em;--mat-card-subtitle-text-weight: 500}.mat-mdc-progress-bar[_ngcontent-%COMP%]{--mdc-linear-progress-active-indicator-color: #0f0761;--mdc-linear-progress-track-color: rgba(15, 7, 97, .25)}.mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:#0f076140;background-color:var(--mdc-linear-progress-track-color, rgba(15, 7, 97, .25))}@media (forced-colors: active){.mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:transparent;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(15, 7, 97, 0.25)'/%3E%3C/svg%3E\")}}.mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-bar[_ngcontent-%COMP%]{background-color:#0f076140;background-color:var(--mdc-linear-progress-track-color, rgba(15, 7, 97, .25))}.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%]{--mdc-linear-progress-active-indicator-color: #dd7345;--mdc-linear-progress-track-color: rgba(221, 115, 69, .25)}.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:#dd734540;background-color:var(--mdc-linear-progress-track-color, rgba(221, 115, 69, .25))}@media (forced-colors: active){.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:transparent;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(221, 115, 69, 0.25)'/%3E%3C/svg%3E\")}}.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%] .mdc-linear-progress__buffer-bar[_ngcontent-%COMP%]{background-color:#dd734540;background-color:var(--mdc-linear-progress-track-color, rgba(221, 115, 69, .25))}.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%]{--mdc-linear-progress-active-indicator-color: #f44336;--mdc-linear-progress-track-color: rgba(244, 67, 54, .25)}@keyframes _ngcontent-%COMP%_mdc-linear-progress-buffering{}.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:#f4433640;background-color:var(--mdc-linear-progress-track-color, rgba(244, 67, 54, .25))}@media (forced-colors: active){.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:transparent;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(244, 67, 54, 0.25)'/%3E%3C/svg%3E\")}}.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%] .mdc-linear-progress__buffer-bar[_ngcontent-%COMP%]{background-color:#f4433640;background-color:var(--mdc-linear-progress-track-color, rgba(244, 67, 54, .25))}.mat-mdc-tooltip[_ngcontent-%COMP%]{--mdc-plain-tooltip-container-color: #616161;--mdc-plain-tooltip-supporting-text-color: #fff}.mat-mdc-tooltip[_ngcontent-%COMP%]{--mdc-plain-tooltip-supporting-text-font: Inter;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .0333333333em}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:#0009}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__input[_ngcontent-%COMP%]{color:#000000de}@media all{.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__input[_ngcontent-%COMP%]::placeholder{color:#0009}}@media all{.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__input[_ngcontent-%COMP%]:-ms-input-placeholder{color:#0009}}.mdc-text-field[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-primary, #0f0761)}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text[_ngcontent-%COMP%]{color:#0009}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field-character-counter[_ngcontent-%COMP%], .mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%]{color:#0009}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--leading[_ngcontent-%COMP%]{color:#0000008a}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:#0000008a}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__affix--prefix[_ngcontent-%COMP%]{color:#0009}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix[_ngcontent-%COMP%]{color:#0009}.mdc-text-field--filled[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:before, .mdc-text-field--filled[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:after{background-color:var(--mdc-ripple-color, rgba(0, 0, 0, .87))}.mdc-text-field--filled[_ngcontent-%COMP%]:hover .mdc-text-field__ripple[_ngcontent-%COMP%]:before, .mdc-text-field--filled.mdc-ripple-surface--hover[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:before{opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-text-field--filled.mdc-ripple-upgraded--background-focused[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:before, .mdc-text-field--filled[_ngcontent-%COMP%]:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple[_ngcontent-%COMP%]:before{opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-text-field--filled[_ngcontent-%COMP%]:not(.mdc-text-field--disabled){background-color:#f5f5f5}.mdc-text-field--filled[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:#0000006b}.mdc-text-field--filled[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):hover .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:#000000de}.mdc-text-field--filled[_ngcontent-%COMP%] .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-primary, #0f0761)}.mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:#00000061}.mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:#000000de}.mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-primary, #0f0761)}.mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:before, .mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:after{background-color:var(--mdc-ripple-color, transparent)}.mdc-text-field--focused[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:#0f0761de}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):hover .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text--validation-msg[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{color:#00000061}@media all{.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]::placeholder{color:#00000061}}@media all{.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]:-ms-input-placeholder{color:#00000061}}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-floating-label[_ngcontent-%COMP%]{color:#00000061}.mdc-text-field--disabled[_ngcontent-%COMP%] + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text[_ngcontent-%COMP%]{color:#00000061}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%]{color:#00000061}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__icon--leading[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:#0000004d}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__affix--prefix[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__affix--suffix[_ngcontent-%COMP%]{color:#00000061}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:#0000000f}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:#0000000f}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]::placeholder{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]:-ms-input-placeholder{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-floating-label[_ngcontent-%COMP%]{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text[_ngcontent-%COMP%]{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%]{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__icon--leading[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__icon--trailing[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__affix--prefix[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__affix--suffix[_ngcontent-%COMP%]{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:GrayText}}.mdc-text-field--disabled.mdc-text-field--filled[_ngcontent-%COMP%]{background-color:#fafafa}.mat-mdc-form-field-error[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field-focus-overlay[_ngcontent-%COMP%]{background-color:#000000de}.mat-mdc-form-field[_ngcontent-%COMP%]:hover .mat-mdc-form-field-focus-overlay[_ngcontent-%COMP%]{opacity:.04}.mat-mdc-form-field.mat-focused[_ngcontent-%COMP%] .mat-mdc-form-field-focus-overlay[_ngcontent-%COMP%]{opacity:.12}.mat-mdc-form-field-type-mat-native-select[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#0000008a}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-primary[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#0f0761de}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-accent[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#dd7345de}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-warn[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#f44336de}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#00000061}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-secondary, #dd7345)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-secondary, #dd7345)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--focused[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:#dd7345de}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):hover .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text--validation-msg[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-secondary, #dd7345)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--focused[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:#f44336de}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):hover .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text--validation-msg[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%]{border-left:1px solid transparent}[dir=rtl][_ngcontent-%COMP%] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%]{border-left:none;border-right:1px solid transparent}.mat-mdc-form-field-infix[_ngcontent-%COMP%]{min-height:56px}.mat-mdc-text-field-wrapper[_ngcontent-%COMP%] .mat-mdc-form-field-flex[_ngcontent-%COMP%] .mat-mdc-floating-label[_ngcontent-%COMP%]{top:28px}.mat-mdc-text-field-wrapper.mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-notched-outline--upgraded[_ngcontent-%COMP%] .mdc-floating-label--float-above[_ngcontent-%COMP%]{--mat-mdc-form-field-label-transform: translateY( -34.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:16px;padding-bottom:16px}.mat-mdc-text-field-wrapper[_ngcontent-%COMP%]:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:24px;padding-bottom:8px}.mdc-text-field--no-label[_ngcontent-%COMP%]:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:16px;padding-bottom:16px}.mdc-text-field__input[_ngcontent-%COMP%], .mdc-text-field__affix[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.mdc-text-field--textarea[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{line-height:1.5rem}.mdc-floating-label[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.mat-mdc-form-field-subscript-wrapper[_ngcontent-%COMP%], .mat-mdc-form-field-bottom-align[_ngcontent-%COMP%]:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.mat-mdc-form-field[_ngcontent-%COMP%], .mat-mdc-floating-label[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body1-font-size, 16px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.mat-mdc-form-field[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-floating-label--float-above[_ngcontent-%COMP%]{font-size:calc(16px * var(--mat-mdc-form-field-floating-label-scale, .75))}.mat-mdc-form-field[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-notched-outline--upgraded[_ngcontent-%COMP%] .mdc-floating-label--float-above[_ngcontent-%COMP%]{font-size:16px}html[_ngcontent-%COMP%]{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(15, 7, 97, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html[_ngcontent-%COMP%] .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%]{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(221, 115, 69, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html[_ngcontent-%COMP%] .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%]{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(244, 67, 54, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html[_ngcontent-%COMP%]{--mat-select-trigger-text-font: Inter;--mat-select-trigger-text-line-height: 24px;--mat-select-trigger-text-size: 16px;--mat-select-trigger-text-tracking: .03125em;--mat-select-trigger-text-weight: 400}html[_ngcontent-%COMP%]{--mat-autocomplete-background-color: white}.mat-mdc-dialog-container[_ngcontent-%COMP%]{--mdc-dialog-container-color: white;--mdc-dialog-subhead-color: rgba(0, 0, 0, .87);--mdc-dialog-supporting-text-color: rgba(0, 0, 0, .6)}.mat-mdc-dialog-container[_ngcontent-%COMP%]{--mdc-dialog-subhead-font: Inter;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: .0125em;--mdc-dialog-supporting-text-font: Inter;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 16px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .03125em}.mat-mdc-standard-chip[_ngcontent-%COMP%]{--mdc-chip-disabled-label-text-color: #212121;--mdc-chip-elevated-container-color: #e0e0e0;--mdc-chip-elevated-disabled-container-color: #e0e0e0;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: #212121;--mdc-chip-with-icon-icon-color: #212121;--mdc-chip-with-icon-disabled-icon-color: #212121;--mdc-chip-with-icon-selected-icon-color: #212121;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: #212121;--mdc-chip-with-trailing-icon-trailing-icon-color: #212121}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-primary[_ngcontent-%COMP%], .mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-primary[_ngcontent-%COMP%]{--mdc-chip-disabled-label-text-color: white;--mdc-chip-elevated-container-color: #0f0761;--mdc-chip-elevated-disabled-container-color: #0f0761;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-accent[_ngcontent-%COMP%], .mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-accent[_ngcontent-%COMP%]{--mdc-chip-disabled-label-text-color: white;--mdc-chip-elevated-container-color: #dd7345;--mdc-chip-elevated-disabled-container-color: #dd7345;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-warn[_ngcontent-%COMP%], .mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-warn[_ngcontent-%COMP%]{--mdc-chip-disabled-label-text-color: white;--mdc-chip-elevated-container-color: #f44336;--mdc-chip-elevated-disabled-container-color: #f44336;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.mat-mdc-chip.mat-mdc-standard-chip[_ngcontent-%COMP%]{--mdc-chip-container-height: 32px}.mat-mdc-standard-chip[_ngcontent-%COMP%]{--mdc-chip-label-text-font: Inter;--mdc-chip-label-text-line-height: 20px;--mdc-chip-label-text-size: 14px;--mdc-chip-label-text-tracking: .0178571429em;--mdc-chip-label-text-weight: 400}.mat-mdc-slide-toggle[_ngcontent-%COMP%]{--mdc-switch-disabled-selected-handle-color: #424242;--mdc-switch-disabled-unselected-handle-color: #424242;--mdc-switch-disabled-selected-track-color: #424242;--mdc-switch-disabled-unselected-track-color: #424242;--mdc-switch-unselected-focus-state-layer-color: #424242;--mdc-switch-unselected-pressed-state-layer-color: #424242;--mdc-switch-unselected-hover-state-layer-color: #424242;--mdc-switch-unselected-focus-track-color: #e0e0e0;--mdc-switch-unselected-hover-track-color: #e0e0e0;--mdc-switch-unselected-pressed-track-color: #e0e0e0;--mdc-switch-unselected-track-color: #e0e0e0;--mdc-switch-unselected-focus-handle-color: #212121;--mdc-switch-unselected-hover-handle-color: #212121;--mdc-switch-unselected-pressed-handle-color: #212121;--mdc-switch-handle-surface-color: var(--mdc-theme-surface, #fff);--mdc-switch-unselected-handle-color: #616161;--mdc-switch-selected-icon-color: #fff;--mdc-switch-disabled-selected-icon-color: #fff;--mdc-switch-disabled-unselected-icon-color: #fff;--mdc-switch-unselected-icon-color: #fff}.mat-mdc-slide-toggle[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-slide-toggle[_ngcontent-%COMP%] .mdc-switch--disabled[_ngcontent-%COMP%] + label[_ngcontent-%COMP%]{color:#00000061}.mat-mdc-slide-toggle.mat-primary[_ngcontent-%COMP%]{--mdc-switch-selected-focus-state-layer-color: #5c5699;--mdc-switch-selected-handle-color: #5c5699;--mdc-switch-selected-hover-state-layer-color: #5c5699;--mdc-switch-selected-pressed-state-layer-color: #5c5699;--mdc-switch-selected-focus-handle-color: #0f0761;--mdc-switch-selected-hover-handle-color: #0f0761;--mdc-switch-selected-pressed-handle-color: #0f0761;--mdc-switch-selected-focus-track-color: #aaa8ca;--mdc-switch-selected-hover-track-color: #aaa8ca;--mdc-switch-selected-pressed-track-color: #aaa8ca;--mdc-switch-selected-track-color: #aaa8ca}.mat-mdc-slide-toggle.mat-accent[_ngcontent-%COMP%]{--mdc-switch-selected-focus-state-layer-color: #914b2d;--mdc-switch-selected-handle-color: #914b2d;--mdc-switch-selected-hover-state-layer-color: #914b2d;--mdc-switch-selected-pressed-state-layer-color: #914b2d;--mdc-switch-selected-focus-handle-color: #2b160d;--mdc-switch-selected-hover-handle-color: #2b160d;--mdc-switch-selected-pressed-handle-color: #2b160d;--mdc-switch-selected-focus-track-color: #ff8c5a;--mdc-switch-selected-hover-track-color: #ff8c5a;--mdc-switch-selected-pressed-track-color: #ff8c5a;--mdc-switch-selected-track-color: #ff8c5a}.mat-mdc-slide-toggle.mat-warn[_ngcontent-%COMP%]{--mdc-switch-selected-focus-state-layer-color: #e53935;--mdc-switch-selected-handle-color: #e53935;--mdc-switch-selected-hover-state-layer-color: #e53935;--mdc-switch-selected-pressed-state-layer-color: #e53935;--mdc-switch-selected-focus-handle-color: #b71c1c;--mdc-switch-selected-hover-handle-color: #b71c1c;--mdc-switch-selected-pressed-handle-color: #b71c1c;--mdc-switch-selected-focus-track-color: #e57373;--mdc-switch-selected-hover-track-color: #e57373;--mdc-switch-selected-pressed-track-color: #e57373;--mdc-switch-selected-track-color: #e57373}.mat-mdc-slide-toggle[_ngcontent-%COMP%]{--mdc-switch-state-layer-size: 48px}.mdc-form-field[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mat-mdc-radio-button[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-radio-button.mat-primary[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #0f0761;--mdc-radio-selected-hover-icon-color: #0f0761;--mdc-radio-selected-icon-color: #0f0761;--mdc-radio-selected-pressed-icon-color: #0f0761;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #0f0761;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-accent[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #dd7345;--mdc-radio-selected-hover-icon-color: #dd7345;--mdc-radio-selected-icon-color: #dd7345;--mdc-radio-selected-pressed-icon-color: #dd7345;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #dd7345;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-warn[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #f44336;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button[_ngcontent-%COMP%] .mdc-radio[_ngcontent-%COMP%]{--mdc-radio-state-layer-size: 40px}.mat-mdc-radio-button[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mat-mdc-slider[_ngcontent-%COMP%]{--mdc-slider-label-container-color: black;--mdc-slider-label-label-text-color: white;--mdc-slider-disabled-handle-color: #000;--mdc-slider-disabled-active-track-color: #000;--mdc-slider-disabled-inactive-track-color: #000;--mdc-slider-with-tick-marks-disabled-container-color: #000;--mat-mdc-slider-value-indicator-opacity: .6}.mat-mdc-slider.mat-primary[_ngcontent-%COMP%]{--mdc-slider-handle-color: #0f0761;--mdc-slider-focus-handle-color: #0f0761;--mdc-slider-hover-handle-color: #0f0761;--mdc-slider-active-track-color: #0f0761;--mdc-slider-inactive-track-color: #0f0761;--mdc-slider-with-tick-marks-active-container-color: #fff;--mdc-slider-with-tick-marks-inactive-container-color: #0f0761;--mat-mdc-slider-ripple-color: #0f0761;--mat-mdc-slider-hover-ripple-color: rgba(15, 7, 97, .05);--mat-mdc-slider-focus-ripple-color: rgba(15, 7, 97, .2)}.mat-mdc-slider.mat-accent[_ngcontent-%COMP%]{--mdc-slider-handle-color: #dd7345;--mdc-slider-focus-handle-color: #dd7345;--mdc-slider-hover-handle-color: #dd7345;--mdc-slider-active-track-color: #dd7345;--mdc-slider-inactive-track-color: #dd7345;--mdc-slider-with-tick-marks-active-container-color: #fff;--mdc-slider-with-tick-marks-inactive-container-color: #dd7345;--mat-mdc-slider-ripple-color: #dd7345;--mat-mdc-slider-hover-ripple-color: rgba(221, 115, 69, .05);--mat-mdc-slider-focus-ripple-color: rgba(221, 115, 69, .2)}.mat-mdc-slider.mat-warn[_ngcontent-%COMP%]{--mdc-slider-handle-color: #f44336;--mdc-slider-focus-handle-color: #f44336;--mdc-slider-hover-handle-color: #f44336;--mdc-slider-active-track-color: #f44336;--mdc-slider-inactive-track-color: #f44336;--mdc-slider-with-tick-marks-active-container-color: #fff;--mdc-slider-with-tick-marks-inactive-container-color: #f44336;--mat-mdc-slider-ripple-color: #f44336;--mat-mdc-slider-hover-ripple-color: rgba(244, 67, 54, .05);--mat-mdc-slider-focus-ripple-color: rgba(244, 67, 54, .2)}.mat-mdc-slider[_ngcontent-%COMP%]{--mdc-slider-label-label-text-font: Inter;--mdc-slider-label-label-text-size: 14px;--mdc-slider-label-label-text-line-height: 22px;--mdc-slider-label-label-text-tracking: .0071428571em;--mdc-slider-label-label-text-weight: 500}html[_ngcontent-%COMP%]{--mat-menu-item-label-text-color: rgba(0, 0, 0, .87);--mat-menu-item-icon-color: rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-item-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-container-color: white}html[_ngcontent-%COMP%]{--mat-menu-item-label-text-font: Inter;--mat-menu-item-label-text-size: 16px;--mat-menu-item-label-text-tracking: .03125em;--mat-menu-item-label-text-line-height: 24px;--mat-menu-item-label-text-weight: 400}.mat-mdc-list-base[_ngcontent-%COMP%]{--mdc-list-list-item-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-supporting-text-color: rgba(0, 0, 0, .54);--mdc-list-list-item-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-supporting-text-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-selected-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-disabled-label-text-color: black;--mdc-list-list-item-disabled-leading-icon-color: black;--mdc-list-list-item-disabled-trailing-icon-color: black;--mdc-list-list-item-hover-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-hover-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-focus-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-state-layer-color: black;--mdc-list-list-item-hover-state-layer-opacity: .04;--mdc-list-list-item-focus-state-layer-color: black;--mdc-list-list-item-focus-state-layer-opacity: .12}.mdc-list-item__start[_ngcontent-%COMP%], .mdc-list-item__end[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #0f0761;--mdc-radio-selected-hover-icon-color: #0f0761;--mdc-radio-selected-icon-color: #0f0761;--mdc-radio-selected-pressed-icon-color: #0f0761}.mat-accent[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%], .mat-accent[_ngcontent-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #dd7345;--mdc-radio-selected-hover-icon-color: #dd7345;--mdc-radio-selected-icon-color: #dd7345;--mdc-radio-selected-pressed-icon-color: #dd7345}.mat-warn[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%], .mat-warn[_ngcontent-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336}.mat-mdc-list-option[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #0f0761;--mdc-checkbox-selected-hover-icon-color: #0f0761;--mdc-checkbox-selected-icon-color: #0f0761;--mdc-checkbox-selected-pressed-icon-color: #0f0761;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #0f0761;--mdc-checkbox-selected-hover-state-layer-color: #0f0761;--mdc-checkbox-selected-pressed-state-layer-color: #0f0761;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-accent[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #dd7345;--mdc-checkbox-selected-hover-icon-color: #dd7345;--mdc-checkbox-selected-icon-color: #dd7345;--mdc-checkbox-selected-pressed-icon-color: #dd7345;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #dd7345;--mdc-checkbox-selected-hover-state-layer-color: #dd7345;--mdc-checkbox-selected-pressed-state-layer-color: #dd7345;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-warn[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-selected-pressed-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-base.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--selected[_ngcontent-%COMP%] .mdc-list-item__primary-text[_ngcontent-%COMP%], .mat-mdc-list-base.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--activated[_ngcontent-%COMP%] .mdc-list-item__primary-text[_ngcontent-%COMP%], .mat-mdc-list-base.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--selected.mdc-list-item--with-leading-icon[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%], .mat-mdc-list-base.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--activated.mdc-list-item--with-leading-icon[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{color:#0f0761}.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--disabled[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%], .mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--disabled[_ngcontent-%COMP%] .mdc-list-item__content[_ngcontent-%COMP%], .mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--disabled[_ngcontent-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%]{opacity:1}.mat-mdc-list-base[_ngcontent-%COMP%]{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line[_ngcontent-%COMP%], .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line[_ngcontent-%COMP%], .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line[_ngcontent-%COMP%]{height:56px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines[_ngcontent-%COMP%], .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines[_ngcontent-%COMP%], .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines[_ngcontent-%COMP%]{height:72px}.mat-mdc-list-base[_ngcontent-%COMP%]{--mdc-list-list-item-label-text-font: Inter;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 16px;--mdc-list-list-item-label-text-tracking: .03125em;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Inter;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: .0178571429em;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Inter;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: .0333333333em;--mdc-list-list-item-trailing-supporting-text-weight: 400}.mdc-list-group__subheader[_ngcontent-%COMP%]{font-size:16px;font-weight:400;line-height:28px;font-family:Inter;letter-spacing:.009375em}html[_ngcontent-%COMP%]{--mat-paginator-container-text-color: rgba(0, 0, 0, .87);--mat-paginator-container-background-color: white;--mat-paginator-enabled-icon-color: rgba(0, 0, 0, .54);--mat-paginator-disabled-icon-color: rgba(0, 0, 0, .12)}html[_ngcontent-%COMP%]{--mat-paginator-container-size: 56px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]{min-height:40px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper[_ngcontent-%COMP%] .mat-mdc-form-field-flex[_ngcontent-%COMP%] .mat-mdc-floating-label[_ngcontent-%COMP%]{top:20px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper.mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-notched-outline--upgraded[_ngcontent-%COMP%] .mdc-floating-label--float-above[_ngcontent-%COMP%]{--mat-mdc-form-field-label-transform: translateY( -26.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper.mdc-text-field--outlined[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper[_ngcontent-%COMP%]:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator[_ngcontent-%COMP%] .mdc-text-field--no-label[_ngcontent-%COMP%]:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper[_ngcontent-%COMP%]:not(.mdc-text-field--outlined) .mat-mdc-floating-label[_ngcontent-%COMP%]{display:none}html[_ngcontent-%COMP%]{--mat-paginator-container-text-font: Inter;--mat-paginator-container-text-line-height: 20px;--mat-paginator-container-text-size: 12px;--mat-paginator-container-text-tracking: .0333333333em;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: 12px}.mat-mdc-tab-group[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar[_ngcontent-%COMP%]{--mdc-tab-indicator-active-indicator-color: #0f0761;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #0f0761;--mat-tab-header-active-ripple-color: #0f0761;--mat-tab-header-inactive-ripple-color: #0f0761;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #0f0761;--mat-tab-header-active-hover-label-text-color: #0f0761;--mat-tab-header-active-focus-indicator-color: #0f0761;--mat-tab-header-active-hover-indicator-color: #0f0761}.mat-mdc-tab-group.mat-accent[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-accent[_ngcontent-%COMP%]{--mdc-tab-indicator-active-indicator-color: #dd7345;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #dd7345;--mat-tab-header-active-ripple-color: #dd7345;--mat-tab-header-inactive-ripple-color: #dd7345;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #dd7345;--mat-tab-header-active-hover-label-text-color: #dd7345;--mat-tab-header-active-focus-indicator-color: #dd7345;--mat-tab-header-active-hover-indicator-color: #dd7345}.mat-mdc-tab-group.mat-warn[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-warn[_ngcontent-%COMP%]{--mdc-tab-indicator-active-indicator-color: #f44336;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #f44336;--mat-tab-header-active-ripple-color: #f44336;--mat-tab-header-inactive-ripple-color: #f44336;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #f44336;--mat-tab-header-active-hover-label-text-color: #f44336;--mat-tab-header-active-focus-indicator-color: #f44336;--mat-tab-header-active-hover-indicator-color: #f44336}.mat-mdc-tab-group.mat-background-primary[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-background-primary[_ngcontent-%COMP%]{--mat-tab-header-with-background-background-color: #0f0761;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-group.mat-background-accent[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-background-accent[_ngcontent-%COMP%]{--mat-tab-header-with-background-background-color: #dd7345;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-group.mat-background-warn[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-background-warn[_ngcontent-%COMP%]{--mat-tab-header-with-background-background-color: #f44336;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-header[_ngcontent-%COMP%]{--mdc-secondary-navigation-tab-container-height: 48px}.mat-mdc-tab-header[_ngcontent-%COMP%]{--mat-tab-header-label-text-font: Inter;--mat-tab-header-label-text-size: 14px;--mat-tab-header-label-text-letter-spacing: .0892857143em;--mat-tab-header-label-text-line-height: 36px;--mat-tab-header-label-text-weight: 500}html[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #dd7345;--mdc-checkbox-selected-hover-icon-color: #dd7345;--mdc-checkbox-selected-icon-color: #dd7345;--mdc-checkbox-selected-pressed-icon-color: #dd7345;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #dd7345;--mdc-checkbox-selected-hover-state-layer-color: #dd7345;--mdc-checkbox-selected-pressed-state-layer-color: #dd7345;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox.mat-primary[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #0f0761;--mdc-checkbox-selected-hover-icon-color: #0f0761;--mdc-checkbox-selected-icon-color: #0f0761;--mdc-checkbox-selected-pressed-icon-color: #0f0761;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #0f0761;--mdc-checkbox-selected-hover-state-layer-color: #0f0761;--mdc-checkbox-selected-pressed-state-layer-color: #0f0761;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox.mat-warn[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-selected-pressed-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-checkbox.mat-mdc-checkbox-disabled[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#00000061}html[_ngcontent-%COMP%]{--mdc-checkbox-state-layer-size: 40px}.mat-mdc-checkbox[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mat-mdc-button.mat-unthemed[_ngcontent-%COMP%]{--mdc-text-button-label-text-color: #000}.mat-mdc-button.mat-primary[_ngcontent-%COMP%]{--mdc-text-button-label-text-color: #0f0761}.mat-mdc-button.mat-accent[_ngcontent-%COMP%]{--mdc-text-button-label-text-color: #dd7345}.mat-mdc-button.mat-warn[_ngcontent-%COMP%]{--mdc-text-button-label-text-color: #f44336}.mat-mdc-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-text-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-text-button-label-text-color: rgba(0, 0, 0, .38)}.mat-mdc-unelevated-button.mat-unthemed[_ngcontent-%COMP%]{--mdc-filled-button-container-color: #fff;--mdc-filled-button-label-text-color: #000}.mat-mdc-unelevated-button.mat-primary[_ngcontent-%COMP%]{--mdc-filled-button-container-color: #0f0761;--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button.mat-accent[_ngcontent-%COMP%]{--mdc-filled-button-container-color: #dd7345;--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button.mat-warn[_ngcontent-%COMP%]{--mdc-filled-button-container-color: #f44336;--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-filled-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-filled-button-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-label-text-color: rgba(0, 0, 0, .38)}.mat-mdc-raised-button.mat-unthemed[_ngcontent-%COMP%]{--mdc-protected-button-container-color: #fff;--mdc-protected-button-label-text-color: #000}.mat-mdc-raised-button.mat-primary[_ngcontent-%COMP%]{--mdc-protected-button-container-color: #0f0761;--mdc-protected-button-label-text-color: #fff}.mat-mdc-raised-button.mat-accent[_ngcontent-%COMP%]{--mdc-protected-button-container-color: #dd7345;--mdc-protected-button-label-text-color: #fff}.mat-mdc-raised-button.mat-warn[_ngcontent-%COMP%]{--mdc-protected-button-container-color: #f44336;--mdc-protected-button-label-text-color: #fff}.mat-mdc-raised-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-protected-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-protected-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-protected-button-container-color: rgba(0, 0, 0, .12);--mdc-protected-button-label-text-color: rgba(0, 0, 0, .38);--mdc-protected-button-container-elevation: 0}.mat-mdc-outlined-button[_ngcontent-%COMP%]{--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12)}.mat-mdc-outlined-button.mat-unthemed[_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: #000}.mat-mdc-outlined-button.mat-primary[_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: #0f0761}.mat-mdc-outlined-button.mat-accent[_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: #dd7345}.mat-mdc-outlined-button.mat-warn[_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: #f44336}.mat-mdc-outlined-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-button-disabled-outline-color: rgba(0, 0, 0, .12)}.mat-mdc-button[_ngcontent-%COMP%], .mat-mdc-outlined-button[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-outlined-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.04}.mat-mdc-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-outlined-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-outlined-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-outlined-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-button.mat-primary[_ngcontent-%COMP%], .mat-mdc-outlined-button.mat-primary[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #0f0761;--mat-mdc-button-ripple-color: rgba(15, 7, 97, .1)}.mat-mdc-button.mat-accent[_ngcontent-%COMP%], .mat-mdc-outlined-button.mat-accent[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #dd7345;--mat-mdc-button-ripple-color: rgba(221, 115, 69, .1)}.mat-mdc-button.mat-warn[_ngcontent-%COMP%], .mat-mdc-outlined-button.mat-warn[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #f44336;--mat-mdc-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-raised-button[_ngcontent-%COMP%], .mat-mdc-unelevated-button[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-raised-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-unelevated-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.04}.mat-mdc-raised-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-raised-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-unelevated-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-unelevated-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-raised-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-unelevated-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-raised-button.mat-primary[_ngcontent-%COMP%], .mat-mdc-unelevated-button.mat-primary[_ngcontent-%COMP%], .mat-mdc-raised-button.mat-accent[_ngcontent-%COMP%], .mat-mdc-unelevated-button.mat-accent[_ngcontent-%COMP%], .mat-mdc-raised-button.mat-warn[_ngcontent-%COMP%], .mat-mdc-unelevated-button.mat-warn[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #fff;--mat-mdc-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-button.mat-mdc-button-base[_ngcontent-%COMP%], .mat-mdc-raised-button.mat-mdc-button-base[_ngcontent-%COMP%], .mat-mdc-unelevated-button.mat-mdc-button-base[_ngcontent-%COMP%], .mat-mdc-outlined-button.mat-mdc-button-base[_ngcontent-%COMP%]{height:36px}.mdc-button[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-button-font-size, 14px);line-height:var(--mdc-typography-button-line-height, 36px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.mat-mdc-icon-button[_ngcontent-%COMP%]{--mdc-icon-button-icon-color: inherit;--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-icon-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.04}.mat-mdc-icon-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-icon-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-icon-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-icon-button.mat-primary[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #6200ee;--mat-mdc-button-ripple-color: rgba(98, 0, 238, .1)}.mat-mdc-icon-button.mat-accent[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #018786;--mat-mdc-button-ripple-color: rgba(1, 135, 134, .1)}.mat-mdc-icon-button.mat-warn[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #b00020;--mat-mdc-button-ripple-color: rgba(176, 0, 32, .1)}.mat-mdc-icon-button.mat-primary[_ngcontent-%COMP%]{--mdc-icon-button-icon-color: #0f0761;--mat-mdc-button-persistent-ripple-color: #0f0761;--mat-mdc-button-ripple-color: rgba(15, 7, 97, .1)}.mat-mdc-icon-button.mat-accent[_ngcontent-%COMP%]{--mdc-icon-button-icon-color: #dd7345;--mat-mdc-button-persistent-ripple-color: #dd7345;--mat-mdc-button-ripple-color: rgba(221, 115, 69, .1)}.mat-mdc-icon-button.mat-warn[_ngcontent-%COMP%]{--mdc-icon-button-icon-color: #f44336;--mat-mdc-button-persistent-ripple-color: #f44336;--mat-mdc-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-icon-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-icon-button-icon-color: rgba(0, 0, 0, .38);--mdc-icon-button-disabled-icon-color: rgba(0, 0, 0, .38)}.mat-mdc-icon-button.mat-mdc-button-base[_ngcontent-%COMP%]{--mdc-icon-button-state-layer-size: 48px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:12px}.mat-mdc-fab[_ngcontent-%COMP%], .mat-mdc-mini-fab[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-fab[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-mini-fab[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.04}.mat-mdc-fab.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-fab.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-mini-fab.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-mini-fab.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-fab[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-mini-fab[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-fab.mat-primary[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-primary[_ngcontent-%COMP%], .mat-mdc-fab.mat-accent[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-accent[_ngcontent-%COMP%], .mat-mdc-fab.mat-warn[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-warn[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #fff;--mat-mdc-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-fab.mat-unthemed[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-unthemed[_ngcontent-%COMP%]{--mdc-fab-container-color: #fff;--mdc-fab-icon-color: #000;--mat-mdc-fab-color: #000}.mat-mdc-fab.mat-primary[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-primary[_ngcontent-%COMP%]{--mdc-fab-container-color: #0f0761;--mdc-fab-icon-color: #fff;--mat-mdc-fab-color: #fff}.mat-mdc-fab.mat-accent[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-accent[_ngcontent-%COMP%]{--mdc-fab-container-color: #dd7345;--mdc-fab-icon-color: #fff;--mat-mdc-fab-color: #fff}.mat-mdc-fab.mat-warn[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-warn[_ngcontent-%COMP%]{--mdc-fab-container-color: #f44336;--mdc-fab-icon-color: #fff;--mat-mdc-fab-color: #fff}.mat-mdc-fab[disabled][disabled][_ngcontent-%COMP%], .mat-mdc-mini-fab[disabled][disabled][_ngcontent-%COMP%]{--mdc-fab-container-color: rgba(0, 0, 0, .12);--mdc-fab-icon-color: rgba(0, 0, 0, .38);--mat-mdc-fab-color: rgba(0, 0, 0, .38)}.mdc-fab--extended[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-button-font-size, 14px);line-height:var(--mdc-typography-button-line-height, 36px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.mat-mdc-snack-bar-container[_ngcontent-%COMP%]{--mdc-snackbar-container-color: #333333;--mdc-snackbar-supporting-text-color: rgba(255, 255, 255, .87);--mat-snack-bar-button-color: #dd7345}.mat-mdc-snack-bar-container[_ngcontent-%COMP%]{--mdc-snackbar-supporting-text-font: Inter;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}.mdc-data-table[_ngcontent-%COMP%]{background-color:var(--mdc-theme-surface, #fff);border-color:#0000001f}.mdc-data-table__row[_ngcontent-%COMP%]{background-color:inherit}.mdc-data-table__header-cell[_ngcontent-%COMP%]{background-color:var(--mdc-theme-surface, #fff)}.mdc-data-table__row--selected[_ngcontent-%COMP%]{background-color:#0f07610a}.mdc-data-table__pagination-rows-per-page-select--outlined[_ngcontent-%COMP%]:not(.mdc-select--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-data-table__pagination-rows-per-page-select--outlined[_ngcontent-%COMP%]:not(.mdc-select--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-data-table__pagination-rows-per-page-select--outlined[_ngcontent-%COMP%]:not(.mdc-select--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:#0000001f}.mdc-data-table__cell[_ngcontent-%COMP%], .mdc-data-table__header-cell[_ngcontent-%COMP%]{border-bottom-color:#0000001f}.mdc-data-table__pagination[_ngcontent-%COMP%]{border-top-color:#0000001f}.mdc-data-table__row[_ngcontent-%COMP%]:not(.mdc-data-table__row--selected):hover{background-color:#0000000a}.mdc-data-table__header-cell[_ngcontent-%COMP%], .mdc-data-table__pagination-total[_ngcontent-%COMP%], .mdc-data-table__pagination-rows-per-page-label[_ngcontent-%COMP%], .mdc-data-table__cell[_ngcontent-%COMP%]{color:#000000de}.mat-mdc-table[_ngcontent-%COMP%]{background:white}.mat-mdc-table[_ngcontent-%COMP%] .mdc-data-table__row[_ngcontent-%COMP%]{height:52px}.mat-mdc-table[_ngcontent-%COMP%] .mdc-data-table__pagination[_ngcontent-%COMP%]{min-height:52px}.mat-mdc-table[_ngcontent-%COMP%] .mdc-data-table__header-row[_ngcontent-%COMP%]{height:56px}.mdc-data-table__content[_ngcontent-%COMP%], .mdc-data-table__cell[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mdc-data-table__header-cell[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-subtitle2-font-size, 14px);line-height:var(--mdc-typography-subtitle2-line-height, 22px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.mat-mdc-progress-spinner[_ngcontent-%COMP%]{--mdc-circular-progress-active-indicator-color: #0f0761}.mat-mdc-progress-spinner.mat-accent[_ngcontent-%COMP%]{--mdc-circular-progress-active-indicator-color: #dd7345}.mat-mdc-progress-spinner.mat-warn[_ngcontent-%COMP%]{--mdc-circular-progress-active-indicator-color: #f44336}.mat-badge[_ngcontent-%COMP%]{position:relative}.mat-badge.mat-badge[_ngcontent-%COMP%]{overflow:visible}.mat-badge-hidden[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{display:none}.mat-badge-content[_ngcontent-%COMP%]{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ng-animate-disabled[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%], .mat-badge-content._mat-animation-noopable[_ngcontent-%COMP%]{transition:none}.mat-badge-content.mat-badge-active[_ngcontent-%COMP%]{transform:none}.mat-badge-small[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{top:-8px}.mat-badge-small.mat-badge-below[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{bottom:-8px}.mat-badge-small.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-16px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-small.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-16px}.mat-badge-small.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-16px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-small.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-8px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-small.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-8px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-small.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-8px}.mat-badge-medium[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{top:-11px}.mat-badge-medium.mat-badge-below[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{bottom:-11px}.mat-badge-medium.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-22px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-medium.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-22px}.mat-badge-medium.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-22px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-medium.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-11px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-medium.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-11px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-medium.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-11px}.mat-badge-large[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{top:-14px}.mat-badge-large.mat-badge-below[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{bottom:-14px}.mat-badge-large.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-28px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-large.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-28px}.mat-badge-large.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-28px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-large.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-14px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-large.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-14px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-large.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-14px}.mat-badge-content[_ngcontent-%COMP%]{color:#fff;background:#0f0761}.cdk-high-contrast-active[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{outline:solid 1px;border-radius:0}.mat-badge-accent[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{background:#dd7345;color:#fff}.mat-badge-warn[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{color:#fff;background:#f44336}.mat-badge-disabled[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{background:#b9b9b9;color:#00000061}.mat-badge-content[_ngcontent-%COMP%]{font-weight:600;font-size:12px;font-family:Inter}.mat-badge-small[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{font-size:9px}.mat-badge-large[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{font-size:24px}html[_ngcontent-%COMP%]{--mat-bottom-sheet-container-text-color: rgba(0, 0, 0, .87);--mat-bottom-sheet-container-background-color: white}html[_ngcontent-%COMP%]{--mat-bottom-sheet-container-text-font: Inter;--mat-bottom-sheet-container-text-line-height: 20px;--mat-bottom-sheet-container-text-size: 14px;--mat-bottom-sheet-container-text-tracking: .0178571429em;--mat-bottom-sheet-container-text-weight: 400}html[_ngcontent-%COMP%]{--mat-legacy-button-toggle-text-color: rgba(0, 0, 0, .38);--mat-legacy-button-toggle-state-layer-color: rgba(0, 0, 0, .12);--mat-legacy-button-toggle-selected-state-text-color: rgba(0, 0, 0, .54);--mat-legacy-button-toggle-selected-state-background-color: #e0e0e0;--mat-legacy-button-toggle-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-legacy-button-toggle-disabled-state-background-color: #eeeeee;--mat-legacy-button-toggle-disabled-selected-state-background-color: #bdbdbd;--mat-standard-button-toggle-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-background-color: white;--mat-standard-button-toggle-state-layer-color: black;--mat-standard-button-toggle-selected-state-background-color: #e0e0e0;--mat-standard-button-toggle-selected-state-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-standard-button-toggle-disabled-state-background-color: white;--mat-standard-button-toggle-disabled-selected-state-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-selected-state-background-color: #bdbdbd;--mat-standard-button-toggle-divider-color: #e0e0e0}html[_ngcontent-%COMP%]{--mat-standard-button-toggle-height: 48px}html[_ngcontent-%COMP%]{--mat-legacy-button-toggle-text-font: Inter;--mat-standard-button-toggle-text-font: Inter}.mat-calendar-arrow[_ngcontent-%COMP%]{fill:#0000008a}.mat-datepicker-toggle[_ngcontent-%COMP%], .mat-datepicker-content[_ngcontent-%COMP%] .mat-calendar-next-button[_ngcontent-%COMP%], .mat-datepicker-content[_ngcontent-%COMP%] .mat-calendar-previous-button[_ngcontent-%COMP%]{color:#0000008a}.mat-calendar-table-header-divider[_ngcontent-%COMP%]:after{background:rgba(0,0,0,.12)}.mat-calendar-table-header[_ngcontent-%COMP%], .mat-calendar-body-label[_ngcontent-%COMP%]{color:#0000008a}.mat-calendar-body-cell-content[_ngcontent-%COMP%], .mat-date-range-input-separator[_ngcontent-%COMP%]{color:#000000de;border-color:transparent}.mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:#00000061}.mat-form-field-disabled[_ngcontent-%COMP%] .mat-date-range-input-separator[_ngcontent-%COMP%]{color:#00000061}.mat-calendar-body-in-preview[_ngcontent-%COMP%]{color:#0000003d}.mat-calendar-body-today[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-today[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.mat-calendar-body-in-range[_ngcontent-%COMP%]:before{background:rgba(15,7,97,.2)}.mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%]:before{background:rgba(249,171,0,.2)}.mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before, [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before{background:linear-gradient(to right,rgba(15,7,97,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before, [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before{background:linear-gradient(to left,rgba(15,7,97,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-in-range[_ngcontent-%COMP%] > .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range[_ngcontent-%COMP%]:after{background:#a8dab5}.mat-calendar-body-comparison-identical.mat-calendar-body-selected[_ngcontent-%COMP%], .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background:#46a35e}.mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#0f0761;color:#fff}.mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#0f076166}.mat-calendar-body-today.mat-calendar-body-selected[_ngcontent-%COMP%]{box-shadow:inset 0 0 0 1px #fff}.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical), .cdk-program-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#0f07614d}@media (hover: hover){.mat-calendar-body-cell[_ngcontent-%COMP%]:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#0f07614d}}.mat-datepicker-content[_ngcontent-%COMP%]{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;background-color:#fff;color:#000000de}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-range[_ngcontent-%COMP%]:before{background:rgba(221,115,69,.2)}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%]:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before, .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before{background:linear-gradient(to right,rgba(221,115,69,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before, .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before{background:linear-gradient(to left,rgba(221,115,69,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-range[_ngcontent-%COMP%] > .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range[_ngcontent-%COMP%]:after{background:#a8dab5}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-comparison-identical.mat-calendar-body-selected[_ngcontent-%COMP%], .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background:#46a35e}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#dd7345;color:#fff}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#dd734566}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-today.mat-calendar-body-selected[_ngcontent-%COMP%]{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .cdk-keyboard-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical), .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .cdk-program-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#dd73454d}@media (hover: hover){.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-cell[_ngcontent-%COMP%]:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#dd73454d}}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-range[_ngcontent-%COMP%]:before{background:rgba(244,67,54,.2)}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%]:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before, .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before{background:linear-gradient(to right,rgba(244,67,54,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before, .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before{background:linear-gradient(to left,rgba(244,67,54,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-range[_ngcontent-%COMP%] > .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range[_ngcontent-%COMP%]:after{background:#a8dab5}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-comparison-identical.mat-calendar-body-selected[_ngcontent-%COMP%], .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background:#46a35e}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#f4433666}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-today.mat-calendar-body-selected[_ngcontent-%COMP%]{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .cdk-keyboard-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical), .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .cdk-program-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#f443364d}@media (hover: hover){.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-cell[_ngcontent-%COMP%]:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#f443364d}}.mat-datepicker-content-touch[_ngcontent-%COMP%]{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-datepicker-toggle-active[_ngcontent-%COMP%]{color:#0f0761}.mat-datepicker-toggle-active.mat-accent[_ngcontent-%COMP%]{color:#dd7345}.mat-datepicker-toggle-active.mat-warn[_ngcontent-%COMP%]{color:#f44336}.mat-date-range-input-inner[disabled][_ngcontent-%COMP%]{color:#00000061}.mat-calendar-controls[_ngcontent-%COMP%] .mat-mdc-icon-button.mat-mdc-button-base[_ngcontent-%COMP%]{--mdc-icon-button-state-layer-size: 40px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:8px}.mat-calendar-controls[_ngcontent-%COMP%] .mat-mdc-icon-button.mat-mdc-button-base[_ngcontent-%COMP%] .mat-mdc-button-touch-target[_ngcontent-%COMP%]{display:none}.mat-calendar[_ngcontent-%COMP%]{font-family:Inter}.mat-calendar-body[_ngcontent-%COMP%]{font-size:13px}.mat-calendar-body-label[_ngcontent-%COMP%], .mat-calendar-period-button[_ngcontent-%COMP%]{font-size:14px;font-weight:500}.mat-calendar-table-header[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:11px;font-weight:400}html[_ngcontent-%COMP%]{--mat-divider-color: rgba(0, 0, 0, .12)}html[_ngcontent-%COMP%]{--mat-expansion-container-background-color: white;--mat-expansion-container-text-color: rgba(0, 0, 0, .87);--mat-expansion-actions-divider-color: rgba(0, 0, 0, .12);--mat-expansion-header-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-expansion-header-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-expansion-header-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-expansion-header-text-color: rgba(0, 0, 0, .87);--mat-expansion-header-description-color: rgba(0, 0, 0, .54);--mat-expansion-header-indicator-color: rgba(0, 0, 0, .54)}html[_ngcontent-%COMP%]{--mat-expansion-header-collapsed-state-height: 48px;--mat-expansion-header-expanded-state-height: 64px}html[_ngcontent-%COMP%]{--mat-expansion-header-text-font: Inter;--mat-expansion-header-text-size: 14px;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: inherit;--mat-expansion-header-text-tracking: inherit;--mat-expansion-container-text-font: Inter;--mat-expansion-container-text-line-height: 20px;--mat-expansion-container-text-size: 14px;--mat-expansion-container-text-tracking: .0178571429em;--mat-expansion-container-text-weight: 400}.mat-grid-tile-header[_ngcontent-%COMP%], .mat-grid-tile-footer[_ngcontent-%COMP%]{font-size:14px}.mat-grid-tile-header[_ngcontent-%COMP%] .mat-line[_ngcontent-%COMP%], .mat-grid-tile-footer[_ngcontent-%COMP%] .mat-line[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header[_ngcontent-%COMP%] .mat-line[_ngcontent-%COMP%]:nth-child(n+2), .mat-grid-tile-footer[_ngcontent-%COMP%] .mat-line[_ngcontent-%COMP%]:nth-child(n+2){font-size:12px}.mat-icon.mat-primary[_ngcontent-%COMP%]{color:#0f0761}.mat-icon.mat-accent[_ngcontent-%COMP%]{color:#dd7345}.mat-icon.mat-warn[_ngcontent-%COMP%]{color:#f44336}html[_ngcontent-%COMP%]{--mat-sidenav-container-divider-color: rgba(0, 0, 0, .12);--mat-sidenav-container-background-color: white;--mat-sidenav-container-text-color: rgba(0, 0, 0, .87);--mat-sidenav-content-background-color: #fafafa;--mat-sidenav-content-text-color: rgba(0, 0, 0, .87);--mat-sidenav-scrim-color: rgba(0, 0, 0, .6)}html[_ngcontent-%COMP%]{--mat-stepper-header-icon-foreground-color: white;--mat-stepper-header-selected-state-icon-background-color: #0f0761;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #0f0761;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #0f0761;--mat-stepper-header-edit-state-icon-foreground-color: white;--mat-stepper-container-color: white;--mat-stepper-line-color: rgba(0, 0, 0, .12);--mat-stepper-header-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-stepper-header-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-stepper-header-label-text-color: rgba(0, 0, 0, .54);--mat-stepper-header-optional-label-text-color: rgba(0, 0, 0, .54);--mat-stepper-header-selected-state-label-text-color: rgba(0, 0, 0, .87);--mat-stepper-header-error-state-label-text-color: #f44336;--mat-stepper-header-icon-background-color: rgba(0, 0, 0, .54);--mat-stepper-header-error-state-icon-foreground-color: #f44336;--mat-stepper-header-error-state-icon-background-color: transparent}html[_ngcontent-%COMP%] .mat-step-header.mat-accent[_ngcontent-%COMP%]{--mat-stepper-header-icon-foreground-color: white;--mat-stepper-header-selected-state-icon-background-color: #dd7345;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #dd7345;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #dd7345;--mat-stepper-header-edit-state-icon-foreground-color: white}html[_ngcontent-%COMP%] .mat-step-header.mat-warn[_ngcontent-%COMP%]{--mat-stepper-header-icon-foreground-color: white;--mat-stepper-header-selected-state-icon-background-color: #f44336;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #f44336;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #f44336;--mat-stepper-header-edit-state-icon-foreground-color: white}html[_ngcontent-%COMP%]{--mat-stepper-header-height: 72px}html[_ngcontent-%COMP%]{--mat-stepper-container-text-font: Inter;--mat-stepper-header-label-text-font: Inter;--mat-stepper-header-label-text-size: 14px;--mat-stepper-header-label-text-weight: 400;--mat-stepper-header-error-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-weight: 400}.mat-sort-header-arrow[_ngcontent-%COMP%]{color:#757575}html[_ngcontent-%COMP%]{--mat-toolbar-container-background-color: whitesmoke;--mat-toolbar-container-text-color: rgba(0, 0, 0, .87)}.mat-toolbar.mat-primary[_ngcontent-%COMP%]{--mat-toolbar-container-background-color: #0f0761;--mat-toolbar-container-text-color: white}.mat-toolbar.mat-accent[_ngcontent-%COMP%]{--mat-toolbar-container-background-color: #dd7345;--mat-toolbar-container-text-color: white}.mat-toolbar.mat-warn[_ngcontent-%COMP%]{--mat-toolbar-container-background-color: #f44336;--mat-toolbar-container-text-color: white}html[_ngcontent-%COMP%]{--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px}html[_ngcontent-%COMP%]{--mat-toolbar-title-text-font: Inter;--mat-toolbar-title-text-line-height: 32px;--mat-toolbar-title-text-size: 20px;--mat-toolbar-title-text-tracking: .0125em;--mat-toolbar-title-text-weight: 500}.mat-tree[_ngcontent-%COMP%]{background:white}.mat-tree-node[_ngcontent-%COMP%], .mat-nested-tree-node[_ngcontent-%COMP%]{color:#000000de}.mat-tree-node[_ngcontent-%COMP%]{min-height:48px}.mat-tree[_ngcontent-%COMP%]{font-family:Inter}.mat-tree-node[_ngcontent-%COMP%], .mat-nested-tree-node[_ngcontent-%COMP%]{font-weight:400;font-size:14px}.mat-h1[_ngcontent-%COMP%], .mat-headline-5[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-5[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:24px;font-weight:400;line-height:32px;font-family:Inter;letter-spacing:normal;margin:0 0 16px}.mat-h2[_ngcontent-%COMP%], .mat-headline-6[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-6[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:20px;font-weight:500;line-height:32px;font-family:Inter;letter-spacing:.0125em;margin:0 0 16px}.mat-h3[_ngcontent-%COMP%], .mat-subtitle-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h3[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-subtitle-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:16px;font-weight:400;line-height:28px;font-family:Inter;letter-spacing:.009375em;margin:0 0 16px}.mat-h4[_ngcontent-%COMP%], .mat-body-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h4[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:16px;font-weight:400;line-height:24px;font-family:Inter;letter-spacing:.03125em;margin:0 0 16px}.mat-h5[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h5[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{font:400 11.62px/20px Inter;margin:0 0 12px}.mat-h6[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h6[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{font:400 9.38px/20px Inter;margin:0 0 12px}.mat-body-strong[_ngcontent-%COMP%], .mat-subtitle-2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body-strong[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-subtitle-2[_ngcontent-%COMP%]{font-size:14px;font-weight:500;line-height:22px;font-family:Inter;letter-spacing:.0071428571em}.mat-body[_ngcontent-%COMP%], .mat-body-2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body-2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%]{font-size:14px;font-weight:400;line-height:20px;font-family:Inter;letter-spacing:.0178571429em}.mat-body[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mat-body-2[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body-2[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 12px}.mat-small[_ngcontent-%COMP%], .mat-caption[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-small[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-caption[_ngcontent-%COMP%]{font-size:12px;font-weight:400;line-height:20px;font-family:Inter;letter-spacing:.0333333333em}.mat-headline-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-1[_ngcontent-%COMP%]{font-size:96px;font-weight:300;line-height:96px;font-family:Inter;letter-spacing:-.015625em;margin:0 0 56px}.mat-headline-2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-2[_ngcontent-%COMP%]{font-size:60px;font-weight:300;line-height:60px;font-family:Inter;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-3[_ngcontent-%COMP%]{font-size:48px;font-weight:400;line-height:50px;font-family:Inter;letter-spacing:normal;margin:0 0 64px}.mat-headline-4[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-4[_ngcontent-%COMP%]{font-size:34px;font-weight:400;line-height:40px;font-family:Inter;letter-spacing:.0073529412em;margin:0 0 64px}.mat-column-actions[_ngcontent-%COMP%]{width:50px;padding:0 8px}.mat-column-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:30px;width:30px}.mat-mdc-cell[_ngcontent-%COMP%]{padding:8px}.mat-mdc-card[_ngcontent-%COMP%]{overflow-y:auto}.add-btn[_ngcontent-%COMP%]{background-color:#7571a9}"]}),I);gt=mt=(0,Z.gn)([(0,P.c)({checkProperties:!0})],gt);var L,Tt=l(41609),pt=l(94517),$=l(24546),yn=l(62810),At=l(30977),kn=l(67961);let ft=((L=class{constructor(o,e,c,a,i){this.dialog=o,this.fileService=e,this.cacheService=c,this.baseService=a,this.themeService=i,this.storageServices=[],this.checked=!1,this.isDarkMode=this.themeService.darkMode$,this.baseService.getAll({additionalParams:[{key:"group",value:"source control,file"}]}).subscribe(d=>{this.storageServices=d.services})}ngOnInit(){this.content.setValue(this.contentText)}fileUpload(o){const e=o.target;e.files&&(0,At.Vu)(e.files[0]).subscribe(c=>{this.content.setValue(c)})}githubImport(){this.dialog.open(kn.e).afterClosed().subscribe(e=>{e&&this.content.setValue(window.atob(e.data.content))})}}).\u0275fac=function(o){return new(o||L)(t.Y36(b.uw),t.Y36(N.PA),t.Y36(N.OP),t.Y36(N.PA),t.Y36(tt.F))},L.\u0275cmp=t.Xpm({type:L,selectors:[["df-file-github"]],inputs:{cache:"cache",type:"type",contentText:"contentText",content:"content"},standalone:!0,features:[t.jDz],decls:12,vars:12,consts:[[1,"details-section"],[1,"actions","full-width"],["type","file",2,"display","none",3,"accept","change"],["fileInput",""],["type","button","mat-flat-button","",1,"save-btn",3,"click"],[1,"full-width",3,"formControl","mode"]],template:function(o,e){if(1&o){const c=t.EpF();t.TgZ(0,"div",0),t.ALo(1,"async"),t.TgZ(2,"div",1)(3,"input",2,3),t.NdJ("change",function(i){return e.fileUpload(i)}),t.qZA(),t.TgZ(5,"button",4),t.NdJ("click",function(){t.CHM(c);const i=t.MAs(4);return t.KtG(i.click())}),t._uU(6),t.ALo(7,"transloco"),t.qZA(),t.TgZ(8,"button",4),t.NdJ("click",function(){return e.githubImport()}),t._uU(9),t.ALo(10,"transloco"),t.qZA()(),t._UZ(11,"df-ace-editor",5),t.qZA()}2&o&&(t.Tol(t.lcZ(1,6,e.isDarkMode)?"dark-theme":""),t.xp6(6),t.hij(" ",t.lcZ(7,8,"desktopFile")," "),t.xp6(3),t.hij(" ",t.lcZ(10,10,"githubFile")," "),t.xp6(2),t.Q6J("formControl",e.content)("mode",e.type.getRawValue()))},dependencies:[x.ot,x.lW,q.Ot,u.lN,T.LD,vt.p9,s.u5,s.JJ,b.Is,O.c,Tt.C,g.Ov,s.UX,s.oH],styles:[".actions[_ngcontent-%COMP%]{display:flex;gap:16px}"]}),L);ft=(0,Z.gn)([(0,P.c)({checkProperties:!0})],ft);var nt=l(94664),wn=l(21631),It=l(22096);const Zt=[{name:"adldap",label:"Active Directory",description:"A service for supporting Active Directory integration",group:"LDAP",configSchema:[]},{name:"ldap",label:"Standard LDAP",description:"A service for supporting Open LDAP integration",group:"LDAP",configSchema:[]},{name:"oidc",label:"OpenID Connect",description:"OpenID Connect service supporting SSO.",group:"OAuth",configSchema:[]},{name:"oauth_azure_ad",label:"Azure Active Directory OAuth",description:"OAuth service for supporting Azure Active Directory authentication and API access.",group:"OAuth",configSchema:[]},{name:"saml",label:"SAML 2.0",description:"SAML 2.0 service supporting SSO.",group:"SSO",configSchema:[]},{name:"okta_saml",label:"Okta SAML",description:"Okta service supporting SSO.",group:"SSO",configSchema:[]},{name:"auth0_sso",label:"Auth0 SSO",description:"Auth0 service supporting SSO.",group:"SSO",configSchema:[]},{name:"ibmdb2",label:"IBM DB2",description:"Database service supporting IBM DB2 SQL connections.",group:"Database",configSchema:[]},{name:"informix",label:"IBM Informix",description:"Database service supporting IBM Informix SQL connections.",group:"Database",configSchema:[]},{name:"oracle",label:"Oracle",description:"Database service supporting SQL connections.",group:"Database",configSchema:[]},{name:"salesforce_db",label:"Salesforce",description:"Database service with SOAP and/or OAuth authentication support for Salesforce connections.",group:"Database",configSchema:[]},{name:"soap",label:"SOAP Service",description:"A service to handle SOAP Services",group:"Remote Service",configSchema:[]},{name:"sqlanywhere",label:"SAP SQL Anywhere",description:"Database service supporting SAP SQL Anywhere connections.",group:"Database",configSchema:[]},{name:"sqlsrv",label:"SQL Server",description:"Database service supporting SQL Server connections.",group:"Database",configSchema:[]},{name:"memsql",label:"MemSQL",description:"Database service supporting MemSQL connections.",group:"Database",configSchema:[]},{name:"apns",label:"Apple Push Notification",description:"Apple Push Notification Service Provider.",group:"Notification",configSchema:[]},{name:"gcm",label:"GCM Push Notification",description:"GCM Push Notification Service Provider.",group:"Notification",configSchema:[]},{name:"mysql",label:"MySQL",description:"Database service supporting MySLQ connections.",group:"Database",configSchema:[]},{name:"mariadb",label:"MariaDB",description:"Database service supporting MariaDB connections.",group:"Database",configSchema:[]},{name:"nodejs",label:"Node.js",description:"Service that allows client-callable scripts utilizing the system scripting.",group:"Script",configSchema:[]},{name:"php",label:"PHP",description:"Service that allows client-callable scripts utilizing the system scripting.",group:"Script",configSchema:[]},{name:"python3",label:"Python3",description:"Service that allows client-callable scripts utilizing the system scripting.",group:"Script",configSchema:[]},{name:"mongodb",label:"MongoDB",description:"Database service for MongoDB connections.",group:"Database",configSchema:[]},{name:"gridfs",label:"GridFS",description:"GridFS File Storage services.",group:"File",configSchema:[]}],ot=[{name:"logstash",label:"Logstash",description:"Logstash service.",group:"Log",configSchema:[]},{name:"snowflake",label:"Snowflake",description:"Database service supporting Snowflake connections.",group:"Big Data",configSchema:[]},{name:"apache_hive",label:"Apache Hive",description:"The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL",group:"Big Data",configSchema:[]},{name:"databricks",label:"Databricks",description:"The Databricks data intelligence platform simplifies data engineering, analytics, and AI workloads by providing scalable compute and SQL-based access to large datasets in a unified environment.",group:"Big Data",configSchema:[]},{name:"dremio",label:"Dremio",description:"The Dremio data lakehouse platform enables fast querying, data exploration, and analytics on large datasets across various storage systems using SQL.",group:"Big Data",configSchema:[]},{name:"hadoop_hdfs",label:"Hadoop HDFS",description:"Hadoop Distributed File System",group:"File",configSchema:[]}];var Sn=l(73991),_t=l(49488),bt=l(8996),ht=l(68484),zt=l(4300),ut=l(49388),xt=l(36028),Dn=l(62831),Ct=l(78645),j=l(59773);function Tn(n,o){1&n&&t.Hsn(0)}const An=["*"];let Ft=(()=>{class n{constructor(e){this._elementRef=e}focus(){this._elementRef.nativeElement.focus()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","cdkStepHeader",""]],hostAttrs:["role","tab"]}),n})(),Nt=(()=>{class n{constructor(e){this.template=e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(t.Rgc))},n.\u0275dir=t.lG2({type:n,selectors:[["","cdkStepLabel",""]]}),n})(),In=0;const Ut=new t.OlP("STEPPER_GLOBAL_OPTIONS");let Mt=(()=>{class n{get editable(){return this._editable}set editable(e){this._editable=(0,S.Ig)(e)}get optional(){return this._optional}set optional(e){this._optional=(0,S.Ig)(e)}get completed(){return null==this._completedOverride?this._getDefaultCompleted():this._completedOverride}set completed(e){this._completedOverride=(0,S.Ig)(e)}_getDefaultCompleted(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted}get hasError(){return null==this._customError?this._getDefaultError():this._customError}set hasError(e){this._customError=(0,S.Ig)(e)}_getDefaultError(){return this.stepControl&&this.stepControl.invalid&&this.interacted}constructor(e,c){this._stepper=e,this.interacted=!1,this.interactedStream=new t.vpe,this._editable=!0,this._optional=!1,this._completedOverride=null,this._customError=null,this._stepperOptions=c||{},this._displayDefaultIndicatorType=!1!==this._stepperOptions.displayDefaultIndicatorType}select(){this._stepper.selected=this}reset(){this.interacted=!1,null!=this._completedOverride&&(this._completedOverride=!1),null!=this._customError&&(this._customError=!1),this.stepControl&&this.stepControl.reset()}ngOnChanges(){this._stepper._stateChanged()}_markAsInteracted(){this.interacted||(this.interacted=!0,this.interactedStream.emit(this))}_showError(){return this._stepperOptions.showError??null!=this._customError}}return n.\u0275fac=function(e){return new(e||n)(t.Y36((0,t.Gpc)(()=>V)),t.Y36(Ut,8))},n.\u0275cmp=t.Xpm({type:n,selectors:[["cdk-step"]],contentQueries:function(e,c,a){if(1&e&&t.Suo(a,Nt,5),2&e){let i;t.iGM(i=t.CRH())&&(c.stepLabel=i.first)}},viewQuery:function(e,c){if(1&e&&t.Gf(t.Rgc,7),2&e){let a;t.iGM(a=t.CRH())&&(c.content=a.first)}},inputs:{stepControl:"stepControl",label:"label",errorMessage:"errorMessage",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],state:"state",editable:"editable",optional:"optional",completed:"completed",hasError:"hasError"},outputs:{interactedStream:"interacted"},exportAs:["cdkStep"],features:[t.TTD],ngContentSelectors:An,decls:1,vars:0,template:function(e,c){1&e&&(t.F$t(),t.YNc(0,Tn,1,0,"ng-template"))},encapsulation:2,changeDetection:0}),n})(),V=(()=>{class n{get linear(){return this._linear}set linear(e){this._linear=(0,S.Ig)(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){const c=(0,S.su)(e);this.steps&&this._steps?(this._isValidIndex(c),this.selected?._markAsInteracted(),this._selectedIndex!==c&&!this._anyControlsInvalidOrPending(c)&&(c>=this._selectedIndex||this.steps.toArray()[c].editable)&&this._updateSelectedItemIndex(c)):this._selectedIndex=c}get selected(){return this.steps?this.steps.toArray()[this.selectedIndex]:void 0}set selected(e){this.selectedIndex=e&&this.steps?this.steps.toArray().indexOf(e):-1}get orientation(){return this._orientation}set orientation(e){this._orientation=e,this._keyManager&&this._keyManager.withVerticalOrientation("vertical"===e)}constructor(e,c,a){this._dir=e,this._changeDetectorRef=c,this._elementRef=a,this._destroyed=new Ct.x,this.steps=new t.n_E,this._sortedHeaders=new t.n_E,this._linear=!1,this._selectedIndex=0,this.selectionChange=new t.vpe,this.selectedIndexChange=new t.vpe,this._orientation="horizontal",this._groupId=In++}ngAfterContentInit(){this._steps.changes.pipe((0,Y.O)(this._steps),(0,j.R)(this._destroyed)).subscribe(e=>{this.steps.reset(e.filter(c=>c._stepper===this)),this.steps.notifyOnChanges()})}ngAfterViewInit(){this._stepHeader.changes.pipe((0,Y.O)(this._stepHeader),(0,j.R)(this._destroyed)).subscribe(e=>{this._sortedHeaders.reset(e.toArray().sort((c,a)=>c._elementRef.nativeElement.compareDocumentPosition(a._elementRef.nativeElement)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)),this._sortedHeaders.notifyOnChanges()}),this._keyManager=new zt.Em(this._sortedHeaders).withWrap().withHomeAndEnd().withVerticalOrientation("vertical"===this._orientation),(this._dir?this._dir.change:(0,It.of)()).pipe((0,Y.O)(this._layoutDirection()),(0,j.R)(this._destroyed)).subscribe(e=>this._keyManager.withHorizontalOrientation(e)),this._keyManager.updateActiveItem(this._selectedIndex),this.steps.changes.subscribe(()=>{this.selected||(this._selectedIndex=Math.max(this._selectedIndex-1,0))}),this._isValidIndex(this._selectedIndex)||(this._selectedIndex=0)}ngOnDestroy(){this._keyManager?.destroy(),this.steps.destroy(),this._sortedHeaders.destroy(),this._destroyed.next(),this._destroyed.complete()}next(){this.selectedIndex=Math.min(this._selectedIndex+1,this.steps.length-1)}previous(){this.selectedIndex=Math.max(this._selectedIndex-1,0)}reset(){this._updateSelectedItemIndex(0),this.steps.forEach(e=>e.reset()),this._stateChanged()}_getStepLabelId(e){return`cdk-step-label-${this._groupId}-${e}`}_getStepContentId(e){return`cdk-step-content-${this._groupId}-${e}`}_stateChanged(){this._changeDetectorRef.markForCheck()}_getAnimationDirection(e){const c=e-this._selectedIndex;return c<0?"rtl"===this._layoutDirection()?"next":"previous":c>0?"rtl"===this._layoutDirection()?"previous":"next":"current"}_getIndicatorType(e,c="number"){const a=this.steps.toArray()[e],i=this._isCurrentStep(e);return a._displayDefaultIndicatorType?this._getDefaultIndicatorLogic(a,i):this._getGuidelineLogic(a,i,c)}_getDefaultIndicatorLogic(e,c){return e._showError()&&e.hasError&&!c?"error":!e.completed||c?"number":e.editable?"edit":"done"}_getGuidelineLogic(e,c,a="number"){return e._showError()&&e.hasError&&!c?"error":e.completed&&!c?"done":e.completed&&c?a:e.editable&&c?"edit":a}_isCurrentStep(e){return this._selectedIndex===e}_getFocusIndex(){return this._keyManager?this._keyManager.activeItemIndex:this._selectedIndex}_updateSelectedItemIndex(e){const c=this.steps.toArray();this.selectionChange.emit({selectedIndex:e,previouslySelectedIndex:this._selectedIndex,selectedStep:c[e],previouslySelectedStep:c[this._selectedIndex]}),this._containsFocus()?this._keyManager.setActiveItem(e):this._keyManager.updateActiveItem(e),this._selectedIndex=e,this.selectedIndexChange.emit(this._selectedIndex),this._stateChanged()}_onKeydown(e){const c=(0,xt.Vb)(e),a=e.keyCode,i=this._keyManager;null==i.activeItemIndex||c||a!==xt.L_&&a!==xt.K5?i.setFocusOrigin("keyboard").onKeydown(e):(this.selectedIndex=i.activeItemIndex,e.preventDefault())}_anyControlsInvalidOrPending(e){return!!(this._linear&&e>=0)&&this.steps.toArray().slice(0,e).some(c=>{const a=c.stepControl;return(a?a.invalid||a.pending||!c.interacted:!c.completed)&&!c.optional&&!c._completedOverride})}_layoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_containsFocus(){const e=this._elementRef.nativeElement,c=(0,Dn.ht)();return e===c||e.contains(c)}_isValidIndex(e){return e>-1&&(!this.steps||e{class n{constructor(e){this._stepper=e,this.type="submit"}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(V))},n.\u0275dir=t.lG2({type:n,selectors:[["button","cdkStepperNext",""]],hostVars:1,hostBindings:function(e,c){1&e&&t.NdJ("click",function(){return c._stepper.next()}),2&e&&t.Ikx("type",c.type)},inputs:{type:"type"}}),n})(),zn=(()=>{class n{constructor(e){this._stepper=e,this.type="button"}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(V))},n.\u0275dir=t.lG2({type:n,selectors:[["button","cdkStepperPrevious",""]],hostVars:1,hostBindings:function(e,c){1&e&&t.NdJ("click",function(){return c._stepper.previous()}),2&e&&t.Ikx("type",c.type)},inputs:{type:"type"}}),n})(),Fn=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.oAB({type:n}),n.\u0275inj=t.cJS({imports:[ut.vT]}),n})();var Nn=l(47394),Un=l(93997),f=l(86825);function Qn(n,o){if(1&n&&t.GkF(0,8),2&n){const e=t.oxw();t.Q6J("ngTemplateOutlet",e.iconOverrides[e.state])("ngTemplateOutletContext",e._getIconContext())}}function Jn(n,o){if(1&n&&(t.TgZ(0,"span",13),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e._getDefaultTextForState(e.state))}}function Ln(n,o){if(1&n&&(t.TgZ(0,"span",14),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e._intl.completedLabel)}}function En(n,o){if(1&n&&(t.TgZ(0,"span",14),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e._intl.editableLabel)}}function qn(n,o){if(1&n&&(t.TgZ(0,"mat-icon",13),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e._getDefaultTextForState(e.state))}}function Yn(n,o){if(1&n&&(t.ynx(0,9),t.YNc(1,Jn,2,1,"span",10),t.YNc(2,Ln,2,1,"span",11),t.YNc(3,En,2,1,"span",11),t.YNc(4,qn,2,1,"mat-icon",12),t.BQk()),2&n){const e=t.oxw();t.Q6J("ngSwitch",e.state),t.xp6(1),t.Q6J("ngSwitchCase","number"),t.xp6(1),t.Q6J("ngIf","done"===e.state),t.xp6(1),t.Q6J("ngIf","edit"===e.state)}}function Rn(n,o){if(1&n&&(t.TgZ(0,"div",15),t.GkF(1,16),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Q6J("ngTemplateOutlet",e._templateLabel().template)}}function Bn(n,o){if(1&n&&(t.TgZ(0,"div",15),t._uU(1),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Oqu(e.label)}}function Hn(n,o){if(1&n&&(t.TgZ(0,"div",17),t._uU(1),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Oqu(e._intl.optionalLabel)}}function Gn(n,o){if(1&n&&(t.TgZ(0,"div",18),t._uU(1),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Oqu(e.errorMessage)}}function $n(n,o){}function jn(n,o){if(1&n&&(t.Hsn(0),t.YNc(1,$n,0,0,"ng-template",0)),2&n){const e=t.oxw();t.xp6(1),t.Q6J("cdkPortalOutlet",e._portal)}}const Vn=["*"];function Kn(n,o){1&n&&t._UZ(0,"div",11)}const Qt=function(n,o){return{step:n,i:o}};function Wn(n,o){if(1&n&&(t.ynx(0),t.GkF(1,9),t.YNc(2,Kn,1,0,"div",10),t.BQk()),2&n){const e=o.$implicit,c=o.index,a=o.last;t.oxw(2);const i=t.MAs(4);t.xp6(1),t.Q6J("ngTemplateOutlet",i)("ngTemplateOutletContext",t.WLB(3,Qt,e,c)),t.xp6(1),t.Q6J("ngIf",!a)}}const Jt=function(n){return{animationDuration:n}},Lt=function(n,o){return{value:n,params:o}};function Xn(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",12),t.NdJ("@horizontalStepTransition.done",function(a){t.CHM(e);const i=t.oxw(2);return t.KtG(i._animationDone.next(a))}),t.GkF(1,13),t.qZA()}if(2&n){const e=o.$implicit,c=o.index,a=t.oxw(2);t.ekj("mat-horizontal-stepper-content-inactive",a.selectedIndex!==c),t.Q6J("@horizontalStepTransition",t.WLB(8,Lt,a._getAnimationDirection(c),t.VKq(6,Jt,a._getAnimationDuration())))("id",a._getStepContentId(c)),t.uIk("aria-labelledby",a._getStepLabelId(c)),t.xp6(1),t.Q6J("ngTemplateOutlet",e.content)}}function to(n,o){if(1&n&&(t.TgZ(0,"div",4)(1,"div",5),t.YNc(2,Wn,3,6,"ng-container",6),t.qZA(),t.TgZ(3,"div",7),t.YNc(4,Xn,2,11,"div",8),t.qZA()()),2&n){const e=t.oxw();t.xp6(2),t.Q6J("ngForOf",e.steps),t.xp6(2),t.Q6J("ngForOf",e.steps)}}function eo(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",15),t.GkF(1,9),t.TgZ(2,"div",16)(3,"div",17),t.NdJ("@verticalStepTransition.done",function(a){t.CHM(e);const i=t.oxw(2);return t.KtG(i._animationDone.next(a))}),t.TgZ(4,"div",18),t.GkF(5,13),t.qZA()()()()}if(2&n){const e=o.$implicit,c=o.index,a=o.last,i=t.oxw(2),d=t.MAs(4);t.xp6(1),t.Q6J("ngTemplateOutlet",d)("ngTemplateOutletContext",t.WLB(10,Qt,e,c)),t.xp6(1),t.ekj("mat-stepper-vertical-line",!a),t.xp6(1),t.ekj("mat-vertical-stepper-content-inactive",i.selectedIndex!==c),t.Q6J("@verticalStepTransition",t.WLB(15,Lt,i._getAnimationDirection(c),t.VKq(13,Jt,i._getAnimationDuration())))("id",i._getStepContentId(c)),t.uIk("aria-labelledby",i._getStepLabelId(c)),t.xp6(2),t.Q6J("ngTemplateOutlet",e.content)}}function no(n,o){if(1&n&&(t.ynx(0),t.YNc(1,eo,6,18,"div",14),t.BQk()),2&n){const e=t.oxw();t.xp6(1),t.Q6J("ngForOf",e.steps)}}function oo(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"mat-step-header",19),t.NdJ("click",function(){const i=t.CHM(e).step;return t.KtG(i.select())})("keydown",function(a){t.CHM(e);const i=t.oxw();return t.KtG(i._onKeydown(a))}),t.qZA()}if(2&n){const e=o.step,c=o.i,a=t.oxw();t.ekj("mat-horizontal-stepper-header","horizontal"===a.orientation)("mat-vertical-stepper-header","vertical"===a.orientation),t.Q6J("tabIndex",a._getFocusIndex()===c?0:-1)("id",a._getStepLabelId(c))("index",c)("state",a._getIndicatorType(c,e.state))("label",e.stepLabel||e.label)("selected",a.selectedIndex===c)("active",a._stepIsNavigable(c,e))("optional",e.optional)("errorMessage",e.errorMessage)("iconOverrides",a._iconOverrides)("disableRipple",a.disableRipple||!a._stepIsNavigable(c,e))("color",e.color||a.color),t.uIk("aria-posinset",c+1)("aria-setsize",a.steps.length)("aria-controls",a._getStepContentId(c))("aria-selected",a.selectedIndex==c)("aria-label",e.ariaLabel||null)("aria-labelledby",!e.ariaLabel&&e.ariaLabelledby?e.ariaLabelledby:null)("aria-disabled",!a._stepIsNavigable(c,e)||null)}}let ct=(()=>{class n extends Nt{}return n.\u0275fac=function(){let o;return function(c){return(o||(o=t.n5z(n)))(c||n)}}(),n.\u0275dir=t.lG2({type:n,selectors:[["","matStepLabel",""]],features:[t.qOj]}),n})(),at=(()=>{class n{constructor(){this.changes=new Ct.x,this.optionalLabel="Optional",this.completedLabel="Completed",this.editableLabel="Editable"}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const ao={provide:at,deps:[[new t.FiY,new t.tp0,at]],useFactory:function co(n){return n||new at}},io=(0,M.pj)(class extends Ft{constructor(o){super(o)}},"primary");let Et=(()=>{class n extends io{constructor(e,c,a,i){super(a),this._intl=e,this._focusMonitor=c,this._intlSubscription=e.changes.subscribe(()=>i.markForCheck())}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._intlSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._elementRef)}focus(e,c){e?this._focusMonitor.focusVia(this._elementRef,e,c):this._elementRef.nativeElement.focus(c)}_stringLabel(){return this.label instanceof ct?null:this.label}_templateLabel(){return this.label instanceof ct?this.label:null}_getHostElement(){return this._elementRef.nativeElement}_getIconContext(){return{index:this.index,active:this.active,optional:this.optional}}_getDefaultTextForState(e){return"number"==e?`${this.index+1}`:"edit"==e?"create":"error"==e?"warning":e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(at),t.Y36(zt.tE),t.Y36(t.SBq),t.Y36(t.sBO))},n.\u0275cmp=t.Xpm({type:n,selectors:[["mat-step-header"]],hostAttrs:["role","tab",1,"mat-step-header"],inputs:{color:"color",state:"state",label:"label",errorMessage:"errorMessage",iconOverrides:"iconOverrides",index:"index",selected:"selected",active:"active",optional:"optional",disableRipple:"disableRipple"},features:[t.qOj],decls:10,vars:19,consts:[["matRipple","",1,"mat-step-header-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-step-icon-content",3,"ngSwitch"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngSwitchCase"],[3,"ngSwitch",4,"ngSwitchDefault"],[1,"mat-step-label"],["class","mat-step-text-label",4,"ngIf"],["class","mat-step-optional",4,"ngIf"],["class","mat-step-sub-label-error",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngSwitch"],["aria-hidden","true",4,"ngSwitchCase"],["class","cdk-visually-hidden",4,"ngIf"],["aria-hidden","true",4,"ngSwitchDefault"],["aria-hidden","true"],[1,"cdk-visually-hidden"],[1,"mat-step-text-label"],[3,"ngTemplateOutlet"],[1,"mat-step-optional"],[1,"mat-step-sub-label-error"]],template:function(e,c){1&e&&(t._UZ(0,"div",0),t.TgZ(1,"div")(2,"div",1),t.YNc(3,Qn,1,2,"ng-container",2),t.YNc(4,Yn,5,4,"ng-container",3),t.qZA()(),t.TgZ(5,"div",4),t.YNc(6,Rn,2,1,"div",5),t.YNc(7,Bn,2,1,"div",5),t.YNc(8,Hn,2,1,"div",6),t.YNc(9,Gn,2,1,"div",7),t.qZA()),2&e&&(t.Q6J("matRippleTrigger",c._getHostElement())("matRippleDisabled",c.disableRipple),t.xp6(1),t.Gre("mat-step-icon-state-",c.state," mat-step-icon"),t.ekj("mat-step-icon-selected",c.selected),t.xp6(1),t.Q6J("ngSwitch",!(!c.iconOverrides||!c.iconOverrides[c.state])),t.xp6(1),t.Q6J("ngSwitchCase",!0),t.xp6(2),t.ekj("mat-step-label-active",c.active)("mat-step-label-selected",c.selected)("mat-step-label-error","error"==c.state),t.xp6(1),t.Q6J("ngIf",c._templateLabel()),t.xp6(1),t.Q6J("ngIf",c._stringLabel()),t.xp6(1),t.Q6J("ngIf",c.optional&&"error"!=c.state),t.xp6(1),t.Q6J("ngIf","error"==c.state))},dependencies:[g.O5,g.tP,g.RF,g.n9,g.ED,A.Hw,M.wG],styles:['.mat-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-step-header:focus .mat-focus-indicator::before{content:""}.mat-step-header:hover[aria-disabled=true]{cursor:default}.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:var(--mat-stepper-header-hover-state-layer-color)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused{background-color:var(--mat-stepper-header-focus-state-layer-color)}@media(hover: none){.mat-step-header:hover{background:none}}.cdk-high-contrast-active .mat-step-header{outline:solid 1px}.cdk-high-contrast-active .mat-step-header[aria-selected=true] .mat-step-label{text-decoration:underline}.cdk-high-contrast-active .mat-step-header[aria-disabled=true]{outline-color:GrayText}.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-label,.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-icon,.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-optional{color:GrayText}.mat-step-optional{font-size:12px;color:var(--mat-stepper-header-optional-label-text-color)}.mat-step-sub-label-error{font-size:12px;font-weight:normal}.mat-step-icon{border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;color:var(--mat-stepper-header-icon-foreground-color);background-color:var(--mat-stepper-header-icon-background-color)}.mat-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex}.mat-step-icon .mat-icon{font-size:16px;height:16px;width:16px}.mat-step-icon-state-error{background-color:var(--mat-stepper-header-error-state-icon-background-color);color:var(--mat-stepper-header-error-state-icon-foreground-color)}.mat-step-icon-state-error .mat-icon{font-size:24px;height:24px;width:24px}.mat-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-family:var(--mat-stepper-header-label-text-font);font-size:var(--mat-stepper-header-label-text-size);font-weight:var(--mat-stepper-header-label-text-weight);color:var(--mat-stepper-header-label-text-color)}.mat-step-label.mat-step-label-active{color:var(--mat-stepper-header-selected-state-label-text-color)}.mat-step-label.mat-step-label-error{color:var(--mat-stepper-header-error-state-label-text-color);font-size:var(--mat-stepper-header-error-state-label-text-size)}.mat-step-label.mat-step-label-selected{font-size:var(--mat-stepper-header-selected-state-label-text-size);font-weight:var(--mat-stepper-header-selected-state-label-text-weight)}.mat-step-text-label{text-overflow:ellipsis;overflow:hidden}.mat-step-header .mat-step-header-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-step-icon-selected{background-color:var(--mat-stepper-header-selected-state-icon-background-color);color:var(--mat-stepper-header-selected-state-icon-foreground-color)}.mat-step-icon-state-done{background-color:var(--mat-stepper-header-done-state-icon-background-color);color:var(--mat-stepper-header-done-state-icon-foreground-color)}.mat-step-icon-state-edit{background-color:var(--mat-stepper-header-edit-state-icon-background-color);color:var(--mat-stepper-header-edit-state-icon-foreground-color)}'],encapsulation:2,changeDetection:0}),n})();const Rt={horizontalStepTransition:(0,f.X$)("horizontalStepTransition",[(0,f.SB)("previous",(0,f.oB)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"})),(0,f.SB)("current",(0,f.oB)({transform:"none",visibility:"inherit"})),(0,f.SB)("next",(0,f.oB)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"})),(0,f.eR)("* => *",(0,f.ru)([(0,f.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)"),(0,f.IO)("@*",(0,f.pV)(),{optional:!0})]),{params:{animationDuration:"500ms"}})]),verticalStepTransition:(0,f.X$)("verticalStepTransition",[(0,f.SB)("previous",(0,f.oB)({height:"0px",visibility:"hidden"})),(0,f.SB)("next",(0,f.oB)({height:"0px",visibility:"hidden"})),(0,f.SB)("current",(0,f.oB)({height:"*",visibility:"inherit"})),(0,f.eR)("* <=> current",(0,f.ru)([(0,f.jt)("{{animationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)"),(0,f.IO)("@*",(0,f.pV)(),{optional:!0})]),{params:{animationDuration:"225ms"}})])};let Bt=(()=>{class n{constructor(e){this.templateRef=e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(t.Rgc))},n.\u0275dir=t.lG2({type:n,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:["matStepperIcon","name"]}}),n})(),ro=(()=>{class n{constructor(e){this._template=e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(t.Rgc))},n.\u0275dir=t.lG2({type:n,selectors:[["ng-template","matStepContent",""]]}),n})(),Ht=(()=>{class n extends Mt{constructor(e,c,a,i){super(e,i),this._errorStateMatcher=c,this._viewContainerRef=a,this._isSelected=Nn.w0.EMPTY,this.stepLabel=void 0}ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe((0,nt.w)(()=>this._stepper.selectionChange.pipe((0,w.U)(e=>e.selectedStep===this),(0,Y.O)(this._stepper.selected===this)))).subscribe(e=>{e&&this._lazyContent&&!this._portal&&(this._portal=new ht.UE(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(e,c){return this._errorStateMatcher.isErrorState(e,c)||!!(e&&e.invalid&&this.interacted)}}return n.\u0275fac=function(e){return new(e||n)(t.Y36((0,t.Gpc)(()=>Gt)),t.Y36(M.rD,4),t.Y36(t.s_b),t.Y36(Ut,8))},n.\u0275cmp=t.Xpm({type:n,selectors:[["mat-step"]],contentQueries:function(e,c,a){if(1&e&&(t.Suo(a,ct,5),t.Suo(a,ro,5)),2&e){let i;t.iGM(i=t.CRH())&&(c.stepLabel=i.first),t.iGM(i=t.CRH())&&(c._lazyContent=i.first)}},inputs:{color:"color"},exportAs:["matStep"],features:[t._Bn([{provide:M.rD,useExisting:n},{provide:Mt,useExisting:n}]),t.qOj],ngContentSelectors:Vn,decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(e,c){1&e&&(t.F$t(),t.YNc(0,jn,2,1,"ng-template"))},dependencies:[ht.Pl],encapsulation:2,changeDetection:0}),n})(),Gt=(()=>{class n extends V{get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e)?e+"ms":e}constructor(e,c,a){super(e,c,a),this._stepHeader=void 0,this._steps=void 0,this.steps=new t.n_E,this.animationDone=new t.vpe,this.labelPosition="end",this.headerPosition="top",this._iconOverrides={},this._animationDone=new Ct.x,this._animationDuration="";const i=a.nativeElement.nodeName.toLowerCase();this.orientation="mat-vertical-stepper"===i?"vertical":"horizontal"}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:e,templateRef:c})=>this._iconOverrides[e]=c),this.steps.changes.pipe((0,j.R)(this._destroyed)).subscribe(()=>{this._stateChanged()}),this._animationDone.pipe((0,Un.x)((e,c)=>e.fromState===c.fromState&&e.toState===c.toState),(0,j.R)(this._destroyed)).subscribe(e=>{"current"===e.toState&&this.animationDone.emit()})}_stepIsNavigable(e,c){return c.completed||this.selectedIndex===e||!this.linear}_getAnimationDuration(){return this.animationDuration?this.animationDuration:"horizontal"===this.orientation?"500ms":"225ms"}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(ut.Is,8),t.Y36(t.sBO),t.Y36(t.SBq))},n.\u0275cmp=t.Xpm({type:n,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(e,c,a){if(1&e&&(t.Suo(a,Ht,5),t.Suo(a,Bt,5)),2&e){let i;t.iGM(i=t.CRH())&&(c._steps=i),t.iGM(i=t.CRH())&&(c._icons=i)}},viewQuery:function(e,c){if(1&e&&t.Gf(Et,5),2&e){let a;t.iGM(a=t.CRH())&&(c._stepHeader=a)}},hostAttrs:["role","tablist","ngSkipHydration",""],hostVars:11,hostBindings:function(e,c){2&e&&(t.uIk("aria-orientation",c.orientation),t.ekj("mat-stepper-horizontal","horizontal"===c.orientation)("mat-stepper-vertical","vertical"===c.orientation)("mat-stepper-label-position-end","horizontal"===c.orientation&&"end"==c.labelPosition)("mat-stepper-label-position-bottom","horizontal"===c.orientation&&"bottom"==c.labelPosition)("mat-stepper-header-position-bottom","bottom"===c.headerPosition))},inputs:{selectedIndex:"selectedIndex",disableRipple:"disableRipple",color:"color",labelPosition:"labelPosition",headerPosition:"headerPosition",animationDuration:"animationDuration"},outputs:{animationDone:"animationDone"},exportAs:["matStepper","matVerticalStepper","matHorizontalStepper"],features:[t._Bn([{provide:V,useExisting:n}]),t.qOj],decls:5,vars:3,consts:[[3,"ngSwitch"],["class","mat-horizontal-stepper-wrapper",4,"ngSwitchCase"],[4,"ngSwitchCase"],["stepTemplate",""],[1,"mat-horizontal-stepper-wrapper"],[1,"mat-horizontal-stepper-header-container"],[4,"ngFor","ngForOf"],[1,"mat-horizontal-content-container"],["class","mat-horizontal-stepper-content","role","tabpanel",3,"id","mat-horizontal-stepper-content-inactive",4,"ngFor","ngForOf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["class","mat-stepper-horizontal-line",4,"ngIf"],[1,"mat-stepper-horizontal-line"],["role","tabpanel",1,"mat-horizontal-stepper-content",3,"id"],[3,"ngTemplateOutlet"],["class","mat-step",4,"ngFor","ngForOf"],[1,"mat-step"],[1,"mat-vertical-content-container"],["role","tabpanel",1,"mat-vertical-stepper-content",3,"id"],[1,"mat-vertical-content"],[3,"tabIndex","id","index","state","label","selected","active","optional","errorMessage","iconOverrides","disableRipple","color","click","keydown"]],template:function(e,c){1&e&&(t.ynx(0,0),t.YNc(1,to,5,2,"div",1),t.YNc(2,no,2,1,"ng-container",2),t.BQk(),t.YNc(3,oo,1,23,"ng-template",null,3,t.W1O)),2&e&&(t.Q6J("ngSwitch",c.orientation),t.xp6(1),t.Q6J("ngSwitchCase","horizontal"),t.xp6(1),t.Q6J("ngSwitchCase","vertical"))},dependencies:[g.sg,g.O5,g.tP,g.RF,g.n9,Et],styles:['.mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font);background:var(--mat-stepper-container-color)}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color)}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:"";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-inactive{height:0;overflow:hidden}.mat-horizontal-stepper-content:not(.mat-horizontal-stepper-content-inactive){visibility:inherit !important}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.cdk-high-contrast-active .mat-horizontal-content-container{outline:solid 1px}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}.cdk-high-contrast-active .mat-vertical-content-container{outline:solid 1px}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:"";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color);top:calc(8px - calc((var(--mat-stepper-header-height) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-stepper-content:not(.mat-vertical-stepper-content-inactive){visibility:inherit !important}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}'],encapsulation:2,data:{animation:[Rt.horizontalStepTransition,Rt.verticalStepTransition]},changeDetection:0}),n})(),lo=(()=>{class n extends Zn{}return n.\u0275fac=function(){let o;return function(c){return(o||(o=t.n5z(n)))(c||n)}}(),n.\u0275dir=t.lG2({type:n,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(e,c){2&e&&t.Ikx("type",c.type)},inputs:{type:"type"},features:[t.qOj]}),n})(),so=(()=>{class n extends zn{}return n.\u0275fac=function(){let o;return function(c){return(o||(o=t.n5z(n)))(c||n)}}(),n.\u0275dir=t.lG2({type:n,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(e,c){2&e&&t.Ikx("type",c.type)},inputs:{type:"type"},features:[t.qOj]}),n})(),mo=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.oAB({type:n}),n.\u0275inj=t.cJS({providers:[ao,M.rD],imports:[M.BQ,g.ez,ht.eL,Fn,A.Ps,M.si,M.BQ]}),n})();var go=l(87466),po=l(26385),fo=l(75911),_o=l(72246),bo=l(32778),ho=l(22939);let uo=(()=>{class n{constructor(e){this.http=e}post(e,c){return this.http.post(`${bt._}/system/${e}`,c)}get(e){return this.http.get(`${bt._}/system/${e}`)}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(R.eN))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var E;const xo=["stepper"],Co=["accessLevelGroup"];function Mo(n,o){1&n&&(t._uU(0),t.ALo(1,"transloco")),2&n&&t.hij(" ",t.lcZ(1,1,"services.controls.serviceType.label"),"")}function Oo(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"label",27)(1,"input",28),t.NdJ("input",function(){t.CHM(e),t.oxw();const a=t.MAs(2),i=t.oxw();return t.KtG(i.nextStep(a))}),t.qZA(),t.TgZ(2,"div",29),t._UZ(3,"span",30),t.TgZ(4,"div",31),t._UZ(5,"img",32),t.TgZ(6,"h4"),t._uU(7),t.qZA()()()()}if(2&n){const e=o.$implicit,c=t.oxw(2);t.xp6(1),t.Q6J("value",e.name),t.xp6(1),t.Tol(e.class),t.xp6(3),t.Q6J("src",c.getBackgroundImage(e.name),t.LSH)("alt",e.label),t.xp6(2),t.hij(" ",e.label," ")}}function Po(n,o){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"button",34),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(3);return t.KtG(a.openDialog())}),t._uU(2," Unlock Now "),t.qZA(),t.BQk()}}function vo(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"label",27)(1,"input",28),t.NdJ("input",function(){t.CHM(e),t.oxw();const a=t.MAs(2),i=t.oxw();return t.KtG(i.nextStep(a))}),t.qZA(),t.TgZ(2,"div",29),t._UZ(3,"span",30),t.TgZ(4,"div",31),t._UZ(5,"img",32),t.TgZ(6,"h4",33),t._uU(7),t.qZA()()(),t.YNc(8,Po,3,0,"ng-container",3),t.qZA()}if(2&n){const e=o.$implicit,c=t.oxw(2);t.xp6(1),t.Q6J("value",e.name),t.uIk("disabled",!0),t.xp6(1),t.Tol(e.class),t.xp6(3),t.Q6J("src",c.getBackgroundImage(e.name),t.LSH)("alt",e.label),t.xp6(2),t.hij(" ",e.label," "),t.xp6(1),t.Q6J("ngIf","not-included"===e.class)}}function yo(n,o){1&n&&t._uU(0,"Service Details")}function ko(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",35)(1,"mat-label"),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t._UZ(4,"input",36)(5,"fa-icon",10),t.ALo(6,"transloco"),t.qZA()),2&n){const e=t.oxw(2);t.xp6(2),t.Oqu(t.lcZ(3,3,"services.controls.namespace.label")),t.xp6(3),t.Q6J("icon",e.faCircleInfo)("matTooltip",t.lcZ(6,5,"services.controls.namespace.tooltip"))}}function wo(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",37)(1,"mat-label"),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t._UZ(4,"input",38)(5,"fa-icon",10),t.ALo(6,"transloco"),t.qZA()),2&n){const e=t.oxw(2);t.xp6(2),t.Oqu(t.lcZ(3,3,"services.controls.label.label")),t.xp6(3),t.Q6J("icon",e.faCircleInfo)("matTooltip",t.lcZ(6,5,"services.controls.label.tooltip"))}}function So(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",39)(1,"mat-label"),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t._UZ(4,"textarea",40)(5,"fa-icon",10),t.ALo(6,"transloco"),t.qZA()),2&n){const e=t.oxw(2);t.xp6(2),t.Oqu(t.lcZ(3,3,"services.controls.description.label")),t.xp6(3),t.Q6J("icon",e.faCircleInfo)("matTooltip",t.lcZ(6,5,"services.controls.description.tooltip"))}}function Do(n,o){1&n&&(t.TgZ(0,"mat-slide-toggle",41),t._uU(1),t.ALo(2,"transloco"),t.qZA()),2&n&&(t.xp6(1),t.Oqu(t.lcZ(2,1,"active")))}function To(n,o){1&n&&t._uU(0,"Service Options")}function Ao(n,o){if(1&n&&(t.ynx(0),t._UZ(1,"df-script-editor",45),t.BQk()),2&n){const e=t.oxw(5);t.xp6(1),t.Q6J("type",e.getControl("type"))("storageServiceId",e.getConfigControl("storageServiceId"))("storagePath",e.getConfigControl("storagePath"))("content",e.getConfigControl("content"))("cache",e.serviceData?e.serviceData.name:"")}}function Io(n,o){if(1&n&&(t.ynx(0),t.YNc(1,Ao,2,5,"ng-container",3),t.BQk()),2&n){const e=t.oxw(4);t.xp6(1),t.Q6J("ngIf",e.getConfigControl("storageServiceId"))}}const it=function(){return["file_certificate","file_certificate_api"]};function Zo(n,o){if(1&n&&t._UZ(0,"df-dynamic-field",48),2&n){const e=t.oxw(2).$implicit,c=t.oxw(3);t.ekj("dynamic-width",-1===t.DdM(6,it).indexOf(e.type))("full-width",-1!==t.DdM(7,it).indexOf(e.type)),t.Q6J("schema",e)("formControl",c.getConfigControl(e.name))}}function zo(n,o){if(1&n&&t._UZ(0,"df-array-field",49),2&n){const e=t.oxw(2).$implicit,c=t.oxw(3);t.Q6J("schema",e)("formControl",c.getConfigControl(e.name))}}const $t=function(){return["integer","password","string","text","picklist","multi_picklist","boolean","file_certificate","file_certificate_api"]};function Fo(n,o){if(1&n&&(t.YNc(0,Zo,1,8,"df-dynamic-field",46),t.YNc(1,zo,1,2,"df-array-field",47)),2&n){const e=t.oxw().$implicit;t.Q6J("ngIf",t.DdM(2,$t).includes(e.type)),t.xp6(1),t.Q6J("ngIf","array"===e.type||"object"===e.type)}}function No(n,o){if(1&n&&(t.ynx(0),t.YNc(1,Io,2,1,"ng-container",1),t.YNc(2,Fo,2,3,"ng-template",null,44,t.W1O),t.BQk()),2&n){const e=o.$implicit,c=t.MAs(3);t.xp6(1),t.Q6J("ngIf","text"===e.type&&"content"===e.name)("ngIfElse",c)}}function Uo(n,o){if(1&n&&(t.ynx(0)(1,42),t.TgZ(2,"mat-accordion",14)(3,"div",8),t.YNc(4,No,4,2,"ng-container",43),t.qZA()(),t.BQk()()),2&n){const e=t.oxw(2);t.xp6(4),t.Q6J("ngForOf",e.viewSchema)}}function Qo(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",50)(1,"button",51),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.goBack())}),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t.TgZ(4,"div",52)(5,"button",53),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.goToSecurityConfig())}),t._uU(6),t.ALo(7,"transloco"),t.qZA(),t.TgZ(8,"button",54),t._uU(9),t.ALo(10,"transloco"),t.qZA()()()}if(2&n){const e=t.oxw(2);t.xp6(2),t.hij(" ",t.lcZ(3,4,"cancel")," "),t.xp6(3),t.Q6J("disabled",!e.serviceForm.valid),t.xp6(1),t.hij(" ",t.lcZ(7,6,"services.controls.securityConfig")," "),t.xp6(3),t.hij(" ",t.lcZ(10,8,"services.controls.createAndTest")," ")}}function Jo(n,o){1&n&&t._uU(0,"Security Configuration")}function Lo(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",63)(1,"h3"),t._uU(2,"Security Configuration"),t.qZA(),t.TgZ(3,"div",64)(4,"div",65)(5,"mat-button-toggle-group",66,67),t.NdJ("change",function(a){t.CHM(e);const i=t.oxw(3);return t.KtG(i.onAccessLevelSelect(a.value))}),t.TgZ(7,"mat-button-toggle",68)(8,"div",69)(9,"div",70)(10,"h4"),t._uU(11,"Read Only"),t.qZA(),t.TgZ(12,"p"),t._uU(13,"View access to data"),t.qZA()()()(),t.TgZ(14,"mat-button-toggle",71)(15,"div",69)(16,"div",70)(17,"h4"),t._uU(18,"Read & Write"),t.qZA(),t.TgZ(19,"p"),t._uU(20,"View and modify data"),t.qZA()()()(),t.TgZ(21,"mat-button-toggle",72)(22,"div",69)(23,"div",70)(24,"h4"),t._uU(25,"Full Access"),t.qZA(),t.TgZ(26,"p"),t._uU(27,"Complete control over data"),t.qZA()()()()()()()()}if(2&n){const e=t.oxw(3);t.xp6(5),t.Q6J("value",e.selectedAccessLevel)}}function Eo(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",8)(1,"h3"),t._uU(2,"Security Configuration"),t.qZA(),t.TgZ(3,"div",55)(4,"div",56)(5,"p"),t._uU(6," For more granular security options over your API check out the "),t.TgZ(7,"a",57),t.NdJ("click",function(a){t.CHM(e);const i=t.oxw(2);return t.KtG(i.navigateToRoles(a))}),t._uU(8,"Role Based Access"),t.qZA(),t._uU(9," tab "),t.qZA()(),t.TgZ(10,"div",58)(11,"mat-card",59),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.selectAccessType("all"))}),t.TgZ(12,"mat-card-content")(13,"h4"),t._uU(14,"Full Access"),t.qZA(),t.TgZ(15,"p"),t._uU(16,"Grant complete access to all database components"),t.qZA()(),t._UZ(17,"div",60),t.qZA(),t.TgZ(18,"mat-card",59),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.selectAccessType("schema"))}),t.TgZ(19,"mat-card-content")(20,"h4"),t._uU(21,"Schema Access"),t.qZA(),t.TgZ(22,"p"),t._uU(23,"Configure access to specific database schemas"),t.qZA()(),t._UZ(24,"div",60),t.qZA(),t.TgZ(25,"mat-card",59),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.selectAccessType("tables"))}),t.TgZ(26,"mat-card-content")(27,"h4"),t._uU(28,"Tables Access"),t.qZA(),t.TgZ(29,"p"),t._uU(30,"Manage access to individual database tables"),t.qZA()(),t._UZ(31,"div",60),t.qZA(),t.TgZ(32,"mat-card",59),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.selectAccessType("procedures"))}),t.TgZ(33,"mat-card-content")(34,"h4"),t._uU(35,"Stored Procedures"),t.qZA(),t.TgZ(36,"p"),t._uU(37,"Control access to stored procedures"),t.qZA()(),t._UZ(38,"div",60),t.qZA(),t.TgZ(39,"mat-card",59),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.selectAccessType("functions"))}),t.TgZ(40,"mat-card-content")(41,"h4"),t._uU(42,"Functions"),t.qZA(),t.TgZ(43,"p"),t._uU(44,"Set access levels for database functions"),t.qZA()(),t._UZ(45,"div",60),t.qZA()(),t.YNc(46,Lo,28,1,"div",61),t.qZA(),t.TgZ(47,"div",20)(48,"button",22),t._uU(49," Back "),t.qZA(),t.TgZ(50,"button",62),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.saveSecurityConfig())}),t._uU(51," Apply Security Configuration "),t.qZA()()()}if(2&n){const e=t.oxw(2);t.xp6(11),t.ekj("selected","all"===e.selectedAccessType),t.xp6(7),t.ekj("selected","schema"===e.selectedAccessType),t.xp6(7),t.ekj("selected","tables"===e.selectedAccessType),t.xp6(7),t.ekj("selected","procedures"===e.selectedAccessType),t.xp6(7),t.ekj("selected","functions"===e.selectedAccessType),t.xp6(7),t.Q6J("ngIf",e.selectedAccessType&&"all"!==e.selectedAccessType),t.xp6(4),t.Q6J("disabled",!e.isSecurityConfigValid())}}function qo(n,o){1&n&&(t.TgZ(0,"div",8)(1,"p"),t._uU(2,' Please complete the previous steps and click "Security Config" to configure security settings. '),t.qZA(),t.TgZ(3,"div",20)(4,"div")(5,"button",22),t._uU(6," Back "),t.qZA()()()())}function Yo(n,o){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"1"),t.qZA())}function Ro(n,o){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"2"),t.qZA())}function Bo(n,o){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"3"),t.qZA())}function Ho(n,o){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"4"),t.qZA())}function Go(n,o){1&n&&(t.ynx(0,73),t.YNc(1,Yo,2,0,"mat-icon",74),t.YNc(2,Ro,2,0,"mat-icon",74),t.YNc(3,Bo,2,0,"mat-icon",74),t.YNc(4,Ho,2,0,"mat-icon",74),t.BQk()),2&n&&(t.Q6J("ngSwitch",o.index),t.xp6(1),t.Q6J("ngSwitchCase",0),t.xp6(1),t.Q6J("ngSwitchCase",1),t.xp6(1),t.Q6J("ngSwitchCase",2),t.xp6(1),t.Q6J("ngSwitchCase",3))}function $o(n,o){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"1"),t.qZA())}function jo(n,o){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"2"),t.qZA())}function Vo(n,o){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"3"),t.qZA())}function Ko(n,o){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"4"),t.qZA())}function Wo(n,o){1&n&&(t.ynx(0,73),t.YNc(1,$o,2,0,"mat-icon",74),t.YNc(2,jo,2,0,"mat-icon",74),t.YNc(3,Vo,2,0,"mat-icon",74),t.YNc(4,Ko,2,0,"mat-icon",74),t.BQk()),2&n&&(t.Q6J("ngSwitch",o.index),t.xp6(1),t.Q6J("ngSwitchCase",0),t.xp6(1),t.Q6J("ngSwitchCase",1),t.xp6(1),t.Q6J("ngSwitchCase",2),t.xp6(1),t.Q6J("ngSwitchCase",3))}const jt=function(){return{standalone:!0}};function Xo(n,o){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"mat-stepper",4,5)(3,"mat-step",6),t.YNc(4,Mo,2,3,"ng-template",7),t.TgZ(5,"div",8)(6,"div",9)(7,"h3"),t._uU(8),t.ALo(9,"transloco"),t._UZ(10,"fa-icon",10),t.ALo(11,"transloco"),t.qZA(),t.TgZ(12,"div")(13,"button",11),t._uU(14," Next "),t.qZA()()(),t.TgZ(15,"mat-form-field",12)(16,"mat-label"),t._uU(17,"Search service types..."),t.qZA(),t.TgZ(18,"input",13),t.NdJ("ngModelChange",function(a){t.CHM(e);const i=t.oxw();return t.KtG(i.search=a)}),t.qZA()(),t.TgZ(19,"div",14)(20,"div",15),t.YNc(21,Oo,8,6,"label",16),t.YNc(22,vo,9,8,"label",16),t.qZA()(),t.TgZ(23,"div")(24,"button",11),t._uU(25," Next "),t.qZA()()()(),t.TgZ(26,"mat-step"),t.YNc(27,yo,1,0,"ng-template",7),t._UZ(28,"br"),t.TgZ(29,"div",8),t.YNc(30,ko,7,7,"mat-form-field",17),t.YNc(31,wo,7,7,"mat-form-field",18),t.YNc(32,So,7,7,"mat-form-field",19),t.TgZ(33,"div",20),t.YNc(34,Do,3,3,"mat-slide-toggle",21),t.TgZ(35,"div")(36,"button",22),t._uU(37," Back "),t.qZA(),t.TgZ(38,"button",11),t._uU(39," Next "),t.qZA()(),t._UZ(40,"div"),t.qZA()()(),t.TgZ(41,"mat-step"),t.YNc(42,To,1,0,"ng-template",7),t._UZ(43,"br"),t.YNc(44,Uo,5,1,"ng-container",3),t.YNc(45,Qo,11,10,"div",23),t.qZA(),t.TgZ(46,"mat-step"),t.YNc(47,Jo,1,0,"ng-template",7),t.YNc(48,Eo,52,12,"div",24),t.YNc(49,qo,7,0,"div",24),t.qZA(),t.YNc(50,Go,5,5,"ng-template",25),t.YNc(51,Wo,5,5,"ng-template",26),t.qZA(),t.BQk()}if(2&n){const e=t.oxw();let c,a,i;t.xp6(3),t.Q6J("editable",!0),t.xp6(5),t.hij(" Search for your ",t.lcZ(9,19,"services.controls.serviceType.label")," to get started "),t.xp6(2),t.Q6J("icon",e.faCircleInfo)("matTooltip",t.lcZ(11,21,"services.controls.serviceType.tooltip")),t.xp6(3),t.Q6J("disabled",""===(null==(c=e.serviceForm.get("type"))?null:c.value)),t.xp6(5),t.Q6J("ngModel",e.search)("ngModelOptions",t.DdM(23,jt)),t.xp6(3),t.Q6J("ngForOf",e.filteredServiceTypes),t.xp6(1),t.Q6J("ngForOf",e.notIncludedServices),t.xp6(2),t.Q6J("disabled",""===(null==(a=e.serviceForm.get("type"))?null:a.value)),t.xp6(6),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(1),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(1),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(2),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(4),t.Q6J("disabled",""===(null==(i=e.serviceForm.get("type"))?null:i.value)&&""===(null==(i=e.serviceForm.get("description"))?null:i.value)),t.xp6(6),t.Q6J("ngIf",e.viewSchema&&!e.subscriptionRequired),t.xp6(1),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(3),t.Q6J("ngIf",e.showSecurityConfig),t.xp6(1),t.Q6J("ngIf",!e.showSecurityConfig)}}function tc(n,o){if(1&n&&(t.TgZ(0,"mat-option",80),t._uU(1),t.qZA()),2&n){const e=o.$implicit;t.Q6J("value",e.name),t.xp6(1),t.hij(" ",e.label," ")}}function ec(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",35)(1,"mat-label"),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t._UZ(4,"input",36)(5,"fa-icon",10),t.ALo(6,"transloco"),t.qZA()),2&n){const e=t.oxw(2);t.xp6(2),t.Oqu(t.lcZ(3,3,"services.controls.namespace.label")),t.xp6(3),t.Q6J("icon",e.faCircleInfo)("matTooltip",t.lcZ(6,5,"services.controls.namespace.tooltip"))}}function nc(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",81)(1,"mat-label"),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t._UZ(4,"input",38)(5,"fa-icon",10),t.ALo(6,"transloco"),t.qZA()),2&n){const e=t.oxw(2);t.xp6(2),t.Oqu(t.lcZ(3,3,"services.controls.label.label")),t.xp6(3),t.Q6J("icon",e.faCircleInfo)("matTooltip",t.lcZ(6,5,"services.controls.label.tooltip"))}}function oc(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",81)(1,"mat-label"),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t._UZ(4,"textarea",40)(5,"fa-icon",10),t.ALo(6,"transloco"),t.qZA()),2&n){const e=t.oxw(2);t.xp6(2),t.Oqu(t.lcZ(3,3,"services.controls.description.label")),t.xp6(3),t.Q6J("icon",e.faCircleInfo)("matTooltip",t.lcZ(6,5,"services.controls.description.tooltip"))}}function cc(n,o){1&n&&(t.TgZ(0,"mat-slide-toggle",82)(1,"span"),t._uU(2),t.ALo(3,"transloco"),t.qZA()()),2&n&&(t.xp6(2),t.Oqu(t.lcZ(3,1,"active")))}function ac(n,o){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"button",84),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(3);return t.KtG(a.gotoSchema())}),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t.BQk()}2&n&&(t.xp6(2),t.hij(" ",t.lcZ(3,1,"schema")," "))}function ic(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"button",84),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(3);return t.KtG(a.gotoAPIDocs())}),t._uU(1),t.ALo(2,"transloco"),t.qZA()}2&n&&(t.xp6(1),t.hij(" ",t.lcZ(2,1,"apiDocs")," "))}function rc(n,o){if(1&n&&(t.ynx(0),t.YNc(1,ac,4,3,"ng-container",1),t.YNc(2,ic,3,3,"ng-template",null,83,t.W1O),t.BQk()),2&n){const e=t.MAs(3),c=t.oxw(2);t.xp6(1),t.Q6J("ngIf",c.isDatabase)("ngIfElse",e)}}function lc(n,o){if(1&n&&(t.ynx(0),t._UZ(1,"df-script-editor",86),t.BQk()),2&n){const e=t.oxw(4);t.xp6(1),t.Q6J("isScript",e.isScriptService)("type",e.getControl("type"))("storageServiceId",e.getConfigControl("storageServiceId"))("storagePath",e.getConfigControl("storagePath"))("content",e.getConfigControl("serviceDefinition"))("cache",e.serviceData?e.serviceData.name:"")}}function dc(n,o){if(1&n&&(t.ynx(0),t.YNc(1,lc,2,6,"ng-container",3),t.BQk()),2&n){const e=t.oxw(3);t.xp6(1),t.Q6J("ngIf",e.getConfigControl("storageServiceId"))}}function sc(n,o){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"mat-button-toggle-group",87),t.NdJ("ngModelChange",function(a){t.CHM(e);const i=t.oxw(4);return t.KtG(i.serviceDefinitionType=a)})("change",function(){t.CHM(e);const a=t.oxw(4);return t.KtG(a.onServiceDefinitionTypeChange(a.serviceDefinitionType))}),t.TgZ(2,"mat-button-toggle",88),t._uU(3,"JSON"),t.qZA(),t.TgZ(4,"mat-button-toggle",89),t._uU(5,"YAML"),t.qZA()(),t.BQk()}if(2&n){const e=t.oxw(4);t.xp6(1),t.Q6J("ngModel",e.serviceDefinitionType)("ngModelOptions",t.DdM(2,jt))}}function mc(n,o){if(1&n&&(t.ynx(0),t._UZ(1,"df-file-github",90),t.BQk()),2&n){const e=t.oxw(4);t.xp6(1),t.Q6J("type",e.getControl("type"))("content",e.getConfigControl("content"))("contentText",e.content)}}function gc(n,o){if(1&n&&(t.ynx(0),t.YNc(1,sc,6,3,"ng-container",3),t.TgZ(2,"mat-label",14),t._uU(3,"Service Definition"),t.qZA(),t.YNc(4,mc,2,3,"ng-container",3),t.BQk()),2&n){const e=t.oxw(3);t.xp6(1),t.Q6J("ngIf","soap"!==e.serviceForm.getRawValue().type),t.xp6(3),t.Q6J("ngIf","rws"===e.serviceForm.getRawValue().type)}}function pc(n,o){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"div",91)(2,"input",92,93),t.NdJ("change",function(a){t.CHM(e);const i=t.oxw(3);return t.KtG(i.excelUpload(a))}),t.qZA(),t.TgZ(4,"button",84),t.NdJ("click",function(){t.CHM(e);const a=t.MAs(3);return t.KtG(a.click())}),t._uU(5," Upload Excel "),t.qZA()(),t._UZ(6,"df-ace-editor",94),t.BQk()}if(2&n){const e=t.oxw(3);t.xp6(6),t.Q6J("formControl",e.getConfigControl("excelContent"))("mode",e.serviceForm.getRawValue().type)}}function fc(n,o){if(1&n&&(t.ynx(0),t._UZ(1,"df-script-editor",45),t.BQk()),2&n){const e=t.oxw(5);t.xp6(1),t.Q6J("type",e.getControl("type"))("storageServiceId",e.getConfigControl("storageServiceId"))("storagePath",e.getConfigControl("storagePath"))("content",e.getServiceDocByServiceIdControl("content"))("cache",e.serviceData?e.serviceData.name:"")}}function _c(n,o){if(1&n&&(t.ynx(0),t.YNc(1,fc,2,5,"ng-container",3),t.BQk()),2&n){const e=t.oxw(4);t.xp6(1),t.Q6J("ngIf",e.getConfigControl("storageServiceId"))}}function bc(n,o){if(1&n&&t._UZ(0,"df-dynamic-field",96),2&n){const e=t.oxw(2).$implicit,c=t.oxw(3);t.ekj("dynamic-width",-1===t.DdM(6,it).indexOf(e.type))("full-width",-1!==t.DdM(7,it).indexOf(e.type)),t.Q6J("schema",e)("formControl",c.getConfigControl(e.name))}}function hc(n,o){if(1&n&&t._UZ(0,"df-array-field",49),2&n){const e=t.oxw(2).$implicit,c=t.oxw(3);t.Q6J("schema",e)("formControl",c.getConfigControl(e.name))}}function uc(n,o){if(1&n&&(t.YNc(0,bc,1,8,"df-dynamic-field",95),t.YNc(1,hc,1,2,"df-array-field",47)),2&n){const e=t.oxw().$implicit;t.Q6J("ngIf",t.DdM(2,$t).includes(e.type)),t.xp6(1),t.Q6J("ngIf","array"===e.type||"object"===e.type)}}function xc(n,o){if(1&n&&(t.ynx(0),t.YNc(1,_c,2,1,"ng-container",1),t.YNc(2,uc,2,3,"ng-template",null,44,t.W1O),t.BQk()),2&n){const e=o.$implicit,c=t.MAs(3);t.xp6(1),t.Q6J("ngIf","text"===e.type&&"content"===e.name)("ngIfElse",c)}}function Cc(n,o){if(1&n&&(t.ynx(0)(1,42),t.YNc(2,dc,2,1,"ng-container",3),t.TgZ(3,"mat-accordion",14)(4,"mat-expansion-panel",85)(5,"mat-expansion-panel-header"),t._uU(6),t.ALo(7,"transloco"),t.qZA(),t.TgZ(8,"div",8),t.YNc(9,gc,5,2,"ng-container",3),t.YNc(10,pc,7,2,"ng-container",3),t.YNc(11,xc,4,2,"ng-container",43),t.qZA()()(),t.BQk()()),2&n){const e=t.oxw(2);t.xp6(2),t.Q6J("ngIf",e.isNetworkService||e.isScriptService),t.xp6(2),t.Q6J("expanded",e.serviceForm.getRawValue().type),t.xp6(2),t.hij("",t.lcZ(7,6,"services.options")," "),t.xp6(3),t.Q6J("ngIf",e.isNetworkService||e.isScriptService),t.xp6(1),t.Q6J("ngIf",e.isFile&&"local_file"===e.serviceForm.getRawValue().type),t.xp6(1),t.Q6J("ngForOf",e.viewSchema)}}function Mc(n,o){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"button",97),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(3);return t.KtG(a.save(!0,!1))}),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t.TgZ(4,"button",97),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(3);return t.KtG(a.save(!0,!0))}),t._uU(5),t.ALo(6,"transloco"),t.qZA(),t.BQk()}2&n&&(t.xp6(1),t.Q6J("value",!0),t.xp6(1),t.hij(" ",t.lcZ(3,4,"saveAndClear")," "),t.xp6(2),t.Q6J("value",!0),t.xp6(1),t.hij(" ",t.lcZ(6,6,"saveAndContinue")," "))}function Oc(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",50)(1,"button",51),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.goBack())}),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t.YNc(4,Mc,7,8,"ng-container",3),t.TgZ(5,"button",54),t._uU(6),t.ALo(7,"transloco"),t.qZA()()}if(2&n){const e=t.oxw(2);t.xp6(2),t.hij(" ",t.lcZ(3,3,"cancel")," "),t.xp6(2),t.Q6J("ngIf",e.edit),t.xp6(2),t.hij(" ",t.lcZ(7,5,"save")," ")}}function Pc(n,o){if(1&n&&(t.TgZ(0,"mat-form-field",35)(1,"mat-label"),t._uU(2),t.ALo(3,"transloco"),t.qZA(),t.TgZ(4,"mat-select",75),t.YNc(5,tc,2,2,"mat-option",76),t.qZA(),t._UZ(6,"fa-icon",10),t.ALo(7,"transloco"),t.qZA(),t.YNc(8,ec,7,7,"mat-form-field",17),t.YNc(9,nc,7,7,"mat-form-field",77),t.YNc(10,oc,7,7,"mat-form-field",78),t.YNc(11,cc,4,3,"mat-slide-toggle",79),t.TgZ(12,"div",14),t.YNc(13,rc,4,2,"ng-container",3),t.qZA(),t.YNc(14,Cc,12,8,"ng-container",3),t.YNc(15,Oc,8,7,"div",23)),2&n){const e=t.oxw();t.xp6(2),t.Oqu(t.lcZ(3,11,"services.controls.serviceType.label")),t.xp6(3),t.Q6J("ngForOf",e.serviceTypes),t.xp6(1),t.Q6J("icon",e.faCircleInfo)("matTooltip",t.lcZ(7,13,"services.controls.serviceType.tooltip")),t.xp6(2),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(1),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(1),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(1),t.Q6J("ngIf",!e.subscriptionRequired),t.xp6(2),t.Q6J("ngIf",e.edit),t.xp6(1),t.Q6J("ngIf",e.viewSchema&&!e.subscriptionRequired),t.xp6(1),t.Q6J("ngIf",!e.subscriptionRequired)}}function vc(n,o){1&n&&t._UZ(0,"df-paywall")}const yc=["calendlyWidget"],Vt=".mat-ripple[_ngcontent-%COMP%]{overflow:hidden;position:relative}.mat-ripple[_ngcontent-%COMP%]:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded[_ngcontent-%COMP%]{overflow:visible}.mat-ripple-element[_ngcontent-%COMP%]{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active[_ngcontent-%COMP%] .mat-ripple-element[_ngcontent-%COMP%]{display:none}.cdk-visually-hidden[_ngcontent-%COMP%]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl][_ngcontent-%COMP%] .cdk-visually-hidden[_ngcontent-%COMP%]{left:auto;right:0}.cdk-overlay-container[_ngcontent-%COMP%], .cdk-global-overlay-wrapper[_ngcontent-%COMP%]{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container[_ngcontent-%COMP%]{position:fixed;z-index:1000}.cdk-overlay-container[_ngcontent-%COMP%]:empty{display:none}.cdk-global-overlay-wrapper[_ngcontent-%COMP%]{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane[_ngcontent-%COMP%]{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing[_ngcontent-%COMP%]{opacity:1}.cdk-high-contrast-active[_ngcontent-%COMP%] .cdk-overlay-backdrop.cdk-overlay-backdrop-showing[_ngcontent-%COMP%]{opacity:.6}.cdk-overlay-dark-backdrop[_ngcontent-%COMP%]{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop[_ngcontent-%COMP%]{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing[_ngcontent-%COMP%]{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation[_ngcontent-%COMP%]{transition:none}.cdk-overlay-connected-position-bounding-box[_ngcontent-%COMP%]{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock[_ngcontent-%COMP%]{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize[_ngcontent-%COMP%]{resize:none}textarea.cdk-textarea-autosize-measuring[_ngcontent-%COMP%]{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox[_ngcontent-%COMP%]{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes _ngcontent-%COMP%_cdk-text-field-autofill-start{}@keyframes _ngcontent-%COMP%_cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored[_ngcontent-%COMP%]:-webkit-autofill{animation:_ngcontent-%COMP%_cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored[_ngcontent-%COMP%]:not(:-webkit-autofill){animation:_ngcontent-%COMP%_cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator[_ngcontent-%COMP%]{position:relative}.mat-focus-indicator[_ngcontent-%COMP%]:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator[_ngcontent-%COMP%]:focus:before{content:\"\"}.cdk-high-contrast-active[_ngcontent-%COMP%]{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator[_ngcontent-%COMP%]{position:relative}.mat-mdc-focus-indicator[_ngcontent-%COMP%]:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator[_ngcontent-%COMP%]:focus:before{content:\"\"}.cdk-high-contrast-active[_ngcontent-%COMP%]{--mat-mdc-focus-indicator-display: block}@font-face{font-family:Inter;src:url(Inter-VariableFont_slnt,wght.1cccc37b0c8d2802.ttf)}.mat-ripple-element[_ngcontent-%COMP%]{background-color:#0000001a}html[_ngcontent-%COMP%]{--mat-option-selected-state-label-text-color: #0f0761;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}.mat-accent[_ngcontent-%COMP%]{--mat-option-selected-state-label-text-color: #dd7345}.mat-warn[_ngcontent-%COMP%]{--mat-option-selected-state-label-text-color: #f44336}html[_ngcontent-%COMP%]{--mat-optgroup-label-text-color: rgba(0, 0, 0, .87)}.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{color:#0000008a}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled[_ngcontent-%COMP%]{color:#b0b0b0}.mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#0f0761}.mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#0f0761}.mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after, .mat-primary[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after{color:#fafafa}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#dd7345}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#dd7345}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after, .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after{color:#fafafa}.mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#dd7345}.mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#dd7345}.mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after, .mat-accent[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after{color:#fafafa}.mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#f44336}.mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#f44336}.mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after, .mat-warn[_ngcontent-%COMP%] .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]:after{color:#fafafa}.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after, .mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal[_ngcontent-%COMP%]:after{color:#b0b0b0}.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full[_ngcontent-%COMP%], .mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full[_ngcontent-%COMP%]{background:#b0b0b0}.mat-app-background[_ngcontent-%COMP%]{background-color:#fafafa;color:#000000de}.mat-elevation-z0[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z0[_ngcontent-%COMP%]{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z1[_ngcontent-%COMP%]{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z2[_ngcontent-%COMP%]{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z3[_ngcontent-%COMP%]{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z4[_ngcontent-%COMP%]{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z5[_ngcontent-%COMP%]{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z6[_ngcontent-%COMP%]{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z7[_ngcontent-%COMP%]{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z8[_ngcontent-%COMP%]{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z9[_ngcontent-%COMP%]{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z10[_ngcontent-%COMP%]{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z11[_ngcontent-%COMP%]{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z12[_ngcontent-%COMP%]{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z13[_ngcontent-%COMP%]{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z14[_ngcontent-%COMP%]{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z15[_ngcontent-%COMP%]{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z16[_ngcontent-%COMP%]{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z17[_ngcontent-%COMP%]{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z18[_ngcontent-%COMP%]{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z19[_ngcontent-%COMP%]{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z20[_ngcontent-%COMP%]{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z21[_ngcontent-%COMP%]{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z22[_ngcontent-%COMP%]{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z23[_ngcontent-%COMP%]{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z24[_ngcontent-%COMP%]{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker[_ngcontent-%COMP%]{display:none}html[_ngcontent-%COMP%]{--mat-option-label-text-font: Inter;--mat-option-label-text-line-height: 24px;--mat-option-label-text-size: 16px;--mat-option-label-text-tracking: .03125em;--mat-option-label-text-weight: 400}html[_ngcontent-%COMP%]{--mat-optgroup-label-text-font: Inter;--mat-optgroup-label-text-line-height: 24px;--mat-optgroup-label-text-size: 16px;--mat-optgroup-label-text-tracking: .03125em;--mat-optgroup-label-text-weight: 400}.mat-mdc-card[_ngcontent-%COMP%]{--mdc-elevated-card-container-color: white;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-color: white;--mdc-outlined-card-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-subtitle-text-color: rgba(0, 0, 0, .54)}.mat-mdc-card[_ngcontent-%COMP%]{--mat-card-title-text-font: Inter;--mat-card-title-text-line-height: 32px;--mat-card-title-text-size: 20px;--mat-card-title-text-tracking: .0125em;--mat-card-title-text-weight: 500;--mat-card-subtitle-text-font: Inter;--mat-card-subtitle-text-line-height: 22px;--mat-card-subtitle-text-size: 14px;--mat-card-subtitle-text-tracking: .0071428571em;--mat-card-subtitle-text-weight: 500}.mat-mdc-progress-bar[_ngcontent-%COMP%]{--mdc-linear-progress-active-indicator-color: #0f0761;--mdc-linear-progress-track-color: rgba(15, 7, 97, .25)}.mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:#0f076140;background-color:var(--mdc-linear-progress-track-color, rgba(15, 7, 97, .25))}@media (forced-colors: active){.mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:transparent;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(15, 7, 97, 0.25)'/%3E%3C/svg%3E\")}}.mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-bar[_ngcontent-%COMP%]{background-color:#0f076140;background-color:var(--mdc-linear-progress-track-color, rgba(15, 7, 97, .25))}.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%]{--mdc-linear-progress-active-indicator-color: #dd7345;--mdc-linear-progress-track-color: rgba(221, 115, 69, .25)}.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:#dd734540;background-color:var(--mdc-linear-progress-track-color, rgba(221, 115, 69, .25))}@media (forced-colors: active){.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:transparent;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(221, 115, 69, 0.25)'/%3E%3C/svg%3E\")}}.mat-mdc-progress-bar.mat-accent[_ngcontent-%COMP%] .mdc-linear-progress__buffer-bar[_ngcontent-%COMP%]{background-color:#dd734540;background-color:var(--mdc-linear-progress-track-color, rgba(221, 115, 69, .25))}.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%]{--mdc-linear-progress-active-indicator-color: #f44336;--mdc-linear-progress-track-color: rgba(244, 67, 54, .25)}@keyframes _ngcontent-%COMP%_mdc-linear-progress-buffering{}.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:#f4433640;background-color:var(--mdc-linear-progress-track-color, rgba(244, 67, 54, .25))}@media (forced-colors: active){.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%] .mdc-linear-progress__buffer-dots[_ngcontent-%COMP%]{background-color:transparent;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(244, 67, 54, 0.25)'/%3E%3C/svg%3E\")}}.mat-mdc-progress-bar.mat-warn[_ngcontent-%COMP%] .mdc-linear-progress__buffer-bar[_ngcontent-%COMP%]{background-color:#f4433640;background-color:var(--mdc-linear-progress-track-color, rgba(244, 67, 54, .25))}.mat-mdc-tooltip[_ngcontent-%COMP%]{--mdc-plain-tooltip-container-color: #616161;--mdc-plain-tooltip-supporting-text-color: #fff}.mat-mdc-tooltip[_ngcontent-%COMP%]{--mdc-plain-tooltip-supporting-text-font: Inter;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .0333333333em}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:#0009}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__input[_ngcontent-%COMP%]{color:#000000de}@media all{.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__input[_ngcontent-%COMP%]::placeholder{color:#0009}}@media all{.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__input[_ngcontent-%COMP%]:-ms-input-placeholder{color:#0009}}.mdc-text-field[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-primary, #0f0761)}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text[_ngcontent-%COMP%]{color:#0009}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field-character-counter[_ngcontent-%COMP%], .mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%]{color:#0009}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--leading[_ngcontent-%COMP%]{color:#0000008a}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:#0000008a}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__affix--prefix[_ngcontent-%COMP%]{color:#0009}.mdc-text-field[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix[_ngcontent-%COMP%]{color:#0009}.mdc-text-field--filled[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:before, .mdc-text-field--filled[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:after{background-color:var(--mdc-ripple-color, rgba(0, 0, 0, .87))}.mdc-text-field--filled[_ngcontent-%COMP%]:hover .mdc-text-field__ripple[_ngcontent-%COMP%]:before, .mdc-text-field--filled.mdc-ripple-surface--hover[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:before{opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-text-field--filled.mdc-ripple-upgraded--background-focused[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:before, .mdc-text-field--filled[_ngcontent-%COMP%]:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple[_ngcontent-%COMP%]:before{opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-text-field--filled[_ngcontent-%COMP%]:not(.mdc-text-field--disabled){background-color:#f5f5f5}.mdc-text-field--filled[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:#0000006b}.mdc-text-field--filled[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):hover .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:#000000de}.mdc-text-field--filled[_ngcontent-%COMP%] .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-primary, #0f0761)}.mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:#00000061}.mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:#000000de}.mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-primary, #0f0761)}.mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:before, .mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-text-field__ripple[_ngcontent-%COMP%]:after{background-color:var(--mdc-ripple-color, transparent)}.mdc-text-field--focused[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:#0f0761de}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):hover .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text--validation-msg[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{color:#00000061}@media all{.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]::placeholder{color:#00000061}}@media all{.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]:-ms-input-placeholder{color:#00000061}}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-floating-label[_ngcontent-%COMP%]{color:#00000061}.mdc-text-field--disabled[_ngcontent-%COMP%] + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text[_ngcontent-%COMP%]{color:#00000061}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%]{color:#00000061}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__icon--leading[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:#0000004d}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__affix--prefix[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__affix--suffix[_ngcontent-%COMP%]{color:#00000061}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:#0000000f}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:#0000000f}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]::placeholder{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]:-ms-input-placeholder{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-floating-label[_ngcontent-%COMP%]{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text[_ngcontent-%COMP%]{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-character-counter[_ngcontent-%COMP%]{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__icon--leading[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__icon--trailing[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__affix--prefix[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-text-field__affix--suffix[_ngcontent-%COMP%]{color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:GrayText}.mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-text-field--disabled[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:GrayText}}.mdc-text-field--disabled.mdc-text-field--filled[_ngcontent-%COMP%]{background-color:#fafafa}.mat-mdc-form-field-error[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field-focus-overlay[_ngcontent-%COMP%]{background-color:#000000de}.mat-mdc-form-field[_ngcontent-%COMP%]:hover .mat-mdc-form-field-focus-overlay[_ngcontent-%COMP%]{opacity:.04}.mat-mdc-form-field.mat-focused[_ngcontent-%COMP%] .mat-mdc-form-field-focus-overlay[_ngcontent-%COMP%]{opacity:.12}.mat-mdc-form-field-type-mat-native-select[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#0000008a}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-primary[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#0f0761de}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-accent[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#dd7345de}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-warn[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#f44336de}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]:after{color:#00000061}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-secondary, #dd7345)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-secondary, #dd7345)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--focused[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:#dd7345de}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):hover .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text--validation-msg[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-secondary, #dd7345)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--focused[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:#f44336de}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):hover .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:after{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-floating-label[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-line[_ngcontent-%COMP%] .mdc-text-field-helper-text--validation-msg[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{caret-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing[_ngcontent-%COMP%]{color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-line-ripple[_ngcontent-%COMP%]:before{border-bottom-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline[_ngcontent-%COMP%] .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--invalid[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch[_ngcontent-%COMP%], .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%]:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:var(--mdc-theme-error, #f44336)}.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%]{border-left:1px solid transparent}[dir=rtl][_ngcontent-%COMP%] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field[_ngcontent-%COMP%] .mdc-notched-outline__notch[_ngcontent-%COMP%]{border-left:none;border-right:1px solid transparent}.mat-mdc-form-field-infix[_ngcontent-%COMP%]{min-height:56px}.mat-mdc-text-field-wrapper[_ngcontent-%COMP%] .mat-mdc-form-field-flex[_ngcontent-%COMP%] .mat-mdc-floating-label[_ngcontent-%COMP%]{top:28px}.mat-mdc-text-field-wrapper.mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-notched-outline--upgraded[_ngcontent-%COMP%] .mdc-floating-label--float-above[_ngcontent-%COMP%]{--mat-mdc-form-field-label-transform: translateY( -34.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:16px;padding-bottom:16px}.mat-mdc-text-field-wrapper[_ngcontent-%COMP%]:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:24px;padding-bottom:8px}.mdc-text-field--no-label[_ngcontent-%COMP%]:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:16px;padding-bottom:16px}.mdc-text-field__input[_ngcontent-%COMP%], .mdc-text-field__affix[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.mdc-text-field--textarea[_ngcontent-%COMP%] .mdc-text-field__input[_ngcontent-%COMP%]{line-height:1.5rem}.mdc-floating-label[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.mat-mdc-form-field-subscript-wrapper[_ngcontent-%COMP%], .mat-mdc-form-field-bottom-align[_ngcontent-%COMP%]:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.mat-mdc-form-field[_ngcontent-%COMP%], .mat-mdc-floating-label[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body1-font-size, 16px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.mat-mdc-form-field[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-floating-label--float-above[_ngcontent-%COMP%]{font-size:calc(16px * var(--mat-mdc-form-field-floating-label-scale, .75))}.mat-mdc-form-field[_ngcontent-%COMP%] .mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-notched-outline--upgraded[_ngcontent-%COMP%] .mdc-floating-label--float-above[_ngcontent-%COMP%]{font-size:16px}html[_ngcontent-%COMP%]{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(15, 7, 97, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html[_ngcontent-%COMP%] .mat-mdc-form-field.mat-accent[_ngcontent-%COMP%]{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(221, 115, 69, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html[_ngcontent-%COMP%] .mat-mdc-form-field.mat-warn[_ngcontent-%COMP%]{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(244, 67, 54, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html[_ngcontent-%COMP%]{--mat-select-trigger-text-font: Inter;--mat-select-trigger-text-line-height: 24px;--mat-select-trigger-text-size: 16px;--mat-select-trigger-text-tracking: .03125em;--mat-select-trigger-text-weight: 400}html[_ngcontent-%COMP%]{--mat-autocomplete-background-color: white}.mat-mdc-dialog-container[_ngcontent-%COMP%]{--mdc-dialog-container-color: white;--mdc-dialog-subhead-color: rgba(0, 0, 0, .87);--mdc-dialog-supporting-text-color: rgba(0, 0, 0, .6)}.mat-mdc-dialog-container[_ngcontent-%COMP%]{--mdc-dialog-subhead-font: Inter;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: .0125em;--mdc-dialog-supporting-text-font: Inter;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 16px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .03125em}.mat-mdc-standard-chip[_ngcontent-%COMP%]{--mdc-chip-disabled-label-text-color: #212121;--mdc-chip-elevated-container-color: #e0e0e0;--mdc-chip-elevated-disabled-container-color: #e0e0e0;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: #212121;--mdc-chip-with-icon-icon-color: #212121;--mdc-chip-with-icon-disabled-icon-color: #212121;--mdc-chip-with-icon-selected-icon-color: #212121;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: #212121;--mdc-chip-with-trailing-icon-trailing-icon-color: #212121}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-primary[_ngcontent-%COMP%], .mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-primary[_ngcontent-%COMP%]{--mdc-chip-disabled-label-text-color: white;--mdc-chip-elevated-container-color: #0f0761;--mdc-chip-elevated-disabled-container-color: #0f0761;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-accent[_ngcontent-%COMP%], .mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-accent[_ngcontent-%COMP%]{--mdc-chip-disabled-label-text-color: white;--mdc-chip-elevated-container-color: #dd7345;--mdc-chip-elevated-disabled-container-color: #dd7345;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-warn[_ngcontent-%COMP%], .mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-warn[_ngcontent-%COMP%]{--mdc-chip-disabled-label-text-color: white;--mdc-chip-elevated-container-color: #f44336;--mdc-chip-elevated-disabled-container-color: #f44336;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.mat-mdc-chip.mat-mdc-standard-chip[_ngcontent-%COMP%]{--mdc-chip-container-height: 32px}.mat-mdc-standard-chip[_ngcontent-%COMP%]{--mdc-chip-label-text-font: Inter;--mdc-chip-label-text-line-height: 20px;--mdc-chip-label-text-size: 14px;--mdc-chip-label-text-tracking: .0178571429em;--mdc-chip-label-text-weight: 400}.mat-mdc-slide-toggle[_ngcontent-%COMP%]{--mdc-switch-disabled-selected-handle-color: #424242;--mdc-switch-disabled-unselected-handle-color: #424242;--mdc-switch-disabled-selected-track-color: #424242;--mdc-switch-disabled-unselected-track-color: #424242;--mdc-switch-unselected-focus-state-layer-color: #424242;--mdc-switch-unselected-pressed-state-layer-color: #424242;--mdc-switch-unselected-hover-state-layer-color: #424242;--mdc-switch-unselected-focus-track-color: #e0e0e0;--mdc-switch-unselected-hover-track-color: #e0e0e0;--mdc-switch-unselected-pressed-track-color: #e0e0e0;--mdc-switch-unselected-track-color: #e0e0e0;--mdc-switch-unselected-focus-handle-color: #212121;--mdc-switch-unselected-hover-handle-color: #212121;--mdc-switch-unselected-pressed-handle-color: #212121;--mdc-switch-handle-surface-color: var(--mdc-theme-surface, #fff);--mdc-switch-unselected-handle-color: #616161;--mdc-switch-selected-icon-color: #fff;--mdc-switch-disabled-selected-icon-color: #fff;--mdc-switch-disabled-unselected-icon-color: #fff;--mdc-switch-unselected-icon-color: #fff}.mat-mdc-slide-toggle[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-slide-toggle[_ngcontent-%COMP%] .mdc-switch--disabled[_ngcontent-%COMP%] + label[_ngcontent-%COMP%]{color:#00000061}.mat-mdc-slide-toggle.mat-primary[_ngcontent-%COMP%]{--mdc-switch-selected-focus-state-layer-color: #5c5699;--mdc-switch-selected-handle-color: #5c5699;--mdc-switch-selected-hover-state-layer-color: #5c5699;--mdc-switch-selected-pressed-state-layer-color: #5c5699;--mdc-switch-selected-focus-handle-color: #0f0761;--mdc-switch-selected-hover-handle-color: #0f0761;--mdc-switch-selected-pressed-handle-color: #0f0761;--mdc-switch-selected-focus-track-color: #aaa8ca;--mdc-switch-selected-hover-track-color: #aaa8ca;--mdc-switch-selected-pressed-track-color: #aaa8ca;--mdc-switch-selected-track-color: #aaa8ca}.mat-mdc-slide-toggle.mat-accent[_ngcontent-%COMP%]{--mdc-switch-selected-focus-state-layer-color: #914b2d;--mdc-switch-selected-handle-color: #914b2d;--mdc-switch-selected-hover-state-layer-color: #914b2d;--mdc-switch-selected-pressed-state-layer-color: #914b2d;--mdc-switch-selected-focus-handle-color: #2b160d;--mdc-switch-selected-hover-handle-color: #2b160d;--mdc-switch-selected-pressed-handle-color: #2b160d;--mdc-switch-selected-focus-track-color: #ff8c5a;--mdc-switch-selected-hover-track-color: #ff8c5a;--mdc-switch-selected-pressed-track-color: #ff8c5a;--mdc-switch-selected-track-color: #ff8c5a}.mat-mdc-slide-toggle.mat-warn[_ngcontent-%COMP%]{--mdc-switch-selected-focus-state-layer-color: #e53935;--mdc-switch-selected-handle-color: #e53935;--mdc-switch-selected-hover-state-layer-color: #e53935;--mdc-switch-selected-pressed-state-layer-color: #e53935;--mdc-switch-selected-focus-handle-color: #b71c1c;--mdc-switch-selected-hover-handle-color: #b71c1c;--mdc-switch-selected-pressed-handle-color: #b71c1c;--mdc-switch-selected-focus-track-color: #e57373;--mdc-switch-selected-hover-track-color: #e57373;--mdc-switch-selected-pressed-track-color: #e57373;--mdc-switch-selected-track-color: #e57373}.mat-mdc-slide-toggle[_ngcontent-%COMP%]{--mdc-switch-state-layer-size: 48px}.mdc-form-field[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mat-mdc-radio-button[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-radio-button.mat-primary[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #0f0761;--mdc-radio-selected-hover-icon-color: #0f0761;--mdc-radio-selected-icon-color: #0f0761;--mdc-radio-selected-pressed-icon-color: #0f0761;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #0f0761;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-accent[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #dd7345;--mdc-radio-selected-hover-icon-color: #dd7345;--mdc-radio-selected-icon-color: #dd7345;--mdc-radio-selected-pressed-icon-color: #dd7345;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #dd7345;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-warn[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #f44336;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button[_ngcontent-%COMP%] .mdc-radio[_ngcontent-%COMP%]{--mdc-radio-state-layer-size: 40px}.mat-mdc-radio-button[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mat-mdc-slider[_ngcontent-%COMP%]{--mdc-slider-label-container-color: black;--mdc-slider-label-label-text-color: white;--mdc-slider-disabled-handle-color: #000;--mdc-slider-disabled-active-track-color: #000;--mdc-slider-disabled-inactive-track-color: #000;--mdc-slider-with-tick-marks-disabled-container-color: #000;--mat-mdc-slider-value-indicator-opacity: .6}.mat-mdc-slider.mat-primary[_ngcontent-%COMP%]{--mdc-slider-handle-color: #0f0761;--mdc-slider-focus-handle-color: #0f0761;--mdc-slider-hover-handle-color: #0f0761;--mdc-slider-active-track-color: #0f0761;--mdc-slider-inactive-track-color: #0f0761;--mdc-slider-with-tick-marks-active-container-color: #fff;--mdc-slider-with-tick-marks-inactive-container-color: #0f0761;--mat-mdc-slider-ripple-color: #0f0761;--mat-mdc-slider-hover-ripple-color: rgba(15, 7, 97, .05);--mat-mdc-slider-focus-ripple-color: rgba(15, 7, 97, .2)}.mat-mdc-slider.mat-accent[_ngcontent-%COMP%]{--mdc-slider-handle-color: #dd7345;--mdc-slider-focus-handle-color: #dd7345;--mdc-slider-hover-handle-color: #dd7345;--mdc-slider-active-track-color: #dd7345;--mdc-slider-inactive-track-color: #dd7345;--mdc-slider-with-tick-marks-active-container-color: #fff;--mdc-slider-with-tick-marks-inactive-container-color: #dd7345;--mat-mdc-slider-ripple-color: #dd7345;--mat-mdc-slider-hover-ripple-color: rgba(221, 115, 69, .05);--mat-mdc-slider-focus-ripple-color: rgba(221, 115, 69, .2)}.mat-mdc-slider.mat-warn[_ngcontent-%COMP%]{--mdc-slider-handle-color: #f44336;--mdc-slider-focus-handle-color: #f44336;--mdc-slider-hover-handle-color: #f44336;--mdc-slider-active-track-color: #f44336;--mdc-slider-inactive-track-color: #f44336;--mdc-slider-with-tick-marks-active-container-color: #fff;--mdc-slider-with-tick-marks-inactive-container-color: #f44336;--mat-mdc-slider-ripple-color: #f44336;--mat-mdc-slider-hover-ripple-color: rgba(244, 67, 54, .05);--mat-mdc-slider-focus-ripple-color: rgba(244, 67, 54, .2)}.mat-mdc-slider[_ngcontent-%COMP%]{--mdc-slider-label-label-text-font: Inter;--mdc-slider-label-label-text-size: 14px;--mdc-slider-label-label-text-line-height: 22px;--mdc-slider-label-label-text-tracking: .0071428571em;--mdc-slider-label-label-text-weight: 500}html[_ngcontent-%COMP%]{--mat-menu-item-label-text-color: rgba(0, 0, 0, .87);--mat-menu-item-icon-color: rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-item-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-container-color: white}html[_ngcontent-%COMP%]{--mat-menu-item-label-text-font: Inter;--mat-menu-item-label-text-size: 16px;--mat-menu-item-label-text-tracking: .03125em;--mat-menu-item-label-text-line-height: 24px;--mat-menu-item-label-text-weight: 400}.mat-mdc-list-base[_ngcontent-%COMP%]{--mdc-list-list-item-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-supporting-text-color: rgba(0, 0, 0, .54);--mdc-list-list-item-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-supporting-text-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-selected-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-disabled-label-text-color: black;--mdc-list-list-item-disabled-leading-icon-color: black;--mdc-list-list-item-disabled-trailing-icon-color: black;--mdc-list-list-item-hover-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-hover-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-focus-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-state-layer-color: black;--mdc-list-list-item-hover-state-layer-opacity: .04;--mdc-list-list-item-focus-state-layer-color: black;--mdc-list-list-item-focus-state-layer-opacity: .12}.mdc-list-item__start[_ngcontent-%COMP%], .mdc-list-item__end[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #0f0761;--mdc-radio-selected-hover-icon-color: #0f0761;--mdc-radio-selected-icon-color: #0f0761;--mdc-radio-selected-pressed-icon-color: #0f0761}.mat-accent[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%], .mat-accent[_ngcontent-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #dd7345;--mdc-radio-selected-hover-icon-color: #dd7345;--mdc-radio-selected-icon-color: #dd7345;--mdc-radio-selected-pressed-icon-color: #dd7345}.mat-warn[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%], .mat-warn[_ngcontent-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%]{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336}.mat-mdc-list-option[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #0f0761;--mdc-checkbox-selected-hover-icon-color: #0f0761;--mdc-checkbox-selected-icon-color: #0f0761;--mdc-checkbox-selected-pressed-icon-color: #0f0761;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #0f0761;--mdc-checkbox-selected-hover-state-layer-color: #0f0761;--mdc-checkbox-selected-pressed-state-layer-color: #0f0761;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-accent[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #dd7345;--mdc-checkbox-selected-hover-icon-color: #dd7345;--mdc-checkbox-selected-icon-color: #dd7345;--mdc-checkbox-selected-pressed-icon-color: #dd7345;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #dd7345;--mdc-checkbox-selected-hover-state-layer-color: #dd7345;--mdc-checkbox-selected-pressed-state-layer-color: #dd7345;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-warn[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-selected-pressed-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-base.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--selected[_ngcontent-%COMP%] .mdc-list-item__primary-text[_ngcontent-%COMP%], .mat-mdc-list-base.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--activated[_ngcontent-%COMP%] .mdc-list-item__primary-text[_ngcontent-%COMP%], .mat-mdc-list-base.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--selected.mdc-list-item--with-leading-icon[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%], .mat-mdc-list-base.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--activated.mdc-list-item--with-leading-icon[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{color:#0f0761}.mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--disabled[_ngcontent-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%], .mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--disabled[_ngcontent-%COMP%] .mdc-list-item__content[_ngcontent-%COMP%], .mat-mdc-list-base[_ngcontent-%COMP%] .mdc-list-item--disabled[_ngcontent-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%]{opacity:1}.mat-mdc-list-base[_ngcontent-%COMP%]{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line[_ngcontent-%COMP%], .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line[_ngcontent-%COMP%], .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line[_ngcontent-%COMP%]{height:56px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines[_ngcontent-%COMP%], .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines[_ngcontent-%COMP%], .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines[_ngcontent-%COMP%]{height:72px}.mat-mdc-list-base[_ngcontent-%COMP%]{--mdc-list-list-item-label-text-font: Inter;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 16px;--mdc-list-list-item-label-text-tracking: .03125em;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Inter;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: .0178571429em;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Inter;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: .0333333333em;--mdc-list-list-item-trailing-supporting-text-weight: 400}.mdc-list-group__subheader[_ngcontent-%COMP%]{font-size:16px;font-weight:400;line-height:28px;font-family:Inter;letter-spacing:.009375em}html[_ngcontent-%COMP%]{--mat-paginator-container-text-color: rgba(0, 0, 0, .87);--mat-paginator-container-background-color: white;--mat-paginator-enabled-icon-color: rgba(0, 0, 0, .54);--mat-paginator-disabled-icon-color: rgba(0, 0, 0, .12)}html[_ngcontent-%COMP%]{--mat-paginator-container-size: 56px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]{min-height:40px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper[_ngcontent-%COMP%] .mat-mdc-form-field-flex[_ngcontent-%COMP%] .mat-mdc-floating-label[_ngcontent-%COMP%]{top:20px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper.mdc-text-field--outlined[_ngcontent-%COMP%] .mdc-notched-outline--upgraded[_ngcontent-%COMP%] .mdc-floating-label--float-above[_ngcontent-%COMP%]{--mat-mdc-form-field-label-transform: translateY( -26.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper.mdc-text-field--outlined[_ngcontent-%COMP%] .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper[_ngcontent-%COMP%]:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator[_ngcontent-%COMP%] .mdc-text-field--no-label[_ngcontent-%COMP%]:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper[_ngcontent-%COMP%]:not(.mdc-text-field--outlined) .mat-mdc-floating-label[_ngcontent-%COMP%]{display:none}html[_ngcontent-%COMP%]{--mat-paginator-container-text-font: Inter;--mat-paginator-container-text-line-height: 20px;--mat-paginator-container-text-size: 12px;--mat-paginator-container-text-tracking: .0333333333em;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: 12px}.mat-mdc-tab-group[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar[_ngcontent-%COMP%]{--mdc-tab-indicator-active-indicator-color: #0f0761;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #0f0761;--mat-tab-header-active-ripple-color: #0f0761;--mat-tab-header-inactive-ripple-color: #0f0761;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #0f0761;--mat-tab-header-active-hover-label-text-color: #0f0761;--mat-tab-header-active-focus-indicator-color: #0f0761;--mat-tab-header-active-hover-indicator-color: #0f0761}.mat-mdc-tab-group.mat-accent[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-accent[_ngcontent-%COMP%]{--mdc-tab-indicator-active-indicator-color: #dd7345;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #dd7345;--mat-tab-header-active-ripple-color: #dd7345;--mat-tab-header-inactive-ripple-color: #dd7345;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #dd7345;--mat-tab-header-active-hover-label-text-color: #dd7345;--mat-tab-header-active-focus-indicator-color: #dd7345;--mat-tab-header-active-hover-indicator-color: #dd7345}.mat-mdc-tab-group.mat-warn[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-warn[_ngcontent-%COMP%]{--mdc-tab-indicator-active-indicator-color: #f44336;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #f44336;--mat-tab-header-active-ripple-color: #f44336;--mat-tab-header-inactive-ripple-color: #f44336;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #f44336;--mat-tab-header-active-hover-label-text-color: #f44336;--mat-tab-header-active-focus-indicator-color: #f44336;--mat-tab-header-active-hover-indicator-color: #f44336}.mat-mdc-tab-group.mat-background-primary[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-background-primary[_ngcontent-%COMP%]{--mat-tab-header-with-background-background-color: #0f0761;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-group.mat-background-accent[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-background-accent[_ngcontent-%COMP%]{--mat-tab-header-with-background-background-color: #dd7345;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-group.mat-background-warn[_ngcontent-%COMP%], .mat-mdc-tab-nav-bar.mat-background-warn[_ngcontent-%COMP%]{--mat-tab-header-with-background-background-color: #f44336;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-header[_ngcontent-%COMP%]{--mdc-secondary-navigation-tab-container-height: 48px}.mat-mdc-tab-header[_ngcontent-%COMP%]{--mat-tab-header-label-text-font: Inter;--mat-tab-header-label-text-size: 14px;--mat-tab-header-label-text-letter-spacing: .0892857143em;--mat-tab-header-label-text-line-height: 36px;--mat-tab-header-label-text-weight: 500}html[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #dd7345;--mdc-checkbox-selected-hover-icon-color: #dd7345;--mdc-checkbox-selected-icon-color: #dd7345;--mdc-checkbox-selected-pressed-icon-color: #dd7345;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #dd7345;--mdc-checkbox-selected-hover-state-layer-color: #dd7345;--mdc-checkbox-selected-pressed-state-layer-color: #dd7345;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox.mat-primary[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #0f0761;--mdc-checkbox-selected-hover-icon-color: #0f0761;--mdc-checkbox-selected-icon-color: #0f0761;--mdc-checkbox-selected-pressed-icon-color: #0f0761;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #0f0761;--mdc-checkbox-selected-hover-state-layer-color: #0f0761;--mdc-checkbox-selected-pressed-state-layer-color: #0f0761;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox.mat-warn[_ngcontent-%COMP%]{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-selected-pressed-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-checkbox.mat-mdc-checkbox-disabled[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#00000061}html[_ngcontent-%COMP%]{--mdc-checkbox-state-layer-size: 40px}.mat-mdc-checkbox[_ngcontent-%COMP%] .mdc-form-field[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mat-mdc-button.mat-unthemed[_ngcontent-%COMP%]{--mdc-text-button-label-text-color: #000}.mat-mdc-button.mat-primary[_ngcontent-%COMP%]{--mdc-text-button-label-text-color: #0f0761}.mat-mdc-button.mat-accent[_ngcontent-%COMP%]{--mdc-text-button-label-text-color: #dd7345}.mat-mdc-button.mat-warn[_ngcontent-%COMP%]{--mdc-text-button-label-text-color: #f44336}.mat-mdc-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-text-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-text-button-label-text-color: rgba(0, 0, 0, .38)}.mat-mdc-unelevated-button.mat-unthemed[_ngcontent-%COMP%]{--mdc-filled-button-container-color: #fff;--mdc-filled-button-label-text-color: #000}.mat-mdc-unelevated-button.mat-primary[_ngcontent-%COMP%]{--mdc-filled-button-container-color: #0f0761;--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button.mat-accent[_ngcontent-%COMP%]{--mdc-filled-button-container-color: #dd7345;--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button.mat-warn[_ngcontent-%COMP%]{--mdc-filled-button-container-color: #f44336;--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-filled-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-filled-button-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-label-text-color: rgba(0, 0, 0, .38)}.mat-mdc-raised-button.mat-unthemed[_ngcontent-%COMP%]{--mdc-protected-button-container-color: #fff;--mdc-protected-button-label-text-color: #000}.mat-mdc-raised-button.mat-primary[_ngcontent-%COMP%]{--mdc-protected-button-container-color: #0f0761;--mdc-protected-button-label-text-color: #fff}.mat-mdc-raised-button.mat-accent[_ngcontent-%COMP%]{--mdc-protected-button-container-color: #dd7345;--mdc-protected-button-label-text-color: #fff}.mat-mdc-raised-button.mat-warn[_ngcontent-%COMP%]{--mdc-protected-button-container-color: #f44336;--mdc-protected-button-label-text-color: #fff}.mat-mdc-raised-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-protected-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-protected-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-protected-button-container-color: rgba(0, 0, 0, .12);--mdc-protected-button-label-text-color: rgba(0, 0, 0, .38);--mdc-protected-button-container-elevation: 0}.mat-mdc-outlined-button[_ngcontent-%COMP%]{--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12)}.mat-mdc-outlined-button.mat-unthemed[_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: #000}.mat-mdc-outlined-button.mat-primary[_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: #0f0761}.mat-mdc-outlined-button.mat-accent[_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: #dd7345}.mat-mdc-outlined-button.mat-warn[_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: #f44336}.mat-mdc-outlined-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-outlined-button-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-button-disabled-outline-color: rgba(0, 0, 0, .12)}.mat-mdc-button[_ngcontent-%COMP%], .mat-mdc-outlined-button[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-outlined-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.04}.mat-mdc-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-outlined-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-outlined-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-outlined-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-button.mat-primary[_ngcontent-%COMP%], .mat-mdc-outlined-button.mat-primary[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #0f0761;--mat-mdc-button-ripple-color: rgba(15, 7, 97, .1)}.mat-mdc-button.mat-accent[_ngcontent-%COMP%], .mat-mdc-outlined-button.mat-accent[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #dd7345;--mat-mdc-button-ripple-color: rgba(221, 115, 69, .1)}.mat-mdc-button.mat-warn[_ngcontent-%COMP%], .mat-mdc-outlined-button.mat-warn[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #f44336;--mat-mdc-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-raised-button[_ngcontent-%COMP%], .mat-mdc-unelevated-button[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-raised-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-unelevated-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.04}.mat-mdc-raised-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-raised-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-unelevated-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-unelevated-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-raised-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-unelevated-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-raised-button.mat-primary[_ngcontent-%COMP%], .mat-mdc-unelevated-button.mat-primary[_ngcontent-%COMP%], .mat-mdc-raised-button.mat-accent[_ngcontent-%COMP%], .mat-mdc-unelevated-button.mat-accent[_ngcontent-%COMP%], .mat-mdc-raised-button.mat-warn[_ngcontent-%COMP%], .mat-mdc-unelevated-button.mat-warn[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #fff;--mat-mdc-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-button.mat-mdc-button-base[_ngcontent-%COMP%], .mat-mdc-raised-button.mat-mdc-button-base[_ngcontent-%COMP%], .mat-mdc-unelevated-button.mat-mdc-button-base[_ngcontent-%COMP%], .mat-mdc-outlined-button.mat-mdc-button-base[_ngcontent-%COMP%]{height:36px}.mdc-button[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-button-font-size, 14px);line-height:var(--mdc-typography-button-line-height, 36px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.mat-mdc-icon-button[_ngcontent-%COMP%]{--mdc-icon-button-icon-color: inherit;--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-icon-button[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.04}.mat-mdc-icon-button.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-icon-button.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-icon-button[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-icon-button.mat-primary[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #6200ee;--mat-mdc-button-ripple-color: rgba(98, 0, 238, .1)}.mat-mdc-icon-button.mat-accent[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #018786;--mat-mdc-button-ripple-color: rgba(1, 135, 134, .1)}.mat-mdc-icon-button.mat-warn[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #b00020;--mat-mdc-button-ripple-color: rgba(176, 0, 32, .1)}.mat-mdc-icon-button.mat-primary[_ngcontent-%COMP%]{--mdc-icon-button-icon-color: #0f0761;--mat-mdc-button-persistent-ripple-color: #0f0761;--mat-mdc-button-ripple-color: rgba(15, 7, 97, .1)}.mat-mdc-icon-button.mat-accent[_ngcontent-%COMP%]{--mdc-icon-button-icon-color: #dd7345;--mat-mdc-button-persistent-ripple-color: #dd7345;--mat-mdc-button-ripple-color: rgba(221, 115, 69, .1)}.mat-mdc-icon-button.mat-warn[_ngcontent-%COMP%]{--mdc-icon-button-icon-color: #f44336;--mat-mdc-button-persistent-ripple-color: #f44336;--mat-mdc-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-icon-button[disabled][disabled][_ngcontent-%COMP%]{--mdc-icon-button-icon-color: rgba(0, 0, 0, .38);--mdc-icon-button-disabled-icon-color: rgba(0, 0, 0, .38)}.mat-mdc-icon-button.mat-mdc-button-base[_ngcontent-%COMP%]{--mdc-icon-button-state-layer-size: 48px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:12px}.mat-mdc-fab[_ngcontent-%COMP%], .mat-mdc-mini-fab[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-fab[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-mini-fab[_ngcontent-%COMP%]:hover .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.04}.mat-mdc-fab.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-fab.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-mini-fab.cdk-program-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-mini-fab.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-fab[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before, .mat-mdc-mini-fab[_ngcontent-%COMP%]:active .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{opacity:.12}.mat-mdc-fab.mat-primary[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-primary[_ngcontent-%COMP%], .mat-mdc-fab.mat-accent[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-accent[_ngcontent-%COMP%], .mat-mdc-fab.mat-warn[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-warn[_ngcontent-%COMP%]{--mat-mdc-button-persistent-ripple-color: #fff;--mat-mdc-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-fab.mat-unthemed[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-unthemed[_ngcontent-%COMP%]{--mdc-fab-container-color: #fff;--mdc-fab-icon-color: #000;--mat-mdc-fab-color: #000}.mat-mdc-fab.mat-primary[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-primary[_ngcontent-%COMP%]{--mdc-fab-container-color: #0f0761;--mdc-fab-icon-color: #fff;--mat-mdc-fab-color: #fff}.mat-mdc-fab.mat-accent[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-accent[_ngcontent-%COMP%]{--mdc-fab-container-color: #dd7345;--mdc-fab-icon-color: #fff;--mat-mdc-fab-color: #fff}.mat-mdc-fab.mat-warn[_ngcontent-%COMP%], .mat-mdc-mini-fab.mat-warn[_ngcontent-%COMP%]{--mdc-fab-container-color: #f44336;--mdc-fab-icon-color: #fff;--mat-mdc-fab-color: #fff}.mat-mdc-fab[disabled][disabled][_ngcontent-%COMP%], .mat-mdc-mini-fab[disabled][disabled][_ngcontent-%COMP%]{--mdc-fab-container-color: rgba(0, 0, 0, .12);--mdc-fab-icon-color: rgba(0, 0, 0, .38);--mat-mdc-fab-color: rgba(0, 0, 0, .38)}.mdc-fab--extended[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-button-font-size, 14px);line-height:var(--mdc-typography-button-line-height, 36px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.mat-mdc-snack-bar-container[_ngcontent-%COMP%]{--mdc-snackbar-container-color: #333333;--mdc-snackbar-supporting-text-color: rgba(255, 255, 255, .87);--mat-snack-bar-button-color: #dd7345}.mat-mdc-snack-bar-container[_ngcontent-%COMP%]{--mdc-snackbar-supporting-text-font: Inter;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}.mdc-data-table[_ngcontent-%COMP%]{background-color:var(--mdc-theme-surface, #fff);border-color:#0000001f}.mdc-data-table__row[_ngcontent-%COMP%]{background-color:inherit}.mdc-data-table__header-cell[_ngcontent-%COMP%]{background-color:var(--mdc-theme-surface, #fff)}.mdc-data-table__row--selected[_ngcontent-%COMP%]{background-color:#0f07610a}.mdc-data-table__pagination-rows-per-page-select--outlined[_ngcontent-%COMP%]:not(.mdc-select--disabled) .mdc-notched-outline__leading[_ngcontent-%COMP%], .mdc-data-table__pagination-rows-per-page-select--outlined[_ngcontent-%COMP%]:not(.mdc-select--disabled) .mdc-notched-outline__notch[_ngcontent-%COMP%], .mdc-data-table__pagination-rows-per-page-select--outlined[_ngcontent-%COMP%]:not(.mdc-select--disabled) .mdc-notched-outline__trailing[_ngcontent-%COMP%]{border-color:#0000001f}.mdc-data-table__cell[_ngcontent-%COMP%], .mdc-data-table__header-cell[_ngcontent-%COMP%]{border-bottom-color:#0000001f}.mdc-data-table__pagination[_ngcontent-%COMP%]{border-top-color:#0000001f}.mdc-data-table__row[_ngcontent-%COMP%]:not(.mdc-data-table__row--selected):hover{background-color:#0000000a}.mdc-data-table__header-cell[_ngcontent-%COMP%], .mdc-data-table__pagination-total[_ngcontent-%COMP%], .mdc-data-table__pagination-rows-per-page-label[_ngcontent-%COMP%], .mdc-data-table__cell[_ngcontent-%COMP%]{color:#000000de}.mat-mdc-table[_ngcontent-%COMP%]{background:white}.mat-mdc-table[_ngcontent-%COMP%] .mdc-data-table__row[_ngcontent-%COMP%]{height:52px}.mat-mdc-table[_ngcontent-%COMP%] .mdc-data-table__pagination[_ngcontent-%COMP%]{min-height:52px}.mat-mdc-table[_ngcontent-%COMP%] .mdc-data-table__header-row[_ngcontent-%COMP%]{height:56px}.mdc-data-table__content[_ngcontent-%COMP%], .mdc-data-table__cell[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mdc-data-table__header-cell[_ngcontent-%COMP%]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Inter));font-size:var(--mdc-typography-subtitle2-font-size, 14px);line-height:var(--mdc-typography-subtitle2-line-height, 22px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.mat-mdc-progress-spinner[_ngcontent-%COMP%]{--mdc-circular-progress-active-indicator-color: #0f0761}.mat-mdc-progress-spinner.mat-accent[_ngcontent-%COMP%]{--mdc-circular-progress-active-indicator-color: #dd7345}.mat-mdc-progress-spinner.mat-warn[_ngcontent-%COMP%]{--mdc-circular-progress-active-indicator-color: #f44336}.mat-badge[_ngcontent-%COMP%]{position:relative}.mat-badge.mat-badge[_ngcontent-%COMP%]{overflow:visible}.mat-badge-hidden[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{display:none}.mat-badge-content[_ngcontent-%COMP%]{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ng-animate-disabled[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%], .mat-badge-content._mat-animation-noopable[_ngcontent-%COMP%]{transition:none}.mat-badge-content.mat-badge-active[_ngcontent-%COMP%]{transform:none}.mat-badge-small[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{top:-8px}.mat-badge-small.mat-badge-below[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{bottom:-8px}.mat-badge-small.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-16px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-small.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-16px}.mat-badge-small.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-16px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-small.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-8px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-small.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-8px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-small.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-8px}.mat-badge-medium[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{top:-11px}.mat-badge-medium.mat-badge-below[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{bottom:-11px}.mat-badge-medium.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-22px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-medium.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-22px}.mat-badge-medium.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-22px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-medium.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-11px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-medium.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-11px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-medium.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-11px}.mat-badge-large[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{top:-14px}.mat-badge-large.mat-badge-below[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{bottom:-14px}.mat-badge-large.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-28px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-large.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-28px}.mat-badge-large.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-28px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-large.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:-14px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-large.mat-badge-overlap.mat-badge-before[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:-14px}[dir=rtl][_ngcontent-%COMP%] .mat-badge-large.mat-badge-overlap.mat-badge-after[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{right:auto;left:-14px}.mat-badge-content[_ngcontent-%COMP%]{color:#fff;background:#0f0761}.cdk-high-contrast-active[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{outline:solid 1px;border-radius:0}.mat-badge-accent[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{background:#dd7345;color:#fff}.mat-badge-warn[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{color:#fff;background:#f44336}.mat-badge-disabled[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{background:#b9b9b9;color:#00000061}.mat-badge-content[_ngcontent-%COMP%]{font-weight:600;font-size:12px;font-family:Inter}.mat-badge-small[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{font-size:9px}.mat-badge-large[_ngcontent-%COMP%] .mat-badge-content[_ngcontent-%COMP%]{font-size:24px}html[_ngcontent-%COMP%]{--mat-bottom-sheet-container-text-color: rgba(0, 0, 0, .87);--mat-bottom-sheet-container-background-color: white}html[_ngcontent-%COMP%]{--mat-bottom-sheet-container-text-font: Inter;--mat-bottom-sheet-container-text-line-height: 20px;--mat-bottom-sheet-container-text-size: 14px;--mat-bottom-sheet-container-text-tracking: .0178571429em;--mat-bottom-sheet-container-text-weight: 400}html[_ngcontent-%COMP%]{--mat-legacy-button-toggle-text-color: rgba(0, 0, 0, .38);--mat-legacy-button-toggle-state-layer-color: rgba(0, 0, 0, .12);--mat-legacy-button-toggle-selected-state-text-color: rgba(0, 0, 0, .54);--mat-legacy-button-toggle-selected-state-background-color: #e0e0e0;--mat-legacy-button-toggle-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-legacy-button-toggle-disabled-state-background-color: #eeeeee;--mat-legacy-button-toggle-disabled-selected-state-background-color: #bdbdbd;--mat-standard-button-toggle-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-background-color: white;--mat-standard-button-toggle-state-layer-color: black;--mat-standard-button-toggle-selected-state-background-color: #e0e0e0;--mat-standard-button-toggle-selected-state-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-standard-button-toggle-disabled-state-background-color: white;--mat-standard-button-toggle-disabled-selected-state-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-selected-state-background-color: #bdbdbd;--mat-standard-button-toggle-divider-color: #e0e0e0}html[_ngcontent-%COMP%]{--mat-standard-button-toggle-height: 48px}html[_ngcontent-%COMP%]{--mat-legacy-button-toggle-text-font: Inter;--mat-standard-button-toggle-text-font: Inter}.mat-calendar-arrow[_ngcontent-%COMP%]{fill:#0000008a}.mat-datepicker-toggle[_ngcontent-%COMP%], .mat-datepicker-content[_ngcontent-%COMP%] .mat-calendar-next-button[_ngcontent-%COMP%], .mat-datepicker-content[_ngcontent-%COMP%] .mat-calendar-previous-button[_ngcontent-%COMP%]{color:#0000008a}.mat-calendar-table-header-divider[_ngcontent-%COMP%]:after{background:rgba(0,0,0,.12)}.mat-calendar-table-header[_ngcontent-%COMP%], .mat-calendar-body-label[_ngcontent-%COMP%]{color:#0000008a}.mat-calendar-body-cell-content[_ngcontent-%COMP%], .mat-date-range-input-separator[_ngcontent-%COMP%]{color:#000000de;border-color:transparent}.mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:#00000061}.mat-form-field-disabled[_ngcontent-%COMP%] .mat-date-range-input-separator[_ngcontent-%COMP%]{color:#00000061}.mat-calendar-body-in-preview[_ngcontent-%COMP%]{color:#0000003d}.mat-calendar-body-today[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-today[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.mat-calendar-body-in-range[_ngcontent-%COMP%]:before{background:rgba(15,7,97,.2)}.mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%]:before{background:rgba(249,171,0,.2)}.mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before, [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before{background:linear-gradient(to right,rgba(15,7,97,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before, [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before{background:linear-gradient(to left,rgba(15,7,97,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-in-range[_ngcontent-%COMP%] > .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range[_ngcontent-%COMP%]:after{background:#a8dab5}.mat-calendar-body-comparison-identical.mat-calendar-body-selected[_ngcontent-%COMP%], .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background:#46a35e}.mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#0f0761;color:#fff}.mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#0f076166}.mat-calendar-body-today.mat-calendar-body-selected[_ngcontent-%COMP%]{box-shadow:inset 0 0 0 1px #fff}.cdk-keyboard-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical), .cdk-program-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#0f07614d}@media (hover: hover){.mat-calendar-body-cell[_ngcontent-%COMP%]:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#0f07614d}}.mat-datepicker-content[_ngcontent-%COMP%]{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;background-color:#fff;color:#000000de}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-range[_ngcontent-%COMP%]:before{background:rgba(221,115,69,.2)}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%]:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before, .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before{background:linear-gradient(to right,rgba(221,115,69,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before, .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before{background:linear-gradient(to left,rgba(221,115,69,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-range[_ngcontent-%COMP%] > .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range[_ngcontent-%COMP%]:after{background:#a8dab5}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-comparison-identical.mat-calendar-body-selected[_ngcontent-%COMP%], .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background:#46a35e}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#dd7345;color:#fff}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#dd734566}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-today.mat-calendar-body-selected[_ngcontent-%COMP%]{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .cdk-keyboard-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical), .mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .cdk-program-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#dd73454d}@media (hover: hover){.mat-datepicker-content.mat-accent[_ngcontent-%COMP%] .mat-calendar-body-cell[_ngcontent-%COMP%]:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#dd73454d}}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-range[_ngcontent-%COMP%]:before{background:rgba(244,67,54,.2)}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%]:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before, .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before{background:linear-gradient(to right,rgba(244,67,54,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-end[_ngcontent-%COMP%]:before, .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] [dir=rtl][_ngcontent-%COMP%] .mat-calendar-body-comparison-bridge-start[_ngcontent-%COMP%]:before{background:linear-gradient(to left,rgba(244,67,54,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-range[_ngcontent-%COMP%] > .mat-calendar-body-comparison-identical[_ngcontent-%COMP%], .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range[_ngcontent-%COMP%]:after{background:#a8dab5}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-comparison-identical.mat-calendar-body-selected[_ngcontent-%COMP%], .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-in-comparison-range[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background:#46a35e}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-disabled[_ngcontent-%COMP%] > .mat-calendar-body-selected[_ngcontent-%COMP%]{background-color:#f4433666}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-today.mat-calendar-body-selected[_ngcontent-%COMP%]{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .cdk-keyboard-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical), .mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .cdk-program-focused[_ngcontent-%COMP%] .mat-calendar-body-active[_ngcontent-%COMP%] > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#f443364d}@media (hover: hover){.mat-datepicker-content.mat-warn[_ngcontent-%COMP%] .mat-calendar-body-cell[_ngcontent-%COMP%]:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content[_ngcontent-%COMP%]:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#f443364d}}.mat-datepicker-content-touch[_ngcontent-%COMP%]{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-datepicker-toggle-active[_ngcontent-%COMP%]{color:#0f0761}.mat-datepicker-toggle-active.mat-accent[_ngcontent-%COMP%]{color:#dd7345}.mat-datepicker-toggle-active.mat-warn[_ngcontent-%COMP%]{color:#f44336}.mat-date-range-input-inner[disabled][_ngcontent-%COMP%]{color:#00000061}.mat-calendar-controls[_ngcontent-%COMP%] .mat-mdc-icon-button.mat-mdc-button-base[_ngcontent-%COMP%]{--mdc-icon-button-state-layer-size: 40px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:8px}.mat-calendar-controls[_ngcontent-%COMP%] .mat-mdc-icon-button.mat-mdc-button-base[_ngcontent-%COMP%] .mat-mdc-button-touch-target[_ngcontent-%COMP%]{display:none}.mat-calendar[_ngcontent-%COMP%]{font-family:Inter}.mat-calendar-body[_ngcontent-%COMP%]{font-size:13px}.mat-calendar-body-label[_ngcontent-%COMP%], .mat-calendar-period-button[_ngcontent-%COMP%]{font-size:14px;font-weight:500}.mat-calendar-table-header[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:11px;font-weight:400}html[_ngcontent-%COMP%]{--mat-divider-color: rgba(0, 0, 0, .12)}html[_ngcontent-%COMP%]{--mat-expansion-container-background-color: white;--mat-expansion-container-text-color: rgba(0, 0, 0, .87);--mat-expansion-actions-divider-color: rgba(0, 0, 0, .12);--mat-expansion-header-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-expansion-header-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-expansion-header-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-expansion-header-text-color: rgba(0, 0, 0, .87);--mat-expansion-header-description-color: rgba(0, 0, 0, .54);--mat-expansion-header-indicator-color: rgba(0, 0, 0, .54)}html[_ngcontent-%COMP%]{--mat-expansion-header-collapsed-state-height: 48px;--mat-expansion-header-expanded-state-height: 64px}html[_ngcontent-%COMP%]{--mat-expansion-header-text-font: Inter;--mat-expansion-header-text-size: 14px;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: inherit;--mat-expansion-header-text-tracking: inherit;--mat-expansion-container-text-font: Inter;--mat-expansion-container-text-line-height: 20px;--mat-expansion-container-text-size: 14px;--mat-expansion-container-text-tracking: .0178571429em;--mat-expansion-container-text-weight: 400}.mat-grid-tile-header[_ngcontent-%COMP%], .mat-grid-tile-footer[_ngcontent-%COMP%]{font-size:14px}.mat-grid-tile-header[_ngcontent-%COMP%] .mat-line[_ngcontent-%COMP%], .mat-grid-tile-footer[_ngcontent-%COMP%] .mat-line[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header[_ngcontent-%COMP%] .mat-line[_ngcontent-%COMP%]:nth-child(n+2), .mat-grid-tile-footer[_ngcontent-%COMP%] .mat-line[_ngcontent-%COMP%]:nth-child(n+2){font-size:12px}.mat-icon.mat-primary[_ngcontent-%COMP%]{color:#0f0761}.mat-icon.mat-accent[_ngcontent-%COMP%]{color:#dd7345}.mat-icon.mat-warn[_ngcontent-%COMP%]{color:#f44336}html[_ngcontent-%COMP%]{--mat-sidenav-container-divider-color: rgba(0, 0, 0, .12);--mat-sidenav-container-background-color: white;--mat-sidenav-container-text-color: rgba(0, 0, 0, .87);--mat-sidenav-content-background-color: #fafafa;--mat-sidenav-content-text-color: rgba(0, 0, 0, .87);--mat-sidenav-scrim-color: rgba(0, 0, 0, .6)}html[_ngcontent-%COMP%]{--mat-stepper-header-icon-foreground-color: white;--mat-stepper-header-selected-state-icon-background-color: #0f0761;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #0f0761;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #0f0761;--mat-stepper-header-edit-state-icon-foreground-color: white;--mat-stepper-container-color: white;--mat-stepper-line-color: rgba(0, 0, 0, .12);--mat-stepper-header-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-stepper-header-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-stepper-header-label-text-color: rgba(0, 0, 0, .54);--mat-stepper-header-optional-label-text-color: rgba(0, 0, 0, .54);--mat-stepper-header-selected-state-label-text-color: rgba(0, 0, 0, .87);--mat-stepper-header-error-state-label-text-color: #f44336;--mat-stepper-header-icon-background-color: rgba(0, 0, 0, .54);--mat-stepper-header-error-state-icon-foreground-color: #f44336;--mat-stepper-header-error-state-icon-background-color: transparent}html[_ngcontent-%COMP%] .mat-step-header.mat-accent[_ngcontent-%COMP%]{--mat-stepper-header-icon-foreground-color: white;--mat-stepper-header-selected-state-icon-background-color: #dd7345;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #dd7345;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #dd7345;--mat-stepper-header-edit-state-icon-foreground-color: white}html[_ngcontent-%COMP%] .mat-step-header.mat-warn[_ngcontent-%COMP%]{--mat-stepper-header-icon-foreground-color: white;--mat-stepper-header-selected-state-icon-background-color: #f44336;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #f44336;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #f44336;--mat-stepper-header-edit-state-icon-foreground-color: white}html[_ngcontent-%COMP%]{--mat-stepper-header-height: 72px}html[_ngcontent-%COMP%]{--mat-stepper-container-text-font: Inter;--mat-stepper-header-label-text-font: Inter;--mat-stepper-header-label-text-size: 14px;--mat-stepper-header-label-text-weight: 400;--mat-stepper-header-error-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-weight: 400}.mat-sort-header-arrow[_ngcontent-%COMP%]{color:#757575}html[_ngcontent-%COMP%]{--mat-toolbar-container-background-color: whitesmoke;--mat-toolbar-container-text-color: rgba(0, 0, 0, .87)}.mat-toolbar.mat-primary[_ngcontent-%COMP%]{--mat-toolbar-container-background-color: #0f0761;--mat-toolbar-container-text-color: white}.mat-toolbar.mat-accent[_ngcontent-%COMP%]{--mat-toolbar-container-background-color: #dd7345;--mat-toolbar-container-text-color: white}.mat-toolbar.mat-warn[_ngcontent-%COMP%]{--mat-toolbar-container-background-color: #f44336;--mat-toolbar-container-text-color: white}html[_ngcontent-%COMP%]{--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px}html[_ngcontent-%COMP%]{--mat-toolbar-title-text-font: Inter;--mat-toolbar-title-text-line-height: 32px;--mat-toolbar-title-text-size: 20px;--mat-toolbar-title-text-tracking: .0125em;--mat-toolbar-title-text-weight: 500}.mat-tree[_ngcontent-%COMP%]{background:white}.mat-tree-node[_ngcontent-%COMP%], .mat-nested-tree-node[_ngcontent-%COMP%]{color:#000000de}.mat-tree-node[_ngcontent-%COMP%]{min-height:48px}.mat-tree[_ngcontent-%COMP%]{font-family:Inter}.mat-tree-node[_ngcontent-%COMP%], .mat-nested-tree-node[_ngcontent-%COMP%]{font-weight:400;font-size:14px}.mat-h1[_ngcontent-%COMP%], .mat-headline-5[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-5[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:24px;font-weight:400;line-height:32px;font-family:Inter;letter-spacing:normal;margin:0 0 16px}.mat-h2[_ngcontent-%COMP%], .mat-headline-6[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-6[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:20px;font-weight:500;line-height:32px;font-family:Inter;letter-spacing:.0125em;margin:0 0 16px}.mat-h3[_ngcontent-%COMP%], .mat-subtitle-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h3[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-subtitle-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:16px;font-weight:400;line-height:28px;font-family:Inter;letter-spacing:.009375em;margin:0 0 16px}.mat-h4[_ngcontent-%COMP%], .mat-body-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h4[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:16px;font-weight:400;line-height:24px;font-family:Inter;letter-spacing:.03125em;margin:0 0 16px}.mat-h5[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h5[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{font:400 11.62px/20px Inter;margin:0 0 12px}.mat-h6[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-h6[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{font:400 9.38px/20px Inter;margin:0 0 12px}.mat-body-strong[_ngcontent-%COMP%], .mat-subtitle-2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body-strong[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-subtitle-2[_ngcontent-%COMP%]{font-size:14px;font-weight:500;line-height:22px;font-family:Inter;letter-spacing:.0071428571em}.mat-body[_ngcontent-%COMP%], .mat-body-2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body-2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%]{font-size:14px;font-weight:400;line-height:20px;font-family:Inter;letter-spacing:.0178571429em}.mat-body[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mat-body-2[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-body-2[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 12px}.mat-small[_ngcontent-%COMP%], .mat-caption[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-small[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-caption[_ngcontent-%COMP%]{font-size:12px;font-weight:400;line-height:20px;font-family:Inter;letter-spacing:.0333333333em}.mat-headline-1[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-1[_ngcontent-%COMP%]{font-size:96px;font-weight:300;line-height:96px;font-family:Inter;letter-spacing:-.015625em;margin:0 0 56px}.mat-headline-2[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-2[_ngcontent-%COMP%]{font-size:60px;font-weight:300;line-height:60px;font-family:Inter;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-3[_ngcontent-%COMP%]{font-size:48px;font-weight:400;line-height:50px;font-family:Inter;letter-spacing:normal;margin:0 0 64px}.mat-headline-4[_ngcontent-%COMP%], .mat-typography[_ngcontent-%COMP%] .mat-headline-4[_ngcontent-%COMP%]{font-size:34px;font-weight:400;line-height:40px;font-family:Inter;letter-spacing:.0073529412em;margin:0 0 64px}.grid-wrapper[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:20px}label.radio-card[_ngcontent-%COMP%]{cursor:pointer}label.radio-card[_ngcontent-%COMP%] .card-content-wrapper[_ngcontent-%COMP%]{background:#fff;border-radius:5px;max-width:200px;min-height:200px;padding:12px;display:grid;box-shadow:0 2px 4px #dbd7d70a;border:1px solid #e3e3e3;background-size:contain;background-repeat:no-repeat}label.radio-card[_ngcontent-%COMP%] .card-content-wrapper.not-included[_ngcontent-%COMP%]{opacity:.5;cursor:default!important;pointer-events:none!important}label.radio-card[_ngcontent-%COMP%] .check-icon[_ngcontent-%COMP%]{width:20px;height:20px;display:inline-block;border:solid 2px #e3e3e3;background-color:#e3e3e3;border-radius:50%;position:relative}label.radio-card[_ngcontent-%COMP%] .check-icon[_ngcontent-%COMP%]:before{content:\"\";position:absolute;inset:0;background-image:url(\"data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.93552 4.58423C0.890286 4.53718 0.854262 4.48209 0.829309 4.42179C0.779553 4.28741 0.779553 4.13965 0.829309 4.00527C0.853759 3.94471 0.889842 3.88952 0.93552 3.84283L1.68941 3.12018C1.73378 3.06821 1.7893 3.02692 1.85185 2.99939C1.91206 2.97215 1.97736 2.95796 2.04345 2.95774C2.11507 2.95635 2.18613 2.97056 2.2517 2.99939C2.31652 3.02822 2.3752 3.06922 2.42456 3.12018L4.69872 5.39851L9.58026 0.516971C9.62828 0.466328 9.68554 0.42533 9.74895 0.396182C9.81468 0.367844 9.88563 0.353653 9.95721 0.354531C10.0244 0.354903 10.0907 0.369582 10.1517 0.397592C10.2128 0.425602 10.2672 0.466298 10.3112 0.516971L11.0651 1.25003C11.1108 1.29672 11.1469 1.35191 11.1713 1.41247C11.2211 1.54686 11.2211 1.69461 11.1713 1.82899C11.1464 1.88929 11.1104 1.94439 11.0651 1.99143L5.06525 7.96007C5.02054 8.0122 4.96514 8.0541 4.90281 8.08294C4.76944 8.13802 4.61967 8.13802 4.4863 8.08294C4.42397 8.0541 4.36857 8.0122 4.32386 7.96007L0.93552 4.58423Z' fill='white'/%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-size:12px;background-position:center center;transform:scale(1.6);opacity:0}label.radio-card[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{appearance:none;-webkit-appearance:none;-moz-appearance:none}label.radio-card[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + .card-content-wrapper[_ngcontent-%COMP%]{box-shadow:0 2px 4px #dbd7d780,0 0 0 2px;opacity:1}label.radio-card[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + .card-content-wrapper[_ngcontent-%COMP%] .check-icon[_ngcontent-%COMP%]{transform:scale(1.2)}label.radio-card[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + .card-content-wrapper[_ngcontent-%COMP%] .check-icon[_ngcontent-%COMP%]:before{transform:scale(1);opacity:1}label.radio-card[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:focus + .card-content-wrapper[_ngcontent-%COMP%] .check-icon[_ngcontent-%COMP%]{box-shadow:0 0 0 4px #3056d533;border-color:#3056d5}label.radio-card[_ngcontent-%COMP%] .card-content[_ngcontent-%COMP%]{width:100%;text-align:center}label.radio-card[_ngcontent-%COMP%] .card-content[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-bottom:10px;width:100%;height:110px}label.radio-card[_ngcontent-%COMP%] .card-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#000}.details-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%], .details-section[_ngcontent-%COMP%] .action-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%}mat-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.calendly-inline-widget[_ngcontent-%COMP%]{height:500px}.unlock-btn[_ngcontent-%COMP%]{position:relative;top:-95px;right:-55px;color:red}.action-bar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.action-bar[_ngcontent-%COMP%] .button-group[_ngcontent-%COMP%]{display:flex;gap:8px}.action-bar[_ngcontent-%COMP%] .secondary-btn[_ngcontent-%COMP%]{background-color:transparent!important;border:1px solid #908cba!important;color:#908cba!important} .mat-expansion-panel-header>.mat-expansion-indicator:after{color:unset!important} .mat-mdc-select-arrow{color:unset!important}.dark-theme[_ngcontent-%COMP%] label.radio-card[_ngcontent-%COMP%] .card-content-wrapper[_ngcontent-%COMP%]{background:#000;border:1px solid #fff}.dark-theme[_ngcontent-%COMP%] label.radio-card[_ngcontent-%COMP%] .check-icon[_ngcontent-%COMP%]{border:solid 2px #2d2d2d}.dark-theme[_ngcontent-%COMP%] label.radio-card[_ngcontent-%COMP%] .card-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#fff}.dark-theme[_ngcontent-%COMP%] .details-section[_ngcontent-%COMP%] .mat-button-toggle-group button{background:inherit!important}.dark-theme[_ngcontent-%COMP%] .details-section[_ngcontent-%COMP%] .mat-button-toggle-group button span{color:#2d2d2d!important}.security-config-container[_ngcontent-%COMP%]{padding:32px 0}.security-config-container[_ngcontent-%COMP%] .top-hint[_ngcontent-%COMP%]{margin-bottom:32px;padding:16px;background:rgba(241,240,246,.1);border-radius:8px}.security-config-container[_ngcontent-%COMP%] .top-hint[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;color:#000000de}.security-config-container[_ngcontent-%COMP%] .top-hint[_ngcontent-%COMP%] .role-link[_ngcontent-%COMP%]{color:#908cba;text-decoration:none;font-weight:500;cursor:pointer}.security-config-container[_ngcontent-%COMP%] .top-hint[_ngcontent-%COMP%] .role-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.security-config-container[_ngcontent-%COMP%] .security-cards-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:40px}@media (max-width: 768px){.security-config-container[_ngcontent-%COMP%] .security-cards-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.security-config-container[_ngcontent-%COMP%] .security-option-card[_ngcontent-%COMP%]{position:relative;cursor:pointer;transition:all .2s ease-in-out;border-radius:12px;background:white;border:1px solid rgba(0,0,0,.12);overflow:hidden;height:100%;min-height:180px;display:flex;flex-direction:column}.security-config-container[_ngcontent-%COMP%] .security-option-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.security-config-container[_ngcontent-%COMP%] .security-option-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;height:100%;justify-content:center}.security-config-container[_ngcontent-%COMP%] .security-option-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;font-size:24px;font-weight:500;color:#000000de}.security-config-container[_ngcontent-%COMP%] .security-option-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#0009;font-size:16px;line-height:1.6}.security-config-container[_ngcontent-%COMP%] .security-option-card.selected[_ngcontent-%COMP%]{border-color:#908cba;background-color:#f1f0f61a}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%]{margin-top:40px}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%]{width:100%;max-width:400px;margin-bottom:32px}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%] .mat-mdc-form-field-wrapper[_ngcontent-%COMP%]{padding-bottom:0}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .components-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:32px}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .component-card[_ngcontent-%COMP%]{border:1px solid rgba(0,0,0,.12);border-radius:8px;transition:all .2s ease-in-out;cursor:pointer;background:white}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .component-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:24px;display:flex;align-items:center;gap:16px}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .component-card[_ngcontent-%COMP%] .checkbox-wrapper[_ngcontent-%COMP%]{margin-right:8px}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .component-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .component-card.selected[_ngcontent-%COMP%]{border-color:#908cba;background-color:#f1f0f60d}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%]{margin-top:40px;padding:32px;background:white;border-radius:12px;border:1px solid rgba(0,0,0,.12)}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%]{margin:0 0 32px;padding:16px;background:rgba(241,240,246,.1);border-radius:8px;display:flex;align-items:center;gap:12px}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#908cba;font-size:20px;width:20px;height:20px}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;color:#000000de}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%] .role-link[_ngcontent-%COMP%]{color:#908cba;text-decoration:none;font-weight:500;cursor:pointer}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%] .role-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 24px;font-size:24px;font-weight:500;color:#000000de}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border:none;width:100%}@media (max-width: 768px){.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{grid-template-columns:1fr}}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] .mat-button-toggle[_ngcontent-%COMP%]{background:white;border:1px solid rgba(0,0,0,.12);border-radius:8px;height:auto;width:100%;transition:all .2s ease-in-out}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] .mat-button-toggle[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] .mat-button-toggle[_ngcontent-%COMP%] .toggle-content[_ngcontent-%COMP%]{padding:24px;text-align:center}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] .mat-button-toggle[_ngcontent-%COMP%] .toggle-content[_ngcontent-%COMP%] .toggle-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:500;color:#000000de}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] .mat-button-toggle[_ngcontent-%COMP%] .toggle-content[_ngcontent-%COMP%] .toggle-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:8px 0 0;font-size:14px;color:#0009}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] .mat-button-toggle.mat-button-toggle-checked[_ngcontent-%COMP%]{background:rgba(241,240,246,.1);border-color:#908cba}.security-config-container[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .access-level-controls[_ngcontent-%COMP%] .mat-button-toggle.mat-button-toggle-checked[_ngcontent-%COMP%] .toggle-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#908cba}.action-container[_ngcontent-%COMP%]{margin-top:40px;padding-top:24px;border-top:1px solid rgba(0,0,0,.12);display:flex;justify-content:space-between;align-items:center}.action-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{min-width:120px}.dark-theme[_ngcontent-%COMP%] .security-option-card[_ngcontent-%COMP%]{background:rgba(255,255,255,.05);border-color:#ffffff1f}.dark-theme[_ngcontent-%COMP%] .security-option-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#ffffffde}.dark-theme[_ngcontent-%COMP%] .security-option-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#fff9}.dark-theme[_ngcontent-%COMP%] .security-option-card.selected[_ngcontent-%COMP%]{background-color:#908cba26}.dark-theme[_ngcontent-%COMP%] .component-card[_ngcontent-%COMP%]{background:rgba(255,255,255,.05);border-color:#ffffff1f}.dark-theme[_ngcontent-%COMP%] .component-card.selected[_ngcontent-%COMP%]{background-color:#908cba26}.dark-theme[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%]{background:rgba(255,255,255,.05);border-color:#ffffff1f}.dark-theme[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#ffffffde}.dark-theme[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .mat-button-toggle[_ngcontent-%COMP%]{background:rgba(255,255,255,.05);border-color:#ffffff1f}.dark-theme[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .mat-button-toggle[_ngcontent-%COMP%] .toggle-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#ffffffde}.dark-theme[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .mat-button-toggle[_ngcontent-%COMP%] .toggle-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#fff9}.dark-theme[_ngcontent-%COMP%] .access-level-section[_ngcontent-%COMP%] .mat-button-toggle.mat-button-toggle-checked[_ngcontent-%COMP%]{background:rgba(144,140,186,.15)}.dark-theme[_ngcontent-%COMP%] .security-config-container[_ngcontent-%COMP%] .top-hint[_ngcontent-%COMP%]{background:rgba(144,140,186,.1)}.dark-theme[_ngcontent-%COMP%] .security-config-container[_ngcontent-%COMP%] .top-hint[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#ffffffde}.component-selection[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 16px;font-size:24px;font-weight:500;color:#000000de}.component-selection[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%]{margin:0 0 32px;padding:16px;background:rgba(241,240,246,.1);border-radius:8px}.component-selection[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;color:#000000de}.component-selection[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%] .role-link[_ngcontent-%COMP%]{color:#908cba;text-decoration:none;font-weight:500;cursor:pointer}.component-selection[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%] .role-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.dark-theme[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#ffffffde}.dark-theme[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%]{background:rgba(144,140,186,.1)}.dark-theme[_ngcontent-%COMP%] .component-selection[_ngcontent-%COMP%] .hint-widget[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#ffffffde}";let Ot=((E=class{constructor(o,e,c,a,i,d,r,m,p,h,rt,kc,wc){this.activatedRoute=o,this.fb=e,this.servicesService=c,this.cacheService=a,this.router=i,this.systemConfigDataService=d,this.http=r,this.dialog=m,this.themeService=p,this.snackbarService=h,this.currentServiceService=rt,this.snackBar=kc,this.systemService=wc,this.edit=!1,this.isDatabase=!1,this.isNetworkService=!1,this.isScriptService=!1,this.isFile=!1,this.isAuth=!1,this.faCircleInfo=C.DBf,this.search="",this.content="",this.showSecurityConfig=!1,this.selectedAccessType="",this.selectedComponent="",this.selectedAccessLevel="",this.showComponentSelection=!1,this.componentList=[],this.componentSearch="",this.selectedComponents=[],this.currentServiceId=null,this.isDarkMode=this.themeService.darkMode$,this.warnings=[],this.serviceForm=this.fb.group({type:["",s.kI.required],name:["",s.kI.required],label:[""],description:[""],isActive:[!0],service_doc_by_service_id:this.fb.group({format:[],content:[""]})}),this.activatedRoute.snapshot.paramMap.get("id")&&(this.edit=!0)}ngOnInit(){this.http.get("assets/img/databaseImages.json").subscribe(o=>{this.images=o}),this.systemConfigDataService.environment$.pipe((0,nt.w)(o=>this.activatedRoute.data.pipe((0,w.U)(e=>({env:o,route:e}))))).subscribe(({env:o,route:e})=>{e.groups&&"Database"===e.groups[0]&&(this.isDatabase=!0),e.groups&&"Remote Service"===e.groups[0]&&(this.isNetworkService=!0),e.groups&&"Script"===e.groups[0]&&(this.isScriptService=!0),e.groups&&"File"===e.groups[0]&&(this.isFile=!0),e.groups&&"LDAP"===e.groups[0]&&(this.isAuth=!0);const{data:c,serviceTypes:a,groups:i}=e,d=o.platform?.license;this.serviceTypes=a.filter(r=>"python"!==r.name.toLowerCase()),this.notIncludedServices=[],this.snackbarService.setSnackbarLastEle(c&&(c.label||c.name)?c.label?c.label:c.name:"Unknown label",!1),this.isDatabase?("SILVER"===d&&this.notIncludedServices.push(...ot.map(r=>(r.class="not-included",r)).filter(r=>i.includes(r.group))),"OPEN SOURCE"===d&&this.notIncludedServices.push(...Zt.map(r=>(r.class="not-included",r)).filter(r=>i.includes(r.group)),...ot.map(r=>(r.class="not-included",r)).filter(r=>i.includes(r.group)))):("SILVER"===d&&this.serviceTypes.push(...ot.filter(r=>i.includes(r.group))),"OPEN SOURCE"===d&&this.serviceTypes.push(...Zt.filter(r=>i.includes(r.group)),...ot.filter(r=>i.includes(r.group)))),c?.serviceDocByServiceId&&(c.config.serviceDefinition=c?.serviceDocByServiceId.content,this.getServiceDocByServiceIdControl("content").setValue(c?.serviceDocByServiceId.content)),this.serviceData=c,this.content=c?c.config.serviceDefinition:"",this.edit?(this.configSchema=this.getConfigSchema(c.type),this.initializeConfig(""),this.serviceForm.patchValue({...c,config:c.config}),c?.serviceDocByServiceId&&(this.serviceDefinitionType=""+c?.serviceDocByServiceId.format,this.getConfigControl("serviceDefinition").setValue(c.config.content)),this.isAuth||this.getConfigControl("serviceDefinition").setValue(c.config.content),this.serviceForm.controls.type.disable()):this.serviceForm.controls.type.valueChanges.subscribe(r=>{this.serviceForm.removeControl("config"),this.configSchema=this.getConfigSchema(r),this.initializeConfig(r)})}),this.isDatabase&&this.serviceForm.controls.type.valueChanges.subscribe(o=>{this.serviceForm.patchValue({label:o})})}initializeConfig(o){if(this.configSchema&&this.configSchema.length>0){const e=this.fb.group({});this.configSchema.forEach(a=>{const i=[];a.required&&i.push(s.kI.required),e?.addControl(a.name,new s.NI(a.default,i))}),this.isFile&&"local_file"===o&&e?.addControl("excelContent",new s.NI(""));const c=this.configSchema.filter(a=>"content"===a.name)?.[0];if(c){const a=[];c.required&&a.push(s.kI.required),e?.addControl("serviceDefinition",new s.NI(c.default,a))}this.isNetworkService&&(this.serviceForm.addControl("type",new s.NI("")),e.addControl("content",new s.NI(""))),this.serviceForm.addControl("config",e)}}get subscriptionRequired(){return this.serviceForm.controls.type.value&&0===this.configSchema?.length}get scriptMode(){const o=this.serviceForm.getRawValue().type;return"nodejs"===o?$.h.NODEJS:"python"===o?$.h.PYTHON:"python3"===o?$.h.PYTHON3:"php"===o?$.h.PHP:$.h.TEXT}excelUpload(o){const e=this.serviceForm.get("config"),c=o.target;c.files&&e&&e.get("excelContent")&&(0,At.Vu)(c.files[0]).subscribe(a=>{const i=e.get("excelContent");i&&i.setValue(a)})}getConfigSchema(o){return this.serviceTypes.find(e=>e.name===o)?.configSchema.map(e=>{const c="array"===e.type&&Array.isArray(e.items)?e.items.map(a=>({...a,name:(0,pt.LZ)(a.name)})):e.items;return{...e,name:(0,pt.LZ)(e.name),items:c}})??[]}get viewSchema(){return this.configSchema?.filter(e=>!["storageServiceId","storagePath"].includes(e.name))}getConfigControl(o){return this.serviceForm.get(`config.${o}`)}getServiceDocByServiceIdControl(o){return this.serviceForm.get(`service_doc_by_service_id.${o}`)}getServiceDefinitionControl(){return this.serviceForm.get("serviceDefinition")}getControl(o){return this.serviceForm.controls[o]}save(o,e){const c=this.serviceForm.getRawValue();if(""===c.type||""===c.name)return;this.validateServiceName(c.name)||console.warn(this.warnings);const a=this.formatServiceName(c.name);this.serviceForm.patchValue({name:a});let d,i={snackbarError:"server",snackbarSuccess:"services.createSuccessMsg"};if(this.isNetworkService?(i={...i,fields:"*",related:"service_doc_by_service_id"},c.service_doc_by_service_id.content=c.config.content,c.service_doc_by_service_id.format=Number(this.serviceDefinitionType)):this.isScriptService?(i={...i,fields:"*",related:"service_doc_by_service_id"},c.config?(c.config.content=c.config.serviceDefinition,""===c.service_doc_by_service_id.content?c.service_doc_by_service_id=null:c.service_doc_by_service_id.format=this.serviceDefinitionType?Number(this.serviceDefinitionType):0,delete c.config.serviceDefinition):c.service_doc_by_service_id=null):delete c.service_doc_by_service_id,c.type.toLowerCase().includes("saml")?(i={...i,fields:"*",related:"service_doc_by_service_id"},d={...c,is_active:c.isActive,id:this.edit?this.serviceData.id:null,config:{sp_nameIDFormat:c.config.spNameIDFormat,default_role:c.config.defaultRole,sp_x509cert:c.config.spX509cert,sp_privateKey:c.config.spPrivateKey,idp_entityId:c.config.idpEntityId,idp_singleSignOnService_url:c.config.idpSingleSignOnServiceUrl,idp_x509cert:c.config.idpX509cert,relay_state:c.config.relayState}},c.config.appRoleMap&&(d.config.app_role_map=c.config.appRoleMap.map(r=>Object.keys(r).reduce((m,p)=>({...m,[(0,pt.Vn)(p)]:r[p]}),{}))),c.config.iconClass&&(d.config.icon_class=c.config.iconClass),delete d.isActive):(d={...c,id:this.edit?this.serviceData.id:null},d={...c}),this.edit){const r={...this.serviceData,...c,config:{...this.serviceData.config||{},...c.config},service_doc_by_service_id:c.service_doc_by_service_id?{...this.serviceData.serviceDocByServiceId||{},...c.service_doc_by_service_id}:null};delete r.config.serviceDefinition,this.servicesService.update(this.serviceData.id,r,{snackbarError:"server",snackbarSuccess:"services.updateSuccessMsg"}).subscribe(()=>{c.type.toLowerCase().includes("saml")?this.router.navigate(["../"],{relativeTo:this.activatedRoute}):o&&this.cacheService.delete(r.name,{snackbarSuccess:"cache.serviceCacheFlushed"}).subscribe({next:()=>{e||this.router.navigate(["../"],{relativeTo:this.activatedRoute})},error:m=>console.error("Error flushing cache",m)})})}else this.servicesService.create({resource:[d]},i).pipe((0,nt.w)(r=>this.isDatabase?this.http.get(`${bt._}/${a}/_table`).pipe((0,w.U)(()=>r),(0,v.K)(m=>this.servicesService.delete(r.resource[0].id).pipe((0,wn.z)(()=>(0,z._)(()=>new Error("Database connection failed. Please check your connection details.")))))):(0,It.of)(r))).subscribe({next:()=>{c.type.toLowerCase().includes("saml")?this.router.navigate(["../"],{relativeTo:this.activatedRoute}):this.router.navigate([`/api-connections/api-docs/${a}`])},error:r=>{this.snackbarService.openSnackBar(r.message||"Failed to create service","error")}})}validateServiceName(o){return!!/^[a-zA-Z0-9_]+$/.test(o)||(this.warnings.push("Service name can only contain letters, numbers, and underscores."),!1)}formatServiceName(o){return o.toLowerCase().replace(/\s+/g,"").replace(/[^a-z0-9_]/g,"")}gotoSchema(){const o=this.serviceForm.getRawValue();this.router.navigate([`/admin-settings/schema/${o.name}`])}gotoAPIDocs(){const o=this.serviceForm.getRawValue();this.currentServiceService.setCurrentServiceId(this.serviceData.id),this.router.navigate([`/api-connections/api-docs/${o.name}`])}goBack(){this.router.navigate(["../"],{relativeTo:this.activatedRoute})}getBackgroundImage(o){const e=this.images?.find(c=>c.label==o);return e&&e?e.src:""}get filteredServiceTypes(){return this.serviceTypes.filter(o=>o.label.toLowerCase().includes(this.search.toLowerCase())||o.name.toLowerCase().includes(this.search.toLowerCase()))}nextStep(o){o.next()}openDialog(){this.dialog.open(Kt).afterClosed().subscribe()}onServiceDefinitionTypeChange(o){this.serviceDefinitionType=o}onAccessTypeChange(o){this.selectedComponent="",this.showComponentSelection="all"!==this.selectedAccessType,this.componentList=[{label:"Component 1",value:"comp1",selected:!1},{label:"Component 2",value:"comp2",selected:!1},{label:"Component 3",value:"comp3",selected:!1}]}onComponentSelect(o){"string"==typeof o?(this.selectedComponent=o,this.componentList.forEach(e=>e.selected=e.value===o)):(this.selectedComponent=o.value,this.componentList.forEach(e=>e.selected=e.value===o.value))}isSecurityConfigValid(){return"all"===this.selectedAccessType?!!this.selectedAccessLevel&&"*"===this.selectedComponent:!!this.selectedAccessType&&!!this.selectedComponent&&!!this.selectedAccessLevel&&this.selectedComponent.includes("/*")}selectAccessType(o){if(this.selectedAccessType=o,this.selectedComponent="",this.showComponentSelection="all"!==o,"all"===o)return this.componentList=[],this.selectedComponent="*",void(this.selectedAccessLevel="full");const e=this.serviceForm.get("name")?.value;switch(o){case"tables":this.selectedComponent="_table/*",this.componentList=["_table"].map(c=>({label:`${e}${c}`,value:`${c}/*`,selected:!0}));break;case"procedures":this.selectedComponent="_proc/*",this.componentList=["_proc"].map(c=>({label:`${e}${c}`,value:`${c}/*`,selected:!0}));break;case"functions":this.selectedComponent="_func/*",this.componentList=["_func"].map(c=>({label:`${e}${c}`,value:`${c}/*`,selected:!0}));break;default:this.componentList=[]}}onAccessLevelChange(o){this.selectedAccessLevel=o}get filteredComponents(){return this.componentList.filter(o=>o.label.toLowerCase().includes(this.componentSearch.toLowerCase()))}isComponentSelected(o){return o.selected}onComponentSelectionChange(o){o.selected?this.selectedComponents.push(o):this.selectedComponents=this.selectedComponents.filter(e=>e.value!==o.value)}navigateToRoles(o){o.preventDefault(),this.router.navigate(["/roles"],{queryParams:{tab:"access"}})}goToSecurityConfig(){var o=this;return(0,Wt.Z)(function*(){try{const e=o.serviceForm.getRawValue(),c=o.formatServiceName(e.name);o.serviceForm.patchValue({name:c});const a={...e,config:{...e.config||{}}};a.service_doc_by_service_id=o.isNetworkService&&e.config?.content?{content:e.config.content,format:o.serviceDefinitionType?Number(o.serviceDefinitionType):0}:o.isScriptService&&e.config?.serviceDefinition?{content:e.config.serviceDefinition,format:o.serviceDefinitionType?Number(o.serviceDefinitionType):0}:null;const i=yield o.servicesService.create({resource:[a]},{snackbarError:"server",snackbarSuccess:"services.createSuccessMsg"}).toPromise();if(!i)throw new Error("No response received from service creation");o.currentServiceId=i.resource[0].id,o.snackbarService.openSnackBar("Service successfully created","success"),o.showSecurityConfig=!0,setTimeout(()=>{o.stepper.selectedIndex=o.stepper.steps.length-1})}catch{o.snackbarService.openSnackBar("Error creating service","error")}})()}saveSecurityConfig(){if(!this.isSecurityConfigValid())return;if(!this.currentServiceId)return void this.snackBar.open("No service ID found. Please try again.","Close",{duration:3e3});const o=this.serviceForm.get("name")?.value,e=this.formatServiceName(o),a={resource:[{name:`${o}_auto_role`,description:`Auto-generated role for service ${o}`,is_active:!0,role_service_access_by_role_id:[{service_id:this.currentServiceId,component:this.selectedComponent,verb_mask:this.getAccessLevel(this.selectedAccessLevel),requestor_mask:3,filters:[],filter_op:"AND"}],user_to_app_to_role_by_role_id:[]}]};this.systemService.post("role",a).pipe((0,v.K)(i=>(0,z._)(()=>i)),(0,nt.w)(i=>i?.resource?.[0]?.id?this.systemService.post("app?fields=*&related=role_by_role_id",{resource:[{name:`${o}_app`,description:`Auto-generated app for service ${o}`,type:"0",role_id:i.resource[0].id,is_active:!0,url:null,storage_service_id:null,storage_container:null,path:null}]}).pipe((0,v.K)(m=>(this.snackBar.open(`Error creating app: ${m.error?.message||m.message||"Unknown error"}`,"Close",{duration:5e3}),(0,z._)(()=>m))),(0,w.U)(m=>{if(!m?.resource?.[0])throw new Error("App response missing resource array");const p=m.resource[0];if(!p.apiKey)throw new Error("App response missing apiKey");return{apiKey:p.apiKey,formattedName:e}}),(0,v.K)(m=>(0,z._)(()=>m))):(0,z._)(()=>new Error("Invalid role response"))),(0,w.U)(i=>{if(!i?.apiKey)throw new Error("Invalid app response");return{apiKey:i.apiKey,formattedName:e}})).subscribe({next:i=>{navigator.clipboard?navigator.clipboard.writeText(i.apiKey).then(()=>{this.snackbarService.openSnackBar("API Created and API Key copied to clipboard","success")}).catch(()=>{this.snackbarService.openSnackBar("API Created, but failed to copy API Key","success")}):this.snackbarService.openSnackBar("API Created, but failed to copy API Key","success"),this.router.navigateByUrl(`/api-connections/api-docs/${i.formattedName}`,{replaceUrl:!0}).then(d=>{d||this.router.navigate(["api-connections","api-docs",i.formattedName],{replaceUrl:!0})})},error:i=>{this.snackbarService.openSnackBar("Error saving security configuration","error")}})}getAccessLevel(o){switch(o){case"read":return 1;case"write":return 7;case"full":return 15;default:return 0}}onAccessLevelSelect(o){this.selectedAccessLevel=o}}).\u0275fac=function(o){return new(o||E)(t.Y36(X.gz),t.Y36(s.qu),t.Y36(N.xS),t.Y36(N.OP),t.Y36(X.F0),t.Y36(fo.s),t.Y36(R.eN),t.Y36(b.uw),t.Y36(tt.F),t.Y36(_o.w),t.Y36(bo.K),t.Y36(ho.ux),t.Y36(uo))},E.\u0275cmp=t.Xpm({type:E,selectors:[["df-service-details"]],viewQuery:function(o,e){if(1&o&&(t.Gf(xo,5),t.Gf(Co,5)),2&o){let c;t.iGM(c=t.CRH())&&(e.stepper=c.first),t.iGM(c=t.CRH())&&(e.accessLevelGroup=c.first)}},standalone:!0,features:[t.jDz],decls:6,vars:8,consts:[[1,"details-section",3,"formGroup","ngSubmit"],[4,"ngIf","ngIfElse"],["notDatabaseEdit",""],[4,"ngIf"],["linear",""],["stepper",""],["errorMessage","Service Type is required.",3,"editable"],["matStepLabel",""],[1,"details-section"],[1,"section-header"],["matSuffix","",1,"tool-tip-trigger",3,"icon","matTooltip"],["mat-button","","matStepperNext","","type","button",1,"cancel-btn",3,"disabled"],["appearance","outline",1,"dynamic-width"],["matInput","","placeholder","SQL, AWS, MongoDB, etc.",3,"ngModel","ngModelOptions","ngModelChange"],[1,"full-width"],[1,"grid-wrapper","grid-col-auto"],["class","radio-card",4,"ngFor","ngForOf"],["subscriptSizing","dynamic","class","dynamic-width","appearance","outline",4,"ngIf"],["appearance","outline","subscriptSizing","dynamic","class","dynamic-width",4,"ngIf"],["appearance","outline","subscriptSizing","dynamic","class","full-width",4,"ngIf"],[1,"action-container"],["color","primary","formControlName","isActive",4,"ngIf"],["mat-button","","matStepperPrevious","","type","button",1,"cancel-btn"],["class","full-width action-bar",4,"ngIf"],["class","details-section",4,"ngIf"],["matStepperIcon","edit"],["matStepperIcon","done"],[1,"radio-card"],["formControlName","type","type","radio",3,"value","input"],[1,"card-content-wrapper"],[1,"check-icon"],[1,"card-content"],[1,"card-icon",3,"src","alt"],[1,"text-center",2,"color","black !important"],["mat-button","",1,"unlock-btn",3,"click"],["subscriptSizing","dynamic","appearance","outline",1,"dynamic-width"],["matInput","","formControlName","name"],["appearance","outline","subscriptSizing","dynamic",1,"dynamic-width"],["matInput","","formControlName","label"],["appearance","outline","subscriptSizing","dynamic",1,"full-width"],["rows","1","matInput","","formControlName","description"],["color","primary","formControlName","isActive"],["formGroupName","config"],[4,"ngFor","ngForOf"],["dynamic",""],[1,"full-width",3,"type","storageServiceId","storagePath","content","cache"],[3,"schema","formControl","dynamic-width","full-width",4,"ngIf"],["class","full-width",3,"schema","formControl",4,"ngIf"],[3,"schema","formControl"],[1,"full-width",3,"schema","formControl"],[1,"full-width","action-bar"],["mat-flat-button","","type","button",1,"cancel-btn",3,"click"],[1,"button-group"],["mat-flat-button","","type","button",1,"save-btn","secondary-btn",3,"disabled","click"],["mat-flat-button","","color","primary",1,"save-btn"],[1,"security-config-container"],[1,"hint-widget","top-hint"],[1,"role-link",3,"click"],[1,"security-cards-grid"],[1,"security-option-card",3,"click"],[1,"selection-indicator"],["class","component-selection",4,"ngIf"],["mat-flat-button","","color","primary","type","button",3,"disabled","click"],[1,"component-selection"],[1,"access-level-section"],[1,"access-level-controls"],[3,"value","change"],["accessLevelGroup","matButtonToggleGroup"],["value","read"],[1,"toggle-content"],[1,"toggle-text"],["value","write"],["value","full"],[3,"ngSwitch"],[4,"ngSwitchCase"],["formControlName","type"],[3,"value",4,"ngFor","ngForOf"],["subscriptSizing","dynamic","appearance","outline","class","full-width",4,"ngIf"],["subscriptSizing","dynamic","class","full-width","appearance","outline",4,"ngIf"],["formControlName","isActive","color","primary",4,"ngIf"],[3,"value"],["subscriptSizing","dynamic","appearance","outline",1,"full-width"],["formControlName","isActive","color","primary"],["notDatabase",""],["type","button","mat-flat-button","",1,"save-btn",3,"click"],[3,"expanded"],[1,"full-width",3,"isScript","type","storageServiceId","storagePath","content","cache"],["aria-label","Service Definition Type",3,"ngModel","ngModelOptions","ngModelChange","change"],["value","0"],["value","1"],[1,"full-width",3,"type","content","contentText"],[1,"actions","full-width"],["type","file",2,"display","none",3,"accept","change"],["fileInput",""],[1,"full-width",3,"formControl","mode"],["color","primary",3,"schema","formControl","dynamic-width","full-width",4,"ngIf"],["color","primary",3,"schema","formControl"],["mat-flat-button","","color","primary",1,"save-btn",3,"value","click"]],template:function(o,e){if(1&o&&(t.TgZ(0,"form",0),t.NdJ("ngSubmit",function(){return e.save(!1,!1)}),t.ALo(1,"async"),t.YNc(2,Xo,52,24,"ng-container",1),t.YNc(3,Pc,16,15,"ng-template",null,2,t.W1O),t.qZA(),t.YNc(5,vc,1,0,"df-paywall",3)),2&o){const c=t.MAs(4);t.Tol(t.lcZ(1,6,e.isDarkMode)?"dark-theme":""),t.Q6J("formGroup",e.serviceForm),t.xp6(2),t.Q6J("ngIf",e.isDatabase&&!e.edit)("ngIfElse",c),t.xp6(3),t.Q6J("ngIf",e.subscriptionRequired)}},dependencies:[u.lN,u.KE,u.hX,u.R9,O.c,O.Nt,T.LD,T.gD,M.ey,g.ax,W.rP,W.Rr,yt.Nh,K.To,K.pp,K.ib,K.yz,q.Ot,s.UX,s._Y,s.Fj,s._,s.JJ,s.JL,s.oH,s.sg,s.u,s.x0,s.u5,s.On,g.O5,vt.p9,et,gt,Tt.C,y.uH,y.BN,k.AV,k.gM,x.ot,x.lW,yn.E,ft,Sn.U,mo,Ht,ct,Gt,lo,so,Bt,g.ez,g.RF,g.n9,g.Ov,A.Ps,A.Hw,_t.vV,_t.A9,_t.Yi,go.Fk,J.QW,J.a8,J.dn,po.t],styles:[Vt]}),E);Ot=(0,Z.gn)([(0,P.c)({checkProperties:!0})],Ot);let Kt=(()=>{class n{ngAfterViewInit(){window.Calendly.initInlineWidget({url:"https://calendly.com/dreamfactory-platform/unlock-all-features",parentElement:this.calendlyWidget.nativeElement,autoLoad:!1})}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["df-paywall-modal"]],viewQuery:function(e,c){if(1&e&&t.Gf(yc,5),2&e){let a;t.iGM(a=t.CRH())&&(c.calendlyWidget=a.first)}},standalone:!0,features:[t.jDz],decls:39,vars:27,consts:[[1,"app-container",2,"padding","12px 20px"],["mat-dialog-title","",2,"text-align","center"],[1,"paywall-container"],[1,"details-section"],[1,"info-columns"],[1,"info-column"],[3,"innerHTML"],[1,"paywall-contact"],["href","tel:+1 415-993-5877"],["href","mailto:info@dreamfactory.com"],[1,"calendly-inline-widget"],["calendlyWidget",""]],template:function(e,c){1&e&&(t.TgZ(0,"div",0)(1,"h1",1),t._uU(2,"Unlock Service"),t.qZA(),t.TgZ(3,"mat-dialog-content")(4,"div",2)(5,"h2"),t._uU(6),t.ALo(7,"transloco"),t.qZA(),t.TgZ(8,"h2"),t._uU(9),t.ALo(10,"transloco"),t.qZA(),t.TgZ(11,"div",3)(12,"div",4)(13,"div",5)(14,"h4"),t._uU(15),t.ALo(16,"transloco"),t.qZA(),t._UZ(17,"p",6),t.ALo(18,"transloco"),t.qZA(),t.TgZ(19,"div",5)(20,"h4"),t._uU(21),t.ALo(22,"transloco"),t.qZA(),t.TgZ(23,"p"),t._uU(24),t.ALo(25,"transloco"),t.qZA()()()(),t.TgZ(26,"h2"),t._uU(27),t.ALo(28,"transloco"),t.qZA()(),t.TgZ(29,"h3",7)(30,"a",8),t._uU(31),t.ALo(32,"transloco"),t.qZA(),t._uU(33," | "),t.TgZ(34,"a",9),t._uU(35),t.ALo(36,"transloco"),t.qZA()(),t._UZ(37,"div",10,11),t.qZA()()),2&e&&(t.xp6(6),t.Oqu(t.lcZ(7,9,"paywall.header")),t.xp6(3),t.Oqu(t.lcZ(10,11,"paywall.subheader")),t.xp6(6),t.Oqu(t.lcZ(16,13,"paywall.hostedTrial")),t.xp6(2),t.Q6J("innerHTML",t.lcZ(18,15,"paywall.bookTime"),t.oJD),t.xp6(4),t.Oqu(t.lcZ(22,17,"paywall.learnMoreTitle")),t.xp6(3),t.Oqu(t.lcZ(25,19,"paywall.gain")),t.xp6(3),t.Oqu(t.lcZ(28,21,"paywall.speakToHuman")),t.xp6(4),t.hij("",t.lcZ(32,23,"phone"),": +1 415-993-5877"),t.xp6(4),t.hij(" ",t.lcZ(36,25,"email"),": info@dreamfactory.com "))},dependencies:[b.Is,b.uh,b.xY,x.ot,q.Ot],styles:[Vt]}),n})()}}]); \ No newline at end of file diff --git a/dist/8393.d5ea2a5e0b311cf5.js b/dist/8393.d5ea2a5e0b311cf5.js new file mode 100644 index 00000000..a5b50f8b --- /dev/null +++ b/dist/8393.d5ea2a5e0b311cf5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdf_admin_interface=self.webpackChunkdf_admin_interface||[]).push([[8393],{78393:(ne,x,o)=>{o.r(x),o.d(x,{DfScriptDetailsComponent:()=>D});var y=o(97582),A=o(78791),Z=o(82599),g=o(42346),p=o(64170),d=o(98525),l=o(96814),v=o(24546);const E=[{label:(0,g.Iu)("scriptTypes.nodejs"),value:v.h.NODEJS,extension:"js"},{label:(0,g.Iu)("scriptTypes.php"),value:v.h.PHP,extension:"php"},{label:(0,g.Iu)("scriptTypes.python"),value:v.h.PYTHON,extension:"py"},{label:(0,g.Iu)("scriptTypes.python3"),value:v.h.PYTHON3,extension:"py"}];var u,c=o(56223),_=o(32296),J=o(62810),F=o(24630),S=o(2032),U=o(27921),P=o(37398),L=o(15711),C=o(86806),Q=o(25313),T=o(23680),Y=o(45597),m=o(3305),M=o(6625),k=o(94664),j=o(30977),e=o(65879),N=o(65763);function w(i,n){if(1&i&&(e.TgZ(0,"mat-option",12),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t.label),e.xp6(1),e.hij(" ",t.label," ")}}function R(i,n){if(1&i){const t=e.EpF();e.ynx(0),e.TgZ(1,"form",1),e.ALo(2,"async"),e.TgZ(3,"mat-accordion")(4,"mat-expansion-panel",2)(5,"mat-expansion-panel-header")(6,"mat-panel-title"),e._uU(7," Link to Service "),e.qZA(),e._UZ(8,"mat-panel-description"),e.qZA(),e.TgZ(9,"mat-form-field",3)(10,"mat-label"),e._uU(11,"Select Service"),e.qZA(),e.TgZ(12,"mat-select",4),e.YNc(13,w,2,2,"mat-option",5),e.qZA()(),e.TgZ(14,"mat-form-field",3)(15,"mat-label"),e._uU(16,"Repository: "),e.qZA(),e._UZ(17,"input",6),e.qZA(),e.TgZ(18,"mat-form-field",3)(19,"mat-label"),e._uU(20,"Branch/Tag: "),e.qZA(),e._UZ(21,"input",7),e.qZA(),e.TgZ(22,"mat-form-field",3)(23,"mat-label"),e._uU(24,"Path"),e.qZA(),e._UZ(25,"input",8),e.qZA(),e.TgZ(26,"div",9)(27,"button",10),e.NdJ("click",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.onViewLatest())}),e._UZ(28,"i",11),e._uU(29," View Latest "),e.qZA(),e.TgZ(30,"button",10),e.NdJ("click",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.onDeleteCache())}),e._UZ(31,"i",11),e._uU(32," Delete Cache "),e.qZA()()()()(),e.BQk()}if(2&i){const t=e.oxw();e.xp6(1),e.Tol(e.lcZ(2,5,t.isDarkMode)?"dark-theme":""),e.Q6J("formGroup",t.roleForm),e.xp6(3),e.Q6J("expanded",!1),e.xp6(9),e.Q6J("ngForOf",t.storageServices)}}let b=((u=class{constructor(n,t,a,s){this.themeService=n,this.cacheService=t,this.baseService=a,this.crudService=s,this.storageServices=[],this.selectType=!1,this.isDarkMode=this.themeService.darkMode$,this.roleForm=new c.cw({serviceList:new c.NI(""),repoInput:new c.NI(""),branchInput:new c.NI(""),pathInput:new c.NI("")}),this.baseService.getAll({additionalParams:[{key:"group",value:"source control,file"}]}).subscribe(r=>{this.storageServices=r.services})}ngOnInit(){this.updateDataSource()}ngOnChanges(n){n.storageServiceId&&this.findServiceById()}findServiceById(){this.selectType="github"===this.storageServices.find(t=>t.name===this.storageServiceId)?.type}updateDataSource(){}onViewLatest(){const n=this.roleForm.getRawValue(),I=`${n.serviceList??""}/_repo/${n.repoInput??""}?branch=${n.branchInput??""}&content=1&path=${n.pathInput??""}`;I.endsWith(".json")?this.baseService.downloadJson(I).subscribe(f=>this.content.setValue(f)):this.baseService.downloadFile(I).pipe((0,k.w)(f=>(0,j.Vu)(f))).subscribe(f=>this.content.setValue(f))}onDeleteCache(){this.cache&&this.cacheService.delete(`_event/${this.cache}`,{snackbarSuccess:"scripts.deleteCacheSuccessMsg"}).subscribe()}}).\u0275fac=function(n){return new(n||u)(e.Y36(N.F),e.Y36(C.OP),e.Y36(C.PA),e.Y36(C.qY))},u.\u0275cmp=e.Xpm({type:u,selectors:[["df-link-service"]],inputs:{cache:"cache",storageServiceId:"storageServiceId",storagePath:"storagePath",content:"content"},standalone:!0,features:[e._Bn([M.R]),e.TTD,e.jDz],decls:1,vars:1,consts:[[4,"ngIf"],[1,"details-section",3,"formGroup"],[3,"expanded"],["appearance","outline","subscriptSizing","dynamic",1,"full-width","form-field-gap"],["formControlName","serviceList"],[3,"value",4,"ngFor","ngForOf"],["matInput","","type","text","placeholder","path","formControlName","repoInput"],["matInput","","type","text","placeholder","path","formControlName","branchInput"],["matInput","","type","text","placeholder","path","formControlName","pathInput"],[1,"full-width","action-bar"],["mat-flat-button","","type","button","color","primary",1,"save-btn",3,"click"],[1,"fa","fa-refresh"],[3,"value"]],template:function(n,t){1&n&&e.YNc(0,R,33,7,"ng-container",0),2&n&&e.Q6J("ngIf",t.selectType)},dependencies:[p.lN,p.KE,p.hX,_.ot,_.lW,Q.p0,S.c,S.Nt,d.LD,d.gD,T.ey,Z.rP,Y.uH,m.To,m.pp,m.ib,m.yz,m.yK,m.u4,l.Ov,T.Ng,c.UX,c._Y,c.Fj,c.JJ,c.JL,c.sg,c.u,l.ez,l.sg,l.O5],styles:[".lnik-service-accordion[_ngcontent-%COMP%]{padding:16px 0}.mat-column-actions[_ngcontent-%COMP%], .mat-column-private[_ngcontent-%COMP%]{max-width:10%}.mat-mdc-cell[_ngcontent-%COMP%]{padding:8px}.form-field-gap[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:10px}"]}),u);b=(0,y.gn)([(0,A.c)({checkProperties:!0})],b);var h,q=o(94517),O=o(81896);function G(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function B(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function H(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function V(i,n){1&i&&(e.ynx(0),e._uU(1,"Table Name"),e.BQk())}function $(i,n){1&i&&e._uU(0,"Name")}function K(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function z(i,n){if(1&i){const t=e.EpF();e.ynx(0),e.TgZ(1,"mat-form-field",3)(2,"mat-label"),e.YNc(3,V,2,0,"ng-container",1),e.YNc(4,$,1,0,"ng-template",null,18,e.W1O),e.qZA(),e.TgZ(6,"mat-select",13),e.NdJ("valueChange",function(s){e.CHM(t);const r=e.oxw(2);return e.KtG(r.selectTable=s)})("selectionChange",function(){e.CHM(t);const s=e.oxw(2);return e.KtG(s.selectedTable())}),e.YNc(7,K,2,2,"mat-option",5),e.qZA()(),e.BQk()}if(2&i){const t=e.MAs(5),a=e.oxw(2);e.xp6(3),e.Q6J("ngIf","table"===a.tableProcedureFlag)("ngIfElse",t),e.xp6(3),e.Q6J("value",a.selectTable),e.xp6(1),e.Q6J("ngForOf",a.tableOptions)}}function W(i,n){if(1&i&&(e.ynx(0),e.TgZ(1,"mat-form-field",19)(2,"mat-label"),e._uU(3),e.ALo(4,"transloco"),e.qZA(),e._UZ(5,"input",20),e.qZA(),e.BQk()),2&i){const t=e.oxw(2);e.xp6(3),e.Oqu(e.lcZ(4,2,"scripts.scriptName")),e.xp6(2),e.Q6J("value",t.completeScriptName)}}function X(i,n){if(1&i){const t=e.EpF();e.ynx(0),e.TgZ(1,"mat-form-field",3)(2,"mat-label"),e._uU(3),e.ALo(4,"transloco"),e.qZA(),e.TgZ(5,"mat-select",13),e.NdJ("valueChange",function(s){e.CHM(t);const r=e.oxw();return e.KtG(r.selectedServiceItem=s)})("selectionChange",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.selectedServiceItemEvent())}),e.YNc(6,G,2,2,"mat-option",5),e.qZA()(),e.TgZ(7,"mat-form-field",14)(8,"mat-label"),e._uU(9),e.ALo(10,"transloco"),e.qZA(),e.TgZ(11,"mat-select",13),e.NdJ("valueChange",function(s){e.CHM(t);const r=e.oxw();return e.KtG(r.selectedEventItem=s)})("selectionChange",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.selectedEventItemEvent())}),e.YNc(12,B,2,2,"mat-option",5),e.qZA()(),e.TgZ(13,"mat-form-field",14)(14,"mat-label"),e._uU(15),e.ALo(16,"transloco"),e.qZA(),e.TgZ(17,"mat-select",15),e.NdJ("valueChange",function(s){e.CHM(t);const r=e.oxw();return e.KtG(r.selectedRouteItem=s)}),e.YNc(18,H,2,2,"mat-option",5),e.qZA()(),e.YNc(19,z,8,4,"ng-container",16),e.YNc(20,W,6,4,"ng-container",16),e.BQk()}if(2&i){const t=e.oxw();e.xp6(3),e.Oqu(e.lcZ(4,11,"service")),e.xp6(2),e.Q6J("value",t.selectedServiceItem),e.xp6(1),e.Q6J("ngForOf",t.storeServiceArray),e.xp6(3),e.Oqu(e.lcZ(10,13,"scripts.scriptType")),e.xp6(2),e.Q6J("value",t.selectedEventItem),e.xp6(1),e.Q6J("ngForOf",t.ungroupedEventItems),e.xp6(3),e.Oqu(e.lcZ(16,15,"scripts.scriptMethod")),e.xp6(2),e.Q6J("value",t.selectedRouteItem),e.xp6(1),e.Q6J("ngForOf",t.ungroupedRouteOptions),e.xp6(1),e.Q6J("ngIf",t.tableOptions),e.xp6(1),e.Q6J("ngIf",t.completeScriptName)}}function ee(i,n){if(1&i&&(e.TgZ(0,"mat-form-field",19)(1,"mat-label"),e._uU(2),e.ALo(3,"transloco"),e.qZA(),e._UZ(4,"input",21),e.qZA()),2&i){const t=e.oxw();e.xp6(2),e.Oqu(e.lcZ(3,2,"scripts.tableName")),e.xp6(2),e.Q6J("value",t.completeScriptName)}}function te(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t.value),e.xp6(1),e.hij(" ",t.label," ")}}let D=((h=class{constructor(n,t,a,s,r){this.activatedRoute=n,this.fb=t,this.router=a,this.eventScriptService=s,this.themeService=r,this.types=E,this.type="create",this.loaded=!1,this.isDarkMode=this.themeService.darkMode$,this.storeServiceArray=[],this.ungroupedEventItems=[],this.scriptForm=this.fb.group({name:[""],type:["nodejs",[c.kI.required]],content:[""],storageServiceId:[],storagePath:[""],isActive:[!1],allow_event_modification:[!1]})}ngOnInit(){this.activatedRoute.data.subscribe(({data:n,type:t})=>{if(this.type=t,"edit"===t){this.scriptDetails=n;let a=Object.keys(n).reduce((s,r)=>({...s,[(0,q.Vn)(r)]:n[r]}),{});a={...a,isActive:n.isActive},this.scriptForm.patchValue(a),this.scriptForm.controls.name.disable(),this.completeScriptName=n.name}else this.scriptEvents=(0,L.p)(n),this.unGroupedEvents=n,this.storageServices=n,this.storeServiceArray=Object.keys(this.storageServices)}),this.scriptEventsOptions=this.scriptForm.controls.name.valueChanges.pipe((0,U.O)(""),(0,P.U)(n=>this.filterGroup(n))),this.loaded=!0}getControl(n){return this.scriptForm.controls[n]}goBack(){this.router.navigate(["../"],{relativeTo:this.activatedRoute})}submit(){if(!this.scriptForm.valid)return;const n=this.scriptForm.getRawValue(),t={...n,storageServiceId:"local_file"===n.storageServiceId?.type?n.storageServiceId?.id:null,storage_path:"local_file"===n.storageServiceId?.type?n.storagePath:null,name:this.completeScriptName??this.selectedRouteItem};"edit"===this.type?(this.scriptDetails={...this.scriptDetails,...t},this.eventScriptService.update(n.name,n).subscribe(()=>this.goBack())):(this.scriptDetails=n,this.eventScriptService.create(t,void 0,t.name).subscribe(()=>this.goBack()))}filterGroup(n){return n?this.scriptEvents.map(t=>({name:t.name,endpoints:t.endpoints.filter(a=>a.toLowerCase().includes(n.toLowerCase()))})).filter(t=>t.endpoints.length>0):this.scriptEvents}selectedServiceItemEvent(){this.ungroupedEventItems=[],this.ungroupedRouteOptions=[],this.selectedRouteItem="";let n=this.selectedServiceItem;"api_docs"===n&&(n="apiDocs"),this.ungroupedEventOptions=this.unGroupedEvents[n],this.ungroupedEventItems=this.ungroupedEventItems||[],Object.keys(this.ungroupedEventOptions).forEach(t=>{this.ungroupedEventItems.push(t)})}selectedEventItemEvent(){this.ungroupedRouteOptions=[...this.ungroupedEventOptions[this.selectedEventItem].endpoints];const n=this.ungroupedEventOptions[this.selectedEventItem].parameter;n&&"object"==typeof n&&Object.keys(n).length>0&&("tableName"===Object.keys(n)[0]?(this.tableProcedureFlag="table",this.tableOptions=[...this.ungroupedEventOptions[this.selectedEventItem].parameter.tableName]):"procedureName"===Object.keys(n)[0]?(this.tableProcedureFlag="procedure",this.tableOptions=[...this.ungroupedEventOptions[this.selectedEventItem].parameter.procedureName]):"functionName"===Object.keys(n)[0]&&(this.tableProcedureFlag="function",this.tableOptions=[...this.ungroupedEventOptions[this.selectedEventItem].parameter.procedureName]))}selectedTable(){this.completeScriptName=this.selectedRouteItem.replace("{table_name}",this.selectTable)}selectedRoute(){this.completeScriptName=this.selectedRouteItem,this.selectTable&&(this.completeScriptName=this.completeScriptName.replace("{table_name}",this.selectTable))}}).\u0275fac=function(n){return new(n||h)(e.Y36(O.gz),e.Y36(c.qu),e.Y36(O.F0),e.Y36(C.qY),e.Y36(N.F))},h.\u0275cmp=e.Xpm({type:h,selectors:[["df-script-details"]],standalone:!0,features:[e.jDz],decls:26,vars:32,consts:[[1,"details-section",3,"formGroup","ngSubmit"],[4,"ngIf","ngIfElse"],["editing",""],["appearance","outline","subscriptSizing","dynamic",1,"full-width"],["formControlName","type"],[3,"value",4,"ngFor","ngForOf"],["formControlName","isActive",1,"dynamic-width"],["formControlName","allow_event_modification",1,"dynamic-width"],[3,"cache","storageServiceId","storagePath","content"],[1,"full-width",3,"cache","type","storageServiceId","storagePath","content"],[1,"full-width","action-bar"],["mat-flat-button","","type","button",1,"cancel-btn",3,"click"],["mat-flat-button","","color","primary",1,"save-btn"],[3,"value","valueChange","selectionChange"],["appearance","outline","subscriptSizing","dynamic",1,"half-width"],[3,"value","valueChange"],[4,"ngIf"],[3,"value"],["procedure",""],["appearance","outline",1,"full-width"],["matInput","",3,"value"],["matInput","","disabled","",3,"value"]],template:function(n,t){if(1&n&&(e.TgZ(0,"form",0),e.NdJ("ngSubmit",function(){return t.submit()}),e.ALo(1,"async"),e.YNc(2,X,21,17,"ng-container",1),e.YNc(3,ee,5,4,"ng-template",null,2,e.W1O),e.TgZ(5,"mat-form-field",3)(6,"mat-label"),e._uU(7),e.ALo(8,"transloco"),e.qZA(),e.TgZ(9,"mat-select",4),e.YNc(10,te,2,2,"mat-option",5),e.qZA()(),e.TgZ(11,"mat-slide-toggle",6),e._uU(12),e.ALo(13,"transloco"),e.qZA(),e.TgZ(14,"mat-slide-toggle",7),e._uU(15),e.ALo(16,"transloco"),e.qZA(),e._UZ(17,"df-link-service",8)(18,"df-script-editor",9),e.TgZ(19,"div",10)(20,"button",11),e.NdJ("click",function(){return t.goBack()}),e._uU(21),e.ALo(22,"transloco"),e.qZA(),e.TgZ(23,"button",12),e._uU(24),e.ALo(25,"transloco"),e.qZA()()()),2&n){const a=e.MAs(4);e.Tol(e.lcZ(1,20,t.isDarkMode)?"dark-theme":""),e.Q6J("formGroup",t.scriptForm),e.xp6(2),e.Q6J("ngIf","edit"!==t.type)("ngIfElse",a),e.xp6(5),e.Oqu(e.lcZ(8,22,"scriptType")),e.xp6(3),e.Q6J("ngForOf",t.types),e.xp6(2),e.Oqu(e.lcZ(13,24,"active")),e.xp6(3),e.Oqu(e.lcZ(16,26,"eventModification")),e.xp6(2),e.Q6J("cache",t.scriptForm.getRawValue().name)("storageServiceId",t.selectedServiceItem)("storagePath",t.getControl("storagePath"))("content",t.getControl("content")),e.xp6(1),e.Q6J("cache",t.scriptForm.getRawValue().name)("type",t.getControl("type"))("storageServiceId",t.getControl("storageServiceId"))("storagePath",t.getControl("storagePath"))("content",t.getControl("content")),e.xp6(3),e.hij(" ",e.lcZ(22,28,"cancel")," "),e.xp6(3),e.hij(" ",e.lcZ(25,30,"save")," ")}},dependencies:[Z.rP,Z.Rr,g.Ot,p.lN,p.KE,p.hX,d.LD,d.gD,T.ey,l.ax,c.u5,c._Y,c.JJ,c.JL,c.UX,c.sg,c.u,_.ot,_.lW,J.E,F.Bb,S.c,S.Nt,l.Ov,l.ez,l.O5,b],encapsulation:2}),h);D=(0,y.gn)([(0,A.c)({checkProperties:!0})],D)}}]); \ No newline at end of file diff --git a/dist/8393.fb4ff876758c2446.js b/dist/8393.fb4ff876758c2446.js deleted file mode 100644 index f9cebfc1..00000000 --- a/dist/8393.fb4ff876758c2446.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdf_admin_interface=self.webpackChunkdf_admin_interface||[]).push([[8393],{78393:(ne,x,o)=>{o.r(x),o.d(x,{DfScriptDetailsComponent:()=>D});var y=o(97582),A=o(78791),C=o(82599),f=o(42346),p=o(64170),d=o(98525),l=o(96814),Z=o(24546);const E=[{label:(0,f.Iu)("scriptTypes.nodejs"),value:Z.h.NODEJS,extension:"js"},{label:(0,f.Iu)("scriptTypes.php"),value:Z.h.PHP,extension:"php"},{label:(0,f.Iu)("scriptTypes.python"),value:Z.h.PYTHON,extension:"py"}];var u,c=o(56223),v=o(32296),J=o(62810),F=o(24630),_=o(2032),U=o(27921),L=o(37398),P=o(15711),S=o(86806),Q=o(25313),T=o(23680),Y=o(45597),m=o(3305),M=o(6625),k=o(94664),j=o(30977),e=o(65879),N=o(65763);function w(i,n){if(1&i&&(e.TgZ(0,"mat-option",12),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t.label),e.xp6(1),e.hij(" ",t.label," ")}}function R(i,n){if(1&i){const t=e.EpF();e.ynx(0),e.TgZ(1,"form",1),e.ALo(2,"async"),e.TgZ(3,"mat-accordion")(4,"mat-expansion-panel",2)(5,"mat-expansion-panel-header")(6,"mat-panel-title"),e._uU(7," Link to Service "),e.qZA(),e._UZ(8,"mat-panel-description"),e.qZA(),e.TgZ(9,"mat-form-field",3)(10,"mat-label"),e._uU(11,"Select Service"),e.qZA(),e.TgZ(12,"mat-select",4),e.YNc(13,w,2,2,"mat-option",5),e.qZA()(),e.TgZ(14,"mat-form-field",3)(15,"mat-label"),e._uU(16,"Repository: "),e.qZA(),e._UZ(17,"input",6),e.qZA(),e.TgZ(18,"mat-form-field",3)(19,"mat-label"),e._uU(20,"Branch/Tag: "),e.qZA(),e._UZ(21,"input",7),e.qZA(),e.TgZ(22,"mat-form-field",3)(23,"mat-label"),e._uU(24,"Path"),e.qZA(),e._UZ(25,"input",8),e.qZA(),e.TgZ(26,"div",9)(27,"button",10),e.NdJ("click",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.onViewLatest())}),e._UZ(28,"i",11),e._uU(29," View Latest "),e.qZA(),e.TgZ(30,"button",10),e.NdJ("click",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.onDeleteCache())}),e._UZ(31,"i",11),e._uU(32," Delete Cache "),e.qZA()()()()(),e.BQk()}if(2&i){const t=e.oxw();e.xp6(1),e.Tol(e.lcZ(2,5,t.isDarkMode)?"dark-theme":""),e.Q6J("formGroup",t.roleForm),e.xp6(3),e.Q6J("expanded",!1),e.xp6(9),e.Q6J("ngForOf",t.storageServices)}}let b=((u=class{constructor(n,t,a,s){this.themeService=n,this.cacheService=t,this.baseService=a,this.crudService=s,this.storageServices=[],this.selectType=!1,this.isDarkMode=this.themeService.darkMode$,this.roleForm=new c.cw({serviceList:new c.NI(""),repoInput:new c.NI(""),branchInput:new c.NI(""),pathInput:new c.NI("")}),this.baseService.getAll({additionalParams:[{key:"group",value:"source control,file"}]}).subscribe(r=>{this.storageServices=r.services})}ngOnInit(){this.updateDataSource()}ngOnChanges(n){n.storageServiceId&&this.findServiceById()}findServiceById(){this.selectType="github"===this.storageServices.find(t=>t.name===this.storageServiceId)?.type}updateDataSource(){}onViewLatest(){const n=this.roleForm.getRawValue(),I=`${n.serviceList??""}/_repo/${n.repoInput??""}?branch=${n.branchInput??""}&content=1&path=${n.pathInput??""}`;I.endsWith(".json")?this.baseService.downloadJson(I).subscribe(h=>this.content.setValue(h)):this.baseService.downloadFile(I).pipe((0,k.w)(h=>(0,j.Vu)(h))).subscribe(h=>this.content.setValue(h))}onDeleteCache(){this.cache&&this.cacheService.delete(`_event/${this.cache}`,{snackbarSuccess:"scripts.deleteCacheSuccessMsg"}).subscribe()}}).\u0275fac=function(n){return new(n||u)(e.Y36(N.F),e.Y36(S.OP),e.Y36(S.PA),e.Y36(S.qY))},u.\u0275cmp=e.Xpm({type:u,selectors:[["df-link-service"]],inputs:{cache:"cache",storageServiceId:"storageServiceId",storagePath:"storagePath",content:"content"},standalone:!0,features:[e._Bn([M.R]),e.TTD,e.jDz],decls:1,vars:1,consts:[[4,"ngIf"],[1,"details-section",3,"formGroup"],[3,"expanded"],["appearance","outline","subscriptSizing","dynamic",1,"full-width","form-field-gap"],["formControlName","serviceList"],[3,"value",4,"ngFor","ngForOf"],["matInput","","type","text","placeholder","path","formControlName","repoInput"],["matInput","","type","text","placeholder","path","formControlName","branchInput"],["matInput","","type","text","placeholder","path","formControlName","pathInput"],[1,"full-width","action-bar"],["mat-flat-button","","type","button","color","primary",1,"save-btn",3,"click"],[1,"fa","fa-refresh"],[3,"value"]],template:function(n,t){1&n&&e.YNc(0,R,33,7,"ng-container",0),2&n&&e.Q6J("ngIf",t.selectType)},dependencies:[p.lN,p.KE,p.hX,v.ot,v.lW,Q.p0,_.c,_.Nt,d.LD,d.gD,T.ey,C.rP,Y.uH,m.To,m.pp,m.ib,m.yz,m.yK,m.u4,l.Ov,T.Ng,c.UX,c._Y,c.Fj,c.JJ,c.JL,c.sg,c.u,l.ez,l.sg,l.O5],styles:[".lnik-service-accordion[_ngcontent-%COMP%]{padding:16px 0}.mat-column-actions[_ngcontent-%COMP%], .mat-column-private[_ngcontent-%COMP%]{max-width:10%}.mat-mdc-cell[_ngcontent-%COMP%]{padding:8px}.form-field-gap[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:10px}"]}),u);b=(0,y.gn)([(0,A.c)({checkProperties:!0})],b);var g,q=o(94517),O=o(81896);function G(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function B(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function V(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function $(i,n){1&i&&(e.ynx(0),e._uU(1,"Table Name"),e.BQk())}function H(i,n){1&i&&e._uU(0,"Name")}function K(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function z(i,n){if(1&i){const t=e.EpF();e.ynx(0),e.TgZ(1,"mat-form-field",3)(2,"mat-label"),e.YNc(3,$,2,0,"ng-container",1),e.YNc(4,H,1,0,"ng-template",null,18,e.W1O),e.qZA(),e.TgZ(6,"mat-select",13),e.NdJ("valueChange",function(s){e.CHM(t);const r=e.oxw(2);return e.KtG(r.selectTable=s)})("selectionChange",function(){e.CHM(t);const s=e.oxw(2);return e.KtG(s.selectedTable())}),e.YNc(7,K,2,2,"mat-option",5),e.qZA()(),e.BQk()}if(2&i){const t=e.MAs(5),a=e.oxw(2);e.xp6(3),e.Q6J("ngIf","table"===a.tableProcedureFlag)("ngIfElse",t),e.xp6(3),e.Q6J("value",a.selectTable),e.xp6(1),e.Q6J("ngForOf",a.tableOptions)}}function W(i,n){if(1&i&&(e.ynx(0),e.TgZ(1,"mat-form-field",19)(2,"mat-label"),e._uU(3),e.ALo(4,"transloco"),e.qZA(),e._UZ(5,"input",20),e.qZA(),e.BQk()),2&i){const t=e.oxw(2);e.xp6(3),e.Oqu(e.lcZ(4,2,"scripts.scriptName")),e.xp6(2),e.Q6J("value",t.completeScriptName)}}function X(i,n){if(1&i){const t=e.EpF();e.ynx(0),e.TgZ(1,"mat-form-field",3)(2,"mat-label"),e._uU(3),e.ALo(4,"transloco"),e.qZA(),e.TgZ(5,"mat-select",13),e.NdJ("valueChange",function(s){e.CHM(t);const r=e.oxw();return e.KtG(r.selectedServiceItem=s)})("selectionChange",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.selectedServiceItemEvent())}),e.YNc(6,G,2,2,"mat-option",5),e.qZA()(),e.TgZ(7,"mat-form-field",14)(8,"mat-label"),e._uU(9),e.ALo(10,"transloco"),e.qZA(),e.TgZ(11,"mat-select",13),e.NdJ("valueChange",function(s){e.CHM(t);const r=e.oxw();return e.KtG(r.selectedEventItem=s)})("selectionChange",function(){e.CHM(t);const s=e.oxw();return e.KtG(s.selectedEventItemEvent())}),e.YNc(12,B,2,2,"mat-option",5),e.qZA()(),e.TgZ(13,"mat-form-field",14)(14,"mat-label"),e._uU(15),e.ALo(16,"transloco"),e.qZA(),e.TgZ(17,"mat-select",15),e.NdJ("valueChange",function(s){e.CHM(t);const r=e.oxw();return e.KtG(r.selectedRouteItem=s)}),e.YNc(18,V,2,2,"mat-option",5),e.qZA()(),e.YNc(19,z,8,4,"ng-container",16),e.YNc(20,W,6,4,"ng-container",16),e.BQk()}if(2&i){const t=e.oxw();e.xp6(3),e.Oqu(e.lcZ(4,11,"service")),e.xp6(2),e.Q6J("value",t.selectedServiceItem),e.xp6(1),e.Q6J("ngForOf",t.storeServiceArray),e.xp6(3),e.Oqu(e.lcZ(10,13,"scripts.scriptType")),e.xp6(2),e.Q6J("value",t.selectedEventItem),e.xp6(1),e.Q6J("ngForOf",t.ungroupedEventItems),e.xp6(3),e.Oqu(e.lcZ(16,15,"scripts.scriptMethod")),e.xp6(2),e.Q6J("value",t.selectedRouteItem),e.xp6(1),e.Q6J("ngForOf",t.ungroupedRouteOptions),e.xp6(1),e.Q6J("ngIf",t.tableOptions),e.xp6(1),e.Q6J("ngIf",t.completeScriptName)}}function ee(i,n){if(1&i&&(e.TgZ(0,"mat-form-field",19)(1,"mat-label"),e._uU(2),e.ALo(3,"transloco"),e.qZA(),e._UZ(4,"input",21),e.qZA()),2&i){const t=e.oxw();e.xp6(2),e.Oqu(e.lcZ(3,2,"scripts.tableName")),e.xp6(2),e.Q6J("value",t.completeScriptName)}}function te(i,n){if(1&i&&(e.TgZ(0,"mat-option",17),e._uU(1),e.qZA()),2&i){const t=n.$implicit;e.Q6J("value",t.value),e.xp6(1),e.hij(" ",t.label," ")}}let D=((g=class{constructor(n,t,a,s,r){this.activatedRoute=n,this.fb=t,this.router=a,this.eventScriptService=s,this.themeService=r,this.types=E,this.type="create",this.loaded=!1,this.isDarkMode=this.themeService.darkMode$,this.storeServiceArray=[],this.ungroupedEventItems=[],this.scriptForm=this.fb.group({name:[""],type:["nodejs",[c.kI.required]],content:[""],storageServiceId:[],storagePath:[""],isActive:[!1],allow_event_modification:[!1]})}ngOnInit(){this.activatedRoute.data.subscribe(({data:n,type:t})=>{if(this.type=t,"edit"===t){this.scriptDetails=n;let a=Object.keys(n).reduce((s,r)=>({...s,[(0,q.Vn)(r)]:n[r]}),{});a={...a,isActive:n.isActive},this.scriptForm.patchValue(a),this.scriptForm.controls.name.disable(),this.completeScriptName=n.name}else this.scriptEvents=(0,P.p)(n),this.unGroupedEvents=n,this.storageServices=n,this.storeServiceArray=Object.keys(this.storageServices)}),this.scriptEventsOptions=this.scriptForm.controls.name.valueChanges.pipe((0,U.O)(""),(0,L.U)(n=>this.filterGroup(n))),this.loaded=!0}getControl(n){return this.scriptForm.controls[n]}goBack(){this.router.navigate(["../"],{relativeTo:this.activatedRoute})}submit(){if(!this.scriptForm.valid)return;const n=this.scriptForm.getRawValue(),t={...n,storageServiceId:"local_file"===n.storageServiceId?.type?n.storageServiceId?.id:null,storage_path:"local_file"===n.storageServiceId?.type?n.storagePath:null,name:this.completeScriptName??this.selectedRouteItem};"edit"===this.type?(this.scriptDetails={...this.scriptDetails,...t},this.eventScriptService.update(n.name,n).subscribe(()=>this.goBack())):(this.scriptDetails=n,this.eventScriptService.create(t,void 0,t.name).subscribe(()=>this.goBack()))}filterGroup(n){return n?this.scriptEvents.map(t=>({name:t.name,endpoints:t.endpoints.filter(a=>a.toLowerCase().includes(n.toLowerCase()))})).filter(t=>t.endpoints.length>0):this.scriptEvents}selectedServiceItemEvent(){this.ungroupedEventItems=[],this.ungroupedRouteOptions=[],this.selectedRouteItem="";let n=this.selectedServiceItem;"api_docs"===n&&(n="apiDocs"),this.ungroupedEventOptions=this.unGroupedEvents[n],this.ungroupedEventItems=this.ungroupedEventItems||[],Object.keys(this.ungroupedEventOptions).forEach(t=>{this.ungroupedEventItems.push(t)})}selectedEventItemEvent(){this.ungroupedRouteOptions=[...this.ungroupedEventOptions[this.selectedEventItem].endpoints];const n=this.ungroupedEventOptions[this.selectedEventItem].parameter;n&&"object"==typeof n&&Object.keys(n).length>0&&("tableName"===Object.keys(n)[0]?(this.tableProcedureFlag="table",this.tableOptions=[...this.ungroupedEventOptions[this.selectedEventItem].parameter.tableName]):"procedureName"===Object.keys(n)[0]?(this.tableProcedureFlag="procedure",this.tableOptions=[...this.ungroupedEventOptions[this.selectedEventItem].parameter.procedureName]):"functionName"===Object.keys(n)[0]&&(this.tableProcedureFlag="function",this.tableOptions=[...this.ungroupedEventOptions[this.selectedEventItem].parameter.procedureName]))}selectedTable(){this.completeScriptName=this.selectedRouteItem.replace("{table_name}",this.selectTable)}selectedRoute(){this.completeScriptName=this.selectedRouteItem,this.selectTable&&(this.completeScriptName=this.completeScriptName.replace("{table_name}",this.selectTable))}}).\u0275fac=function(n){return new(n||g)(e.Y36(O.gz),e.Y36(c.qu),e.Y36(O.F0),e.Y36(S.qY),e.Y36(N.F))},g.\u0275cmp=e.Xpm({type:g,selectors:[["df-script-details"]],standalone:!0,features:[e.jDz],decls:26,vars:32,consts:[[1,"details-section",3,"formGroup","ngSubmit"],[4,"ngIf","ngIfElse"],["editing",""],["appearance","outline","subscriptSizing","dynamic",1,"full-width"],["formControlName","type"],[3,"value",4,"ngFor","ngForOf"],["formControlName","isActive",1,"dynamic-width"],["formControlName","allow_event_modification",1,"dynamic-width"],[3,"cache","storageServiceId","storagePath","content"],[1,"full-width",3,"cache","type","storageServiceId","storagePath","content"],[1,"full-width","action-bar"],["mat-flat-button","","type","button",1,"cancel-btn",3,"click"],["mat-flat-button","","color","primary",1,"save-btn"],[3,"value","valueChange","selectionChange"],["appearance","outline","subscriptSizing","dynamic",1,"half-width"],[3,"value","valueChange"],[4,"ngIf"],[3,"value"],["procedure",""],["appearance","outline",1,"full-width"],["matInput","",3,"value"],["matInput","","disabled","",3,"value"]],template:function(n,t){if(1&n&&(e.TgZ(0,"form",0),e.NdJ("ngSubmit",function(){return t.submit()}),e.ALo(1,"async"),e.YNc(2,X,21,17,"ng-container",1),e.YNc(3,ee,5,4,"ng-template",null,2,e.W1O),e.TgZ(5,"mat-form-field",3)(6,"mat-label"),e._uU(7),e.ALo(8,"transloco"),e.qZA(),e.TgZ(9,"mat-select",4),e.YNc(10,te,2,2,"mat-option",5),e.qZA()(),e.TgZ(11,"mat-slide-toggle",6),e._uU(12),e.ALo(13,"transloco"),e.qZA(),e.TgZ(14,"mat-slide-toggle",7),e._uU(15),e.ALo(16,"transloco"),e.qZA(),e._UZ(17,"df-link-service",8)(18,"df-script-editor",9),e.TgZ(19,"div",10)(20,"button",11),e.NdJ("click",function(){return t.goBack()}),e._uU(21),e.ALo(22,"transloco"),e.qZA(),e.TgZ(23,"button",12),e._uU(24),e.ALo(25,"transloco"),e.qZA()()()),2&n){const a=e.MAs(4);e.Tol(e.lcZ(1,20,t.isDarkMode)?"dark-theme":""),e.Q6J("formGroup",t.scriptForm),e.xp6(2),e.Q6J("ngIf","edit"!==t.type)("ngIfElse",a),e.xp6(5),e.Oqu(e.lcZ(8,22,"scriptType")),e.xp6(3),e.Q6J("ngForOf",t.types),e.xp6(2),e.Oqu(e.lcZ(13,24,"active")),e.xp6(3),e.Oqu(e.lcZ(16,26,"eventModification")),e.xp6(2),e.Q6J("cache",t.scriptForm.getRawValue().name)("storageServiceId",t.selectedServiceItem)("storagePath",t.getControl("storagePath"))("content",t.getControl("content")),e.xp6(1),e.Q6J("cache",t.scriptForm.getRawValue().name)("type",t.getControl("type"))("storageServiceId",t.getControl("storageServiceId"))("storagePath",t.getControl("storagePath"))("content",t.getControl("content")),e.xp6(3),e.hij(" ",e.lcZ(22,28,"cancel")," "),e.xp6(3),e.hij(" ",e.lcZ(25,30,"save")," ")}},dependencies:[C.rP,C.Rr,f.Ot,p.lN,p.KE,p.hX,d.LD,d.gD,T.ey,l.ax,c.u5,c._Y,c.JJ,c.JL,c.UX,c.sg,c.u,v.ot,v.lW,J.E,F.Bb,_.c,_.Nt,l.Ov,l.ez,l.O5,b],encapsulation:2}),g);D=(0,y.gn)([(0,A.c)({checkProperties:!0})],D)}}]); \ No newline at end of file diff --git a/dist/assets/ace-builds/mode-python3.js b/dist/assets/ace-builds/mode-python3.js new file mode 100644 index 00000000..6e924124 --- /dev/null +++ b/dist/assets/ace-builds/mode-python3.js @@ -0,0 +1,8 @@ +ace.define("ace/mode/python3_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield|async|await|nonlocal",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|apply|delattr|help|next|setattr|set|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|ascii|breakpoint|bytes",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"variable.language":"self|cls","constant.language":t,keyword:e},"identifier"),i="[uU]?",s="[rR]",o="[fF]",u="(?:[rR][fF]|[fF][rR])",a="(?:(?:[1-9]\\d*)|(?:0))",f="(?:0[oO]?[0-7]+)",l="(?:0[xX][\\dA-Fa-f]+)",c="(?:0[bB][01]+)",h="(?:"+a+"|"+f+"|"+l+"|"+c+")",p="(?:[eE][+-]?\\d+)",d="(?:\\.\\d+)",v="(?:\\d+)",m="(?:(?:"+v+"?"+d+")|(?:"+v+"\\.))",g="(?:(?:"+m+"|"+v+")"+p+")",y="(?:"+g+"|"+m+")",b="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"string",regex:s+'"{3}',next:"rawqqstring3"},{token:"string",regex:s+'"(?=.)',next:"rawqqstring"},{token:"string",regex:s+"'{3}",next:"rawqstring3"},{token:"string",regex:s+"'(?=.)",next:"rawqstring"},{token:"string",regex:o+'"{3}',next:"fqqstring3"},{token:"string",regex:o+'"(?=.)',next:"fqqstring"},{token:"string",regex:o+"'{3}",next:"fqstring3"},{token:"string",regex:o+"'(?=.)",next:"fqstring"},{token:"string",regex:u+'"{3}',next:"rfqqstring3"},{token:"string",regex:u+'"(?=.)',next:"rfqqstring"},{token:"string",regex:u+"'{3}",next:"rfqstring3"},{token:"string",regex:u+"'(?=.)",next:"rfqstring"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:["keyword","text","entity.name.function"],regex:"(def|class)(\\s+)([\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w]+)"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'[^']*'"},{token:"string",regex:'"[^"]*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+y+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:y},{token:"constant.numeric",regex:h+"[lL]\\b"},{token:"constant.numeric",regex:h+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+e+")(?:\\s*)(?:#.*)?$")};r.inherits(s,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(e,i[1],n,i.index):i[2]?this.indentationBlock(e,n,i.index+i[2].length):this.indentationBlock(e,n)}}.call(s.prototype)}),ace.define("ace/mode/python3",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./python_highlight_rules").PythonHighlightRules,o=e("./folding/pythonic").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o("\\:"),this.$behaviour=this.$defaultBehaviour};r.inherits(a,i),function(){this.lineCommentStart="#",this.$pairQuotesAfter={"'":/[ruf]/i,'"':/[ruf]/i},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))},this.$id="ace/mode/python3",this.snippetFileId="ace/snippets/python"}.call(a.prototype),t.Mode=a}); (function() { + ace.require(["ace/mode/python3"], function(m) { + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = m; + } + }); + })(); + \ No newline at end of file diff --git a/dist/assets/i18n/en.json b/dist/assets/i18n/en.json index ad539901..f8f4399c 100644 --- a/dist/assets/i18n/en.json +++ b/dist/assets/i18n/en.json @@ -114,6 +114,7 @@ "javascript": "JavaScript", "php": "PHP", "python": "Python", + "python3": "Python3", "nodejs": "Node.js" }, "nav": { diff --git a/dist/assets/i18n/scripts/en.json b/dist/assets/i18n/scripts/en.json index 31f44c40..0d0730f3 100644 --- a/dist/assets/i18n/scripts/en.json +++ b/dist/assets/i18n/scripts/en.json @@ -22,6 +22,13 @@ "getScriptSuccessMsg": "Script file successfully fetched", "fetchCacheSuccessMsg": "Successfully pulled the latest script from source.", "deleteCacheSuccessMsg": "Successfully cleared script from cache.", + "scriptTypes": { + "javascript": "JavaScript", + "php": "PHP", + "python": "Python", + "python3": "Python3", + "nodejs": "Node.js" + }, "errors": { "githubImport": "Error: Invalid file format. Only js, php, py, txt file format(s) allowed" } diff --git a/dist/common.aa3f69fe9e8f582e.js b/dist/common.d6c3399fb9e97277.js similarity index 90% rename from dist/common.aa3f69fe9e8f582e.js rename to dist/common.d6c3399fb9e97277.js index d0e64149..3a99f671 100644 --- a/dist/common.aa3f69fe9e8f582e.js +++ b/dist/common.d6c3399fb9e97277.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdf_admin_interface=self.webpackChunkdf_admin_interface||[]).push([[8592],{73991:(h,r,n)=>{n.d(r,{U:()=>m});var s=n(42346),e=n(65879);const o=["calendlyWidget"];let m=(()=>{class c{ngAfterViewInit(){window.Calendly.initInlineWidget({url:"https://calendly.com/dreamfactory-platform/unlock-all-features",parentElement:this.calendlyWidget.nativeElement,autoLoad:!1})}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.Xpm({type:c,selectors:[["df-paywall"]],viewQuery:function(i,p){if(1&i&&e.Gf(o,5),2&i){let g;e.iGM(g=e.CRH())&&(p.calendlyWidget=g.first)}},standalone:!0,features:[e.jDz],decls:35,vars:27,consts:[[1,"paywall-container"],[1,"details-section"],[1,"info-columns"],[1,"info-column"],[3,"innerHTML"],[1,"calendly-inline-widget"],["calendlyWidget",""],[1,"paywall-contact"],["href","tel:+1 415-993-5877"],["href","mailto:info@dreamfactory.com"]],template:function(i,p){1&i&&(e.TgZ(0,"div",0)(1,"h2"),e._uU(2),e.ALo(3,"transloco"),e.qZA(),e.TgZ(4,"h2"),e._uU(5),e.ALo(6,"transloco"),e.qZA(),e.TgZ(7,"div",1)(8,"div",2)(9,"div",3)(10,"h4"),e._uU(11),e.ALo(12,"transloco"),e.qZA(),e._UZ(13,"p",4),e.ALo(14,"transloco"),e.qZA(),e.TgZ(15,"div",3)(16,"h4"),e._uU(17),e.ALo(18,"transloco"),e.qZA(),e.TgZ(19,"p"),e._uU(20),e.ALo(21,"transloco"),e.qZA()()()(),e.TgZ(22,"h2"),e._uU(23),e.ALo(24,"transloco"),e.qZA()(),e._UZ(25,"div",5,6),e.TgZ(27,"h3",7)(28,"a",8),e._uU(29),e.ALo(30,"transloco"),e.qZA(),e._uU(31," | "),e.TgZ(32,"a",9),e._uU(33),e.ALo(34,"transloco"),e.qZA()()),2&i&&(e.xp6(2),e.Oqu(e.lcZ(3,9,"paywall.header")),e.xp6(3),e.Oqu(e.lcZ(6,11,"paywall.subheader")),e.xp6(6),e.Oqu(e.lcZ(12,13,"paywall.hostedTrial")),e.xp6(2),e.Q6J("innerHTML",e.lcZ(14,15,"paywall.bookTime"),e.oJD),e.xp6(4),e.Oqu(e.lcZ(18,17,"paywall.learnMoreTitle")),e.xp6(3),e.Oqu(e.lcZ(21,19,"paywall.gain")),e.xp6(3),e.Oqu(e.lcZ(24,21,"paywall.speakToHuman")),e.xp6(6),e.hij("",e.lcZ(30,23,"phone"),": +1 415-993-5877"),e.xp6(4),e.hij("",e.lcZ(34,25,"email"),": info@dreamfactory.com"))},dependencies:[s.Ot],styles:[".paywall-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;max-width:1200px;margin:0 auto;padding:20px}.calendly-inline-widget[_ngcontent-%COMP%]{min-width:320px;width:100%;height:700px;margin:20px 0}.details-section[_ngcontent-%COMP%]{margin:32px 0;max-width:690px;width:100%}.info-columns[_ngcontent-%COMP%]{display:flex;gap:32px;justify-content:space-between}@media (max-width: 768px){.info-columns[_ngcontent-%COMP%]{flex-direction:column}}.info-column[_ngcontent-%COMP%]{flex:1;min-width:0}.paywall-contact[_ngcontent-%COMP%]{width:100%;text-align:center;padding:32px 0;margin-top:20px}"]}),c})()},75058:(h,r,n)=>{n.d(r,{M:()=>y});var f,s=n(97582),e=n(96814),o=n(56223),m=n(64170),c=n(98525),u=n(42346),i=n(92596),p=n(45597),g=n(90590),E=n(78791),t=n(65879),O=n(65763),P=n(23680);function T(_,l){if(1&_&&(t.TgZ(0,"mat-label"),t._uU(1),t.qZA()),2&_){const a=t.oxw();t.xp6(1),t.Oqu(a.schema.label)}}function A(_,l){if(1&_&&(t.TgZ(0,"mat-option",5),t._uU(1),t.qZA()),2&_){const a=l.$implicit;t.Q6J("value",a.value),t.xp6(1),t.hij(" ",a.label," ")}}function C(_,l){if(1&_&&t._UZ(0,"fa-icon",6),2&_){const a=t.oxw();t.Q6J("icon",a.faCircleInfo)("matTooltip",a.schema.description)}}let y=((f=class{constructor(l,a){this.controlDir=l,this.themeService=a,this.type="verb",this.showLabel=!0,this.faCircleInfo=g.DBf,this.control=new o.NI,this.verbs=[{value:1,altValue:"GET",label:(0,u.Iu)("verbs.get")},{value:2,altValue:"POST",label:(0,u.Iu)("verbs.post")},{value:4,altValue:"PUT",label:(0,u.Iu)("verbs.put")},{value:8,altValue:"PATCH",label:(0,u.Iu)("verbs.patch")},{value:16,altValue:"DELETE",label:(0,u.Iu)("verbs.delete")}],this.isDarkMode=this.themeService.darkMode$,l.valueAccessor=this}ngDoCheck(){this.controlDir.control instanceof o.NI&&this.controlDir.control.hasValidator(o.kI.required)&&this.control.addValidators(o.kI.required)}writeValue(l){if(l)if("number"===this.type&&"number"==typeof l){const a=this.verbs.filter(d=>(l&d.value)===d.value).map(d=>d.value);this.control.setValue(a,{emitEvent:!1})}else this.control.setValue("verb"===this.type&&"string"==typeof l?this.verbs.find(a=>a.altValue===l)?.value??"":l.map(a=>this.verbs.find(d=>d.altValue===a)?.value??0),{emitEvent:!1})}registerOnChange(l){this.onChange=l,this.control.valueChanges.subscribe(a=>{const d="number"===this.type?(a||[]).reduce((v,D)=>v|D,0):"verb_multiple"===this.type?(a||[]).map(v=>this.verbs.find(D=>D.value===v)?.altValue??""):this.verbs.find(v=>v.value===a)?.altValue??"";this.onChange(d)})}registerOnTouched(l){this.onTouched=l}setDisabledState(l){l?this.control.disable():this.control.enable()}}).\u0275fac=function(l){return new(l||f)(t.Y36(o.a5,2),t.Y36(O.F))},f.\u0275cmp=t.Xpm({type:f,selectors:[["df-verb-picker"]],inputs:{type:"type",schema:"schema",showLabel:"showLabel"},standalone:!0,features:[t.jDz],decls:7,vars:10,consts:[["subscriptSizing","dynamic","appearance","outline"],[4,"ngIf"],[3,"formControl","multiple"],[3,"value",4,"ngFor","ngForOf"],["class","tool-tip-trigger","matSuffix","",3,"icon","matTooltip",4,"ngIf"],[3,"value"],["matSuffix","",1,"tool-tip-trigger",3,"icon","matTooltip"]],template:function(l,a){1&l&&(t.TgZ(0,"div"),t.ALo(1,"async"),t.TgZ(2,"mat-form-field",0),t.YNc(3,T,2,1,"mat-label",1),t.TgZ(4,"mat-select",2),t.YNc(5,A,2,2,"mat-option",3),t.qZA(),t.YNc(6,C,1,2,"fa-icon",4),t.qZA()()),2&l&&(t.Tol(t.lcZ(1,8,a.isDarkMode)?"dark-theme":""),t.xp6(3),t.Q6J("ngIf",a.showLabel),t.xp6(1),t.Q6J("formControl",a.control)("multiple","verb_multiple"===a.type||"number"===a.type),t.uIk("aria-label",a.schema.label),t.xp6(1),t.Q6J("ngForOf",a.verbs),t.xp6(1),t.Q6J("ngIf",a.schema.description))},dependencies:[c.LD,m.KE,m.hX,m.R9,c.gD,P.ey,m.lN,o.UX,o.JJ,o.oH,e.ax,e.O5,i.AV,i.gM,p.uH,p.BN,e.Ov],encapsulation:2}),f);y=(0,s.gn)([(0,E.c)({checkProperties:!0})],y)},52002:(h,r,n)=>{n.d(r,{h:()=>s});const s=["csv","json","xml"]},45696:(h,r,n)=>{n.d(r,{B:()=>s});const s=[{columnDef:"active",cell:e=>e.active,header:"active"},{columnDef:"email",cell:e=>e.email,header:"email"},{columnDef:"displayName",cell:e=>e.displayName,header:"name"},{columnDef:"firstName",cell:e=>e.firstName,header:"firstName"},{columnDef:"lastName",cell:e=>e.lastName,header:"lastName"},{columnDef:"registration",cell:e=>e.registration,header:"registration"},{columnDef:"actions"}]},22873:(h,r,n)=>{n.d(r,{_:()=>e});var s=n(15861);function e(m,c){return o.apply(this,arguments)}function o(){return(o=(0,s.Z)(function*(m,c){const i=(new TextEncoder).encode(`${m}${c}${Date.now()}`),p=yield crypto.subtle.digest("SHA-256",i);return Array.from(new Uint8Array(p)).map(t=>t.toString(16).padStart(2,"0")).join("")})).apply(this,arguments)}},35326:(h,r,n)=>{function s(e){if(e.value.length>0)try{JSON.parse(e.value)}catch{return{jsonInvalid:!0}}return null}n.d(r,{U:()=>s})}}]); \ No newline at end of file +"use strict";(self.webpackChunkdf_admin_interface=self.webpackChunkdf_admin_interface||[]).push([[8592],{73991:(h,r,n)=>{n.d(r,{U:()=>m});var s=n(42346),e=n(65879);const o=["calendlyWidget"];let m=(()=>{class c{ngAfterViewInit(){window.Calendly.initInlineWidget({url:"https://calendly.com/dreamfactory-platform/unlock-all-features",parentElement:this.calendlyWidget.nativeElement,autoLoad:!1})}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.Xpm({type:c,selectors:[["df-paywall"]],viewQuery:function(i,f){if(1&i&&e.Gf(o,5),2&i){let g;e.iGM(g=e.CRH())&&(f.calendlyWidget=g.first)}},standalone:!0,features:[e.jDz],decls:35,vars:27,consts:[[1,"paywall-container"],[1,"details-section"],[1,"info-columns"],[1,"info-column"],[3,"innerHTML"],[1,"calendly-inline-widget"],["calendlyWidget",""],[1,"paywall-contact"],["href","tel:+1 415-993-5877"],["href","mailto:info@dreamfactory.com"]],template:function(i,f){1&i&&(e.TgZ(0,"div",0)(1,"h2"),e._uU(2),e.ALo(3,"transloco"),e.qZA(),e.TgZ(4,"h2"),e._uU(5),e.ALo(6,"transloco"),e.qZA(),e.TgZ(7,"div",1)(8,"div",2)(9,"div",3)(10,"h4"),e._uU(11),e.ALo(12,"transloco"),e.qZA(),e._UZ(13,"p",4),e.ALo(14,"transloco"),e.qZA(),e.TgZ(15,"div",3)(16,"h4"),e._uU(17),e.ALo(18,"transloco"),e.qZA(),e.TgZ(19,"p"),e._uU(20),e.ALo(21,"transloco"),e.qZA()()()(),e.TgZ(22,"h2"),e._uU(23),e.ALo(24,"transloco"),e.qZA()(),e._UZ(25,"div",5,6),e.TgZ(27,"h3",7)(28,"a",8),e._uU(29),e.ALo(30,"transloco"),e.qZA(),e._uU(31," | "),e.TgZ(32,"a",9),e._uU(33),e.ALo(34,"transloco"),e.qZA()()),2&i&&(e.xp6(2),e.Oqu(e.lcZ(3,9,"paywall.header")),e.xp6(3),e.Oqu(e.lcZ(6,11,"paywall.subheader")),e.xp6(6),e.Oqu(e.lcZ(12,13,"paywall.hostedTrial")),e.xp6(2),e.Q6J("innerHTML",e.lcZ(14,15,"paywall.bookTime"),e.oJD),e.xp6(4),e.Oqu(e.lcZ(18,17,"paywall.learnMoreTitle")),e.xp6(3),e.Oqu(e.lcZ(21,19,"paywall.gain")),e.xp6(3),e.Oqu(e.lcZ(24,21,"paywall.speakToHuman")),e.xp6(6),e.hij("",e.lcZ(30,23,"phone"),": +1 415-993-5877"),e.xp6(4),e.hij("",e.lcZ(34,25,"email"),": info@dreamfactory.com"))},dependencies:[s.Ot],styles:[".paywall-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;max-width:1200px;margin:0 auto;padding:20px}.calendly-inline-widget[_ngcontent-%COMP%]{min-width:320px;width:100%;height:700px;margin:20px 0}.details-section[_ngcontent-%COMP%]{margin:32px 0;max-width:690px;width:100%}.info-columns[_ngcontent-%COMP%]{display:flex;gap:32px;justify-content:space-between}@media (max-width: 768px){.info-columns[_ngcontent-%COMP%]{flex-direction:column}}.info-column[_ngcontent-%COMP%]{flex:1;min-width:0}.paywall-contact[_ngcontent-%COMP%]{width:100%;text-align:center;padding:32px 0;margin-top:20px}"]}),c})()},75058:(h,r,n)=>{n.d(r,{M:()=>y});var p,s=n(97582),e=n(96814),o=n(56223),m=n(64170),c=n(98525),u=n(42346),i=n(92596),f=n(45597),g=n(90590),E=n(78791),t=n(65879),O=n(65763),P=n(23680);function T(_,l){if(1&_&&(t.TgZ(0,"mat-label"),t._uU(1),t.qZA()),2&_){const a=t.oxw();t.xp6(1),t.Oqu(a.schema.label)}}function A(_,l){if(1&_&&(t.TgZ(0,"mat-option",5),t._uU(1),t.qZA()),2&_){const a=l.$implicit;t.Q6J("value",a.value),t.xp6(1),t.hij(" ",a.label," ")}}function C(_,l){if(1&_&&t._UZ(0,"fa-icon",6),2&_){const a=t.oxw();t.Q6J("icon",a.faCircleInfo)("matTooltip",a.schema.description)}}let y=((p=class{constructor(l,a){this.controlDir=l,this.themeService=a,this.type="verb",this.showLabel=!0,this.faCircleInfo=g.DBf,this.control=new o.NI,this.verbs=[{value:1,altValue:"GET",label:(0,u.Iu)("verbs.get")},{value:2,altValue:"POST",label:(0,u.Iu)("verbs.post")},{value:4,altValue:"PUT",label:(0,u.Iu)("verbs.put")},{value:8,altValue:"PATCH",label:(0,u.Iu)("verbs.patch")},{value:16,altValue:"DELETE",label:(0,u.Iu)("verbs.delete")}],this.isDarkMode=this.themeService.darkMode$,l.valueAccessor=this}ngDoCheck(){this.controlDir.control instanceof o.NI&&this.controlDir.control.hasValidator(o.kI.required)&&this.control.addValidators(o.kI.required)}writeValue(l){if(l)if("number"===this.type&&"number"==typeof l){const a=this.verbs.filter(d=>(l&d.value)===d.value).map(d=>d.value);this.control.setValue(a,{emitEvent:!1})}else this.control.setValue("verb"===this.type&&"string"==typeof l?this.verbs.find(a=>a.altValue===l)?.value??"":l.map(a=>this.verbs.find(d=>d.altValue===a)?.value??0),{emitEvent:!1})}registerOnChange(l){this.onChange=l,this.control.valueChanges.subscribe(a=>{const d="number"===this.type?(a||[]).reduce((v,D)=>v|D,0):"verb_multiple"===this.type?(a||[]).map(v=>this.verbs.find(D=>D.value===v)?.altValue??""):this.verbs.find(v=>v.value===a)?.altValue??"";this.onChange(d)})}registerOnTouched(l){this.onTouched=l}setDisabledState(l){l?this.control.disable():this.control.enable()}}).\u0275fac=function(l){return new(l||p)(t.Y36(o.a5,2),t.Y36(O.F))},p.\u0275cmp=t.Xpm({type:p,selectors:[["df-verb-picker"]],inputs:{type:"type",schema:"schema",showLabel:"showLabel"},standalone:!0,features:[t.jDz],decls:7,vars:10,consts:[["subscriptSizing","dynamic","appearance","outline"],[4,"ngIf"],[3,"formControl","multiple"],[3,"value",4,"ngFor","ngForOf"],["class","tool-tip-trigger","matSuffix","",3,"icon","matTooltip",4,"ngIf"],[3,"value"],["matSuffix","",1,"tool-tip-trigger",3,"icon","matTooltip"]],template:function(l,a){1&l&&(t.TgZ(0,"div"),t.ALo(1,"async"),t.TgZ(2,"mat-form-field",0),t.YNc(3,T,2,1,"mat-label",1),t.TgZ(4,"mat-select",2),t.YNc(5,A,2,2,"mat-option",3),t.qZA(),t.YNc(6,C,1,2,"fa-icon",4),t.qZA()()),2&l&&(t.Tol(t.lcZ(1,8,a.isDarkMode)?"dark-theme":""),t.xp6(3),t.Q6J("ngIf",a.showLabel),t.xp6(1),t.Q6J("formControl",a.control)("multiple","verb_multiple"===a.type||"number"===a.type),t.uIk("aria-label",a.schema.label),t.xp6(1),t.Q6J("ngForOf",a.verbs),t.xp6(1),t.Q6J("ngIf",a.schema.description))},dependencies:[c.LD,m.KE,m.hX,m.R9,c.gD,P.ey,m.lN,o.UX,o.JJ,o.oH,e.ax,e.O5,i.AV,i.gM,f.uH,f.BN,e.Ov],encapsulation:2}),p);y=(0,s.gn)([(0,E.c)({checkProperties:!0})],y)},52002:(h,r,n)=>{n.d(r,{h:()=>s});const s=["csv","json","xml"]},45696:(h,r,n)=>{n.d(r,{B:()=>s});const s=[{columnDef:"active",cell:e=>e.active,header:"active"},{columnDef:"email",cell:e=>e.email,header:"email"},{columnDef:"displayName",cell:e=>e.displayName,header:"name"},{columnDef:"firstName",cell:e=>e.firstName,header:"firstName"},{columnDef:"lastName",cell:e=>e.lastName,header:"lastName"},{columnDef:"registration",cell:e=>e.registration,header:"registration"},{columnDef:"actions"}]},22873:(h,r,n)=>{n.d(r,{_:()=>e});var s=n(15861);function e(m,c){return o.apply(this,arguments)}function o(){return(o=(0,s.Z)(function*(m,c){const i=(new TextEncoder).encode(`${m}${c}${Date.now()}`),f=yield crypto.subtle.digest("SHA-256",i);return Array.from(new Uint8Array(f)).map(t=>t.toString(16).padStart(2,"0")).join("")})).apply(this,arguments)}},35326:(h,r,n)=>{function s(e){if(e.value.length>0)try{JSON.parse(e.value)}catch{return{jsonInvalid:!0}}return null}n.d(r,{U:()=>s})}}]); \ No newline at end of file diff --git a/dist/runtime.ee9393e8c14b6479.js b/dist/runtime.ee9393e8c14b6479.js index a63093f1..8b3622f1 100644 --- a/dist/runtime.ee9393e8c14b6479.js +++ b/dist/runtime.ee9393e8c14b6479.js @@ -1 +1,5 @@ -(()=>{"use strict";var e,_={},v={};function t(e){var f=v[e];if(void 0!==f)return f.exports;var a=v[e]={id:e,loaded:!1,exports:{}};return _[e].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}t.m=_,t.amdD=function(){throw new Error("define cannot be used indirect")},e=[],t.O=(f,a,d,c)=>{if(!a){var r=1/0;for(n=0;n=c)&&Object.keys(t.O).every(p=>t.O[p](a[b]))?a.splice(b--,1):(s=!1,c0&&e[n-1][2]>c;n--)e[n]=e[n-1];e[n]=[a,d,c]},t.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return t.d(f,{a:f}),f},(()=>{var f,e=Object.getPrototypeOf?a=>Object.getPrototypeOf(a):a=>a.__proto__;t.t=function(a,d){if(1&d&&(a=this(a)),8&d||"object"==typeof a&&a&&(4&d&&a.__esModule||16&d&&"function"==typeof a.then))return a;var c=Object.create(null);t.r(c);var n={};f=f||[null,e({}),e([]),e(e)];for(var r=2&d&&a;"object"==typeof r&&!~f.indexOf(r);r=e(r))Object.getOwnPropertyNames(r).forEach(s=>n[s]=()=>a[s]);return n.default=()=>a,t.d(c,n),c}})(),t.d=(e,f)=>{for(var a in f)t.o(f,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((f,a)=>(t.f[a](e,f),f),[])),t.u=e=>(8592===e?"common":e)+"."+{168:"034b0dac4140884c",599:"f3519e487ab59e21",1155:"ab0359dbe7d607a8",1269:"3d94950afc54efb1",1361:"7e48157ce2de18b8",1472:"66ac928ce6b1c733",1514:"6e9ef0db49a735a1",1609:"a4e38a7bfa38816e",1717:"003d7a59e0cb337b",1750:"e7dd5ce8d1a109ce",1844:"2f6acf7fb985ab07",2446:"009ec3961a2933ef",2596:"a606b9e6abc49891",3331:"7073ea35bd4dcd43",3438:"e0f52d84511e1d50",3517:"ab5f5e249bf79f77",3530:"4352d33e84ff942b",3656:"50ab1944fe45dd0c",3893:"6be3db6bf584162c",4104:"5ae8ada24976acbe",4135:"97b376be538d7ed4",4211:"23ecde694482634c",4630:"b95aba20f12d90ba",4748:"5717c37ca5f0815a",4796:"62d1386b59566f4c",5058:"ba6ad128f20a2f54",5195:"59370395ae857257",5313:"62159151664b4253",5381:"971c764532963060",5625:"c3315a8b39f71f4c",5954:"e365e85c6ebd3450",5979:"c7b5cf59d8d2ad2c",5986:"ddd3201fdea5a605",6080:"313645b60fc01803",6093:"42dba1afc5b58b8e",6255:"5afdc88f73dccb00",6355:"03d7ed2ec0e5aa78",6371:"74d404f9a890e29f",6381:"a7fcfd91b63a608f",6509:"0c6a567ac571d22e",6580:"8c5e8a4f7706dfb1",7415:"82b6562e51f50ec3",7466:"4692f508a20913e3",7532:"332f804d805cb3dc",7653:"922fb878ee27e76d",7771:"f218e99b3290336a",7823:"1e94f59be8e7cb42",7993:"6952ce33c24960fd",8393:"fb4ff876758c2446",8525:"19cc02a66cd7ac62",8542:"d7c5965b05221582",8592:"aa3f69fe9e8f582e",8941:"ebd281b9c6ab427f",9043:"271fa6197fcc674e",9280:"ae7034942d0d1d5a",9488:"6c46e3da9d9997d8",9699:"92e6e3bb01e258a9"}[e]+".js",t.miniCssF=e=>{},t.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),(()=>{var e={},f="df-admin-interface:";t.l=(a,d,c,n)=>{if(e[a])e[a].push(d);else{var r,s;if(void 0!==c)for(var b=document.getElementsByTagName("script"),o=0;o{r.onerror=r.onload=null,clearTimeout(l);var m=e[a];if(delete e[a],r.parentNode&&r.parentNode.removeChild(r),m&&m.forEach(h=>h(p)),g)return g(p)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),s&&document.head.appendChild(r)}}})(),t.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;t.tt=()=>(void 0===e&&(e={createScriptURL:f=>f},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),t.tu=e=>t.tt().createScriptURL(e),t.p="",(()=>{var e={3666:0};t.f.j=(d,c)=>{var n=t.o(e,d)?e[d]:void 0;if(0!==n)if(n)c.push(n[2]);else if(3666!=d){var r=new Promise((i,u)=>n=e[d]=[i,u]);c.push(n[2]=r);var s=t.p+t.u(d),b=new Error;t.l(s,i=>{if(t.o(e,d)&&(0!==(n=e[d])&&(e[d]=void 0),n)){var u=i&&("load"===i.type?"missing":i.type),l=i&&i.target&&i.target.src;b.message="Loading chunk "+d+" failed.\n("+u+": "+l+")",b.name="ChunkLoadError",b.type=u,b.request=l,n[1](b)}},"chunk-"+d,d)}else e[d]=0},t.O.j=d=>0===e[d];var f=(d,c)=>{var b,o,[n,r,s]=c,i=0;if(n.some(l=>0!==e[l])){for(b in r)t.o(r,b)&&(t.m[b]=r[b]);if(s)var u=s(t)}for(d&&d(c);i{"use strict";var e,_={},v={};function t(e){var f=v[e];if(void 0!==f)return f.exports;var a=v[e]={id:e,loaded:!1,exports:{}};return _[e].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}t.m=_,t.amdD=function(){throw new Error("define cannot be used indirect")},e=[],t.O=(f,a,d,c)=>{if(!a){var r=1/0;for(n=0;n=c)&&Object.keys(t.O).every(p=>t.O[p](a[i]))?a.splice(i--,1):(s=!1,c0&&e[n-1][2]>c;n--)e[n]=e[n-1];e[n]=[a,d,c]},t.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return t.d(f,{a:f}),f},(()=>{var f,e=Object.getPrototypeOf?a=>Object.getPrototypeOf(a):a=>a.__proto__;t.t=function(a,d){if(1&d&&(a=this(a)),8&d||"object"==typeof a&&a&&(4&d&&a.__esModule||16&d&&"function"==typeof a.then))return a;var c=Object.create(null);t.r(c);var n={};f=f||[null,e({}),e([]),e(e)];for(var r=2&d&&a;"object"==typeof r&&!~f.indexOf(r);r=e(r))Object.getOwnPropertyNames(r).forEach(s=>n[s]=()=>a[s]);return n.default=()=>a,t.d(c,n),c}})(),t.d=(e,f)=>{for(var a in f)t.o(f,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((f,a)=>(t.f[a](e,f),f),[])),t.u=e=>(8592===e?"common":e)+"."+{168:"034b0dac4140884c",599:"f3519e487ab59e21",1155:"ab0359dbe7d607a8",1269:"3d94950afc54efb1",1361:"7e48157ce2de18b8",1472:"66ac928ce6b1c733",1514:"6e9ef0db49a735a1",1609:"06f45799411bf730",1717:"003d7a59e0cb337b",1750:"e7dd5ce8d1a109ce",1844:"2f6acf7fb985ab07",2446:"009ec3961a2933ef",2596:"a606b9e6abc49891",3331:"7073ea35bd4dcd43",3438:"e0f52d84511e1d50",3517:"ab5f5e249bf79f77",3656:"50ab1944fe45dd0c",3893:"6be3db6bf584162c",4104:"5ae8ada24976acbe",4135:"97b376be538d7ed4",4211:"23ecde694482634c",4630:"b95aba20f12d90ba",4748:"5717c37ca5f0815a",4796:"62d1386b59566f4c",5058:"ba6ad128f20a2f54",5195:"59370395ae857257",5313:"62159151664b4253",5381:"971c764532963060",5625:"c3315a8b39f71f4c",5954:"e365e85c6ebd3450",5979:"f1f28bef55ade342",5986:"ddd3201fdea5a605",6080:"313645b60fc01803",6093:"42dba1afc5b58b8e",6255:"5afdc88f73dccb00",6355:"8374584d78a4e74a",6371:"74d404f9a890e29f",6381:"a7fcfd91b63a608f",6509:"0c6a567ac571d22e",6580:"8c5e8a4f7706dfb1",7415:"82b6562e51f50ec3",7466:"4692f508a20913e3",7532:"332f804d805cb3dc",7653:"922fb878ee27e76d",7771:"f218e99b3290336a",7823:"1e94f59be8e7cb42",7993:"6952ce33c24960fd",8372:"14badd2604c8a3ff",8393:"d5ea2a5e0b311cf5",8525:"19cc02a66cd7ac62",8542:"d7c5965b05221582",8592:"d6c3399fb9e97277",8941:"ebd281b9c6ab427f",9043:"271fa6197fcc674e",9280:"ae7034942d0d1d5a",9488:"6c46e3da9d9997d8",9699:"92e6e3bb01e258a9"}[e]+".js",t.miniCssF=e=>{},t.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),(()=>{var e={},f="df-admin-interface:";t.l=(a,d,c,n)=>{if(e[a])e[a].push(d);else{var r,s;if(void 0!==c)for(var i=document.getElementsByTagName("script"),o=0;o{r.onerror=r.onload=null,clearTimeout(l);var m=e[a];if(delete e[a],r.parentNode&&r.parentNode.removeChild(r),m&&m.forEach(h=>h(p)),g)return g(p)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),s&&document.head.appendChild(r)}}})(),t.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;t.tt=()=>(void 0===e&&(e={createScriptURL:f=>f},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),t.tu=e=>t.tt().createScriptURL(e),t.p="",(()=>{var e={3666:0};t.f.j=(d,c)=>{var n=t.o(e,d)?e[d]:void 0;if(0!==n)if(n)c.push(n[2]);else if(3666!=d){var r=new Promise((b,u)=>n=e[d]=[b,u]);c.push(n[2]=r);var s=t.p+t.u(d),i=new Error;t.l(s,b=>{if(t.o(e,d)&&(0!==(n=e[d])&&(e[d]=void 0),n)){var u=b&&("load"===b.type?"missing":b.type),l=b&&b.target&&b.target.src;i.message="Loading chunk "+d+" failed.\n("+u+": "+l+")",i.name="ChunkLoadError",i.type=u,i.request=l,n[1](i)}},"chunk-"+d,d)}else e[d]=0},t.O.j=d=>0===e[d];var f=(d,c)=>{var i,o,[n,r,s]=c,b=0;if(n.some(l=>0!==e[l])){for(i in r)t.o(r,i)&&(t.m[i]=r[i]);if(s)var u=s(t)}for(d&&d(c);b{"use strict";var e,_={},v={};function t(e){var f=v[e];if(void 0!==f)return f.exports;var a=v[e]={id:e,loaded:!1,exports:{}};return _[e].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}t.m=_,t.amdD=function(){throw new Error("define cannot be used indirect")},e=[],t.O=(f,a,d,c)=>{if(!a){var r=1/0;for(n=0;n=c)&&Object.keys(t.O).every(p=>t.O[p](a[b]))?a.splice(b--,1):(s=!1,c0&&e[n-1][2]>c;n--)e[n]=e[n-1];e[n]=[a,d,c]},t.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return t.d(f,{a:f}),f},(()=>{var f,e=Object.getPrototypeOf?a=>Object.getPrototypeOf(a):a=>a.__proto__;t.t=function(a,d){if(1&d&&(a=this(a)),8&d||"object"==typeof a&&a&&(4&d&&a.__esModule||16&d&&"function"==typeof a.then))return a;var c=Object.create(null);t.r(c);var n={};f=f||[null,e({}),e([]),e(e)];for(var r=2&d&&a;"object"==typeof r&&!~f.indexOf(r);r=e(r))Object.getOwnPropertyNames(r).forEach(s=>n[s]=()=>a[s]);return n.default=()=>a,t.d(c,n),c}})(),t.d=(e,f)=>{for(var a in f)t.o(f,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((f,a)=>(t.f[a](e,f),f),[])),t.u=e=>(8592===e?"common":e)+"."+{168:"034b0dac4140884c",599:"f3519e487ab59e21",1155:"ab0359dbe7d607a8",1269:"3d94950afc54efb1",1361:"7e48157ce2de18b8",1472:"66ac928ce6b1c733",1514:"6e9ef0db49a735a1",1609:"a4e38a7bfa38816e",1717:"003d7a59e0cb337b",1750:"e7dd5ce8d1a109ce",1844:"2f6acf7fb985ab07",2446:"009ec3961a2933ef",2596:"a606b9e6abc49891",3331:"7073ea35bd4dcd43",3438:"e0f52d84511e1d50",3517:"ab5f5e249bf79f77",3530:"4352d33e84ff942b",3656:"50ab1944fe45dd0c",3893:"6be3db6bf584162c",4104:"5ae8ada24976acbe",4135:"97b376be538d7ed4",4211:"23ecde694482634c",4630:"b95aba20f12d90ba",4748:"5717c37ca5f0815a",4796:"62d1386b59566f4c",5058:"ba6ad128f20a2f54",5195:"59370395ae857257",5313:"62159151664b4253",5381:"971c764532963060",5625:"c3315a8b39f71f4c",5954:"e365e85c6ebd3450",5979:"c7b5cf59d8d2ad2c",5986:"ddd3201fdea5a605",6080:"313645b60fc01803",6093:"42dba1afc5b58b8e",6255:"5afdc88f73dccb00",6355:"03d7ed2ec0e5aa78",6371:"74d404f9a890e29f",6381:"a7fcfd91b63a608f",6509:"0c6a567ac571d22e",6580:"8c5e8a4f7706dfb1",7415:"82b6562e51f50ec3",7466:"4692f508a20913e3",7532:"332f804d805cb3dc",7653:"922fb878ee27e76d",7771:"f218e99b3290336a",7823:"1e94f59be8e7cb42",7993:"6952ce33c24960fd",8393:"fb4ff876758c2446",8525:"19cc02a66cd7ac62",8542:"d7c5965b05221582",8592:"aa3f69fe9e8f582e",8941:"ebd281b9c6ab427f",9043:"271fa6197fcc674e",9280:"ae7034942d0d1d5a",9488:"6c46e3da9d9997d8",9699:"92e6e3bb01e258a9"}[e]+".js",t.miniCssF=e=>{},t.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),(()=>{var e={},f="df-admin-interface:";t.l=(a,d,c,n)=>{if(e[a])e[a].push(d);else{var r,s;if(void 0!==c)for(var b=document.getElementsByTagName("script"),o=0;o{r.onerror=r.onload=null,clearTimeout(l);var m=e[a];if(delete e[a],r.parentNode&&r.parentNode.removeChild(r),m&&m.forEach(h=>h(p)),g)return g(p)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),s&&document.head.appendChild(r)}}})(),t.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;t.tt=()=>(void 0===e&&(e={createScriptURL:f=>f},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),t.tu=e=>t.tt().createScriptURL(e),t.p="",(()=>{var e={3666:0};t.f.j=(d,c)=>{var n=t.o(e,d)?e[d]:void 0;if(0!==n)if(n)c.push(n[2]);else if(3666!=d){var r=new Promise((i,u)=>n=e[d]=[i,u]);c.push(n[2]=r);var s=t.p+t.u(d),b=new Error;t.l(s,i=>{if(t.o(e,d)&&(0!==(n=e[d])&&(e[d]=void 0),n)){var u=i&&("load"===i.type?"missing":i.type),l=i&&i.target&&i.target.src;b.message="Loading chunk "+d+" failed.\n("+u+": "+l+")",b.name="ChunkLoadError",b.type=u,b.request=l,n[1](b)}},"chunk-"+d,d)}else e[d]=0},t.O.j=d=>0===e[d];var f=(d,c)=>{var b,o,[n,r,s]=c,i=0;if(n.some(l=>0!==e[l])){for(b in r)t.o(r,b)&&(t.m[b]=r[b]);if(s)var u=s(t)}for(d&&d(c);i>>>>>>> develop:dist/runtime.ee9393e8c14b6479.js diff --git a/proxy.conf.json b/proxy.conf.json index 6e682871..f1488dd2 100644 --- a/proxy.conf.json +++ b/proxy.conf.json @@ -1,7 +1 @@ -{ - "/api": { - "target": "http://localhost:80", - "secure": false, - "changeOrigin": true - } -} +{ "/api": { "target": "http://web:80", "secure": false, "changeOrigin": true } } diff --git a/src/app/adf-services/df-service-details/df-service-details.component.ts b/src/app/adf-services/df-service-details/df-service-details.component.ts index 792b5be7..9ab190fd 100644 --- a/src/app/adf-services/df-service-details/df-service-details.component.ts +++ b/src/app/adf-services/df-service-details/df-service-details.component.ts @@ -390,9 +390,12 @@ export class DfServiceDetailsComponent implements OnInit { if (type === 'nodejs') { return AceEditorMode.NODEJS; } - if (type === 'python' || type === 'python3') { + if (type === 'python') { return AceEditorMode.PYTHON; } + if (type === 'python3') { + return AceEditorMode.PYTHON3; + } if (type === 'php') { return AceEditorMode.PHP; } diff --git a/src/app/shared/components/df-ace-editor/df-ace-editor.component.ts b/src/app/shared/components/df-ace-editor/df-ace-editor.component.ts index ab8b84f8..50b2cd34 100644 --- a/src/app/shared/components/df-ace-editor/df-ace-editor.component.ts +++ b/src/app/shared/components/df-ace-editor/df-ace-editor.component.ts @@ -128,9 +128,7 @@ export class DfAceEditorComponent if (mode === 'nodejs') { return AceEditorMode.JAVASCRIPT; } - if (mode === 'python3') { - return AceEditorMode.PYTHON; - } + // Python3 now has its own mode, so we don't need to map it to Python anymore return mode; } } diff --git a/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.html b/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.html index 4bf068ed..834bb88a 100644 --- a/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.html +++ b/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.html @@ -3,7 +3,7 @@

Upload Private Key File - Select Private Key File + Select File Allowed file types: {{ data.allowedExtensions.join(', ') }} @@ -43,7 +43,7 @@

Select a File Service

- +

(change)="handleFileUpload($event)" /> + +
+

+ Select a file from the list below. To upload new files, please use the + File Manager. +

+
+
Loading files...
@@ -132,12 +140,14 @@

Select a File Service

This directory is empty.

+
diff --git a/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.scss b/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.scss index 4a27bf50..ad1156c7 100644 --- a/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.scss +++ b/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.scss @@ -84,6 +84,9 @@ h2 { display: flex; gap: 16px; margin-bottom: 20px; + padding: 10px; + border: 1px dashed #3f51b5; + background-color: rgba(63, 81, 181, 0.05); .action-button { display: flex; diff --git a/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.ts b/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.ts index 2b2d438a..61bf4e66 100644 --- a/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.ts +++ b/src/app/shared/components/df-file-selector/df-file-selector-dialog.component.ts @@ -34,6 +34,8 @@ import { import { FileApiInfo, SelectedFile } from './df-file-selector.component'; import { HttpClient } from '@angular/common/http'; import { FileApiService } from '../../services/df-file-api.service'; +import { DfBaseCrudService } from '../../services/df-base-crud.service'; +import { URL_TOKEN } from '../../constants/tokens'; // Simple dialog for creating a new folder @Component({ @@ -105,6 +107,7 @@ interface DialogData { allowedExtensions: string[]; uploadMode?: boolean; fileToUpload?: File; + selectorOnly?: boolean; } @UntilDestroy({ checkProperties: true }) @@ -130,6 +133,16 @@ interface DialogData { TranslocoPipe, FontAwesomeModule, ], + providers: [ + // Create a factory provider for the DfBaseCrudService that sets the URL dynamically + { + provide: DfBaseCrudService, + useFactory: (http: HttpClient) => { + return new DfBaseCrudService('api/v2', http); + }, + deps: [HttpClient], + }, + ], }) export class DfFileSelectorDialogComponent implements OnInit { // Reference to the file input element @@ -151,12 +164,22 @@ export class DfFileSelectorDialogComponent implements OnInit { selectedFile: FileItem | null = null; + // Flag to determine if we're in selector-only mode + get isSelectorOnly(): boolean { + console.log( + 'isSelectorOnly getter called, data.selectorOnly =', + this.data.selectorOnly + ); + return !!this.data.selectorOnly; + } + constructor( private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: DialogData, private dialog: MatDialog, private http: HttpClient, - private fileApiService: FileApiService + private fileApiService: FileApiService, + private crudService: DfBaseCrudService ) {} ngOnInit(): void { @@ -164,6 +187,14 @@ export class DfFileSelectorDialogComponent implements OnInit { if (this.data.uploadMode && this.data.fileApis.length > 0) { this.selectFileApi(this.data.fileApis[0]); } + + // Print debug information about the dialog data + console.log('Dialog initialized with data:', { + uploadMode: this.data.uploadMode, + selectorOnly: this.data.selectorOnly, + allowedExtensions: this.data.allowedExtensions, + fileApis: this.data.fileApis?.length || 0, + }); } selectFileApi(fileApi: FileApiInfo): void { @@ -178,12 +209,12 @@ export class DfFileSelectorDialogComponent implements OnInit { this.isLoading = true; - // Use the FileApiService instead of direct HTTP calls + // Use fileApiService to handle authentication and headers properly this.fileApiService .listFiles(this.selectedFileApi.name, this.currentPath) .pipe(untilDestroyed(this)) .subscribe({ - next: response => { + next: (response: any) => { this.isLoading = false; // Check if response contains an error message from our error handling @@ -339,8 +370,11 @@ export class DfFileSelectorDialogComponent implements OnInit { // Store reference to avoid null checks later const fileApi = this.selectedFileApi; - console.log(`Starting upload of ${file.name} (${file.size} bytes)`); + console.log( + `Starting upload of ${file.name} (${file.size} bytes) to ${fileApi.name}/${path}` + ); + // Use fileApiService to handle authentication and proper URL construction this.fileApiService .uploadFile(fileApi.name, file, path) .pipe(untilDestroyed(this)) @@ -433,8 +467,11 @@ export class DfFileSelectorDialogComponent implements OnInit { // Store reference to avoid null checks later const fileApi = this.selectedFileApi; - console.log(`Starting upload of ${file.name} (${file.size} bytes)`); + console.log( + `Starting upload of ${file.name} (${file.size} bytes) to ${fileApi.name}/${path}` + ); + // Use fileApiService to handle authentication and proper URL construction this.fileApiService .uploadFile(fileApi.name, file, path) .pipe(untilDestroyed(this)) @@ -492,8 +529,40 @@ export class DfFileSelectorDialogComponent implements OnInit { }); } + // Trigger the file input click programmatically + triggerFileUpload(): void { + console.log( + 'triggerFileUpload called, isSelectorOnly =', + this.isSelectorOnly + ); + + // Don't allow file upload in selector-only mode + if (this.isSelectorOnly) { + console.log('Blocked file upload due to selector-only mode'); + return; + } + + if (this.fileUploadInput) { + console.log('Clicking file upload input element'); + this.fileUploadInput.nativeElement.click(); + } else { + console.log('File upload input element not found'); + } + } + // Show dialog to create a new folder showCreateFolderDialog(): void { + console.log( + 'showCreateFolderDialog called, isSelectorOnly =', + this.isSelectorOnly + ); + + // Don't allow folder creation in selector-only mode + if (this.isSelectorOnly) { + console.log('Blocked folder creation due to selector-only mode'); + return; + } + const dialogRef = this.dialog.open(CreateFolderDialogComponent, { width: '350px', }); @@ -511,6 +580,7 @@ export class DfFileSelectorDialogComponent implements OnInit { this.isLoading = true; + // Use fileApiService to handle authentication and proper URL construction this.fileApiService .createDirectory(this.selectedFileApi.name, this.currentPath, folderName) .pipe(untilDestroyed(this)) @@ -532,13 +602,6 @@ export class DfFileSelectorDialogComponent implements OnInit { this.dialogRef.close(); } - // Trigger the file input click programmatically - triggerFileUpload(): void { - if (this.fileUploadInput) { - this.fileUploadInput.nativeElement.click(); - } - } - // Handle file selection from the input element handleFileUpload(event: Event): void { const input = event.target as HTMLInputElement; diff --git a/src/app/shared/components/df-file-selector/df-file-selector.component.html b/src/app/shared/components/df-file-selector/df-file-selector.component.html index b9438f8c..35163fd2 100644 --- a/src/app/shared/components/df-file-selector/df-file-selector.component.html +++ b/src/app/shared/components/df-file-selector/df-file-selector.component.html @@ -18,6 +18,21 @@ Select File + + + + +
+ You can upload and select files directly with "Select File" or manage + files via the "File Manager".
@@ -73,6 +88,16 @@ (click)="openFileSelector()"> Choose Different + +
diff --git a/src/app/shared/components/df-file-selector/df-file-selector.component.ts b/src/app/shared/components/df-file-selector/df-file-selector.component.ts index f4fc8164..8cca86e9 100644 --- a/src/app/shared/components/df-file-selector/df-file-selector.component.ts +++ b/src/app/shared/components/df-file-selector/df-file-selector.component.ts @@ -22,13 +22,16 @@ import { faFolderOpen, faCheck, faUpload, + faExternalLinkAlt, } from '@fortawesome/free-solid-svg-icons'; import { DfFileSelectorDialogComponent } from './df-file-selector-dialog.component'; import { FileApiService } from '../../services/df-file-api.service'; -import { BASE_SERVICE_TOKEN } from '../../constants/tokens'; +import { BASE_SERVICE_TOKEN, URL_TOKEN } from '../../constants/tokens'; import { DfBaseCrudService } from '../../services/df-base-crud.service'; import { GenericListResponse } from '../../types/generic-http'; import { MatIconModule } from '@angular/material/icon'; +import { Router } from '@angular/router'; +import { ROUTES } from '../../types/routes'; export interface FileApiInfo { id: number; @@ -66,6 +69,12 @@ export interface SelectedFile { FontAwesomeModule, MatIconModule, ], + providers: [ + // Provide the URL_TOKEN for the DfBaseCrudService + { provide: URL_TOKEN, useValue: 'api/v2/system/service' }, + // Provide the DfBaseCrudService + DfBaseCrudService, + ], }) export class DfFileSelectorComponent implements OnInit { @Input() label: string = 'Private Key File'; @@ -78,6 +87,7 @@ export class DfFileSelectorComponent implements OnInit { faFolderOpen = faFolderOpen; faCheck = faCheck; faUpload = faUpload; + faExternalLinkAlt = faExternalLinkAlt; selectedFile: SelectedFile | undefined = undefined; fileApis: FileApiInfo[] = []; @@ -85,7 +95,9 @@ export class DfFileSelectorComponent implements OnInit { constructor( private dialog: MatDialog, - private fileApiService: FileApiService + private fileApiService: FileApiService, + private crudService: DfBaseCrudService, + private router: Router ) {} ngOnInit(): void { @@ -101,6 +113,11 @@ export class DfFileSelectorComponent implements OnInit { this.ensureFallbackService(); } + // Navigate to the Files management section + goToFilesManager(): void { + this.router.navigate([ROUTES.ADMIN_SETTINGS, ROUTES.FILES]); + } + // Ensure there's always at least one file service available private ensureFallbackService(): void { if (this.fileApis.length === 0) { @@ -150,11 +167,14 @@ export class DfFileSelectorComponent implements OnInit { // Ensure fallback before opening dialog this.ensureFallbackService(); + console.log('Opening file selector dialog with selectorOnly = false'); + const dialogRef = this.dialog.open(DfFileSelectorDialogComponent, { width: '800px', data: { fileApis: this.fileApis, allowedExtensions: this.allowedExtensions, + selectorOnly: false, // Allow folder creation and file upload }, }); diff --git a/src/app/shared/constants/scripts.ts b/src/app/shared/constants/scripts.ts index ed0cdf19..0b78c551 100644 --- a/src/app/shared/constants/scripts.ts +++ b/src/app/shared/constants/scripts.ts @@ -17,4 +17,9 @@ export const SCRIPT_TYPES = [ value: AceEditorMode.PYTHON, extension: 'py', }, + { + label: translate('scriptTypes.python3'), + value: AceEditorMode.PYTHON3, + extension: 'py', + }, ]; diff --git a/src/app/shared/services/df-file-api.service.ts b/src/app/shared/services/df-file-api.service.ts index 3cde7b4e..9e7abe93 100644 --- a/src/app/shared/services/df-file-api.service.ts +++ b/src/app/shared/services/df-file-api.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpEventType } from '@angular/common/http'; -import { Observable, catchError, map, tap, filter } from 'rxjs'; +import { Observable, catchError, map, tap, filter, throwError } from 'rxjs'; import { DfUserDataService } from './df-user-data.service'; import { SESSION_TOKEN_HEADER } from '../constants/http-headers'; @@ -41,6 +41,27 @@ export class FileApiService { private userDataService: DfUserDataService ) {} + /** + * Get the absolute API URL by determining the base URL from the current window location + * This bypasses the Angular baseHref and router completely + */ + private getAbsoluteApiUrl(path: string): string { + // Get the current origin (protocol + hostname + port) + const origin = window.location.origin; + + // Remove leading slash if present + const cleanPath = path.startsWith('/') ? path.substring(1) : path; + + // First ensure we remove any /dreamfactory/dist/ prefix if it exists in the path + const pathWithoutPrefix = cleanPath.replace(/^(dreamfactory\/dist\/)?/, ''); + + // Combine to get the absolute URL that goes directly to /api/v2 without any prefix + const absoluteUrl = `${origin}/${pathWithoutPrefix}`; + + console.log(`🔍 Constructed absolute URL for API request: ${absoluteUrl}`); + return absoluteUrl; + } + /** * Check if a file service should be included in the selector * @param service The file service to check @@ -48,13 +69,9 @@ export class FileApiService { */ private isSelectableFileService(service: FileService): boolean { // Exclude services with names containing 'log' - if ( - this.excludedServices.some( - exclude => - service.name.toLowerCase().includes(exclude) || - service.label.toLowerCase().includes(exclude) - ) - ) { + if (this.excludedServices.some(exclude => + service.name.toLowerCase().includes(exclude) || + service.label.toLowerCase().includes(exclude))) { return false; } @@ -112,17 +129,22 @@ export class FileApiService { // First emit the default services to ensure the UI is responsive observer.next(defaultServices); - // Then try to get the actual services from the API - // Using direct URL format that matches the server expectation - // Notice the format change from filter[type] to filter=type= + // Direct URL construction to bypass Angular baseHref and router + const url = `${window.location.origin}/api/v2/system/service`; + console.log(`Loading file services from absolute URL: ${url}`); + + // Set parameters for file service filtering + const params = { + filter: 'type=local_file', + fields: 'id,name,label,type', + }; + + // Get authentication headers + const headers = this.getHeaders(); + + // Then try to get the actual services from the API using direct HTTP this.http - .get>('api/v2/system/service', { - params: { - filter: 'type=local_file', - fields: 'id,name,label,type', - }, - headers: this.getHeaders(), - }) + .get>(url, { params, headers }) .pipe( map(response => { if ( @@ -197,10 +219,18 @@ export class FileApiService { }); } - const url = path + // Construct the path + const apiPath = path ? `api/v2/${serviceName}/${path}` : `api/v2/${serviceName}`; - console.log(`Listing files from ${url}`); + + // Log the operation + console.log(`Listing files from path: ${apiPath}`); + + // Use DfBaseCrudService style approach to ensure consistency with admin interface + // Just use the HTTP client directly with exact URL + const url = `${window.location.origin}/${apiPath}`; + console.log(`Using absolute URL: ${url}`); // Set specific parameters for file listing const params: Record = {}; @@ -209,10 +239,17 @@ export class FileApiService { // Add standard fields params['fields'] = 'name,path,type,content_type,last_modified,size'; + // Add the session token to headers + const headers: Record = {}; + const token = this.userDataService.token; + if (token) { + headers[SESSION_TOKEN_HEADER] = token; + } + return this.http .get(url, { - headers: this.getHeaders(), - params: params, + headers, + params, }) .pipe( tap(response => console.log('Files response:', response)), @@ -260,237 +297,103 @@ export class FileApiService { file: File, path: string = '' ): Observable { - // Build the URL properly including the filename - let url: string; + // Construct the path + let apiPath: string; if (path) { // Ensure path doesn't end with slash and append filename const cleanPath = path.replace(/\/$/, ''); - url = `api/v2/${serviceName}/${cleanPath}/${file.name}`; + apiPath = `api/v2/${serviceName}/${cleanPath}/${file.name}`; } else { - url = `api/v2/${serviceName}/${file.name}`; + apiPath = `api/v2/${serviceName}/${file.name}`; } + // Use absolute URL to bypass any baseHref issues + const url = this.getAbsoluteApiUrl(apiPath); + console.log( - `Uploading file: ${file.name}, size: ${file.size} bytes, type: ${file.type}` + `⭐⭐⭐ UPLOADING FILE ${file.name} (${file.size} bytes), type: ${file.type} ⭐⭐⭐` ); - console.log(`To URL: ${url}`); + console.log(`To absolute URL: ${url}`); + console.log(`Current document baseURI: ${document.baseURI}`); + console.log(`Current window location: ${window.location.href}`); - // Check if this is a private key file that needs special handling + // Check if this is a private key file (just for logging purposes) const isPEMFile = file.name.endsWith('.pem') || file.name.endsWith('.p8') || file.name.endsWith('.key'); - if (isPEMFile) { console.log( - 'Detected private key file - using binary upload method for proper content preservation' + 'Detected private key file - using standard FormData upload method' ); - return this.uploadBinaryFile(url, file); } + // Create FormData for the file - this works for ALL file types + const formData = new FormData(); + // IMPORTANT: Use 'files' instead of 'file' to match the admin implementation + formData.append('files', file); + // Get authentication headers const headers = this.getHeaders(); - // Use a more direct XMLHttpRequest approach with explicit binary handling - return new Observable(observer => { - // Create a new XMLHttpRequest - const xhr = new XMLHttpRequest(); - - // Set up progress tracking - xhr.upload.onprogress = event => { - if (event.lengthComputable) { - const percentDone = Math.round((100 * event.loaded) / event.total); - console.log(`Upload progress: ${percentDone}%`); - observer.next({ type: 'progress', progress: percentDone }); - } - }; - - // Handle various events - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - let response; - try { - response = JSON.parse(xhr.responseText); - } catch (e) { - response = xhr.responseText; - } - console.log('Upload complete with response:', response); - observer.next(response); - observer.complete(); - } else { - let errorResponse; - try { - errorResponse = JSON.parse(xhr.responseText); - } catch (e) { - errorResponse = { error: xhr.statusText }; - } - console.error( - `Error uploading file: ${xhr.status} ${xhr.statusText}`, - errorResponse - ); - observer.error({ status: xhr.status, error: errorResponse }); - } - }; - - xhr.onerror = () => { - console.error('Network error during file upload'); - observer.error({ - status: 0, - error: 'Network error during file upload', - }); - }; - - xhr.ontimeout = () => { - console.error('Timeout during file upload'); - observer.error({ status: 408, error: 'Request timeout' }); - }; - - // Open the request (POST for file upload) - xhr.open('POST', url, true); - - // Add authentication and other needed headers - Object.keys(headers).forEach(key => { - xhr.setRequestHeader(key, headers[key]); - }); - - // Create FormData for the file - const formData = new FormData(); - formData.append('file', file); - - // Log the file size again right before sending - console.log(`Sending file with size: ${file.size} bytes`); - - // Send the request with the file data - xhr.send(formData); - - // Return an unsubscribe function - return () => { - if (xhr && xhr.readyState !== 4) { - xhr.abort(); - } - }; - }); + // Use Angular's HttpClient for the upload - this handles baseHref correctly + return this.http.post(url, formData, { headers }).pipe( + tap(response => console.log('Upload complete with response:', response)), + catchError(error => { + console.error( + `Error uploading file: ${error.status} ${error.statusText}`, + error + ); + return throwError(() => ({ + status: error.status, + error: error.error || { message: 'File upload failed' }, + })); + }) + ); } /** - * Upload a binary file (like PEM, P8, or private key files) using binary transmission - * to ensure content is preserved properly - * @param url The URL to upload to - * @param file The file to upload as binary + * Create a directory using POST with X-Http-Method header + * @param serviceName The name of the file service + * @param path The path where to create the directory + * @param name The name of the directory */ - private uploadBinaryFile(url: string, file: File): Observable { + createDirectoryWithPost( + serviceName: string, + path: string, + name: string + ): Observable { + const payload = { + resource: [ + { + name: name, + type: 'folder', + }, + ], + }; + + // Construct the path + const apiPath = path + ? `api/v2/${serviceName}/${path}` + : `api/v2/${serviceName}`; + // Use absolute URL to bypass any baseHref issues + const url = this.getAbsoluteApiUrl(apiPath); console.log( - `Uploading binary file: ${file.name}, size: ${file.size} bytes` + `Creating directory using POST at absolute URL: ${url}`, + payload ); - // Get authentication headers + // Get headers and add X-Http-Method header const headers = this.getHeaders(); + headers['X-Http-Method'] = 'POST'; - return new Observable(observer => { - // First read the file - const reader = new FileReader(); - - reader.onload = event => { - const content = event.target?.result; - - if (!content) { - observer.error({ status: 500, error: 'Failed to read file content' }); - return; - } - - console.log( - `File content read successfully, content length: ${ - (content as ArrayBuffer).byteLength - } bytes` - ); - - // Create a new XMLHttpRequest for binary upload - const xhr = new XMLHttpRequest(); - - // Set up progress tracking - xhr.upload.onprogress = event => { - if (event.lengthComputable) { - const percentDone = Math.round((100 * event.loaded) / event.total); - console.log(`Upload progress: ${percentDone}%`); - observer.next({ type: 'progress', progress: percentDone }); - } - }; - - // Handle various events - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - let response; - try { - response = JSON.parse(xhr.responseText); - } catch (e) { - response = xhr.responseText; - } - console.log('Binary upload complete with response:', response); - observer.next(response); - observer.complete(); - } else { - let errorResponse; - try { - errorResponse = JSON.parse(xhr.responseText); - } catch (e) { - errorResponse = { error: xhr.statusText }; - } - console.error( - `Error uploading binary file: ${xhr.status} ${xhr.statusText}`, - errorResponse - ); - observer.error({ status: xhr.status, error: errorResponse }); - } - }; - - xhr.onerror = () => { - console.error('Network error during binary file upload'); - observer.error({ - status: 0, - error: 'Network error during binary file upload', - }); - }; - - xhr.ontimeout = () => { - console.error('Timeout during binary file upload'); - observer.error({ status: 408, error: 'Request timeout' }); - }; - - // Open the request (POST for file upload) - xhr.open('POST', url, true); - - // Add authentication headers - Object.keys(headers).forEach(key => { - xhr.setRequestHeader(key, headers[key]); - }); - - // Add content type header for binary data - xhr.setRequestHeader('Content-Type', 'application/octet-stream'); - - // Send the binary data directly - xhr.send(content); - - // Return an unsubscribe function - return () => { - if (xhr && xhr.readyState !== 4) { - xhr.abort(); - } - }; - }; - - reader.onerror = error => { - console.error('Error reading file:', error); - observer.error({ - status: 500, - error: - 'Failed to read file: ' + - (error.target?.error?.message || 'Unknown error'), - }); - }; - - // Read the file as an ArrayBuffer (binary content) - reader.readAsArrayBuffer(file); - }); + return this.http.post(url, payload, { headers }).pipe( + tap(response => console.log('Create directory response:', response)), + catchError(error => { + console.error(`Error creating directory at ${url}:`, error); + throw error; + }) + ); } /** @@ -499,8 +402,10 @@ export class FileApiService { * @param path The path to the file */ getFileContent(serviceName: string, path: string): Observable { - const url = `api/v2/${serviceName}/${path}`; - console.log(`Getting file content from ${url}`); + // Construct the path and use absolute URL + const apiPath = `api/v2/${serviceName}/${path}`; + const url = this.getAbsoluteApiUrl(apiPath); + console.log(`Getting file content from absolute URL: ${url}`); return this.http .get(url, { @@ -521,8 +426,10 @@ export class FileApiService { * @param path The path to the file */ deleteFile(serviceName: string, path: string): Observable { - const url = `api/v2/${serviceName}/${path}`; - console.log(`Deleting file at ${url}`); + // Construct the path and use absolute URL + const apiPath = `api/v2/${serviceName}/${path}`; + const url = this.getAbsoluteApiUrl(apiPath); + console.log(`Deleting file at absolute URL: ${url}`); return this.http.delete(url, { headers: this.getHeaders() }).pipe( tap(response => console.log('Delete response:', response)), @@ -553,10 +460,13 @@ export class FileApiService { ], }; - const url = path + // Construct the path + const apiPath = path ? `api/v2/${serviceName}/${path}` : `api/v2/${serviceName}`; - console.log(`Creating directory at ${url}`, payload); + // Use absolute URL to bypass any baseHref issues + const url = this.getAbsoluteApiUrl(apiPath); + console.log(`Creating directory at absolute URL: ${url}`, payload); return this.http.post(url, payload, { headers: this.getHeaders() }).pipe( tap(response => console.log('Create directory response:', response)), diff --git a/src/app/shared/types/scripts.ts b/src/app/shared/types/scripts.ts index c603828b..b53c9acd 100644 --- a/src/app/shared/types/scripts.ts +++ b/src/app/shared/types/scripts.ts @@ -38,7 +38,7 @@ export enum AceEditorMode { NODEJS = 'nodejs', PHP = 'php', PYTHON = 'python', - PYTHON3 = 'python', + PYTHON3 = 'python3', JAVASCRIPT = 'javascript', } diff --git a/src/assets/ace-builds/mode-python3.js b/src/assets/ace-builds/mode-python3.js new file mode 100644 index 00000000..6e924124 --- /dev/null +++ b/src/assets/ace-builds/mode-python3.js @@ -0,0 +1,8 @@ +ace.define("ace/mode/python3_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield|async|await|nonlocal",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|apply|delattr|help|next|setattr|set|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|ascii|breakpoint|bytes",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"variable.language":"self|cls","constant.language":t,keyword:e},"identifier"),i="[uU]?",s="[rR]",o="[fF]",u="(?:[rR][fF]|[fF][rR])",a="(?:(?:[1-9]\\d*)|(?:0))",f="(?:0[oO]?[0-7]+)",l="(?:0[xX][\\dA-Fa-f]+)",c="(?:0[bB][01]+)",h="(?:"+a+"|"+f+"|"+l+"|"+c+")",p="(?:[eE][+-]?\\d+)",d="(?:\\.\\d+)",v="(?:\\d+)",m="(?:(?:"+v+"?"+d+")|(?:"+v+"\\.))",g="(?:(?:"+m+"|"+v+")"+p+")",y="(?:"+g+"|"+m+")",b="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"string",regex:s+'"{3}',next:"rawqqstring3"},{token:"string",regex:s+'"(?=.)',next:"rawqqstring"},{token:"string",regex:s+"'{3}",next:"rawqstring3"},{token:"string",regex:s+"'(?=.)",next:"rawqstring"},{token:"string",regex:o+'"{3}',next:"fqqstring3"},{token:"string",regex:o+'"(?=.)',next:"fqqstring"},{token:"string",regex:o+"'{3}",next:"fqstring3"},{token:"string",regex:o+"'(?=.)",next:"fqstring"},{token:"string",regex:u+'"{3}',next:"rfqqstring3"},{token:"string",regex:u+'"(?=.)',next:"rfqqstring"},{token:"string",regex:u+"'{3}",next:"rfqstring3"},{token:"string",regex:u+"'(?=.)",next:"rfqstring"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:["keyword","text","entity.name.function"],regex:"(def|class)(\\s+)([\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w]+)"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'[^']*'"},{token:"string",regex:'"[^"]*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+y+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:y},{token:"constant.numeric",regex:h+"[lL]\\b"},{token:"constant.numeric",regex:h+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+e+")(?:\\s*)(?:#.*)?$")};r.inherits(s,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(e,i[1],n,i.index):i[2]?this.indentationBlock(e,n,i.index+i[2].length):this.indentationBlock(e,n)}}.call(s.prototype)}),ace.define("ace/mode/python3",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./python_highlight_rules").PythonHighlightRules,o=e("./folding/pythonic").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o("\\:"),this.$behaviour=this.$defaultBehaviour};r.inherits(a,i),function(){this.lineCommentStart="#",this.$pairQuotesAfter={"'":/[ruf]/i,'"':/[ruf]/i},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))},this.$id="ace/mode/python3",this.snippetFileId="ace/snippets/python"}.call(a.prototype),t.Mode=a}); (function() { + ace.require(["ace/mode/python3"], function(m) { + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = m; + } + }); + })(); + \ No newline at end of file diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index ad539901..f8f4399c 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -114,6 +114,7 @@ "javascript": "JavaScript", "php": "PHP", "python": "Python", + "python3": "Python3", "nodejs": "Node.js" }, "nav": { diff --git a/src/assets/i18n/scripts/en.json b/src/assets/i18n/scripts/en.json index 31f44c40..0d0730f3 100644 --- a/src/assets/i18n/scripts/en.json +++ b/src/assets/i18n/scripts/en.json @@ -22,6 +22,13 @@ "getScriptSuccessMsg": "Script file successfully fetched", "fetchCacheSuccessMsg": "Successfully pulled the latest script from source.", "deleteCacheSuccessMsg": "Successfully cleared script from cache.", + "scriptTypes": { + "javascript": "JavaScript", + "php": "PHP", + "python": "Python", + "python3": "Python3", + "nodejs": "Node.js" + }, "errors": { "githubImport": "Error: Invalid file format. Only js, php, py, txt file format(s) allowed" }