@ws-ui/store 1.6.7 → 1.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -32,7 +32,7 @@ __p += '`),we&&(B+=`' +
32
32
  function print() { __p += __j.call(arguments, '') }
33
33
  `:`;
34
34
  `)+B+`return __p
35
- }`;var ve=hh(function(){return Ae(w,Z+"return "+B).apply(r,x)});if(ve.source=B,su(ve))throw ve;return ve}function AC(n){return Oe(n).toLowerCase()}function xC(n){return Oe(n).toUpperCase()}function RC(n,o,c){if(n=Oe(n),n&&(c||o===r))return Td(n);if(!n||!(o=Mt(o)))return n;var p=tr(n),y=tr(o),w=wd(p,y),x=Cd(p,y)+1;return jr(p,w,x).join("")}function OC(n,o,c){if(n=Oe(n),n&&(c||o===r))return n.slice(0,xd(n)+1);if(!n||!(o=Mt(o)))return n;var p=tr(n),y=Cd(p,tr(o))+1;return jr(p,0,y).join("")}function PC(n,o,c){if(n=Oe(n),n&&(c||o===r))return n.replace(si,"");if(!n||!(o=Mt(o)))return n;var p=tr(n),y=wd(p,tr(o));return jr(p,y).join("")}function DC(n,o){var c=be,p=J;if(Ge(o)){var y="separator"in o?o.separator:y;c="length"in o?he(o.length):c,p="omission"in o?Mt(o.omission):p}n=Oe(n);var w=n.length;if(wn(n)){var x=tr(n);w=x.length}if(c>=w)return n;var P=c-Cn(p);if(P<1)return p;var I=x?jr(x,0,P).join(""):n.slice(0,P);if(y===r)return I+p;if(x&&(P+=I.length-P),ou(y)){if(n.slice(P).search(y)){var $,k=I;for(y.global||(y=Ei(y.source,Oe(Gf.exec(y))+"g")),y.lastIndex=0;$=y.exec(k);)var B=$.index;I=I.slice(0,B===r?P:B)}}else if(n.indexOf(Mt(y),P)!=P){var z=I.lastIndexOf(y);z>-1&&(I=I.slice(0,z))}return I+p}function FC(n){return n=Oe(n),n&&Ub.test(n)?n.replace(Wf,i0):n}var IC=Fn(function(n,o,c){return n+(c?" ":"")+o.toUpperCase()}),cu=gp("toUpperCase");function ph(n,o,c){return n=Oe(n),o=c?r:o,o===r?r0(n)?l0(n):zS(n):n.match(o)||[]}var hh=_e(function(n,o){try{return Ft(n,r,o)}catch(c){return su(c)?c:new oe(c)}}),MC=Sr(function(n,o){return Bt(o,function(c){c=ir(c),_r(n,c,nu(n[c],n))}),n});function NC(n){var o=n==null?0:n.length,c=ee();return n=o?We(n,function(p){if(typeof p[1]!="function")throw new Wt(u);return[c(p[0]),p[1]]}):[],_e(function(p){for(var y=-1;++y<o;){var w=n[y];if(Ft(w[0],this,p))return Ft(w[1],this,p)}})}function LC(n){return iE(Ht(n,g))}function lu(n){return function(){return n}}function $C(n,o){return n==null||n!==n?o:n}var kC=yp(),qC=yp(!0);function Rt(n){return n}function fu(n){return zd(typeof n=="function"?n:Ht(n,g))}function jC(n){return Kd(Ht(n,g))}function BC(n,o){return Qd(n,Ht(o,g))}var WC=_e(function(n,o){return function(c){return ia(c,n,o)}}),UC=_e(function(n,o){return function(c){return ia(n,c,o)}});function du(n,o,c){var p=ct(o),y=ws(o,p);c==null&&!(Ge(o)&&(y.length||!p.length))&&(c=o,o=n,n=this,y=ws(o,ct(o)));var w=!(Ge(c)&&"chain"in c)||!!c.chain,x=Tr(n);return Bt(y,function(P){var I=o[P];n[P]=I,x&&(n.prototype[P]=function(){var $=this.__chain__;if(w||$){var k=n(this.__wrapped__),B=k.__actions__=Ct(this.__actions__);return B.push({func:I,args:arguments,thisArg:n}),k.__chain__=$,k}return I.apply(n,Mr([this.value()],arguments))})}),n}function HC(){return ft._===this&&(ft._=v0),this}function pu(){}function GC(n){return n=he(n),_e(function(o){return Jd(o,n)})}var VC=Hi(We),zC=Hi(md),YC=Hi(gi);function gh(n){return Ji(n)?vi(ir(n)):wE(n)}function KC(n){return function(o){return n==null?r:on(n,o)}}var QC=_p(),JC=_p(!0);function hu(){return[]}function gu(){return!1}function XC(){return{}}function ZC(){return""}function eA(){return!0}function tA(n,o){if(n=he(n),n<1||n>ut)return[];var c=V,p=gt(n,V);o=ee(o),n-=V;for(var y=_i(p,o);++c<n;)o(c);return y}function rA(n){return ue(n)?We(n,ir):Nt(n)?[n]:Ct(Np(Oe(n)))}function nA(n){var o=++h0;return Oe(n)+o}var aA=Ps(function(n,o){return n+o},0),sA=Gi("ceil"),oA=Ps(function(n,o){return n/o},1),iA=Gi("floor");function uA(n){return n&&n.length?Ts(n,Rt,Pi):r}function cA(n,o){return n&&n.length?Ts(n,ee(o,2),Pi):r}function lA(n){return Sd(n,Rt)}function fA(n,o){return Sd(n,ee(o,2))}function dA(n){return n&&n.length?Ts(n,Rt,Mi):r}function pA(n,o){return n&&n.length?Ts(n,ee(o,2),Mi):r}var hA=Ps(function(n,o){return n*o},1),gA=Gi("round"),vA=Ps(function(n,o){return n-o},0);function yA(n){return n&&n.length?mi(n,Rt):0}function mA(n,o){return n&&n.length?mi(n,ee(o,2)):0}return T.after=jw,T.ary=Vp,T.assign=x1,T.assignIn=oh,T.assignInWith=Us,T.assignWith=R1,T.at=O1,T.before=zp,T.bind=nu,T.bindAll=MC,T.bindKey=Yp,T.castArray=Xw,T.chain=Up,T.chunk=iT,T.compact=uT,T.concat=cT,T.cond=NC,T.conforms=LC,T.constant=lu,T.countBy=yw,T.create=P1,T.curry=Kp,T.curryRight=Qp,T.debounce=Jp,T.defaults=D1,T.defaultsDeep=F1,T.defer=Bw,T.delay=Ww,T.difference=lT,T.differenceBy=fT,T.differenceWith=dT,T.drop=pT,T.dropRight=hT,T.dropRightWhile=gT,T.dropWhile=vT,T.fill=yT,T.filter=_w,T.flatMap=Ew,T.flatMapDeep=Tw,T.flatMapDepth=ww,T.flatten=qp,T.flattenDeep=mT,T.flattenDepth=_T,T.flip=Uw,T.flow=kC,T.flowRight=qC,T.fromPairs=bT,T.functions=q1,T.functionsIn=j1,T.groupBy=Cw,T.initial=ET,T.intersection=TT,T.intersectionBy=wT,T.intersectionWith=CT,T.invert=W1,T.invertBy=U1,T.invokeMap=xw,T.iteratee=fu,T.keyBy=Rw,T.keys=ct,T.keysIn=xt,T.map=$s,T.mapKeys=G1,T.mapValues=V1,T.matches=jC,T.matchesProperty=BC,T.memoize=qs,T.merge=z1,T.mergeWith=ih,T.method=WC,T.methodOf=UC,T.mixin=du,T.negate=js,T.nthArg=GC,T.omit=Y1,T.omitBy=K1,T.once=Hw,T.orderBy=Ow,T.over=VC,T.overArgs=Gw,T.overEvery=zC,T.overSome=YC,T.partial=au,T.partialRight=Xp,T.partition=Pw,T.pick=Q1,T.pickBy=uh,T.property=gh,T.propertyOf=KC,T.pull=OT,T.pullAll=Bp,T.pullAllBy=PT,T.pullAllWith=DT,T.pullAt=FT,T.range=QC,T.rangeRight=JC,T.rearg=Vw,T.reject=Iw,T.remove=IT,T.rest=zw,T.reverse=tu,T.sampleSize=Nw,T.set=X1,T.setWith=Z1,T.shuffle=Lw,T.slice=MT,T.sortBy=qw,T.sortedUniq=BT,T.sortedUniqBy=WT,T.split=EC,T.spread=Yw,T.tail=UT,T.take=HT,T.takeRight=GT,T.takeRightWhile=VT,T.takeWhile=zT,T.tap=uw,T.throttle=Kw,T.thru=Ls,T.toArray=nh,T.toPairs=ch,T.toPairsIn=lh,T.toPath=rA,T.toPlainObject=sh,T.transform=eC,T.unary=Qw,T.union=YT,T.unionBy=KT,T.unionWith=QT,T.uniq=JT,T.uniqBy=XT,T.uniqWith=ZT,T.unset=tC,T.unzip=ru,T.unzipWith=Wp,T.update=rC,T.updateWith=nC,T.values=Nn,T.valuesIn=aC,T.without=ew,T.words=ph,T.wrap=Jw,T.xor=tw,T.xorBy=rw,T.xorWith=nw,T.zip=aw,T.zipObject=sw,T.zipObjectDeep=ow,T.zipWith=iw,T.entries=ch,T.entriesIn=lh,T.extend=oh,T.extendWith=Us,du(T,T),T.add=aA,T.attempt=hh,T.camelCase=uC,T.capitalize=fh,T.ceil=sA,T.clamp=sC,T.clone=Zw,T.cloneDeep=t1,T.cloneDeepWith=r1,T.cloneWith=e1,T.conformsTo=n1,T.deburr=dh,T.defaultTo=$C,T.divide=oA,T.endsWith=cC,T.eq=nr,T.escape=lC,T.escapeRegExp=fC,T.every=mw,T.find=bw,T.findIndex=$p,T.findKey=I1,T.findLast=Sw,T.findLastIndex=kp,T.findLastKey=M1,T.floor=iA,T.forEach=Hp,T.forEachRight=Gp,T.forIn=N1,T.forInRight=L1,T.forOwn=$1,T.forOwnRight=k1,T.get=iu,T.gt=a1,T.gte=s1,T.has=B1,T.hasIn=uu,T.head=jp,T.identity=Rt,T.includes=Aw,T.indexOf=ST,T.inRange=oC,T.invoke=H1,T.isArguments=ln,T.isArray=ue,T.isArrayBuffer=o1,T.isArrayLike=At,T.isArrayLikeObject=Ke,T.isBoolean=i1,T.isBuffer=Br,T.isDate=u1,T.isElement=c1,T.isEmpty=l1,T.isEqual=f1,T.isEqualWith=d1,T.isError=su,T.isFinite=p1,T.isFunction=Tr,T.isInteger=Zp,T.isLength=Bs,T.isMap=eh,T.isMatch=h1,T.isMatchWith=g1,T.isNaN=v1,T.isNative=y1,T.isNil=_1,T.isNull=m1,T.isNumber=th,T.isObject=Ge,T.isObjectLike=Ye,T.isPlainObject=pa,T.isRegExp=ou,T.isSafeInteger=b1,T.isSet=rh,T.isString=Ws,T.isSymbol=Nt,T.isTypedArray=Mn,T.isUndefined=S1,T.isWeakMap=E1,T.isWeakSet=T1,T.join=AT,T.kebabCase=dC,T.last=Vt,T.lastIndexOf=xT,T.lowerCase=pC,T.lowerFirst=hC,T.lt=w1,T.lte=C1,T.max=uA,T.maxBy=cA,T.mean=lA,T.meanBy=fA,T.min=dA,T.minBy=pA,T.stubArray=hu,T.stubFalse=gu,T.stubObject=XC,T.stubString=ZC,T.stubTrue=eA,T.multiply=hA,T.nth=RT,T.noConflict=HC,T.noop=pu,T.now=ks,T.pad=gC,T.padEnd=vC,T.padStart=yC,T.parseInt=mC,T.random=iC,T.reduce=Dw,T.reduceRight=Fw,T.repeat=_C,T.replace=bC,T.result=J1,T.round=gA,T.runInContext=D,T.sample=Mw,T.size=$w,T.snakeCase=SC,T.some=kw,T.sortedIndex=NT,T.sortedIndexBy=LT,T.sortedIndexOf=$T,T.sortedLastIndex=kT,T.sortedLastIndexBy=qT,T.sortedLastIndexOf=jT,T.startCase=TC,T.startsWith=wC,T.subtract=vA,T.sum=yA,T.sumBy=mA,T.template=CC,T.times=tA,T.toFinite=wr,T.toInteger=he,T.toLength=ah,T.toLower=AC,T.toNumber=zt,T.toSafeInteger=A1,T.toString=Oe,T.toUpper=xC,T.trim=RC,T.trimEnd=OC,T.trimStart=PC,T.truncate=DC,T.unescape=FC,T.uniqueId=nA,T.upperCase=IC,T.upperFirst=cu,T.each=Hp,T.eachRight=Gp,T.first=jp,du(T,(function(){var n={};return sr(T,function(o,c){Me.call(T.prototype,c)||(n[c]=o)}),n})(),{chain:!1}),T.VERSION=a,Bt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){T[n].placeholder=T}),Bt(["drop","take"],function(n,o){Te.prototype[n]=function(c){c=c===r?1:at(he(c),0);var p=this.__filtered__&&!o?new Te(this):this.clone();return p.__filtered__?p.__takeCount__=gt(c,p.__takeCount__):p.__views__.push({size:gt(c,V),type:n+(p.__dir__<0?"Right":"")}),p},Te.prototype[n+"Right"]=function(c){return this.reverse()[n](c).reverse()}}),Bt(["filter","map","takeWhile"],function(n,o){var c=o+1,p=c==Re||c==Ve;Te.prototype[n]=function(y){var w=this.clone();return w.__iteratees__.push({iteratee:ee(y,3),type:c}),w.__filtered__=w.__filtered__||p,w}}),Bt(["head","last"],function(n,o){var c="take"+(o?"Right":"");Te.prototype[n]=function(){return this[c](1).value()[0]}}),Bt(["initial","tail"],function(n,o){var c="drop"+(o?"":"Right");Te.prototype[n]=function(){return this.__filtered__?new Te(this):this[c](1)}}),Te.prototype.compact=function(){return this.filter(Rt)},Te.prototype.find=function(n){return this.filter(n).head()},Te.prototype.findLast=function(n){return this.reverse().find(n)},Te.prototype.invokeMap=_e(function(n,o){return typeof n=="function"?new Te(this):this.map(function(c){return ia(c,n,o)})}),Te.prototype.reject=function(n){return this.filter(js(ee(n)))},Te.prototype.slice=function(n,o){n=he(n);var c=this;return c.__filtered__&&(n>0||o<0)?new Te(c):(n<0?c=c.takeRight(-n):n&&(c=c.drop(n)),o!==r&&(o=he(o),c=o<0?c.dropRight(-o):c.take(o-n)),c)},Te.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Te.prototype.toArray=function(){return this.take(V)},sr(Te.prototype,function(n,o){var c=/^(?:filter|find|map|reject)|While$/.test(o),p=/^(?:head|last)$/.test(o),y=T[p?"take"+(o=="last"?"Right":""):o],w=p||/^find/.test(o);y&&(T.prototype[o]=function(){var x=this.__wrapped__,P=p?[1]:arguments,I=x instanceof Te,$=P[0],k=I||ue(x),B=function(Ee){var we=y.apply(T,Mr([Ee],P));return p&&z?we[0]:we};k&&c&&typeof $=="function"&&$.length!=1&&(I=k=!1);var z=this.__chain__,Z=!!this.__actions__.length,re=w&&!z,ve=I&&!Z;if(!w&&k){x=ve?x:new Te(this);var ne=n.apply(x,P);return ne.__actions__.push({func:Ls,args:[B],thisArg:r}),new Ut(ne,z)}return re&&ve?n.apply(this,P):(ne=this.thru(B),re?p?ne.value()[0]:ne.value():ne)})}),Bt(["pop","push","shift","sort","splice","unshift"],function(n){var o=us[n],c=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",p=/^(?:pop|shift)$/.test(n);T.prototype[n]=function(){var y=arguments;if(p&&!this.__chain__){var w=this.value();return o.apply(ue(w)?w:[],y)}return this[c](function(x){return o.apply(ue(x)?x:[],y)})}}),sr(Te.prototype,function(n,o){var c=T[o];if(c){var p=c.name+"";Me.call(On,p)||(On[p]=[]),On[p].push({name:o,func:c})}}),On[Os(r,E).name]=[{name:"wrapper",func:r}],Te.prototype.clone=F0,Te.prototype.reverse=I0,Te.prototype.value=M0,T.prototype.at=cw,T.prototype.chain=lw,T.prototype.commit=fw,T.prototype.next=dw,T.prototype.plant=hw,T.prototype.reverse=gw,T.prototype.toJSON=T.prototype.valueOf=T.prototype.value=vw,T.prototype.first=T.prototype.head,ea&&(T.prototype[ea]=pw),T}),An=f0();tn?((tn.exports=An)._=An,fi._=An):ft._=An}).call(jx)})(Pa,Pa.exports)),Pa.exports}var ce=Bx();const Wx=sf(ce),Xa=2e3,uf={tabs:[],activeTab:"",recent:[],roles:{roles:{},privileges:{},flags:{touched:!1},selectedTab:"roles",forceLogin:!1},sharedCSS:{state:"loading",styles:[]},debugger:{meta:{state:Hr.DETACHED},list:[],sessions:[],expressions:[]},webforms:{i18n:{current:""},templates:{selectedGroup:"",data:[]},components:[],inspector:{css:{active:!1},datasource:{active:!1}},datasources:{theme:"grey"},flags:{"sidebar.section.resizable":!0}},tasks:[]},Xy="4DWS_PREFS",Zy=e=>`APP_STATE_${e}`,em=()=>{var e,t;return((t=(e=window==null?void 0:window.$$datastores)==null?void 0:e.ds)==null?void 0:t.getBaseID())||""};function tm(e){try{const t=em(),r=JSON.stringify(e);localStorage.setItem(Zy(t),r)}catch(t){console.error(t)}}function rm(e){try{const t=JSON.stringify(e);localStorage.setItem(Xy,t)}catch(t){console.error(t)}}function cf(){try{const e=localStorage.getItem(Xy);if(e)return JSON.parse(e)}catch(e){console.error(e)}}function _n(){const e=em(),t=localStorage.getItem(Zy(e));if(t){const r=JSON.parse(t);return r.tabs=r.tabs.map(a=>({...a,flags:{...a.flags,enabled:!0}})),r}return uf}function xo(e){const{name:t,type:r,path:a}=e,s=a.split(".").at(-1);switch(r){case b.FileFolderType.WEBFORM:case b.FileFolderType.ROLES:case b.FileFolderType.HTTP_HANDLERS:case b.FileFolderType.SETTINGS:case b.FileFolderType.MODEL:return t;case b.FileFolderType.METHOD:case b.FileFolderType.CLASS:default:return s?`${t}.${s}`:t}}const nm=e=>{if(!e)return[];const t=new Map;return e.dataClasses.forEach(r=>{var i,u;const a=r.extraProperties||{},s={id:r.className,type:"table",position:{x:((i=a.position)==null?void 0:i.x)||0,y:((u=a.position)==null?void 0:u.y)||0},dragHandle:".custom-drag-handle",data:r};t.set(r.name,s)}),Array.from(t.values())};function am(e){return e?["json","4dmodel","webform","mform","qodoc"].includes(e.toLowerCase()):!1}const Gn=(e,t,r="")=>t?e.type==="currentState"&&e.value===t?{...e,value:r}:e.type==="combination"&&e.conditions?{...e,conditions:e.conditions.map(a=>Gn(a,t,r))}:e:e;function sm(e,t){const{id:r,label:a}=t;return{...e,components:Object.entries(e.components||{}).reduce((s,[i,u])=>({...s,[i]:{...u,custom:Object.entries(u.custom).reduce((l,[f,d])=>f===`states:${r}`?l:{...l,[f]:d},{}),props:Object.entries(u.props).reduce((l,[f,d])=>{let h=d;return f==="events"&&(h=h.map(g=>{var _,m;return g.type==="simple-action"?{...g,state:{...g.state,states:(m=(_=g.state)==null?void 0:_.states)==null?void 0:m.filter(C=>C!==r)}}:g})),{...l,[f]:h}},{})}}),{}),metadata:{...e.metadata,states:e.metadata.states.filter(s=>(s==null?void 0:s.id)!==r).map(s=>s.conditions?{...s,conditions:Gn(s.conditions,a)}:s)}}}const Ux=(e,t)=>ce.isEqual(e,t),dn=e=>{const t=new URL(window.location.href),r=t.searchParams;if(e.type===b.FileFolderType.WEBFORM){const a=r.get("page");r.set("page",e.name),r.delete("path"),a!==e.name&&r.delete("editor")}else{const a=r.get("path");r.set("path",e.path),r.delete("page"),r.delete("editor"),a!==e.path&&r.delete("editor")}t.search=r.toString(),window.history.replaceState(null,"",t.href)},to=()=>{const e=new URL(window.location.href),t=e.searchParams;t.delete("path"),t.delete("page"),t.delete("editor"),e.search=t.toString(),window.history.replaceState(null,"",e.href)},om=()=>{const t=new URL(window.location.href).searchParams;return{page:t.get("page"),path:t.get("path"),editor:t.get("editor")}};var ju,Xh;function Hx(){if(Xh)return ju;Xh=1;function e(){this.__data__=[],this.size=0}return ju=e,ju}var Bu,Zh;function im(){if(Zh)return Bu;Zh=1;function e(t,r){return t===r||t!==t&&r!==r}return Bu=e,Bu}var Wu,eg;function Ro(){if(eg)return Wu;eg=1;var e=im();function t(r,a){for(var s=r.length;s--;)if(e(r[s][0],a))return s;return-1}return Wu=t,Wu}var Uu,tg;function Gx(){if(tg)return Uu;tg=1;var e=Ro(),t=Array.prototype,r=t.splice;function a(s){var i=this.__data__,u=e(i,s);if(u<0)return!1;var l=i.length-1;return u==l?i.pop():r.call(i,u,1),--this.size,!0}return Uu=a,Uu}var Hu,rg;function Vx(){if(rg)return Hu;rg=1;var e=Ro();function t(r){var a=this.__data__,s=e(a,r);return s<0?void 0:a[s][1]}return Hu=t,Hu}var Gu,ng;function zx(){if(ng)return Gu;ng=1;var e=Ro();function t(r){return e(this.__data__,r)>-1}return Gu=t,Gu}var Vu,ag;function Yx(){if(ag)return Vu;ag=1;var e=Ro();function t(r,a){var s=this.__data__,i=e(s,r);return i<0?(++this.size,s.push([r,a])):s[i][1]=a,this}return Vu=t,Vu}var zu,sg;function Oo(){if(sg)return zu;sg=1;var e=Hx(),t=Gx(),r=Vx(),a=zx(),s=Yx();function i(u){var l=-1,f=u==null?0:u.length;for(this.clear();++l<f;){var d=u[l];this.set(d[0],d[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=a,i.prototype.set=s,zu=i,zu}var Yu,og;function Kx(){if(og)return Yu;og=1;var e=Oo();function t(){this.__data__=new e,this.size=0}return Yu=t,Yu}var Ku,ig;function Qx(){if(ig)return Ku;ig=1;function e(t){var r=this.__data__,a=r.delete(t);return this.size=r.size,a}return Ku=e,Ku}var Qu,ug;function Jx(){if(ug)return Qu;ug=1;function e(t){return this.__data__.get(t)}return Qu=e,Qu}var Ju,cg;function Xx(){if(cg)return Ju;cg=1;function e(t){return this.__data__.has(t)}return Ju=e,Ju}var Xu,lg;function um(){if(lg)return Xu;lg=1;var e=Qa(),t=Ka(),r="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",i="[object Proxy]";function u(l){if(!t(l))return!1;var f=e(l);return f==a||f==s||f==r||f==i}return Xu=u,Xu}var Zu,fg;function Zx(){if(fg)return Zu;fg=1;var e=fr(),t=e["__core-js_shared__"];return Zu=t,Zu}var ec,dg;function eR(){if(dg)return ec;dg=1;var e=Zx(),t=(function(){var a=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""})();function r(a){return!!t&&t in a}return ec=r,ec}var tc,pg;function cm(){if(pg)return tc;pg=1;var e=Function.prototype,t=e.toString;function r(a){if(a!=null){try{return t.call(a)}catch{}try{return a+""}catch{}}return""}return tc=r,tc}var rc,hg;function tR(){if(hg)return rc;hg=1;var e=um(),t=eR(),r=Ka(),a=cm(),s=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,f=u.toString,d=l.hasOwnProperty,h=RegExp("^"+f.call(d).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g(_){if(!r(_)||t(_))return!1;var m=e(_)?h:i;return m.test(a(_))}return rc=g,rc}var nc,gg;function rR(){if(gg)return nc;gg=1;function e(t,r){return t==null?void 0:t[r]}return nc=e,nc}var ac,vg;function Yn(){if(vg)return ac;vg=1;var e=tR(),t=rR();function r(a,s){var i=t(a,s);return e(i)?i:void 0}return ac=r,ac}var sc,yg;function lf(){if(yg)return sc;yg=1;var e=Yn(),t=fr(),r=e(t,"Map");return sc=r,sc}var oc,mg;function Po(){if(mg)return oc;mg=1;var e=Yn(),t=e(Object,"create");return oc=t,oc}var ic,_g;function nR(){if(_g)return ic;_g=1;var e=Po();function t(){this.__data__=e?e(null):{},this.size=0}return ic=t,ic}var uc,bg;function aR(){if(bg)return uc;bg=1;function e(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}return uc=e,uc}var cc,Sg;function sR(){if(Sg)return cc;Sg=1;var e=Po(),t="__lodash_hash_undefined__",r=Object.prototype,a=r.hasOwnProperty;function s(i){var u=this.__data__;if(e){var l=u[i];return l===t?void 0:l}return a.call(u,i)?u[i]:void 0}return cc=s,cc}var lc,Eg;function oR(){if(Eg)return lc;Eg=1;var e=Po(),t=Object.prototype,r=t.hasOwnProperty;function a(s){var i=this.__data__;return e?i[s]!==void 0:r.call(i,s)}return lc=a,lc}var fc,Tg;function iR(){if(Tg)return fc;Tg=1;var e=Po(),t="__lodash_hash_undefined__";function r(a,s){var i=this.__data__;return this.size+=this.has(a)?0:1,i[a]=e&&s===void 0?t:s,this}return fc=r,fc}var dc,wg;function uR(){if(wg)return dc;wg=1;var e=nR(),t=aR(),r=sR(),a=oR(),s=iR();function i(u){var l=-1,f=u==null?0:u.length;for(this.clear();++l<f;){var d=u[l];this.set(d[0],d[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=a,i.prototype.set=s,dc=i,dc}var pc,Cg;function cR(){if(Cg)return pc;Cg=1;var e=uR(),t=Oo(),r=lf();function a(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}return pc=a,pc}var hc,Ag;function lR(){if(Ag)return hc;Ag=1;function e(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}return hc=e,hc}var gc,xg;function Do(){if(xg)return gc;xg=1;var e=lR();function t(r,a){var s=r.__data__;return e(a)?s[typeof a=="string"?"string":"hash"]:s.map}return gc=t,gc}var vc,Rg;function fR(){if(Rg)return vc;Rg=1;var e=Do();function t(r){var a=e(this,r).delete(r);return this.size-=a?1:0,a}return vc=t,vc}var yc,Og;function dR(){if(Og)return yc;Og=1;var e=Do();function t(r){return e(this,r).get(r)}return yc=t,yc}var mc,Pg;function pR(){if(Pg)return mc;Pg=1;var e=Do();function t(r){return e(this,r).has(r)}return mc=t,mc}var _c,Dg;function hR(){if(Dg)return _c;Dg=1;var e=Do();function t(r,a){var s=e(this,r),i=s.size;return s.set(r,a),this.size+=s.size==i?0:1,this}return _c=t,_c}var bc,Fg;function lm(){if(Fg)return bc;Fg=1;var e=cR(),t=fR(),r=dR(),a=pR(),s=hR();function i(u){var l=-1,f=u==null?0:u.length;for(this.clear();++l<f;){var d=u[l];this.set(d[0],d[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=a,i.prototype.set=s,bc=i,bc}var Sc,Ig;function gR(){if(Ig)return Sc;Ig=1;var e=Oo(),t=lf(),r=lm(),a=200;function s(i,u){var l=this.__data__;if(l instanceof e){var f=l.__data__;if(!t||f.length<a-1)return f.push([i,u]),this.size=++l.size,this;l=this.__data__=new r(f)}return l.set(i,u),this.size=l.size,this}return Sc=s,Sc}var Ec,Mg;function vR(){if(Mg)return Ec;Mg=1;var e=Oo(),t=Kx(),r=Qx(),a=Jx(),s=Xx(),i=gR();function u(l){var f=this.__data__=new e(l);this.size=f.size}return u.prototype.clear=t,u.prototype.delete=r,u.prototype.get=a,u.prototype.has=s,u.prototype.set=i,Ec=u,Ec}var Tc,Ng;function yR(){if(Ng)return Tc;Ng=1;var e="__lodash_hash_undefined__";function t(r){return this.__data__.set(r,e),this}return Tc=t,Tc}var wc,Lg;function mR(){if(Lg)return wc;Lg=1;function e(t){return this.__data__.has(t)}return wc=e,wc}var Cc,$g;function _R(){if($g)return Cc;$g=1;var e=lm(),t=yR(),r=mR();function a(s){var i=-1,u=s==null?0:s.length;for(this.__data__=new e;++i<u;)this.add(s[i])}return a.prototype.add=a.prototype.push=t,a.prototype.has=r,Cc=a,Cc}var Ac,kg;function bR(){if(kg)return Ac;kg=1;function e(t,r){for(var a=-1,s=t==null?0:t.length;++a<s;)if(r(t[a],a,t))return!0;return!1}return Ac=e,Ac}var xc,qg;function SR(){if(qg)return xc;qg=1;function e(t,r){return t.has(r)}return xc=e,xc}var Rc,jg;function fm(){if(jg)return Rc;jg=1;var e=_R(),t=bR(),r=SR(),a=1,s=2;function i(u,l,f,d,h,g){var _=f&a,m=u.length,C=l.length;if(m!=C&&!(_&&C>m))return!1;var v=g.get(u),S=g.get(l);if(v&&S)return v==l&&S==u;var E=-1,A=!0,O=f&s?new e:void 0;for(g.set(u,l),g.set(l,u);++E<m;){var F=u[E],R=l[E];if(d)var j=_?d(R,F,E,l,u,g):d(F,R,E,u,l,g);if(j!==void 0){if(j)continue;A=!1;break}if(O){if(!t(l,function(W,X){if(!r(O,X)&&(F===W||h(F,W,f,d,g)))return O.push(X)})){A=!1;break}}else if(!(F===R||h(F,R,f,d,g))){A=!1;break}}return g.delete(u),g.delete(l),A}return Rc=i,Rc}var Oc,Bg;function ER(){if(Bg)return Oc;Bg=1;var e=fr(),t=e.Uint8Array;return Oc=t,Oc}var Pc,Wg;function TR(){if(Wg)return Pc;Wg=1;function e(t){var r=-1,a=Array(t.size);return t.forEach(function(s,i){a[++r]=[i,s]}),a}return Pc=e,Pc}var Dc,Ug;function wR(){if(Ug)return Dc;Ug=1;function e(t){var r=-1,a=Array(t.size);return t.forEach(function(s){a[++r]=s}),a}return Dc=e,Dc}var Fc,Hg;function CR(){if(Hg)return Fc;Hg=1;var e=of(),t=ER(),r=im(),a=fm(),s=TR(),i=wR(),u=1,l=2,f="[object Boolean]",d="[object Date]",h="[object Error]",g="[object Map]",_="[object Number]",m="[object RegExp]",C="[object Set]",v="[object String]",S="[object Symbol]",E="[object ArrayBuffer]",A="[object DataView]",O=e?e.prototype:void 0,F=O?O.valueOf:void 0;function R(j,W,X,te,be,J,ye){switch(X){case A:if(j.byteLength!=W.byteLength||j.byteOffset!=W.byteOffset)return!1;j=j.buffer,W=W.buffer;case E:return!(j.byteLength!=W.byteLength||!J(new t(j),new t(W)));case f:case d:case _:return r(+j,+W);case h:return j.name==W.name&&j.message==W.message;case m:case v:return j==W+"";case g:var U=s;case C:var Re=te&u;if(U||(U=i),j.size!=W.size&&!Re)return!1;var et=ye.get(j);if(et)return et==W;te|=l,ye.set(j,W);var Ve=a(U(j),U(W),te,be,J,ye);return ye.delete(j),Ve;case S:if(F)return F.call(j)==F.call(W)}return!1}return Fc=R,Fc}var Ic,Gg;function AR(){if(Gg)return Ic;Gg=1;function e(t,r){for(var a=-1,s=r.length,i=t.length;++a<s;)t[i+a]=r[a];return t}return Ic=e,Ic}var Mc,Vg;function ff(){if(Vg)return Mc;Vg=1;var e=Array.isArray;return Mc=e,Mc}var Nc,zg;function xR(){if(zg)return Nc;zg=1;var e=AR(),t=ff();function r(a,s,i){var u=s(a);return t(a)?u:e(u,i(a))}return Nc=r,Nc}var Lc,Yg;function RR(){if(Yg)return Lc;Yg=1;function e(t,r){for(var a=-1,s=t==null?0:t.length,i=0,u=[];++a<s;){var l=t[a];r(l,a,t)&&(u[i++]=l)}return u}return Lc=e,Lc}var $c,Kg;function OR(){if(Kg)return $c;Kg=1;function e(){return[]}return $c=e,$c}var kc,Qg;function PR(){if(Qg)return kc;Qg=1;var e=RR(),t=OR(),r=Object.prototype,a=r.propertyIsEnumerable,s=Object.getOwnPropertySymbols,i=s?function(u){return u==null?[]:(u=Object(u),e(s(u),function(l){return a.call(u,l)}))}:t;return kc=i,kc}var qc,Jg;function DR(){if(Jg)return qc;Jg=1;function e(t,r){for(var a=-1,s=Array(t);++a<t;)s[a]=r(a);return s}return qc=e,qc}var jc,Xg;function FR(){if(Xg)return jc;Xg=1;var e=Qa(),t=Ja(),r="[object Arguments]";function a(s){return t(s)&&e(s)==r}return jc=a,jc}var Bc,Zg;function IR(){if(Zg)return Bc;Zg=1;var e=FR(),t=Ja(),r=Object.prototype,a=r.hasOwnProperty,s=r.propertyIsEnumerable,i=e((function(){return arguments})())?e:function(u){return t(u)&&a.call(u,"callee")&&!s.call(u,"callee")};return Bc=i,Bc}var Da={exports:{}},Wc,ev;function MR(){if(ev)return Wc;ev=1;function e(){return!1}return Wc=e,Wc}Da.exports;var tv;function dm(){return tv||(tv=1,(function(e,t){var r=fr(),a=MR(),s=t&&!t.nodeType&&t,i=s&&!0&&e&&!e.nodeType&&e,u=i&&i.exports===s,l=u?r.Buffer:void 0,f=l?l.isBuffer:void 0,d=f||a;e.exports=d})(Da,Da.exports)),Da.exports}var Uc,rv;function NR(){if(rv)return Uc;rv=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function r(a,s){var i=typeof a;return s=s??e,!!s&&(i=="number"||i!="symbol"&&t.test(a))&&a>-1&&a%1==0&&a<s}return Uc=r,Uc}var Hc,nv;function pm(){if(nv)return Hc;nv=1;var e=9007199254740991;function t(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return Hc=t,Hc}var Gc,av;function LR(){if(av)return Gc;av=1;var e=Qa(),t=pm(),r=Ja(),a="[object Arguments]",s="[object Array]",i="[object Boolean]",u="[object Date]",l="[object Error]",f="[object Function]",d="[object Map]",h="[object Number]",g="[object Object]",_="[object RegExp]",m="[object Set]",C="[object String]",v="[object WeakMap]",S="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",O="[object Float64Array]",F="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",W="[object Uint8Array]",X="[object Uint8ClampedArray]",te="[object Uint16Array]",be="[object Uint32Array]",J={};J[A]=J[O]=J[F]=J[R]=J[j]=J[W]=J[X]=J[te]=J[be]=!0,J[a]=J[s]=J[S]=J[i]=J[E]=J[u]=J[l]=J[f]=J[d]=J[h]=J[g]=J[_]=J[m]=J[C]=J[v]=!1;function ye(U){return r(U)&&t(U.length)&&!!J[e(U)]}return Gc=ye,Gc}var Vc,sv;function $R(){if(sv)return Vc;sv=1;function e(t){return function(r){return t(r)}}return Vc=e,Vc}var Fa={exports:{}};Fa.exports;var ov;function kR(){return ov||(ov=1,(function(e,t){var r=Ky(),a=t&&!t.nodeType&&t,s=a&&!0&&e&&!e.nodeType&&e,i=s&&s.exports===a,u=i&&r.process,l=(function(){try{var f=s&&s.require&&s.require("util").types;return f||u&&u.binding&&u.binding("util")}catch{}})();e.exports=l})(Fa,Fa.exports)),Fa.exports}var zc,iv;function hm(){if(iv)return zc;iv=1;var e=LR(),t=$R(),r=kR(),a=r&&r.isTypedArray,s=a?t(a):e;return zc=s,zc}var Yc,uv;function qR(){if(uv)return Yc;uv=1;var e=DR(),t=IR(),r=ff(),a=dm(),s=NR(),i=hm(),u=Object.prototype,l=u.hasOwnProperty;function f(d,h){var g=r(d),_=!g&&t(d),m=!g&&!_&&a(d),C=!g&&!_&&!m&&i(d),v=g||_||m||C,S=v?e(d.length,String):[],E=S.length;for(var A in d)(h||l.call(d,A))&&!(v&&(A=="length"||m&&(A=="offset"||A=="parent")||C&&(A=="buffer"||A=="byteLength"||A=="byteOffset")||s(A,E)))&&S.push(A);return S}return Yc=f,Yc}var Kc,cv;function jR(){if(cv)return Kc;cv=1;var e=Object.prototype;function t(r){var a=r&&r.constructor,s=typeof a=="function"&&a.prototype||e;return r===s}return Kc=t,Kc}var Qc,lv;function BR(){if(lv)return Qc;lv=1;function e(t,r){return function(a){return t(r(a))}}return Qc=e,Qc}var Jc,fv;function WR(){if(fv)return Jc;fv=1;var e=BR(),t=e(Object.keys,Object);return Jc=t,Jc}var Xc,dv;function UR(){if(dv)return Xc;dv=1;var e=jR(),t=WR(),r=Object.prototype,a=r.hasOwnProperty;function s(i){if(!e(i))return t(i);var u=[];for(var l in Object(i))a.call(i,l)&&l!="constructor"&&u.push(l);return u}return Xc=s,Xc}var Zc,pv;function HR(){if(pv)return Zc;pv=1;var e=um(),t=pm();function r(a){return a!=null&&t(a.length)&&!e(a)}return Zc=r,Zc}var el,hv;function GR(){if(hv)return el;hv=1;var e=qR(),t=UR(),r=HR();function a(s){return r(s)?e(s):t(s)}return el=a,el}var tl,gv;function VR(){if(gv)return tl;gv=1;var e=xR(),t=PR(),r=GR();function a(s){return e(s,r,t)}return tl=a,tl}var rl,vv;function zR(){if(vv)return rl;vv=1;var e=VR(),t=1,r=Object.prototype,a=r.hasOwnProperty;function s(i,u,l,f,d,h){var g=l&t,_=e(i),m=_.length,C=e(u),v=C.length;if(m!=v&&!g)return!1;for(var S=m;S--;){var E=_[S];if(!(g?E in u:a.call(u,E)))return!1}var A=h.get(i),O=h.get(u);if(A&&O)return A==u&&O==i;var F=!0;h.set(i,u),h.set(u,i);for(var R=g;++S<m;){E=_[S];var j=i[E],W=u[E];if(f)var X=g?f(W,j,E,u,i,h):f(j,W,E,i,u,h);if(!(X===void 0?j===W||d(j,W,l,f,h):X)){F=!1;break}R||(R=E=="constructor")}if(F&&!R){var te=i.constructor,be=u.constructor;te!=be&&"constructor"in i&&"constructor"in u&&!(typeof te=="function"&&te instanceof te&&typeof be=="function"&&be instanceof be)&&(F=!1)}return h.delete(i),h.delete(u),F}return rl=s,rl}var nl,yv;function YR(){if(yv)return nl;yv=1;var e=Yn(),t=fr(),r=e(t,"DataView");return nl=r,nl}var al,mv;function KR(){if(mv)return al;mv=1;var e=Yn(),t=fr(),r=e(t,"Promise");return al=r,al}var sl,_v;function QR(){if(_v)return sl;_v=1;var e=Yn(),t=fr(),r=e(t,"Set");return sl=r,sl}var ol,bv;function JR(){if(bv)return ol;bv=1;var e=Yn(),t=fr(),r=e(t,"WeakMap");return ol=r,ol}var il,Sv;function XR(){if(Sv)return il;Sv=1;var e=YR(),t=lf(),r=KR(),a=QR(),s=JR(),i=Qa(),u=cm(),l="[object Map]",f="[object Object]",d="[object Promise]",h="[object Set]",g="[object WeakMap]",_="[object DataView]",m=u(e),C=u(t),v=u(r),S=u(a),E=u(s),A=i;return(e&&A(new e(new ArrayBuffer(1)))!=_||t&&A(new t)!=l||r&&A(r.resolve())!=d||a&&A(new a)!=h||s&&A(new s)!=g)&&(A=function(O){var F=i(O),R=F==f?O.constructor:void 0,j=R?u(R):"";if(j)switch(j){case m:return _;case C:return l;case v:return d;case S:return h;case E:return g}return F}),il=A,il}var ul,Ev;function ZR(){if(Ev)return ul;Ev=1;var e=vR(),t=fm(),r=CR(),a=zR(),s=XR(),i=ff(),u=dm(),l=hm(),f=1,d="[object Arguments]",h="[object Array]",g="[object Object]",_=Object.prototype,m=_.hasOwnProperty;function C(v,S,E,A,O,F){var R=i(v),j=i(S),W=R?h:s(v),X=j?h:s(S);W=W==d?g:W,X=X==d?g:X;var te=W==g,be=X==g,J=W==X;if(J&&u(v)){if(!u(S))return!1;R=!0,te=!1}if(J&&!te)return F||(F=new e),R||l(v)?t(v,S,E,A,O,F):r(v,S,W,E,A,O,F);if(!(E&f)){var ye=te&&m.call(v,"__wrapped__"),U=be&&m.call(S,"__wrapped__");if(ye||U){var Re=ye?v.value():v,et=U?S.value():S;return F||(F=new e),O(Re,et,E,A,F)}}return J?(F||(F=new e),a(v,S,E,A,O,F)):!1}return ul=C,ul}var cl,Tv;function eO(){if(Tv)return cl;Tv=1;var e=ZR(),t=Ja();function r(a,s,i,u,l){return a===s?!0:a==null||s==null||!t(a)&&!t(s)?a!==a&&s!==s:e(a,s,i,u,r,l)}return cl=r,cl}var ll,wv;function tO(){if(wv)return ll;wv=1;var e=eO();function t(r,a,s){s=typeof s=="function"?s:void 0;var i=s?s(r,a):void 0;return i===void 0?e(r,a,void 0,s):!!i}return ll=t,ll}tO();typeof window<"u"&&(window.__CRAFTJS__||(window.__CRAFTJS__={}),window.__CRAFTJS__["@ws-ui/craftjs-utils"]="0.2.3");const rO="ROOT";RA(),xA();var Cv;(function(e){e[e.HandlerDisabled=0]="HandlerDisabled",e[e.HandlerEnabled=1]="HandlerEnabled"})(Cv||(Cv={}));function df(e){return`Debugger/${e}`}function gm(e,t){var a;const r=(a=t.name)==null?void 0:a.replace(/\.(4dm|4qs)$/,"");return`#${e} ${r}`}const vm=(e,t,r)=>{const a=e instanceof RegExp?Av(e,r):e,s=t instanceof RegExp?Av(t,r):t,i=a!==null&&s!=null&&nO(a,s,r);return i&&{start:i[0],end:i[1],pre:r.slice(0,i[0]),body:r.slice(i[0]+a.length,i[1]),post:r.slice(i[1]+s.length)}},Av=(e,t)=>{const r=t.match(e);return r?r[0]:null},nO=(e,t,r)=>{let a,s,i,u,l,f=r.indexOf(e),d=r.indexOf(t,f+1),h=f;if(f>=0&&d>0){if(e===t)return[f,d];for(a=[],i=r.length;h>=0&&!l;){if(h===f)a.push(h),f=r.indexOf(e,h+1);else if(a.length===1){const g=a.pop();g!==void 0&&(l=[g,d])}else s=a.pop(),s!==void 0&&s<i&&(i=s,u=d),d=r.indexOf(t,h+1);h=f<d&&f>=0?f:d}a.length&&u!==void 0&&(l=[i,u])}return l},ym="\0SLASH"+Math.random()+"\0",mm="\0OPEN"+Math.random()+"\0",pf="\0CLOSE"+Math.random()+"\0",_m="\0COMMA"+Math.random()+"\0",bm="\0PERIOD"+Math.random()+"\0",aO=new RegExp(ym,"g"),sO=new RegExp(mm,"g"),oO=new RegExp(pf,"g"),iO=new RegExp(_m,"g"),uO=new RegExp(bm,"g"),cO=/\\\\/g,lO=/\\{/g,fO=/\\}/g,dO=/\\,/g,pO=/\\./g;function fl(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function hO(e){return e.replace(cO,ym).replace(lO,mm).replace(fO,pf).replace(dO,_m).replace(pO,bm)}function gO(e){return e.replace(aO,"\\").replace(sO,"{").replace(oO,"}").replace(iO,",").replace(uO,".")}function Sm(e){if(!e)return[""];const t=[],r=vm("{","}",e);if(!r)return e.split(",");const{pre:a,body:s,post:i}=r,u=a.split(",");u[u.length-1]+="{"+s+"}";const l=Sm(i);return i.length&&(u[u.length-1]+=l.shift(),u.push.apply(u,l)),t.push.apply(t,u),t}function vO(e){return e?(e.slice(0,2)==="{}"&&(e="\\{\\}"+e.slice(2)),Ia(hO(e),!0).map(gO)):[]}function yO(e){return"{"+e+"}"}function mO(e){return/^-?0\d/.test(e)}function _O(e,t){return e<=t}function bO(e,t){return e>=t}function Ia(e,t){const r=[],a=vm("{","}",e);if(!a)return[e];const s=a.pre,i=a.post.length?Ia(a.post,!1):[""];if(/\$$/.test(a.pre))for(let u=0;u<i.length;u++){const l=s+"{"+a.body+"}"+i[u];r.push(l)}else{const u=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(a.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(a.body),f=u||l,d=a.body.indexOf(",")>=0;if(!f&&!d)return a.post.match(/,(?!,).*\}/)?(e=a.pre+"{"+a.body+pf+a.post,Ia(e)):[e];let h;if(f)h=a.body.split(/\.\./);else if(h=Sm(a.body),h.length===1&&h[0]!==void 0&&(h=Ia(h[0],!1).map(yO),h.length===1))return i.map(_=>a.pre+h[0]+_);let g;if(f&&h[0]!==void 0&&h[1]!==void 0){const _=fl(h[0]),m=fl(h[1]),C=Math.max(h[0].length,h[1].length);let v=h.length===3&&h[2]!==void 0?Math.abs(fl(h[2])):1,S=_O;m<_&&(v*=-1,S=bO);const A=h.some(mO);g=[];for(let O=_;S(O,m);O+=v){let F;if(l)F=String.fromCharCode(O),F==="\\"&&(F="");else if(F=String(O),A){const R=C-F.length;if(R>0){const j=new Array(R+1).join("0");O<0?F="-"+j+F.slice(1):F=j+F}}g.push(F)}}else{g=[];for(let _=0;_<h.length;_++)g.push.apply(g,Ia(h[_],!1))}for(let _=0;_<g.length;_++)for(let m=0;m<i.length;m++){const C=s+g[_]+i[m];(!t||f||C)&&r.push(C)}}return r}const SO=1024*64,mo=e=>{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>SO)throw new TypeError("pattern is too long")},EO={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},ha=e=>e.replace(/[[\]\\-]/g,"\\$&"),TO=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),xv=e=>e.join(""),wO=(e,t)=>{const r=t;if(e.charAt(r)!=="[")throw new Error("not in a brace expression");const a=[],s=[];let i=r+1,u=!1,l=!1,f=!1,d=!1,h=r,g="";e:for(;i<e.length;){const v=e.charAt(i);if((v==="!"||v==="^")&&i===r+1){d=!0,i++;continue}if(v==="]"&&u&&!f){h=i+1;break}if(u=!0,v==="\\"&&!f){f=!0,i++;continue}if(v==="["&&!f){for(const[S,[E,A,O]]of Object.entries(EO))if(e.startsWith(S,i)){if(g)return["$.",!1,e.length-r,!0];i+=S.length,O?s.push(E):a.push(E),l=l||A;continue e}}if(f=!1,g){v>g?a.push(ha(g)+"-"+ha(v)):v===g&&a.push(ha(v)),g="",i++;continue}if(e.startsWith("-]",i+1)){a.push(ha(v+"-")),i+=2;continue}if(e.startsWith("-",i+1)){g=v,i+=2;continue}a.push(ha(v)),i++}if(h<i)return["",!1,0,!1];if(!a.length&&!s.length)return["$.",!1,e.length-r,!0];if(s.length===0&&a.length===1&&/^\\?.$/.test(a[0])&&!d){const v=a[0].length===2?a[0].slice(-1):a[0];return[TO(v),!1,h-r,!1]}const _="["+(d?"^":"")+xv(a)+"]",m="["+(d?"":"^")+xv(s)+"]";return[a.length&&s.length?"("+_+"|"+m+")":a.length?_:m,l,h-r,!0]},Ma=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"),CO=new Set(["!","?","+","*","@"]),Rv=e=>CO.has(e),AO="(?!(?:^|/)\\.\\.?(?:$|/))",Vs="(?!\\.)",xO=new Set(["[","."]),RO=new Set(["..","."]),OO=new Set("().*{}+?[]^$\\!"),PO=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),hf="[^/]",Ov=hf+"*?",Pv=hf+"+?";var ot,lt,Ar,Ue,rt,Gr,hn,Vr,ur,gn,Ya,mn,Em,Zr,ro,Fl,Tm;const Tt=class Tt{constructor(t,r,a={}){Ot(this,mn);st(this,"type");Ot(this,ot);Ot(this,lt);Ot(this,Ar,!1);Ot(this,Ue,[]);Ot(this,rt);Ot(this,Gr);Ot(this,hn);Ot(this,Vr,!1);Ot(this,ur);Ot(this,gn);Ot(this,Ya,!1);this.type=t,t&&Je(this,lt,!0),Je(this,rt,r),Je(this,ot,G(this,rt)?G(G(this,rt),ot):this),Je(this,ur,G(this,ot)===this?a:G(G(this,ot),ur)),Je(this,hn,G(this,ot)===this?[]:G(G(this,ot),hn)),t==="!"&&!G(G(this,ot),Vr)&&G(this,hn).push(this),Je(this,Gr,G(this,rt)?G(G(this,rt),Ue).length:0)}get hasMagic(){if(G(this,lt)!==void 0)return G(this,lt);for(const t of G(this,Ue))if(typeof t!="string"&&(t.type||t.hasMagic))return Je(this,lt,!0);return G(this,lt)}toString(){return G(this,gn)!==void 0?G(this,gn):this.type?Je(this,gn,this.type+"("+G(this,Ue).map(t=>String(t)).join("|")+")"):Je(this,gn,G(this,Ue).map(t=>String(t)).join(""))}push(...t){for(const r of t)if(r!==""){if(typeof r!="string"&&!(r instanceof Tt&&G(r,rt)===this))throw new Error("invalid part: "+r);G(this,Ue).push(r)}}toJSON(){var r;const t=this.type===null?G(this,Ue).slice().map(a=>typeof a=="string"?a:a.toJSON()):[this.type,...G(this,Ue).map(a=>a.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===G(this,ot)||G(G(this,ot),Vr)&&((r=G(this,rt))==null?void 0:r.type)==="!")&&t.push({}),t}isStart(){var r;if(G(this,ot)===this)return!0;if(!((r=G(this,rt))!=null&&r.isStart()))return!1;if(G(this,Gr)===0)return!0;const t=G(this,rt);for(let a=0;a<G(this,Gr);a++){const s=G(t,Ue)[a];if(!(s instanceof Tt&&s.type==="!"))return!1}return!0}isEnd(){var r,a,s;if(G(this,ot)===this||((r=G(this,rt))==null?void 0:r.type)==="!")return!0;if(!((a=G(this,rt))!=null&&a.isEnd()))return!1;if(!this.type)return(s=G(this,rt))==null?void 0:s.isEnd();const t=G(this,rt)?G(G(this,rt),Ue).length:0;return G(this,Gr)===t-1}copyIn(t){typeof t=="string"?this.push(t):this.push(t.clone(this))}clone(t){const r=new Tt(this.type,t);for(const a of G(this,Ue))r.copyIn(a);return r}static fromGlob(t,r={}){var s;const a=new Tt(null,void 0,r);return Wr(s=Tt,Zr,ro).call(s,t,a,0,r),a}toMMPattern(){if(this!==G(this,ot))return G(this,ot).toMMPattern();const t=this.toString(),[r,a,s,i]=this.toRegExpSource();if(!(s||G(this,lt)||G(this,ur).nocase&&!G(this,ur).nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return a;const l=(G(this,ur).nocase?"i":"")+(i?"u":"");return Object.assign(new RegExp(`^${r}$`,l),{_src:r,_glob:t})}get options(){return G(this,ur)}toRegExpSource(t){var f;const r=t??!!G(this,ur).dot;if(G(this,ot)===this&&Wr(this,mn,Em).call(this),!this.type){const d=this.isStart()&&this.isEnd(),h=G(this,Ue).map(C=>{var O;const[v,S,E,A]=typeof C=="string"?Wr(O=Tt,Zr,Tm).call(O,C,G(this,lt),d):C.toRegExpSource(t);return Je(this,lt,G(this,lt)||E),Je(this,Ar,G(this,Ar)||A),v}).join("");let g="";if(this.isStart()&&typeof G(this,Ue)[0]=="string"&&!(G(this,Ue).length===1&&RO.has(G(this,Ue)[0]))){const v=xO,S=r&&v.has(h.charAt(0))||h.startsWith("\\.")&&v.has(h.charAt(2))||h.startsWith("\\.\\.")&&v.has(h.charAt(4)),E=!r&&!t&&v.has(h.charAt(0));g=S?AO:E?Vs:""}let _="";return this.isEnd()&&G(G(this,ot),Vr)&&((f=G(this,rt))==null?void 0:f.type)==="!"&&(_="(?:$|\\/)"),[g+h+_,Ma(h),Je(this,lt,!!G(this,lt)),G(this,Ar)]}const a=this.type==="*"||this.type==="+",s=this.type==="!"?"(?:(?!(?:":"(?:";let i=Wr(this,mn,Fl).call(this,r);if(this.isStart()&&this.isEnd()&&!i&&this.type!=="!"){const d=this.toString();return Je(this,Ue,[d]),this.type=null,Je(this,lt,void 0),[d,Ma(this.toString()),!1,!1]}let u=!a||t||r||!Vs?"":Wr(this,mn,Fl).call(this,!0);u===i&&(u=""),u&&(i=`(?:${i})(?:${u})*?`);let l="";if(this.type==="!"&&G(this,Ya))l=(this.isStart()&&!r?Vs:"")+Pv;else{const d=this.type==="!"?"))"+(this.isStart()&&!r&&!t?Vs:"")+Ov+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&u?")":this.type==="*"&&u?")?":`)${this.type}`;l=s+i+d}return[l,Ma(i),Je(this,lt,!!G(this,lt)),G(this,Ar)]}};ot=new WeakMap,lt=new WeakMap,Ar=new WeakMap,Ue=new WeakMap,rt=new WeakMap,Gr=new WeakMap,hn=new WeakMap,Vr=new WeakMap,ur=new WeakMap,gn=new WeakMap,Ya=new WeakMap,mn=new WeakSet,Em=function(){if(this!==G(this,ot))throw new Error("should only call on root");if(G(this,Vr))return this;this.toString(),Je(this,Vr,!0);let t;for(;t=G(this,hn).pop();){if(t.type!=="!")continue;let r=t,a=G(r,rt);for(;a;){for(let s=G(r,Gr)+1;!a.type&&s<G(a,Ue).length;s++)for(const i of G(t,Ue)){if(typeof i=="string")throw new Error("string part in extglob AST??");i.copyIn(G(a,Ue)[s])}r=a,a=G(r,rt)}}return this},Zr=new WeakSet,ro=function(t,r,a,s){var m,C;let i=!1,u=!1,l=-1,f=!1;if(r.type===null){let v=a,S="";for(;v<t.length;){const E=t.charAt(v++);if(i||E==="\\"){i=!i,S+=E;continue}if(u){v===l+1?(E==="^"||E==="!")&&(f=!0):E==="]"&&!(v===l+2&&f)&&(u=!1),S+=E;continue}else if(E==="["){u=!0,l=v,f=!1,S+=E;continue}if(!s.noext&&Rv(E)&&t.charAt(v)==="("){r.push(S),S="";const A=new Tt(E,r);v=Wr(m=Tt,Zr,ro).call(m,t,A,v,s),r.push(A);continue}S+=E}return r.push(S),v}let d=a+1,h=new Tt(null,r);const g=[];let _="";for(;d<t.length;){const v=t.charAt(d++);if(i||v==="\\"){i=!i,_+=v;continue}if(u){d===l+1?(v==="^"||v==="!")&&(f=!0):v==="]"&&!(d===l+2&&f)&&(u=!1),_+=v;continue}else if(v==="["){u=!0,l=d,f=!1,_+=v;continue}if(Rv(v)&&t.charAt(d)==="("){h.push(_),_="";const S=new Tt(v,h);h.push(S),d=Wr(C=Tt,Zr,ro).call(C,t,S,d,s);continue}if(v==="|"){h.push(_),_="",g.push(h),h=new Tt(null,r);continue}if(v===")")return _===""&&G(r,Ue).length===0&&Je(r,Ya,!0),h.push(_),_="",r.push(...g,h),d;_+=v}return r.type=null,Je(r,lt,void 0),Je(r,Ue,[t.substring(a-1)]),d},Fl=function(t){return G(this,Ue).map(r=>{if(typeof r=="string")throw new Error("string type in extglob ast??");const[a,s,i,u]=r.toRegExpSource(t);return Je(this,Ar,G(this,Ar)||u),a}).filter(r=>!(this.isStart()&&this.isEnd())||!!r).join("|")},Tm=function(t,r,a=!1){let s=!1,i="",u=!1;for(let l=0;l<t.length;l++){const f=t.charAt(l);if(s){s=!1,i+=(OO.has(f)?"\\":"")+f;continue}if(f==="\\"){l===t.length-1?i+="\\\\":s=!0;continue}if(f==="["){const[d,h,g,_]=wO(t,l);if(g){i+=d,u=u||h,l+=g-1,r=r||_;continue}}if(f==="*"){a&&t==="*"?i+=Pv:i+=Ov,r=!0;continue}if(f==="?"){i+=hf,r=!0;continue}i+=PO(f)}return[i,Ma(t),!!r,u]},Ot(Tt,Zr);let _o=Tt;const DO=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&"),ht=(e,t,r={})=>(mo(t),!r.nocomment&&t.charAt(0)==="#"?!1:new Fo(t,r).match(e)),FO=/^\*+([^+@!?\*\[\(]*)$/,IO=e=>t=>!t.startsWith(".")&&t.endsWith(e),MO=e=>t=>t.endsWith(e),NO=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),LO=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),$O=/^\*+\.\*+$/,kO=e=>!e.startsWith(".")&&e.includes("."),qO=e=>e!=="."&&e!==".."&&e.includes("."),jO=/^\.\*+$/,BO=e=>e!=="."&&e!==".."&&e.startsWith("."),WO=/^\*+$/,UO=e=>e.length!==0&&!e.startsWith("."),HO=e=>e.length!==0&&e!=="."&&e!=="..",GO=/^\?+([^+@!?\*\[\(]*)?$/,VO=([e,t=""])=>{const r=wm([e]);return t?(t=t.toLowerCase(),a=>r(a)&&a.toLowerCase().endsWith(t)):r},zO=([e,t=""])=>{const r=Cm([e]);return t?(t=t.toLowerCase(),a=>r(a)&&a.toLowerCase().endsWith(t)):r},YO=([e,t=""])=>{const r=Cm([e]);return t?a=>r(a)&&a.endsWith(t):r},KO=([e,t=""])=>{const r=wm([e]);return t?a=>r(a)&&a.endsWith(t):r},wm=([e])=>{const t=e.length;return r=>r.length===t&&!r.startsWith(".")},Cm=([e])=>{const t=e.length;return r=>r.length===t&&r!=="."&&r!==".."},Am=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Dv={win32:{sep:"\\"},posix:{sep:"/"}},QO=Am==="win32"?Dv.win32.sep:Dv.posix.sep;ht.sep=QO;const Kt=Symbol("globstar **");ht.GLOBSTAR=Kt;const JO="[^/]",XO=JO+"*?",ZO="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",eP="(?:(?!(?:\\/|^)\\.).)*?",tP=(e,t={})=>r=>ht(r,e,t);ht.filter=tP;const Yt=(e,t={})=>Object.assign({},e,t),rP=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return ht;const t=ht;return Object.assign((a,s,i={})=>t(a,s,Yt(e,i)),{Minimatch:class extends t.Minimatch{constructor(s,i={}){super(s,Yt(e,i))}static defaults(s){return t.defaults(Yt(e,s)).Minimatch}},AST:class extends t.AST{constructor(s,i,u={}){super(s,i,Yt(e,u))}static fromGlob(s,i={}){return t.AST.fromGlob(s,Yt(e,i))}},unescape:(a,s={})=>t.unescape(a,Yt(e,s)),escape:(a,s={})=>t.escape(a,Yt(e,s)),filter:(a,s={})=>t.filter(a,Yt(e,s)),defaults:a=>t.defaults(Yt(e,a)),makeRe:(a,s={})=>t.makeRe(a,Yt(e,s)),braceExpand:(a,s={})=>t.braceExpand(a,Yt(e,s)),match:(a,s,i={})=>t.match(a,s,Yt(e,i)),sep:t.sep,GLOBSTAR:Kt})};ht.defaults=rP;const xm=(e,t={})=>(mo(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:vO(e));ht.braceExpand=xm;const nP=(e,t={})=>new Fo(e,t).makeRe();ht.makeRe=nP;const aP=(e,t,r={})=>{const a=new Fo(t,r);return e=e.filter(s=>a.match(s)),a.options.nonull&&!e.length&&e.push(t),e};ht.match=aP;const Fv=/[?*]|[+@!]\(.*?\)|\[|\]/,sP=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Fo{constructor(t,r={}){st(this,"options");st(this,"set");st(this,"pattern");st(this,"windowsPathsNoEscape");st(this,"nonegate");st(this,"negate");st(this,"comment");st(this,"empty");st(this,"preserveMultipleSlashes");st(this,"partial");st(this,"globSet");st(this,"globParts");st(this,"nocase");st(this,"isWindows");st(this,"platform");st(this,"windowsNoMagicRoot");st(this,"regexp");mo(t),r=r||{},this.options=r,this.pattern=t,this.platform=r.platform||Am,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||r.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!r.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!r.nonegate,this.comment=!1,this.empty=!1,this.partial=!!r.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=r.windowsNoMagicRoot!==void 0?r.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const r of t)if(typeof r!="string")return!0;return!1}debug(...t){}make(){const t=this.pattern,r=this.options;if(!r.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],r.debug&&(this.debug=(...i)=>console.error(...i)),this.debug(this.pattern,this.globSet);const a=this.globSet.map(i=>this.slashSplit(i));this.globParts=this.preprocess(a),this.debug(this.pattern,this.globParts);let s=this.globParts.map((i,u,l)=>{if(this.isWindows&&this.windowsNoMagicRoot){const f=i[0]===""&&i[1]===""&&(i[2]==="?"||!Fv.test(i[2]))&&!Fv.test(i[3]),d=/^[a-z]:/i.test(i[0]);if(f)return[...i.slice(0,4),...i.slice(4).map(h=>this.parse(h))];if(d)return[i[0],...i.slice(1).map(h=>this.parse(h))]}return i.map(f=>this.parse(f))});if(this.debug(this.pattern,s),this.set=s.filter(i=>i.indexOf(!1)===-1),this.isWindows)for(let i=0;i<this.set.length;i++){const u=this.set[i];u[0]===""&&u[1]===""&&this.globParts[i][2]==="?"&&typeof u[3]=="string"&&/^[a-z]:$/i.test(u[3])&&(u[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let a=0;a<t.length;a++)for(let s=0;s<t[a].length;s++)t[a][s]==="**"&&(t[a][s]="*");const{optimizationLevel:r=1}=this.options;return r>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):r>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(r=>{let a=-1;for(;(a=r.indexOf("**",a+1))!==-1;){let s=a;for(;r[s+1]==="**";)s++;s!==a&&r.splice(a,s-a)}return r})}levelOneOptimize(t){return t.map(r=>(r=r.reduce((a,s)=>{const i=a[a.length-1];return s==="**"&&i==="**"?a:s===".."&&i&&i!==".."&&i!=="."&&i!=="**"?(a.pop(),a):(a.push(s),a)},[]),r.length===0?[""]:r))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let r=!1;do{if(r=!1,!this.preserveMultipleSlashes){for(let s=1;s<t.length-1;s++){const i=t[s];s===1&&i===""&&t[0]===""||(i==="."||i==="")&&(r=!0,t.splice(s,1),s--)}t[0]==="."&&t.length===2&&(t[1]==="."||t[1]==="")&&(r=!0,t.pop())}let a=0;for(;(a=t.indexOf("..",a+1))!==-1;){const s=t[a-1];s&&s!=="."&&s!==".."&&s!=="**"&&(r=!0,t.splice(a-1,2),a-=2)}}while(r);return t.length===0?[""]:t}firstPhasePreProcess(t){let r=!1;do{r=!1;for(let a of t){let s=-1;for(;(s=a.indexOf("**",s+1))!==-1;){let u=s;for(;a[u+1]==="**";)u++;u>s&&a.splice(s+1,u-s);let l=a[s+1];const f=a[s+2],d=a[s+3];if(l!==".."||!f||f==="."||f===".."||!d||d==="."||d==="..")continue;r=!0,a.splice(s,1);const h=a.slice(0);h[s]="**",t.push(h),s--}if(!this.preserveMultipleSlashes){for(let u=1;u<a.length-1;u++){const l=a[u];u===1&&l===""&&a[0]===""||(l==="."||l==="")&&(r=!0,a.splice(u,1),u--)}a[0]==="."&&a.length===2&&(a[1]==="."||a[1]==="")&&(r=!0,a.pop())}let i=0;for(;(i=a.indexOf("..",i+1))!==-1;){const u=a[i-1];if(u&&u!=="."&&u!==".."&&u!=="**"){r=!0;const f=i===1&&a[i+1]==="**"?["."]:[];a.splice(i-1,2,...f),a.length===0&&a.push(""),i-=2}}}}while(r);return t}secondPhasePreProcess(t){for(let r=0;r<t.length-1;r++)for(let a=r+1;a<t.length;a++){const s=this.partsMatch(t[r],t[a],!this.preserveMultipleSlashes);if(s){t[r]=[],t[a]=s;break}}return t.filter(r=>r.length)}partsMatch(t,r,a=!1){let s=0,i=0,u=[],l="";for(;s<t.length&&i<r.length;)if(t[s]===r[i])u.push(l==="b"?r[i]:t[s]),s++,i++;else if(a&&t[s]==="**"&&r[i]===t[s+1])u.push(t[s]),s++;else if(a&&r[i]==="**"&&t[s]===r[i+1])u.push(r[i]),i++;else if(t[s]==="*"&&r[i]&&(this.options.dot||!r[i].startsWith("."))&&r[i]!=="**"){if(l==="b")return!1;l="a",u.push(t[s]),s++,i++}else if(r[i]==="*"&&t[s]&&(this.options.dot||!t[s].startsWith("."))&&t[s]!=="**"){if(l==="a")return!1;l="b",u.push(r[i]),s++,i++}else return!1;return t.length===r.length&&u}parseNegate(){if(this.nonegate)return;const t=this.pattern;let r=!1,a=0;for(let s=0;s<t.length&&t.charAt(s)==="!";s++)r=!r,a++;a&&(this.pattern=t.slice(a)),this.negate=r}matchOne(t,r,a=!1){const s=this.options;if(this.isWindows){const v=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),S=!v&&t[0]===""&&t[1]===""&&t[2]==="?"&&/^[a-z]:$/i.test(t[3]),E=typeof r[0]=="string"&&/^[a-z]:$/i.test(r[0]),A=!E&&r[0]===""&&r[1]===""&&r[2]==="?"&&typeof r[3]=="string"&&/^[a-z]:$/i.test(r[3]),O=S?3:v?0:void 0,F=A?3:E?0:void 0;if(typeof O=="number"&&typeof F=="number"){const[R,j]=[t[O],r[F]];R.toLowerCase()===j.toLowerCase()&&(r[F]=R,F>O?r=r.slice(F):O>F&&(t=t.slice(O)))}}const{optimizationLevel:i=1}=this.options;i>=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:r}),this.debug("matchOne",t.length,r.length);for(var u=0,l=0,f=t.length,d=r.length;u<f&&l<d;u++,l++){this.debug("matchOne loop");var h=r[l],g=t[u];if(this.debug(r,h,g),h===!1)return!1;if(h===Kt){this.debug("GLOBSTAR",[r,h,g]);var _=u,m=l+1;if(m===d){for(this.debug("** at the end");u<f;u++)if(t[u]==="."||t[u]===".."||!s.dot&&t[u].charAt(0)===".")return!1;return!0}for(;_<f;){var C=t[_];if(this.debug(`
35
+ }`;var ve=hh(function(){return Ae(w,Z+"return "+B).apply(r,x)});if(ve.source=B,su(ve))throw ve;return ve}function AC(n){return Oe(n).toLowerCase()}function xC(n){return Oe(n).toUpperCase()}function RC(n,o,c){if(n=Oe(n),n&&(c||o===r))return Td(n);if(!n||!(o=Mt(o)))return n;var p=tr(n),y=tr(o),w=wd(p,y),x=Cd(p,y)+1;return jr(p,w,x).join("")}function OC(n,o,c){if(n=Oe(n),n&&(c||o===r))return n.slice(0,xd(n)+1);if(!n||!(o=Mt(o)))return n;var p=tr(n),y=Cd(p,tr(o))+1;return jr(p,0,y).join("")}function PC(n,o,c){if(n=Oe(n),n&&(c||o===r))return n.replace(si,"");if(!n||!(o=Mt(o)))return n;var p=tr(n),y=wd(p,tr(o));return jr(p,y).join("")}function DC(n,o){var c=be,p=J;if(Ge(o)){var y="separator"in o?o.separator:y;c="length"in o?he(o.length):c,p="omission"in o?Mt(o.omission):p}n=Oe(n);var w=n.length;if(wn(n)){var x=tr(n);w=x.length}if(c>=w)return n;var P=c-Cn(p);if(P<1)return p;var I=x?jr(x,0,P).join(""):n.slice(0,P);if(y===r)return I+p;if(x&&(P+=I.length-P),ou(y)){if(n.slice(P).search(y)){var $,k=I;for(y.global||(y=Ei(y.source,Oe(Gf.exec(y))+"g")),y.lastIndex=0;$=y.exec(k);)var B=$.index;I=I.slice(0,B===r?P:B)}}else if(n.indexOf(Mt(y),P)!=P){var z=I.lastIndexOf(y);z>-1&&(I=I.slice(0,z))}return I+p}function FC(n){return n=Oe(n),n&&Ub.test(n)?n.replace(Wf,i0):n}var IC=Fn(function(n,o,c){return n+(c?" ":"")+o.toUpperCase()}),cu=gp("toUpperCase");function ph(n,o,c){return n=Oe(n),o=c?r:o,o===r?r0(n)?l0(n):zS(n):n.match(o)||[]}var hh=_e(function(n,o){try{return Ft(n,r,o)}catch(c){return su(c)?c:new oe(c)}}),MC=Sr(function(n,o){return Bt(o,function(c){c=ir(c),_r(n,c,nu(n[c],n))}),n});function NC(n){var o=n==null?0:n.length,c=ee();return n=o?We(n,function(p){if(typeof p[1]!="function")throw new Wt(u);return[c(p[0]),p[1]]}):[],_e(function(p){for(var y=-1;++y<o;){var w=n[y];if(Ft(w[0],this,p))return Ft(w[1],this,p)}})}function LC(n){return iE(Ht(n,g))}function lu(n){return function(){return n}}function $C(n,o){return n==null||n!==n?o:n}var kC=yp(),qC=yp(!0);function Rt(n){return n}function fu(n){return zd(typeof n=="function"?n:Ht(n,g))}function jC(n){return Kd(Ht(n,g))}function BC(n,o){return Qd(n,Ht(o,g))}var WC=_e(function(n,o){return function(c){return ia(c,n,o)}}),UC=_e(function(n,o){return function(c){return ia(n,c,o)}});function du(n,o,c){var p=ct(o),y=ws(o,p);c==null&&!(Ge(o)&&(y.length||!p.length))&&(c=o,o=n,n=this,y=ws(o,ct(o)));var w=!(Ge(c)&&"chain"in c)||!!c.chain,x=Tr(n);return Bt(y,function(P){var I=o[P];n[P]=I,x&&(n.prototype[P]=function(){var $=this.__chain__;if(w||$){var k=n(this.__wrapped__),B=k.__actions__=Ct(this.__actions__);return B.push({func:I,args:arguments,thisArg:n}),k.__chain__=$,k}return I.apply(n,Mr([this.value()],arguments))})}),n}function HC(){return ft._===this&&(ft._=v0),this}function pu(){}function GC(n){return n=he(n),_e(function(o){return Jd(o,n)})}var VC=Hi(We),zC=Hi(md),YC=Hi(gi);function gh(n){return Ji(n)?vi(ir(n)):wE(n)}function KC(n){return function(o){return n==null?r:on(n,o)}}var QC=_p(),JC=_p(!0);function hu(){return[]}function gu(){return!1}function XC(){return{}}function ZC(){return""}function eA(){return!0}function tA(n,o){if(n=he(n),n<1||n>ut)return[];var c=V,p=gt(n,V);o=ee(o),n-=V;for(var y=_i(p,o);++c<n;)o(c);return y}function rA(n){return ue(n)?We(n,ir):Nt(n)?[n]:Ct(Np(Oe(n)))}function nA(n){var o=++h0;return Oe(n)+o}var aA=Ps(function(n,o){return n+o},0),sA=Gi("ceil"),oA=Ps(function(n,o){return n/o},1),iA=Gi("floor");function uA(n){return n&&n.length?Ts(n,Rt,Pi):r}function cA(n,o){return n&&n.length?Ts(n,ee(o,2),Pi):r}function lA(n){return Sd(n,Rt)}function fA(n,o){return Sd(n,ee(o,2))}function dA(n){return n&&n.length?Ts(n,Rt,Mi):r}function pA(n,o){return n&&n.length?Ts(n,ee(o,2),Mi):r}var hA=Ps(function(n,o){return n*o},1),gA=Gi("round"),vA=Ps(function(n,o){return n-o},0);function yA(n){return n&&n.length?mi(n,Rt):0}function mA(n,o){return n&&n.length?mi(n,ee(o,2)):0}return T.after=jw,T.ary=Vp,T.assign=x1,T.assignIn=oh,T.assignInWith=Us,T.assignWith=R1,T.at=O1,T.before=zp,T.bind=nu,T.bindAll=MC,T.bindKey=Yp,T.castArray=Xw,T.chain=Up,T.chunk=iT,T.compact=uT,T.concat=cT,T.cond=NC,T.conforms=LC,T.constant=lu,T.countBy=yw,T.create=P1,T.curry=Kp,T.curryRight=Qp,T.debounce=Jp,T.defaults=D1,T.defaultsDeep=F1,T.defer=Bw,T.delay=Ww,T.difference=lT,T.differenceBy=fT,T.differenceWith=dT,T.drop=pT,T.dropRight=hT,T.dropRightWhile=gT,T.dropWhile=vT,T.fill=yT,T.filter=_w,T.flatMap=Ew,T.flatMapDeep=Tw,T.flatMapDepth=ww,T.flatten=qp,T.flattenDeep=mT,T.flattenDepth=_T,T.flip=Uw,T.flow=kC,T.flowRight=qC,T.fromPairs=bT,T.functions=q1,T.functionsIn=j1,T.groupBy=Cw,T.initial=ET,T.intersection=TT,T.intersectionBy=wT,T.intersectionWith=CT,T.invert=W1,T.invertBy=U1,T.invokeMap=xw,T.iteratee=fu,T.keyBy=Rw,T.keys=ct,T.keysIn=xt,T.map=$s,T.mapKeys=G1,T.mapValues=V1,T.matches=jC,T.matchesProperty=BC,T.memoize=qs,T.merge=z1,T.mergeWith=ih,T.method=WC,T.methodOf=UC,T.mixin=du,T.negate=js,T.nthArg=GC,T.omit=Y1,T.omitBy=K1,T.once=Hw,T.orderBy=Ow,T.over=VC,T.overArgs=Gw,T.overEvery=zC,T.overSome=YC,T.partial=au,T.partialRight=Xp,T.partition=Pw,T.pick=Q1,T.pickBy=uh,T.property=gh,T.propertyOf=KC,T.pull=OT,T.pullAll=Bp,T.pullAllBy=PT,T.pullAllWith=DT,T.pullAt=FT,T.range=QC,T.rangeRight=JC,T.rearg=Vw,T.reject=Iw,T.remove=IT,T.rest=zw,T.reverse=tu,T.sampleSize=Nw,T.set=X1,T.setWith=Z1,T.shuffle=Lw,T.slice=MT,T.sortBy=qw,T.sortedUniq=BT,T.sortedUniqBy=WT,T.split=EC,T.spread=Yw,T.tail=UT,T.take=HT,T.takeRight=GT,T.takeRightWhile=VT,T.takeWhile=zT,T.tap=uw,T.throttle=Kw,T.thru=Ls,T.toArray=nh,T.toPairs=ch,T.toPairsIn=lh,T.toPath=rA,T.toPlainObject=sh,T.transform=eC,T.unary=Qw,T.union=YT,T.unionBy=KT,T.unionWith=QT,T.uniq=JT,T.uniqBy=XT,T.uniqWith=ZT,T.unset=tC,T.unzip=ru,T.unzipWith=Wp,T.update=rC,T.updateWith=nC,T.values=Nn,T.valuesIn=aC,T.without=ew,T.words=ph,T.wrap=Jw,T.xor=tw,T.xorBy=rw,T.xorWith=nw,T.zip=aw,T.zipObject=sw,T.zipObjectDeep=ow,T.zipWith=iw,T.entries=ch,T.entriesIn=lh,T.extend=oh,T.extendWith=Us,du(T,T),T.add=aA,T.attempt=hh,T.camelCase=uC,T.capitalize=fh,T.ceil=sA,T.clamp=sC,T.clone=Zw,T.cloneDeep=t1,T.cloneDeepWith=r1,T.cloneWith=e1,T.conformsTo=n1,T.deburr=dh,T.defaultTo=$C,T.divide=oA,T.endsWith=cC,T.eq=nr,T.escape=lC,T.escapeRegExp=fC,T.every=mw,T.find=bw,T.findIndex=$p,T.findKey=I1,T.findLast=Sw,T.findLastIndex=kp,T.findLastKey=M1,T.floor=iA,T.forEach=Hp,T.forEachRight=Gp,T.forIn=N1,T.forInRight=L1,T.forOwn=$1,T.forOwnRight=k1,T.get=iu,T.gt=a1,T.gte=s1,T.has=B1,T.hasIn=uu,T.head=jp,T.identity=Rt,T.includes=Aw,T.indexOf=ST,T.inRange=oC,T.invoke=H1,T.isArguments=ln,T.isArray=ue,T.isArrayBuffer=o1,T.isArrayLike=At,T.isArrayLikeObject=Ke,T.isBoolean=i1,T.isBuffer=Br,T.isDate=u1,T.isElement=c1,T.isEmpty=l1,T.isEqual=f1,T.isEqualWith=d1,T.isError=su,T.isFinite=p1,T.isFunction=Tr,T.isInteger=Zp,T.isLength=Bs,T.isMap=eh,T.isMatch=h1,T.isMatchWith=g1,T.isNaN=v1,T.isNative=y1,T.isNil=_1,T.isNull=m1,T.isNumber=th,T.isObject=Ge,T.isObjectLike=Ye,T.isPlainObject=pa,T.isRegExp=ou,T.isSafeInteger=b1,T.isSet=rh,T.isString=Ws,T.isSymbol=Nt,T.isTypedArray=Mn,T.isUndefined=S1,T.isWeakMap=E1,T.isWeakSet=T1,T.join=AT,T.kebabCase=dC,T.last=Vt,T.lastIndexOf=xT,T.lowerCase=pC,T.lowerFirst=hC,T.lt=w1,T.lte=C1,T.max=uA,T.maxBy=cA,T.mean=lA,T.meanBy=fA,T.min=dA,T.minBy=pA,T.stubArray=hu,T.stubFalse=gu,T.stubObject=XC,T.stubString=ZC,T.stubTrue=eA,T.multiply=hA,T.nth=RT,T.noConflict=HC,T.noop=pu,T.now=ks,T.pad=gC,T.padEnd=vC,T.padStart=yC,T.parseInt=mC,T.random=iC,T.reduce=Dw,T.reduceRight=Fw,T.repeat=_C,T.replace=bC,T.result=J1,T.round=gA,T.runInContext=D,T.sample=Mw,T.size=$w,T.snakeCase=SC,T.some=kw,T.sortedIndex=NT,T.sortedIndexBy=LT,T.sortedIndexOf=$T,T.sortedLastIndex=kT,T.sortedLastIndexBy=qT,T.sortedLastIndexOf=jT,T.startCase=TC,T.startsWith=wC,T.subtract=vA,T.sum=yA,T.sumBy=mA,T.template=CC,T.times=tA,T.toFinite=wr,T.toInteger=he,T.toLength=ah,T.toLower=AC,T.toNumber=zt,T.toSafeInteger=A1,T.toString=Oe,T.toUpper=xC,T.trim=RC,T.trimEnd=OC,T.trimStart=PC,T.truncate=DC,T.unescape=FC,T.uniqueId=nA,T.upperCase=IC,T.upperFirst=cu,T.each=Hp,T.eachRight=Gp,T.first=jp,du(T,(function(){var n={};return sr(T,function(o,c){Me.call(T.prototype,c)||(n[c]=o)}),n})(),{chain:!1}),T.VERSION=a,Bt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){T[n].placeholder=T}),Bt(["drop","take"],function(n,o){Te.prototype[n]=function(c){c=c===r?1:at(he(c),0);var p=this.__filtered__&&!o?new Te(this):this.clone();return p.__filtered__?p.__takeCount__=gt(c,p.__takeCount__):p.__views__.push({size:gt(c,V),type:n+(p.__dir__<0?"Right":"")}),p},Te.prototype[n+"Right"]=function(c){return this.reverse()[n](c).reverse()}}),Bt(["filter","map","takeWhile"],function(n,o){var c=o+1,p=c==Re||c==Ve;Te.prototype[n]=function(y){var w=this.clone();return w.__iteratees__.push({iteratee:ee(y,3),type:c}),w.__filtered__=w.__filtered__||p,w}}),Bt(["head","last"],function(n,o){var c="take"+(o?"Right":"");Te.prototype[n]=function(){return this[c](1).value()[0]}}),Bt(["initial","tail"],function(n,o){var c="drop"+(o?"":"Right");Te.prototype[n]=function(){return this.__filtered__?new Te(this):this[c](1)}}),Te.prototype.compact=function(){return this.filter(Rt)},Te.prototype.find=function(n){return this.filter(n).head()},Te.prototype.findLast=function(n){return this.reverse().find(n)},Te.prototype.invokeMap=_e(function(n,o){return typeof n=="function"?new Te(this):this.map(function(c){return ia(c,n,o)})}),Te.prototype.reject=function(n){return this.filter(js(ee(n)))},Te.prototype.slice=function(n,o){n=he(n);var c=this;return c.__filtered__&&(n>0||o<0)?new Te(c):(n<0?c=c.takeRight(-n):n&&(c=c.drop(n)),o!==r&&(o=he(o),c=o<0?c.dropRight(-o):c.take(o-n)),c)},Te.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Te.prototype.toArray=function(){return this.take(V)},sr(Te.prototype,function(n,o){var c=/^(?:filter|find|map|reject)|While$/.test(o),p=/^(?:head|last)$/.test(o),y=T[p?"take"+(o=="last"?"Right":""):o],w=p||/^find/.test(o);y&&(T.prototype[o]=function(){var x=this.__wrapped__,P=p?[1]:arguments,I=x instanceof Te,$=P[0],k=I||ue(x),B=function(Ee){var we=y.apply(T,Mr([Ee],P));return p&&z?we[0]:we};k&&c&&typeof $=="function"&&$.length!=1&&(I=k=!1);var z=this.__chain__,Z=!!this.__actions__.length,re=w&&!z,ve=I&&!Z;if(!w&&k){x=ve?x:new Te(this);var ne=n.apply(x,P);return ne.__actions__.push({func:Ls,args:[B],thisArg:r}),new Ut(ne,z)}return re&&ve?n.apply(this,P):(ne=this.thru(B),re?p?ne.value()[0]:ne.value():ne)})}),Bt(["pop","push","shift","sort","splice","unshift"],function(n){var o=us[n],c=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",p=/^(?:pop|shift)$/.test(n);T.prototype[n]=function(){var y=arguments;if(p&&!this.__chain__){var w=this.value();return o.apply(ue(w)?w:[],y)}return this[c](function(x){return o.apply(ue(x)?x:[],y)})}}),sr(Te.prototype,function(n,o){var c=T[o];if(c){var p=c.name+"";Me.call(On,p)||(On[p]=[]),On[p].push({name:o,func:c})}}),On[Os(r,E).name]=[{name:"wrapper",func:r}],Te.prototype.clone=F0,Te.prototype.reverse=I0,Te.prototype.value=M0,T.prototype.at=cw,T.prototype.chain=lw,T.prototype.commit=fw,T.prototype.next=dw,T.prototype.plant=hw,T.prototype.reverse=gw,T.prototype.toJSON=T.prototype.valueOf=T.prototype.value=vw,T.prototype.first=T.prototype.head,ea&&(T.prototype[ea]=pw),T}),An=f0();tn?((tn.exports=An)._=An,fi._=An):ft._=An}).call(jx)})(Pa,Pa.exports)),Pa.exports}var ce=Bx();const Wx=sf(ce),Xa=2e3,uf={tabs:[],activeTab:"",recent:[],roles:{roles:{},privileges:{},flags:{touched:!1},selectedTab:"roles",forceLogin:!1},sharedCSS:{state:"loading",styles:[]},debugger:{meta:{state:Hr.DETACHED},list:[],sessions:[],expressions:[]},webforms:{i18n:{current:""},templates:{selectedGroup:"",data:[]},components:[],inspector:{css:{active:!1},datasource:{active:!1}},datasources:{theme:"grey"},flags:{"sidebar.section.resizable":!0}},tasks:[]},Xy="4DWS_PREFS",Zy=e=>`APP_STATE_${e}`,em=()=>{var e,t;return((t=(e=window==null?void 0:window.$$datastores)==null?void 0:e.ds)==null?void 0:t.getBaseID())||""};function tm(e){try{const t=em(),r=JSON.stringify(e);localStorage.setItem(Zy(t),r)}catch(t){console.error(t)}}function rm(e){try{const t=JSON.stringify(e);localStorage.setItem(Xy,t)}catch(t){console.error(t)}}function cf(){try{const e=localStorage.getItem(Xy);return{...e?JSON.parse(e):{},"features.experimental.i18n":!0}}catch(e){console.error(e)}}function _n(){const e=em(),t=localStorage.getItem(Zy(e));if(t){const r=JSON.parse(t);return r.tabs=r.tabs.map(a=>({...a,flags:{...a.flags,enabled:!0}})),r}return uf}function xo(e){const{name:t,type:r,path:a}=e,s=a.split(".").at(-1);switch(r){case b.FileFolderType.WEBFORM:case b.FileFolderType.ROLES:case b.FileFolderType.HTTP_HANDLERS:case b.FileFolderType.SETTINGS:case b.FileFolderType.MODEL:return t;case b.FileFolderType.METHOD:case b.FileFolderType.CLASS:default:return s?`${t}.${s}`:t}}const nm=e=>{if(!e)return[];const t=new Map;return e.dataClasses.forEach(r=>{var i,u;const a=r.extraProperties||{},s={id:r.className,type:"table",position:{x:((i=a.position)==null?void 0:i.x)||0,y:((u=a.position)==null?void 0:u.y)||0},dragHandle:".custom-drag-handle",data:r};t.set(r.name,s)}),Array.from(t.values())};function am(e){return e?["json","4dmodel","webform","mform","qodoc"].includes(e.toLowerCase()):!1}const Gn=(e,t,r="")=>t?e.type==="currentState"&&e.value===t?{...e,value:r}:e.type==="combination"&&e.conditions?{...e,conditions:e.conditions.map(a=>Gn(a,t,r))}:e:e;function sm(e,t){const{id:r,label:a}=t;return{...e,components:Object.entries(e.components||{}).reduce((s,[i,u])=>({...s,[i]:{...u,custom:Object.entries(u.custom).reduce((l,[f,d])=>f===`states:${r}`?l:{...l,[f]:d},{}),props:Object.entries(u.props).reduce((l,[f,d])=>{let h=d;return f==="events"&&(h=h.map(g=>{var _,m;return g.type==="simple-action"?{...g,state:{...g.state,states:(m=(_=g.state)==null?void 0:_.states)==null?void 0:m.filter(C=>C!==r)}}:g})),{...l,[f]:h}},{})}}),{}),metadata:{...e.metadata,states:e.metadata.states.filter(s=>(s==null?void 0:s.id)!==r).map(s=>s.conditions?{...s,conditions:Gn(s.conditions,a)}:s)}}}const Ux=(e,t)=>ce.isEqual(e,t),dn=e=>{const t=new URL(window.location.href),r=t.searchParams;if(e.type===b.FileFolderType.WEBFORM){const a=r.get("page");r.set("page",e.name),r.delete("path"),a!==e.name&&r.delete("editor")}else{const a=r.get("path");r.set("path",e.path),r.delete("page"),r.delete("editor"),a!==e.path&&r.delete("editor")}t.search=r.toString(),window.history.replaceState(null,"",t.href)},to=()=>{const e=new URL(window.location.href),t=e.searchParams;t.delete("path"),t.delete("page"),t.delete("editor"),e.search=t.toString(),window.history.replaceState(null,"",e.href)},om=()=>{const t=new URL(window.location.href).searchParams;return{page:t.get("page"),path:t.get("path"),editor:t.get("editor")}};var ju,Xh;function Hx(){if(Xh)return ju;Xh=1;function e(){this.__data__=[],this.size=0}return ju=e,ju}var Bu,Zh;function im(){if(Zh)return Bu;Zh=1;function e(t,r){return t===r||t!==t&&r!==r}return Bu=e,Bu}var Wu,eg;function Ro(){if(eg)return Wu;eg=1;var e=im();function t(r,a){for(var s=r.length;s--;)if(e(r[s][0],a))return s;return-1}return Wu=t,Wu}var Uu,tg;function Gx(){if(tg)return Uu;tg=1;var e=Ro(),t=Array.prototype,r=t.splice;function a(s){var i=this.__data__,u=e(i,s);if(u<0)return!1;var l=i.length-1;return u==l?i.pop():r.call(i,u,1),--this.size,!0}return Uu=a,Uu}var Hu,rg;function Vx(){if(rg)return Hu;rg=1;var e=Ro();function t(r){var a=this.__data__,s=e(a,r);return s<0?void 0:a[s][1]}return Hu=t,Hu}var Gu,ng;function zx(){if(ng)return Gu;ng=1;var e=Ro();function t(r){return e(this.__data__,r)>-1}return Gu=t,Gu}var Vu,ag;function Yx(){if(ag)return Vu;ag=1;var e=Ro();function t(r,a){var s=this.__data__,i=e(s,r);return i<0?(++this.size,s.push([r,a])):s[i][1]=a,this}return Vu=t,Vu}var zu,sg;function Oo(){if(sg)return zu;sg=1;var e=Hx(),t=Gx(),r=Vx(),a=zx(),s=Yx();function i(u){var l=-1,f=u==null?0:u.length;for(this.clear();++l<f;){var d=u[l];this.set(d[0],d[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=a,i.prototype.set=s,zu=i,zu}var Yu,og;function Kx(){if(og)return Yu;og=1;var e=Oo();function t(){this.__data__=new e,this.size=0}return Yu=t,Yu}var Ku,ig;function Qx(){if(ig)return Ku;ig=1;function e(t){var r=this.__data__,a=r.delete(t);return this.size=r.size,a}return Ku=e,Ku}var Qu,ug;function Jx(){if(ug)return Qu;ug=1;function e(t){return this.__data__.get(t)}return Qu=e,Qu}var Ju,cg;function Xx(){if(cg)return Ju;cg=1;function e(t){return this.__data__.has(t)}return Ju=e,Ju}var Xu,lg;function um(){if(lg)return Xu;lg=1;var e=Qa(),t=Ka(),r="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",i="[object Proxy]";function u(l){if(!t(l))return!1;var f=e(l);return f==a||f==s||f==r||f==i}return Xu=u,Xu}var Zu,fg;function Zx(){if(fg)return Zu;fg=1;var e=fr(),t=e["__core-js_shared__"];return Zu=t,Zu}var ec,dg;function eR(){if(dg)return ec;dg=1;var e=Zx(),t=(function(){var a=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""})();function r(a){return!!t&&t in a}return ec=r,ec}var tc,pg;function cm(){if(pg)return tc;pg=1;var e=Function.prototype,t=e.toString;function r(a){if(a!=null){try{return t.call(a)}catch{}try{return a+""}catch{}}return""}return tc=r,tc}var rc,hg;function tR(){if(hg)return rc;hg=1;var e=um(),t=eR(),r=Ka(),a=cm(),s=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,f=u.toString,d=l.hasOwnProperty,h=RegExp("^"+f.call(d).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g(_){if(!r(_)||t(_))return!1;var m=e(_)?h:i;return m.test(a(_))}return rc=g,rc}var nc,gg;function rR(){if(gg)return nc;gg=1;function e(t,r){return t==null?void 0:t[r]}return nc=e,nc}var ac,vg;function Yn(){if(vg)return ac;vg=1;var e=tR(),t=rR();function r(a,s){var i=t(a,s);return e(i)?i:void 0}return ac=r,ac}var sc,yg;function lf(){if(yg)return sc;yg=1;var e=Yn(),t=fr(),r=e(t,"Map");return sc=r,sc}var oc,mg;function Po(){if(mg)return oc;mg=1;var e=Yn(),t=e(Object,"create");return oc=t,oc}var ic,_g;function nR(){if(_g)return ic;_g=1;var e=Po();function t(){this.__data__=e?e(null):{},this.size=0}return ic=t,ic}var uc,bg;function aR(){if(bg)return uc;bg=1;function e(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}return uc=e,uc}var cc,Sg;function sR(){if(Sg)return cc;Sg=1;var e=Po(),t="__lodash_hash_undefined__",r=Object.prototype,a=r.hasOwnProperty;function s(i){var u=this.__data__;if(e){var l=u[i];return l===t?void 0:l}return a.call(u,i)?u[i]:void 0}return cc=s,cc}var lc,Eg;function oR(){if(Eg)return lc;Eg=1;var e=Po(),t=Object.prototype,r=t.hasOwnProperty;function a(s){var i=this.__data__;return e?i[s]!==void 0:r.call(i,s)}return lc=a,lc}var fc,Tg;function iR(){if(Tg)return fc;Tg=1;var e=Po(),t="__lodash_hash_undefined__";function r(a,s){var i=this.__data__;return this.size+=this.has(a)?0:1,i[a]=e&&s===void 0?t:s,this}return fc=r,fc}var dc,wg;function uR(){if(wg)return dc;wg=1;var e=nR(),t=aR(),r=sR(),a=oR(),s=iR();function i(u){var l=-1,f=u==null?0:u.length;for(this.clear();++l<f;){var d=u[l];this.set(d[0],d[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=a,i.prototype.set=s,dc=i,dc}var pc,Cg;function cR(){if(Cg)return pc;Cg=1;var e=uR(),t=Oo(),r=lf();function a(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}return pc=a,pc}var hc,Ag;function lR(){if(Ag)return hc;Ag=1;function e(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}return hc=e,hc}var gc,xg;function Do(){if(xg)return gc;xg=1;var e=lR();function t(r,a){var s=r.__data__;return e(a)?s[typeof a=="string"?"string":"hash"]:s.map}return gc=t,gc}var vc,Rg;function fR(){if(Rg)return vc;Rg=1;var e=Do();function t(r){var a=e(this,r).delete(r);return this.size-=a?1:0,a}return vc=t,vc}var yc,Og;function dR(){if(Og)return yc;Og=1;var e=Do();function t(r){return e(this,r).get(r)}return yc=t,yc}var mc,Pg;function pR(){if(Pg)return mc;Pg=1;var e=Do();function t(r){return e(this,r).has(r)}return mc=t,mc}var _c,Dg;function hR(){if(Dg)return _c;Dg=1;var e=Do();function t(r,a){var s=e(this,r),i=s.size;return s.set(r,a),this.size+=s.size==i?0:1,this}return _c=t,_c}var bc,Fg;function lm(){if(Fg)return bc;Fg=1;var e=cR(),t=fR(),r=dR(),a=pR(),s=hR();function i(u){var l=-1,f=u==null?0:u.length;for(this.clear();++l<f;){var d=u[l];this.set(d[0],d[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=a,i.prototype.set=s,bc=i,bc}var Sc,Ig;function gR(){if(Ig)return Sc;Ig=1;var e=Oo(),t=lf(),r=lm(),a=200;function s(i,u){var l=this.__data__;if(l instanceof e){var f=l.__data__;if(!t||f.length<a-1)return f.push([i,u]),this.size=++l.size,this;l=this.__data__=new r(f)}return l.set(i,u),this.size=l.size,this}return Sc=s,Sc}var Ec,Mg;function vR(){if(Mg)return Ec;Mg=1;var e=Oo(),t=Kx(),r=Qx(),a=Jx(),s=Xx(),i=gR();function u(l){var f=this.__data__=new e(l);this.size=f.size}return u.prototype.clear=t,u.prototype.delete=r,u.prototype.get=a,u.prototype.has=s,u.prototype.set=i,Ec=u,Ec}var Tc,Ng;function yR(){if(Ng)return Tc;Ng=1;var e="__lodash_hash_undefined__";function t(r){return this.__data__.set(r,e),this}return Tc=t,Tc}var wc,Lg;function mR(){if(Lg)return wc;Lg=1;function e(t){return this.__data__.has(t)}return wc=e,wc}var Cc,$g;function _R(){if($g)return Cc;$g=1;var e=lm(),t=yR(),r=mR();function a(s){var i=-1,u=s==null?0:s.length;for(this.__data__=new e;++i<u;)this.add(s[i])}return a.prototype.add=a.prototype.push=t,a.prototype.has=r,Cc=a,Cc}var Ac,kg;function bR(){if(kg)return Ac;kg=1;function e(t,r){for(var a=-1,s=t==null?0:t.length;++a<s;)if(r(t[a],a,t))return!0;return!1}return Ac=e,Ac}var xc,qg;function SR(){if(qg)return xc;qg=1;function e(t,r){return t.has(r)}return xc=e,xc}var Rc,jg;function fm(){if(jg)return Rc;jg=1;var e=_R(),t=bR(),r=SR(),a=1,s=2;function i(u,l,f,d,h,g){var _=f&a,m=u.length,C=l.length;if(m!=C&&!(_&&C>m))return!1;var v=g.get(u),S=g.get(l);if(v&&S)return v==l&&S==u;var E=-1,A=!0,O=f&s?new e:void 0;for(g.set(u,l),g.set(l,u);++E<m;){var F=u[E],R=l[E];if(d)var j=_?d(R,F,E,l,u,g):d(F,R,E,u,l,g);if(j!==void 0){if(j)continue;A=!1;break}if(O){if(!t(l,function(W,X){if(!r(O,X)&&(F===W||h(F,W,f,d,g)))return O.push(X)})){A=!1;break}}else if(!(F===R||h(F,R,f,d,g))){A=!1;break}}return g.delete(u),g.delete(l),A}return Rc=i,Rc}var Oc,Bg;function ER(){if(Bg)return Oc;Bg=1;var e=fr(),t=e.Uint8Array;return Oc=t,Oc}var Pc,Wg;function TR(){if(Wg)return Pc;Wg=1;function e(t){var r=-1,a=Array(t.size);return t.forEach(function(s,i){a[++r]=[i,s]}),a}return Pc=e,Pc}var Dc,Ug;function wR(){if(Ug)return Dc;Ug=1;function e(t){var r=-1,a=Array(t.size);return t.forEach(function(s){a[++r]=s}),a}return Dc=e,Dc}var Fc,Hg;function CR(){if(Hg)return Fc;Hg=1;var e=of(),t=ER(),r=im(),a=fm(),s=TR(),i=wR(),u=1,l=2,f="[object Boolean]",d="[object Date]",h="[object Error]",g="[object Map]",_="[object Number]",m="[object RegExp]",C="[object Set]",v="[object String]",S="[object Symbol]",E="[object ArrayBuffer]",A="[object DataView]",O=e?e.prototype:void 0,F=O?O.valueOf:void 0;function R(j,W,X,te,be,J,ye){switch(X){case A:if(j.byteLength!=W.byteLength||j.byteOffset!=W.byteOffset)return!1;j=j.buffer,W=W.buffer;case E:return!(j.byteLength!=W.byteLength||!J(new t(j),new t(W)));case f:case d:case _:return r(+j,+W);case h:return j.name==W.name&&j.message==W.message;case m:case v:return j==W+"";case g:var U=s;case C:var Re=te&u;if(U||(U=i),j.size!=W.size&&!Re)return!1;var et=ye.get(j);if(et)return et==W;te|=l,ye.set(j,W);var Ve=a(U(j),U(W),te,be,J,ye);return ye.delete(j),Ve;case S:if(F)return F.call(j)==F.call(W)}return!1}return Fc=R,Fc}var Ic,Gg;function AR(){if(Gg)return Ic;Gg=1;function e(t,r){for(var a=-1,s=r.length,i=t.length;++a<s;)t[i+a]=r[a];return t}return Ic=e,Ic}var Mc,Vg;function ff(){if(Vg)return Mc;Vg=1;var e=Array.isArray;return Mc=e,Mc}var Nc,zg;function xR(){if(zg)return Nc;zg=1;var e=AR(),t=ff();function r(a,s,i){var u=s(a);return t(a)?u:e(u,i(a))}return Nc=r,Nc}var Lc,Yg;function RR(){if(Yg)return Lc;Yg=1;function e(t,r){for(var a=-1,s=t==null?0:t.length,i=0,u=[];++a<s;){var l=t[a];r(l,a,t)&&(u[i++]=l)}return u}return Lc=e,Lc}var $c,Kg;function OR(){if(Kg)return $c;Kg=1;function e(){return[]}return $c=e,$c}var kc,Qg;function PR(){if(Qg)return kc;Qg=1;var e=RR(),t=OR(),r=Object.prototype,a=r.propertyIsEnumerable,s=Object.getOwnPropertySymbols,i=s?function(u){return u==null?[]:(u=Object(u),e(s(u),function(l){return a.call(u,l)}))}:t;return kc=i,kc}var qc,Jg;function DR(){if(Jg)return qc;Jg=1;function e(t,r){for(var a=-1,s=Array(t);++a<t;)s[a]=r(a);return s}return qc=e,qc}var jc,Xg;function FR(){if(Xg)return jc;Xg=1;var e=Qa(),t=Ja(),r="[object Arguments]";function a(s){return t(s)&&e(s)==r}return jc=a,jc}var Bc,Zg;function IR(){if(Zg)return Bc;Zg=1;var e=FR(),t=Ja(),r=Object.prototype,a=r.hasOwnProperty,s=r.propertyIsEnumerable,i=e((function(){return arguments})())?e:function(u){return t(u)&&a.call(u,"callee")&&!s.call(u,"callee")};return Bc=i,Bc}var Da={exports:{}},Wc,ev;function MR(){if(ev)return Wc;ev=1;function e(){return!1}return Wc=e,Wc}Da.exports;var tv;function dm(){return tv||(tv=1,(function(e,t){var r=fr(),a=MR(),s=t&&!t.nodeType&&t,i=s&&!0&&e&&!e.nodeType&&e,u=i&&i.exports===s,l=u?r.Buffer:void 0,f=l?l.isBuffer:void 0,d=f||a;e.exports=d})(Da,Da.exports)),Da.exports}var Uc,rv;function NR(){if(rv)return Uc;rv=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function r(a,s){var i=typeof a;return s=s??e,!!s&&(i=="number"||i!="symbol"&&t.test(a))&&a>-1&&a%1==0&&a<s}return Uc=r,Uc}var Hc,nv;function pm(){if(nv)return Hc;nv=1;var e=9007199254740991;function t(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return Hc=t,Hc}var Gc,av;function LR(){if(av)return Gc;av=1;var e=Qa(),t=pm(),r=Ja(),a="[object Arguments]",s="[object Array]",i="[object Boolean]",u="[object Date]",l="[object Error]",f="[object Function]",d="[object Map]",h="[object Number]",g="[object Object]",_="[object RegExp]",m="[object Set]",C="[object String]",v="[object WeakMap]",S="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",O="[object Float64Array]",F="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",W="[object Uint8Array]",X="[object Uint8ClampedArray]",te="[object Uint16Array]",be="[object Uint32Array]",J={};J[A]=J[O]=J[F]=J[R]=J[j]=J[W]=J[X]=J[te]=J[be]=!0,J[a]=J[s]=J[S]=J[i]=J[E]=J[u]=J[l]=J[f]=J[d]=J[h]=J[g]=J[_]=J[m]=J[C]=J[v]=!1;function ye(U){return r(U)&&t(U.length)&&!!J[e(U)]}return Gc=ye,Gc}var Vc,sv;function $R(){if(sv)return Vc;sv=1;function e(t){return function(r){return t(r)}}return Vc=e,Vc}var Fa={exports:{}};Fa.exports;var ov;function kR(){return ov||(ov=1,(function(e,t){var r=Ky(),a=t&&!t.nodeType&&t,s=a&&!0&&e&&!e.nodeType&&e,i=s&&s.exports===a,u=i&&r.process,l=(function(){try{var f=s&&s.require&&s.require("util").types;return f||u&&u.binding&&u.binding("util")}catch{}})();e.exports=l})(Fa,Fa.exports)),Fa.exports}var zc,iv;function hm(){if(iv)return zc;iv=1;var e=LR(),t=$R(),r=kR(),a=r&&r.isTypedArray,s=a?t(a):e;return zc=s,zc}var Yc,uv;function qR(){if(uv)return Yc;uv=1;var e=DR(),t=IR(),r=ff(),a=dm(),s=NR(),i=hm(),u=Object.prototype,l=u.hasOwnProperty;function f(d,h){var g=r(d),_=!g&&t(d),m=!g&&!_&&a(d),C=!g&&!_&&!m&&i(d),v=g||_||m||C,S=v?e(d.length,String):[],E=S.length;for(var A in d)(h||l.call(d,A))&&!(v&&(A=="length"||m&&(A=="offset"||A=="parent")||C&&(A=="buffer"||A=="byteLength"||A=="byteOffset")||s(A,E)))&&S.push(A);return S}return Yc=f,Yc}var Kc,cv;function jR(){if(cv)return Kc;cv=1;var e=Object.prototype;function t(r){var a=r&&r.constructor,s=typeof a=="function"&&a.prototype||e;return r===s}return Kc=t,Kc}var Qc,lv;function BR(){if(lv)return Qc;lv=1;function e(t,r){return function(a){return t(r(a))}}return Qc=e,Qc}var Jc,fv;function WR(){if(fv)return Jc;fv=1;var e=BR(),t=e(Object.keys,Object);return Jc=t,Jc}var Xc,dv;function UR(){if(dv)return Xc;dv=1;var e=jR(),t=WR(),r=Object.prototype,a=r.hasOwnProperty;function s(i){if(!e(i))return t(i);var u=[];for(var l in Object(i))a.call(i,l)&&l!="constructor"&&u.push(l);return u}return Xc=s,Xc}var Zc,pv;function HR(){if(pv)return Zc;pv=1;var e=um(),t=pm();function r(a){return a!=null&&t(a.length)&&!e(a)}return Zc=r,Zc}var el,hv;function GR(){if(hv)return el;hv=1;var e=qR(),t=UR(),r=HR();function a(s){return r(s)?e(s):t(s)}return el=a,el}var tl,gv;function VR(){if(gv)return tl;gv=1;var e=xR(),t=PR(),r=GR();function a(s){return e(s,r,t)}return tl=a,tl}var rl,vv;function zR(){if(vv)return rl;vv=1;var e=VR(),t=1,r=Object.prototype,a=r.hasOwnProperty;function s(i,u,l,f,d,h){var g=l&t,_=e(i),m=_.length,C=e(u),v=C.length;if(m!=v&&!g)return!1;for(var S=m;S--;){var E=_[S];if(!(g?E in u:a.call(u,E)))return!1}var A=h.get(i),O=h.get(u);if(A&&O)return A==u&&O==i;var F=!0;h.set(i,u),h.set(u,i);for(var R=g;++S<m;){E=_[S];var j=i[E],W=u[E];if(f)var X=g?f(W,j,E,u,i,h):f(j,W,E,i,u,h);if(!(X===void 0?j===W||d(j,W,l,f,h):X)){F=!1;break}R||(R=E=="constructor")}if(F&&!R){var te=i.constructor,be=u.constructor;te!=be&&"constructor"in i&&"constructor"in u&&!(typeof te=="function"&&te instanceof te&&typeof be=="function"&&be instanceof be)&&(F=!1)}return h.delete(i),h.delete(u),F}return rl=s,rl}var nl,yv;function YR(){if(yv)return nl;yv=1;var e=Yn(),t=fr(),r=e(t,"DataView");return nl=r,nl}var al,mv;function KR(){if(mv)return al;mv=1;var e=Yn(),t=fr(),r=e(t,"Promise");return al=r,al}var sl,_v;function QR(){if(_v)return sl;_v=1;var e=Yn(),t=fr(),r=e(t,"Set");return sl=r,sl}var ol,bv;function JR(){if(bv)return ol;bv=1;var e=Yn(),t=fr(),r=e(t,"WeakMap");return ol=r,ol}var il,Sv;function XR(){if(Sv)return il;Sv=1;var e=YR(),t=lf(),r=KR(),a=QR(),s=JR(),i=Qa(),u=cm(),l="[object Map]",f="[object Object]",d="[object Promise]",h="[object Set]",g="[object WeakMap]",_="[object DataView]",m=u(e),C=u(t),v=u(r),S=u(a),E=u(s),A=i;return(e&&A(new e(new ArrayBuffer(1)))!=_||t&&A(new t)!=l||r&&A(r.resolve())!=d||a&&A(new a)!=h||s&&A(new s)!=g)&&(A=function(O){var F=i(O),R=F==f?O.constructor:void 0,j=R?u(R):"";if(j)switch(j){case m:return _;case C:return l;case v:return d;case S:return h;case E:return g}return F}),il=A,il}var ul,Ev;function ZR(){if(Ev)return ul;Ev=1;var e=vR(),t=fm(),r=CR(),a=zR(),s=XR(),i=ff(),u=dm(),l=hm(),f=1,d="[object Arguments]",h="[object Array]",g="[object Object]",_=Object.prototype,m=_.hasOwnProperty;function C(v,S,E,A,O,F){var R=i(v),j=i(S),W=R?h:s(v),X=j?h:s(S);W=W==d?g:W,X=X==d?g:X;var te=W==g,be=X==g,J=W==X;if(J&&u(v)){if(!u(S))return!1;R=!0,te=!1}if(J&&!te)return F||(F=new e),R||l(v)?t(v,S,E,A,O,F):r(v,S,W,E,A,O,F);if(!(E&f)){var ye=te&&m.call(v,"__wrapped__"),U=be&&m.call(S,"__wrapped__");if(ye||U){var Re=ye?v.value():v,et=U?S.value():S;return F||(F=new e),O(Re,et,E,A,F)}}return J?(F||(F=new e),a(v,S,E,A,O,F)):!1}return ul=C,ul}var cl,Tv;function eO(){if(Tv)return cl;Tv=1;var e=ZR(),t=Ja();function r(a,s,i,u,l){return a===s?!0:a==null||s==null||!t(a)&&!t(s)?a!==a&&s!==s:e(a,s,i,u,r,l)}return cl=r,cl}var ll,wv;function tO(){if(wv)return ll;wv=1;var e=eO();function t(r,a,s){s=typeof s=="function"?s:void 0;var i=s?s(r,a):void 0;return i===void 0?e(r,a,void 0,s):!!i}return ll=t,ll}tO();typeof window<"u"&&(window.__CRAFTJS__||(window.__CRAFTJS__={}),window.__CRAFTJS__["@ws-ui/craftjs-utils"]="0.2.3");const rO="ROOT";RA(),xA();var Cv;(function(e){e[e.HandlerDisabled=0]="HandlerDisabled",e[e.HandlerEnabled=1]="HandlerEnabled"})(Cv||(Cv={}));function df(e){return`Debugger/${e}`}function gm(e,t){var a;const r=(a=t.name)==null?void 0:a.replace(/\.(4dm|4qs)$/,"");return`#${e} ${r}`}const vm=(e,t,r)=>{const a=e instanceof RegExp?Av(e,r):e,s=t instanceof RegExp?Av(t,r):t,i=a!==null&&s!=null&&nO(a,s,r);return i&&{start:i[0],end:i[1],pre:r.slice(0,i[0]),body:r.slice(i[0]+a.length,i[1]),post:r.slice(i[1]+s.length)}},Av=(e,t)=>{const r=t.match(e);return r?r[0]:null},nO=(e,t,r)=>{let a,s,i,u,l,f=r.indexOf(e),d=r.indexOf(t,f+1),h=f;if(f>=0&&d>0){if(e===t)return[f,d];for(a=[],i=r.length;h>=0&&!l;){if(h===f)a.push(h),f=r.indexOf(e,h+1);else if(a.length===1){const g=a.pop();g!==void 0&&(l=[g,d])}else s=a.pop(),s!==void 0&&s<i&&(i=s,u=d),d=r.indexOf(t,h+1);h=f<d&&f>=0?f:d}a.length&&u!==void 0&&(l=[i,u])}return l},ym="\0SLASH"+Math.random()+"\0",mm="\0OPEN"+Math.random()+"\0",pf="\0CLOSE"+Math.random()+"\0",_m="\0COMMA"+Math.random()+"\0",bm="\0PERIOD"+Math.random()+"\0",aO=new RegExp(ym,"g"),sO=new RegExp(mm,"g"),oO=new RegExp(pf,"g"),iO=new RegExp(_m,"g"),uO=new RegExp(bm,"g"),cO=/\\\\/g,lO=/\\{/g,fO=/\\}/g,dO=/\\,/g,pO=/\\./g;function fl(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function hO(e){return e.replace(cO,ym).replace(lO,mm).replace(fO,pf).replace(dO,_m).replace(pO,bm)}function gO(e){return e.replace(aO,"\\").replace(sO,"{").replace(oO,"}").replace(iO,",").replace(uO,".")}function Sm(e){if(!e)return[""];const t=[],r=vm("{","}",e);if(!r)return e.split(",");const{pre:a,body:s,post:i}=r,u=a.split(",");u[u.length-1]+="{"+s+"}";const l=Sm(i);return i.length&&(u[u.length-1]+=l.shift(),u.push.apply(u,l)),t.push.apply(t,u),t}function vO(e){return e?(e.slice(0,2)==="{}"&&(e="\\{\\}"+e.slice(2)),Ia(hO(e),!0).map(gO)):[]}function yO(e){return"{"+e+"}"}function mO(e){return/^-?0\d/.test(e)}function _O(e,t){return e<=t}function bO(e,t){return e>=t}function Ia(e,t){const r=[],a=vm("{","}",e);if(!a)return[e];const s=a.pre,i=a.post.length?Ia(a.post,!1):[""];if(/\$$/.test(a.pre))for(let u=0;u<i.length;u++){const l=s+"{"+a.body+"}"+i[u];r.push(l)}else{const u=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(a.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(a.body),f=u||l,d=a.body.indexOf(",")>=0;if(!f&&!d)return a.post.match(/,(?!,).*\}/)?(e=a.pre+"{"+a.body+pf+a.post,Ia(e)):[e];let h;if(f)h=a.body.split(/\.\./);else if(h=Sm(a.body),h.length===1&&h[0]!==void 0&&(h=Ia(h[0],!1).map(yO),h.length===1))return i.map(_=>a.pre+h[0]+_);let g;if(f&&h[0]!==void 0&&h[1]!==void 0){const _=fl(h[0]),m=fl(h[1]),C=Math.max(h[0].length,h[1].length);let v=h.length===3&&h[2]!==void 0?Math.abs(fl(h[2])):1,S=_O;m<_&&(v*=-1,S=bO);const A=h.some(mO);g=[];for(let O=_;S(O,m);O+=v){let F;if(l)F=String.fromCharCode(O),F==="\\"&&(F="");else if(F=String(O),A){const R=C-F.length;if(R>0){const j=new Array(R+1).join("0");O<0?F="-"+j+F.slice(1):F=j+F}}g.push(F)}}else{g=[];for(let _=0;_<h.length;_++)g.push.apply(g,Ia(h[_],!1))}for(let _=0;_<g.length;_++)for(let m=0;m<i.length;m++){const C=s+g[_]+i[m];(!t||f||C)&&r.push(C)}}return r}const SO=1024*64,mo=e=>{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>SO)throw new TypeError("pattern is too long")},EO={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},ha=e=>e.replace(/[[\]\\-]/g,"\\$&"),TO=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),xv=e=>e.join(""),wO=(e,t)=>{const r=t;if(e.charAt(r)!=="[")throw new Error("not in a brace expression");const a=[],s=[];let i=r+1,u=!1,l=!1,f=!1,d=!1,h=r,g="";e:for(;i<e.length;){const v=e.charAt(i);if((v==="!"||v==="^")&&i===r+1){d=!0,i++;continue}if(v==="]"&&u&&!f){h=i+1;break}if(u=!0,v==="\\"&&!f){f=!0,i++;continue}if(v==="["&&!f){for(const[S,[E,A,O]]of Object.entries(EO))if(e.startsWith(S,i)){if(g)return["$.",!1,e.length-r,!0];i+=S.length,O?s.push(E):a.push(E),l=l||A;continue e}}if(f=!1,g){v>g?a.push(ha(g)+"-"+ha(v)):v===g&&a.push(ha(v)),g="",i++;continue}if(e.startsWith("-]",i+1)){a.push(ha(v+"-")),i+=2;continue}if(e.startsWith("-",i+1)){g=v,i+=2;continue}a.push(ha(v)),i++}if(h<i)return["",!1,0,!1];if(!a.length&&!s.length)return["$.",!1,e.length-r,!0];if(s.length===0&&a.length===1&&/^\\?.$/.test(a[0])&&!d){const v=a[0].length===2?a[0].slice(-1):a[0];return[TO(v),!1,h-r,!1]}const _="["+(d?"^":"")+xv(a)+"]",m="["+(d?"":"^")+xv(s)+"]";return[a.length&&s.length?"("+_+"|"+m+")":a.length?_:m,l,h-r,!0]},Ma=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"),CO=new Set(["!","?","+","*","@"]),Rv=e=>CO.has(e),AO="(?!(?:^|/)\\.\\.?(?:$|/))",Vs="(?!\\.)",xO=new Set(["[","."]),RO=new Set(["..","."]),OO=new Set("().*{}+?[]^$\\!"),PO=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),hf="[^/]",Ov=hf+"*?",Pv=hf+"+?";var ot,lt,Ar,Ue,rt,Gr,hn,Vr,ur,gn,Ya,mn,Em,Zr,ro,Fl,Tm;const Tt=class Tt{constructor(t,r,a={}){Ot(this,mn);st(this,"type");Ot(this,ot);Ot(this,lt);Ot(this,Ar,!1);Ot(this,Ue,[]);Ot(this,rt);Ot(this,Gr);Ot(this,hn);Ot(this,Vr,!1);Ot(this,ur);Ot(this,gn);Ot(this,Ya,!1);this.type=t,t&&Je(this,lt,!0),Je(this,rt,r),Je(this,ot,G(this,rt)?G(G(this,rt),ot):this),Je(this,ur,G(this,ot)===this?a:G(G(this,ot),ur)),Je(this,hn,G(this,ot)===this?[]:G(G(this,ot),hn)),t==="!"&&!G(G(this,ot),Vr)&&G(this,hn).push(this),Je(this,Gr,G(this,rt)?G(G(this,rt),Ue).length:0)}get hasMagic(){if(G(this,lt)!==void 0)return G(this,lt);for(const t of G(this,Ue))if(typeof t!="string"&&(t.type||t.hasMagic))return Je(this,lt,!0);return G(this,lt)}toString(){return G(this,gn)!==void 0?G(this,gn):this.type?Je(this,gn,this.type+"("+G(this,Ue).map(t=>String(t)).join("|")+")"):Je(this,gn,G(this,Ue).map(t=>String(t)).join(""))}push(...t){for(const r of t)if(r!==""){if(typeof r!="string"&&!(r instanceof Tt&&G(r,rt)===this))throw new Error("invalid part: "+r);G(this,Ue).push(r)}}toJSON(){var r;const t=this.type===null?G(this,Ue).slice().map(a=>typeof a=="string"?a:a.toJSON()):[this.type,...G(this,Ue).map(a=>a.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===G(this,ot)||G(G(this,ot),Vr)&&((r=G(this,rt))==null?void 0:r.type)==="!")&&t.push({}),t}isStart(){var r;if(G(this,ot)===this)return!0;if(!((r=G(this,rt))!=null&&r.isStart()))return!1;if(G(this,Gr)===0)return!0;const t=G(this,rt);for(let a=0;a<G(this,Gr);a++){const s=G(t,Ue)[a];if(!(s instanceof Tt&&s.type==="!"))return!1}return!0}isEnd(){var r,a,s;if(G(this,ot)===this||((r=G(this,rt))==null?void 0:r.type)==="!")return!0;if(!((a=G(this,rt))!=null&&a.isEnd()))return!1;if(!this.type)return(s=G(this,rt))==null?void 0:s.isEnd();const t=G(this,rt)?G(G(this,rt),Ue).length:0;return G(this,Gr)===t-1}copyIn(t){typeof t=="string"?this.push(t):this.push(t.clone(this))}clone(t){const r=new Tt(this.type,t);for(const a of G(this,Ue))r.copyIn(a);return r}static fromGlob(t,r={}){var s;const a=new Tt(null,void 0,r);return Wr(s=Tt,Zr,ro).call(s,t,a,0,r),a}toMMPattern(){if(this!==G(this,ot))return G(this,ot).toMMPattern();const t=this.toString(),[r,a,s,i]=this.toRegExpSource();if(!(s||G(this,lt)||G(this,ur).nocase&&!G(this,ur).nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return a;const l=(G(this,ur).nocase?"i":"")+(i?"u":"");return Object.assign(new RegExp(`^${r}$`,l),{_src:r,_glob:t})}get options(){return G(this,ur)}toRegExpSource(t){var f;const r=t??!!G(this,ur).dot;if(G(this,ot)===this&&Wr(this,mn,Em).call(this),!this.type){const d=this.isStart()&&this.isEnd(),h=G(this,Ue).map(C=>{var O;const[v,S,E,A]=typeof C=="string"?Wr(O=Tt,Zr,Tm).call(O,C,G(this,lt),d):C.toRegExpSource(t);return Je(this,lt,G(this,lt)||E),Je(this,Ar,G(this,Ar)||A),v}).join("");let g="";if(this.isStart()&&typeof G(this,Ue)[0]=="string"&&!(G(this,Ue).length===1&&RO.has(G(this,Ue)[0]))){const v=xO,S=r&&v.has(h.charAt(0))||h.startsWith("\\.")&&v.has(h.charAt(2))||h.startsWith("\\.\\.")&&v.has(h.charAt(4)),E=!r&&!t&&v.has(h.charAt(0));g=S?AO:E?Vs:""}let _="";return this.isEnd()&&G(G(this,ot),Vr)&&((f=G(this,rt))==null?void 0:f.type)==="!"&&(_="(?:$|\\/)"),[g+h+_,Ma(h),Je(this,lt,!!G(this,lt)),G(this,Ar)]}const a=this.type==="*"||this.type==="+",s=this.type==="!"?"(?:(?!(?:":"(?:";let i=Wr(this,mn,Fl).call(this,r);if(this.isStart()&&this.isEnd()&&!i&&this.type!=="!"){const d=this.toString();return Je(this,Ue,[d]),this.type=null,Je(this,lt,void 0),[d,Ma(this.toString()),!1,!1]}let u=!a||t||r||!Vs?"":Wr(this,mn,Fl).call(this,!0);u===i&&(u=""),u&&(i=`(?:${i})(?:${u})*?`);let l="";if(this.type==="!"&&G(this,Ya))l=(this.isStart()&&!r?Vs:"")+Pv;else{const d=this.type==="!"?"))"+(this.isStart()&&!r&&!t?Vs:"")+Ov+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&u?")":this.type==="*"&&u?")?":`)${this.type}`;l=s+i+d}return[l,Ma(i),Je(this,lt,!!G(this,lt)),G(this,Ar)]}};ot=new WeakMap,lt=new WeakMap,Ar=new WeakMap,Ue=new WeakMap,rt=new WeakMap,Gr=new WeakMap,hn=new WeakMap,Vr=new WeakMap,ur=new WeakMap,gn=new WeakMap,Ya=new WeakMap,mn=new WeakSet,Em=function(){if(this!==G(this,ot))throw new Error("should only call on root");if(G(this,Vr))return this;this.toString(),Je(this,Vr,!0);let t;for(;t=G(this,hn).pop();){if(t.type!=="!")continue;let r=t,a=G(r,rt);for(;a;){for(let s=G(r,Gr)+1;!a.type&&s<G(a,Ue).length;s++)for(const i of G(t,Ue)){if(typeof i=="string")throw new Error("string part in extglob AST??");i.copyIn(G(a,Ue)[s])}r=a,a=G(r,rt)}}return this},Zr=new WeakSet,ro=function(t,r,a,s){var m,C;let i=!1,u=!1,l=-1,f=!1;if(r.type===null){let v=a,S="";for(;v<t.length;){const E=t.charAt(v++);if(i||E==="\\"){i=!i,S+=E;continue}if(u){v===l+1?(E==="^"||E==="!")&&(f=!0):E==="]"&&!(v===l+2&&f)&&(u=!1),S+=E;continue}else if(E==="["){u=!0,l=v,f=!1,S+=E;continue}if(!s.noext&&Rv(E)&&t.charAt(v)==="("){r.push(S),S="";const A=new Tt(E,r);v=Wr(m=Tt,Zr,ro).call(m,t,A,v,s),r.push(A);continue}S+=E}return r.push(S),v}let d=a+1,h=new Tt(null,r);const g=[];let _="";for(;d<t.length;){const v=t.charAt(d++);if(i||v==="\\"){i=!i,_+=v;continue}if(u){d===l+1?(v==="^"||v==="!")&&(f=!0):v==="]"&&!(d===l+2&&f)&&(u=!1),_+=v;continue}else if(v==="["){u=!0,l=d,f=!1,_+=v;continue}if(Rv(v)&&t.charAt(d)==="("){h.push(_),_="";const S=new Tt(v,h);h.push(S),d=Wr(C=Tt,Zr,ro).call(C,t,S,d,s);continue}if(v==="|"){h.push(_),_="",g.push(h),h=new Tt(null,r);continue}if(v===")")return _===""&&G(r,Ue).length===0&&Je(r,Ya,!0),h.push(_),_="",r.push(...g,h),d;_+=v}return r.type=null,Je(r,lt,void 0),Je(r,Ue,[t.substring(a-1)]),d},Fl=function(t){return G(this,Ue).map(r=>{if(typeof r=="string")throw new Error("string type in extglob ast??");const[a,s,i,u]=r.toRegExpSource(t);return Je(this,Ar,G(this,Ar)||u),a}).filter(r=>!(this.isStart()&&this.isEnd())||!!r).join("|")},Tm=function(t,r,a=!1){let s=!1,i="",u=!1;for(let l=0;l<t.length;l++){const f=t.charAt(l);if(s){s=!1,i+=(OO.has(f)?"\\":"")+f;continue}if(f==="\\"){l===t.length-1?i+="\\\\":s=!0;continue}if(f==="["){const[d,h,g,_]=wO(t,l);if(g){i+=d,u=u||h,l+=g-1,r=r||_;continue}}if(f==="*"){a&&t==="*"?i+=Pv:i+=Ov,r=!0;continue}if(f==="?"){i+=hf,r=!0;continue}i+=PO(f)}return[i,Ma(t),!!r,u]},Ot(Tt,Zr);let _o=Tt;const DO=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&"),ht=(e,t,r={})=>(mo(t),!r.nocomment&&t.charAt(0)==="#"?!1:new Fo(t,r).match(e)),FO=/^\*+([^+@!?\*\[\(]*)$/,IO=e=>t=>!t.startsWith(".")&&t.endsWith(e),MO=e=>t=>t.endsWith(e),NO=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),LO=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),$O=/^\*+\.\*+$/,kO=e=>!e.startsWith(".")&&e.includes("."),qO=e=>e!=="."&&e!==".."&&e.includes("."),jO=/^\.\*+$/,BO=e=>e!=="."&&e!==".."&&e.startsWith("."),WO=/^\*+$/,UO=e=>e.length!==0&&!e.startsWith("."),HO=e=>e.length!==0&&e!=="."&&e!=="..",GO=/^\?+([^+@!?\*\[\(]*)?$/,VO=([e,t=""])=>{const r=wm([e]);return t?(t=t.toLowerCase(),a=>r(a)&&a.toLowerCase().endsWith(t)):r},zO=([e,t=""])=>{const r=Cm([e]);return t?(t=t.toLowerCase(),a=>r(a)&&a.toLowerCase().endsWith(t)):r},YO=([e,t=""])=>{const r=Cm([e]);return t?a=>r(a)&&a.endsWith(t):r},KO=([e,t=""])=>{const r=wm([e]);return t?a=>r(a)&&a.endsWith(t):r},wm=([e])=>{const t=e.length;return r=>r.length===t&&!r.startsWith(".")},Cm=([e])=>{const t=e.length;return r=>r.length===t&&r!=="."&&r!==".."},Am=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Dv={win32:{sep:"\\"},posix:{sep:"/"}},QO=Am==="win32"?Dv.win32.sep:Dv.posix.sep;ht.sep=QO;const Kt=Symbol("globstar **");ht.GLOBSTAR=Kt;const JO="[^/]",XO=JO+"*?",ZO="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",eP="(?:(?!(?:\\/|^)\\.).)*?",tP=(e,t={})=>r=>ht(r,e,t);ht.filter=tP;const Yt=(e,t={})=>Object.assign({},e,t),rP=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return ht;const t=ht;return Object.assign((a,s,i={})=>t(a,s,Yt(e,i)),{Minimatch:class extends t.Minimatch{constructor(s,i={}){super(s,Yt(e,i))}static defaults(s){return t.defaults(Yt(e,s)).Minimatch}},AST:class extends t.AST{constructor(s,i,u={}){super(s,i,Yt(e,u))}static fromGlob(s,i={}){return t.AST.fromGlob(s,Yt(e,i))}},unescape:(a,s={})=>t.unescape(a,Yt(e,s)),escape:(a,s={})=>t.escape(a,Yt(e,s)),filter:(a,s={})=>t.filter(a,Yt(e,s)),defaults:a=>t.defaults(Yt(e,a)),makeRe:(a,s={})=>t.makeRe(a,Yt(e,s)),braceExpand:(a,s={})=>t.braceExpand(a,Yt(e,s)),match:(a,s,i={})=>t.match(a,s,Yt(e,i)),sep:t.sep,GLOBSTAR:Kt})};ht.defaults=rP;const xm=(e,t={})=>(mo(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:vO(e));ht.braceExpand=xm;const nP=(e,t={})=>new Fo(e,t).makeRe();ht.makeRe=nP;const aP=(e,t,r={})=>{const a=new Fo(t,r);return e=e.filter(s=>a.match(s)),a.options.nonull&&!e.length&&e.push(t),e};ht.match=aP;const Fv=/[?*]|[+@!]\(.*?\)|\[|\]/,sP=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Fo{constructor(t,r={}){st(this,"options");st(this,"set");st(this,"pattern");st(this,"windowsPathsNoEscape");st(this,"nonegate");st(this,"negate");st(this,"comment");st(this,"empty");st(this,"preserveMultipleSlashes");st(this,"partial");st(this,"globSet");st(this,"globParts");st(this,"nocase");st(this,"isWindows");st(this,"platform");st(this,"windowsNoMagicRoot");st(this,"regexp");mo(t),r=r||{},this.options=r,this.pattern=t,this.platform=r.platform||Am,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||r.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!r.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!r.nonegate,this.comment=!1,this.empty=!1,this.partial=!!r.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=r.windowsNoMagicRoot!==void 0?r.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const r of t)if(typeof r!="string")return!0;return!1}debug(...t){}make(){const t=this.pattern,r=this.options;if(!r.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],r.debug&&(this.debug=(...i)=>console.error(...i)),this.debug(this.pattern,this.globSet);const a=this.globSet.map(i=>this.slashSplit(i));this.globParts=this.preprocess(a),this.debug(this.pattern,this.globParts);let s=this.globParts.map((i,u,l)=>{if(this.isWindows&&this.windowsNoMagicRoot){const f=i[0]===""&&i[1]===""&&(i[2]==="?"||!Fv.test(i[2]))&&!Fv.test(i[3]),d=/^[a-z]:/i.test(i[0]);if(f)return[...i.slice(0,4),...i.slice(4).map(h=>this.parse(h))];if(d)return[i[0],...i.slice(1).map(h=>this.parse(h))]}return i.map(f=>this.parse(f))});if(this.debug(this.pattern,s),this.set=s.filter(i=>i.indexOf(!1)===-1),this.isWindows)for(let i=0;i<this.set.length;i++){const u=this.set[i];u[0]===""&&u[1]===""&&this.globParts[i][2]==="?"&&typeof u[3]=="string"&&/^[a-z]:$/i.test(u[3])&&(u[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let a=0;a<t.length;a++)for(let s=0;s<t[a].length;s++)t[a][s]==="**"&&(t[a][s]="*");const{optimizationLevel:r=1}=this.options;return r>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):r>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(r=>{let a=-1;for(;(a=r.indexOf("**",a+1))!==-1;){let s=a;for(;r[s+1]==="**";)s++;s!==a&&r.splice(a,s-a)}return r})}levelOneOptimize(t){return t.map(r=>(r=r.reduce((a,s)=>{const i=a[a.length-1];return s==="**"&&i==="**"?a:s===".."&&i&&i!==".."&&i!=="."&&i!=="**"?(a.pop(),a):(a.push(s),a)},[]),r.length===0?[""]:r))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let r=!1;do{if(r=!1,!this.preserveMultipleSlashes){for(let s=1;s<t.length-1;s++){const i=t[s];s===1&&i===""&&t[0]===""||(i==="."||i==="")&&(r=!0,t.splice(s,1),s--)}t[0]==="."&&t.length===2&&(t[1]==="."||t[1]==="")&&(r=!0,t.pop())}let a=0;for(;(a=t.indexOf("..",a+1))!==-1;){const s=t[a-1];s&&s!=="."&&s!==".."&&s!=="**"&&(r=!0,t.splice(a-1,2),a-=2)}}while(r);return t.length===0?[""]:t}firstPhasePreProcess(t){let r=!1;do{r=!1;for(let a of t){let s=-1;for(;(s=a.indexOf("**",s+1))!==-1;){let u=s;for(;a[u+1]==="**";)u++;u>s&&a.splice(s+1,u-s);let l=a[s+1];const f=a[s+2],d=a[s+3];if(l!==".."||!f||f==="."||f===".."||!d||d==="."||d==="..")continue;r=!0,a.splice(s,1);const h=a.slice(0);h[s]="**",t.push(h),s--}if(!this.preserveMultipleSlashes){for(let u=1;u<a.length-1;u++){const l=a[u];u===1&&l===""&&a[0]===""||(l==="."||l==="")&&(r=!0,a.splice(u,1),u--)}a[0]==="."&&a.length===2&&(a[1]==="."||a[1]==="")&&(r=!0,a.pop())}let i=0;for(;(i=a.indexOf("..",i+1))!==-1;){const u=a[i-1];if(u&&u!=="."&&u!==".."&&u!=="**"){r=!0;const f=i===1&&a[i+1]==="**"?["."]:[];a.splice(i-1,2,...f),a.length===0&&a.push(""),i-=2}}}}while(r);return t}secondPhasePreProcess(t){for(let r=0;r<t.length-1;r++)for(let a=r+1;a<t.length;a++){const s=this.partsMatch(t[r],t[a],!this.preserveMultipleSlashes);if(s){t[r]=[],t[a]=s;break}}return t.filter(r=>r.length)}partsMatch(t,r,a=!1){let s=0,i=0,u=[],l="";for(;s<t.length&&i<r.length;)if(t[s]===r[i])u.push(l==="b"?r[i]:t[s]),s++,i++;else if(a&&t[s]==="**"&&r[i]===t[s+1])u.push(t[s]),s++;else if(a&&r[i]==="**"&&t[s]===r[i+1])u.push(r[i]),i++;else if(t[s]==="*"&&r[i]&&(this.options.dot||!r[i].startsWith("."))&&r[i]!=="**"){if(l==="b")return!1;l="a",u.push(t[s]),s++,i++}else if(r[i]==="*"&&t[s]&&(this.options.dot||!t[s].startsWith("."))&&t[s]!=="**"){if(l==="a")return!1;l="b",u.push(r[i]),s++,i++}else return!1;return t.length===r.length&&u}parseNegate(){if(this.nonegate)return;const t=this.pattern;let r=!1,a=0;for(let s=0;s<t.length&&t.charAt(s)==="!";s++)r=!r,a++;a&&(this.pattern=t.slice(a)),this.negate=r}matchOne(t,r,a=!1){const s=this.options;if(this.isWindows){const v=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),S=!v&&t[0]===""&&t[1]===""&&t[2]==="?"&&/^[a-z]:$/i.test(t[3]),E=typeof r[0]=="string"&&/^[a-z]:$/i.test(r[0]),A=!E&&r[0]===""&&r[1]===""&&r[2]==="?"&&typeof r[3]=="string"&&/^[a-z]:$/i.test(r[3]),O=S?3:v?0:void 0,F=A?3:E?0:void 0;if(typeof O=="number"&&typeof F=="number"){const[R,j]=[t[O],r[F]];R.toLowerCase()===j.toLowerCase()&&(r[F]=R,F>O?r=r.slice(F):O>F&&(t=t.slice(O)))}}const{optimizationLevel:i=1}=this.options;i>=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:r}),this.debug("matchOne",t.length,r.length);for(var u=0,l=0,f=t.length,d=r.length;u<f&&l<d;u++,l++){this.debug("matchOne loop");var h=r[l],g=t[u];if(this.debug(r,h,g),h===!1)return!1;if(h===Kt){this.debug("GLOBSTAR",[r,h,g]);var _=u,m=l+1;if(m===d){for(this.debug("** at the end");u<f;u++)if(t[u]==="."||t[u]===".."||!s.dot&&t[u].charAt(0)===".")return!1;return!0}for(;_<f;){var C=t[_];if(this.debug(`
36
36
  globstar while`,t,_,r,m,C),this.matchOne(t.slice(_),r.slice(m),a))return this.debug("globstar found match!",_,f,C),!0;if(C==="."||C===".."||!s.dot&&C.charAt(0)==="."){this.debug("dot detected!",t,_,r,m);break}this.debug("globstar swallow a segment, and continue"),_++}return!!(a&&(this.debug(`
37
37
  >>> no match, partial?`,t,_,r,m),_===f))}let v;if(typeof h=="string"?(v=g===h,this.debug("string match",h,g,v)):(v=h.test(g),this.debug("pattern match",h,g,v)),!v)return!1}if(u===f&&l===d)return!0;if(u===f)return a;if(l===d)return u===f-1&&t[u]==="";throw new Error("wtf?")}braceExpand(){return xm(this.pattern,this.options)}parse(t){mo(t);const r=this.options;if(t==="**")return Kt;if(t==="")return"";let a,s=null;(a=t.match(WO))?s=r.dot?HO:UO:(a=t.match(FO))?s=(r.nocase?r.dot?LO:NO:r.dot?MO:IO)(a[1]):(a=t.match(GO))?s=(r.nocase?r.dot?zO:VO:r.dot?YO:KO)(a):(a=t.match($O))?s=r.dot?qO:kO:(a=t.match(jO))&&(s=BO);const i=_o.fromGlob(t,this.options).toMMPattern();return s&&typeof i=="object"&&Reflect.defineProperty(i,"test",{value:s}),i}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;const t=this.set;if(!t.length)return this.regexp=!1,this.regexp;const r=this.options,a=r.noglobstar?XO:r.dot?ZO:eP,s=new Set(r.nocase?["i"]:[]);let i=t.map(f=>{const d=f.map(h=>{if(h instanceof RegExp)for(const g of h.flags.split(""))s.add(g);return typeof h=="string"?sP(h):h===Kt?Kt:h._src});return d.forEach((h,g)=>{const _=d[g+1],m=d[g-1];h!==Kt||m===Kt||(m===void 0?_!==void 0&&_!==Kt?d[g+1]="(?:\\/|"+a+"\\/)?"+_:d[g]=a:_===void 0?d[g-1]=m+"(?:\\/|"+a+")?":_!==Kt&&(d[g-1]=m+"(?:\\/|\\/"+a+"\\/)"+_,d[g+1]=Kt))}),d.filter(h=>h!==Kt).join("/")}).join("|");const[u,l]=t.length>1?["(?:",")"]:["",""];i="^"+u+i+l+"$",this.negate&&(i="^(?!"+i+").+$");try{this.regexp=new RegExp(i,[...s].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,r=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&r)return!0;const a=this.options;this.isWindows&&(t=t.split("\\").join("/"));const s=this.slashSplit(t);this.debug(this.pattern,"split",s);const i=this.set;this.debug(this.pattern,"set",i);let u=s[s.length-1];if(!u)for(let l=s.length-2;!u&&l>=0;l--)u=s[l];for(let l=0;l<i.length;l++){const f=i[l];let d=s;if(a.matchBase&&f.length===1&&(d=[u]),this.matchOne(d,f,r))return a.flipNegate?!0:!this.negate}return a.flipNegate?!1:this.negate}static defaults(t){return ht.defaults(t).Minimatch}}ht.AST=_o;ht.Minimatch=Fo;ht.escape=DO;ht.unescape=Ma;const Rm=[{pattern:b.SETTINGS_TAB_PATH,editor:{key:"editors:settings"},supportedEditors:[{key:"editors:code",config:{language:"json",theme:"vs-dark"}}]},{pattern:b.ROLES_TAB_PATH,editor:{key:"editors:roles"},supportedEditors:[{key:"editors:code",config:{language:"json",theme:"vs-dark"}}]},{pattern:b.HTTP_HANDLERS_TAB_PATH,editor:{key:"editors:http-handlers"},supportedEditors:[{key:"editors:code",config:{language:"json"}}]},{pattern:b.LOCALIZATION_TAB_PATH,editor:{key:"editors:localization"},supportedEditors:[{key:"editors:code",config:{language:"json"}}]},{pattern:b.MODEL_TAB_PATH,editor:{key:"editors:model"},supportedEditors:[{key:"editors:code",config:{language:"json",theme:"vs-dark"}}]},{pattern:"**/*.webform",editor:{key:"editors:webforms"},supportedEditors:[{key:"editors:code",config:{language:"json",theme:"vs-dark"}},{key:"editors:event-report"}]},{pattern:"**/*.qodoc",editor:{key:"editors:reports"},supportedEditors:[{key:"editors:code",config:{language:"json",theme:"vs-dark"}}]},{pattern:"Methods/*.4dm",editor:{key:"editors:code:method",config:{theme:"fd-dark",language:"4d"}}},{pattern:"Methods/*.4qs",editor:{key:"editors:code:method",config:{theme:"fd-dark",language:"4d"}}},{pattern:"Classes/*.4dm",editor:{key:"editors:code",config:{theme:"fd-dark",language:"4d"}}},{pattern:"Classes/*.4qs",editor:{key:"editors:code",config:{theme:"fd-dark",language:"4d"}}},{pattern:"**/*.+(json)",editor:{key:"editors:code",config:{language:"json"}}},{pattern:"**/*.+(js)",editor:{key:"editors:code",config:{language:"js"}}},{pattern:"**/*.+(css)",editor:{key:"editors:code",config:{language:"css"}}},{pattern:"**/*.+(txt)",editor:{key:"editors:code",config:{language:""}}},{pattern:"Debugger/*",editor:{key:"editors:code",config:{theme:"fd-dark",language:"4d"}}},{pattern:"**/*.+(png|jpeg|jpg|gif|svg)",editor:{key:"editors:img"}}],Om=[{pattern:"**/*.+(json|4DModel|WebForm)",type:"json"},{pattern:"**/*.+(4dm|txt|json|4qs)",type:"text"}];function Pm(e){const t=e.split("/");return t.pop(),t.join("/")}function Il(e,t,r){const{editor:a,supportedEditors:s}=pt(e);if(a.key===t)return a;const i=(s||[]).find(u=>u.key===t);return i||(r??a)}function pt(e){const t=Rm.find(({pattern:r})=>ht(e,r,{nocase:!0}));return t||{pattern:"",editor:{key:"editors:unknown",config:{language:"text"}}}}function gf(e){const t=Om.find(({pattern:r})=>ht(e,r,{nocase:!0}));return t?t.type:"text"}const pn=()=>({dataclass:({name:e,qodly:t})=>({name:e,content:t?`extends DataClass
38
38
  `:`Class extends DataClass
@@ -99,7 +99,7 @@ Valid keys: `+JSON.stringify(Object.keys(H),null," "));var N=Y(fe,Se,ae,ie,se+"
99
99
  The error may be correlated with this previous error:
100
100
  `+l.current.stack+`
101
101
 
102
- `),C}return jl(function(){f.current=e,d.current=g,h.current=_,l.current=void 0}),jl(function(){function C(){try{var v=r.getState();if(v===d.current)return;var S=f.current(v);if(t(S,h.current))return;h.current=S,d.current=v}catch(E){l.current=E}i()}return u.onStateChange=C,u.trySubscribe(),C(),function(){return u.tryUnsubscribe()}},[r,u]),_}function WP(e){e===void 0&&(e=Pr);var t=e===Pr?Hm:function(){return mt.useContext(e)};return function(a,s){if(s===void 0&&(s=jP),process.env.NODE_ENV!=="production"){if(!a)throw new Error("You must pass a selector to useSelector");if(typeof a!="function")throw new Error("You must pass a function as a selector to useSelector");if(typeof s!="function")throw new Error("You must pass a function as an equality function to useSelector")}var i=t(),u=i.store,l=i.subscription,f=BP(a,s,u,l);return mt.useDebugValue(f),f}}var UP=WP();xP(SA.unstable_batchedUpdates);const HP=()=>qP(),dr=UP,No=q(e=>e,e=>e.catalog.state==="loaded"?e.catalog.model:null),GP=q(e=>e,({catalog:e})=>e.state),Vm=q(No,e=>e?e.dataClasses:[]),VP=q(No,e=>e?e.singletons:[]),zP=q(Vm,e=>Object.values(e).filter(({virtual:t})=>t)),YP=q(No,e=>e?e.methods:[]),zm=e=>q(t=>t,t=>{switch(t.catalog.state){case"loaded":const r=e?t.catalog.model.dataClasses[e]:t.catalog.model;return(r==null?void 0:r.methods)||[];default:return[]}}),KP=e=>dr(zm(e),Um),QP=(e,t)=>q(zm(e),r=>r.find(a=>`${a.applyTo}.${a.name}`===t)),JP=(e,t,r)=>dr(QP(e,`${r}.${t}`),Um),Ym=q(e=>e,e=>e),XP=e=>q(Fr,t=>{var s,i;const r=t.tabs.find(({path:u})=>u===e),a=(s=r==null?void 0:r.content)==null?void 0:s.components;return!r||!a?[]:(i=Object.keys(a))==null?void 0:i.map(u=>({id:u,...a[u]}))}),Km=e=>q(Fr,t=>{var a,s;const r=t.tabs.find(({path:i})=>i===e);return((s=(a=r==null?void 0:r.content)==null?void 0:a.metadata)==null?void 0:s.datasources)||[]}),ZP=(e,t,r)=>q(Ym,a=>{var s,i;if(t){const u=a.sharedDatasources.sources[t];return u?u==null?void 0:u.find(l=>l.id===e):void 0}else{const u=a.root.tabs.find(f=>f.path===r);return u?(i=(s=u.content.metadata)==null?void 0:s.datasources)==null?void 0:i.find(f=>f.id===e):void 0}}),Qm=q(e=>e,e=>{var t;return((t=e.sharedDatasources)==null?void 0:t.sources)||{}}),eD=q(e=>e,e=>{var t;return(t=e.sharedDatasources)==null?void 0:t.state}),tD=(e,t,r,a)=>q(Km(e),Qm,(s,i)=>{const u=ce.flatten(ce.values(i)),l=[...t!=="private"?s:[],...t!=="shared"?u:[]];return r?l.filter(f=>(!a||a.every(({id:d,namespace:h=""})=>f.id!==d||(f.namespace||"")!==h))&&(r.includes(f.type)||f.dataType&&(r.includes(f.dataType)||r.includes("objectFromArray")&&f.dataType==="object"&&f.from))):l}),rD=q(e=>e.debugger,e=>e.meta),Dr=q(e=>e.debugger,e=>e.list),_t=q(e=>e.debugger,e=>e.sessions),nD=q(_t,e=>e.length),cr=(e,t,r,a)=>e.find(s=>s.filePath===t&&s.methodName===r&&(!a||s.className===a)),Ze=(e,t)=>e.find(r=>r.threadId===t),Jm=(e,t)=>e.find(r=>r.tabPath===t),yf=q(Dr,e=>e.reduce((t,r)=>{const a=r.breakpoints.saved.locations.map(s=>({...s,offset:r.breakpoints.saved.offset,fileType:r.fileType,filePath:r.filePath,methodName:r.methodName,className:r.className,ext:r.ext}));return[...t,...a]},[])),aD=q(Dr,e=>e.reduce((t,r)=>{const a=(l,f)=>l.line+(l.offset||0)-(f.line+(f.offset||0)),s=r.breakpoints.saved.locations.map(l=>({...l,offset:r.breakpoints.saved.offset,fileType:r.fileType,filePath:r.filePath,methodName:r.methodName,className:r.className,ext:r.ext}));if(s.length===0)return t;let i=!1;const u=t.map(l=>l.file.path===r.filePath?(i=!0,{...l,breakpoints:[...l.breakpoints,...s].sort(a)}):l);return i?u:[...t,{file:{path:r.filePath,type:r.fileType,methodName:r.methodName,className:r.className,ext:r.ext},breakpoints:s.sort(a)}]},[])),sD=q(yf,e=>e.length),oD=q(yf,e=>e.filter(({disabled:t})=>!t).length),iD=(e,t)=>q(Dr,r=>{var a;return((a=cr(r,e,t))==null?void 0:a.breakpoints.saved.locations)||[]}),uD=(e,t)=>q(Dr,r=>{var a;return((a=cr(r,e,t))==null?void 0:a.breakpoints.draft.locations)||[]}),cD=e=>q(Dr,t=>t.filter(r=>r.filePath===e).reduce((r,a)=>[...r,...a.breakpoints.saved.locations.map(s=>({...s,line:s.line+(a.breakpoints.saved.offset||0)}))],[]).sort((r,a)=>r.line-a.line)),lD=e=>q(Dr,t=>t.filter(r=>r.filePath===e).reduce((r,a)=>[...r,...a.breakpoints.draft.locations.map(s=>({...s,line:s.line+(a.breakpoints.draft.offset||0)}))],[]).sort((r,a)=>r.line-a.line)),fD=e=>q(_t,t=>{const r=Ze(t,e);return r!=null&&r.stopped?r.highlightedLines:null}),dD=e=>q(_t,t=>{const r=Ze(t,e);return r!=null&&r.stopped?r.activeLine:null}),pD=e=>q(_t,t=>{var r;return((r=Ze(t,e))==null?void 0:r.expressions)||[]}),hD=e=>q(_t,t=>{var r;return((r=Ze(t,e))==null?void 0:r.stopped)||!1}),gD=(e,t)=>q(Dr,r=>{var a;return(a=cr(r,e,t))==null?void 0:a.source}),vD=e=>q(_t,t=>{var r;return((r=Jm(t,e))==null?void 0:r.threadId)||-1}),yD=e=>q(_t,t=>{var r,a;return(a=(r=Ze(t,e))==null?void 0:r.currentStackFrame)==null?void 0:a.source}),mD=e=>q(_t,t=>{var r;return(r=Ze(t,e))==null?void 0:r.currentStackFrame}),_D=q(_t,e=>e.map(({channelId:t,threadId:r})=>({id:t,threadId:r}))),bD=e=>q(_t,t=>{var r;return((r=Ze(t,e))==null?void 0:r.stackFrames)||[]}),SD=(e,t)=>q(_t,r=>{var a,s;return((s=(a=Ze(r,e))==null?void 0:a.variables)==null?void 0:s[t])||[]}),ED=e=>q(_t,t=>{var r,a;return((a=(r=Ze(t,e))==null?void 0:r.variables)==null?void 0:a.callchain)||[]}),TD=e=>q(_t,t=>{var r,a;return((a=(r=Ze(t,e))==null?void 0:r.variables)==null?void 0:a.expressions)||[]}),wD=(e,t="saved")=>q(Dr,r=>{const a=r.find(s=>s.filePath===e);return(a==null?void 0:a.breakpoints[t].offset)||0}),CD=(e,t,r,a)=>q(_t,s=>{var d;const i=((d=Ze(s,e))==null?void 0:d.exceptions)||[],u=t===b.FileFolderType.CLASS,l=u&&a?`${a}.${r}`:r;return(l?i.filter(h=>h.location===l):i).map(h=>({...h,locationLine:u?h.locationLine:h.locationLine+1}))}),AD=q(_t,e=>e.map(({threadId:t,currentStackFrame:{source:r},tabPath:a})=>({name:gm(t,r),path:a,type:b.FileFolderType.DEBUGGER,content:r==null?void 0:r.content,flags:{},extra:{source:r}}))),Fr=q(e=>e.root,e=>e),bn=q(Fr,e=>e.tabs),xD=q(Fr,e=>e.activeTab),RD=q(Fr,e=>e.recent.filter(({type:t})=>t!==b.FileFolderType.DEBUGGER)),Xm=q(Fr,({tabs:e,activeTab:t})=>e.find(({path:r})=>r===t)),OD=q(Fr,({tabs:e})=>e.reduce((r,a)=>(a==null?void 0:a.weight)>((r==null?void 0:r.weight)||0)?a:r,null)),PD=q(bn,e=>e.filter(({type:t,flags:r})=>t===b.FileFolderType.WEBFORM&&r.enabled===!1).map(({path:t})=>t)),DD=q(bn,e=>e.length>0),pr=e=>q(Fr,t=>t.tabs.find(({path:r})=>r===e)),FD=e=>q(pr(e),t=>t==null?void 0:t.name),Zm=(e,t="")=>q(pr(e),r=>!r||!r.content||typeof r.content=="string"?r==null?void 0:r.content:ce.get(r.content,t)),ID=e=>q(pr(e),t=>t==null?void 0:t.extra),MD=(e,t=r=>r)=>q(Zm(e,"components"),r=>t(r||{})),mf=q(bn,e=>e.filter(t=>t.flags.touched)),ND=q(mf,e=>e.length),LD=q(e=>e,e=>e.explorer||[]),e_=q(e=>e,e=>e.explorer.find(t=>t.path===b.FolderRootPath.WEBFORMS)),t_=q(e=>e,e=>e.explorer.find(t=>t.path===b.FolderRootPath.METHODS)),r_=q(e=>e,e=>e.explorer.find(t=>t.path===b.FolderRootPath.CLASSES)),$D=q(t_,e=>(e==null?void 0:e.children)||[]),kD=q(e_,e=>{var t;return((t=e==null?void 0:e.children)==null?void 0:t.filter(r=>r.ext==="WebForm"))||[]}),qD=q(r_,e=>(e==null?void 0:e.children)||[]),jD=q(e=>e.modals,e=>e.list),BD=q(e=>e.roles,e=>Bo(e)),WD=q(e=>e.roles,({roles:e})=>e),UD=q(e=>e.roles,({privileges:e})=>e),HD=q(e=>e.roles,({privileges:e})=>Object.values(e).find(({privilege:t})=>t==="guest")),GD=q(e=>e.roles,({flags:e})=>e),VD=q(e=>e.roles,({selectedTab:e})=>e),zD=q(e=>e.roles,({forceLogin:e})=>e),YD=q(e=>e.roles,({date:e})=>e),Za=q(e=>e.settings,e=>e.session),KD=(...e)=>q(Za,t=>e.length>0?ce.pick(t,e):t),QD=e=>q(Za,t=>t[e]),JD=e=>q(Za,t=>["states"].includes(e)?!0:!!t[`features.experimental.${e}`]),XD=q(e=>e.settings,e=>e.project),ZD=q(e=>e.settings,e=>e),_f=q(e=>e.settings,e=>e.server),eF=q(_f,e=>e.remoteDebuggerMode),tF=q(_f,e=>e.qodly),rF=q(Za,e=>e["monaco.zoom"]),n_=["rounded-full","rounded-lg","border-gray-400","border-2","bg-red-500","bg-blue-500","bg-indigo-500","bg-transparent","bg-primary-dark","bg-green-500","bg-yellow-400","text-gray-500","text-4xl","text-white","px-4","py-2","primary","info","secondary","success","warning","danger","w-10","w-20","w-40","w-60","w-80","mb-2","mb-3","shadow","shadow-lg","shadow-xl","shadow-2xl"],a_=n_.map(e=>({id:tf(),content:"",name:e,parentId:null,scope:b.EWebFormStyleClassScope.THEME})),bf=e=>q(pr(e),t=>{var r,a;return((a=(r=t==null?void 0:t.content)==null?void 0:r.metadata)==null?void 0:a.styles)||[]}),nF=(e,t)=>q(bf(e),r=>t.map(a=>{switch(!0){case a===b.EWebFormStyleClassScope.LOCAL:return r.map(s=>({...s,scope:b.EWebFormStyleClassScope.LOCAL}));case a===b.EWebFormStyleClassScope.THEME:return a_;default:return[]}}).flat()),aF=e=>q(bf(e),t=>[...t.map(r=>({...r,scope:b.EWebFormStyleClassScope.LOCAL})),...a_]),sF=q(e=>e,e=>{var t;return[...(((t=e.sharedCSS)==null?void 0:t.styles)||[]).map(r=>({...r,scope:b.EWebFormStyleClassScope.SHARED}))]}),oF=e=>q(bn,t=>{var r,a;return(a=(r=t.find(s=>s.path===e))==null?void 0:r.view)==null?void 0:a.panel}),iF=e=>q(pr(e),t=>t==null?void 0:t.flags),uF=e=>q(pr(e),t=>t==null?void 0:t.history),cF=q(Xm,e=>{const t=e!=null&&e.history?e.history.active>0:!1,r=e!=null&&e.history?e.history.active<e.history.stack.length-1:!1;return{canUndo:t,canRedo:r}}),lF=e=>q(bn,t=>t.filter(r=>r.type===e)),es=q(e=>e.webforms,e=>e),s_=q(es,e=>(e==null?void 0:e.components)||[]),Lo=q(es,e=>e.inspector),fF=q(Lo,e=>e.css),dF=q(Lo,e=>e.datasource),o_=q(es,e=>e.templates||{data:[]}),pF=q(o_,e=>e.data||[]),hF=e=>q(s_,t=>t.find(r=>r.id===e)),gF=e=>q(Lo,t=>t[e]),vF=q(es,e=>e.datasources.theme),yF=q(e=>e.root,e=>e.clipboard),mF=q(e=>e.catalog,e=>e.sharedDatasources,e=>e.sharedCSS,(e,t,r)=>[e.state,t.state,r.state].every(a=>["loaded","error"].includes(a))),_F=e=>q(t=>t.root,t=>{var a;const r=t.tabs.find(({path:s})=>s===e);return((a=r==null?void 0:r.content)==null?void 0:a.metadata)||{}}),bF=q(e=>e.webforms,({i18n:e})=>e.current),zn={label:"Base",id:"root"},Sf=e=>e.id===zn.id,i_=(e,t=[])=>q(pr(e),r=>{var i,u;let s=((u=(i=r==null?void 0:r.content)==null?void 0:i.metadata)==null?void 0:u.states)||[zn];return s.find(Sf)||(s=[zn,...s]),s.filter(({id:l})=>!t.includes(l))}),SF=(e,t=[])=>q(i_(e,t),r=>r.map(({label:a})=>a)),EF=e=>q(pr(e),t=>{var r,a;return((a=(r=t==null?void 0:t.content)==null?void 0:r.metadata)==null?void 0:a.defaultStates)||[]}),TF=e=>q(pr(e),t=>{var a,s,i,u;const{currentState:r}=((a=t==null?void 0:t.content)==null?void 0:a.metadata)||{};return((u=(i=(s=t==null?void 0:t.content)==null?void 0:s.metadata)==null?void 0:i.states)==null?void 0:u.find(l=>l.id===r))||zn}),wF=q(e=>e,e=>{var t;return((t=e.savedConditions)==null?void 0:t.conditions)||[]});var Ef=(e=>(e.SHOW_AFTER_TIMEOUT="show_after_timeout",e.HIDE_AFTER_TIMEOUT="hide_after_timeout",e))(Ef||{}),Tf=(e=>(e.NONE="none",e.SAVE_ALL_AND_PROCEED="saved_all_and_proceed",e.PROCEED="proceed",e))(Tf||{}),wf=(e=>(e.AIRY="airy",e.COMPACT="neutral",e))(wf||{}),bl={},ga={},Xs={},ny;function u_(){if(ny)return Xs;ny=1,Object.defineProperty(Xs,"__esModule",{value:!0}),Xs.default=r;let e;const t=new Uint8Array(16);function r(){if(!e&&(e=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!e))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(t)}return Xs}var $n={},va={},ya={},ay;function CF(){if(ay)return ya;ay=1,Object.defineProperty(ya,"__esModule",{value:!0}),ya.default=void 0;var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return ya.default=e,ya}var sy;function $o(){if(sy)return va;sy=1,Object.defineProperty(va,"__esModule",{value:!0}),va.default=void 0;var e=t(CF());function t(s){return s&&s.__esModule?s:{default:s}}function r(s){return typeof s=="string"&&e.default.test(s)}var a=r;return va.default=a,va}var oy;function ko(){if(oy)return $n;oy=1,Object.defineProperty($n,"__esModule",{value:!0}),$n.default=void 0,$n.unsafeStringify=a;var e=t($o());function t(u){return u&&u.__esModule?u:{default:u}}const r=[];for(let u=0;u<256;++u)r.push((u+256).toString(16).slice(1));function a(u,l=0){return r[u[l+0]]+r[u[l+1]]+r[u[l+2]]+r[u[l+3]]+"-"+r[u[l+4]]+r[u[l+5]]+"-"+r[u[l+6]]+r[u[l+7]]+"-"+r[u[l+8]]+r[u[l+9]]+"-"+r[u[l+10]]+r[u[l+11]]+r[u[l+12]]+r[u[l+13]]+r[u[l+14]]+r[u[l+15]]}function s(u,l=0){const f=a(u,l);if(!(0,e.default)(f))throw TypeError("Stringified UUID is invalid");return f}var i=s;return $n.default=i,$n}var iy;function AF(){if(iy)return ga;iy=1,Object.defineProperty(ga,"__esModule",{value:!0}),ga.default=void 0;var e=r(u_()),t=ko();function r(d){return d&&d.__esModule?d:{default:d}}let a,s,i=0,u=0;function l(d,h,g){let _=h&&g||0;const m=h||new Array(16);d=d||{};let C=d.node||a,v=d.clockseq!==void 0?d.clockseq:s;if(C==null||v==null){const R=d.random||(d.rng||e.default)();C==null&&(C=a=[R[0]|1,R[1],R[2],R[3],R[4],R[5]]),v==null&&(v=s=(R[6]<<8|R[7])&16383)}let S=d.msecs!==void 0?d.msecs:Date.now(),E=d.nsecs!==void 0?d.nsecs:u+1;const A=S-i+(E-u)/1e4;if(A<0&&d.clockseq===void 0&&(v=v+1&16383),(A<0||S>i)&&d.nsecs===void 0&&(E=0),E>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");i=S,u=E,s=v,S+=122192928e5;const O=((S&268435455)*1e4+E)%4294967296;m[_++]=O>>>24&255,m[_++]=O>>>16&255,m[_++]=O>>>8&255,m[_++]=O&255;const F=S/4294967296*1e4&268435455;m[_++]=F>>>8&255,m[_++]=F&255,m[_++]=F>>>24&15|16,m[_++]=F>>>16&255,m[_++]=v>>>8|128,m[_++]=v&255;for(let R=0;R<6;++R)m[_+R]=C[R];return h||(0,t.unsafeStringify)(m)}var f=l;return ga.default=f,ga}var ma={},Ur={},_a={},uy;function c_(){if(uy)return _a;uy=1,Object.defineProperty(_a,"__esModule",{value:!0}),_a.default=void 0;var e=t($o());function t(s){return s&&s.__esModule?s:{default:s}}function r(s){if(!(0,e.default)(s))throw TypeError("Invalid UUID");let i;const u=new Uint8Array(16);return u[0]=(i=parseInt(s.slice(0,8),16))>>>24,u[1]=i>>>16&255,u[2]=i>>>8&255,u[3]=i&255,u[4]=(i=parseInt(s.slice(9,13),16))>>>8,u[5]=i&255,u[6]=(i=parseInt(s.slice(14,18),16))>>>8,u[7]=i&255,u[8]=(i=parseInt(s.slice(19,23),16))>>>8,u[9]=i&255,u[10]=(i=parseInt(s.slice(24,36),16))/1099511627776&255,u[11]=i/4294967296&255,u[12]=i>>>24&255,u[13]=i>>>16&255,u[14]=i>>>8&255,u[15]=i&255,u}var a=r;return _a.default=a,_a}var cy;function l_(){if(cy)return Ur;cy=1,Object.defineProperty(Ur,"__esModule",{value:!0}),Ur.URL=Ur.DNS=void 0,Ur.default=u;var e=ko(),t=r(c_());function r(l){return l&&l.__esModule?l:{default:l}}function a(l){l=unescape(encodeURIComponent(l));const f=[];for(let d=0;d<l.length;++d)f.push(l.charCodeAt(d));return f}const s="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Ur.DNS=s;const i="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Ur.URL=i;function u(l,f,d){function h(g,_,m,C){var v;if(typeof g=="string"&&(g=a(g)),typeof _=="string"&&(_=(0,t.default)(_)),((v=_)===null||v===void 0?void 0:v.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let S=new Uint8Array(16+g.length);if(S.set(_),S.set(g,_.length),S=d(S),S[6]=S[6]&15|f,S[8]=S[8]&63|128,m){C=C||0;for(let E=0;E<16;++E)m[C+E]=S[E];return m}return(0,e.unsafeStringify)(S)}try{h.name=l}catch{}return h.DNS=s,h.URL=i,h}return Ur}var ba={},ly;function xF(){if(ly)return ba;ly=1,Object.defineProperty(ba,"__esModule",{value:!0}),ba.default=void 0;function e(m){if(typeof m=="string"){const C=unescape(encodeURIComponent(m));m=new Uint8Array(C.length);for(let v=0;v<C.length;++v)m[v]=C.charCodeAt(v)}return t(a(s(m),m.length*8))}function t(m){const C=[],v=m.length*32,S="0123456789abcdef";for(let E=0;E<v;E+=8){const A=m[E>>5]>>>E%32&255,O=parseInt(S.charAt(A>>>4&15)+S.charAt(A&15),16);C.push(O)}return C}function r(m){return(m+64>>>9<<4)+14+1}function a(m,C){m[C>>5]|=128<<C%32,m[r(C)-1]=C;let v=1732584193,S=-271733879,E=-1732584194,A=271733878;for(let O=0;O<m.length;O+=16){const F=v,R=S,j=E,W=A;v=f(v,S,E,A,m[O],7,-680876936),A=f(A,v,S,E,m[O+1],12,-389564586),E=f(E,A,v,S,m[O+2],17,606105819),S=f(S,E,A,v,m[O+3],22,-1044525330),v=f(v,S,E,A,m[O+4],7,-176418897),A=f(A,v,S,E,m[O+5],12,1200080426),E=f(E,A,v,S,m[O+6],17,-1473231341),S=f(S,E,A,v,m[O+7],22,-45705983),v=f(v,S,E,A,m[O+8],7,1770035416),A=f(A,v,S,E,m[O+9],12,-1958414417),E=f(E,A,v,S,m[O+10],17,-42063),S=f(S,E,A,v,m[O+11],22,-1990404162),v=f(v,S,E,A,m[O+12],7,1804603682),A=f(A,v,S,E,m[O+13],12,-40341101),E=f(E,A,v,S,m[O+14],17,-1502002290),S=f(S,E,A,v,m[O+15],22,1236535329),v=d(v,S,E,A,m[O+1],5,-165796510),A=d(A,v,S,E,m[O+6],9,-1069501632),E=d(E,A,v,S,m[O+11],14,643717713),S=d(S,E,A,v,m[O],20,-373897302),v=d(v,S,E,A,m[O+5],5,-701558691),A=d(A,v,S,E,m[O+10],9,38016083),E=d(E,A,v,S,m[O+15],14,-660478335),S=d(S,E,A,v,m[O+4],20,-405537848),v=d(v,S,E,A,m[O+9],5,568446438),A=d(A,v,S,E,m[O+14],9,-1019803690),E=d(E,A,v,S,m[O+3],14,-187363961),S=d(S,E,A,v,m[O+8],20,1163531501),v=d(v,S,E,A,m[O+13],5,-1444681467),A=d(A,v,S,E,m[O+2],9,-51403784),E=d(E,A,v,S,m[O+7],14,1735328473),S=d(S,E,A,v,m[O+12],20,-1926607734),v=h(v,S,E,A,m[O+5],4,-378558),A=h(A,v,S,E,m[O+8],11,-2022574463),E=h(E,A,v,S,m[O+11],16,1839030562),S=h(S,E,A,v,m[O+14],23,-35309556),v=h(v,S,E,A,m[O+1],4,-1530992060),A=h(A,v,S,E,m[O+4],11,1272893353),E=h(E,A,v,S,m[O+7],16,-155497632),S=h(S,E,A,v,m[O+10],23,-1094730640),v=h(v,S,E,A,m[O+13],4,681279174),A=h(A,v,S,E,m[O],11,-358537222),E=h(E,A,v,S,m[O+3],16,-722521979),S=h(S,E,A,v,m[O+6],23,76029189),v=h(v,S,E,A,m[O+9],4,-640364487),A=h(A,v,S,E,m[O+12],11,-421815835),E=h(E,A,v,S,m[O+15],16,530742520),S=h(S,E,A,v,m[O+2],23,-995338651),v=g(v,S,E,A,m[O],6,-198630844),A=g(A,v,S,E,m[O+7],10,1126891415),E=g(E,A,v,S,m[O+14],15,-1416354905),S=g(S,E,A,v,m[O+5],21,-57434055),v=g(v,S,E,A,m[O+12],6,1700485571),A=g(A,v,S,E,m[O+3],10,-1894986606),E=g(E,A,v,S,m[O+10],15,-1051523),S=g(S,E,A,v,m[O+1],21,-2054922799),v=g(v,S,E,A,m[O+8],6,1873313359),A=g(A,v,S,E,m[O+15],10,-30611744),E=g(E,A,v,S,m[O+6],15,-1560198380),S=g(S,E,A,v,m[O+13],21,1309151649),v=g(v,S,E,A,m[O+4],6,-145523070),A=g(A,v,S,E,m[O+11],10,-1120210379),E=g(E,A,v,S,m[O+2],15,718787259),S=g(S,E,A,v,m[O+9],21,-343485551),v=i(v,F),S=i(S,R),E=i(E,j),A=i(A,W)}return[v,S,E,A]}function s(m){if(m.length===0)return[];const C=m.length*8,v=new Uint32Array(r(C));for(let S=0;S<C;S+=8)v[S>>5]|=(m[S/8]&255)<<S%32;return v}function i(m,C){const v=(m&65535)+(C&65535);return(m>>16)+(C>>16)+(v>>16)<<16|v&65535}function u(m,C){return m<<C|m>>>32-C}function l(m,C,v,S,E,A){return i(u(i(i(C,m),i(S,A)),E),v)}function f(m,C,v,S,E,A,O){return l(C&v|~C&S,m,C,E,A,O)}function d(m,C,v,S,E,A,O){return l(C&S|v&~S,m,C,E,A,O)}function h(m,C,v,S,E,A,O){return l(C^v^S,m,C,E,A,O)}function g(m,C,v,S,E,A,O){return l(v^(C|~S),m,C,E,A,O)}var _=e;return ba.default=_,ba}var fy;function RF(){if(fy)return ma;fy=1,Object.defineProperty(ma,"__esModule",{value:!0}),ma.default=void 0;var e=r(l_()),t=r(xF());function r(i){return i&&i.__esModule?i:{default:i}}var s=(0,e.default)("v3",48,t.default);return ma.default=s,ma}var Sa={},Ea={},dy;function OF(){if(dy)return Ea;dy=1,Object.defineProperty(Ea,"__esModule",{value:!0}),Ea.default=void 0;var t={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};return Ea.default=t,Ea}var py;function PF(){if(py)return Sa;py=1,Object.defineProperty(Sa,"__esModule",{value:!0}),Sa.default=void 0;var e=a(OF()),t=a(u_()),r=ko();function a(u){return u&&u.__esModule?u:{default:u}}function s(u,l,f){if(e.default.randomUUID&&!l&&!u)return e.default.randomUUID();u=u||{};const d=u.random||(u.rng||t.default)();if(d[6]=d[6]&15|64,d[8]=d[8]&63|128,l){f=f||0;for(let h=0;h<16;++h)l[f+h]=d[h];return l}return(0,r.unsafeStringify)(d)}var i=s;return Sa.default=i,Sa}var Ta={},wa={},hy;function DF(){if(hy)return wa;hy=1,Object.defineProperty(wa,"__esModule",{value:!0}),wa.default=void 0;function e(s,i,u,l){switch(s){case 0:return i&u^~i&l;case 1:return i^u^l;case 2:return i&u^i&l^u&l;case 3:return i^u^l}}function t(s,i){return s<<i|s>>>32-i}function r(s){const i=[1518500249,1859775393,2400959708,3395469782],u=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof s=="string"){const h=unescape(encodeURIComponent(s));s=[];for(let g=0;g<h.length;++g)s.push(h.charCodeAt(g))}else Array.isArray(s)||(s=Array.prototype.slice.call(s));s.push(128);const l=s.length/4+2,f=Math.ceil(l/16),d=new Array(f);for(let h=0;h<f;++h){const g=new Uint32Array(16);for(let _=0;_<16;++_)g[_]=s[h*64+_*4]<<24|s[h*64+_*4+1]<<16|s[h*64+_*4+2]<<8|s[h*64+_*4+3];d[h]=g}d[f-1][14]=(s.length-1)*8/Math.pow(2,32),d[f-1][14]=Math.floor(d[f-1][14]),d[f-1][15]=(s.length-1)*8&4294967295;for(let h=0;h<f;++h){const g=new Uint32Array(80);for(let E=0;E<16;++E)g[E]=d[h][E];for(let E=16;E<80;++E)g[E]=t(g[E-3]^g[E-8]^g[E-14]^g[E-16],1);let _=u[0],m=u[1],C=u[2],v=u[3],S=u[4];for(let E=0;E<80;++E){const A=Math.floor(E/20),O=t(_,5)+e(A,m,C,v)+S+i[A]+g[E]>>>0;S=v,v=C,C=t(m,30)>>>0,m=_,_=O}u[0]=u[0]+_>>>0,u[1]=u[1]+m>>>0,u[2]=u[2]+C>>>0,u[3]=u[3]+v>>>0,u[4]=u[4]+S>>>0}return[u[0]>>24&255,u[0]>>16&255,u[0]>>8&255,u[0]&255,u[1]>>24&255,u[1]>>16&255,u[1]>>8&255,u[1]&255,u[2]>>24&255,u[2]>>16&255,u[2]>>8&255,u[2]&255,u[3]>>24&255,u[3]>>16&255,u[3]>>8&255,u[3]&255,u[4]>>24&255,u[4]>>16&255,u[4]>>8&255,u[4]&255]}var a=r;return wa.default=a,wa}var gy;function FF(){if(gy)return Ta;gy=1,Object.defineProperty(Ta,"__esModule",{value:!0}),Ta.default=void 0;var e=r(l_()),t=r(DF());function r(i){return i&&i.__esModule?i:{default:i}}var s=(0,e.default)("v5",80,t.default);return Ta.default=s,Ta}var Ca={},vy;function IF(){if(vy)return Ca;vy=1,Object.defineProperty(Ca,"__esModule",{value:!0}),Ca.default=void 0;var e="00000000-0000-0000-0000-000000000000";return Ca.default=e,Ca}var Aa={},yy;function MF(){if(yy)return Aa;yy=1,Object.defineProperty(Aa,"__esModule",{value:!0}),Aa.default=void 0;var e=t($o());function t(s){return s&&s.__esModule?s:{default:s}}function r(s){if(!(0,e.default)(s))throw TypeError("Invalid UUID");return parseInt(s.slice(14,15),16)}var a=r;return Aa.default=a,Aa}var my;function NF(){return my||(my=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"NIL",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"v1",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"v3",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"v4",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"v5",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"validate",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"version",{enumerable:!0,get:function(){return u.default}});var t=h(AF()),r=h(RF()),a=h(PF()),s=h(FF()),i=h(IF()),u=h(MF()),l=h($o()),f=h(ko()),d=h(c_());function h(g){return g&&g.__esModule?g:{default:g}}})(bl)),bl}var Sl,_y;function LF(){if(_y)return Sl;_y=1;function e(t,r){if(!t||!r||!t.length||!r.length)throw new Error("Bad alphabet");this.srcAlphabet=t,this.dstAlphabet=r}return e.prototype.convert=function(t){var r,a,s,i={},u=this.srcAlphabet.length,l=this.dstAlphabet.length,f=t.length,d=typeof t=="string"?"":[];if(!this.isValid(t))throw new Error('Number "'+t+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return t;for(r=0;r<f;r++)i[r]=this.srcAlphabet.indexOf(t[r]);do{for(a=0,s=0,r=0;r<f;r++)a=a*u+i[r],a>=l?(i[s++]=parseInt(a/l,10),a=a%l):s>0&&(i[s++]=0);f=s,d=this.dstAlphabet.slice(a,a+1).concat(d)}while(s!==0);return d},e.prototype.isValid=function(t){for(var r=0;r<t.length;++r)if(this.srcAlphabet.indexOf(t[r])===-1)return!1;return!0},Sl=e,Sl}var El,by;function $F(){if(by)return El;by=1;var e=LF();function t(r,a){var s=new e(r,a);return function(i){return s.convert(i)}}return t.BIN="01",t.OCT="01234567",t.DEC="0123456789",t.HEX="0123456789abcdef",El=t,El}var Tl,Sy;function kF(){if(Sy)return Tl;Sy=1;const{v4:e,validate:t}=NF(),r=$F(),a={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},s={consistentLength:!0};let i;const u=(d,h,g)=>{const _=h(d.toLowerCase().replace(/-/g,""));return!g||!g.consistentLength?_:_.padStart(g.shortIdLength,g.paddingChar)},l=(d,h)=>{const _=h(d).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[_[1],_[2],_[3],_[4],_[5]].join("-")},f=d=>Math.ceil(Math.log(2**128)/Math.log(d));return Tl=(()=>{const d=(h,g)=>{const _=h||a.flickrBase58,m={...s,...g};if([...new Set(Array.from(_))].length!==_.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const C=f(_.length),v={shortIdLength:C,consistentLength:m.consistentLength,paddingChar:_[0]},S=r(r.HEX,_),E=r(_,r.HEX),A=()=>u(e(),S,v),F={alphabet:_,fromUUID:R=>u(R,S,v),maxLength:C,generate:A,new:A,toUUID:R=>l(R,E),uuid:e,validate:(R,j=!1)=>{if(!R||typeof R!="string")return!1;const W=m.consistentLength?R.length===C:R.length<=C,X=R.split("").every(te=>_.includes(te));return j===!1?W&&X:W&&X&&t(l(R,E))}};return Object.freeze(F),F};return d.constants=a,d.uuid=e,d.generate=()=>(i||(i=d(a.flickrBase58).generate),i()),d})(),Tl}var Ha=kF(),xe=(e=>(e.DATACLASS="dataclass",e.METHOD="method",e.ATTRIBUTE="attribute",e.DATASTORE="datastore",e.SINGLETON="singleton",e.SINGLETON_METHOD="singletonMethod",e))(xe||{}),je=(e=>(e.DS_METHOD="dsMethod",e.DATACLASS_METHOD="dataclassMethod",e.ENTITY_METHOD="entityMethod",e.ENTITY_SEL_METHOD="entityselMethod",e))(je||{});const qF=[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE,xe.SINGLETON_METHOD,xe.SINGLETON,xe.METHOD,je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD],Ey=e=>[je.DS_METHOD,je.ENTITY_METHOD,je.DATACLASS_METHOD].includes(e)?xe.METHOD:e,bo="guest",Cf=[{key:"read",label:"Read",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE]},{key:"create",label:"Create",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE]},{key:"update",label:"Update",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE]},{key:"drop",label:"Delete",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE]},{key:"execute",label:"Execute",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.METHOD,je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD,xe.SINGLETON,xe.SINGLETON_METHOD]},{key:"promote",label:"Promote",canApplyTo:[xe.METHOD,je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD,xe.SINGLETON_METHOD]}];function Jt(e,...t){return Array.from(new Set([...e,...t]))}function f_(e){const t={},r=new Map;e.forEach(f=>{const d=f.id||Ha.generate();t[d]={...f,id:d,parents:[],includes:Jt(f.includes||[]),resources:[]},r.set(f.privilege,d)}),Object.entries(t).forEach(([f,d])=>{const h=d.includes.map(g=>{const _=r.get(g);return _?(t[_].parents=Jt(t[_].parents,_),_):""}).filter(Boolean);t[f]={...d,includes:h}});const a=d_(t),s=new Set;function i(f){s.add(f.id),f.includes=f.includes.filter(d=>!s.has(d))}if(a.forEach(i),a.forEach(f=>f.parents=[]),a.forEach(f=>{f.includes.forEach(d=>t[d].parents.push(f.id))}),Object.values(t).find(({privilege:f})=>f===bo))return t;const l=Ha.generate();return{[l]:{id:l,privilege:bo,includes:[],parents:[],resources:[]},...t}}function d_(e){return Object.values(e).sort((t,r)=>t.parents.length-r.parents.length)}function qo(e,t){const r=t[e];let a=[];return r&&r.parents.forEach(s=>{a=Jt(a,...qo(s,t),s)}),a}function So(e,t){const r=t[e];let a=[];return r&&r.includes.forEach(s=>{a=Jt(a,...So(s,t),s)}),a}function jF(e,t){const r=t[e];if(!r)return[];const a=[e,...qo(e,t),...r.includes];return Object.keys(t).filter(s=>!a.includes(s))}function BF(e,t){return t[e]?Object.keys(t).reduce((a,s)=>s===e?a:{...a,[s]:{...t[s],parents:t[s].parents.filter(i=>i!==e),includes:t[s].includes.filter(i=>i!==e)}},{}):t}function WF(e,t,r){const a=r[e],s=r[t];return!a||!s?r:{...r,[e]:{...r[e],includes:Jt(a.includes,t)},[t]:{...r[t],parents:Jt(s.parents,e)}}}function UF(e,t,r){const a=r[e],s=r[t];return!a||!s?r:{...r,[e]:{...r[e],includes:r[e].includes.filter(i=>i!==t)},[t]:{...r[t],parents:r[t].parents.filter(i=>i!==e)}}}function p_(e,t){b.validateName(e),Object.entries(t).forEach(([,{privilege:a}])=>{if(e.toLowerCase()===a.toLowerCase())throw new Error(`There's already a Privilege with the name ${e}`)});const r=Ha.generate();return{[r]:{id:r,privilege:e,includes:[],parents:[],resources:[]},...t}}function HF(e,t,r,a,s){let i=p_(e,s);const u=Object.entries(i).find(([,l])=>l.privilege===e);return u?(i=y_(u[1].id,t,r,a,i),i):s}function GF(e,t,r){if(!e)throw new Error("Please enter a name");if(!r[t])throw new Error("Invalid privilege");return Object.entries(r).forEach(([,{privilege:a,id:s}])=>{if(e.toLowerCase()===a.toLowerCase()&&t!==s)throw new Error(`There's already a Privilege with the name ${e}`)}),{...r,[t]:{...r[t],privilege:e}}}function VF(e,t){return e.map(r=>hr(r,t))}function hr(e,t){return t[e]?t[e]:null}function h_({applyTo:e,type:t,...r}){return Object.entries(r).reduce((a,[s,i])=>{const u=ce.find(Cf,["key",s]);return!u||!u.canApplyTo.includes(t)||(typeof i=="string"?i.split(","):i).forEach(f=>{a[f]=Jt(a[f]||[],s)}),a},{})}const Bl=(e,t=!1)=>["read","create","update","delete"].includes(e.toLowerCase())?`All ${t?"dataclasses and ":""}attributes have the '${e.toLowerCase()}' permission`:e.toLowerCase()==="execute"?`All functions defined ${t?"through the model (DataStore, Dataclasses, Entity selections, Entities) have the execute permission":"on this Dataclass, Entity selection class, Entity class have the execute permission"}`:`All ${t?"dataclasses, ":""}attributes and functions have the '${e.toLowerCase()}' permission`;function Af(e){return{permissions:Cf.filter(({canApplyTo:t})=>t.includes(e.type)).map(({key:t,label:r})=>{const a={name:t,from:[]};switch(e.type){case xe.DATASTORE:return{...a,info:Bl(r,!0)};case xe.DATACLASS:return{...a,info:Bl(r)};default:return a}}),resource:e.applyTo,type:e.type}}function g_(e,t){const r=v_(t),a={};return e.filter(({type:s})=>qF.includes(s)).forEach(s=>{const i=h_(s);Object.entries(i).forEach(([u,l])=>{var h;const f=(h=r[u])==null?void 0:h.id;if(!f)return;a[f]=a[f]||{...t[f]};let d=ce.find(a[f].resources,{resource:s.applyTo,type:s.type});d||(d=Af(s),a[f].resources.push(d)),d.permissions=d.permissions.map(g=>({...g,checked:g.checked||l.includes(g.name)}))})}),{...t,...a}}function v_(e){return Object.values(e).reduce((t,r)=>({...t,[r.privilege]:r}),{})}function jo(e){var r;const t=f_(e.privileges||[]);return{forceLogin:(e==null?void 0:e.forceLogin)||!1,privileges:g_(((r=e.permissions)==null?void 0:r.allowed)||[],t),roles:(e.roles||[]).map(({id:a=Ha.generate(),role:s,privileges:i=[]})=>({id:a,role:s,privileges:Jt(i).map(u=>{var l;return(l=Object.values(t).find(({privilege:f})=>f===u))==null?void 0:l.id}).filter(Boolean)})).reduce((a,s)=>({...a,[s.id]:{...s}}),{})}}function Bo(e){const t=Object.values(e.privileges).filter(({includes:a})=>a.length===0).map(({id:a})=>a),r=[...t,...t.map(a=>qo(a,e.privileges).reverse())].flat().filter((a,s,i)=>i.indexOf(a)===s).map(a=>e.privileges[a]);return{forceLogin:e.forceLogin||!1,permissions:{allowed:Object.values(e.privileges).reduce((a,s)=>(s.resources.forEach(({permissions:i,resource:u,type:l})=>{let f=ce.find(a,{applyTo:u,type:Ey(l)});f||(f={applyTo:u,type:Ey(l)},a.push(f)),i.forEach(({name:d,checked:h})=>{h&&f&&(f[d]=f[d]||[],f[d].push(s.privilege))})}),a),[])},privileges:r.filter(({privilege:a})=>a!==bo).map(({id:a,includes:s,privilege:i})=>({id:a,privilege:i,includes:s.map(u=>e.privileges[u].privilege)})),roles:Object.values(e.roles).map(a=>({...a,privileges:a.privileges.map(s=>{var i;return(i=e.privileges[s])==null?void 0:i.privilege}).filter(Boolean)}))}}function zF(e,t){const r=t[e],a={children:[],links:[],parents:[],selected:e};if(!r)return a;function s(l,f,d=[]){const h=l.reduce((g,_)=>[...g,...t[_][f]],[]);return h.length===0?d:(d.push(h),s(h,f,d))}function i(l){const f=[],d=[];for(let h=l.length-1;h>=0;h-=1){const g=l[h].filter(_=>f.includes(_)?!1:(f.push(_),!0));g.length>0&&d.unshift(Jt(g))}return d}function u(l,f){const d=[];return l.reduce((h,g)=>(g.forEach(_=>{t[_][f==="parents"?"includes":"parents"].forEach(C=>{d.includes(C)&&h.push(f==="parents"?{source:_,target:C}:{source:C,target:_})}),d.push(_)}),h),[])}return a.children=s([e],"includes"),a.children=i(a.children),a.parents=s([e],"parents"),a.parents=i(a.parents),a.links=[...u([[e],...a.parents],"parents"),...u([[e],...a.children],"includes")],a}function YF(e,t,r){const a=hr(e,r);if(!a||ce.find(a.resources,{resource:t.applyTo,type:t.type}))return r;const s={...a,resources:[...a.resources,Af(t)]};return{...r,[e]:s}}function KF(e,t,r){const a=hr(e,r);if(!a)return r;const s={...a,resources:a.resources.filter(({resource:i,type:u})=>i!==t.applyTo||u!==t.type)};return{...r,[e]:s}}function QF(e,t){const r=Object.entries(e).map(([a,s])=>{const i=hr(a,t);if(!i)return{[a]:t[a]};const u={...i,resources:i.resources.filter(({resource:l,type:f})=>!s.some(d=>d.applyTo===l&&d.type===f))};return{[a]:u}}).reduce((a,s)=>({...a,...s}),{});return{...t,...r}}function JF(e,t){const r=hr(e,t);if(!r)return t;const a={...r,resources:r.resources.filter(s=>s.permissions.some(i=>i.from.length)).map(s=>({...s,permissions:s.permissions.map(i=>({...i,checked:!1}))}))};return{...t,[e]:a}}function y_(e,t,r,a,s){const i=hr(e,s);if(!i)return s;const l=ce.find(i.resources,{type:r,resource:t})?{...i,resources:i.resources.map(f=>f.type===r&&f.resource===t?{...f,permissions:f.permissions.map(d=>d.name===a?{...d,checked:!d.checked,from:[]}:d)}:f)}:{...i,resources:[...i.resources,{type:r,resource:t,permissions:Cf.filter(f=>f.canApplyTo.includes(r)).map(f=>({from:[],name:f.key,checked:f.key===a,info:Bl(f.key,r===xe.DATASTORE)}))}]};return{...s,[e]:l}}function XF(e,t,r,a){const s=hr(e,a);if(!s)return a;const u=ce.find(s.resources,{type:t.type,resource:t.resource})?{...s,resources:s.resources.map(l=>l.type===t.type&&l.resource===t.resource?{...l,permissions:t.permissions.map(f=>f.name===r.name?{...f,checked:!f.checked,from:[]}:f)}:l)}:{...s,resources:[...s.resources,{...t,permissions:t.permissions.map(l=>({...l,checked:r.name===l.name,from:[]}))}]};return{...a,[e]:u}}function ZF(e,t){var f;const r=m_(e,t)||[],a=((f=hr(e,t))==null?void 0:f.resources)||[],u=([...r,...a].filter(({type:d})=>[je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD].includes(d))||[]).map(({resource:d})=>d);return Object.entries(t).reduce((d,[h,{resources:g}])=>(g.filter(({resource:_,type:m})=>[je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD].includes(m)&&u.includes(_)).forEach(({permissions:_,resource:m})=>{var v;((v=_.find(({name:S})=>S==="promote"))==null?void 0:v.checked)&&(d[m]=Jt(d[m]||[],h))}),d),{})}function m_(e,t){var u;const r=hr(e,t);if(!r)return[];const a=(u=Object.values(t).find(l=>l.privilege===bo))==null?void 0:u.id;return(a&&a!==e?Jt(So(e,t),a):So(e,t)).reduce((l,f)=>(t[f].resources.forEach(h=>{if(h.permissions.filter(({checked:m,name:C})=>m&&C!=="promote").length===0)return;const _=ce.find(l,{type:h.type,resource:h.resource});if(!_){l.push({...h,permissions:h.permissions.map(m=>({...m,from:m.checked?[f]:[],checked:!1}))});return}_.permissions=_.permissions.map((m,C)=>{let{from:v=[]}=m;return h.permissions[C].checked&&!v.includes(f)&&(v=[...v,f]),{...m,from:v,checked:m.checked}})}),l),ce.clone(r.resources.map(l=>({...l,permissions:l.permissions.map(({checked:f,...d})=>({...d,checked:!!f}))}))))}const eI=e=>e.reduce((t,r)=>({...t,[r.id]:{...r}}),{}),tI=(e,t)=>t[e]?Object.values(t).reduce((r,a)=>e===a.id||a.role===""?r:{...r,[a.id]:a},{}):t,rI=(e,t,r)=>r[e]?Object.values(r).reduce((a,s)=>e===s.id?{...a,[s.id]:{...s,name:t}}:{...a,[s.id]:s},{}):r,nI=(e,t,r)=>{const a={id:e,role:t,privileges:[]};return{...r,[a.id]:a}},aI=(e,t)=>{if(b.validateName(e.role),Object.values(t).find(a=>a.role===e.role))throw new Error(`a role with the name ${e.role} already exists`);return Object.values(t).reduce((a,s)=>e.id===s.id?{...a,[e.id]:e}:{...a,[s.id]:s},{})},sI={list:[]},Ty=(e,t)=>e.list.filter(r=>r.id!==t),__=Dt({name:"modals",initialState:sI,reducers:{createModal:(e,t)=>{e.list.push(t.payload)},editModal:(e,t)=>{const{id:r,...a}=t.payload,s=e.list.find(b.byId(r));s&&Object.assign(s,{...a})},removeModal:(e,t)=>{const r=t.payload;e.list=Ty(e,r)},closeModal:(e,t)=>{const{id:r,reason:a}=t.payload;if(a){const s=e.list.find(i=>i.id===r);s&&(s.closeReason=a,s.isOpen=!1)}else e.list=Ty(e,r)}}}),{createModal:b_,removeModal:S_,closeModal:oI,editModal:iI}=__.actions,Xt=K("modals/open",async(e,{dispatch:t})=>{const r=Nb(),{type:a=b.ModalType.ALERT}=e,s=tf();switch(t(b_({id:s,type:a,isOpen:!0,...e})),a){case b.ModalType.CONFIRM:return new Promise(i=>{const u=r.subscribe(()=>{var d;const{modals:l}=r.getState(),f=l.list.find(h=>h.id===s);if(f&&!f.isOpen){const h=f.closeReason===b.ModalCloseReason.CONFIRMED,g=ce.entries((d=f.views)==null?void 0:d.toggles).reduce((_,m)=>({..._,[m[0]]:m[1].value}),{});t(S_(s)),u(),i({confirmed:h,options:g})}})});default:return{}}}),E_=()=>b.getFileContent({name:b.ROLES_TAB_PATH}),T_="Roles & Privileges",Eo=K("roles/fetchRoles",async(e,{dispatch:t,rejectWithValue:r})=>{var i;let a;try{a=await E_()}catch(u){if(!Array.isArray((i=u==null?void 0:u.data)==null?void 0:i.__ERROR))return r("Error while loading the roles");a={name:b.ROLES_TAB_PATH,date:new Date().toISOString(),content:{permissions:{allowed:[]},privileges:[],roles:[]}}}const s={name:T_,type:b.FileFolderType.ROLES,date:a.date,view:{panel:{isOpen:!1,type:"",current:""}},path:b.ROLES_TAB_PATH,flags:{},extra:{editor:{key:"editors:roles"}},content:{}};return t(wt(s)),{...a,content:jo(a.content)}}),w_=K("roles/fetchRolesChanges",async(e,{getState:t})=>{const{tabs:r}=t().root;if(r.find(s=>s.path===b.ROLES_TAB_PATH)){const{date:s}=t().roles;if(s&&await xf(s))return{old:!0}}return{}}),xf=async e=>{if(!e)return!1;try{const t=await E_();if(t.date){const r=new Date(e),a=new Date(t.date);if(r>a)return!0}}catch(t){if(!Array.isArray(t==null?void 0:t.data.__ERROR))throw t}return!1},Wl=K("roles/saveRoles",async(e,{getState:t,rejectWithValue:r,dispatch:a})=>{try{const{flags:s,date:i}=t().roles;if(s.old||await xf(i)){const{confirmed:f}=await a(Xt({title:T_,message:"New content has been found on the server. Are you sure you want to continue?",type:b.ModalType.CONFIRM,icon:"FdSave"})).unwrap();if(!f)return r({old:!0})}return await b.setFileContent({name:b.ROLES_TAB_PATH,content:Bo(e)})}catch{return r("Error while loading the roles")}}),C_=Dt({name:"roles",initialState:()=>{const{roles:e}=_n(),{roles:t={},privileges:r={},flags:a={touched:!1},date:s,selectedTab:i="roles"}=e||{};return{flags:a,roles:t,privileges:r,date:s,selectedTab:i}},reducers:{updatePrivileges:(e,t)=>{e.privileges=t.payload,e.flags.touched=!0},updateRoles:(e,t)=>{e.roles=t.payload,e.flags.touched=!0},updateRolesAndPrivileges:(e,t)=>{e.roles=t.payload.roles,e.privileges=t.payload.privileges},toggleTab:(e,t)=>{e.selectedTab=t.payload},toggleForceLogin:(e,t)=>{e.forceLogin!==t.payload&&(e.forceLogin=t.payload,e.flags.touched=!0)},setRolesContent(e,t){const{content:r,flags:a={},...s}=t.payload,i=jo(r),u={...e.flags,...a};return{...e,...i,...s,flags:u}}},extraReducers(e){e.addCase(Eo.fulfilled,(t,r)=>{const{content:a,date:s}=r.payload;t={...t,...a,date:s}}).addCase(Eo.rejected,t=>({...t,roles:{},privileges:{},flags:{touched:!1},date:void 0})).addCase(Wl.fulfilled,(t,r)=>({...t,flags:{...t.flags,confirmed:!0,touched:!1,old:!1},date:r.payload.date})).addCase(Wl.rejected,(t,r)=>Wx.isString(r.payload)?t:{...t,flags:{...t.flags,...r.payload}}).addCase(w_.fulfilled,(t,r)=>({...t,flags:{...t.flags,...r.payload}})).addCase(Bn.fulfilled,(t,r)=>{!r.payload||r.payload.path!==b.ROLES_TAB_PATH||(t.flags.touched=!1,t.flags.old=!1)}).addCase(Mf.fulfilled,(t,r)=>{r.meta.arg!==b.ROLES_TAB_PATH||!r.payload||(t.flags.touched=!1,t.flags.old=!1)})}}),{updatePrivileges:A_,updateRoles:x_,setRolesContent:Rf,toggleTab:uI,toggleForceLogin:cI,updateRolesAndPrivileges:Of}=C_.actions,lI=C_.reducer,Pf=K("settings/fetch",async()=>await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:b.SETTINGS_TAB_PATH,content:!0,as:"json"})),R_=K("settings/app",b.getAppSettings),fI=cf(),wy={session:{"studio.tips":!0,"studio.notifications":!0,"studio.enablePreview":!1,"studio.tipsBaseUrl":"https://raw.githubusercontent.com/4d/Web-studio-TIPS/gh-build","webforms.tooltip.behavior":Ef.SHOW_AFTER_TIMEOUT,"webforms.tooltip.timeout":3e3,"webforms.renderer.showPopOver":!0,"webforms.renderer.showUnsavedPopOver":!0,"webforms.renderer.unsavedPopOverChoice":Tf.NONE,"welcometour.active":!0,"webforms.properties.advanced-mode":!1,"monaco.zoom":0,"model.viewport":{zoom:1,y:0,x:0}},project:{"webforms.renderer.indexPage":"","webforms.display-mode":"neutral"},server:{projectOpened:!1,remoteDebuggerMode:b.RemoteDebuggerMode.DISABLED,baseUrl:"",qodly:!0,urls:{renderer:"/$lib/renderer/",debugger:"",lsp:""},isRestActive:!0}},dI={...wy,session:{...wy.session,...fI},welcometour:{}},O_=Dt({name:"settings",initialState:dI,reducers:{setSetting(e,t){const{path:r,settingsKey:a,value:s}=t.payload;e[r][a]=s},setSettings(e,t){const{path:r,value:a}=t.payload;e[r]={...e[r],...a}},setSettingsAsText(e,t){const{path:r,settings:a}=t.payload;e[r]=a}},extraReducers(e){e.addCase(Pf.fulfilled,(t,r)=>{t.project={...t.project,...r.payload.content}}),e.addCase(R_.fulfilled,(t,r)=>{t.server=r.payload,t.server.qodly&&(t.project["webforms.display-mode"]="airy")})}}),{setSetting:Ul,setSettings:Wo,setSettingsAsText:pI}=O_.actions,hI=O_.reducer,Cy=[{name:"onServerStartup.4qs",content:`var error : object
102
+ `),C}return jl(function(){f.current=e,d.current=g,h.current=_,l.current=void 0}),jl(function(){function C(){try{var v=r.getState();if(v===d.current)return;var S=f.current(v);if(t(S,h.current))return;h.current=S,d.current=v}catch(E){l.current=E}i()}return u.onStateChange=C,u.trySubscribe(),C(),function(){return u.tryUnsubscribe()}},[r,u]),_}function WP(e){e===void 0&&(e=Pr);var t=e===Pr?Hm:function(){return mt.useContext(e)};return function(a,s){if(s===void 0&&(s=jP),process.env.NODE_ENV!=="production"){if(!a)throw new Error("You must pass a selector to useSelector");if(typeof a!="function")throw new Error("You must pass a function as a selector to useSelector");if(typeof s!="function")throw new Error("You must pass a function as an equality function to useSelector")}var i=t(),u=i.store,l=i.subscription,f=BP(a,s,u,l);return mt.useDebugValue(f),f}}var UP=WP();xP(SA.unstable_batchedUpdates);const HP=()=>qP(),dr=UP,No=q(e=>e,e=>e.catalog.state==="loaded"?e.catalog.model:null),GP=q(e=>e,({catalog:e})=>e.state),Vm=q(No,e=>e?e.dataClasses:[]),VP=q(No,e=>e?e.singletons:[]),zP=q(Vm,e=>Object.values(e).filter(({virtual:t})=>t)),YP=q(No,e=>e?e.methods:[]),zm=e=>q(t=>t,t=>{switch(t.catalog.state){case"loaded":const r=e?t.catalog.model.dataClasses[e]:t.catalog.model;return(r==null?void 0:r.methods)||[];default:return[]}}),KP=e=>dr(zm(e),Um),QP=(e,t)=>q(zm(e),r=>r.find(a=>`${a.applyTo}.${a.name}`===t)),JP=(e,t,r)=>dr(QP(e,`${r}.${t}`),Um),Ym=q(e=>e,e=>e),XP=e=>q(Fr,t=>{var s,i;const r=t.tabs.find(({path:u})=>u===e),a=(s=r==null?void 0:r.content)==null?void 0:s.components;return!r||!a?[]:(i=Object.keys(a))==null?void 0:i.map(u=>({id:u,...a[u]}))}),Km=e=>q(Fr,t=>{var a,s;const r=t.tabs.find(({path:i})=>i===e);return((s=(a=r==null?void 0:r.content)==null?void 0:a.metadata)==null?void 0:s.datasources)||[]}),ZP=(e,t,r)=>q(Ym,a=>{var s,i;if(t){const u=a.sharedDatasources.sources[t];return u?u==null?void 0:u.find(l=>l.id===e):void 0}else{const u=a.root.tabs.find(f=>f.path===r);return u?(i=(s=u.content.metadata)==null?void 0:s.datasources)==null?void 0:i.find(f=>f.id===e):void 0}}),Qm=q(e=>e,e=>{var t;return((t=e.sharedDatasources)==null?void 0:t.sources)||{}}),eD=q(e=>e,e=>{var t;return(t=e.sharedDatasources)==null?void 0:t.state}),tD=(e,t,r,a)=>q(Km(e),Qm,(s,i)=>{const u=ce.flatten(ce.values(i)),l=[...t!=="private"?s:[],...t!=="shared"?u:[]];return r?l.filter(f=>(!a||a.every(({id:d,namespace:h=""})=>f.id!==d||(f.namespace||"")!==h))&&(r.includes(f.type)||f.dataType&&(r.includes(f.dataType)||r.includes("objectFromArray")&&f.dataType==="object"&&f.from))):l}),rD=q(e=>e.debugger,e=>e.meta),Dr=q(e=>e.debugger,e=>e.list),_t=q(e=>e.debugger,e=>e.sessions),nD=q(_t,e=>e.length),cr=(e,t,r,a)=>e.find(s=>s.filePath===t&&s.methodName===r&&(!a||s.className===a)),Ze=(e,t)=>e.find(r=>r.threadId===t),Jm=(e,t)=>e.find(r=>r.tabPath===t),yf=q(Dr,e=>e.reduce((t,r)=>{const a=r.breakpoints.saved.locations.map(s=>({...s,offset:r.breakpoints.saved.offset,fileType:r.fileType,filePath:r.filePath,methodName:r.methodName,className:r.className,ext:r.ext}));return[...t,...a]},[])),aD=q(Dr,e=>e.reduce((t,r)=>{const a=(l,f)=>l.line+(l.offset||0)-(f.line+(f.offset||0)),s=r.breakpoints.saved.locations.map(l=>({...l,offset:r.breakpoints.saved.offset,fileType:r.fileType,filePath:r.filePath,methodName:r.methodName,className:r.className,ext:r.ext}));if(s.length===0)return t;let i=!1;const u=t.map(l=>l.file.path===r.filePath?(i=!0,{...l,breakpoints:[...l.breakpoints,...s].sort(a)}):l);return i?u:[...t,{file:{path:r.filePath,type:r.fileType,methodName:r.methodName,className:r.className,ext:r.ext},breakpoints:s.sort(a)}]},[])),sD=q(yf,e=>e.length),oD=q(yf,e=>e.filter(({disabled:t})=>!t).length),iD=(e,t)=>q(Dr,r=>{var a;return((a=cr(r,e,t))==null?void 0:a.breakpoints.saved.locations)||[]}),uD=(e,t)=>q(Dr,r=>{var a;return((a=cr(r,e,t))==null?void 0:a.breakpoints.draft.locations)||[]}),cD=e=>q(Dr,t=>t.filter(r=>r.filePath===e).reduce((r,a)=>[...r,...a.breakpoints.saved.locations.map(s=>({...s,line:s.line+(a.breakpoints.saved.offset||0)}))],[]).sort((r,a)=>r.line-a.line)),lD=e=>q(Dr,t=>t.filter(r=>r.filePath===e).reduce((r,a)=>[...r,...a.breakpoints.draft.locations.map(s=>({...s,line:s.line+(a.breakpoints.draft.offset||0)}))],[]).sort((r,a)=>r.line-a.line)),fD=e=>q(_t,t=>{const r=Ze(t,e);return r!=null&&r.stopped?r.highlightedLines:null}),dD=e=>q(_t,t=>{const r=Ze(t,e);return r!=null&&r.stopped?r.activeLine:null}),pD=e=>q(_t,t=>{var r;return((r=Ze(t,e))==null?void 0:r.expressions)||[]}),hD=e=>q(_t,t=>{var r;return((r=Ze(t,e))==null?void 0:r.stopped)||!1}),gD=(e,t)=>q(Dr,r=>{var a;return(a=cr(r,e,t))==null?void 0:a.source}),vD=e=>q(_t,t=>{var r;return((r=Jm(t,e))==null?void 0:r.threadId)||-1}),yD=e=>q(_t,t=>{var r,a;return(a=(r=Ze(t,e))==null?void 0:r.currentStackFrame)==null?void 0:a.source}),mD=e=>q(_t,t=>{var r;return(r=Ze(t,e))==null?void 0:r.currentStackFrame}),_D=q(_t,e=>e.map(({channelId:t,threadId:r})=>({id:t,threadId:r}))),bD=e=>q(_t,t=>{var r;return((r=Ze(t,e))==null?void 0:r.stackFrames)||[]}),SD=(e,t,r)=>q(_t,a=>{var s,i,u,l;return((l=(u=(i=(s=Ze(a,e))==null?void 0:s.variables)==null?void 0:i[t])==null?void 0:u.find(f=>f.frameId===r))==null?void 0:l.items)||[]}),ED=e=>q(_t,t=>{var r,a;return((a=(r=Ze(t,e))==null?void 0:r.variables)==null?void 0:a.callchain)||[]}),TD=e=>q(_t,t=>{var r,a;return((a=(r=Ze(t,e))==null?void 0:r.variables)==null?void 0:a.expressions)||[]}),wD=(e,t="saved")=>q(Dr,r=>{const a=r.find(s=>s.filePath===e);return(a==null?void 0:a.breakpoints[t].offset)||0}),CD=(e,t,r,a)=>q(_t,s=>{var d;const i=((d=Ze(s,e))==null?void 0:d.exceptions)||[],u=t===b.FileFolderType.CLASS,l=u&&a?`${a}.${r}`:r;return(l?i.filter(h=>h.location===l):i).map(h=>({...h,locationLine:u?h.locationLine:h.locationLine+1}))}),AD=q(_t,e=>e.map(({threadId:t,currentStackFrame:{source:r},tabPath:a})=>({name:gm(t,r),path:a,type:b.FileFolderType.DEBUGGER,content:r==null?void 0:r.content,flags:{},extra:{source:r}}))),Fr=q(e=>e.root,e=>e),bn=q(Fr,e=>e.tabs),xD=q(Fr,e=>e.activeTab),RD=q(Fr,e=>e.recent.filter(({type:t})=>t!==b.FileFolderType.DEBUGGER)),Xm=q(Fr,({tabs:e,activeTab:t})=>e.find(({path:r})=>r===t)),OD=q(Fr,({tabs:e})=>e.reduce((r,a)=>(a==null?void 0:a.weight)>((r==null?void 0:r.weight)||0)?a:r,null)),PD=q(bn,e=>e.filter(({type:t,flags:r})=>t===b.FileFolderType.WEBFORM&&r.enabled===!1).map(({path:t})=>t)),DD=q(bn,e=>e.length>0),pr=e=>q(Fr,t=>t.tabs.find(({path:r})=>r===e)),FD=e=>q(pr(e),t=>t==null?void 0:t.name),Zm=(e,t="")=>q(pr(e),r=>!r||!r.content||typeof r.content=="string"?r==null?void 0:r.content:ce.get(r.content,t)),ID=e=>q(pr(e),t=>t==null?void 0:t.extra),MD=(e,t=r=>r)=>q(Zm(e,"components"),r=>t(r||{})),mf=q(bn,e=>e.filter(t=>t.flags.touched)),ND=q(mf,e=>e.length),LD=q(e=>e,e=>e.explorer||[]),e_=q(e=>e,e=>e.explorer.find(t=>t.path===b.FolderRootPath.WEBFORMS)),t_=q(e=>e,e=>e.explorer.find(t=>t.path===b.FolderRootPath.METHODS)),r_=q(e=>e,e=>e.explorer.find(t=>t.path===b.FolderRootPath.CLASSES)),$D=q(t_,e=>(e==null?void 0:e.children)||[]),kD=q(e_,e=>{var t;return((t=e==null?void 0:e.children)==null?void 0:t.filter(r=>r.ext==="WebForm"))||[]}),qD=q(r_,e=>(e==null?void 0:e.children)||[]),jD=q(e=>e.modals,e=>e.list),BD=q(e=>e.roles,e=>Bo(e)),WD=q(e=>e.roles,({roles:e})=>e),UD=q(e=>e.roles,({privileges:e})=>e),HD=q(e=>e.roles,({privileges:e})=>Object.values(e).find(({privilege:t})=>t==="guest")),GD=q(e=>e.roles,({flags:e})=>e),VD=q(e=>e.roles,({selectedTab:e})=>e),zD=q(e=>e.roles,({forceLogin:e})=>e),YD=q(e=>e.roles,({date:e})=>e),Za=q(e=>e.settings,e=>e.session),KD=(...e)=>q(Za,t=>e.length>0?ce.pick(t,e):t),QD=e=>q(Za,t=>t[e]),JD=e=>q(Za,t=>["states"].includes(e)?!0:!!t[`features.experimental.${e}`]),XD=q(e=>e.settings,e=>e.project),ZD=q(e=>e.settings,e=>e),_f=q(e=>e.settings,e=>e.server),eF=q(_f,e=>e.remoteDebuggerMode),tF=q(_f,e=>e.qodly),rF=q(Za,e=>e["monaco.zoom"]),n_=["rounded-full","rounded-lg","border-gray-400","border-2","bg-red-500","bg-blue-500","bg-indigo-500","bg-transparent","bg-primary-dark","bg-green-500","bg-yellow-400","text-gray-500","text-4xl","text-white","px-4","py-2","primary","info","secondary","success","warning","danger","w-10","w-20","w-40","w-60","w-80","mb-2","mb-3","shadow","shadow-lg","shadow-xl","shadow-2xl"],a_=n_.map(e=>({id:tf(),content:"",name:e,parentId:null,scope:b.EWebFormStyleClassScope.THEME})),bf=e=>q(pr(e),t=>{var r,a;return((a=(r=t==null?void 0:t.content)==null?void 0:r.metadata)==null?void 0:a.styles)||[]}),nF=(e,t)=>q(bf(e),r=>t.map(a=>{switch(!0){case a===b.EWebFormStyleClassScope.LOCAL:return r.map(s=>({...s,scope:b.EWebFormStyleClassScope.LOCAL}));case a===b.EWebFormStyleClassScope.THEME:return a_;default:return[]}}).flat()),aF=e=>q(bf(e),t=>[...t.map(r=>({...r,scope:b.EWebFormStyleClassScope.LOCAL})),...a_]),sF=q(e=>e,e=>{var t;return[...(((t=e.sharedCSS)==null?void 0:t.styles)||[]).map(r=>({...r,scope:b.EWebFormStyleClassScope.SHARED}))]}),oF=e=>q(bn,t=>{var r,a;return(a=(r=t.find(s=>s.path===e))==null?void 0:r.view)==null?void 0:a.panel}),iF=e=>q(pr(e),t=>t==null?void 0:t.flags),uF=e=>q(pr(e),t=>t==null?void 0:t.history),cF=q(Xm,e=>{const t=e!=null&&e.history?e.history.active>0:!1,r=e!=null&&e.history?e.history.active<e.history.stack.length-1:!1;return{canUndo:t,canRedo:r}}),lF=e=>q(bn,t=>t.filter(r=>r.type===e)),es=q(e=>e.webforms,e=>e),s_=q(es,e=>(e==null?void 0:e.components)||[]),Lo=q(es,e=>e.inspector),fF=q(Lo,e=>e.css),dF=q(Lo,e=>e.datasource),o_=q(es,e=>e.templates||{data:[]}),pF=q(o_,e=>e.data||[]),hF=e=>q(s_,t=>t.find(r=>r.id===e)),gF=e=>q(Lo,t=>t[e]),vF=q(es,e=>e.datasources.theme),yF=q(e=>e.root,e=>e.clipboard),mF=q(e=>e.catalog,e=>e.sharedDatasources,e=>e.sharedCSS,(e,t,r)=>[e.state,t.state,r.state].every(a=>["loaded","error"].includes(a))),_F=e=>q(t=>t.root,t=>{var a;const r=t.tabs.find(({path:s})=>s===e);return((a=r==null?void 0:r.content)==null?void 0:a.metadata)||{}}),bF=q(e=>e.webforms,({i18n:e})=>e.current),zn={label:"Base",id:"root"},Sf=e=>e.id===zn.id,i_=(e,t=[])=>q(pr(e),r=>{var i,u;let s=((u=(i=r==null?void 0:r.content)==null?void 0:i.metadata)==null?void 0:u.states)||[zn];return s.find(Sf)||(s=[zn,...s]),s.filter(({id:l})=>!t.includes(l))}),SF=(e,t=[])=>q(i_(e,t),r=>r.map(({label:a})=>a)),EF=e=>q(pr(e),t=>{var r,a;return((a=(r=t==null?void 0:t.content)==null?void 0:r.metadata)==null?void 0:a.defaultStates)||[]}),TF=e=>q(pr(e),t=>{var a,s,i,u;const{currentState:r}=((a=t==null?void 0:t.content)==null?void 0:a.metadata)||{};return((u=(i=(s=t==null?void 0:t.content)==null?void 0:s.metadata)==null?void 0:i.states)==null?void 0:u.find(l=>l.id===r))||zn}),wF=q(e=>e,e=>{var t;return((t=e.savedConditions)==null?void 0:t.conditions)||[]});var Ef=(e=>(e.SHOW_AFTER_TIMEOUT="show_after_timeout",e.HIDE_AFTER_TIMEOUT="hide_after_timeout",e))(Ef||{}),Tf=(e=>(e.NONE="none",e.SAVE_ALL_AND_PROCEED="saved_all_and_proceed",e.PROCEED="proceed",e))(Tf||{}),wf=(e=>(e.AIRY="airy",e.COMPACT="neutral",e))(wf||{}),bl={},ga={},Xs={},ny;function u_(){if(ny)return Xs;ny=1,Object.defineProperty(Xs,"__esModule",{value:!0}),Xs.default=r;let e;const t=new Uint8Array(16);function r(){if(!e&&(e=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!e))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(t)}return Xs}var $n={},va={},ya={},ay;function CF(){if(ay)return ya;ay=1,Object.defineProperty(ya,"__esModule",{value:!0}),ya.default=void 0;var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return ya.default=e,ya}var sy;function $o(){if(sy)return va;sy=1,Object.defineProperty(va,"__esModule",{value:!0}),va.default=void 0;var e=t(CF());function t(s){return s&&s.__esModule?s:{default:s}}function r(s){return typeof s=="string"&&e.default.test(s)}var a=r;return va.default=a,va}var oy;function ko(){if(oy)return $n;oy=1,Object.defineProperty($n,"__esModule",{value:!0}),$n.default=void 0,$n.unsafeStringify=a;var e=t($o());function t(u){return u&&u.__esModule?u:{default:u}}const r=[];for(let u=0;u<256;++u)r.push((u+256).toString(16).slice(1));function a(u,l=0){return r[u[l+0]]+r[u[l+1]]+r[u[l+2]]+r[u[l+3]]+"-"+r[u[l+4]]+r[u[l+5]]+"-"+r[u[l+6]]+r[u[l+7]]+"-"+r[u[l+8]]+r[u[l+9]]+"-"+r[u[l+10]]+r[u[l+11]]+r[u[l+12]]+r[u[l+13]]+r[u[l+14]]+r[u[l+15]]}function s(u,l=0){const f=a(u,l);if(!(0,e.default)(f))throw TypeError("Stringified UUID is invalid");return f}var i=s;return $n.default=i,$n}var iy;function AF(){if(iy)return ga;iy=1,Object.defineProperty(ga,"__esModule",{value:!0}),ga.default=void 0;var e=r(u_()),t=ko();function r(d){return d&&d.__esModule?d:{default:d}}let a,s,i=0,u=0;function l(d,h,g){let _=h&&g||0;const m=h||new Array(16);d=d||{};let C=d.node||a,v=d.clockseq!==void 0?d.clockseq:s;if(C==null||v==null){const R=d.random||(d.rng||e.default)();C==null&&(C=a=[R[0]|1,R[1],R[2],R[3],R[4],R[5]]),v==null&&(v=s=(R[6]<<8|R[7])&16383)}let S=d.msecs!==void 0?d.msecs:Date.now(),E=d.nsecs!==void 0?d.nsecs:u+1;const A=S-i+(E-u)/1e4;if(A<0&&d.clockseq===void 0&&(v=v+1&16383),(A<0||S>i)&&d.nsecs===void 0&&(E=0),E>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");i=S,u=E,s=v,S+=122192928e5;const O=((S&268435455)*1e4+E)%4294967296;m[_++]=O>>>24&255,m[_++]=O>>>16&255,m[_++]=O>>>8&255,m[_++]=O&255;const F=S/4294967296*1e4&268435455;m[_++]=F>>>8&255,m[_++]=F&255,m[_++]=F>>>24&15|16,m[_++]=F>>>16&255,m[_++]=v>>>8|128,m[_++]=v&255;for(let R=0;R<6;++R)m[_+R]=C[R];return h||(0,t.unsafeStringify)(m)}var f=l;return ga.default=f,ga}var ma={},Ur={},_a={},uy;function c_(){if(uy)return _a;uy=1,Object.defineProperty(_a,"__esModule",{value:!0}),_a.default=void 0;var e=t($o());function t(s){return s&&s.__esModule?s:{default:s}}function r(s){if(!(0,e.default)(s))throw TypeError("Invalid UUID");let i;const u=new Uint8Array(16);return u[0]=(i=parseInt(s.slice(0,8),16))>>>24,u[1]=i>>>16&255,u[2]=i>>>8&255,u[3]=i&255,u[4]=(i=parseInt(s.slice(9,13),16))>>>8,u[5]=i&255,u[6]=(i=parseInt(s.slice(14,18),16))>>>8,u[7]=i&255,u[8]=(i=parseInt(s.slice(19,23),16))>>>8,u[9]=i&255,u[10]=(i=parseInt(s.slice(24,36),16))/1099511627776&255,u[11]=i/4294967296&255,u[12]=i>>>24&255,u[13]=i>>>16&255,u[14]=i>>>8&255,u[15]=i&255,u}var a=r;return _a.default=a,_a}var cy;function l_(){if(cy)return Ur;cy=1,Object.defineProperty(Ur,"__esModule",{value:!0}),Ur.URL=Ur.DNS=void 0,Ur.default=u;var e=ko(),t=r(c_());function r(l){return l&&l.__esModule?l:{default:l}}function a(l){l=unescape(encodeURIComponent(l));const f=[];for(let d=0;d<l.length;++d)f.push(l.charCodeAt(d));return f}const s="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Ur.DNS=s;const i="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Ur.URL=i;function u(l,f,d){function h(g,_,m,C){var v;if(typeof g=="string"&&(g=a(g)),typeof _=="string"&&(_=(0,t.default)(_)),((v=_)===null||v===void 0?void 0:v.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let S=new Uint8Array(16+g.length);if(S.set(_),S.set(g,_.length),S=d(S),S[6]=S[6]&15|f,S[8]=S[8]&63|128,m){C=C||0;for(let E=0;E<16;++E)m[C+E]=S[E];return m}return(0,e.unsafeStringify)(S)}try{h.name=l}catch{}return h.DNS=s,h.URL=i,h}return Ur}var ba={},ly;function xF(){if(ly)return ba;ly=1,Object.defineProperty(ba,"__esModule",{value:!0}),ba.default=void 0;function e(m){if(typeof m=="string"){const C=unescape(encodeURIComponent(m));m=new Uint8Array(C.length);for(let v=0;v<C.length;++v)m[v]=C.charCodeAt(v)}return t(a(s(m),m.length*8))}function t(m){const C=[],v=m.length*32,S="0123456789abcdef";for(let E=0;E<v;E+=8){const A=m[E>>5]>>>E%32&255,O=parseInt(S.charAt(A>>>4&15)+S.charAt(A&15),16);C.push(O)}return C}function r(m){return(m+64>>>9<<4)+14+1}function a(m,C){m[C>>5]|=128<<C%32,m[r(C)-1]=C;let v=1732584193,S=-271733879,E=-1732584194,A=271733878;for(let O=0;O<m.length;O+=16){const F=v,R=S,j=E,W=A;v=f(v,S,E,A,m[O],7,-680876936),A=f(A,v,S,E,m[O+1],12,-389564586),E=f(E,A,v,S,m[O+2],17,606105819),S=f(S,E,A,v,m[O+3],22,-1044525330),v=f(v,S,E,A,m[O+4],7,-176418897),A=f(A,v,S,E,m[O+5],12,1200080426),E=f(E,A,v,S,m[O+6],17,-1473231341),S=f(S,E,A,v,m[O+7],22,-45705983),v=f(v,S,E,A,m[O+8],7,1770035416),A=f(A,v,S,E,m[O+9],12,-1958414417),E=f(E,A,v,S,m[O+10],17,-42063),S=f(S,E,A,v,m[O+11],22,-1990404162),v=f(v,S,E,A,m[O+12],7,1804603682),A=f(A,v,S,E,m[O+13],12,-40341101),E=f(E,A,v,S,m[O+14],17,-1502002290),S=f(S,E,A,v,m[O+15],22,1236535329),v=d(v,S,E,A,m[O+1],5,-165796510),A=d(A,v,S,E,m[O+6],9,-1069501632),E=d(E,A,v,S,m[O+11],14,643717713),S=d(S,E,A,v,m[O],20,-373897302),v=d(v,S,E,A,m[O+5],5,-701558691),A=d(A,v,S,E,m[O+10],9,38016083),E=d(E,A,v,S,m[O+15],14,-660478335),S=d(S,E,A,v,m[O+4],20,-405537848),v=d(v,S,E,A,m[O+9],5,568446438),A=d(A,v,S,E,m[O+14],9,-1019803690),E=d(E,A,v,S,m[O+3],14,-187363961),S=d(S,E,A,v,m[O+8],20,1163531501),v=d(v,S,E,A,m[O+13],5,-1444681467),A=d(A,v,S,E,m[O+2],9,-51403784),E=d(E,A,v,S,m[O+7],14,1735328473),S=d(S,E,A,v,m[O+12],20,-1926607734),v=h(v,S,E,A,m[O+5],4,-378558),A=h(A,v,S,E,m[O+8],11,-2022574463),E=h(E,A,v,S,m[O+11],16,1839030562),S=h(S,E,A,v,m[O+14],23,-35309556),v=h(v,S,E,A,m[O+1],4,-1530992060),A=h(A,v,S,E,m[O+4],11,1272893353),E=h(E,A,v,S,m[O+7],16,-155497632),S=h(S,E,A,v,m[O+10],23,-1094730640),v=h(v,S,E,A,m[O+13],4,681279174),A=h(A,v,S,E,m[O],11,-358537222),E=h(E,A,v,S,m[O+3],16,-722521979),S=h(S,E,A,v,m[O+6],23,76029189),v=h(v,S,E,A,m[O+9],4,-640364487),A=h(A,v,S,E,m[O+12],11,-421815835),E=h(E,A,v,S,m[O+15],16,530742520),S=h(S,E,A,v,m[O+2],23,-995338651),v=g(v,S,E,A,m[O],6,-198630844),A=g(A,v,S,E,m[O+7],10,1126891415),E=g(E,A,v,S,m[O+14],15,-1416354905),S=g(S,E,A,v,m[O+5],21,-57434055),v=g(v,S,E,A,m[O+12],6,1700485571),A=g(A,v,S,E,m[O+3],10,-1894986606),E=g(E,A,v,S,m[O+10],15,-1051523),S=g(S,E,A,v,m[O+1],21,-2054922799),v=g(v,S,E,A,m[O+8],6,1873313359),A=g(A,v,S,E,m[O+15],10,-30611744),E=g(E,A,v,S,m[O+6],15,-1560198380),S=g(S,E,A,v,m[O+13],21,1309151649),v=g(v,S,E,A,m[O+4],6,-145523070),A=g(A,v,S,E,m[O+11],10,-1120210379),E=g(E,A,v,S,m[O+2],15,718787259),S=g(S,E,A,v,m[O+9],21,-343485551),v=i(v,F),S=i(S,R),E=i(E,j),A=i(A,W)}return[v,S,E,A]}function s(m){if(m.length===0)return[];const C=m.length*8,v=new Uint32Array(r(C));for(let S=0;S<C;S+=8)v[S>>5]|=(m[S/8]&255)<<S%32;return v}function i(m,C){const v=(m&65535)+(C&65535);return(m>>16)+(C>>16)+(v>>16)<<16|v&65535}function u(m,C){return m<<C|m>>>32-C}function l(m,C,v,S,E,A){return i(u(i(i(C,m),i(S,A)),E),v)}function f(m,C,v,S,E,A,O){return l(C&v|~C&S,m,C,E,A,O)}function d(m,C,v,S,E,A,O){return l(C&S|v&~S,m,C,E,A,O)}function h(m,C,v,S,E,A,O){return l(C^v^S,m,C,E,A,O)}function g(m,C,v,S,E,A,O){return l(v^(C|~S),m,C,E,A,O)}var _=e;return ba.default=_,ba}var fy;function RF(){if(fy)return ma;fy=1,Object.defineProperty(ma,"__esModule",{value:!0}),ma.default=void 0;var e=r(l_()),t=r(xF());function r(i){return i&&i.__esModule?i:{default:i}}var s=(0,e.default)("v3",48,t.default);return ma.default=s,ma}var Sa={},Ea={},dy;function OF(){if(dy)return Ea;dy=1,Object.defineProperty(Ea,"__esModule",{value:!0}),Ea.default=void 0;var t={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};return Ea.default=t,Ea}var py;function PF(){if(py)return Sa;py=1,Object.defineProperty(Sa,"__esModule",{value:!0}),Sa.default=void 0;var e=a(OF()),t=a(u_()),r=ko();function a(u){return u&&u.__esModule?u:{default:u}}function s(u,l,f){if(e.default.randomUUID&&!l&&!u)return e.default.randomUUID();u=u||{};const d=u.random||(u.rng||t.default)();if(d[6]=d[6]&15|64,d[8]=d[8]&63|128,l){f=f||0;for(let h=0;h<16;++h)l[f+h]=d[h];return l}return(0,r.unsafeStringify)(d)}var i=s;return Sa.default=i,Sa}var Ta={},wa={},hy;function DF(){if(hy)return wa;hy=1,Object.defineProperty(wa,"__esModule",{value:!0}),wa.default=void 0;function e(s,i,u,l){switch(s){case 0:return i&u^~i&l;case 1:return i^u^l;case 2:return i&u^i&l^u&l;case 3:return i^u^l}}function t(s,i){return s<<i|s>>>32-i}function r(s){const i=[1518500249,1859775393,2400959708,3395469782],u=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof s=="string"){const h=unescape(encodeURIComponent(s));s=[];for(let g=0;g<h.length;++g)s.push(h.charCodeAt(g))}else Array.isArray(s)||(s=Array.prototype.slice.call(s));s.push(128);const l=s.length/4+2,f=Math.ceil(l/16),d=new Array(f);for(let h=0;h<f;++h){const g=new Uint32Array(16);for(let _=0;_<16;++_)g[_]=s[h*64+_*4]<<24|s[h*64+_*4+1]<<16|s[h*64+_*4+2]<<8|s[h*64+_*4+3];d[h]=g}d[f-1][14]=(s.length-1)*8/Math.pow(2,32),d[f-1][14]=Math.floor(d[f-1][14]),d[f-1][15]=(s.length-1)*8&4294967295;for(let h=0;h<f;++h){const g=new Uint32Array(80);for(let E=0;E<16;++E)g[E]=d[h][E];for(let E=16;E<80;++E)g[E]=t(g[E-3]^g[E-8]^g[E-14]^g[E-16],1);let _=u[0],m=u[1],C=u[2],v=u[3],S=u[4];for(let E=0;E<80;++E){const A=Math.floor(E/20),O=t(_,5)+e(A,m,C,v)+S+i[A]+g[E]>>>0;S=v,v=C,C=t(m,30)>>>0,m=_,_=O}u[0]=u[0]+_>>>0,u[1]=u[1]+m>>>0,u[2]=u[2]+C>>>0,u[3]=u[3]+v>>>0,u[4]=u[4]+S>>>0}return[u[0]>>24&255,u[0]>>16&255,u[0]>>8&255,u[0]&255,u[1]>>24&255,u[1]>>16&255,u[1]>>8&255,u[1]&255,u[2]>>24&255,u[2]>>16&255,u[2]>>8&255,u[2]&255,u[3]>>24&255,u[3]>>16&255,u[3]>>8&255,u[3]&255,u[4]>>24&255,u[4]>>16&255,u[4]>>8&255,u[4]&255]}var a=r;return wa.default=a,wa}var gy;function FF(){if(gy)return Ta;gy=1,Object.defineProperty(Ta,"__esModule",{value:!0}),Ta.default=void 0;var e=r(l_()),t=r(DF());function r(i){return i&&i.__esModule?i:{default:i}}var s=(0,e.default)("v5",80,t.default);return Ta.default=s,Ta}var Ca={},vy;function IF(){if(vy)return Ca;vy=1,Object.defineProperty(Ca,"__esModule",{value:!0}),Ca.default=void 0;var e="00000000-0000-0000-0000-000000000000";return Ca.default=e,Ca}var Aa={},yy;function MF(){if(yy)return Aa;yy=1,Object.defineProperty(Aa,"__esModule",{value:!0}),Aa.default=void 0;var e=t($o());function t(s){return s&&s.__esModule?s:{default:s}}function r(s){if(!(0,e.default)(s))throw TypeError("Invalid UUID");return parseInt(s.slice(14,15),16)}var a=r;return Aa.default=a,Aa}var my;function NF(){return my||(my=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"NIL",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"v1",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"v3",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"v4",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"v5",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"validate",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"version",{enumerable:!0,get:function(){return u.default}});var t=h(AF()),r=h(RF()),a=h(PF()),s=h(FF()),i=h(IF()),u=h(MF()),l=h($o()),f=h(ko()),d=h(c_());function h(g){return g&&g.__esModule?g:{default:g}}})(bl)),bl}var Sl,_y;function LF(){if(_y)return Sl;_y=1;function e(t,r){if(!t||!r||!t.length||!r.length)throw new Error("Bad alphabet");this.srcAlphabet=t,this.dstAlphabet=r}return e.prototype.convert=function(t){var r,a,s,i={},u=this.srcAlphabet.length,l=this.dstAlphabet.length,f=t.length,d=typeof t=="string"?"":[];if(!this.isValid(t))throw new Error('Number "'+t+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return t;for(r=0;r<f;r++)i[r]=this.srcAlphabet.indexOf(t[r]);do{for(a=0,s=0,r=0;r<f;r++)a=a*u+i[r],a>=l?(i[s++]=parseInt(a/l,10),a=a%l):s>0&&(i[s++]=0);f=s,d=this.dstAlphabet.slice(a,a+1).concat(d)}while(s!==0);return d},e.prototype.isValid=function(t){for(var r=0;r<t.length;++r)if(this.srcAlphabet.indexOf(t[r])===-1)return!1;return!0},Sl=e,Sl}var El,by;function $F(){if(by)return El;by=1;var e=LF();function t(r,a){var s=new e(r,a);return function(i){return s.convert(i)}}return t.BIN="01",t.OCT="01234567",t.DEC="0123456789",t.HEX="0123456789abcdef",El=t,El}var Tl,Sy;function kF(){if(Sy)return Tl;Sy=1;const{v4:e,validate:t}=NF(),r=$F(),a={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},s={consistentLength:!0};let i;const u=(d,h,g)=>{const _=h(d.toLowerCase().replace(/-/g,""));return!g||!g.consistentLength?_:_.padStart(g.shortIdLength,g.paddingChar)},l=(d,h)=>{const _=h(d).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[_[1],_[2],_[3],_[4],_[5]].join("-")},f=d=>Math.ceil(Math.log(2**128)/Math.log(d));return Tl=(()=>{const d=(h,g)=>{const _=h||a.flickrBase58,m={...s,...g};if([...new Set(Array.from(_))].length!==_.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const C=f(_.length),v={shortIdLength:C,consistentLength:m.consistentLength,paddingChar:_[0]},S=r(r.HEX,_),E=r(_,r.HEX),A=()=>u(e(),S,v),F={alphabet:_,fromUUID:R=>u(R,S,v),maxLength:C,generate:A,new:A,toUUID:R=>l(R,E),uuid:e,validate:(R,j=!1)=>{if(!R||typeof R!="string")return!1;const W=m.consistentLength?R.length===C:R.length<=C,X=R.split("").every(te=>_.includes(te));return j===!1?W&&X:W&&X&&t(l(R,E))}};return Object.freeze(F),F};return d.constants=a,d.uuid=e,d.generate=()=>(i||(i=d(a.flickrBase58).generate),i()),d})(),Tl}var Ha=kF(),xe=(e=>(e.DATACLASS="dataclass",e.METHOD="method",e.ATTRIBUTE="attribute",e.DATASTORE="datastore",e.SINGLETON="singleton",e.SINGLETON_METHOD="singletonMethod",e))(xe||{}),je=(e=>(e.DS_METHOD="dsMethod",e.DATACLASS_METHOD="dataclassMethod",e.ENTITY_METHOD="entityMethod",e.ENTITY_SEL_METHOD="entityselMethod",e))(je||{});const qF=[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE,xe.SINGLETON_METHOD,xe.SINGLETON,xe.METHOD,je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD],Ey=e=>[je.DS_METHOD,je.ENTITY_METHOD,je.DATACLASS_METHOD].includes(e)?xe.METHOD:e,bo="guest",Cf=[{key:"read",label:"Read",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE]},{key:"create",label:"Create",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE]},{key:"update",label:"Update",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE]},{key:"drop",label:"Delete",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.ATTRIBUTE]},{key:"execute",label:"Execute",canApplyTo:[xe.DATASTORE,xe.DATACLASS,xe.METHOD,je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD,xe.SINGLETON,xe.SINGLETON_METHOD]},{key:"promote",label:"Promote",canApplyTo:[xe.METHOD,je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD,xe.SINGLETON_METHOD]}];function Jt(e,...t){return Array.from(new Set([...e,...t]))}function f_(e){const t={},r=new Map;e.forEach(f=>{const d=f.id||Ha.generate();t[d]={...f,id:d,parents:[],includes:Jt(f.includes||[]),resources:[]},r.set(f.privilege,d)}),Object.entries(t).forEach(([f,d])=>{const h=d.includes.map(g=>{const _=r.get(g);return _?(t[_].parents=Jt(t[_].parents,_),_):""}).filter(Boolean);t[f]={...d,includes:h}});const a=d_(t),s=new Set;function i(f){s.add(f.id),f.includes=f.includes.filter(d=>!s.has(d))}if(a.forEach(i),a.forEach(f=>f.parents=[]),a.forEach(f=>{f.includes.forEach(d=>t[d].parents.push(f.id))}),Object.values(t).find(({privilege:f})=>f===bo))return t;const l=Ha.generate();return{[l]:{id:l,privilege:bo,includes:[],parents:[],resources:[]},...t}}function d_(e){return Object.values(e).sort((t,r)=>t.parents.length-r.parents.length)}function qo(e,t){const r=t[e];let a=[];return r&&r.parents.forEach(s=>{a=Jt(a,...qo(s,t),s)}),a}function So(e,t){const r=t[e];let a=[];return r&&r.includes.forEach(s=>{a=Jt(a,...So(s,t),s)}),a}function jF(e,t){const r=t[e];if(!r)return[];const a=[e,...qo(e,t),...r.includes];return Object.keys(t).filter(s=>!a.includes(s))}function BF(e,t){return t[e]?Object.keys(t).reduce((a,s)=>s===e?a:{...a,[s]:{...t[s],parents:t[s].parents.filter(i=>i!==e),includes:t[s].includes.filter(i=>i!==e)}},{}):t}function WF(e,t,r){const a=r[e],s=r[t];return!a||!s?r:{...r,[e]:{...r[e],includes:Jt(a.includes,t)},[t]:{...r[t],parents:Jt(s.parents,e)}}}function UF(e,t,r){const a=r[e],s=r[t];return!a||!s?r:{...r,[e]:{...r[e],includes:r[e].includes.filter(i=>i!==t)},[t]:{...r[t],parents:r[t].parents.filter(i=>i!==e)}}}function p_(e,t){b.validateName(e),Object.entries(t).forEach(([,{privilege:a}])=>{if(e.toLowerCase()===a.toLowerCase())throw new Error(`There's already a Privilege with the name ${e}`)});const r=Ha.generate();return{[r]:{id:r,privilege:e,includes:[],parents:[],resources:[]},...t}}function HF(e,t,r,a,s){let i=p_(e,s);const u=Object.entries(i).find(([,l])=>l.privilege===e);return u?(i=y_(u[1].id,t,r,a,i),i):s}function GF(e,t,r){if(!e)throw new Error("Please enter a name");if(!r[t])throw new Error("Invalid privilege");return Object.entries(r).forEach(([,{privilege:a,id:s}])=>{if(e.toLowerCase()===a.toLowerCase()&&t!==s)throw new Error(`There's already a Privilege with the name ${e}`)}),{...r,[t]:{...r[t],privilege:e}}}function VF(e,t){return e.map(r=>hr(r,t))}function hr(e,t){return t[e]?t[e]:null}function h_({applyTo:e,type:t,...r}){return Object.entries(r).reduce((a,[s,i])=>{const u=ce.find(Cf,["key",s]);return!u||!u.canApplyTo.includes(t)||(typeof i=="string"?i.split(","):i).forEach(f=>{a[f]=Jt(a[f]||[],s)}),a},{})}const Bl=(e,t=!1)=>["read","create","update","delete"].includes(e.toLowerCase())?`All ${t?"dataclasses and ":""}attributes have the '${e.toLowerCase()}' permission`:e.toLowerCase()==="execute"?`All functions defined ${t?"through the model (DataStore, Dataclasses, Entity selections, Entities) have the execute permission":"on this Dataclass, Entity selection class, Entity class have the execute permission"}`:`All ${t?"dataclasses, ":""}attributes and functions have the '${e.toLowerCase()}' permission`;function Af(e){return{permissions:Cf.filter(({canApplyTo:t})=>t.includes(e.type)).map(({key:t,label:r})=>{const a={name:t,from:[]};switch(e.type){case xe.DATASTORE:return{...a,info:Bl(r,!0)};case xe.DATACLASS:return{...a,info:Bl(r)};default:return a}}),resource:e.applyTo,type:e.type}}function g_(e,t){const r=v_(t),a={};return e.filter(({type:s})=>qF.includes(s)).forEach(s=>{const i=h_(s);Object.entries(i).forEach(([u,l])=>{var h;const f=(h=r[u])==null?void 0:h.id;if(!f)return;a[f]=a[f]||{...t[f]};let d=ce.find(a[f].resources,{resource:s.applyTo,type:s.type});d||(d=Af(s),a[f].resources.push(d)),d.permissions=d.permissions.map(g=>({...g,checked:g.checked||l.includes(g.name)}))})}),{...t,...a}}function v_(e){return Object.values(e).reduce((t,r)=>({...t,[r.privilege]:r}),{})}function jo(e){var r;const t=f_(e.privileges||[]);return{forceLogin:(e==null?void 0:e.forceLogin)||!1,privileges:g_(((r=e.permissions)==null?void 0:r.allowed)||[],t),roles:(e.roles||[]).map(({id:a=Ha.generate(),role:s,privileges:i=[]})=>({id:a,role:s,privileges:Jt(i).map(u=>{var l;return(l=Object.values(t).find(({privilege:f})=>f===u))==null?void 0:l.id}).filter(Boolean)})).reduce((a,s)=>({...a,[s.id]:{...s}}),{})}}function Bo(e){const t=Object.values(e.privileges).filter(({includes:a})=>a.length===0).map(({id:a})=>a),r=[...t,...t.map(a=>qo(a,e.privileges).reverse())].flat().filter((a,s,i)=>i.indexOf(a)===s).map(a=>e.privileges[a]);return{forceLogin:e.forceLogin||!1,permissions:{allowed:Object.values(e.privileges).reduce((a,s)=>(s.resources.forEach(({permissions:i,resource:u,type:l})=>{let f=ce.find(a,{applyTo:u,type:Ey(l)});f||(f={applyTo:u,type:Ey(l)},a.push(f)),i.forEach(({name:d,checked:h})=>{h&&f&&(f[d]=f[d]||[],f[d].push(s.privilege))})}),a),[])},privileges:r.filter(({privilege:a})=>a!==bo).map(({id:a,includes:s,privilege:i})=>({id:a,privilege:i,includes:s.map(u=>e.privileges[u].privilege)})),roles:Object.values(e.roles).map(a=>({...a,privileges:a.privileges.map(s=>{var i;return(i=e.privileges[s])==null?void 0:i.privilege}).filter(Boolean)}))}}function zF(e,t){const r=t[e],a={children:[],links:[],parents:[],selected:e};if(!r)return a;function s(l,f,d=[]){const h=l.reduce((g,_)=>[...g,...t[_][f]],[]);return h.length===0?d:(d.push(h),s(h,f,d))}function i(l){const f=[],d=[];for(let h=l.length-1;h>=0;h-=1){const g=l[h].filter(_=>f.includes(_)?!1:(f.push(_),!0));g.length>0&&d.unshift(Jt(g))}return d}function u(l,f){const d=[];return l.reduce((h,g)=>(g.forEach(_=>{t[_][f==="parents"?"includes":"parents"].forEach(C=>{d.includes(C)&&h.push(f==="parents"?{source:_,target:C}:{source:C,target:_})}),d.push(_)}),h),[])}return a.children=s([e],"includes"),a.children=i(a.children),a.parents=s([e],"parents"),a.parents=i(a.parents),a.links=[...u([[e],...a.parents],"parents"),...u([[e],...a.children],"includes")],a}function YF(e,t,r){const a=hr(e,r);if(!a||ce.find(a.resources,{resource:t.applyTo,type:t.type}))return r;const s={...a,resources:[...a.resources,Af(t)]};return{...r,[e]:s}}function KF(e,t,r){const a=hr(e,r);if(!a)return r;const s={...a,resources:a.resources.filter(({resource:i,type:u})=>i!==t.applyTo||u!==t.type)};return{...r,[e]:s}}function QF(e,t){const r=Object.entries(e).map(([a,s])=>{const i=hr(a,t);if(!i)return{[a]:t[a]};const u={...i,resources:i.resources.filter(({resource:l,type:f})=>!s.some(d=>d.applyTo===l&&d.type===f))};return{[a]:u}}).reduce((a,s)=>({...a,...s}),{});return{...t,...r}}function JF(e,t){const r=hr(e,t);if(!r)return t;const a={...r,resources:r.resources.filter(s=>s.permissions.some(i=>i.from.length)).map(s=>({...s,permissions:s.permissions.map(i=>({...i,checked:!1}))}))};return{...t,[e]:a}}function y_(e,t,r,a,s){const i=hr(e,s);if(!i)return s;const l=ce.find(i.resources,{type:r,resource:t})?{...i,resources:i.resources.map(f=>f.type===r&&f.resource===t?{...f,permissions:f.permissions.map(d=>d.name===a?{...d,checked:!d.checked,from:[]}:d)}:f)}:{...i,resources:[...i.resources,{type:r,resource:t,permissions:Cf.filter(f=>f.canApplyTo.includes(r)).map(f=>({from:[],name:f.key,checked:f.key===a,info:Bl(f.key,r===xe.DATASTORE)}))}]};return{...s,[e]:l}}function XF(e,t,r,a){const s=hr(e,a);if(!s)return a;const u=ce.find(s.resources,{type:t.type,resource:t.resource})?{...s,resources:s.resources.map(l=>l.type===t.type&&l.resource===t.resource?{...l,permissions:t.permissions.map(f=>f.name===r.name?{...f,checked:!f.checked,from:[]}:f)}:l)}:{...s,resources:[...s.resources,{...t,permissions:t.permissions.map(l=>({...l,checked:r.name===l.name,from:[]}))}]};return{...a,[e]:u}}function ZF(e,t){var f;const r=m_(e,t)||[],a=((f=hr(e,t))==null?void 0:f.resources)||[],u=([...r,...a].filter(({type:d})=>[je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD].includes(d))||[]).map(({resource:d})=>d);return Object.entries(t).reduce((d,[h,{resources:g}])=>(g.filter(({resource:_,type:m})=>[je.DS_METHOD,je.DATACLASS_METHOD,je.ENTITY_METHOD,je.ENTITY_SEL_METHOD].includes(m)&&u.includes(_)).forEach(({permissions:_,resource:m})=>{var v;((v=_.find(({name:S})=>S==="promote"))==null?void 0:v.checked)&&(d[m]=Jt(d[m]||[],h))}),d),{})}function m_(e,t){var u;const r=hr(e,t);if(!r)return[];const a=(u=Object.values(t).find(l=>l.privilege===bo))==null?void 0:u.id;return(a&&a!==e?Jt(So(e,t),a):So(e,t)).reduce((l,f)=>(t[f].resources.forEach(h=>{if(h.permissions.filter(({checked:m,name:C})=>m&&C!=="promote").length===0)return;const _=ce.find(l,{type:h.type,resource:h.resource});if(!_){l.push({...h,permissions:h.permissions.map(m=>({...m,from:m.checked?[f]:[],checked:!1}))});return}_.permissions=_.permissions.map((m,C)=>{let{from:v=[]}=m;return h.permissions[C].checked&&!v.includes(f)&&(v=[...v,f]),{...m,from:v,checked:m.checked}})}),l),ce.clone(r.resources.map(l=>({...l,permissions:l.permissions.map(({checked:f,...d})=>({...d,checked:!!f}))}))))}const eI=e=>e.reduce((t,r)=>({...t,[r.id]:{...r}}),{}),tI=(e,t)=>t[e]?Object.values(t).reduce((r,a)=>e===a.id||a.role===""?r:{...r,[a.id]:a},{}):t,rI=(e,t,r)=>r[e]?Object.values(r).reduce((a,s)=>e===s.id?{...a,[s.id]:{...s,name:t}}:{...a,[s.id]:s},{}):r,nI=(e,t,r)=>{const a={id:e,role:t,privileges:[]};return{...r,[a.id]:a}},aI=(e,t)=>{if(b.validateName(e.role),Object.values(t).find(a=>a.role===e.role))throw new Error(`a role with the name ${e.role} already exists`);return Object.values(t).reduce((a,s)=>e.id===s.id?{...a,[e.id]:e}:{...a,[s.id]:s},{})},sI={list:[]},Ty=(e,t)=>e.list.filter(r=>r.id!==t),__=Dt({name:"modals",initialState:sI,reducers:{createModal:(e,t)=>{e.list.push(t.payload)},editModal:(e,t)=>{const{id:r,...a}=t.payload,s=e.list.find(b.byId(r));s&&Object.assign(s,{...a})},removeModal:(e,t)=>{const r=t.payload;e.list=Ty(e,r)},closeModal:(e,t)=>{const{id:r,reason:a}=t.payload;if(a){const s=e.list.find(i=>i.id===r);s&&(s.closeReason=a,s.isOpen=!1)}else e.list=Ty(e,r)}}}),{createModal:b_,removeModal:S_,closeModal:oI,editModal:iI}=__.actions,Xt=K("modals/open",async(e,{dispatch:t})=>{const r=Nb(),{type:a=b.ModalType.ALERT}=e,s=tf();switch(t(b_({id:s,type:a,isOpen:!0,...e})),a){case b.ModalType.CONFIRM:return new Promise(i=>{const u=r.subscribe(()=>{var d;const{modals:l}=r.getState(),f=l.list.find(h=>h.id===s);if(f&&!f.isOpen){const h=f.closeReason===b.ModalCloseReason.CONFIRMED,g=ce.entries((d=f.views)==null?void 0:d.toggles).reduce((_,m)=>({..._,[m[0]]:m[1].value}),{});t(S_(s)),u(),i({confirmed:h,options:g})}})});default:return{}}}),E_=()=>b.getFileContent({name:b.ROLES_TAB_PATH}),T_="Roles & Privileges",Eo=K("roles/fetchRoles",async(e,{dispatch:t,rejectWithValue:r})=>{var i;let a;try{a=await E_()}catch(u){if(!Array.isArray((i=u==null?void 0:u.data)==null?void 0:i.__ERROR))return r("Error while loading the roles");a={name:b.ROLES_TAB_PATH,date:new Date().toISOString(),content:{permissions:{allowed:[]},privileges:[],roles:[]}}}const s={name:T_,type:b.FileFolderType.ROLES,date:a.date,view:{panel:{isOpen:!1,type:"",current:""}},path:b.ROLES_TAB_PATH,flags:{},extra:{editor:{key:"editors:roles"}},content:{}};return t(wt(s)),{...a,content:jo(a.content)}}),w_=K("roles/fetchRolesChanges",async(e,{getState:t})=>{const{tabs:r}=t().root;if(r.find(s=>s.path===b.ROLES_TAB_PATH)){const{date:s}=t().roles;if(s&&await xf(s))return{old:!0}}return{}}),xf=async e=>{if(!e)return!1;try{const t=await E_();if(t.date){const r=new Date(e),a=new Date(t.date);if(r>a)return!0}}catch(t){if(!Array.isArray(t==null?void 0:t.data.__ERROR))throw t}return!1},Wl=K("roles/saveRoles",async(e,{getState:t,rejectWithValue:r,dispatch:a})=>{try{const{flags:s,date:i}=t().roles;if(s.old||await xf(i)){const{confirmed:f}=await a(Xt({title:T_,message:"New content has been found on the server. Are you sure you want to continue?",type:b.ModalType.CONFIRM,icon:"FdSave"})).unwrap();if(!f)return r({old:!0})}return await b.setFileContent({name:b.ROLES_TAB_PATH,content:Bo(e)})}catch{return r("Error while loading the roles")}}),C_=Dt({name:"roles",initialState:()=>{const{roles:e}=_n(),{roles:t={},privileges:r={},flags:a={touched:!1},date:s,selectedTab:i="roles"}=e||{};return{flags:a,roles:t,privileges:r,date:s,selectedTab:i}},reducers:{updatePrivileges:(e,t)=>{e.privileges=t.payload,e.flags.touched=!0},updateRoles:(e,t)=>{e.roles=t.payload,e.flags.touched=!0},updateRolesAndPrivileges:(e,t)=>{e.roles=t.payload.roles,e.privileges=t.payload.privileges},toggleTab:(e,t)=>{e.selectedTab=t.payload},toggleForceLogin:(e,t)=>{e.forceLogin!==t.payload&&(e.forceLogin=t.payload,e.flags.touched=!0)},setRolesContent(e,t){const{content:r,flags:a={},...s}=t.payload,i=jo(r),u={...e.flags,...a};return{...e,...i,...s,flags:u}}},extraReducers(e){e.addCase(Eo.fulfilled,(t,r)=>{const{content:a,date:s}=r.payload;t={...t,...a,date:s}}).addCase(Eo.rejected,t=>({...t,roles:{},privileges:{},flags:{touched:!1},date:void 0})).addCase(Wl.fulfilled,(t,r)=>({...t,flags:{...t.flags,confirmed:!0,touched:!1,old:!1},date:r.payload.date})).addCase(Wl.rejected,(t,r)=>Wx.isString(r.payload)?t:{...t,flags:{...t.flags,...r.payload}}).addCase(w_.fulfilled,(t,r)=>({...t,flags:{...t.flags,...r.payload}})).addCase(Bn.fulfilled,(t,r)=>{!r.payload||r.payload.path!==b.ROLES_TAB_PATH||(t.flags.touched=!1,t.flags.old=!1)}).addCase(Mf.fulfilled,(t,r)=>{r.meta.arg!==b.ROLES_TAB_PATH||!r.payload||(t.flags.touched=!1,t.flags.old=!1)})}}),{updatePrivileges:A_,updateRoles:x_,setRolesContent:Rf,toggleTab:uI,toggleForceLogin:cI,updateRolesAndPrivileges:Of}=C_.actions,lI=C_.reducer,Pf=K("settings/fetch",async()=>await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:b.SETTINGS_TAB_PATH,content:!0,as:"json"})),R_=K("settings/app",b.getAppSettings),fI=cf(),wy={session:{"studio.tips":!0,"studio.notifications":!0,"studio.enablePreview":!1,"studio.tipsBaseUrl":"https://raw.githubusercontent.com/4d/Web-studio-TIPS/gh-build","webforms.tooltip.behavior":Ef.SHOW_AFTER_TIMEOUT,"webforms.tooltip.timeout":3e3,"webforms.renderer.showPopOver":!0,"webforms.renderer.showUnsavedPopOver":!0,"webforms.renderer.unsavedPopOverChoice":Tf.NONE,"welcometour.active":!0,"webforms.properties.advanced-mode":!1,"monaco.zoom":0,"model.viewport":{zoom:1,y:0,x:0}},project:{"webforms.renderer.indexPage":"","webforms.display-mode":"neutral"},server:{projectOpened:!1,remoteDebuggerMode:b.RemoteDebuggerMode.DISABLED,baseUrl:"",qodly:!0,urls:{renderer:"/$lib/renderer/",debugger:"",lsp:""},isRestActive:!0}},dI={...wy,session:{...wy.session,...fI},welcometour:{}},O_=Dt({name:"settings",initialState:dI,reducers:{setSetting(e,t){const{path:r,settingsKey:a,value:s}=t.payload;e[r][a]=s},setSettings(e,t){const{path:r,value:a}=t.payload;e[r]={...e[r],...a}},setSettingsAsText(e,t){const{path:r,settings:a}=t.payload;e[r]=a}},extraReducers(e){e.addCase(Pf.fulfilled,(t,r)=>{t.project={...t.project,...r.payload.content}}),e.addCase(R_.fulfilled,(t,r)=>{t.server=r.payload,t.server.qodly&&(t.project["webforms.display-mode"]="airy")})}}),{setSetting:Ul,setSettings:Wo,setSettingsAsText:pI}=O_.actions,hI=O_.reducer,Cy=[{name:"onServerStartup.4qs",content:`var error : object
103
103
  var obj : object
104
104
  var startUpExists : boolean
105
105
  var myWebServer : object = webServer
@@ -166,7 +166,7 @@ catch
166
166
 
167
167
  end
168
168
  `}],Hl=e=>{const t=["folder","file"];return e.sort((r,a)=>r.type===a.type?r.name.localeCompare(a.name):t.indexOf(r.type)-t.indexOf(a.type))},Ce=(e,t)=>e.reduce((r,a)=>a.path===t.path&&a.type===t.type&&a.id===t.id?[...r,t]:a.children?[...r,{...a,children:Hl(Ce(a.children,t))}]:[...r,a],[]),Xe=(e,t)=>e.reduce((r,a)=>r||(a.path===t?a:a.children?Xe(a.children,t):null),null),P_=[{name:b.FolderRootPath.WEBFORMS,type:b.FileFolderType.FOLDER,children:[],path:b.FolderRootPath.WEBFORMS,error:null,flags:{expanded:!1,loading:!1,cached:!1},tipKey:"editors:webform:explorer:webforms",config:{},isRoot:!0},{name:b.FolderRootPath.METHODS,type:b.FileFolderType.FOLDER,children:[],path:b.FolderRootPath.METHODS,error:null,flags:{expanded:!1,loading:!1,cached:!1},config:{},isRoot:!0},{name:b.FolderRootPath.CLASSES,type:b.FileFolderType.FOLDER,children:[],path:b.FolderRootPath.CLASSES,error:null,flags:{expanded:!1,loading:!1,cached:!1},config:{},isRoot:!0},{name:b.FolderRootPath.SHARED,type:b.FileFolderType.FOLDER,children:[],path:b.FolderRootPath.SHARED,error:null,flags:{expanded:!1,loading:!1,cached:!1},config:{},isRoot:!0},{name:"Debugger",type:b.FileFolderType.FOLDER,children:[],path:"Debugger",error:null,flags:{expanded:!1,cached:!0},config:{},isRoot:!0},{name:"Roles And Privileges",type:b.FileFolderType.ROLES,ext:"json",path:b.ROLES_TAB_PATH,error:null,flags:{},config:{editor:{key:"editors:roles"},supportedEditors:[{key:"editors:code",config:{language:"json",theme:"vs-dark"}}]},isRoot:!0},{name:"Model",type:b.FileFolderType.MODEL,ext:"4DModel",path:b.MODEL_TAB_PATH,error:null,flags:{},config:{editor:{key:"editors:model"},supportedEditors:[{key:"editors:code",config:{language:"json",theme:"vs-dark"}}]}},{name:"HTTP Handlers",type:b.FileFolderType.HTTP_HANDLERS,ext:"json",path:b.HTTP_HANDLERS_TAB_PATH,error:null,flags:{},config:{editor:{key:"editors:http-handlers"},supportedEditors:[{key:"editors:code",config:{language:"json"}}]}},{name:"Localization",type:b.FileFolderType.LOCALIZATION,ext:"json",path:b.LOCALIZATION_TAB_PATH,error:null,flags:{},config:{editor:{key:"editors:localization"},supportedEditors:[{key:"editors:code",config:{language:"json"}}]},isRoot:!0},{name:"Settings",type:b.FileFolderType.SETTINGS,ext:"json",path:b.SETTINGS_TAB_PATH,error:null,flags:{},config:{editor:{key:"editors:settings"},supportedEditors:[{key:"editors:code",config:{language:"json"}}]},isRoot:!0}],gI=cf(),vI=!!ce.get(gI,"features.experimental.reports");vI&&P_.unshift({name:b.FolderRootPath.REPORTS,type:b.FileFolderType.FOLDER,children:[],path:b.FolderRootPath.REPORTS,error:null,flags:{expanded:!1,loading:!1,cached:!1},tipKey:"editors:report:explorer:reports",config:{},isRoot:!0});const D_=Dt({name:"explorer",initialState:P_,reducers:{renameClassesFolder:(e,t)=>{const{payload:r}=t,a=e.find(u=>u.name==="Classes");if(!a||!a.children||a.children.length===0)return e;const s=e.findIndex(u=>u.name==="Classes"),i=(u,l)=>{switch(u){case"dataclass":return l;case"entity":return`${l}Entity`;default:return`${l}Selection`}};return r.forEach(({newName:u,prevName:l})=>{var f;a.children=(f=a.children)==null?void 0:f.map(d=>{var h;return d.path.endsWith("[<QODLY_ID>]")&&d.name===l?{...d,name:u,path:`Classes/${u}___[<QODLY_ID>]`,children:(h=d.children)==null?void 0:h.map(g=>{var _;return{...g,path:g.path.replace(l,u),info:{...g.info,filename:i((_=g.info)==null?void 0:_.kind,u),dataclass:u}}})}:d})}),e[s]=a,e},removeClassesFolder:(e,t)=>{const{payload:r}=t;if(!r||r.length===0)return e;const a=e.find(u=>u.name==="Classes");if(!(a!=null&&a.children)||a.children.length===0)return e;const s=e.findIndex(u=>u.name==="Classes");let i=[];return r.forEach(u=>{var f,d;const l=(f=a.children)==null?void 0:f.find(h=>h.name===u);if(l){let h=(d=l.children)==null?void 0:d.filter(g=>{var _;return(_=g.info)==null?void 0:_.exist});h&&(h==null?void 0:h.length)>0&&(h=h.map(g=>{var _;return{...g,name:(_=g.info)==null?void 0:_.filename,info:{...g.info,kind:"userClass"}}}),i=i.concat(h))}}),a.children=a.children.filter(u=>!r.includes(u.name)),a.children=a.children.concat(i),a.children.sort((u,l)=>u.name==="DataStore"?-1:l.name==="DataStore"?1:u.type===b.FileFolderType.CLASS_FOLDER&&l.type===b.FileFolderType.CLASS_FOLDER||u.type===b.FileFolderType.CLASS&&l.type===b.FileFolderType.CLASS?u.name.localeCompare(l.name):u.type===b.FileFolderType.CLASS_FOLDER&&l.type!==b.FileFolderType.CLASS_FOLDER?-1:1),e[s]=a,e},addClassesFolder:(e,t)=>{const{payload:r}=t;if(r.length===0)return e;const a=e.find(u=>u.name==="Classes");if(!(a!=null&&a.children)||a.children.length===0)return e;const s=e.findIndex(u=>u.name==="Classes");let i=0;return a.children.forEach((u,l)=>{u.type===b.FileFolderType.CLASS_FOLDER&&(i=l)}),r.forEach(u=>{var l;a.children=(l=a.children)==null?void 0:l.filter(f=>{var h,g;const d=(h=u.children)==null?void 0:h.find(_=>{var m;return((m=_.info)==null?void 0:m.filename)===f.name});return d&&(u.children=(g=u.children)==null?void 0:g.map(_=>{var m;return((m=_.info)==null?void 0:m.filename)===f.name?{..._,info:{..._.info,exist:!0}}:_})),!d})}),r.forEach(u=>{var l;(l=a==null?void 0:a.children)==null||l.splice(i+1,0,u)}),a.children.sort((u,l)=>u.name==="DataStore"?-1:l.name==="DataStore"?1:u.type===b.FileFolderType.CLASS_FOLDER&&l.type===b.FileFolderType.CLASS_FOLDER?u.name.localeCompare(l.name):u.type===b.FileFolderType.CLASS_FOLDER&&l.type!==b.FileFolderType.CLASS_FOLDER?-1:1),e[s]=a,e},toggleExpandFolder:(e,t)=>(e=Ce(e,{...t.payload,flags:{...t.payload.flags,expanded:!t.payload.flags.expanded}}),e),expandFolder:(e,t)=>(e=Ce(e,{...t.payload,flags:{...t.payload.flags,expanded:!0}}),e),openAddFileInput:(e,t)=>Ce(e,{...t.payload,flags:{...t.payload.flags,adding:!0}}),addNewFile:(e,t)=>{const{parent:r,child:a}=t.payload;return Ce(e,{...r,children:[a,...r.children||[]]})},removeFile:(e,t)=>{const{parent:r,child:a}=t.payload;return Ce(e,{...r,children:r.children.filter(s=>s.path!==a.path)})},refreshFile:(e,t)=>{const{parent:r,child:a}=t.payload,s=(r.children||[]).filter(i=>i.path!==a.path&&!a.error);return Ce(e,{...r,children:[a,...s]})},setFolderChildren:(e,t)=>{const r=Xe(e,t.payload.parentPath);return r?Ce(e,{...r,children:t.payload.children}):e}},extraReducers:e=>{e.addCase(jn.pending,(t,r)=>{const{file:a,newname:s}=r.meta.arg,i=Xe(t,a.path);if(!i)return t;const u=a.path.split("/");u.pop();const l=`${u.join("/")}/${a.name}.${a.ext}`,f=`${u.join("/")}/${s}.${a.ext}`;switch(a.ext){case"4dm":case"4qs":b.lspSubject.next({action:b.LspActions.WILL_RENAME,payload:{oldPath:l,newPath:f}});break}return Ce(t,{...i,flags:{...i.flags,loading:!0}})}),e.addCase(jn.fulfilled,(t,r)=>{const{meta:{arg:{file:a}},payload:s}=r,i=Xe(t,a.path);if(!i)return t;switch(s.old.ext){case"4dm":case"4qs":b.lspSubject.next({action:b.LspActions.DID_RENAME,payload:{oldPath:s.old.path,newPath:s.new.path}});break}return Ce(t,{...i,flags:{...i.flags,loading:!1}})}),e.addCase(jn.rejected,(t,r)=>{const{file:a}=r.meta.arg,s=Xe(t,a.path);return s?Ce(t,{...s,flags:{...s.flags,loading:!1}}):t}),e.addCase(Jr.pending,(t,r)=>{const a=typeof r.meta.arg=="string"?r.meta.arg:r.meta.arg.nodePath,s=Xe(t,a);return s?Ce(t,{...s,flags:{...s.flags,loading:!0}}):t}),e.addCase(Jr.fulfilled,(t,r)=>{const a=typeof r.meta.arg=="string"?r.meta.arg:r.meta.arg.nodePath,s=Xe(t,a);return s?Ce(t,{...s,children:Hl(r.payload),flags:{...s.flags,loading:!1,cached:!0,expanded:!0},error:null}):t}),e.addCase(Jr.rejected,(t,r)=>{const a=typeof r.meta.arg=="string"?r.meta.arg:r.meta.arg.nodePath,s=Xe(t,a);return s?Ce(t,{...s,error:{message:r.payload},flags:{...s.flags,loading:!1,cached:!0,expanded:!0}}):t}),e.addCase($a.pending,(t,r)=>{const{nodePath:a}=typeof r.meta.arg=="string"?{nodePath:r.meta.arg}:r.meta.arg,s=Xe(t,a);return s?Ce(t,{...s,flags:{...s.flags,loading:!0}}):t}),e.addCase($a.fulfilled,(t,r)=>{const{nodePath:a,collapseIfExpanded:s=!0}=typeof r.meta.arg=="string"?{nodePath:r.meta.arg}:r.meta.arg,i=Xe(t,a);return i?Ce(t,{...i,children:Hl(r.payload),flags:{...i.flags,loading:!1,cached:!0,...s?{expanded:!1}:{}},error:null}):t}),e.addCase($a.rejected,(t,r)=>{const{nodePath:a,collapseIfExpanded:s=!0}=typeof r.meta.arg=="string"?{nodePath:r.meta.arg}:r.meta.arg,i=Xe(t,a);return i?Ce(t,{...i,error:{message:r.payload},flags:{...i.flags,loading:!1,cached:!0,...s?{expanded:!1}:{}}}):t}),e.addCase(ao.pending,(t,r)=>{const{fileName:a,parentNode:s,path:i,type:u}=r.meta.arg,l=b.getFileExtentionFromType(u),f=`${i}/${a}${l?`.${l}`:""}`;return Ce(t,{...s,children:[{name:a,path:f,type:u,error:null,flags:{loading:!0},config:{}},...s.children]})}),e.addCase(ao.fulfilled,(t,r)=>{const{path:a,fileName:s,type:i}=r.meta.arg,u=b.getFileExtentionFromType(i),l=`${a}${u?`.${u}`:""}`,{editor:f,supportedEditors:d}=pt(l);return Ce(t,{id:`${l}-${Date.now()}`,name:s,path:l,type:i,error:null,flags:{loading:!1},config:{editor:f,supportedEditors:d}})}),e.addCase(ao.rejected,(t,r)=>{const{path:a,fileName:s,type:i}=r.meta.arg,u=b.getFileExtentionFromType(i),l=`${a}${u?`.${u}`:""}`;return Ce(t,{name:s,path:l,type:i,error:{message:r.payload},flags:{loading:!1},config:{}})}),e.addCase(so.pending,(t,r)=>{const{node:a,parentNode:s}=r.meta.arg,i=`${a.name}_copy`,u=`${a.path}/${i}${a.ext?`.${a.ext}`:""}`;return Ce(t,{...s,children:[{name:i,path:u,type:a.type,error:null,flags:{loading:!0},permissions:{canRename:!0,canDelete:!0}},...s.children]})}),e.addCase(so.fulfilled,(t,r)=>{const{node:a}=r.payload,s=Dm(a.name),i=`${a.path}/${a.name}`,{editor:u,supportedEditors:l}=pt(i);return Ce(t,{name:s,path:i,type:a.type,error:null,flags:{loading:!1},config:{editor:u,supportedEditors:l}})}),e.addCase(so.rejected,(t,r)=>{const a=r.payload,{node:s}=r.meta.arg,i=`${s.name}_copy`,u=`${s.path}/${i}${s.ext?`.${s.ext}`:""}`;return Ce(t,{name:i,path:u,type:s.type,error:{message:a},flags:{loading:!1},config:{}})}),e.addCase(ka.pending,()=>{}),e.addCase(ka.fulfilled,(t,r)=>{var g;const{draggedNode:a,newLocation:s}=r.meta.arg,i=Pm(a.path),u=Xe(t,i),l=Xe(t,s.path),f=(g=u==null?void 0:u.children)==null?void 0:g.filter(_=>_.path!==a.path),d=s.path.split("/").length,h=a.path.split("/").length;return d>=h?(t=Ce(t,{...u,children:f}),t=Ce(t,{...l,children:[{...a,path:`${l.path}/${a.name}`},...l!=null&&l.children?l.children:[]],flags:{...l.flags,expanded:!0}})):(t=Ce(t,{...l,children:[{...a,path:`${l.path}/${a.name}`},...l!=null&&l.children?l.children:[]],flags:{...l.flags,expanded:!0}}),t=Ce(t,{...u,children:f})),t}),e.addCase(ka.rejected,()=>{b.toastSubject.next({message:"Error moving file",kind:"danger"})}),e.addCase(qn.pending,(t,r)=>{var v;const{fileName:a,parentNode:s,path:i,type:u,qodly:l}=r.meta.arg,f=b.getFileExtentionFromType(u,l),d=`${i}/${a}${f?`.${f}`:""}`,{editor:h,supportedEditors:g}=pt(d);switch(u){case b.FileFolderType.CLASS:case b.FileFolderType.METHOD:b.lspSubject.next({action:b.LspActions.WILL_CREATE,payload:{filePath:d}});break}const m=[...(v=s.children)==null?void 0:v.filter(S=>S.path!==d),{name:a,path:d,type:u===b.FileFolderType.CLASS?u:b.FileFolderType.FILE,error:null,flags:{loading:!0},config:{editor:h,supportedEditors:g},ext:f,date:new Date().toISOString(),info:{exist:!0,kind:u===b.FileFolderType.CLASS?"userClass":""}}],C=Ce(t,{...s,children:m});return ce.merge(t,C)}),e.addCase(qn.fulfilled,(t,r)=>{const{fileName:a,path:s,type:i,qodly:u}=r.meta.arg,l=b.getFileExtentionFromType(i,u),f=`${s}/${a}${l?`.${l}`:""}`,{editor:d,supportedEditors:h}=pt(f),g=Ce(t,{name:a,path:f,type:b.FileFolderType.FILE,error:null,flags:{},config:{editor:d,supportedEditors:h},ext:l,date:new Date().toISOString(),info:{exist:!0,kind:i===b.FileFolderType.CLASS?"userClass":""}});switch(i){case b.FileFolderType.CLASS:case b.FileFolderType.METHOD:b.lspSubject.next({action:b.LspActions.DID_CREATE,payload:{filePath:f}});break}return t=g,t}),e.addCase(qn.rejected,(t,r)=>{const{fileName:a,path:s,type:i}=r.meta.arg,u=b.getFileExtentionFromType(i),l=`${s}${u?`.${u}`:""}`,{editor:f,supportedEditors:d}=pt(l);return t=Ce(t,{name:a,path:l,type:b.FileFolderType.FILE,error:{message:"Failed creating file"},flags:{},config:{editor:f,supportedEditors:d},ext:u,date:new Date().toISOString()}),t}),e.addCase(k_.rejected,t=>{const r=Xe(t,b.HTTP_HANDLERS_TAB_PATH);return r&&(t=Ce(t,{...r,flags:{...r.flags,disabled:!0}})),t}),e.addMatcher(Vy(yn),(t,r)=>{const a=Xe(t,r.meta.arg.file.path);return a&&(t=Ce(t,{...a,flags:{...a.flags,loading:!0}})),t}),e.addMatcher(Yy(yn),(t,r)=>{const a=Xe(t,r.meta.arg.file.path),s=a!=null&&a.info?{...a.info,exist:!0}:void 0;return a&&(t=Ce(t,{...a,flags:{...a.flags,loading:!1,disabled:!1},info:s})),t}),e.addMatcher(zy(yn),(t,r)=>{const a=Xe(t,r.meta.arg.file.path);return a&&(t=Ce(t,{...a,flags:{...a.flags,loading:!1}})),b.toastSubject.next({message:"Failed to open file, try again",kind:"danger"}),t})}}),{toggleExpandFolder:yI,expandFolder:mI,openAddFileInput:_I,addNewFile:F_,refreshFile:bI,removeFile:Gl,setFolderChildren:SI,addClassesFolder:EI,removeClassesFolder:TI,renameClassesFolder:wI}=D_.actions;function I_(e,t){switch(e){case b.FileFolderType.WEBFORMS:{const r={metadata:{v:"1.0",datasources:[],styles:[]},components:{ROOT:{parent:"",type:{resolvedName:"Container"},isCanvas:!0,props:{airyMode:!1,className:"bg-white h-full w-full px-6",classNames:[],events:[]},displayName:"Page",custom:{},hidden:!1,nodes:[],linkedNodes:{}}}};return t["webforms.display-mode"]===wf.AIRY&&(r.components.ROOT.props.airyMode=!0),r}case b.FileFolderType.REPORT:return{metadata:{v:"1.0",datasources:[],styles:[]},pages:[{name:"doc",id:"index",components:{ROOT:{type:{resolvedName:"Document"},isCanvas:!0,props:{classNames:[],events:[],airyMode:!1,className:"bg-white h-full w-full px-6"},displayName:"Document",custom:{},parent:"",hidden:!1,nodes:[],linkedNodes:{}}}}]};case b.FileFolderType.METHODS:return`//%attributes = {}
169
- `;default:return""}}function M_(e,t,r){switch(t){case b.FileFolderType.MOBILEFORM:return`${e}.MForm`;case b.FileFolderType.WEBFORM:return`${e}.WebForm`;case b.FileFolderType.REPORT:return`${e}.QoDoc`;case b.FileFolderType.METHOD:case b.FileFolderType.CLASS:return`${e}.${r?"4qs":"4dm"}`;default:return e}}function CI(e){switch(e){case b.FolderRootPath.WEBFORMS:return b.FileFolderType.WEBFORMS;case b.FolderRootPath.METHODS:return b.FileFolderType.METHODS;case b.FolderRootPath.CLASSES:return b.FileFolderType.CLASSES;case b.FolderRootPath.REPORTS:case"Reports":return b.FileFolderType.REPORT;case"Mobile":return b.FileFolderType.MOBILE;default:return e}}function N_(e){switch(e){case b.FileFolderType.WEBFORMS:return b.FileFolderType.WEBFORM;case b.FileFolderType.REPORT:return b.FileFolderType.REPORT;case b.FileFolderType.CLASSES:return b.FileFolderType.CLASS;case b.FileFolderType.METHODS:return b.FileFolderType.METHOD;case b.FileFolderType.FOLDER:return b.FileFolderType.FOLDER;case b.FileFolderType.MOBILE:return b.FileFolderType.MOBILEFORM;default:return e}}const AI=K("files/tryEditMethod",async({method:e},{dispatch:t})=>{const r=e.filePath.split("/"),[a]=r[1].split("."),{editor:s}=pt(e.filePath);return await t(Df({file:{name:a,path:e.filePath,date:new Date().toISOString(),type:b.FileFolderType.CLASS,editor:s},line:e.startingLine+1})).unwrap()}),Vl=K("explorer/createModelFiles",async(e,{dispatch:t,getState:r})=>{var g;const a=r(),s=b.FolderRootPath.CLASSES,i=a.settings.server.qodly,u=Xe(a.explorer,s);if(!u)return;await t(Jr(s));const f=((g=r().explorer.find(_=>_.name===s))==null?void 0:g.children)||[];let d=[{content:"",name:""}];if(e.type==="dataclass"&&!e.toCreate){const{className:_,collectionName:m}=e;d=[{...pn().dataclass({name:_,qodly:i})},{...pn().collection({name:m,qodly:i})},{...pn().entity({name:_,qodly:i})}]}else if(e.type==="dataclass"&&e.toCreate){const{className:_,collectionName:m}=e;d=[{...pn()[e.toCreate]({name:_||m,qodly:i})}]}else d=[{...pn().model({name:"DataStore",qodly:i})}];d=d.filter(_=>!f.find(({name:m,ext:C,info:{exist:v=!0}={}})=>m===_.name&&C===(i?"4qs":"4dm")&&v)),await Promise.all(d.map(async({name:_,content:m})=>{await t(qn({type:b.FileFolderType.CLASS,path:s,fileName:_,parentNode:u,content:m,qodly:a.settings.server.qodly}))}));const h=e.type==="dataclass"&&e.expand?e.className:"";await t(Jr({nodePath:s,expandDataclass:h}))}),Jr=K("explorer/fetchFolderContent",async(e,{rejectWithValue:t,getState:r})=>{const{nodePath:a,expandDataclass:s=""}=typeof e=="string"?{nodePath:e}:e,i=r();try{const u=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:a});return i.catalog.state!=="loaded"?[]:a==="Classes"?Vn(i,u,s):u.map(l=>{const f=`${a}/${l.name}${l.ext?`.${l.ext}`:""}`,{editor:d,supportedEditors:h}=pt(f);return{name:l.name,size:l.size,type:l.type,date:`${l.date}`,flags:{},error:null,path:f,ext:l.ext,config:l.type==="folder"?{}:{editor:d,supportedEditors:h}}})}catch{return t("Failed loading file content please Reload"),a==="Classes"?Vn(i,[],s):[]}},{getPendingMeta:()=>{}}),L_=K("model/fetchClassesFolderContent",async(e,{getState:t})=>{const r=t(),a=b.FolderRootPath.CLASSES;if(Xe(r.explorer,a))try{const i=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:a});return Vn(r,i)}catch{return Vn(r,[])}}),$a=K("explorer/fetchFolderContentWithoutExpanding",async(e,{rejectWithValue:t,getState:r})=>{const{nodePath:a}=typeof e=="string"?{nodePath:e}:e,s=r();try{const i=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:a});return a==="Classes"?Vn(s,i):i.map(u=>{const l=`${a}/${u.name}${u.ext?`.${u.ext}`:""}`,{editor:f,supportedEditors:d}=pt(l);return{name:u.name,size:u.size,type:u.type,date:`${u.date}`,flags:{},error:null,path:l,ext:u.ext,config:u.type==="folder"?{}:{editor:f,supportedEditors:d}}})}catch{return t("Failed loading file content please Reload")}},{getPendingMeta:()=>{}});function xI(e){const t=e.split(".");return t.pop(),{name:t.join("."),ext:e.split(".")[e.split(".").length-1]}}const RI=K("explorer/uploadFileAndGetResponse",async e=>{const t=e.type.includes("image/")?"$rawPict=true":"$binary=true";try{const r=await fetch(`/rest/$upload?${t}`,{method:"POST",headers:{"Content-Type":e.type},body:e});return{status:r.status,data:await r.json()}}catch{return{status:500,data:null}}}),OI=K("explorer/uploadFile",async({file:e,path:t,parentNode:r},{dispatch:a})=>{const{editor:s,supportedEditors:i}=pt(t),{name:u,ext:l}=xI(e.name);a(F_({parent:r,child:{name:u,path:`${t}/${e.name}?t=${Date.now()}`,type:e.type,error:null,flags:{loading:!0},config:{editor:s,supportedEditors:i},ext:l}}));try{const f=await fetch(`/rest/$upload?$sharedFolder=true&$filename=${e.name}&$path=${t}`,{method:"POST",headers:{"Content-Type":e.type},body:e});return f.status>=300?(a(Gl({parent:r,child:{name:u,path:`${t}/${e.name}`,type:e.type,error:{message:"error uploading file"},flags:{},config:{editor:s,supportedEditors:i},ext:l}})),f.status!==413&&b.toastSubject.next({message:"error uploading file",kind:"danger"})):await a(Jr(r.path)),{status:f.status,fileName:e.name}}catch{return a(Gl({parent:r,child:{name:u,path:`${t}/${e.name}`,type:e.type,error:{message:"error uploading file"},flags:{},config:{editor:s,supportedEditors:i},ext:l}})),b.toastSubject.next({message:"error uploading file",kind:"danger"}),{status:500,fileName:e.name}}}),qn=K("explorer/createNewFile",async({fileName:e,type:t,path:r,parentNode:a,content:s},{dispatch:i,rejectWithValue:u,getState:l})=>{const{server:{qodly:f},project:d}=l().settings;try{const h=await b.setFileContent({name:M_(e,t,f),content:s||I_(t,d),path:r,asText:[b.FileFolderType.CLASS,b.FileFolderType.METHOD].includes(t)});return a.error&&(a.flags.expanded?await i(Jr(a.path)):await i($a(a.path))),{qodly:f,file:h,parentNode:a}}catch{return u("failed to create folder")}});function $_(e,t){const{qodly:r=!0,withExtension:a=!0}=t||{},s=b.getFileExtentionFromType(e.type,r);let i="";switch(e.type){case b.FileFolderType.WEBFORM:i=`${b.FolderRootPath.WEBFORMS}/${e.name}`;break;case b.FileFolderType.METHOD:i=`${b.FolderRootPath.METHODS}/${e.name}`;break;case b.FileFolderType.CLASS:i=`${b.FolderRootPath.CLASSES}/${e.name}`;break;default:return""}return`${i}${a?`.${s}`:""}`}const PI=K("explorer/createNewFileAndOpen",async(e,{dispatch:t,getState:r})=>{const a=await t(qn(e)).unwrap(),{qodly:s}=r().settings.server;if(a){const{file:i}=a,u=$_(i,{withExtension:!1,qodly:s}),{editor:l}=pt(u);await t(yn({file:{name:e.fileName,type:i.type,path:u,editor:l,date:new Date().toISOString()}}))}}),ao=K("explorer/createNewNode",async({fileName:e,path:t,parentNode:r},{rejectWithValue:a})=>{try{return{file:await b.createFolder({verb:b.DesignerRequestVerb.CREATE_FOLDER,path:`${t}/${e}`,recursive:!0}),parentNode:r}}catch{return b.toastSubject.next({message:"failed to create folder",kind:"danger"}),a("failed to create folder")}}),Ga=async({file:e,flags:t={},node:r={}})=>{var a;try{const s=e.path.split(".").at(-1),i=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:((a=e.editor)==null?void 0:a.key)!=="editors:img",as:am(s)?"json":"text"}),u={editor:e.editor};r!=null&&r.info&&(u.kind=r.info.kind);const l=b.getTypeFromExtension(e.path);l===b.FileFolderType.METHOD&&(u.attributes=b.parseAttributes(i.content),i.content=b.addAttributesToContent(i.content,{}));const{content:f,date:d,ext:h}=i;return t.confirmed===void 0&&(t.confirmed=!0),{date:d,view:{panel:{isOpen:!1,type:l===b.FileFolderType.WEBFORM?"component":"",current:l===b.FileFolderType.WEBFORM?"ROOT":""}},flags:{enabled:["WebForm","MForm"].includes(h),confirmed:t.confirmed},extra:u,name:e.name,path:e.path,type:l,initialContent:f,content:f,history:{stack:[],active:-1,locked:!1}}}catch(s){const{data:i}=s;if(i.__ERROR.find(u=>u.errCode===b.ERROR_CODES.FILE_NOT_FOUND))switch(e.path){case b.ROLES_TAB_PATH:{const u={permissions:{allowed:[]},privileges:[],roles:[]};return{date:new Date().toISOString(),flags:t,extra:{editor:{key:"editors:roles"},kind:"roles"},name:"Roles & Privileges",path:e.path,type:b.FileFolderType.ROLES,initialContent:u,content:u}}case b.SETTINGS_TAB_PATH:{const u={};return{date:new Date().toISOString(),flags:t,extra:{editor:{key:"editors:settings"},kind:"qodlyApp"},name:"Settings",path:e.path,type:b.FileFolderType.SETTINGS,initialContent:u,content:u}}}throw s}},k_=K("HTTPHandlers/fetch",async(e,{rejectWithValue:t})=>{const r=(await b.getFilesInfo({path:b.HTTP_HANDLERS_TAB_PATH})).files.find(a=>a.path===b.HTTP_HANDLERS_TAB_PATH);if(r!=null&&r.deleted)return t("not found")}),Uo=(e,t)=>{const r=(a,s)=>{for(const i of a){if(i.path===s)return i;if(i.children){const u=r(i.children,s);if(u)return u}}};return r(e,t)},DI=K("explorer/openFileFromLocation",async(e,{dispatch:t})=>{const r=om();if(r.page){const a=`WebForms/${r.page}.WebForm`,s=Il(a,r.editor,{key:"editors:webforms"});t(yn({file:{path:a,editor:s,name:r.page,type:b.FileFolderType.WEBFORM},flags:{confirmed:!0}}))}else if(r.path){const{filename:a,type:s}=b.getFilenameAndTypeFromPath(r.path),i=Il(r.path,r.editor);t(yn({file:{type:s,editor:i,name:a,path:r.path},flags:{confirmed:!0}}))}}),yn=K("explorer/openFile",async({file:e,inactive:t,isNew:r,flags:a={},info:s},{getState:i,dispatch:u})=>{const{root:{tabs:l},roles:f,explorer:d,debugger:{sessions:h},settings:{server:{qodly:g}}}=i(),_=l.find(({path:S})=>e.path===S);if(_){const S={..._,extra:{..._==null?void 0:_.extra,editor:e.editor??_.editor},flags:{..._==null?void 0:_.flags,...a}};return u(wt(S)),S}if(e.path.startsWith("Debugger")){const S=h.find(E=>`Debugger/${E.threadId}`===e.path);if(S){const{source:{content:E},source:A}=S.currentStackFrame,O={name:e.name,type:b.FileFolderType.DEBUGGER,date:new Date().toISOString(),path:e.path,content:E,view:{panel:{isOpen:!1,type:"",current:""}},initialContent:E,flags:{confirmed:!0},extra:{source:A,editor:e.editor}};return u(wt(O)),O}}const m=Uo(d,e.path);let C=null;try{C=await Ga({file:e,flags:a,node:m})}catch(S){const{data:E}=S;if(E.__ERROR.find(A=>[b.ERROR_CODES.JSON_MALFORMED,b.ERROR_CODES.JSON_MALFORMED_AT_LINE].includes(A.errCode))){const{confirmed:A}=await u(Xt({title:"Corrupt file",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,message:"Open in text editor ?"})).unwrap();if(A){const O=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:!0,as:"text"}),{content:F,date:R,ext:j}=O;C={date:R,view:{panel:{isOpen:!1,type:"",current:""}},flags:{enabled:["WebForm","MForm","QoDoc"].includes(j),confirmed:!0},extra:{editor:b.EDITOR.Code},name:e.name,path:e.path,type:b.getTypeFromExtension(e.path),initialContent:F,content:F,history:{stack:[],active:-1,locked:!1}}}}if(e.type===b.FileFolderType.CLASS&&s){const A=s.kind,O=`${e.name}.${g?"4qs":"4dm"}`,F=pn()[A]({name:O,qodly:g}).content;if(C={date:(await b.setFileContent({name:O,content:F,path:"Classes",asText:!0})).date,view:{panel:{isOpen:!1,type:"",current:""}},flags:{enabled:!1,confirmed:!0},extra:{editor:b.EDITOR.Code},name:e.name,path:e.path,type:b.getTypeFromExtension(e.path),initialContent:F,content:F,history:{stack:[],active:-1,locked:!1}},A==="app"){const j=await b.getFilesInfo(...Cy.map(W=>({path:`DatabaseMethods/${W.name}`})));Cy.forEach(W=>{const X=j.files.find(te=>te.path===`DatabaseMethods/${W.name}`);X!=null&&X.deleted&&b.setFileContent({name:W.name,content:W.content,path:"DatabaseMethods",asText:!0})})}}if(e.path===b.HTTP_HANDLERS_TAB_PATH){const A=(await b.getFilesInfo({path:b.HTTP_HANDLERS_TAB_PATH})).files.find(O=>O.path===b.HTTP_HANDLERS_TAB_PATH);A!=null&&A.deleted&&await b.setFileContent({name:b.HTTP_HANDLERS_TAB_PATH,content:"[]",path:"./",asText:!0}).then(async()=>{C=await Ga({file:e,flags:a,node:m})})}}return C&&(e.path===b.ROLES_TAB_PATH&&!f.flags.touched?u(Rf({content:C.content,date:C.date,flags:a})):e.path===b.SETTINGS_TAB_PATH&&u(Wo({path:"project",value:C.content})),u((t?vb:wt)({...C,isNew:r})),C)}),Df=K("explorer/openFileAtLine",async({file:e},{getState:t,dispatch:r})=>{const{root:{tabs:a},explorer:s}=t(),i=a.find(({path:f})=>e.path===f);if(i){const f={...i,extra:{...i==null?void 0:i.extra,editor:e.editor}};return r(wt(f)),f}const u=Uo(s,e.path),l=await Ga({file:e,node:u});return r(wt(l)),l}),q_=K("explorer/injectContentAtLine",async(e,{getState:t,dispatch:r,rejectWithValue:a})=>{const{explorer:s}=t();e.path.split("/").pop();const u=Xe(s,e.path);if(!u)return a(`Error while trying to inject content in file ${e.path}`);const l=`${u.path}.${u.ext}`,f=Uo(s,l),d=await Ga({file:{name:u.name,date:u.date||new Date().toISOString(),path:l,type:b.FileFolderType.CLASS,editor:u.config.editor},node:f});return await r(wt(d)),{...e,path:`${u.path}.${u.ext}`}}),j_=K("explorer/openFileAtSelection",async({file:e},{getState:t,dispatch:r})=>{const{root:{tabs:a},explorer:s}=t(),i=a.find(({path:f})=>e.path===f);if(i){const f={...i,extra:{...i==null?void 0:i.extra,editor:e.editor}};return r(wt(f)),f}const u=Uo(s,e.path),l=await Ga({file:e,node:u});return r(wt(l)),l}),zl=K("explorer/deleteFile",async e=>{const{name:t,type:r,path:a,flags:s}=e;if(s.error)return{deleted:!0,node:e};const i=a.split("/");return i.pop(),{deleted:await b.dropFile({root:b.FolderRootType.ROOT,type:N_(r),verb:b.DesignerRequestVerb.DROP,name:t,path:i.join("/")}),node:e}}),FI=K("explorer/deleteFolder",async(e,{getState:t,dispatch:r})=>{const{path:a,flags:s}=e;if(s.error)return{deleted:!0,node:e};const{deleted:i}=await b.removeItem({force:!0,path:a,verb:b.DesignerRequestVerb.REMOVE_ITEM}).catch(console.error)||{deleted:!1};if(e.children){const{tabs:u}=t().root;e.children.forEach(l=>{const f=u.findIndex(d=>d.path===l.path);r(Yo(f))})}return{deleted:i,node:e}}),Yl=K("explorer/removeFileNode",async(e,{getState:t,dispatch:r})=>{await b.removeItem({verb:b.DesignerRequestVerb.REMOVE_ITEM,path:e.path,force:!0}).catch(console.error);const{root:{tabs:a},catalog:s}=t();if((e.path==="Classes/DataStore"||B_(s,e))&&setTimeout(()=>{r(Xr())},Xa),e.ext){const i=a.findIndex(u=>u.path===e.path);i>=0&&r(Yo(i))}return{deleted:!0,node:e}}),B_=(e,t)=>{const{model:{singletons:r}}=e;return ce.values(r).some(a=>a.name===t.name)},jn=K("explorer/renameFile",async({file:e,newname:t},{dispatch:r,getState:a})=>{if(e.type!=="folder"){const i=e.path.split("/");i.pop();const u=`${i.join("/")}/${e.name}.${e.ext}`,l=`${i.join("/")}/${t}.${e.ext}`;await b.moveItem({verb:b.DesignerRequestVerb.MOVE_ITEM,path:u,newpath:l});const{catalog:f}=a();return B_(f,e)&&setTimeout(()=>{r(Xr())},Xa),{old:{...e,path:u},new:{...e,name:t,path:l}}}const s=e.path.split("/");return s.pop(),await b.moveItem({verb:b.DesignerRequestVerb.MOVE_ITEM,path:`${s.join("/")}/${e.name}`,newpath:`${s.join("/")}/${t}`}),{old:e,new:{...e,name:t,path:`${s.join("/")}/${t}`}}}),ka=K("explorer/relocateNode",async({draggedNode:e,newLocation:t},{rejectWithValue:r})=>{try{await b.moveItem({verb:b.DesignerRequestVerb.MOVE_ITEM,path:`${e.path}.${e.ext}`,newpath:`${t.path}/${e.name}.${e.ext}`})}catch{return r("can't move item")}}),so=K("explorer/duplicateNode",async({node:e,duplicateName:t},{rejectWithValue:r,fulfillWithValue:a,getState:s})=>{const i=e.path.split("/");i.pop();try{const{tabs:u}=s().root,l=u.find(({path:g})=>g===e.path),f=["4dm","4qm","4qs"].includes(e.ext),{content:d}=l||await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:!0,as:f?"text":"json"}),h=await b.setFileContent({name:`${t}.${e.ext}`,content:d,path:i.join("/"),asText:f});return a({node:{...h,path:i.join("/")}})}catch{return r("failed to duplicate file")}}),II=K("explorer/executeMethod",async({methodName:e,params:t=[],resultingDataSource:r={},namespace:a=""},{rejectWithValue:s})=>{var i,u;try{const l=window.Method4D.buildMethod({methodName:e,parameters:t,resultingDataSource:r},{namespace:a},null),f=b.callServerSideParser(await l.callServerSide({id:"",serverSideRef:""},"onclick",{}));return f!=null&&f.__NOTIFICATION?b.toastSubject.next({message:`${((i=f.__NOTIFICATION)==null?void 0:i.message)||""}`,kind:`${((u=f.__NOTIFICATION)==null?void 0:u.type)||"info"}`}):b.toastSubject.next({message:"Method executed Successfully",kind:"message"}),f}catch(l){return b.toastSubject.next({message:l.errorStack.length>1&&[{messages:l.errorStack.map(f=>f.message)}]||l.message||`Error executing the method "**${e}**"`,kind:"danger",markdown:!0}),s("can't execute method")}}),MI=e=>{const{dataClasses:t,...r}=e;return{...r,dataClasses:t==null?void 0:t.map(a=>{let s={...a};if(s.uuid||(s={...s,uuid:b.generateUUID()}),s.attributes){const i=["storage","relatedEntity"],u=s.attributes.map(l=>i.includes(l.kind)&&!l.uuid?{...l,uuid:b.generateUUID()}:l);s={...s,attributes:[...u]}}return s})}},NI=K("files/fetchFiles",async()=>b.getFolders(b.FolderRootType.WEBFORMS,b.FolderRootType.METHODS,b.FolderRootType.CLASSES)),Ff=K("tabs/renameDatasource",async(e,{dispatch:t,getState:r})=>{var m,C;const a=!!e.datasourceNamespace,{confirmed:s}=await t(Xt({message:"Are you sure you want to rename the datasource?",title:"Rename Datasource",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,views:{toggles:{},tips:a?[{type:"warning",message:"The datasource property of components bound with this datasource will also be updated on opened web forms only"},{type:"warning",message:"The origin of some other datasources might be also renamed (if this datasource is the origin of other datasources)"}]:[{type:"warning",message:"The datasource property of components bound with this datasource will also be updated"},{type:"warning",message:"The origin of some other datasources might be also renamed (if this datasource is the origin of other datasources)"}]}})).unwrap();if(!s)return null;const{autoUpdateReferences:i,datasourceId:u,datasourceNamespace:l,value:f,path:d}=e,h=r();let g=[];if(a){const v=h.sharedDatasources.sources[l]||[];g.push(...v)}else if(d){const v=h.root.tabs.find(b.by("path",d));if(g=(C=(m=v==null?void 0:v.content)==null?void 0:m.metadata)==null?void 0:C.datasources,!g)return null}const _=new RegExp(`^${u}\\b`,"");if(g=g.map(v=>{const S=(b.isObjectDatasource(v)||!b.isSimpleDatasource(v))&&v.from&&_.test(v.from),E=v.events?v.events.map(A=>{var O,F,R,j;switch(A==null?void 0:A.type){case"method":{const W=A;return W.params?{...W,params:W.params.map(X=>{var te;return{...X,datasource:(te=X.datasource)==null?void 0:te.replace(new RegExp(`^${u}`,""),f)}}),returns:(O=W.returns)!=null&&O.datasource?{...W.returns,datasource:(F=W.returns.datasource)==null?void 0:F.replace(new RegExp(`^${u}`,""),f)}:W.returns}:W}case"simple-action":{const W=A;return W.datasource?{...W,datasource:{...W.datasource,name:(R=W.datasource.name)==null?void 0:R.replace(new RegExp(`^${u}`,""),f),from:(j=W.datasource.from)==null?void 0:j.replace(new RegExp(`^${u}`,""),f)}}:W}default:return A}}):v.events;return v.id===u?{...v,id:f,events:E}:S&&v.from?{...v,from:v.from.replace(new RegExp(`^${u}`,""),f),events:E}:{...v,events:E}}),i){const v=a?`${l}:${u}`:`${u}`,S=a?`${l}:${f}`:`${f}`;b.datasourcesSubject.next({path:d??"",action:b.DatasourcesActions.RENAME,old_reference:v,new_reference:S,is_shared:a})}return{path:d,namespace:l,datasources:g}}),If=K("tabs/edit-datasource",(e,{getState:t})=>{var i,u;const r=t();let a=[];if(e.namespace)a=r.sharedDatasources.sources[e.namespace];else{const l=r.root.tabs.find(b.by("path",e.path));l&&(a=((u=(i=l.content)==null?void 0:i.metadata)==null?void 0:u.datasources)||[])}return a.map(l=>l.id===e.datasourceId?Object.assign({},l,{[e.propertyKey]:e.value}):l)}),W_=K("tabs/fetchChanges",async(e,{getState:t})=>{const a=bn(t()).filter(s=>[b.FileFolderType.METHOD,b.FileFolderType.CLASS].includes(s.type));return b.getFilesInfo(...a.map(s=>{const[i]=s.path.split("/").filter(Boolean);return{name:s.name,type:s.type,root:i,path:"."}}))}),LI=K("files/saveAll",async(e,{getState:t,dispatch:r})=>{const a=mf(t());for(const s of a)r(Bn({tab:s}))}),Mf=K("files/tryCloseTab",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root,s=a.findIndex(u=>u.path===e);if(s===-1)return!1;const i=a[s];if(i!=null&&i.flags.touched){const{confirmed:u}=await r(Xt({title:xo(i),message:"Your unsaved changes will be lost. Proceed anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!u)return!1}return r(Yo(s)),i.path===b.ROLES_TAB_PATH&&i.flags.touched&&(async()=>{const l=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:b.ROLES_TAB_PATH,content:!0,as:"json"});r(Rf({content:l.content,date:l.date}))})(),!0}),$I=K("files/tryCloseOtherTabs",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root;if(a.some(i=>i.path!==e&&i.flags.touched===!0)){const{confirmed:i}=await r(Xt({title:"Closing other tabs",message:"Your changes will be lost if you do not save them. Close anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!i)return}r(pb(e))}),kI=K("files/tryCloseAllTabs",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root;if(a.some(i=>i.flags.touched===!0)){const{confirmed:i}=await r(Xt({title:"Closing all tabs",message:"Your changes will be lost if you do not save them. Close anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!i)return}r(fb())}),qI=K("files/tryCloseRightTabs",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root;let s=!1;for(let i=a.length-1;i>e;i-=1)if(a[i].flags.touched){s=!0;break}if(s){const{confirmed:i}=await r(Xt({title:"Closing right tabs",message:"Your changes will be lost if you do not save them. Close anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!i)return}r(db(e))}),jI=K("files/tryCloseLeftTabs",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root;let s=!1;for(let i=0;i<e;i+=1)if(a[i].flags.touched){s=!0;break}if(s){const{confirmed:i}=await r(Xt({title:"Closing left tabs",message:"Your changes will be lost if you do not save them. Close anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!i)return}r(hb(e))}),oo=K("files/reloadTab",async(e,{dispatch:t})=>{if(e.flags.touched){const{confirmed:s}=await t(Xt({title:xo(e),message:"Changes made to the file will be lost. Continue?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!s)throw new Error("Cancel modal!")}const r=gf(e.path),a=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:!0,as:r});if(e.path===b.ROLES_TAB_PATH){const{roles:s,privileges:i}=jo(a.content);t(Of({roles:s,privileges:i}))}else if(e.path===b.SETTINGS_TAB_PATH){const{content:s}=a;t(Wo({path:"project",value:s}))}else{const{content:s}=a;e.type===b.FileFolderType.WEBFORM?b.webformSubject.next({path:e.path,action:b.WebformActions.RELOAD,payload:s.components}):e.type===b.FileFolderType.MODEL&&$m.next({action:"reload",payload:s})}return a}),Bn=K("files/saveTab",async({tab:e},{dispatch:t,getState:r})=>{let{path:a,content:s}=e;if(e.type===b.FileFolderType.DEBUGGER)return{...e,errors:[]};a.split("/").pop();const u=await b.getFilesInfo({path:a});if(u.files[0]){const g=new Date(e.date),_=new Date(u.files[0].date);if(g.getTime()<_.getTime()){const{confirmed:m}=await t(Xt({title:xo(e),message:"New content has been found on the server. Are you sure you want to continue?",type:b.ModalType.CONFIRM,icon:"FdSave"})).unwrap();if(!m)return t(lb({path:a,flags:{old:!0}})),null}}const l=BI(e,r()),f=await b.saveContent({verb:b.DesignerRequestVerb.SAVE_CONTENT,content:l,path:a});(e.type===b.FileFolderType.CLASS||e.type===b.FileFolderType.MODEL)&&setTimeout(()=>{t(Xr())},Xa);const d=(f.modelErrors||[]).map(g=>g.message),h=(f.permissionsErrors||[]).map(g=>g.message);return b.FileFolderType.MODEL===e.type&&(s=l),{...e,content:s,date:f.date,initialContent:s,errors:d.length>0||h.length>0?[{title:"Model errors",messages:d},{title:"Permissions errors",messages:h}]:[]}}),BI=(e,t)=>{var r,a;switch(!0){case e.path==="settings.json":case e.path===b.SETTINGS_TAB_PATH:return t.settings.project;case e.type===b.FileFolderType.ROLES:return((a=(r=e.extra)==null?void 0:r.editor)==null?void 0:a.key)==="editors:roles"?Bo(t.roles):e.content;case e.type===b.FileFolderType.MODEL:{const s=e.content||{toJSON:!0,dataClasses:[],extraProperties:{}};return MI(s)}default:return e.content}},Ay=async e=>{if(e.type===b.FileFolderType.DATA_EXPLORER)return{name:"Data Explorer",path:e.path,flags:{},view:{panel:{isOpen:!1,type:"",current:""}},type:e.type,date:new Date().toISOString()};const t=gf(e.path),r=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:!0,as:t}),a={};r.type===b.FileFolderType.METHOD&&(a.attributes=b.parseAttributes(r.content));const{date:s,name:i,type:u,content:l}=r;return{date:s,flags:{enabled:e.type===b.FileFolderType.WEBFORM},extra:a,view:{panel:{isOpen:!1,type:"",current:""}},name:i,path:e.path,type:u,initialContent:l,content:u===b.FileFolderType.MODEL?nm(l):l,history:{stack:[],active:-1,locked:!1}}},U_=ce.debounce((e,t)=>{t(bb(e))},300),WI=K("tabs/setTabContent",(e,{getState:t,dispatch:r})=>{var u;const{root:{tabs:a}}=t(),s=a.find(l=>l.path===e.path),i=!!((u=s==null?void 0:s.history)!=null&&u.locked);r(kf(e)),i?r(qf(e.path)):U_(e.path,r)}),UI=K("tabs/setCurrentWebformState",(e,{getState:t,dispatch:r})=>{var u;const{root:{tabs:a}}=t(),s=a.find(l=>l.path===e.path),i=!!((u=s==null?void 0:s.history)!=null&&u.locked);r(yb(e)),i?r(qf(e.path)):U_(e.path,r)}),H_=K("files/tryInjectMethod",async({type:e,dataclass:t,expand:r},{getState:a,dispatch:s})=>{const{root:{tabs:i},settings:{server:{qodly:u}}}=a(),l=b.getFileExtentionFromType("class",u);let f="",d="",h=null;if(!t)f="DataStore",d=`Classes/DataStore.${l}`;else switch(e){case"dataclass":f=t,d=`Classes/${t}.${l}`;break;case"collection":f=`${t}Selection`,d=`Classes/${t}Selection.${l}`;break;case"entity":f=`${t}Entity`,d=`Classes/${t}Entity.${l}`;break;default:return h}const g=i.find(b.by("path",d));if(g)return s(wt(g)),g;try{h=await Ay({name:f,date:new Date().toISOString(),path:d,type:b.FileFolderType.CLASS})}catch{t?await s(Vl({type:"dataclass",className:t,collectionName:`${t}Selection`,toCreate:e,expand:r})):await s(Vl({type:"model"}))}return h=await Ay({date:new Date().toISOString(),path:d,type:b.FileFolderType.CLASS}),h.path=d,s(wt(h)),h}),HI=K("roles/open",async(e,{dispatch:t,getState:r})=>{const{tabs:a}=r().root,s=a.find(i=>i.path===b.ROLES_TAB_PATH);if(s)return t(wt(s)),s;t(Eo())});function xy(e,t){const{line:r,lineInEditor:a,offset:s,type:i="saved"}=t;e.breakpoints[i].locations.push({line:r,lineInEditor:a}),ce.isNumber(s)&&(e.breakpoints[i].offset=s)}function wl(e,t,r,a,s=!1){if(s){const i=new Map;let u=0;e.breakpoints[r].locations.forEach((l,f)=>{l.disabled?i.set(f,-1):i.set(f,u++)}),e.breakpoints[r].locations=e.breakpoints[r].locations.map((l,f)=>{const d=i.get(f);return!l.disabled&&ce.isNumber(d)&&t[d]?{...l,...t[d]}:l})}else e.breakpoints[r].locations=t;ce.isNumber(a)&&(e.breakpoints[r].offset=a)}function Ry({filePath:e,fileType:t,methodName:r,className:a,ext:s,source:i}){return{filePath:e,fileType:t,methodName:r,className:a,ext:s,source:i,breakpoints:{draft:{locations:[],offset:0},saved:{locations:[],offset:0}}}}function Cl(e,t,r){let a=!1;const s=e.map(i=>i[r]!==t[r]?i:(a=!0,{...i,...t}));return a?s:[...s,t]}function Zs(e){return e.map(({label:t})=>({label:t}))}const G_=Dt({name:"debugger",initialState:()=>{var t,r;const{debugger:e={meta:{state:Hr.DETACHED},list:[],sessions:[],expressions:[]}}=_n();return{meta:{...e.meta,state:((t=e.meta)==null?void 0:t.state)===Hr.ATTACHED?(r=e.meta)==null?void 0:r.state:Hr.DETACHED},list:e.list||[],sessions:e.sessions||[],expressions:e.expressions||[]}},reducers:{addBreakpointDecoration(e,t){const{filePath:r,fileType:a,methodName:s,className:i,ext:u,source:l,breakpoint:f}=t.payload,d=cr(e.list,r,s,i);if(d)xy(d,f);else{if(a===b.FileFolderType.CLASS&&f.offset===void 0)throw new Error(`Cannot add a breakpoint on a function without offset. Try editing the ${i} class.`);const h=Ry({filePath:r,fileType:a,methodName:s,className:i,ext:u,source:l});xy(h,f),e.list.push(h)}},removeBreakpointDecoration(e,t){const{filePath:r,methodName:a,line:s,offset:i=0,type:u="saved"}=t.payload;if(r.startsWith("Classes/")){const l=e.list.filter(f=>f.filePath===r);if(l.length>0){const f=s+i;l.forEach(d=>{const h=d.breakpoints[u].offset||0;d.breakpoints[u].locations=d.breakpoints[u].locations.filter(g=>g.line+h!==f),u==="saved"&&(d.breakpoints.draft.locations=d.breakpoints.draft.locations.filter(g=>g.line+h!==f))})}}else{const l=cr(e.list,r,a);l&&(l.breakpoints[u].locations=l.breakpoints[u].locations.filter(f=>f.line!==s),u==="saved"&&(l.breakpoints.draft.locations=l.breakpoints.draft.locations.filter(f=>f.line!==s)))}},setBreakpointsDecoration(e,t){const{filePath:r,fileType:a,methodName:s,className:i,ext:u,source:l,breakpoints:f,offset:d,type:h="saved",merge:g=!1,clearDraft:_}=t.payload,m=cr(e.list,r,s,i);if(m)wl(m,f,h,d,g),_&&h!=="draft"&&(m.breakpoints.draft.locations=[]);else{const C=Ry({filePath:r,fileType:a,methodName:s,className:i,ext:u,source:l});wl(C,f,h,d),e.list.push(C)}},updateBreakpointsDecoration(e,t){const{filePath:r,methodName:a,className:s,breakpoints:i,type:u="saved",merge:l=!1}=t.payload,f=cr(e.list,r,a,s);f&&wl(f,i,u,void 0,l)},clearBreakpoints(e,t){const{filePath:r,type:a="saved"}=t.payload;e.list=e.list.map(s=>({...s,breakpoints:s.filePath===r?{draft:!a||a==="draft"||a==="any"?{locations:[],offset:0}:s.breakpoints.draft,saved:!a||a==="saved"||a==="any"?{locations:[],offset:0}:s.breakpoints.saved}:s.breakpoints}))},clearBreakpointsExcept(e,t){const{exceptedFilePath:r,type:a="saved"}=t.payload;e.list=e.list.map(s=>({...s,breakpoints:s.filePath!==r?{draft:!a||a==="draft"||a==="any"?{locations:[],offset:0}:s.breakpoints.draft,saved:!a||a==="saved"||a==="any"?{locations:[],offset:0}:s.breakpoints.saved}:s.breakpoints}))},clearAllBreakpoints(e){e.list=e.list.map(t=>({...t,breakpoints:{draft:{locations:[],offset:0},saved:{locations:[],offset:0}}}))},toggleBreakpoint(e,t){const{filePath:r,methodName:a,line:s,offset:i=0,disabled:u}=t.payload;if(r.startsWith("Classes/")){const l=e.list.filter(f=>f.filePath===r);if(l.length>0){const f=s+i;l.forEach(d=>{const h=d.breakpoints.saved.offset||0;d.breakpoints.saved.locations=d.breakpoints.saved.locations.map(g=>g.line+h===f?{...g,disabled:u}:g)})}}else{const l=cr(e.list,r,a);l&&(l.breakpoints.saved.locations=l.breakpoints.saved.locations.map(f=>f.line===s?{...f,disabled:u}:f))}},toggleBreakpointsInFile(e,t){const{filePath:r,methodName:a,disabled:s}=t.payload;if(r.startsWith("Classes/")){const i=e.list.filter(u=>u.filePath===r);i.length>0&&i.forEach(u=>{u.breakpoints.saved.locations=u.breakpoints.saved.locations.map(l=>({...l,disabled:s}))})}else{const i=cr(e.list,r,a);i&&(i.breakpoints.saved.locations=i.breakpoints.saved.locations.map(u=>({...u,disabled:s})))}},disableAllBreakpoints(e){e.list=e.list.map(t=>({...t,breakpoints:{...t.breakpoints,saved:{...t.breakpoints.saved,locations:t.breakpoints.saved.locations.map(r=>({...r,disabled:!0}))}}}))},enableAllBreakpoints(e){e.list=e.list.map(t=>({...t,breakpoints:{...t.breakpoints,saved:{...t.breakpoints.saved,locations:t.breakpoints.saved.locations.map(r=>({...r,disabled:!1}))}}}))},setActiveLine(e,t){const{threadId:r,line:a,highlight:s}=t.payload,i=Ze(e.sessions,r);i&&(i.activeLine=a,s&&(i.highlightedLines={start:a,end:a}))},addExpression(e,t){const{threadId:r,label:a,save:s}=t.payload,i=Ze(e.sessions,r);i&&i.stopped&&(i.expressions=[...i.expressions||[],{label:a}],s&&(e.expressions=Zs(i.expressions)))},removeExpression(e,t){const{threadId:r,index:a,save:s}=t.payload,i=Ze(e.sessions,r);i&&(i.expressions=i.expressions.filter((u,l)=>l!==a),s&&(e.expressions=Zs(i.expressions)))},removeAllExpressions(e,t){const{threadId:r,save:a}=t.payload,s=Ze(e.sessions,r);s&&(s.expressions=[],a&&(e.expressions=[]))},renameExpression(e,t){const{threadId:r,index:a,replacement:s,save:i}=t.payload,u=Ze(e.sessions,r);u&&u.expressions[a]&&(u.expressions[a].label=s,i&&(e.expressions=Zs(u.expressions)))},setExpression(e,t){const{threadId:r,expression:a}=t.payload,s=Ze(e.sessions,r);if(s){const i=a.index>=0?a.index:s.expressions.length>0?s.expressions.length-1:0,u=s.expressions[i];u?(u.result=a.result,u.nakedResult=a.nakedResult,u.variablesReference=a.variablesReference||0,u.presentationHint=a.presentationHint):s.expressions.push(a)}},updateExpressionAt(e,t){const{threadId:r,index:a,value:s}=t.payload,i=Ze(e.sessions,r);if(i){const u=i.expressions[a];u&&(u.result=`"${s}"`,u.nakedResult=s)}},saveExpressions(e,t){const{expressions:r}=t.payload;e.expressions=Zs(r)},addSession(e,t){const{threadId:r,channelId:a,stackFrames:s,exceptions:i=[]}=t.payload,u=Ze(e.sessions,r),l=s[0],{expressions:f=[]}=e;if(u)u.expressions=f;else{const d=df(r);e.sessions.push({tabPath:d,threadId:r,channelId:a,stackFrames:s,currentStackFrame:l,exceptions:i,expressions:f,variables:{callchain:[],expressions:[],local:[],currentLine:[]},highlightedLines:null,activeLine:null,stopped:!0})}},updateSession(e,t){const{threadId:r,changes:a}=t.payload;e.sessions=e.sessions.map(s=>s.threadId===r?{...s,...a}:s)},removeSession(e,t){const{threadId:r}=t.payload;e.sessions=e.sessions.filter(a=>a.threadId!==r)},removeSessionByIndex(e,t){const r=t.payload;e.sessions.splice(r,1)},setSessions(e,t){const r=t.payload;e.sessions=r},setCommonVariables(e,t){const{key:r,threadId:a,frameId:s,variablesReference:i,variables:u}=t.payload;e.sessions=e.sessions.map(l=>{var f;return l.threadId===a?{...l,variables:{...l.variables,[r]:Cl((f=l.variables)==null?void 0:f[r],{frameId:s,variablesReference:i,items:u},"frameId")}}:l})},setCallChainVariables(e,t){const{threadId:r,frameId:a,variablesReference:s,variables:i}=t.payload;e.sessions=e.sessions.map(u=>{var l;return u.threadId===r?{...u,variables:{...u.variables,callchain:Cl((l=u.variables)==null?void 0:l.callchain,{frameId:a,variablesReference:s,items:i},"frameId")}}:u})},setExpressionVariables(e,t){const{threadId:r,variablesReference:a,variables:s}=t.payload;e.sessions=e.sessions.map(i=>{var u;return i.threadId===r?{...i,variables:{...i.variables,expressions:Cl((u=i.variables)==null?void 0:u.expressions,{variablesReference:a,items:s},"variablesReference")}}:i})},setSourceContent(e,t){const{threadId:r,content:a}=t.payload,s=Ze(e.sessions,r);s&&(s.currentStackFrame.source={...s.currentStackFrame.source,content:a})},setDebuggerMeta(e,t){if(t.payload.state===Hr.ERROR){const{error:r={code:null,reason:"",type:yo.SOCKET_ERROR}}=t.payload;if(e.meta.error={...e.meta.error,...r,time:Date.now()},(r==null?void 0:r.type)===yo.SOCKET_CLOSURE&&(r==null?void 0:r.code)===1e3&&!(r!=null&&r.reason)&&e.meta.state===Hr.DETACHED)return}e.meta.state=t.payload.state}},extraReducers:e=>{e.addCase(z_.fulfilled,t=>{t.sessions=[]})}}),{addBreakpointDecoration:GI,removeBreakpointDecoration:VI,setBreakpointsDecoration:zI,updateBreakpointsDecoration:YI,clearBreakpoints:KI,clearBreakpointsExcept:QI,clearAllBreakpoints:JI,toggleBreakpoint:XI,toggleBreakpointsInFile:ZI,disableAllBreakpoints:eM,enableAllBreakpoints:tM,setActiveLine:rM,addExpression:nM,renameExpression:aM,removeExpression:sM,removeAllExpressions:oM,setExpression:iM,updateExpressionAt:uM,saveExpressions:cM,addSession:lM,updateSession:fM,removeSession:dM,removeSessionByIndex:pM,setSessions:V_,setCallChainVariables:hM,setExpressionVariables:gM,setCommonVariables:vM,setSourceContent:yM,setDebuggerMeta:mM}=G_.actions,z_=K("files/wipeDebuggerSessions",async(e,{getState:t,dispatch:r})=>{const{sessions:a}=t().debugger;for(const{threadId:s}of a){const i=df(s);r(Mf(i))}}),Y_=K("files/removeDebuggerSessionsNotIn",async(e,{getState:t,dispatch:r})=>{const{threadIds:a}=e,{sessions:s}=t().debugger,i=[],u=s.filter(l=>{const f=a.includes(l.threadId);return f||i.push(l.threadId),f});return r(V_(u)),{staleThreadIds:i}}),To=K("models/fetch",async()=>(await b.http(b.API_PREFIX,{method:"POST",body:JSON.stringify({verb:b.DesignerRequestVerb.GET_INFO,path:b.MODEL_TAB_PATH,as:"json",content:!0}),headers:new Headers({"Content-Type":"application/json"})})).content),wo=K("models/save",async(e,{getState:t,dispatch:r,rejectWithValue:a})=>{const{tabs:s}=t().root,i=s.find(u=>u.path===b.MODEL_TAB_PATH);if(!i)return a("Error while saving the model");try{const u=await b.http(b.API_PREFIX,{method:"POST",body:JSON.stringify({verb:"save",path:i.path,content:i.content}),headers:new Headers({"Content-Type":"application/json"})});return setTimeout(()=>{r(Xr())},Xa),{...u,path:i.path,content:e.content||{toJSON:!0,dataClasses:[],extraProperties:{}}}}catch{return a("Error while saving the model")}}),_M=K("models/open",async(e,{dispatch:t,getState:r})=>{const{tabs:a}=r().root,s=a.find(i=>i.path==="models/main");if(s)return t(wt(s)),s;t(To())}),bM=K("model/rename-dataclass",async({dataclassId:e,selectionId:t,name:r},{getState:a,dispatch:s})=>{const i=await s(L_()).then(g=>g.payload);if(!a().explorer.find(g=>g.path===b.FolderRootPath.CLASSES))throw new Error("Classes folder was not found!");const f={class:{found:!1,newNameTaken:!1,file:null,filename_update:r},entity:{found:!1,newNameTaken:!1,file:null,filename_update:`${r}Entity`},selection:{found:!1,newNameTaken:!1,file:null,filename_update:`${r}Selection`}};i==null||i.forEach(g=>{var _;g.path===`Classes/${e}___[<QODLY_ID>]`?(_=g.children)==null||_.forEach(m=>{var v,S,E,A;const C={...m,name:(v=m.info)==null?void 0:v.filename};((S=m.info)==null?void 0:S.filename)===e?(f.class.found=!0,f.class.file=C):((E=m.info)==null?void 0:E.filename)===`${e}Entity`?(f.entity.found=!0,f.entity.file=C):((A=m.info)==null?void 0:A.filename)===t&&(f.selection.found=!0,f.selection.file=C)}):(g.name===f.class.filename_update&&(f.class.newNameTaken=!0),g.name===f.entity.filename_update&&(f.entity.newNameTaken=!0),g.name===f.selection.filename_update&&(f.selection.newNameTaken=!0))});const d=Object.entries(f).reduce((g,_)=>{const[m,C]=_;return C.found?C.newNameTaken?[...g,{type:"error",message:`Cannot rename ${m} file to ${C.filename_update} because it already exists. The existing file will be used instead!`}]:g:[...g,{type:"warning",message:`${e} ${m} file was not found`}]},[]);d.length>0&&s(Xt({message:"The following errors were encountered during dataclass rename:",views:{tips:d}}));const h=Object.values(f).filter(g=>g.found&&g.file&&!g.newNameTaken);await Promise.all(h.map(async g=>await s(jn({file:g.file,newname:g.filename_update}))))}),Va={DATACLASS_DELETE:"dataclass.delete",DATACLASS_DRAGGABLE:"dataclass.draggable"},SM={model:{dataClasses:{},collections:{},extraProperties:{}},draft:{dataClasses:{},collections:{},extraProperties:{}},flags:{[Va.DATACLASS_DELETE]:!0,[Va.DATACLASS_DRAGGABLE]:!0}},K_=Dt({name:"Models",initialState:SM,reducers:{setModelFlag(e,t){e.flags={...e.flags,...t.payload}}},extraReducers(e){e.addCase(To.fulfilled,(t,r)=>{var u;const a={},s={},i=r.payload.extraProperties||{};(u=r.payload.dataClasses)==null||u.forEach(l=>{a[l.name]=l,s[l.collectionName]=l}),t.draft.dataClasses=a,t.draft.collections=s,t.draft.extraProperties=i,t.model.dataClasses=a,t.model.collections=s,t.model.extraProperties=i}),e.addCase(To.rejected,t=>{t.errored=!0}),e.addCase(wo.pending,()=>{}).addCase(wo.fulfilled,(t,r)=>{const a={},s={},i=r.payload.content.extraProperties||{};r.payload.content.dataClasses.forEach(u=>{a[u.name]=u,s[u.collectionName]=u}),t.draft.dataClasses=a,t.draft.collections=s,t.draft.extraProperties=i,t.model.dataClasses=a,t.model.collections=s,t.model.extraProperties=i})}}),{setModelFlag:EM}=K_.actions;var Q_=(e=>(e.UUID="uuid",e.STRING="string",e.TEXT="text",e.DATE="date",e.TIME="duration",e.BOOLEAN="bool",e.BYTE="byte",e.INTEGER="word",e.LONG="long",e.LONG64="long64",e.FLOAT="number",e.BLOB="blob",e.IMAGE="image",e.OBJECT="object",e))(Q_||{}),Ho=(e=>(e.STORAGE="storage",e.RELATEDENTITY="relatedEntity",e.RELATEDENTITIES="relatedEntities",e.CALCULATED="calculated",e.COMPOSITION="composition",e.ALIAS="alias",e))(Ho||{});const TM=e=>["string","uuid","number","long"].includes(e.type),wM=[{label:"Storage",value:"storage"},{label:"Calculated",value:"calculated"}],CM=[{title:"UUID",kind:"storage",value:"uuid",calculatedType:"uuid",calculatedKind:"storage"},{title:"Long",kind:"storage",value:"long",calculatedType:"long",calculatedKind:"storage"}],AM=[{title:"String",kind:"storage",value:"string",calculatedType:"string",calculatedKind:"storage"},{title:"Text",kind:"storage",value:"text",calculatedType:"text",calculatedKind:"storage"},{title:"UUID",kind:"storage",value:"uuid",calculatedType:"uuid",calculatedKind:"storage"},{title:"Date",kind:"storage",value:"date",calculatedType:"date",calculatedKind:"storage"},{title:"Duration",kind:"storage",value:"duration",calculatedType:"duration",calculatedKind:"storage"},{title:"Bool",kind:"storage",value:"bool",calculatedType:"bool",calculatedKind:"storage"},{title:"Byte",kind:"storage",value:"byte",calculatedType:"byte",calculatedKind:"storage"},{title:"Word",kind:"storage",value:"word",calculatedType:"word",calculatedKind:"storage"},{title:"Number",kind:"storage",value:"number",calculatedType:"number",calculatedKind:"storage"},{title:"Long",kind:"storage",value:"long",calculatedType:"long",calculatedKind:"storage"},{title:"Object",kind:"storage",value:"object",calculatedType:"object",calculatedKind:"storage"},{title:"Image",kind:"storage",value:"image",calculatedType:"image",calculatedKind:"storage"},{title:"Blob",kind:"storage",value:"blob",calculatedType:"blob",calculatedKind:"storage"}],xM=[{label:"Expose as REST",value:"public"},{label:"Do not expose as REST",value:"publicOnServer"}],RM=[{label:"Expose as REST",value:"public"},{label:"Do not expose as REST",value:"publicOnServer"}],OM=[{label:"None",value:"none"},{label:"B-tree",value:"btree"},{label:"Cluster",value:"cluster"},{label:"Automatic",value:"auto"}],PM=(e,t)=>({toJSON:!0,extraProperties:t,dataClasses:e.map(r=>{var a;return{...r.data,extraProperties:{position:{x:r.position.x,y:r.position.y},panelColor:(a=r.data.extraProperties)==null?void 0:a.panelColor}}})});function DM(e,t,r){const a=e;let s=0;for(;r[`${a}${s||""}`];)s++;return`${a}${s||""}`}const J_=e=>e.kind===Ho.RELATEDENTITY,X_=e=>e.kind===Ho.RELATEDENTITIES,FM=e=>X_(e)||J_(e),IM=()=>dr(e=>e.model),MM=()=>dr(e=>e.model.draft.dataClasses),NM=()=>dr(e=>e.model.draft.collections),LM=e=>dr(t=>t.model.draft.dataClasses[e]),$M=(e,t)=>dr(r=>r.model.draft.dataClasses[e].attributes.find(b.by("name",t))),kM=()=>dr(e=>e.settings.session["model.viewport"]),qM=()=>{const e=dr(s=>s.model.flags),t=s=>s in e?e[s]:void 0,r=t(Va.DATACLASS_DELETE),a=t(Va.DATACLASS_DRAGGABLE);return{deleteDataclass:r,draggableDataclass:a,flags:e}},jM=K_.reducer;function Al(e,t){const r=e.tabs.find(({path:a})=>a===b.SETTINGS_TAB_PATH);r&&(r.flags.touched=t)}const Z_={SIDEBAR_SECTION_RESIZABLE:"sidebar.section.resizable"},eb={[Z_.SIDEBAR_SECTION_RESIZABLE]:!0},tb=Dt({name:"webforms",initialState:()=>{const{webforms:e}=_n();return{i18n:{current:""},...e,templates:{data:[],selectedGroup:""},datasources:{...uf.webforms.datasources,...e==null?void 0:e.datasources},flags:eb}},reducers:{toggleInspector:(e,t)=>{const{type:r}=t.payload;e.inspector[r].active=!e.inspector[r].active,e.inspector[r].active||(e.inspector[r].data=void 0)},inspect:(e,t)=>{const{type:r,data:a}=t.payload;e.inspector[r].active&&(e.inspector[r].data=a)},addComponent:(e,t)=>{e.components.push(t.payload)},editComponent:(e,t)=>{const{id:r,changes:a}=t.payload;e.components=e.components.map(s=>s.id===r?{...s,...a}:s)},removeComponent:(e,t)=>{const{payload:r}=t,a=e.components.findIndex(s=>s.id===r);a!==-1&&e.components.splice(a,1)},setSelectedGroup:(e,t)=>{e.templates.selectedGroup=t.payload.selectedGroup},setTemplatesData:(e,t)=>{e.templates.data=t.payload},setTemplateData:(e,t)=>{const{group:r,components:a}=t.payload,s=e.templates.data.find(i=>i.group===r);s&&(s.components=a)},setDatasourcesTheme:(e,t)=>{e.datasources.theme=t.payload},setWebformsFlag(e,t){e.flags={...e.flags,...t.payload}},setI18nCurrent(e,t){e.i18n={...e.i18n,current:t.payload.current}}},extraReducers(e){e.addCase(ib.fulfilled,(t,r)=>{t.components=r.payload})}}),{toggleInspector:BM,inspect:WM,addComponent:rb,editComponent:nb,removeComponent:ab,setSelectedGroup:UM,setTemplatesData:sb,setTemplateData:ob,setDatasourcesTheme:HM,setWebformsFlag:GM,setI18nCurrent:VM}=tb.actions,zM=tb.reducer,Nf=ce.curry((e,t)=>{var s,i,u;const r={...t.sharedDatasources.sources},a=(u=(i=(s=t.root.tabs.find(b.by("path",e)))==null?void 0:s.content)==null?void 0:i.metadata)==null?void 0:u.datasources;return a&&(r[e]=a),ce.cloneDeep(r)}),YM=K("webforms/fetchTemplates",async(e,{dispatch:t,getState:r})=>{const{data:a}=r().webforms.templates,s=r().settings.session["studio.tipsBaseUrl"]||"";if(!ce.isEmpty(a))return a;try{const u=await(await fetch(`${s}/build/index.json?t=${Date.now()}`)).json();return t(sb(u)),u}catch{return[]}}),KM=K("webforms/fetchTemplate",async({name:e},{dispatch:t,getState:r})=>{const{data:a}=r().webforms.templates,s=a.find(i=>i.group===e);if(s&&!ce.isEmpty(s.components))return s.components;try{const u=await(await fetch(`${s==null?void 0:s.link}?t=${Date.now()}`)).json();return t(ob({group:e,components:u})),u}catch{return[]}}),ib=K("webforms/fetchCraftedComponents",async(e,{rejectWithValue:t})=>{try{return(await b.getNodeInfo({path:"WebForms/crafted_components.json",verb:b.DesignerRequestVerb.GET_INFO,content:!0,as:"json"})).content}catch{return t("Error while loading the crafted components")}}),QM=K("webforms/addCraftedComponent",async(e,{dispatch:t,rejectWithValue:r,getState:a})=>{try{t(rb(e));const{webforms:{components:s}}=a();b.setCraftedComponents(s)}catch{return r("Error while adding the crafted component")}}),JM=K("webforms/editCraftedComponent",async(e,{dispatch:t,rejectWithValue:r,getState:a})=>{try{t(nb(e));const{webforms:{components:s}}=a();b.setCraftedComponents(s)}catch{return r("Error while editing the crafted component")}}),XM=K("webforms/removeCraftedComponent",async(e,{dispatch:t,rejectWithValue:r,getState:a})=>{try{t(ab(e));const{webforms:{components:s}}=a();b.setCraftedComponents(s)}catch{return r("Error while removing the crafted component")}}),Lf=K("datasources/add-datasource",async(e,{getState:t,rejectWithValue:r})=>{var a,s;try{const i=t(),u=e.datasource,l=!!u.namespace,f=[];if(l){const d={...i.sharedDatasources.sources,[u.namespace]:[...i.sharedDatasources.sources[u.namespace],u]};f.push(...d[u.namespace]),await b.setSharedSources(d)}else(((s=(a=i.root.tabs.find(b.by("path",e.path)).content)==null?void 0:a.metadata)==null?void 0:s.datasources)||[]).push(u);return{list:f,path:e.path,namespace:e.datasource.namespace}}catch{console.error("Error while adding the datasource",e.datasource.id),r("Error while adding the datasource")}}),$f=K("datasources/edit-datasource",async(e,{getState:t,rejectWithValue:r})=>{try{const{namespace:a,path:s}=e,i=t(),u=!!e.namespace,l=Nf(s,i);let f=ce.defaultTo(l[a||s],[]);const d=f.find(m=>m.id===e.id&&(m.namespace||"")===(e.namespace||"")),h=e.changes,g=h??{[e.property]:e.value};return f=f.map(m=>m.id===e.id?{...m,...g}:m),u&&await b.setSharedSources({...i.sharedDatasources.sources,[e.namespace]:f}),(ce.isObject(h)?Object.keys(h):[]).includes("dataType")&&e.updateRefs&&b.datasourcesSubject.next({datasource:{id:e.id,namespace:e.namespace},path:s??"",action:b.DatasourcesActions.TYPE_CHANGE,old_type:(d==null?void 0:d.dataType)||"",new_type:g.dataType,is_shared:u}),{list:f,path:e.path,namespace:e.namespace}}catch{r(`Error while editing datasource ${e.id}`)}}),ZM=e=>e.type===Wn.fulfilled.type,Wn=K("datasources/rename-datasource",async(e,{getState:t,rejectWithValue:r})=>{try{const a=t(),s=!!e.namespace,i=e.namespace||e.path,u=Nf(e.path,a),l=ce.defaultTo(u[i],[]),f=new RegExp(`^${e.id}\\b`,"");if(l.forEach(d=>{var g;const h=(b.isObjectDatasource(d)||!b.isSimpleDatasource(d))&&d.from&&f.test(d.from);e.updateRefs&&((g=d.events)==null||g.forEach(_=>{var m,C,v,S,E;switch(_.type){case"method":{const A=_;A.params.forEach(O=>{O.datasource&&Object.assign(O,{datasource:O.datasource.replace(new RegExp(`^${e.id}`,""),e.new_name)})}),A.returns&&Object.assign(A.returns,{datasource:(C=(m=A.returns)==null?void 0:m.datasource)==null?void 0:C.replace(new RegExp(`^${e.id}`,""),e.new_name)});return}case"simple-action":{const A=_;A.datasource&&Object.assign(A.datasource,{name:(v=A.datasource.name)==null?void 0:v.replace(new RegExp(`^${e.id}`,""),e.new_name),from:(S=A.datasource.from)==null?void 0:S.replace(new RegExp(`^${e.id}`,""),e.new_name),target:(E=A.datasource.target)==null?void 0:E.replace(new RegExp(`^${e.id}`,""),e.new_name)});return}default:return}})),d.id===e.id?d.id=e.new_name:h&&d.from&&(d.from=d.from.replace(new RegExp(`^${e.id}`,""),e.new_name))}),e.updateRefs){const d=b.getDatasourceId({id:e.id,namespace:e.namespace}),h=b.getDatasourceId({id:e.new_name,namespace:e.namespace});b.datasourcesSubject.next({path:e.path??"",action:b.DatasourcesActions.RENAME,old_reference:d,new_reference:h,is_shared:s})}return s&&await b.setSharedSources({...a.sharedDatasources.sources,[e.namespace]:l}),{list:l,path:e.path,namespace:e.namespace}}catch{return r(`Error while renaming datasource ${e.namespace}:${e.id}`)}}),qa=K("datasources/delete-datasource",async(e,{getState:t,rejectWithValue:r})=>{try{const a=t(),s=!!e.namespace,i=e.namespace||e.path,l=Nf(e.path,a)[i].filter(b.outById(e.id));return s&&await b.setSharedSources({...a.sharedDatasources.sources,[e.namespace]:l}),{list:l,path:e.path,namespace:e.namespace}}catch{return r(`Error while removing datasource ${e.id}`)}}),io=K("saved_conditions/fetchSavedConditions",async(e,{rejectWithValue:t})=>{try{const{conditions:r=[]}=await b.getSavedConditions({createIfNotExists:!0});return r}catch{return t("Error while loading the shared conditions")}}),Go=(e,t,r)=>{switch(e.type){case"datasource":return{...e,path:e.path===t?r:e.path,value:e.valueType==="datasource"&&e.value===t?r:e.value,compareValue:e.compareValueType==="datasource"&&e.compareValue===t?r:e.compareValue};case"privilege":case"currentState":case"parentState":if(e.valueType==="datasource")return{...e,value:e.value===t?r:e.value};break;case"combination":return{...e,conditions:(e.conditions||[]).map(a=>Go(a,t,r))}}return e},eN=b.queue();async function xa(e){const t={verb:b.DesignerRequestVerb.SET_FILE_CONTENT,asText:!1,name:"saved_conditions.json",path:"",root:"shared",content:{conditions:e}};await eN(()=>b.http(b.API_PREFIX,{method:"POST",body:JSON.stringify(t),headers:new Headers({"Content-Type":"application/json"})}))}const Vo=(e,t)=>{if(e.id===t)return null;if(e.type==="reference"&&e.ref===t)return null;if(e.type==="combination"&&e.conditions){const r=e.conditions.map(a=>Vo(a,t)).filter(Boolean);return r.length===1?{...r[0],id:e.id}:{...e,conditions:r}}return e},zo=e=>{if(e.id){if(e.type==="combination"&&e.conditions)return{...e,conditions:e.conditions.map(zo)}}else return{...e,id:Ha.generate()};return e},ub=Dt({name:"shared-conditions",initialState:{state:"unknown",conditions:[]},reducers:{updateSavedConditions:(e,t)=>(e.conditions=t.payload.conditions,xa(t.payload.conditions),e),setSavedCondition:(e,t)=>{const{payload:r}=t;return e.conditions=e.conditions.map(a=>a.id===r.id?{...zo(r.condition),id:a.id}:a),xa(e.conditions),e},updateSavedConditionDs:(e,t)=>{const{old_reference:r,new_reference:a}=t.payload;e.conditions=e.conditions.map(s=>Go(s,r,a)),xa(e.conditions)},addSavedCondition:(e,t)=>(e.conditions=[...e.conditions,t.payload],xa(e.conditions),e),removeSavedCondition:(e,t)=>{const{id:r}=t.payload;return e.conditions=e.conditions.map(a=>Vo(a,r)).filter(Boolean),xa(e.conditions),e},initSavedConditions:(e,t)=>(e.conditions=t.payload.conditions,e)},extraReducers(e){e.addCase(io.pending,t=>({...t,state:"loading"})).addCase(io.fulfilled,(t,{payload:r})=>({state:"loaded",conditions:r})).addCase(io.rejected,(t,r)=>({...t,state:"error",error:r.payload||"Error while loading the shared conditions"})),e.addMatcher(kt(mb),(t,r)=>{const{state:a,oldLabel:s}=r.payload;t.conditions=t.conditions.map(i=>Gn(i,s,a.label))}),e.addMatcher(kt(_b),(t,r)=>{const{payload:a}=r;t.conditions=t.conditions.map(s=>{var i;return Gn(s,(i=a.state)==null?void 0:i.label)})})}}),{updateSavedConditions:tN,setSavedCondition:rN,updateSavedConditionDs:nN,addSavedCondition:aN,removeSavedCondition:cb,initSavedConditions:sN}=ub.actions,oN=ub.reducer,za=Dt({name:"root",initialState:()=>{const e=_n();return{filesLoading:!1,tabs:e.tabs||[],activeTab:e.activeTab,recent:e.recent||[],clipboard:null}},reducers:{setWebformState(e,t){const{path:r,currentState:a}=t.payload;e.tabs.forEach(s=>{s.path===r&&(s.content.metadata.currentState=a.id)})},copyToClipBoard(e,t){e.clipboard=t.payload},setPanelState(e,t){const{path:r,...a}=t.payload;e.tabs.forEach(s=>{s.path===r&&(s.view||(s.view={panel:{isOpen:!1,type:"",current:""}}),Object.assign(s.view.panel,a))})},addDataSource(e,t){var i;const{payload:{path:r,datasourceDef:a}}=t,s=e.tabs.find(u=>u.path===r);s&&(s.content.metadata.datasources=s.content.metadata.datasources||[],(i=s.content.metadata.datasources)!=null&&i.find(l=>l.id===a.id)||(s.content.metadata.datasources=[...s.content.metadata.datasources,{...a,events:[]}],s.flags={...s.flags,touched:!0,confirmed:!0}))},addWebformState(e,t){var i;const{payload:{path:r,stateDef:a}}=t,s=e.tabs.find(u=>u.path===r);s&&(s.content.metadata.states=s.content.metadata.states||[zn],(i=s.content.metadata.states)!=null&&i.find(l=>l.id===a.id)||(s.content.metadata.states=[...s.content.metadata.states,a],s.flags={...s.flags,touched:!0,confirmed:!0}))},removeWebformState(e,t){const{payload:r}=t;e.tabs=e.tabs.map(a=>a.path===r.path?{...a,flags:{...a.flags,touched:!0,confirmed:!0},content:sm(a.content,r.state)}:a)},editWebformState(e,t){const{path:r,state:a,oldLabel:s}=t.payload;e.tabs=e.tabs.map(i=>i.path===r?{...i,flags:{...i.flags,touched:!0,confirmed:!0},content:{...i.content,metadata:{...i.content.metadata,states:i.content.metadata.states.map(u=>Sf(u)?u:u.id===a.id?a.conditions?{...a,conditions:zo(a.conditions)}:a:{...u,conditions:u.conditions?Gn(u.conditions,s,a.label):u.conditions})}}}:i)},updateStateConditionDs(e,t){const{path:r,old_reference:a,new_reference:s}=t.payload;e.tabs=e.tabs.map(i=>{var u,l;return i.path===r?{...i,flags:{...i.flags,touched:!0,confirmed:!0},content:{...i.content,metadata:{...i.content.metadata,states:(((l=(u=i.content)==null?void 0:u.metadata)==null?void 0:l.states)||[]).map(f=>f.conditions?{...f,conditions:Go(f.conditions,a,s)}:f)}}}:i})},resetComponentState(e,t){const{path:r,id:a,state:s,lang:i,resetAll:u}=t.payload;e.tabs=e.tabs.map(l=>l.path===r?{...l,flags:{...l.flags,touched:!0,confirmed:!0},content:{...l.content,components:{...l.content.components,[a]:{...l.content.components[a],custom:{...ce.omit(l.content.components[a].custom,u&&s&&i?[`states:${s.id}`,`i18n:${i}`,`states:${s.id}:i18n:${i}`]:s?i?`states:${s.id}:i18n:${i}`:`states:${s.id}`:i?`i18n:${i}`:"")}}}}}:l)},setDefaultWebformStates(e,t){const{path:r,states:a}=t.payload;e.tabs=e.tabs.map(s=>s.path===r?{...s,flags:{...s.flags,touched:!0,confirmed:!0},content:{...s.content,metadata:{...s.content.metadata,defaultStates:a.map(({id:i})=>i)}}}:s)},addDefaultWebformState(e,t){const{payload:r}=t;e.tabs=e.tabs.map(a=>{var s;return a.path===r.path?{...a,flags:{...a.flags,touched:!0,confirmed:!0},content:{...a.content,metadata:{...a.content.metadata,defaultStates:Array.from(new Set([...((s=a.content.metadata)==null?void 0:s.defaultStates)||[],r.state.id]))}}}:a})},removeDefaultWebformState(e,t){const{payload:r}=t;e.tabs=e.tabs.map(a=>{var s;return a.path===r.path?{...a,flags:{...a.flags,touched:!0,confirmed:!0},content:{...a.content,metadata:{...a.content.metadata,defaultStates:(((s=a.content.metadata)==null?void 0:s.defaultStates)||[]).filter(i=>i!==r.state.id)}}}:a})},removeDataSource(e,t){const{path:r,datasourceID:a}=t.payload;e.tabs=e.tabs.map(s=>s.path===r?{...s,flags:{...s.flags,touched:!0,confirmed:!0},content:{...s.content,metadata:{...s.content.metadata,datasources:s.content.metadata.datasources.filter(i=>i.id!==a)}}}:s)},setDataSources(e,t){const{payload:{path:r,datasourceArr:a}}=t;e.tabs=e.tabs.map(s=>{var i;return s.path===r?{...s,flags:{...s.flags,touched:!0,confirmed:!0},content:{...s.content,metadata:{...(i=s.content)==null?void 0:i.metadata,datasources:a}}}:s})},setTabs(e,t){e.tabs=t.payload},closeTab(e,t){const r=t.payload;e.tabs.splice(r,1);const a=e.tabs.reduce((s,i)=>(i==null?void 0:i.weight)>((s==null?void 0:s.weight)||0)?i:s,null);a?(e.activeTab=a.path,dn(a)):(e.activeTab="",to())},closeOthers(e,t){e.tabs=e.tabs.filter(r=>r.path===t.payload),e.activeTab=t.payload,dn(e.tabs[0])},closeAllTabs(e){e.tabs=[],e.activeTab="",to()},closeRightTabs(e,t){e.tabs.splice(t.payload+1),e.activeTab=e.tabs[t.payload].path,dn(e.tabs[t.payload])},closeLeftTabs(e,t){e.tabs.splice(0,t.payload),e.activeTab=e.tabs[t.payload].path,dn(e.tabs[t.payload])},closeSavedTabs(e){e.tabs=e.tabs.filter(({flags:{touched:r}})=>r);const t=e.tabs.reduce((r,a)=>(a==null?void 0:a.weight)>((r==null?void 0:r.weight)||0)?a:r,null);t?(e.activeTab=t.path,dn(t)):(e.activeTab="",to())},confirmTab(e,t){const r=e.tabs.find(({path:a})=>a===t.payload);r&&(r.flags.confirmed||za.caseReducers.setTabFlags(e,{type:t.type,payload:{path:t.payload,flags:{confirmed:!0}}}))},selectTab(e,t){const r=e.tabs.find(({path:s})=>s===t.payload);if(!r||e.activeTab===t.payload)return;const a=e.tabs.reduce((s,i)=>(i==null?void 0:i.weight)>((s==null?void 0:s.weight)||0)?i:s,null);r.weight=a?(a.weight||0)+1:1,e.activeTab=t.payload},openTabUnselected(e,t){const r=t.payload;let a=e.tabs.find(({path:i})=>r.path===i);a||(e.tabs.push(r),a=e.tabs[e.tabs.length-1]);const s=e.tabs.reduce((i,u)=>(u==null?void 0:u.weight)>((i==null?void 0:i.weight)||0)?u:i,null);a.weight=s?(s.weight||0)+1:1,a.extra={...a.extra,...r.extra}},selectTabByReference(e,t){const r=[b.FileFolderType.DEBUGGER],{isNew:a,...s}=t.payload;let i=s,u=e.tabs.find(({path:l})=>i.path===l);if(i.history||(i.history={stack:[],active:-1,locked:!1}),(r.includes(i.type)||u!=null&&u.flags.confirmed)&&(i={...i,flags:{...i.flags,confirmed:!0}}),!u){const l=e.tabs.findIndex(({flags:{confirmed:f}})=>f===!1);l!==-1&&!r.includes(i.type)&&!a?e.activeTab===e.tabs[l].path?(e.tabs[l]=i,u=e.tabs[l]):(e.tabs.push(i),u=e.tabs[e.tabs.length-1],e.tabs.splice(l,1)):(e.tabs.push(i),u=e.tabs[e.tabs.length-1])}if(e.activeTab!==i.path){const l=e.tabs.reduce((f,d)=>(d==null?void 0:d.weight)>((f==null?void 0:f.weight)||0)?d:f,null);e.activeTab=i.path,u.weight=((l==null?void 0:l.weight)||0)+1}u.extra={...u.extra,...i.extra},u.view={...u.view,...i.view},u.flags={...u.flags||{},...i.flags||{}}},setContent(e,t){const{path:r,content:a,contentPath:s}=t.payload;e.tabs=e.tabs.map(i=>{if(i.path!==r)return i;let u=!1,l=i.flags.confirmed;if(typeof a=="string")u=i.initialContent!==a,l=!l&&u?!0:l;else{const f=ce.get(i.initialContent,s||"",i.initialContent),d=ce.get(a,s||"",a);u=!ce.isEqual(f,d),l=!l&&u?!0:l}return a&&typeof a=="object"&&(s?ce.set(i.content,s,a):i.content=a),typeof a=="string"&&(i.content=a),{...i,flags:{...i.flags,touched:u,confirmed:l}}})},setTabFlags(e,t){const{path:r,flags:a}=t.payload;e.tabs=e.tabs.map(s=>s.path===r?{...s,flags:{...s.flags,...a}}:s)},setTabsFlags(e,t){const{tabs:r,flags:a}=t.payload;e.tabs=e.tabs.map(s=>r.includes(s.path)?{...s,flags:{...s.flags,...a}}:s)},setTabExtra(e,t){const{path:r,extra:a,flags:s}=t.payload;e.tabs=e.tabs.map(i=>i.path===r?{...i,extra:{...i.extra,...a},flags:s?{...i.flags,...s}:i.flags}:i)},addWebFormStyles(e,t){const{path:r,styles:a=[]}=t.payload,s=e.tabs.find(i=>i.path===r);if(s){const i=s.content.metadata.styles.map(({name:l})=>l),u=a.filter(({name:l})=>!i.includes(l));s.content.metadata.styles=[...s.content.metadata.styles,...u].map(({scope:l,...f})=>f)}},changeTabEditor(e,t){return e.tabs=e.tabs.map(r=>r.path===t.payload.path?t.payload:r),e},setHistoryContent(e,t){const r=t.payload;e.tabs=e.tabs.map(a=>{var i,u;if(a.path!==r)return a;const s=!ce.isEqual(a.content,(i=a.history)==null?void 0:i.stack[a.history.active]);return a.history&&s&&(a.history.stack=[...(u=a.history)==null?void 0:u.stack.slice(0,a.history.active+1),a.content],a.history.active=a.history.stack.length-1),{...a}})},unlockHistory(e,t){const r=t.payload;e.tabs=e.tabs.map(a=>a.path!==r?a:(a.history&&(a.history.locked=!1),{...a}))},undo(e){e.tabs=e.tabs.map(t=>t.path!==e.activeTab?t:(t.history&&t.history.active>0&&(t.history.locked=!0,t.history.active--,t.content=t.history.stack[t.history.active]),{...t}))},redo(e){e.tabs=e.tabs.map(t=>t.path!==e.activeTab?t:(t.history&&t.history.active<t.history.stack.length-1&&(t.history.locked=!0,t.history.active++,t.content=t.history.stack[t.history.active]),{...t}))}},extraReducers:e=>{e.addCase(Ul,(t,r)=>{if(r.payload.settingsKey==="studio.enablePreview"&&r.payload.value===!1){const a=t.tabs.find(({flags:{confirmed:s}})=>s===!1);a&&za.caseReducers.setTabFlags(t,{type:"",payload:{path:a.path,flags:{confirmed:!0}}})}}),e.addCase(q_.fulfilled,(t,r)=>{if(!r.payload)return;const{content:a,line:s,path:i}=r.payload,u=t.tabs.find(l=>l.path===i);if(u&&typeof u.content=="string"){const l=u.content.trim().split(`
169
+ `;default:return""}}function M_(e,t,r){switch(t){case b.FileFolderType.MOBILEFORM:return`${e}.MForm`;case b.FileFolderType.WEBFORM:return`${e}.WebForm`;case b.FileFolderType.REPORT:return`${e}.QoDoc`;case b.FileFolderType.METHOD:case b.FileFolderType.CLASS:return`${e}.${r?"4qs":"4dm"}`;default:return e}}function CI(e){switch(e){case b.FolderRootPath.WEBFORMS:return b.FileFolderType.WEBFORMS;case b.FolderRootPath.METHODS:return b.FileFolderType.METHODS;case b.FolderRootPath.CLASSES:return b.FileFolderType.CLASSES;case b.FolderRootPath.REPORTS:case"Reports":return b.FileFolderType.REPORT;case"Mobile":return b.FileFolderType.MOBILE;default:return e}}function N_(e){switch(e){case b.FileFolderType.WEBFORMS:return b.FileFolderType.WEBFORM;case b.FileFolderType.REPORT:return b.FileFolderType.REPORT;case b.FileFolderType.CLASSES:return b.FileFolderType.CLASS;case b.FileFolderType.METHODS:return b.FileFolderType.METHOD;case b.FileFolderType.FOLDER:return b.FileFolderType.FOLDER;case b.FileFolderType.MOBILE:return b.FileFolderType.MOBILEFORM;default:return e}}const AI=K("files/tryEditMethod",async({method:e},{dispatch:t})=>{const r=e.filePath.split("/"),[a]=r[1].split("."),{editor:s}=pt(e.filePath);return await t(Df({file:{name:a,path:e.filePath,date:new Date().toISOString(),type:b.FileFolderType.CLASS,editor:s},line:e.startingLine+1})).unwrap()}),Vl=K("explorer/createModelFiles",async(e,{dispatch:t,getState:r})=>{var g;const a=r(),s=b.FolderRootPath.CLASSES,i=a.settings.server.qodly,u=Xe(a.explorer,s);if(!u)return;await t(Jr(s));const f=((g=r().explorer.find(_=>_.name===s))==null?void 0:g.children)||[];let d=[{content:"",name:""}];if(e.type==="dataclass"&&!e.toCreate){const{className:_,collectionName:m}=e;d=[{...pn().dataclass({name:_,qodly:i})},{...pn().collection({name:m,qodly:i})},{...pn().entity({name:_,qodly:i})}]}else if(e.type==="dataclass"&&e.toCreate){const{className:_,collectionName:m}=e;d=[{...pn()[e.toCreate]({name:_||m,qodly:i})}]}else d=[{...pn().model({name:"DataStore",qodly:i})}];d=d.filter(_=>!f.find(({name:m,ext:C,info:{exist:v=!0}={}})=>m===_.name&&C===(i?"4qs":"4dm")&&v)),await Promise.all(d.map(async({name:_,content:m})=>{await t(qn({type:b.FileFolderType.CLASS,path:s,fileName:_,parentNode:u,content:m,qodly:a.settings.server.qodly}))}));const h=e.type==="dataclass"&&e.expand?e.className:"";await t(Jr({nodePath:s,expandDataclass:h}))}),Jr=K("explorer/fetchFolderContent",async(e,{rejectWithValue:t,getState:r})=>{const{nodePath:a,expandDataclass:s=""}=typeof e=="string"?{nodePath:e}:e,i=r();try{const u=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:a});return i.catalog.state!=="loaded"?[]:a==="Classes"?Vn(i,u,s):u.map(l=>{const f=`${a}/${l.name}${l.ext?`.${l.ext}`:""}`,{editor:d,supportedEditors:h}=pt(f);return{name:l.name,size:l.size,type:l.type,date:`${l.date}`,flags:{},error:null,path:f,ext:l.ext,config:l.type==="folder"?{}:{editor:d,supportedEditors:h}}})}catch{return t("Failed loading file content please Reload"),a==="Classes"?Vn(i,[],s):[]}},{getPendingMeta:()=>{}}),L_=K("model/fetchClassesFolderContent",async(e,{getState:t})=>{const r=t(),a=b.FolderRootPath.CLASSES;if(Xe(r.explorer,a))try{const i=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:a});return Vn(r,i)}catch{return Vn(r,[])}}),$a=K("explorer/fetchFolderContentWithoutExpanding",async(e,{rejectWithValue:t,getState:r})=>{const{nodePath:a}=typeof e=="string"?{nodePath:e}:e,s=r();try{const i=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:a});return a==="Classes"?Vn(s,i):i.map(u=>{const l=`${a}/${u.name}${u.ext?`.${u.ext}`:""}`,{editor:f,supportedEditors:d}=pt(l);return{name:u.name,size:u.size,type:u.type,date:`${u.date}`,flags:{},error:null,path:l,ext:u.ext,config:u.type==="folder"?{}:{editor:f,supportedEditors:d}}})}catch{return t("Failed loading file content please Reload")}},{getPendingMeta:()=>{}});function xI(e){const t=e.split(".");return t.pop(),{name:t.join("."),ext:e.split(".")[e.split(".").length-1]}}const RI=K("explorer/uploadFileAndGetResponse",async e=>{const t=e.type.includes("image/")?"$rawPict=true":"$binary=true";try{const r=await fetch(`/rest/$upload?${t}`,{method:"POST",headers:{"Content-Type":e.type},body:e});return{status:r.status,data:await r.json()}}catch{return{status:500,data:null}}}),OI=K("explorer/uploadFile",async({file:e,path:t,parentNode:r},{dispatch:a})=>{const{editor:s,supportedEditors:i}=pt(t),{name:u,ext:l}=xI(e.name);a(F_({parent:r,child:{name:u,path:`${t}/${e.name}?t=${Date.now()}`,type:e.type,error:null,flags:{loading:!0},config:{editor:s,supportedEditors:i},ext:l}}));try{const f=await fetch(`/rest/$upload?$sharedFolder=true&$filename=${e.name}&$path=${t}`,{method:"POST",headers:{"Content-Type":e.type},body:e});return f.status>=300?(a(Gl({parent:r,child:{name:u,path:`${t}/${e.name}`,type:e.type,error:{message:"error uploading file"},flags:{},config:{editor:s,supportedEditors:i},ext:l}})),f.status!==413&&b.toastSubject.next({message:"error uploading file",kind:"danger"})):await a(Jr(r.path)),{status:f.status,fileName:e.name}}catch{return a(Gl({parent:r,child:{name:u,path:`${t}/${e.name}`,type:e.type,error:{message:"error uploading file"},flags:{},config:{editor:s,supportedEditors:i},ext:l}})),b.toastSubject.next({message:"error uploading file",kind:"danger"}),{status:500,fileName:e.name}}}),qn=K("explorer/createNewFile",async({fileName:e,type:t,path:r,parentNode:a,content:s},{dispatch:i,rejectWithValue:u,getState:l})=>{const{server:{qodly:f},project:d}=l().settings;try{const h=await b.setFileContent({name:M_(e,t,f),content:s||I_(t,d),path:r,asText:[b.FileFolderType.CLASS,b.FileFolderType.METHOD].includes(t)});return a.error&&(a.flags.expanded?await i(Jr(a.path)):await i($a(a.path))),{qodly:f,file:h,parentNode:a}}catch{return u("failed to create folder")}});function $_(e,t){const{qodly:r=!0,withExtension:a=!0}=t||{},s=b.getFileExtentionFromType(e.type,r);let i="";switch(e.type){case b.FileFolderType.WEBFORM:i=`${b.FolderRootPath.WEBFORMS}/${e.name}`;break;case b.FileFolderType.METHOD:i=`${b.FolderRootPath.METHODS}/${e.name}`;break;case b.FileFolderType.CLASS:i=`${b.FolderRootPath.CLASSES}/${e.name}`;break;default:return""}return`${i}${a?`.${s}`:""}`}const PI=K("explorer/createNewFileAndOpen",async(e,{dispatch:t,getState:r})=>{const a=await t(qn(e)).unwrap(),{qodly:s}=r().settings.server;if(a){const{file:i}=a,u=$_(i,{withExtension:!1,qodly:s}),{editor:l}=pt(u);await t(yn({file:{name:e.fileName,type:i.type,path:u,editor:l,date:new Date().toISOString()}}))}}),ao=K("explorer/createNewNode",async({fileName:e,path:t,parentNode:r},{rejectWithValue:a})=>{try{return{file:await b.createFolder({verb:b.DesignerRequestVerb.CREATE_FOLDER,path:`${t}/${e}`,recursive:!0}),parentNode:r}}catch{return b.toastSubject.next({message:"failed to create folder",kind:"danger"}),a("failed to create folder")}}),Ga=async({file:e,flags:t={},node:r={}})=>{var a;try{const s=e.path.split(".").at(-1),i=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:((a=e.editor)==null?void 0:a.key)!=="editors:img",as:am(s)?"json":"text"}),u={editor:e.editor};r!=null&&r.info&&(u.kind=r.info.kind);const l=b.getTypeFromExtension(e.path);l===b.FileFolderType.METHOD&&(u.attributes=b.parseAttributes(i.content),i.content=b.addAttributesToContent(i.content,{}));const{content:f,date:d,ext:h}=i;return t.confirmed===void 0&&(t.confirmed=!0),{date:d,view:{panel:{isOpen:!1,type:l===b.FileFolderType.WEBFORM?"component":"",current:l===b.FileFolderType.WEBFORM?"ROOT":""}},flags:{enabled:["WebForm","MForm"].includes(h),confirmed:t.confirmed},extra:u,name:e.name,path:e.path,type:l,initialContent:f,content:f,history:{stack:[],active:-1,locked:!1}}}catch(s){const{data:i}=s;if(i.__ERROR.find(u=>u.errCode===b.ERROR_CODES.FILE_NOT_FOUND))switch(e.path){case b.ROLES_TAB_PATH:{const u={permissions:{allowed:[]},privileges:[],roles:[]};return{date:new Date().toISOString(),flags:t,extra:{editor:{key:"editors:roles"},kind:"roles"},name:"Roles & Privileges",path:e.path,type:b.FileFolderType.ROLES,initialContent:u,content:u}}case b.SETTINGS_TAB_PATH:{const u={};return{date:new Date().toISOString(),flags:t,extra:{editor:{key:"editors:settings"},kind:"qodlyApp"},name:"Settings",path:e.path,type:b.FileFolderType.SETTINGS,initialContent:u,content:u}}}throw s}},k_=K("HTTPHandlers/fetch",async(e,{rejectWithValue:t})=>{const r=(await b.getFilesInfo({path:b.HTTP_HANDLERS_TAB_PATH})).files.find(a=>a.path===b.HTTP_HANDLERS_TAB_PATH);if(r!=null&&r.deleted)return t("not found")}),Uo=(e,t)=>{const r=(a,s)=>{for(const i of a){if(i.path===s)return i;if(i.children){const u=r(i.children,s);if(u)return u}}};return r(e,t)},DI=K("explorer/openFileFromLocation",async(e,{dispatch:t})=>{const r=om();if(r.page){const a=`WebForms/${r.page}.WebForm`,s=Il(a,r.editor,{key:"editors:webforms"});t(yn({file:{path:a,editor:s,name:r.page,type:b.FileFolderType.WEBFORM},flags:{confirmed:!0}}))}else if(r.path){const{filename:a,type:s}=b.getFilenameAndTypeFromPath(r.path),i=Il(r.path,r.editor);t(yn({file:{type:s,editor:i,name:a,path:r.path},flags:{confirmed:!0}}))}}),yn=K("explorer/openFile",async({file:e,inactive:t,isNew:r,flags:a={},info:s},{getState:i,dispatch:u})=>{const{root:{tabs:l},roles:f,explorer:d,debugger:{sessions:h},settings:{server:{qodly:g}}}=i(),_=l.find(({path:S})=>e.path===S);if(_){const S={..._,extra:{..._==null?void 0:_.extra,editor:e.editor??_.editor},flags:{..._==null?void 0:_.flags,...a}};return u(wt(S)),S}if(e.path.startsWith("Debugger")){const S=h.find(E=>`Debugger/${E.threadId}`===e.path);if(S){const{source:{content:E},source:A}=S.currentStackFrame,O={name:e.name,type:b.FileFolderType.DEBUGGER,date:new Date().toISOString(),path:e.path,content:E,view:{panel:{isOpen:!1,type:"",current:""}},initialContent:E,flags:{confirmed:!0},extra:{source:A,editor:e.editor}};return u(wt(O)),O}}const m=Uo(d,e.path);let C=null;try{C=await Ga({file:e,flags:a,node:m})}catch(S){const{data:E}=S;if(E.__ERROR.find(A=>[b.ERROR_CODES.JSON_MALFORMED,b.ERROR_CODES.JSON_MALFORMED_AT_LINE].includes(A.errCode))){const{confirmed:A}=await u(Xt({title:"Corrupt file",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,message:"Open in text editor ?"})).unwrap();if(A){const O=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:!0,as:"text"}),{content:F,date:R,ext:j}=O;C={date:R,view:{panel:{isOpen:!1,type:"",current:""}},flags:{enabled:["WebForm","MForm","QoDoc"].includes(j),confirmed:!0},extra:{editor:b.EDITOR.Code},name:e.name,path:e.path,type:b.getTypeFromExtension(e.path),initialContent:F,content:F,history:{stack:[],active:-1,locked:!1}}}}if(e.type===b.FileFolderType.CLASS&&s){const A=s.kind,O=`${e.name}.${g?"4qs":"4dm"}`,F=pn()[A]({name:O,qodly:g}).content;if(C={date:(await b.setFileContent({name:O,content:F,path:"Classes",asText:!0})).date,view:{panel:{isOpen:!1,type:"",current:""}},flags:{enabled:!1,confirmed:!0},extra:{editor:b.EDITOR.Code},name:e.name,path:e.path,type:b.getTypeFromExtension(e.path),initialContent:F,content:F,history:{stack:[],active:-1,locked:!1}},A==="app"){const j=await b.getFilesInfo(...Cy.map(W=>({path:`DatabaseMethods/${W.name}`})));Cy.forEach(W=>{const X=j.files.find(te=>te.path===`DatabaseMethods/${W.name}`);X!=null&&X.deleted&&b.setFileContent({name:W.name,content:W.content,path:"DatabaseMethods",asText:!0})})}}if(e.path===b.HTTP_HANDLERS_TAB_PATH){const A=(await b.getFilesInfo({path:b.HTTP_HANDLERS_TAB_PATH})).files.find(O=>O.path===b.HTTP_HANDLERS_TAB_PATH);A!=null&&A.deleted&&await b.setFileContent({name:b.HTTP_HANDLERS_TAB_PATH,content:"[]",path:"./",asText:!0}).then(async()=>{C=await Ga({file:e,flags:a,node:m})})}}return C&&(e.path===b.ROLES_TAB_PATH&&!f.flags.touched?u(Rf({content:C.content,date:C.date,flags:a})):e.path===b.SETTINGS_TAB_PATH&&u(Wo({path:"project",value:C.content})),u((t?vb:wt)({...C,isNew:r})),C)}),Df=K("explorer/openFileAtLine",async({file:e},{getState:t,dispatch:r})=>{const{root:{tabs:a},explorer:s}=t(),i=a.find(({path:f})=>e.path===f);if(i){const f={...i,extra:{...i==null?void 0:i.extra,editor:e.editor}};return r(wt(f)),f}const u=Uo(s,e.path),l=await Ga({file:e,node:u});return r(wt(l)),l}),q_=K("explorer/injectContentAtLine",async(e,{getState:t,dispatch:r,rejectWithValue:a})=>{const{explorer:s}=t();e.path.split("/").pop();const u=Xe(s,e.path);if(!u)return a(`Error while trying to inject content in file ${e.path}`);const l=`${u.path}.${u.ext}`,f=Uo(s,l),d=await Ga({file:{name:u.name,date:u.date||new Date().toISOString(),path:l,type:b.FileFolderType.CLASS,editor:u.config.editor},node:f});return await r(wt(d)),{...e,path:`${u.path}.${u.ext}`}}),j_=K("explorer/openFileAtSelection",async({file:e},{getState:t,dispatch:r})=>{const{root:{tabs:a},explorer:s}=t(),i=a.find(({path:f})=>e.path===f);if(i){const f={...i,extra:{...i==null?void 0:i.extra,editor:e.editor}};return r(wt(f)),f}const u=Uo(s,e.path),l=await Ga({file:e,node:u});return r(wt(l)),l}),zl=K("explorer/deleteFile",async e=>{const{name:t,type:r,path:a,flags:s}=e;if(s.error)return{deleted:!0,node:e};const i=a.split("/");return i.pop(),{deleted:await b.dropFile({root:b.FolderRootType.ROOT,type:N_(r),verb:b.DesignerRequestVerb.DROP,name:t,path:i.join("/")}),node:e}}),FI=K("explorer/deleteFolder",async(e,{getState:t,dispatch:r})=>{const{path:a,flags:s}=e;if(s.error)return{deleted:!0,node:e};const{deleted:i}=await b.removeItem({force:!0,path:a,verb:b.DesignerRequestVerb.REMOVE_ITEM}).catch(console.error)||{deleted:!1};if(e.children){const{tabs:u}=t().root;e.children.forEach(l=>{const f=u.findIndex(d=>d.path===l.path);r(Yo(f))})}return{deleted:i,node:e}}),Yl=K("explorer/removeFileNode",async(e,{getState:t,dispatch:r})=>{await b.removeItem({verb:b.DesignerRequestVerb.REMOVE_ITEM,path:e.path,force:!0}).catch(console.error);const{root:{tabs:a},catalog:s}=t();if((e.path==="Classes/DataStore"||B_(s,e))&&setTimeout(()=>{r(Xr())},Xa),e.ext){const i=a.findIndex(u=>u.path===e.path);i>=0&&r(Yo(i))}return{deleted:!0,node:e}}),B_=(e,t)=>{const{model:{singletons:r}}=e;return ce.values(r).some(a=>a.name===t.name)},jn=K("explorer/renameFile",async({file:e,newname:t},{dispatch:r,getState:a})=>{if(e.type!=="folder"){const i=e.path.split("/");i.pop();const u=`${i.join("/")}/${e.name}.${e.ext}`,l=`${i.join("/")}/${t}.${e.ext}`;await b.moveItem({verb:b.DesignerRequestVerb.MOVE_ITEM,path:u,newpath:l});const{catalog:f}=a();return B_(f,e)&&setTimeout(()=>{r(Xr())},Xa),{old:{...e,path:u},new:{...e,name:t,path:l}}}const s=e.path.split("/");return s.pop(),await b.moveItem({verb:b.DesignerRequestVerb.MOVE_ITEM,path:`${s.join("/")}/${e.name}`,newpath:`${s.join("/")}/${t}`}),{old:e,new:{...e,name:t,path:`${s.join("/")}/${t}`}}}),ka=K("explorer/relocateNode",async({draggedNode:e,newLocation:t},{rejectWithValue:r})=>{try{await b.moveItem({verb:b.DesignerRequestVerb.MOVE_ITEM,path:`${e.path}.${e.ext}`,newpath:`${t.path}/${e.name}.${e.ext}`})}catch{return r("can't move item")}}),so=K("explorer/duplicateNode",async({node:e,duplicateName:t},{rejectWithValue:r,fulfillWithValue:a,getState:s})=>{const i=e.path.split("/");i.pop();try{const{tabs:u}=s().root,l=u.find(({path:g})=>g===e.path),f=["4dm","4qm","4qs"].includes(e.ext),{content:d}=l||await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:!0,as:f?"text":"json"}),h=await b.setFileContent({name:`${t}.${e.ext}`,content:d,path:i.join("/"),asText:f});return a({node:{...h,path:i.join("/")}})}catch{return r("failed to duplicate file")}}),II=K("explorer/executeMethod",async({methodName:e,params:t=[],resultingDataSource:r={},namespace:a=""},{rejectWithValue:s})=>{var i,u;try{const l=window.Method4D.buildMethod({methodName:e,parameters:t,resultingDataSource:r},{namespace:a},null),f=b.callServerSideParser(await l.callServerSide({id:"",serverSideRef:""},"onclick",{}));return f!=null&&f.__NOTIFICATION?b.toastSubject.next({message:`${((i=f.__NOTIFICATION)==null?void 0:i.message)||""}`,kind:`${((u=f.__NOTIFICATION)==null?void 0:u.type)||"info"}`}):b.toastSubject.next({message:"Method executed Successfully",kind:"message"}),f}catch(l){return b.toastSubject.next({message:l.errorStack.length>1&&[{messages:l.errorStack.map(f=>f.message)}]||l.message||`Error executing the method "**${e}**"`,kind:"danger",markdown:!0}),s("can't execute method")}}),MI=e=>{const{dataClasses:t,...r}=e;return{...r,dataClasses:t==null?void 0:t.map(a=>{let s={...a};if(s.uuid||(s={...s,uuid:b.generateUUID()}),s.attributes){const i=["storage","relatedEntity"],u=s.attributes.map(l=>i.includes(l.kind)&&!l.uuid?{...l,uuid:b.generateUUID()}:l);s={...s,attributes:[...u]}}return s})}},NI=K("files/fetchFiles",async()=>b.getFolders(b.FolderRootType.WEBFORMS,b.FolderRootType.METHODS,b.FolderRootType.CLASSES)),Ff=K("tabs/renameDatasource",async(e,{dispatch:t,getState:r})=>{var m,C;const a=!!e.datasourceNamespace,{confirmed:s}=await t(Xt({message:"Are you sure you want to rename the datasource?",title:"Rename Datasource",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,views:{toggles:{},tips:a?[{type:"warning",message:"The datasource property of components bound with this datasource will also be updated on opened web forms only"},{type:"warning",message:"The origin of some other datasources might be also renamed (if this datasource is the origin of other datasources)"}]:[{type:"warning",message:"The datasource property of components bound with this datasource will also be updated"},{type:"warning",message:"The origin of some other datasources might be also renamed (if this datasource is the origin of other datasources)"}]}})).unwrap();if(!s)return null;const{autoUpdateReferences:i,datasourceId:u,datasourceNamespace:l,value:f,path:d}=e,h=r();let g=[];if(a){const v=h.sharedDatasources.sources[l]||[];g.push(...v)}else if(d){const v=h.root.tabs.find(b.by("path",d));if(g=(C=(m=v==null?void 0:v.content)==null?void 0:m.metadata)==null?void 0:C.datasources,!g)return null}const _=new RegExp(`^${u}\\b`,"");if(g=g.map(v=>{const S=(b.isObjectDatasource(v)||!b.isSimpleDatasource(v))&&v.from&&_.test(v.from),E=v.events?v.events.map(A=>{var O,F,R,j;switch(A==null?void 0:A.type){case"method":{const W=A;return W.params?{...W,params:W.params.map(X=>{var te;return{...X,datasource:(te=X.datasource)==null?void 0:te.replace(new RegExp(`^${u}`,""),f)}}),returns:(O=W.returns)!=null&&O.datasource?{...W.returns,datasource:(F=W.returns.datasource)==null?void 0:F.replace(new RegExp(`^${u}`,""),f)}:W.returns}:W}case"simple-action":{const W=A;return W.datasource?{...W,datasource:{...W.datasource,name:(R=W.datasource.name)==null?void 0:R.replace(new RegExp(`^${u}`,""),f),from:(j=W.datasource.from)==null?void 0:j.replace(new RegExp(`^${u}`,""),f)}}:W}default:return A}}):v.events;return v.id===u?{...v,id:f,events:E}:S&&v.from?{...v,from:v.from.replace(new RegExp(`^${u}`,""),f),events:E}:{...v,events:E}}),i){const v=a?`${l}:${u}`:`${u}`,S=a?`${l}:${f}`:`${f}`;b.datasourcesSubject.next({path:d??"",action:b.DatasourcesActions.RENAME,old_reference:v,new_reference:S,is_shared:a})}return{path:d,namespace:l,datasources:g}}),If=K("tabs/edit-datasource",(e,{getState:t})=>{var i,u;const r=t();let a=[];if(e.namespace)a=r.sharedDatasources.sources[e.namespace];else{const l=r.root.tabs.find(b.by("path",e.path));l&&(a=((u=(i=l.content)==null?void 0:i.metadata)==null?void 0:u.datasources)||[])}return a.map(l=>l.id===e.datasourceId?Object.assign({},l,{[e.propertyKey]:e.value}):l)}),W_=K("tabs/fetchChanges",async(e,{getState:t})=>{const a=bn(t()).filter(s=>[b.FileFolderType.METHOD,b.FileFolderType.CLASS].includes(s.type));return b.getFilesInfo(...a.map(s=>{const[i]=s.path.split("/").filter(Boolean);return{name:s.name,type:s.type,root:i,path:"."}}))}),LI=K("files/saveAll",async(e,{getState:t,dispatch:r})=>{const a=mf(t());for(const s of a)r(Bn({tab:s}))}),Mf=K("files/tryCloseTab",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root,s=a.findIndex(u=>u.path===e);if(s===-1)return!1;const i=a[s];if(i!=null&&i.flags.touched){const{confirmed:u}=await r(Xt({title:xo(i),message:"Your unsaved changes will be lost. Proceed anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!u)return!1}return r(Yo(s)),i.path===b.ROLES_TAB_PATH&&i.flags.touched&&(async()=>{const l=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:b.ROLES_TAB_PATH,content:!0,as:"json"});r(Rf({content:l.content,date:l.date}))})(),!0}),$I=K("files/tryCloseOtherTabs",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root;if(a.some(i=>i.path!==e&&i.flags.touched===!0)){const{confirmed:i}=await r(Xt({title:"Closing other tabs",message:"Your changes will be lost if you do not save them. Close anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!i)return}r(pb(e))}),kI=K("files/tryCloseAllTabs",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root;if(a.some(i=>i.flags.touched===!0)){const{confirmed:i}=await r(Xt({title:"Closing all tabs",message:"Your changes will be lost if you do not save them. Close anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!i)return}r(fb())}),qI=K("files/tryCloseRightTabs",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root;let s=!1;for(let i=a.length-1;i>e;i-=1)if(a[i].flags.touched){s=!0;break}if(s){const{confirmed:i}=await r(Xt({title:"Closing right tabs",message:"Your changes will be lost if you do not save them. Close anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!i)return}r(db(e))}),jI=K("files/tryCloseLeftTabs",async(e,{getState:t,dispatch:r})=>{const{tabs:a}=t().root;let s=!1;for(let i=0;i<e;i+=1)if(a[i].flags.touched){s=!0;break}if(s){const{confirmed:i}=await r(Xt({title:"Closing left tabs",message:"Your changes will be lost if you do not save them. Close anyway?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!i)return}r(hb(e))}),oo=K("files/reloadTab",async(e,{dispatch:t})=>{if(e.flags.touched){const{confirmed:s}=await t(Xt({title:xo(e),message:"Changes made to the file will be lost. Continue?",type:b.ModalType.CONFIRM,color:b.ModalColor.WARNING,icon:"FdWarningDanger"})).unwrap();if(!s)throw new Error("Cancel modal!")}const r=gf(e.path),a=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:!0,as:r});if(e.path===b.ROLES_TAB_PATH){const{roles:s,privileges:i}=jo(a.content);t(Of({roles:s,privileges:i}))}else if(e.path===b.SETTINGS_TAB_PATH){const{content:s}=a;t(Wo({path:"project",value:s}))}else{const{content:s}=a;e.type===b.FileFolderType.WEBFORM?b.webformSubject.next({path:e.path,action:b.WebformActions.RELOAD,payload:s.components}):e.type===b.FileFolderType.MODEL&&$m.next({action:"reload",payload:s})}return a}),Bn=K("files/saveTab",async({tab:e},{dispatch:t,getState:r})=>{let{path:a,content:s}=e;if(e.type===b.FileFolderType.DEBUGGER)return{...e,errors:[]};a.split("/").pop();const u=await b.getFilesInfo({path:a});if(u.files[0]){const g=new Date(e.date),_=new Date(u.files[0].date);if(g.getTime()<_.getTime()){const{confirmed:m}=await t(Xt({title:xo(e),message:"New content has been found on the server. Are you sure you want to continue?",type:b.ModalType.CONFIRM,icon:"FdSave"})).unwrap();if(!m)return t(lb({path:a,flags:{old:!0}})),null}}const l=BI(e,r()),f=await b.saveContent({verb:b.DesignerRequestVerb.SAVE_CONTENT,content:l,path:a});(e.type===b.FileFolderType.CLASS||e.type===b.FileFolderType.MODEL)&&setTimeout(()=>{t(Xr())},Xa);const d=(f.modelErrors||[]).map(g=>g.message),h=(f.permissionsErrors||[]).map(g=>g.message);return b.FileFolderType.MODEL===e.type&&(s=l),{...e,content:s,date:f.date,initialContent:s,errors:d.length>0||h.length>0?[{title:"Model errors",messages:d},{title:"Permissions errors",messages:h}]:[]}}),BI=(e,t)=>{var r,a;switch(!0){case e.path==="settings.json":case e.path===b.SETTINGS_TAB_PATH:return t.settings.project;case e.type===b.FileFolderType.ROLES:return((a=(r=e.extra)==null?void 0:r.editor)==null?void 0:a.key)==="editors:roles"?Bo(t.roles):e.content;case e.type===b.FileFolderType.MODEL:{const s=e.content||{toJSON:!0,dataClasses:[],extraProperties:{}};return MI(s)}default:return e.content}},Ay=async e=>{if(e.type===b.FileFolderType.DATA_EXPLORER)return{name:"Data Explorer",path:e.path,flags:{},view:{panel:{isOpen:!1,type:"",current:""}},type:e.type,date:new Date().toISOString()};const t=gf(e.path),r=await b.getNodeInfo({verb:b.DesignerRequestVerb.GET_INFO,path:e.path,content:!0,as:t}),a={};r.type===b.FileFolderType.METHOD&&(a.attributes=b.parseAttributes(r.content));const{date:s,name:i,type:u,content:l}=r;return{date:s,flags:{enabled:e.type===b.FileFolderType.WEBFORM},extra:a,view:{panel:{isOpen:!1,type:"",current:""}},name:i,path:e.path,type:u,initialContent:l,content:u===b.FileFolderType.MODEL?nm(l):l,history:{stack:[],active:-1,locked:!1}}},U_=ce.debounce((e,t)=>{t(bb(e))},300),WI=K("tabs/setTabContent",(e,{getState:t,dispatch:r})=>{var u;const{root:{tabs:a}}=t(),s=a.find(l=>l.path===e.path),i=!!((u=s==null?void 0:s.history)!=null&&u.locked);r(kf(e)),i?r(qf(e.path)):U_(e.path,r)}),UI=K("tabs/setCurrentWebformState",(e,{getState:t,dispatch:r})=>{var u;const{root:{tabs:a}}=t(),s=a.find(l=>l.path===e.path),i=!!((u=s==null?void 0:s.history)!=null&&u.locked);r(yb(e)),i?r(qf(e.path)):U_(e.path,r)}),H_=K("files/tryInjectMethod",async({type:e,dataclass:t,expand:r},{getState:a,dispatch:s})=>{const{root:{tabs:i},settings:{server:{qodly:u}}}=a(),l=b.getFileExtentionFromType("class",u);let f="",d="",h=null;if(!t)f="DataStore",d=`Classes/DataStore.${l}`;else switch(e){case"dataclass":f=t,d=`Classes/${t}.${l}`;break;case"collection":f=`${t}Selection`,d=`Classes/${t}Selection.${l}`;break;case"entity":f=`${t}Entity`,d=`Classes/${t}Entity.${l}`;break;default:return h}const g=i.find(b.by("path",d));if(g)return s(wt(g)),g;try{h=await Ay({name:f,date:new Date().toISOString(),path:d,type:b.FileFolderType.CLASS})}catch{t?await s(Vl({type:"dataclass",className:t,collectionName:`${t}Selection`,toCreate:e,expand:r})):await s(Vl({type:"model"}))}return h=await Ay({date:new Date().toISOString(),path:d,type:b.FileFolderType.CLASS}),h.path=d,s(wt(h)),h}),HI=K("roles/open",async(e,{dispatch:t,getState:r})=>{const{tabs:a}=r().root,s=a.find(i=>i.path===b.ROLES_TAB_PATH);if(s)return t(wt(s)),s;t(Eo())});function xy(e,t){const{line:r,lineInEditor:a,offset:s,type:i="saved"}=t;e.breakpoints[i].locations.push({line:r,lineInEditor:a}),ce.isNumber(s)&&(e.breakpoints[i].offset=s)}function wl(e,t,r,a,s=!1){if(s){const i=new Map;let u=0;e.breakpoints[r].locations.forEach((l,f)=>{l.disabled?i.set(f,-1):i.set(f,u++)}),e.breakpoints[r].locations=e.breakpoints[r].locations.map((l,f)=>{const d=i.get(f);return!l.disabled&&ce.isNumber(d)&&t[d]?{...l,...t[d]}:l})}else e.breakpoints[r].locations=t;ce.isNumber(a)&&(e.breakpoints[r].offset=a)}function Ry({filePath:e,fileType:t,methodName:r,className:a,ext:s,source:i}){return{filePath:e,fileType:t,methodName:r,className:a,ext:s,source:i,breakpoints:{draft:{locations:[],offset:0},saved:{locations:[],offset:0}}}}function Cl(e,t,r){let a=!1;const s=e.map(i=>i[r]!==t[r]?i:(a=!0,{...i,...t}));return a?s:[...s,t]}function Zs(e){return e.map(({label:t})=>({label:t}))}const G_=Dt({name:"debugger",initialState:()=>{var t,r;const{debugger:e={meta:{state:Hr.DETACHED},list:[],sessions:[],expressions:[]}}=_n();return{meta:{...e.meta,state:((t=e.meta)==null?void 0:t.state)===Hr.ATTACHED?(r=e.meta)==null?void 0:r.state:Hr.DETACHED},list:e.list||[],sessions:e.sessions||[],expressions:e.expressions||[]}},reducers:{addBreakpointDecoration(e,t){const{filePath:r,fileType:a,methodName:s,className:i,ext:u,source:l,breakpoint:f}=t.payload,d=cr(e.list,r,s,i);if(d)xy(d,f);else{if(a===b.FileFolderType.CLASS&&f.offset===void 0)throw new Error(`Cannot add a breakpoint on a function without offset. Try editing the ${i} class.`);const h=Ry({filePath:r,fileType:a,methodName:s,className:i,ext:u,source:l});xy(h,f),e.list.push(h)}},removeBreakpointDecoration(e,t){const{filePath:r,methodName:a,line:s,offset:i=0,type:u="saved"}=t.payload;if(r.startsWith("Classes/")){const l=e.list.filter(f=>f.filePath===r);if(l.length>0){const f=s+i;l.forEach(d=>{const h=d.breakpoints[u].offset||0;d.breakpoints[u].locations=d.breakpoints[u].locations.filter(g=>g.line+h!==f),u==="saved"&&(d.breakpoints.draft.locations=d.breakpoints.draft.locations.filter(g=>g.line+h!==f))})}}else{const l=cr(e.list,r,a);l&&(l.breakpoints[u].locations=l.breakpoints[u].locations.filter(f=>f.line!==s),u==="saved"&&(l.breakpoints.draft.locations=l.breakpoints.draft.locations.filter(f=>f.line!==s)))}},setBreakpointsDecoration(e,t){const{filePath:r,fileType:a,methodName:s,className:i,ext:u,source:l,breakpoints:f,offset:d,type:h="saved",merge:g=!1,clearDraft:_}=t.payload,m=cr(e.list,r,s,i);if(m)wl(m,f,h,d,g),_&&h!=="draft"&&(m.breakpoints.draft.locations=[]);else{const C=Ry({filePath:r,fileType:a,methodName:s,className:i,ext:u,source:l});wl(C,f,h,d),e.list.push(C)}},updateBreakpointsDecoration(e,t){const{filePath:r,methodName:a,className:s,breakpoints:i,type:u="saved",merge:l=!1}=t.payload,f=cr(e.list,r,a,s);f&&wl(f,i,u,void 0,l)},clearBreakpoints(e,t){const{filePath:r,type:a="saved"}=t.payload;e.list=e.list.map(s=>({...s,breakpoints:s.filePath===r?{draft:!a||a==="draft"||a==="any"?{locations:[],offset:0}:s.breakpoints.draft,saved:!a||a==="saved"||a==="any"?{locations:[],offset:0}:s.breakpoints.saved}:s.breakpoints}))},clearBreakpointsExcept(e,t){const{exceptedFilePath:r,type:a="saved"}=t.payload;e.list=e.list.map(s=>({...s,breakpoints:s.filePath!==r?{draft:!a||a==="draft"||a==="any"?{locations:[],offset:0}:s.breakpoints.draft,saved:!a||a==="saved"||a==="any"?{locations:[],offset:0}:s.breakpoints.saved}:s.breakpoints}))},clearAllBreakpoints(e){e.list=e.list.map(t=>({...t,breakpoints:{draft:{locations:[],offset:0},saved:{locations:[],offset:0}}}))},toggleBreakpoint(e,t){const{filePath:r,methodName:a,line:s,offset:i=0,disabled:u}=t.payload;if(r.startsWith("Classes/")){const l=e.list.filter(f=>f.filePath===r);if(l.length>0){const f=s+i;l.forEach(d=>{const h=d.breakpoints.saved.offset||0;d.breakpoints.saved.locations=d.breakpoints.saved.locations.map(g=>g.line+h===f?{...g,disabled:u}:g)})}}else{const l=cr(e.list,r,a);l&&(l.breakpoints.saved.locations=l.breakpoints.saved.locations.map(f=>f.line===s?{...f,disabled:u}:f))}},toggleBreakpointsInFile(e,t){const{filePath:r,methodName:a,disabled:s}=t.payload;if(r.startsWith("Classes/")){const i=e.list.filter(u=>u.filePath===r);i.length>0&&i.forEach(u=>{u.breakpoints.saved.locations=u.breakpoints.saved.locations.map(l=>({...l,disabled:s}))})}else{const i=cr(e.list,r,a);i&&(i.breakpoints.saved.locations=i.breakpoints.saved.locations.map(u=>({...u,disabled:s})))}},disableAllBreakpoints(e){e.list=e.list.map(t=>({...t,breakpoints:{...t.breakpoints,saved:{...t.breakpoints.saved,locations:t.breakpoints.saved.locations.map(r=>({...r,disabled:!0}))}}}))},enableAllBreakpoints(e){e.list=e.list.map(t=>({...t,breakpoints:{...t.breakpoints,saved:{...t.breakpoints.saved,locations:t.breakpoints.saved.locations.map(r=>({...r,disabled:!1}))}}}))},setActiveLine(e,t){const{threadId:r,line:a,highlight:s}=t.payload,i=Ze(e.sessions,r);i&&(i.activeLine=a,s&&(i.highlightedLines={start:a,end:a}))},addExpression(e,t){const{threadId:r,label:a,save:s}=t.payload,i=Ze(e.sessions,r);i&&i.stopped&&(i.expressions=[...i.expressions||[],{label:a}],s&&(e.expressions=Zs(i.expressions)))},removeExpression(e,t){const{threadId:r,index:a,save:s}=t.payload,i=Ze(e.sessions,r);i&&(i.expressions=i.expressions.filter((u,l)=>l!==a),s&&(e.expressions=Zs(i.expressions)))},removeAllExpressions(e,t){const{threadId:r,save:a}=t.payload,s=Ze(e.sessions,r);s&&(s.expressions=[],a&&(e.expressions=[]))},renameExpression(e,t){const{threadId:r,index:a,replacement:s,save:i}=t.payload,u=Ze(e.sessions,r);u&&u.expressions[a]&&(u.expressions[a].label=s,i&&(e.expressions=Zs(u.expressions)))},setExpression(e,t){const{threadId:r,expression:a}=t.payload,s=Ze(e.sessions,r);if(s){const i=a.index>=0?a.index:s.expressions.length>0?s.expressions.length-1:0,u=s.expressions[i];u?(u.result=a.result,u.nakedResult=a.nakedResult,u.variablesReference=a.variablesReference||0,u.presentationHint=a.presentationHint):s.expressions.push(a)}},updateExpressionAt(e,t){const{threadId:r,index:a,value:s}=t.payload,i=Ze(e.sessions,r);if(i){const u=i.expressions[a];u&&(u.result=`"${s}"`,u.nakedResult=s)}},saveExpressions(e,t){const{expressions:r}=t.payload;e.expressions=Zs(r)},addSession(e,t){const{threadId:r,channelId:a,stackFrames:s,exceptions:i=[]}=t.payload,u=Ze(e.sessions,r),l=s[0],{expressions:f=[]}=e;if(u)u.expressions=f;else{const d=df(r);e.sessions.push({tabPath:d,threadId:r,channelId:a,stackFrames:s,currentStackFrame:l,exceptions:i,expressions:f,variables:{callchain:[],expressions:[],argument:[],local:[],currentLine:[]},expandedVariables:[],highlightedLines:null,activeLine:null,stopped:!0})}},updateSession(e,t){const{threadId:r,changes:a}=t.payload;e.sessions=e.sessions.map(s=>s.threadId===r?{...s,...a}:s)},removeSession(e,t){const{threadId:r}=t.payload;e.sessions=e.sessions.filter(a=>a.threadId!==r)},removeSessionByIndex(e,t){const r=t.payload;e.sessions.splice(r,1)},setSessions(e,t){const r=t.payload;e.sessions=r},setCommonVariables(e,t){const{key:r,threadId:a,frameId:s,variablesReference:i,variables:u}=t.payload;e.sessions=e.sessions.map(l=>{var f;return l.threadId===a?{...l,variables:{...l.variables,[r]:Cl((f=l.variables)==null?void 0:f[r],{frameId:s,variablesReference:i,items:u},"frameId")},expandedVariables:[...l.expandedVariables,r]}:l})},setCallChainVariables(e,t){const{threadId:r,frameId:a,variablesReference:s,variables:i}=t.payload;e.sessions=e.sessions.map(u=>{var l;return u.threadId===r?{...u,variables:{...u.variables,callchain:Cl((l=u.variables)==null?void 0:l.callchain,{frameId:a,variablesReference:s,items:i},"frameId")},expandedVariables:[...u.expandedVariables,"callchain"]}:u})},setExpressionVariables(e,t){const{threadId:r,variablesReference:a,variables:s}=t.payload;e.sessions=e.sessions.map(i=>{var u;return i.threadId===r?{...i,variables:{...i.variables,expressions:Cl((u=i.variables)==null?void 0:u.expressions,{variablesReference:a,items:s},"variablesReference")}}:i})},setSourceContent(e,t){const{threadId:r,content:a}=t.payload,s=Ze(e.sessions,r);s&&(s.currentStackFrame.source={...s.currentStackFrame.source,content:a})},setDebuggerMeta(e,t){if(t.payload.state===Hr.ERROR){const{error:r={code:null,reason:"",type:yo.SOCKET_ERROR}}=t.payload;if(e.meta.error={...e.meta.error,...r,time:Date.now()},(r==null?void 0:r.type)===yo.SOCKET_CLOSURE&&(r==null?void 0:r.code)===1e3&&!(r!=null&&r.reason)&&e.meta.state===Hr.DETACHED)return}e.meta.state=t.payload.state}},extraReducers:e=>{e.addCase(z_.fulfilled,t=>{t.sessions=[]})}}),{addBreakpointDecoration:GI,removeBreakpointDecoration:VI,setBreakpointsDecoration:zI,updateBreakpointsDecoration:YI,clearBreakpoints:KI,clearBreakpointsExcept:QI,clearAllBreakpoints:JI,toggleBreakpoint:XI,toggleBreakpointsInFile:ZI,disableAllBreakpoints:eM,enableAllBreakpoints:tM,setActiveLine:rM,addExpression:nM,renameExpression:aM,removeExpression:sM,removeAllExpressions:oM,setExpression:iM,updateExpressionAt:uM,saveExpressions:cM,addSession:lM,updateSession:fM,removeSession:dM,removeSessionByIndex:pM,setSessions:V_,setCallChainVariables:hM,setExpressionVariables:gM,setCommonVariables:vM,setSourceContent:yM,setDebuggerMeta:mM}=G_.actions,z_=K("files/wipeDebuggerSessions",async(e,{getState:t,dispatch:r})=>{const{sessions:a}=t().debugger;for(const{threadId:s}of a){const i=df(s);r(Mf(i))}}),Y_=K("files/removeDebuggerSessionsNotIn",async(e,{getState:t,dispatch:r})=>{const{threadIds:a}=e,{sessions:s}=t().debugger,i=[],u=s.filter(l=>{const f=a.includes(l.threadId);return f||i.push(l.threadId),f});return r(V_(u)),{staleThreadIds:i}}),To=K("models/fetch",async()=>(await b.http(b.API_PREFIX,{method:"POST",body:JSON.stringify({verb:b.DesignerRequestVerb.GET_INFO,path:b.MODEL_TAB_PATH,as:"json",content:!0}),headers:new Headers({"Content-Type":"application/json"})})).content),wo=K("models/save",async(e,{getState:t,dispatch:r,rejectWithValue:a})=>{const{tabs:s}=t().root,i=s.find(u=>u.path===b.MODEL_TAB_PATH);if(!i)return a("Error while saving the model");try{const u=await b.http(b.API_PREFIX,{method:"POST",body:JSON.stringify({verb:"save",path:i.path,content:i.content}),headers:new Headers({"Content-Type":"application/json"})});return setTimeout(()=>{r(Xr())},Xa),{...u,path:i.path,content:e.content||{toJSON:!0,dataClasses:[],extraProperties:{}}}}catch{return a("Error while saving the model")}}),_M=K("models/open",async(e,{dispatch:t,getState:r})=>{const{tabs:a}=r().root,s=a.find(i=>i.path==="models/main");if(s)return t(wt(s)),s;t(To())}),bM=K("model/rename-dataclass",async({dataclassId:e,selectionId:t,name:r},{getState:a,dispatch:s})=>{const i=await s(L_()).then(g=>g.payload);if(!a().explorer.find(g=>g.path===b.FolderRootPath.CLASSES))throw new Error("Classes folder was not found!");const f={class:{found:!1,newNameTaken:!1,file:null,filename_update:r},entity:{found:!1,newNameTaken:!1,file:null,filename_update:`${r}Entity`},selection:{found:!1,newNameTaken:!1,file:null,filename_update:`${r}Selection`}};i==null||i.forEach(g=>{var _;g.path===`Classes/${e}___[<QODLY_ID>]`?(_=g.children)==null||_.forEach(m=>{var v,S,E,A;const C={...m,name:(v=m.info)==null?void 0:v.filename};((S=m.info)==null?void 0:S.filename)===e?(f.class.found=!0,f.class.file=C):((E=m.info)==null?void 0:E.filename)===`${e}Entity`?(f.entity.found=!0,f.entity.file=C):((A=m.info)==null?void 0:A.filename)===t&&(f.selection.found=!0,f.selection.file=C)}):(g.name===f.class.filename_update&&(f.class.newNameTaken=!0),g.name===f.entity.filename_update&&(f.entity.newNameTaken=!0),g.name===f.selection.filename_update&&(f.selection.newNameTaken=!0))});const d=Object.entries(f).reduce((g,_)=>{const[m,C]=_;return C.found?C.newNameTaken?[...g,{type:"error",message:`Cannot rename ${m} file to ${C.filename_update} because it already exists. The existing file will be used instead!`}]:g:[...g,{type:"warning",message:`${e} ${m} file was not found`}]},[]);d.length>0&&s(Xt({message:"The following errors were encountered during dataclass rename:",views:{tips:d}}));const h=Object.values(f).filter(g=>g.found&&g.file&&!g.newNameTaken);await Promise.all(h.map(async g=>await s(jn({file:g.file,newname:g.filename_update}))))}),Va={DATACLASS_DELETE:"dataclass.delete",DATACLASS_DRAGGABLE:"dataclass.draggable"},SM={model:{dataClasses:{},collections:{},extraProperties:{}},draft:{dataClasses:{},collections:{},extraProperties:{}},flags:{[Va.DATACLASS_DELETE]:!0,[Va.DATACLASS_DRAGGABLE]:!0}},K_=Dt({name:"Models",initialState:SM,reducers:{setModelFlag(e,t){e.flags={...e.flags,...t.payload}}},extraReducers(e){e.addCase(To.fulfilled,(t,r)=>{var u;const a={},s={},i=r.payload.extraProperties||{};(u=r.payload.dataClasses)==null||u.forEach(l=>{a[l.name]=l,s[l.collectionName]=l}),t.draft.dataClasses=a,t.draft.collections=s,t.draft.extraProperties=i,t.model.dataClasses=a,t.model.collections=s,t.model.extraProperties=i}),e.addCase(To.rejected,t=>{t.errored=!0}),e.addCase(wo.pending,()=>{}).addCase(wo.fulfilled,(t,r)=>{const a={},s={},i=r.payload.content.extraProperties||{};r.payload.content.dataClasses.forEach(u=>{a[u.name]=u,s[u.collectionName]=u}),t.draft.dataClasses=a,t.draft.collections=s,t.draft.extraProperties=i,t.model.dataClasses=a,t.model.collections=s,t.model.extraProperties=i})}}),{setModelFlag:EM}=K_.actions;var Q_=(e=>(e.UUID="uuid",e.STRING="string",e.TEXT="text",e.DATE="date",e.TIME="duration",e.BOOLEAN="bool",e.BYTE="byte",e.INTEGER="word",e.LONG="long",e.LONG64="long64",e.FLOAT="number",e.BLOB="blob",e.IMAGE="image",e.OBJECT="object",e))(Q_||{}),Ho=(e=>(e.STORAGE="storage",e.RELATEDENTITY="relatedEntity",e.RELATEDENTITIES="relatedEntities",e.CALCULATED="calculated",e.COMPOSITION="composition",e.ALIAS="alias",e))(Ho||{});const TM=e=>["string","uuid","number","long"].includes(e.type),wM=[{label:"Storage",value:"storage"},{label:"Calculated",value:"calculated"}],CM=[{title:"UUID",kind:"storage",value:"uuid",calculatedType:"uuid",calculatedKind:"storage"},{title:"Long",kind:"storage",value:"long",calculatedType:"long",calculatedKind:"storage"}],AM=[{title:"String",kind:"storage",value:"string",calculatedType:"string",calculatedKind:"storage"},{title:"Text",kind:"storage",value:"text",calculatedType:"text",calculatedKind:"storage"},{title:"UUID",kind:"storage",value:"uuid",calculatedType:"uuid",calculatedKind:"storage"},{title:"Date",kind:"storage",value:"date",calculatedType:"date",calculatedKind:"storage"},{title:"Duration",kind:"storage",value:"duration",calculatedType:"duration",calculatedKind:"storage"},{title:"Bool",kind:"storage",value:"bool",calculatedType:"bool",calculatedKind:"storage"},{title:"Byte",kind:"storage",value:"byte",calculatedType:"byte",calculatedKind:"storage"},{title:"Word",kind:"storage",value:"word",calculatedType:"word",calculatedKind:"storage"},{title:"Number",kind:"storage",value:"number",calculatedType:"number",calculatedKind:"storage"},{title:"Long",kind:"storage",value:"long",calculatedType:"long",calculatedKind:"storage"},{title:"Object",kind:"storage",value:"object",calculatedType:"object",calculatedKind:"storage"},{title:"Image",kind:"storage",value:"image",calculatedType:"image",calculatedKind:"storage"},{title:"Blob",kind:"storage",value:"blob",calculatedType:"blob",calculatedKind:"storage"}],xM=[{label:"Expose as REST",value:"public"},{label:"Do not expose as REST",value:"publicOnServer"}],RM=[{label:"Expose as REST",value:"public"},{label:"Do not expose as REST",value:"publicOnServer"}],OM=[{label:"None",value:"none"},{label:"B-tree",value:"btree"},{label:"Cluster",value:"cluster"},{label:"Automatic",value:"auto"}],PM=(e,t)=>({toJSON:!0,extraProperties:t,dataClasses:e.map(r=>{var a;return{...r.data,extraProperties:{position:{x:r.position.x,y:r.position.y},panelColor:(a=r.data.extraProperties)==null?void 0:a.panelColor}}})});function DM(e,t,r){const a=e;let s=0;for(;r[`${a}${s||""}`];)s++;return`${a}${s||""}`}const J_=e=>e.kind===Ho.RELATEDENTITY,X_=e=>e.kind===Ho.RELATEDENTITIES,FM=e=>X_(e)||J_(e),IM=()=>dr(e=>e.model),MM=()=>dr(e=>e.model.draft.dataClasses),NM=()=>dr(e=>e.model.draft.collections),LM=e=>dr(t=>t.model.draft.dataClasses[e]),$M=(e,t)=>dr(r=>r.model.draft.dataClasses[e].attributes.find(b.by("name",t))),kM=()=>dr(e=>e.settings.session["model.viewport"]),qM=()=>{const e=dr(s=>s.model.flags),t=s=>s in e?e[s]:void 0,r=t(Va.DATACLASS_DELETE),a=t(Va.DATACLASS_DRAGGABLE);return{deleteDataclass:r,draggableDataclass:a,flags:e}},jM=K_.reducer;function Al(e,t){const r=e.tabs.find(({path:a})=>a===b.SETTINGS_TAB_PATH);r&&(r.flags.touched=t)}const Z_={SIDEBAR_SECTION_RESIZABLE:"sidebar.section.resizable"},eb={[Z_.SIDEBAR_SECTION_RESIZABLE]:!0},tb=Dt({name:"webforms",initialState:()=>{const{webforms:e}=_n();return{i18n:{current:""},...e,templates:{data:[],selectedGroup:""},datasources:{...uf.webforms.datasources,...e==null?void 0:e.datasources},flags:eb}},reducers:{toggleInspector:(e,t)=>{const{type:r}=t.payload;e.inspector[r].active=!e.inspector[r].active,e.inspector[r].active||(e.inspector[r].data=void 0)},inspect:(e,t)=>{const{type:r,data:a}=t.payload;e.inspector[r].active&&(e.inspector[r].data=a)},addComponent:(e,t)=>{e.components.push(t.payload)},editComponent:(e,t)=>{const{id:r,changes:a}=t.payload;e.components=e.components.map(s=>s.id===r?{...s,...a}:s)},removeComponent:(e,t)=>{const{payload:r}=t,a=e.components.findIndex(s=>s.id===r);a!==-1&&e.components.splice(a,1)},setSelectedGroup:(e,t)=>{e.templates.selectedGroup=t.payload.selectedGroup},setTemplatesData:(e,t)=>{e.templates.data=t.payload},setTemplateData:(e,t)=>{const{group:r,components:a}=t.payload,s=e.templates.data.find(i=>i.group===r);s&&(s.components=a)},setDatasourcesTheme:(e,t)=>{e.datasources.theme=t.payload},setWebformsFlag(e,t){e.flags={...e.flags,...t.payload}},setI18nCurrent(e,t){e.i18n={...e.i18n,current:t.payload.current}}},extraReducers(e){e.addCase(ib.fulfilled,(t,r)=>{t.components=r.payload})}}),{toggleInspector:BM,inspect:WM,addComponent:rb,editComponent:nb,removeComponent:ab,setSelectedGroup:UM,setTemplatesData:sb,setTemplateData:ob,setDatasourcesTheme:HM,setWebformsFlag:GM,setI18nCurrent:VM}=tb.actions,zM=tb.reducer,Nf=ce.curry((e,t)=>{var s,i,u;const r={...t.sharedDatasources.sources},a=(u=(i=(s=t.root.tabs.find(b.by("path",e)))==null?void 0:s.content)==null?void 0:i.metadata)==null?void 0:u.datasources;return a&&(r[e]=a),ce.cloneDeep(r)}),YM=K("webforms/fetchTemplates",async(e,{dispatch:t,getState:r})=>{const{data:a}=r().webforms.templates,s=r().settings.session["studio.tipsBaseUrl"]||"";if(!ce.isEmpty(a))return a;try{const u=await(await fetch(`${s}/build/index.json?t=${Date.now()}`)).json();return t(sb(u)),u}catch{return[]}}),KM=K("webforms/fetchTemplate",async({name:e},{dispatch:t,getState:r})=>{const{data:a}=r().webforms.templates,s=a.find(i=>i.group===e);if(s&&!ce.isEmpty(s.components))return s.components;try{const u=await(await fetch(`${s==null?void 0:s.link}?t=${Date.now()}`)).json();return t(ob({group:e,components:u})),u}catch{return[]}}),ib=K("webforms/fetchCraftedComponents",async(e,{rejectWithValue:t})=>{try{return(await b.getNodeInfo({path:"WebForms/crafted_components.json",verb:b.DesignerRequestVerb.GET_INFO,content:!0,as:"json"})).content}catch{return t("Error while loading the crafted components")}}),QM=K("webforms/addCraftedComponent",async(e,{dispatch:t,rejectWithValue:r,getState:a})=>{try{t(rb(e));const{webforms:{components:s}}=a();b.setCraftedComponents(s)}catch{return r("Error while adding the crafted component")}}),JM=K("webforms/editCraftedComponent",async(e,{dispatch:t,rejectWithValue:r,getState:a})=>{try{t(nb(e));const{webforms:{components:s}}=a();b.setCraftedComponents(s)}catch{return r("Error while editing the crafted component")}}),XM=K("webforms/removeCraftedComponent",async(e,{dispatch:t,rejectWithValue:r,getState:a})=>{try{t(ab(e));const{webforms:{components:s}}=a();b.setCraftedComponents(s)}catch{return r("Error while removing the crafted component")}}),Lf=K("datasources/add-datasource",async(e,{getState:t,rejectWithValue:r})=>{var a,s;try{const i=t(),u=e.datasource,l=!!u.namespace,f=[];if(l){const d={...i.sharedDatasources.sources,[u.namespace]:[...i.sharedDatasources.sources[u.namespace],u]};f.push(...d[u.namespace]),await b.setSharedSources(d)}else(((s=(a=i.root.tabs.find(b.by("path",e.path)).content)==null?void 0:a.metadata)==null?void 0:s.datasources)||[]).push(u);return{list:f,path:e.path,namespace:e.datasource.namespace}}catch{console.error("Error while adding the datasource",e.datasource.id),r("Error while adding the datasource")}}),$f=K("datasources/edit-datasource",async(e,{getState:t,rejectWithValue:r})=>{try{const{namespace:a,path:s}=e,i=t(),u=!!e.namespace,l=Nf(s,i);let f=ce.defaultTo(l[a||s],[]);const d=f.find(m=>m.id===e.id&&(m.namespace||"")===(e.namespace||"")),h=e.changes,g=h??{[e.property]:e.value};return f=f.map(m=>m.id===e.id?{...m,...g}:m),u&&await b.setSharedSources({...i.sharedDatasources.sources,[e.namespace]:f}),(ce.isObject(h)?Object.keys(h):[]).includes("dataType")&&e.updateRefs&&b.datasourcesSubject.next({datasource:{id:e.id,namespace:e.namespace},path:s??"",action:b.DatasourcesActions.TYPE_CHANGE,old_type:(d==null?void 0:d.dataType)||"",new_type:g.dataType,is_shared:u}),{list:f,path:e.path,namespace:e.namespace}}catch{r(`Error while editing datasource ${e.id}`)}}),ZM=e=>e.type===Wn.fulfilled.type,Wn=K("datasources/rename-datasource",async(e,{getState:t,rejectWithValue:r})=>{try{const a=t(),s=!!e.namespace,i=e.namespace||e.path,u=Nf(e.path,a),l=ce.defaultTo(u[i],[]),f=new RegExp(`^${e.id}\\b`,"");if(l.forEach(d=>{var g;const h=(b.isObjectDatasource(d)||!b.isSimpleDatasource(d))&&d.from&&f.test(d.from);e.updateRefs&&((g=d.events)==null||g.forEach(_=>{var m,C,v,S,E;switch(_.type){case"method":{const A=_;A.params.forEach(O=>{O.datasource&&Object.assign(O,{datasource:O.datasource.replace(new RegExp(`^${e.id}`,""),e.new_name)})}),A.returns&&Object.assign(A.returns,{datasource:(C=(m=A.returns)==null?void 0:m.datasource)==null?void 0:C.replace(new RegExp(`^${e.id}`,""),e.new_name)});return}case"simple-action":{const A=_;A.datasource&&Object.assign(A.datasource,{name:(v=A.datasource.name)==null?void 0:v.replace(new RegExp(`^${e.id}`,""),e.new_name),from:(S=A.datasource.from)==null?void 0:S.replace(new RegExp(`^${e.id}`,""),e.new_name),target:(E=A.datasource.target)==null?void 0:E.replace(new RegExp(`^${e.id}`,""),e.new_name)});return}default:return}})),d.id===e.id?d.id=e.new_name:h&&d.from&&(d.from=d.from.replace(new RegExp(`^${e.id}`,""),e.new_name))}),e.updateRefs){const d=b.getDatasourceId({id:e.id,namespace:e.namespace}),h=b.getDatasourceId({id:e.new_name,namespace:e.namespace});b.datasourcesSubject.next({path:e.path??"",action:b.DatasourcesActions.RENAME,old_reference:d,new_reference:h,is_shared:s})}return s&&await b.setSharedSources({...a.sharedDatasources.sources,[e.namespace]:l}),{list:l,path:e.path,namespace:e.namespace}}catch{return r(`Error while renaming datasource ${e.namespace}:${e.id}`)}}),qa=K("datasources/delete-datasource",async(e,{getState:t,rejectWithValue:r})=>{try{const a=t(),s=!!e.namespace,i=e.namespace||e.path,l=Nf(e.path,a)[i].filter(b.outById(e.id));return s&&await b.setSharedSources({...a.sharedDatasources.sources,[e.namespace]:l}),{list:l,path:e.path,namespace:e.namespace}}catch{return r(`Error while removing datasource ${e.id}`)}}),io=K("saved_conditions/fetchSavedConditions",async(e,{rejectWithValue:t})=>{try{const{conditions:r=[]}=await b.getSavedConditions({createIfNotExists:!0});return r}catch{return t("Error while loading the shared conditions")}}),Go=(e,t,r)=>{switch(e.type){case"datasource":return{...e,path:e.path===t?r:e.path,value:e.valueType==="datasource"&&e.value===t?r:e.value,compareValue:e.compareValueType==="datasource"&&e.compareValue===t?r:e.compareValue};case"privilege":case"currentState":case"parentState":if(e.valueType==="datasource")return{...e,value:e.value===t?r:e.value};break;case"combination":return{...e,conditions:(e.conditions||[]).map(a=>Go(a,t,r))}}return e},eN=b.queue();async function xa(e){const t={verb:b.DesignerRequestVerb.SET_FILE_CONTENT,asText:!1,name:"saved_conditions.json",path:"",root:"shared",content:{conditions:e}};await eN(()=>b.http(b.API_PREFIX,{method:"POST",body:JSON.stringify(t),headers:new Headers({"Content-Type":"application/json"})}))}const Vo=(e,t)=>{if(e.id===t)return null;if(e.type==="reference"&&e.ref===t)return null;if(e.type==="combination"&&e.conditions){const r=e.conditions.map(a=>Vo(a,t)).filter(Boolean);return r.length===1?{...r[0],id:e.id}:{...e,conditions:r}}return e},zo=e=>{if(e.id){if(e.type==="combination"&&e.conditions)return{...e,conditions:e.conditions.map(zo)}}else return{...e,id:Ha.generate()};return e},ub=Dt({name:"shared-conditions",initialState:{state:"unknown",conditions:[]},reducers:{updateSavedConditions:(e,t)=>(e.conditions=t.payload.conditions,xa(t.payload.conditions),e),setSavedCondition:(e,t)=>{const{payload:r}=t;return e.conditions=e.conditions.map(a=>a.id===r.id?{...zo(r.condition),id:a.id}:a),xa(e.conditions),e},updateSavedConditionDs:(e,t)=>{const{old_reference:r,new_reference:a}=t.payload;e.conditions=e.conditions.map(s=>Go(s,r,a)),xa(e.conditions)},addSavedCondition:(e,t)=>(e.conditions=[...e.conditions,t.payload],xa(e.conditions),e),removeSavedCondition:(e,t)=>{const{id:r}=t.payload;return e.conditions=e.conditions.map(a=>Vo(a,r)).filter(Boolean),xa(e.conditions),e},initSavedConditions:(e,t)=>(e.conditions=t.payload.conditions,e)},extraReducers(e){e.addCase(io.pending,t=>({...t,state:"loading"})).addCase(io.fulfilled,(t,{payload:r})=>({state:"loaded",conditions:r})).addCase(io.rejected,(t,r)=>({...t,state:"error",error:r.payload||"Error while loading the shared conditions"})),e.addMatcher(kt(mb),(t,r)=>{const{state:a,oldLabel:s}=r.payload;t.conditions=t.conditions.map(i=>Gn(i,s,a.label))}),e.addMatcher(kt(_b),(t,r)=>{const{payload:a}=r;t.conditions=t.conditions.map(s=>{var i;return Gn(s,(i=a.state)==null?void 0:i.label)})})}}),{updateSavedConditions:tN,setSavedCondition:rN,updateSavedConditionDs:nN,addSavedCondition:aN,removeSavedCondition:cb,initSavedConditions:sN}=ub.actions,oN=ub.reducer,za=Dt({name:"root",initialState:()=>{const e=_n();return{filesLoading:!1,tabs:e.tabs||[],activeTab:e.activeTab,recent:e.recent||[],clipboard:null}},reducers:{setWebformState(e,t){const{path:r,currentState:a}=t.payload;e.tabs.forEach(s=>{s.path===r&&(s.content.metadata.currentState=a.id)})},copyToClipBoard(e,t){e.clipboard=t.payload},setPanelState(e,t){const{path:r,...a}=t.payload;e.tabs.forEach(s=>{s.path===r&&(s.view||(s.view={panel:{isOpen:!1,type:"",current:""}}),Object.assign(s.view.panel,a))})},addDataSource(e,t){var i;const{payload:{path:r,datasourceDef:a}}=t,s=e.tabs.find(u=>u.path===r);s&&(s.content.metadata.datasources=s.content.metadata.datasources||[],(i=s.content.metadata.datasources)!=null&&i.find(l=>l.id===a.id)||(s.content.metadata.datasources=[...s.content.metadata.datasources,{...a,events:[]}],s.flags={...s.flags,touched:!0,confirmed:!0}))},addWebformState(e,t){var i;const{payload:{path:r,stateDef:a}}=t,s=e.tabs.find(u=>u.path===r);s&&(s.content.metadata.states=s.content.metadata.states||[zn],(i=s.content.metadata.states)!=null&&i.find(l=>l.id===a.id)||(s.content.metadata.states=[...s.content.metadata.states,a],s.flags={...s.flags,touched:!0,confirmed:!0}))},removeWebformState(e,t){const{payload:r}=t;e.tabs=e.tabs.map(a=>a.path===r.path?{...a,flags:{...a.flags,touched:!0,confirmed:!0},content:sm(a.content,r.state)}:a)},editWebformState(e,t){const{path:r,state:a,oldLabel:s}=t.payload;e.tabs=e.tabs.map(i=>i.path===r?{...i,flags:{...i.flags,touched:!0,confirmed:!0},content:{...i.content,metadata:{...i.content.metadata,states:i.content.metadata.states.map(u=>Sf(u)?u:u.id===a.id?a.conditions?{...a,conditions:zo(a.conditions)}:a:{...u,conditions:u.conditions?Gn(u.conditions,s,a.label):u.conditions})}}}:i)},updateStateConditionDs(e,t){const{path:r,old_reference:a,new_reference:s}=t.payload;e.tabs=e.tabs.map(i=>{var u,l;return i.path===r?{...i,flags:{...i.flags,touched:!0,confirmed:!0},content:{...i.content,metadata:{...i.content.metadata,states:(((l=(u=i.content)==null?void 0:u.metadata)==null?void 0:l.states)||[]).map(f=>f.conditions?{...f,conditions:Go(f.conditions,a,s)}:f)}}}:i})},resetComponentState(e,t){const{path:r,id:a,state:s,lang:i,resetAll:u}=t.payload;e.tabs=e.tabs.map(l=>l.path===r?{...l,flags:{...l.flags,touched:!0,confirmed:!0},content:{...l.content,components:{...l.content.components,[a]:{...l.content.components[a],custom:{...ce.omit(l.content.components[a].custom,u&&s&&i?[`states:${s.id}`,`i18n:${i}`,`states:${s.id}:i18n:${i}`]:s?i?`states:${s.id}:i18n:${i}`:`states:${s.id}`:i?`i18n:${i}`:"")}}}}}:l)},setDefaultWebformStates(e,t){const{path:r,states:a}=t.payload;e.tabs=e.tabs.map(s=>s.path===r?{...s,flags:{...s.flags,touched:!0,confirmed:!0},content:{...s.content,metadata:{...s.content.metadata,defaultStates:a.map(({id:i})=>i)}}}:s)},addDefaultWebformState(e,t){const{payload:r}=t;e.tabs=e.tabs.map(a=>{var s;return a.path===r.path?{...a,flags:{...a.flags,touched:!0,confirmed:!0},content:{...a.content,metadata:{...a.content.metadata,defaultStates:Array.from(new Set([...((s=a.content.metadata)==null?void 0:s.defaultStates)||[],r.state.id]))}}}:a})},removeDefaultWebformState(e,t){const{payload:r}=t;e.tabs=e.tabs.map(a=>{var s;return a.path===r.path?{...a,flags:{...a.flags,touched:!0,confirmed:!0},content:{...a.content,metadata:{...a.content.metadata,defaultStates:(((s=a.content.metadata)==null?void 0:s.defaultStates)||[]).filter(i=>i!==r.state.id)}}}:a})},removeDataSource(e,t){const{path:r,datasourceID:a}=t.payload;e.tabs=e.tabs.map(s=>s.path===r?{...s,flags:{...s.flags,touched:!0,confirmed:!0},content:{...s.content,metadata:{...s.content.metadata,datasources:s.content.metadata.datasources.filter(i=>i.id!==a)}}}:s)},setDataSources(e,t){const{payload:{path:r,datasourceArr:a}}=t;e.tabs=e.tabs.map(s=>{var i;return s.path===r?{...s,flags:{...s.flags,touched:!0,confirmed:!0},content:{...s.content,metadata:{...(i=s.content)==null?void 0:i.metadata,datasources:a}}}:s})},setTabs(e,t){e.tabs=t.payload},closeTab(e,t){const r=t.payload;e.tabs.splice(r,1);const a=e.tabs.reduce((s,i)=>(i==null?void 0:i.weight)>((s==null?void 0:s.weight)||0)?i:s,null);a?(e.activeTab=a.path,dn(a)):(e.activeTab="",to())},closeOthers(e,t){e.tabs=e.tabs.filter(r=>r.path===t.payload),e.activeTab=t.payload,dn(e.tabs[0])},closeAllTabs(e){e.tabs=[],e.activeTab="",to()},closeRightTabs(e,t){e.tabs.splice(t.payload+1),e.activeTab=e.tabs[t.payload].path,dn(e.tabs[t.payload])},closeLeftTabs(e,t){e.tabs.splice(0,t.payload),e.activeTab=e.tabs[t.payload].path,dn(e.tabs[t.payload])},closeSavedTabs(e){e.tabs=e.tabs.filter(({flags:{touched:r}})=>r);const t=e.tabs.reduce((r,a)=>(a==null?void 0:a.weight)>((r==null?void 0:r.weight)||0)?a:r,null);t?(e.activeTab=t.path,dn(t)):(e.activeTab="",to())},confirmTab(e,t){const r=e.tabs.find(({path:a})=>a===t.payload);r&&(r.flags.confirmed||za.caseReducers.setTabFlags(e,{type:t.type,payload:{path:t.payload,flags:{confirmed:!0}}}))},selectTab(e,t){const r=e.tabs.find(({path:s})=>s===t.payload);if(!r||e.activeTab===t.payload)return;const a=e.tabs.reduce((s,i)=>(i==null?void 0:i.weight)>((s==null?void 0:s.weight)||0)?i:s,null);r.weight=a?(a.weight||0)+1:1,e.activeTab=t.payload},openTabUnselected(e,t){const r=t.payload;let a=e.tabs.find(({path:i})=>r.path===i);a||(e.tabs.push(r),a=e.tabs[e.tabs.length-1]);const s=e.tabs.reduce((i,u)=>(u==null?void 0:u.weight)>((i==null?void 0:i.weight)||0)?u:i,null);a.weight=s?(s.weight||0)+1:1,a.extra={...a.extra,...r.extra}},selectTabByReference(e,t){const r=[b.FileFolderType.DEBUGGER],{isNew:a,...s}=t.payload;let i=s,u=e.tabs.find(({path:l})=>i.path===l);if(i.history||(i.history={stack:[],active:-1,locked:!1}),(r.includes(i.type)||u!=null&&u.flags.confirmed)&&(i={...i,flags:{...i.flags,confirmed:!0}}),!u){const l=e.tabs.findIndex(({flags:{confirmed:f}})=>f===!1);l!==-1&&!r.includes(i.type)&&!a?e.activeTab===e.tabs[l].path?(e.tabs[l]=i,u=e.tabs[l]):(e.tabs.push(i),u=e.tabs[e.tabs.length-1],e.tabs.splice(l,1)):(e.tabs.push(i),u=e.tabs[e.tabs.length-1])}if(e.activeTab!==i.path){const l=e.tabs.reduce((f,d)=>(d==null?void 0:d.weight)>((f==null?void 0:f.weight)||0)?d:f,null);e.activeTab=i.path,u.weight=((l==null?void 0:l.weight)||0)+1}u.extra={...u.extra,...i.extra},u.view={...u.view,...i.view},u.flags={...u.flags||{},...i.flags||{}}},setContent(e,t){const{path:r,content:a,contentPath:s}=t.payload;e.tabs=e.tabs.map(i=>{if(i.path!==r)return i;let u=!1,l=i.flags.confirmed;if(typeof a=="string")u=i.initialContent!==a,l=!l&&u?!0:l;else{const f=ce.get(i.initialContent,s||"",i.initialContent),d=ce.get(a,s||"",a);u=!ce.isEqual(f,d),l=!l&&u?!0:l}return a&&typeof a=="object"&&(s?ce.set(i.content,s,a):i.content=a),typeof a=="string"&&(i.content=a),{...i,flags:{...i.flags,touched:u,confirmed:l}}})},setTabFlags(e,t){const{path:r,flags:a}=t.payload;e.tabs=e.tabs.map(s=>s.path===r?{...s,flags:{...s.flags,...a}}:s)},setTabsFlags(e,t){const{tabs:r,flags:a}=t.payload;e.tabs=e.tabs.map(s=>r.includes(s.path)?{...s,flags:{...s.flags,...a}}:s)},setTabExtra(e,t){const{path:r,extra:a,flags:s}=t.payload;e.tabs=e.tabs.map(i=>i.path===r?{...i,extra:{...i.extra,...a},flags:s?{...i.flags,...s}:i.flags}:i)},addWebFormStyles(e,t){const{path:r,styles:a=[]}=t.payload,s=e.tabs.find(i=>i.path===r);if(s){const i=s.content.metadata.styles.map(({name:l})=>l),u=a.filter(({name:l})=>!i.includes(l));s.content.metadata.styles=[...s.content.metadata.styles,...u].map(({scope:l,...f})=>f)}},changeTabEditor(e,t){return e.tabs=e.tabs.map(r=>r.path===t.payload.path?t.payload:r),e},setHistoryContent(e,t){const r=t.payload;e.tabs=e.tabs.map(a=>{var i,u;if(a.path!==r)return a;const s=!ce.isEqual(a.content,(i=a.history)==null?void 0:i.stack[a.history.active]);return a.history&&s&&(a.history.stack=[...(u=a.history)==null?void 0:u.stack.slice(0,a.history.active+1),a.content],a.history.active=a.history.stack.length-1),{...a}})},unlockHistory(e,t){const r=t.payload;e.tabs=e.tabs.map(a=>a.path!==r?a:(a.history&&(a.history.locked=!1),{...a}))},undo(e){e.tabs=e.tabs.map(t=>t.path!==e.activeTab?t:(t.history&&t.history.active>0&&(t.history.locked=!0,t.history.active--,t.content=t.history.stack[t.history.active]),{...t}))},redo(e){e.tabs=e.tabs.map(t=>t.path!==e.activeTab?t:(t.history&&t.history.active<t.history.stack.length-1&&(t.history.locked=!0,t.history.active++,t.content=t.history.stack[t.history.active]),{...t}))}},extraReducers:e=>{e.addCase(Ul,(t,r)=>{if(r.payload.settingsKey==="studio.enablePreview"&&r.payload.value===!1){const a=t.tabs.find(({flags:{confirmed:s}})=>s===!1);a&&za.caseReducers.setTabFlags(t,{type:"",payload:{path:a.path,flags:{confirmed:!0}}})}}),e.addCase(q_.fulfilled,(t,r)=>{if(!r.payload)return;const{content:a,line:s,path:i}=r.payload,u=t.tabs.find(l=>l.path===i);if(u&&typeof u.content=="string"){const l=u.content.trim().split(`
170
170
  `);l.splice(s,0,a),u.content=l.join(`
171
171
  `)}}),e.addCase(Bn.pending,(t,r)=>{const{tab:a}=r.meta.arg;switch(a.type){case b.FileFolderType.CLASS:case b.FileFolderType.METHOD:b.lspSubject.next({action:b.LspActions.WILL_SAVE,payload:{filePath:a.path}});break}}),e.addCase(Bn.fulfilled,(t,r)=>{if(!r.payload)return;const a=t.tabs.find(({path:s})=>{var i;return s===((i=r.payload)==null?void 0:i.path)});if(a){switch(a.content=r.payload.content,a.date=r.payload.date,a.initialContent=r.payload.initialContent,a.flags.touched=!1,a.flags.confirmed=!0,a.flags.old=!1,a.type){case b.FileFolderType.CLASS:case b.FileFolderType.METHOD:b.lspSubject.next({action:b.LspActions.DID_SAVE,payload:{filePath:a.path,content:a.content}});break;case b.FileFolderType.HTTP_HANDLERS:b.toastSubject.next({kind:"info",message:"Restart WEB server to have modifications taken into account"});break}r.payload.errors.length>0&&b.toastSubject.next({kind:"error",message:r.payload.errors})}}),e.addCase(Bn.rejected,()=>{b.toastSubject.next({kind:"danger",message:"Cannot save file"})}),e.addCase(W_.fulfilled,(t,r)=>{const a=[...r.payload.files];t.tabs=t.tabs.map(s=>{if([b.FileFolderType.CLASS,b.FileFolderType.METHOD].includes(s.type)){const i=a.find(u=>u.name===s.name&&u.type===s.type);if(i){const u=new Date(s.date),l=new Date(i.date);if(u.getTime()!==l.getTime())return{...s,flags:{...s.flags,old:!0}}}}return s})}),e.addCase(oo.pending,(t,r)=>{t.tabs=t.tabs.map(a=>a.path===r.meta.arg.path?{...a,flags:{...a.flags,loading:!0}}:a)}),e.addCase(oo.fulfilled,(t,r)=>{const a=r.payload;if(a){const s=r.meta.arg;t.tabs=t.tabs.map(i=>{if(i.name===s.name&&i.type===s.type){const u=i.extra||{};return i.type===b.FileFolderType.METHOD?(u.attributes=b.parseAttributes(a.content),a.content=b.addAttributesToContent(a.content,{})):i.type===b.FileFolderType.SETTINGS&&(a.content={}),{...i,initialContent:a.content,content:a.content,date:a.date,flags:{enabled:i.flags.enabled,confirmed:i.flags.confirmed},extra:u}}return i})}}),e.addCase(oo.rejected,(t,r)=>{const a=r.meta.arg.path;t.tabs=t.tabs.map(s=>s.path===a?{...s,flags:{...s.flags,loading:!1}}:s)}),e.addCase(Df.fulfilled,(t,r)=>{if(!r.payload)return;const{line:a,offset:s}=r.meta.arg,i=t.tabs.find(({path:u})=>{var l;return u===((l=r.payload)==null?void 0:l.path)});i&&(i.extra={...i.extra,initialLineInfo:{line:a,offset:s,lastModification:Date.now()}})}),e.addCase(j_.fulfilled,(t,r)=>{if(!r.payload)return;const{selection:a}=r.meta.arg,s=t.tabs.find(({path:i})=>{var u;return i===((u=r.payload)==null?void 0:u.path)});s&&(s.extra={...s.extra,initialSelectionInfo:{selection:a,lastModification:Date.now()}})}),e.addCase(jn.fulfilled,(t,r)=>{r.payload.new!==r.payload.old&&(t.tabs=[...t.tabs].map(a=>a.path===r.payload.old.path?{...a,path:r.payload.new.path,name:r.payload.new.name}:a),t.activeTab===r.payload.old.path&&(t.activeTab=r.payload.new.path))}),e.addCase(zl.pending,(t,r)=>{const a=r.meta.arg,s=`${a.path}${a.ext?`.${a.ext}`:""}`;switch(a.ext){case"4dm":case"4qs":b.lspSubject.next({action:b.LspActions.WILL_DELETE,payload:{filePath:s}});break}}),e.addCase(zl.fulfilled,(t,r)=>{const{deleted:a,node:s}=r.payload;if(!a)return;const i=`${s.path}${s.ext?`.${s.ext}`:""}`;switch(s.ext){case"4dm":case"4qs":b.lspSubject.next({action:b.LspActions.DID_DELETE,payload:{filePath:i}});break}if(t.tabs=t.tabs.filter(u=>u.path!==i),t.recent=t.recent.filter(({path:u})=>i!==u),t.tabs.length){t.activeTab=t.tabs[t.tabs.length-1].path;return}t.activeTab=""}),e.addCase(Yl.pending,(t,r)=>{const a=r.meta.arg,s=`${a.path}${a.ext?`.${a.ext}`:""}`;switch(a.ext){case"4dm":case"4qs":b.lspSubject.next({action:b.LspActions.WILL_DELETE,payload:{filePath:s}});break}}),e.addCase(Yl.fulfilled,(t,r)=>{const{node:a}=r.payload,s=`${a.path}${a.ext?`.${a.ext}`:""}`;switch(a.ext){case"4dm":case"4qs":b.lspSubject.next({action:b.LspActions.DID_DELETE,payload:{filePath:s}});break}}),e.addCase(ka.fulfilled,(t,r)=>{const{draggedNode:a,newLocation:s}=r.meta.arg;if(t.tabs.find(i=>i.path===`${a.path}${a.ext?`.${a.ext}`:""}`))return t.tabs=t.tabs.map(i=>i.path===`${a.path}${a.ext?`.${a.ext}`:""}`?{...i,path:`${s.path}/${a.name}.${a.ext}`}:i),t.recent=t.recent.map(i=>i.path===`${a.path}${a.ext?`.${a.ext}`:""}`?{...i,path:`${s.path}/${a.name}.${a.ext}`}:i),t.activeTab=`${s.path}/${a.name}.${a.ext}`,t}),e.addCase(wo.fulfilled,(t,r)=>{const a=t.tabs.find(s=>s.path===r.payload.path);a&&(a.flags.touched=!1,a.flags.confirmed=!0,a.date=r.payload.date,a.content=r.payload.content,a.initialContent=r.payload.content)}),e.addCase(H_.fulfilled,(t,r)=>{var i;if(!((i=r.payload)!=null&&i.path))return;const a=t.tabs.find(b.by("path",r.payload.path));if(!a)return;a.content=a.content+`
172
172
  exposed Function ${r.meta.arg.name}()