@agentlang/lstudio 0.2.5 → 0.2.6

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.
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-B3r05-bX.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/winston-CKrqq8ju.js","assets/util-dDeaEvHH.js","assets/_commonjs-dynamic-modules-B7n8ZNar.js","assets/__vite-browser-external-DLjrMatA.js","assets/winston-ChvNJCpJ.js","assets/util-DZRIOW0Z-CproX86h.js","assets/util-CNqBjtt6-GUXK7Yxz.js","assets/inherits_browser-nmOknR35-Bp0mvRSL.js","assets/index-69shuAsh-DF18H7zf.js","assets/_commonjsHelpers-B4e78b8K-W3E8ocG7.js","assets/index-D4z_hbl0-FxTZk5b8.js","assets/winston-1qzyIKCb-T03DN2Ds.js","assets/index-DsIu-45t-Bejjlpz4.js","assets/index-DSosZ5sh-Ceejs_jv.js","assets/index-6mKfgpcs-DsgiI2lM.js","assets/_commonjs-dynamic-modules-BpilXLfW-DfYEAvWy.js","assets/index-ChvoNxcO.js","assets/preload-helper-BlTxHScW.js","assets/index-BJBOx-Z---hbiLl7B.js","assets/index.browser-BHPvGrwi-6Mh8eUw-.js","assets/winston-CtxF18qc-D2kpfBfi.js","assets/index-WGenATk8-DLiSeXer.js","assets/index-KGBiLwKE-Doz2tX9S.js","assets/index-Bto-kj6R-C0A_3Pwb.js","assets/index.browser-GiwbU6nH.js","assets/normalizeProvider-EC8cbfMc.js","assets/index-DvWiNIm-.js","assets/index-Lo_XIkxp.js","assets/AwsJson1_1Protocol-1sL8GPmz.js","assets/index-BHDiPh0o.js","assets/index-3_2F9LQx.js","assets/fs-BxrTCdSt.js","assets/replService-DrnjrXLr.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-B9xf0SlF.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/winston--y6G2S-p.js","assets/util-BywKFcde.js","assets/_commonjs-dynamic-modules-B7n8ZNar.js","assets/__vite-browser-external-DLjrMatA.js","assets/winston-I4dVFosi.js","assets/util-DZRIOW0Z-CproX86h.js","assets/util-CNqBjtt6-GUXK7Yxz.js","assets/inherits_browser-nmOknR35-Bp0mvRSL.js","assets/index-69shuAsh-DF18H7zf.js","assets/_commonjsHelpers-B4e78b8K-W3E8ocG7.js","assets/index-D4z_hbl0-B3P-IHVr.js","assets/winston-1qzyIKCb-DnRuS_6a.js","assets/index-DsIu-45t-Bejjlpz4.js","assets/index-DSosZ5sh-Ceejs_jv.js","assets/index-6mKfgpcs-DsgiI2lM.js","assets/_commonjs-dynamic-modules-BpilXLfW-DfYEAvWy.js","assets/index-ChvoNxcO.js","assets/preload-helper-BlTxHScW.js","assets/index-BJBOx-Z---hbiLl7B.js","assets/index.browser-BHPvGrwi-6Mh8eUw-.js","assets/winston-CtxF18qc-B4TYM6WT.js","assets/index-WGenATk8-DLiSeXer.js","assets/index-KGBiLwKE-Doz2tX9S.js","assets/index-Bto-kj6R-C0A_3Pwb.js","assets/index.browser-CQpqSWgo.js","assets/normalizeProvider-EC8cbfMc.js","assets/index-BVUaJ-sT.js","assets/index-CfwOw0jW.js","assets/AwsJson1_1Protocol-v_th_-Ma.js","assets/index-BHDiPh0o.js","assets/index-3_2F9LQx.js","assets/fs-90i5TvrG.js","assets/replService-CGFCaXaB.js"])))=>i.map(i=>d[i]);
2
2
  import{g as getDefaultExportFromCjs,c as commonjsGlobal,a as getAugmentedNamespace}from"./_commonjsHelpers-D6-XlEtG.js";import chalk from"./index-ChvoNxcO.js";import{_ as __vitePreload}from"./preload-helper-BlTxHScW.js";import{c as crypto$1}from"./__vite-browser-external-DLjrMatA.js";import{E as E$a,L as L$a}from"./inherits_browser-nmOknR35-Bp0mvRSL.js";import{Y as Yr$2}from"./index-6mKfgpcs-DsgiI2lM.js";import{f as f$k,u as u$k,l as l$c}from"./_commonjsHelpers-B4e78b8K-W3E8ocG7.js";import{S as Sr$2,L as Lr$2,D as Dr$1}from"./index-DsIu-45t-Bejjlpz4.js";import{F as Ft$5,G as Gt$3,J as J$9}from"./index-69shuAsh-DF18H7zf.js";import G$9 from"./index-BJBOx-Z---hbiLl7B.js";import{g as e$c}from"./index.browser-BHPvGrwi-6Mh8eUw-.js";import{r as r$g}from"./_commonjs-dynamic-modules-BpilXLfW-DfYEAvWy.js";import{I as I$b}from"./index-DSosZ5sh-Ceejs_jv.js";import{b as requireIeee754,a as requireBase64Js,r as require$$0$2,c as commonjsRequire}from"./_commonjs-dynamic-modules-B7n8ZNar.js";function _mergeNamespaces(la,aa){for(var ca=0;ca<aa.length;ca++){const ua=aa[ca];if(typeof ua!="string"&&!Array.isArray(ua)){for(const Sa in ua)if(Sa!=="default"&&!(Sa in la)){const hl=Object.getOwnPropertyDescriptor(ua,Sa);hl&&Object.defineProperty(la,Sa,hl.get?hl:{enumerable:!0,get:()=>ua[Sa]})}}}return Object.freeze(Object.defineProperty(la,Symbol.toStringTag,{value:"Module"}))}(function(){const aa=document.createElement("link").relList;if(aa&&aa.supports&&aa.supports("modulepreload"))return;for(const Sa of document.querySelectorAll('link[rel="modulepreload"]'))ua(Sa);new MutationObserver(Sa=>{for(const hl of Sa)if(hl.type==="childList")for(const pl of hl.addedNodes)pl.tagName==="LINK"&&pl.rel==="modulepreload"&&ua(pl)}).observe(document,{childList:!0,subtree:!0});function ca(Sa){const hl={};return Sa.integrity&&(hl.integrity=Sa.integrity),Sa.referrerPolicy&&(hl.referrerPolicy=Sa.referrerPolicy),Sa.crossOrigin==="use-credentials"?hl.credentials="include":Sa.crossOrigin==="anonymous"?hl.credentials="omit":hl.credentials="same-origin",hl}function ua(Sa){if(Sa.ep)return;Sa.ep=!0;const hl=ca(Sa);fetch(Sa.href,hl)}})();var jsxRuntime={exports:{}},reactJsxRuntime_production={};/**
3
3
  * @license React
4
4
  * react-jsx-runtime.production.js
@@ -8102,7 +8102,7 @@ workflow TempEvent { ${la} }`);if(isWorkflowDefinition$1(ca.defs[0]))aa=ca.defs[
8102
8102
  *
8103
8103
  * @author Feross Aboukhadijeh <https://feross.org>
8104
8104
  * @license MIT
8105
- */var hasRequiredBuffer;function requireBuffer(){return hasRequiredBuffer||(hasRequiredBuffer=1,(function(la){const aa=requireBase64Js(),ca=requireIeee754(),ua=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;la.Buffer=ml,la.SlowBuffer=eg,la.INSPECT_MAX_BYTES=50;const Sa=2147483647;la.kMaxLength=Sa,ml.TYPED_ARRAY_SUPPORT=hl(),!ml.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function hl(){try{const Ndt=new Uint8Array(1),mY={foo:function(){return 42}};return Object.setPrototypeOf(mY,Uint8Array.prototype),Object.setPrototypeOf(Ndt,mY),Ndt.foo()===42}catch{return!1}}Object.defineProperty(ml.prototype,"parent",{enumerable:!0,get:function(){if(ml.isBuffer(this))return this.buffer}}),Object.defineProperty(ml.prototype,"offset",{enumerable:!0,get:function(){if(ml.isBuffer(this))return this.byteOffset}});function pl(Ndt){if(Ndt>Sa)throw new RangeError('The value "'+Ndt+'" is invalid for option "size"');const mY=new Uint8Array(Ndt);return Object.setPrototypeOf(mY,ml.prototype),mY}function ml(Ndt,mY,Phe){if(typeof Ndt=="number"){if(typeof mY=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return ff(Ndt)}return gl(Ndt,mY,Phe)}ml.poolSize=8192;function gl(Ndt,mY,Phe){if(typeof Ndt=="string")return jf(Ndt,mY);if(ArrayBuffer.isView(Ndt))return rp(Ndt);if(Ndt==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ndt);if(spt(Ndt,ArrayBuffer)||Ndt&&spt(Ndt.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(spt(Ndt,SharedArrayBuffer)||Ndt&&spt(Ndt.buffer,SharedArrayBuffer)))return np(Ndt,mY,Phe);if(typeof Ndt=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Odt=Ndt.valueOf&&Ndt.valueOf();if(Odt!=null&&Odt!==Ndt)return ml.from(Odt,mY,Phe);const zhe=qm(Ndt);if(zhe)return zhe;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Ndt[Symbol.toPrimitive]=="function")return ml.from(Ndt[Symbol.toPrimitive]("string"),mY,Phe);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ndt)}ml.from=function(Ndt,mY,Phe){return gl(Ndt,mY,Phe)},Object.setPrototypeOf(ml.prototype,Uint8Array.prototype),Object.setPrototypeOf(ml,Uint8Array);function wc(Ndt){if(typeof Ndt!="number")throw new TypeError('"size" argument must be of type number');if(Ndt<0)throw new RangeError('The value "'+Ndt+'" is invalid for option "size"')}function xu(Ndt,mY,Phe){return wc(Ndt),Ndt<=0?pl(Ndt):mY!==void 0?typeof Phe=="string"?pl(Ndt).fill(mY,Phe):pl(Ndt).fill(mY):pl(Ndt)}ml.alloc=function(Ndt,mY,Phe){return xu(Ndt,mY,Phe)};function ff(Ndt){return wc(Ndt),pl(Ndt<0?0:Vm(Ndt)|0)}ml.allocUnsafe=function(Ndt){return ff(Ndt)},ml.allocUnsafeSlow=function(Ndt){return ff(Ndt)};function jf(Ndt,mY){if((typeof mY!="string"||mY==="")&&(mY="utf8"),!ml.isEncoding(mY))throw new TypeError("Unknown encoding: "+mY);const Phe=tg(Ndt,mY)|0;let Odt=pl(Phe);const zhe=Odt.write(Ndt,mY);return zhe!==Phe&&(Odt=Odt.slice(0,zhe)),Odt}function Uf(Ndt){const mY=Ndt.length<0?0:Vm(Ndt.length)|0,Phe=pl(mY);for(let Odt=0;Odt<mY;Odt+=1)Phe[Odt]=Ndt[Odt]&255;return Phe}function rp(Ndt){if(spt(Ndt,Uint8Array)){const mY=new Uint8Array(Ndt);return np(mY.buffer,mY.byteOffset,mY.byteLength)}return Uf(Ndt)}function np(Ndt,mY,Phe){if(mY<0||Ndt.byteLength<mY)throw new RangeError('"offset" is outside of buffer bounds');if(Ndt.byteLength<mY+(Phe||0))throw new RangeError('"length" is outside of buffer bounds');let Odt;return mY===void 0&&Phe===void 0?Odt=new Uint8Array(Ndt):Phe===void 0?Odt=new Uint8Array(Ndt,mY):Odt=new Uint8Array(Ndt,mY,Phe),Object.setPrototypeOf(Odt,ml.prototype),Odt}function qm(Ndt){if(ml.isBuffer(Ndt)){const mY=Vm(Ndt.length)|0,Phe=pl(mY);return Phe.length===0||Ndt.copy(Phe,0,0,mY),Phe}if(Ndt.length!==void 0)return typeof Ndt.length!="number"||_pt(Ndt.length)?pl(0):Uf(Ndt);if(Ndt.type==="Buffer"&&Array.isArray(Ndt.data))return Uf(Ndt.data)}function Vm(Ndt){if(Ndt>=Sa)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Sa.toString(16)+" bytes");return Ndt|0}function eg(Ndt){return+Ndt!=Ndt&&(Ndt=0),ml.alloc(+Ndt)}ml.isBuffer=function(mY){return mY!=null&&mY._isBuffer===!0&&mY!==ml.prototype},ml.compare=function(mY,Phe){if(spt(mY,Uint8Array)&&(mY=ml.from(mY,mY.offset,mY.byteLength)),spt(Phe,Uint8Array)&&(Phe=ml.from(Phe,Phe.offset,Phe.byteLength)),!ml.isBuffer(mY)||!ml.isBuffer(Phe))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(mY===Phe)return 0;let Odt=mY.length,zhe=Phe.length;for(let Fhe=0,jhe=Math.min(Odt,zhe);Fhe<jhe;++Fhe)if(mY[Fhe]!==Phe[Fhe]){Odt=mY[Fhe],zhe=Phe[Fhe];break}return Odt<zhe?-1:zhe<Odt?1:0},ml.isEncoding=function(mY){switch(String(mY).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},ml.concat=function(mY,Phe){if(!Array.isArray(mY))throw new TypeError('"list" argument must be an Array of Buffers');if(mY.length===0)return ml.alloc(0);let Odt;if(Phe===void 0)for(Phe=0,Odt=0;Odt<mY.length;++Odt)Phe+=mY[Odt].length;const zhe=ml.allocUnsafe(Phe);let Fhe=0;for(Odt=0;Odt<mY.length;++Odt){let jhe=mY[Odt];if(spt(jhe,Uint8Array))Fhe+jhe.length>zhe.length?(ml.isBuffer(jhe)||(jhe=ml.from(jhe)),jhe.copy(zhe,Fhe)):Uint8Array.prototype.set.call(zhe,jhe,Fhe);else if(ml.isBuffer(jhe))jhe.copy(zhe,Fhe);else throw new TypeError('"list" argument must be an Array of Buffers');Fhe+=jhe.length}return zhe};function tg(Ndt,mY){if(ml.isBuffer(Ndt))return Ndt.length;if(ArrayBuffer.isView(Ndt)||spt(Ndt,ArrayBuffer))return Ndt.byteLength;if(typeof Ndt!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Ndt);const Phe=Ndt.length,Odt=arguments.length>2&&arguments[2]===!0;if(!Odt&&Phe===0)return 0;let zhe=!1;for(;;)switch(mY){case"ascii":case"latin1":case"binary":return Phe;case"utf8":case"utf-8":return Zht(Ndt).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Phe*2;case"hex":return Phe>>>1;case"base64":return Bpt(Ndt).length;default:if(zhe)return Odt?-1:Zht(Ndt).length;mY=(""+mY).toLowerCase(),zhe=!0}}ml.byteLength=tg;function rg(Ndt,mY,Phe){let Odt=!1;if((mY===void 0||mY<0)&&(mY=0),mY>this.length||((Phe===void 0||Phe>this.length)&&(Phe=this.length),Phe<=0)||(Phe>>>=0,mY>>>=0,Phe<=mY))return"";for(Ndt||(Ndt="utf8");;)switch(Ndt){case"hex":return BN(this,mY,Phe);case"utf8":case"utf-8":return G0(this,mY,Phe);case"ascii":return f_(this,mY,Phe);case"latin1":case"binary":return zN(this,mY,Phe);case"base64":return Y0(this,mY,Phe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return iF(this,mY,Phe);default:if(Odt)throw new TypeError("Unknown encoding: "+Ndt);Ndt=(Ndt+"").toLowerCase(),Odt=!0}}ml.prototype._isBuffer=!0;function ig(Ndt,mY,Phe){const Odt=Ndt[mY];Ndt[mY]=Ndt[Phe],Ndt[Phe]=Odt}ml.prototype.swap16=function(){const mY=this.length;if(mY%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Phe=0;Phe<mY;Phe+=2)ig(this,Phe,Phe+1);return this},ml.prototype.swap32=function(){const mY=this.length;if(mY%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let Phe=0;Phe<mY;Phe+=4)ig(this,Phe,Phe+3),ig(this,Phe+1,Phe+2);return this},ml.prototype.swap64=function(){const mY=this.length;if(mY%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let Phe=0;Phe<mY;Phe+=8)ig(this,Phe,Phe+7),ig(this,Phe+1,Phe+6),ig(this,Phe+2,Phe+5),ig(this,Phe+3,Phe+4);return this},ml.prototype.toString=function(){const mY=this.length;return mY===0?"":arguments.length===0?G0(this,0,mY):rg.apply(this,arguments)},ml.prototype.toLocaleString=ml.prototype.toString,ml.prototype.equals=function(mY){if(!ml.isBuffer(mY))throw new TypeError("Argument must be a Buffer");return this===mY?!0:ml.compare(this,mY)===0},ml.prototype.inspect=function(){let mY="";const Phe=la.INSPECT_MAX_BYTES;return mY=this.toString("hex",0,Phe).replace(/(.{2})/g,"$1 ").trim(),this.length>Phe&&(mY+=" ... "),"<Buffer "+mY+">"},ua&&(ml.prototype[ua]=ml.prototype.inspect),ml.prototype.compare=function(mY,Phe,Odt,zhe,Fhe){if(spt(mY,Uint8Array)&&(mY=ml.from(mY,mY.offset,mY.byteLength)),!ml.isBuffer(mY))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof mY);if(Phe===void 0&&(Phe=0),Odt===void 0&&(Odt=mY?mY.length:0),zhe===void 0&&(zhe=0),Fhe===void 0&&(Fhe=this.length),Phe<0||Odt>mY.length||zhe<0||Fhe>this.length)throw new RangeError("out of range index");if(zhe>=Fhe&&Phe>=Odt)return 0;if(zhe>=Fhe)return-1;if(Phe>=Odt)return 1;if(Phe>>>=0,Odt>>>=0,zhe>>>=0,Fhe>>>=0,this===mY)return 0;let jhe=Fhe-zhe,Tdt=Odt-Phe;const Idt=Math.min(jhe,Tdt),Jht=this.slice(zhe,Fhe),Rdt=mY.slice(Phe,Odt);for(let cpt=0;cpt<Idt;++cpt)if(Jht[cpt]!==Rdt[cpt]){jhe=Jht[cpt],Tdt=Rdt[cpt];break}return jhe<Tdt?-1:Tdt<jhe?1:0};function vv(Ndt,mY,Phe,Odt,zhe){if(Ndt.length===0)return-1;if(typeof Phe=="string"?(Odt=Phe,Phe=0):Phe>2147483647?Phe=2147483647:Phe<-2147483648&&(Phe=-2147483648),Phe=+Phe,_pt(Phe)&&(Phe=zhe?0:Ndt.length-1),Phe<0&&(Phe=Ndt.length+Phe),Phe>=Ndt.length){if(zhe)return-1;Phe=Ndt.length-1}else if(Phe<0)if(zhe)Phe=0;else return-1;if(typeof mY=="string"&&(mY=ml.from(mY,Odt)),ml.isBuffer(mY))return mY.length===0?-1:k1(Ndt,mY,Phe,Odt,zhe);if(typeof mY=="number")return mY=mY&255,typeof Uint8Array.prototype.indexOf=="function"?zhe?Uint8Array.prototype.indexOf.call(Ndt,mY,Phe):Uint8Array.prototype.lastIndexOf.call(Ndt,mY,Phe):k1(Ndt,[mY],Phe,Odt,zhe);throw new TypeError("val must be string, number or Buffer")}function k1(Ndt,mY,Phe,Odt,zhe){let Fhe=1,jhe=Ndt.length,Tdt=mY.length;if(Odt!==void 0&&(Odt=String(Odt).toLowerCase(),Odt==="ucs2"||Odt==="ucs-2"||Odt==="utf16le"||Odt==="utf-16le")){if(Ndt.length<2||mY.length<2)return-1;Fhe=2,jhe/=2,Tdt/=2,Phe/=2}function Idt(Rdt,cpt){return Fhe===1?Rdt[cpt]:Rdt.readUInt16BE(cpt*Fhe)}let Jht;if(zhe){let Rdt=-1;for(Jht=Phe;Jht<jhe;Jht++)if(Idt(Ndt,Jht)===Idt(mY,Rdt===-1?0:Jht-Rdt)){if(Rdt===-1&&(Rdt=Jht),Jht-Rdt+1===Tdt)return Rdt*Fhe}else Rdt!==-1&&(Jht-=Jht-Rdt),Rdt=-1}else for(Phe+Tdt>jhe&&(Phe=jhe-Tdt),Jht=Phe;Jht>=0;Jht--){let Rdt=!0;for(let cpt=0;cpt<Tdt;cpt++)if(Idt(Ndt,Jht+cpt)!==Idt(mY,cpt)){Rdt=!1;break}if(Rdt)return Jht}return-1}ml.prototype.includes=function(mY,Phe,Odt){return this.indexOf(mY,Phe,Odt)!==-1},ml.prototype.indexOf=function(mY,Phe,Odt){return vv(this,mY,Phe,Odt,!0)},ml.prototype.lastIndexOf=function(mY,Phe,Odt){return vv(this,mY,Phe,Odt,!1)};function qw(Ndt,mY,Phe,Odt){Phe=Number(Phe)||0;const zhe=Ndt.length-Phe;Odt?(Odt=Number(Odt),Odt>zhe&&(Odt=zhe)):Odt=zhe;const Fhe=mY.length;Odt>Fhe/2&&(Odt=Fhe/2);let jhe;for(jhe=0;jhe<Odt;++jhe){const Tdt=parseInt(mY.substr(jhe*2,2),16);if(_pt(Tdt))return jhe;Ndt[Phe+jhe]=Tdt}return jhe}function K0(Ndt,mY,Phe,Odt){return Apt(Zht(mY,Ndt.length-Phe),Ndt,Phe,Odt)}function J0(Ndt,mY,Phe,Odt){return Apt(kpt(mY),Ndt,Phe,Odt)}function Hw(Ndt,mY,Phe,Odt){return Apt(Bpt(mY),Ndt,Phe,Odt)}function O1(Ndt,mY,Phe,Odt){return Apt(Dpt(mY,Ndt.length-Phe),Ndt,Phe,Odt)}ml.prototype.write=function(mY,Phe,Odt,zhe){if(Phe===void 0)zhe="utf8",Odt=this.length,Phe=0;else if(Odt===void 0&&typeof Phe=="string")zhe=Phe,Odt=this.length,Phe=0;else if(isFinite(Phe))Phe=Phe>>>0,isFinite(Odt)?(Odt=Odt>>>0,zhe===void 0&&(zhe="utf8")):(zhe=Odt,Odt=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Fhe=this.length-Phe;if((Odt===void 0||Odt>Fhe)&&(Odt=Fhe),mY.length>0&&(Odt<0||Phe<0)||Phe>this.length)throw new RangeError("Attempt to write outside buffer bounds");zhe||(zhe="utf8");let jhe=!1;for(;;)switch(zhe){case"hex":return qw(this,mY,Phe,Odt);case"utf8":case"utf-8":return K0(this,mY,Phe,Odt);case"ascii":case"latin1":case"binary":return J0(this,mY,Phe,Odt);case"base64":return Hw(this,mY,Phe,Odt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O1(this,mY,Phe,Odt);default:if(jhe)throw new TypeError("Unknown encoding: "+zhe);zhe=(""+zhe).toLowerCase(),jhe=!0}},ml.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Y0(Ndt,mY,Phe){return mY===0&&Phe===Ndt.length?aa.fromByteArray(Ndt):aa.fromByteArray(Ndt.slice(mY,Phe))}function G0(Ndt,mY,Phe){Phe=Math.min(Ndt.length,Phe);const Odt=[];let zhe=mY;for(;zhe<Phe;){const Fhe=Ndt[zhe];let jhe=null,Tdt=Fhe>239?4:Fhe>223?3:Fhe>191?2:1;if(zhe+Tdt<=Phe){let Idt,Jht,Rdt,cpt;switch(Tdt){case 1:Fhe<128&&(jhe=Fhe);break;case 2:Idt=Ndt[zhe+1],(Idt&192)===128&&(cpt=(Fhe&31)<<6|Idt&63,cpt>127&&(jhe=cpt));break;case 3:Idt=Ndt[zhe+1],Jht=Ndt[zhe+2],(Idt&192)===128&&(Jht&192)===128&&(cpt=(Fhe&15)<<12|(Idt&63)<<6|Jht&63,cpt>2047&&(cpt<55296||cpt>57343)&&(jhe=cpt));break;case 4:Idt=Ndt[zhe+1],Jht=Ndt[zhe+2],Rdt=Ndt[zhe+3],(Idt&192)===128&&(Jht&192)===128&&(Rdt&192)===128&&(cpt=(Fhe&15)<<18|(Idt&63)<<12|(Jht&63)<<6|Rdt&63,cpt>65535&&cpt<1114112&&(jhe=cpt))}}jhe===null?(jhe=65533,Tdt=1):jhe>65535&&(jhe-=65536,Odt.push(jhe>>>10&1023|55296),jhe=56320|jhe&1023),Odt.push(jhe),zhe+=Tdt}return d_(Odt)}const X0=4096;function d_(Ndt){const mY=Ndt.length;if(mY<=X0)return String.fromCharCode.apply(String,Ndt);let Phe="",Odt=0;for(;Odt<mY;)Phe+=String.fromCharCode.apply(String,Ndt.slice(Odt,Odt+=X0));return Phe}function f_(Ndt,mY,Phe){let Odt="";Phe=Math.min(Ndt.length,Phe);for(let zhe=mY;zhe<Phe;++zhe)Odt+=String.fromCharCode(Ndt[zhe]&127);return Odt}function zN(Ndt,mY,Phe){let Odt="";Phe=Math.min(Ndt.length,Phe);for(let zhe=mY;zhe<Phe;++zhe)Odt+=String.fromCharCode(Ndt[zhe]);return Odt}function BN(Ndt,mY,Phe){const Odt=Ndt.length;(!mY||mY<0)&&(mY=0),(!Phe||Phe<0||Phe>Odt)&&(Phe=Odt);let zhe="";for(let Fhe=mY;Fhe<Phe;++Fhe)zhe+=jpt[Ndt[Fhe]];return zhe}function iF(Ndt,mY,Phe){const Odt=Ndt.slice(mY,Phe);let zhe="";for(let Fhe=0;Fhe<Odt.length-1;Fhe+=2)zhe+=String.fromCharCode(Odt[Fhe]+Odt[Fhe+1]*256);return zhe}ml.prototype.slice=function(mY,Phe){const Odt=this.length;mY=~~mY,Phe=Phe===void 0?Odt:~~Phe,mY<0?(mY+=Odt,mY<0&&(mY=0)):mY>Odt&&(mY=Odt),Phe<0?(Phe+=Odt,Phe<0&&(Phe=0)):Phe>Odt&&(Phe=Odt),Phe<mY&&(Phe=mY);const zhe=this.subarray(mY,Phe);return Object.setPrototypeOf(zhe,ml.prototype),zhe};function yY(Ndt,mY,Phe){if(Ndt%1!==0||Ndt<0)throw new RangeError("offset is not uint");if(Ndt+mY>Phe)throw new RangeError("Trying to access beyond buffer length")}ml.prototype.readUintLE=ml.prototype.readUIntLE=function(mY,Phe,Odt){mY=mY>>>0,Phe=Phe>>>0,Odt||yY(mY,Phe,this.length);let zhe=this[mY],Fhe=1,jhe=0;for(;++jhe<Phe&&(Fhe*=256);)zhe+=this[mY+jhe]*Fhe;return zhe},ml.prototype.readUintBE=ml.prototype.readUIntBE=function(mY,Phe,Odt){mY=mY>>>0,Phe=Phe>>>0,Odt||yY(mY,Phe,this.length);let zhe=this[mY+--Phe],Fhe=1;for(;Phe>0&&(Fhe*=256);)zhe+=this[mY+--Phe]*Fhe;return zhe},ml.prototype.readUint8=ml.prototype.readUInt8=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,1,this.length),this[mY]},ml.prototype.readUint16LE=ml.prototype.readUInt16LE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,2,this.length),this[mY]|this[mY+1]<<8},ml.prototype.readUint16BE=ml.prototype.readUInt16BE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,2,this.length),this[mY]<<8|this[mY+1]},ml.prototype.readUint32LE=ml.prototype.readUInt32LE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),(this[mY]|this[mY+1]<<8|this[mY+2]<<16)+this[mY+3]*16777216},ml.prototype.readUint32BE=ml.prototype.readUInt32BE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),this[mY]*16777216+(this[mY+1]<<16|this[mY+2]<<8|this[mY+3])},ml.prototype.readBigUInt64LE=Opt(function(mY){mY=mY>>>0,dht(mY,"offset");const Phe=this[mY],Odt=this[mY+7];(Phe===void 0||Odt===void 0)&&Mdt(mY,this.length-8);const zhe=Phe+this[++mY]*2**8+this[++mY]*2**16+this[++mY]*2**24,Fhe=this[++mY]+this[++mY]*2**8+this[++mY]*2**16+Odt*2**24;return BigInt(zhe)+(BigInt(Fhe)<<BigInt(32))}),ml.prototype.readBigUInt64BE=Opt(function(mY){mY=mY>>>0,dht(mY,"offset");const Phe=this[mY],Odt=this[mY+7];(Phe===void 0||Odt===void 0)&&Mdt(mY,this.length-8);const zhe=Phe*2**24+this[++mY]*2**16+this[++mY]*2**8+this[++mY],Fhe=this[++mY]*2**24+this[++mY]*2**16+this[++mY]*2**8+Odt;return(BigInt(zhe)<<BigInt(32))+BigInt(Fhe)}),ml.prototype.readIntLE=function(mY,Phe,Odt){mY=mY>>>0,Phe=Phe>>>0,Odt||yY(mY,Phe,this.length);let zhe=this[mY],Fhe=1,jhe=0;for(;++jhe<Phe&&(Fhe*=256);)zhe+=this[mY+jhe]*Fhe;return Fhe*=128,zhe>=Fhe&&(zhe-=Math.pow(2,8*Phe)),zhe},ml.prototype.readIntBE=function(mY,Phe,Odt){mY=mY>>>0,Phe=Phe>>>0,Odt||yY(mY,Phe,this.length);let zhe=Phe,Fhe=1,jhe=this[mY+--zhe];for(;zhe>0&&(Fhe*=256);)jhe+=this[mY+--zhe]*Fhe;return Fhe*=128,jhe>=Fhe&&(jhe-=Math.pow(2,8*Phe)),jhe},ml.prototype.readInt8=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,1,this.length),this[mY]&128?(255-this[mY]+1)*-1:this[mY]},ml.prototype.readInt16LE=function(mY,Phe){mY=mY>>>0,Phe||yY(mY,2,this.length);const Odt=this[mY]|this[mY+1]<<8;return Odt&32768?Odt|4294901760:Odt},ml.prototype.readInt16BE=function(mY,Phe){mY=mY>>>0,Phe||yY(mY,2,this.length);const Odt=this[mY+1]|this[mY]<<8;return Odt&32768?Odt|4294901760:Odt},ml.prototype.readInt32LE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),this[mY]|this[mY+1]<<8|this[mY+2]<<16|this[mY+3]<<24},ml.prototype.readInt32BE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),this[mY]<<24|this[mY+1]<<16|this[mY+2]<<8|this[mY+3]},ml.prototype.readBigInt64LE=Opt(function(mY){mY=mY>>>0,dht(mY,"offset");const Phe=this[mY],Odt=this[mY+7];(Phe===void 0||Odt===void 0)&&Mdt(mY,this.length-8);const zhe=this[mY+4]+this[mY+5]*2**8+this[mY+6]*2**16+(Odt<<24);return(BigInt(zhe)<<BigInt(32))+BigInt(Phe+this[++mY]*2**8+this[++mY]*2**16+this[++mY]*2**24)}),ml.prototype.readBigInt64BE=Opt(function(mY){mY=mY>>>0,dht(mY,"offset");const Phe=this[mY],Odt=this[mY+7];(Phe===void 0||Odt===void 0)&&Mdt(mY,this.length-8);const zhe=(Phe<<24)+this[++mY]*2**16+this[++mY]*2**8+this[++mY];return(BigInt(zhe)<<BigInt(32))+BigInt(this[++mY]*2**24+this[++mY]*2**16+this[++mY]*2**8+Odt)}),ml.prototype.readFloatLE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),ca.read(this,mY,!0,23,4)},ml.prototype.readFloatBE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),ca.read(this,mY,!1,23,4)},ml.prototype.readDoubleLE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,8,this.length),ca.read(this,mY,!0,52,8)},ml.prototype.readDoubleBE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,8,this.length),ca.read(this,mY,!1,52,8)};function vQ(Ndt,mY,Phe,Odt,zhe,Fhe){if(!ml.isBuffer(Ndt))throw new TypeError('"buffer" argument must be a Buffer instance');if(mY>zhe||mY<Fhe)throw new RangeError('"value" argument is out of bounds');if(Phe+Odt>Ndt.length)throw new RangeError("Index out of range")}ml.prototype.writeUintLE=ml.prototype.writeUIntLE=function(mY,Phe,Odt,zhe){if(mY=+mY,Phe=Phe>>>0,Odt=Odt>>>0,!zhe){const Tdt=Math.pow(2,8*Odt)-1;vQ(this,mY,Phe,Odt,Tdt,0)}let Fhe=1,jhe=0;for(this[Phe]=mY&255;++jhe<Odt&&(Fhe*=256);)this[Phe+jhe]=mY/Fhe&255;return Phe+Odt},ml.prototype.writeUintBE=ml.prototype.writeUIntBE=function(mY,Phe,Odt,zhe){if(mY=+mY,Phe=Phe>>>0,Odt=Odt>>>0,!zhe){const Tdt=Math.pow(2,8*Odt)-1;vQ(this,mY,Phe,Odt,Tdt,0)}let Fhe=Odt-1,jhe=1;for(this[Phe+Fhe]=mY&255;--Fhe>=0&&(jhe*=256);)this[Phe+Fhe]=mY/jhe&255;return Phe+Odt},ml.prototype.writeUint8=ml.prototype.writeUInt8=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,1,255,0),this[Phe]=mY&255,Phe+1},ml.prototype.writeUint16LE=ml.prototype.writeUInt16LE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,2,65535,0),this[Phe]=mY&255,this[Phe+1]=mY>>>8,Phe+2},ml.prototype.writeUint16BE=ml.prototype.writeUInt16BE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,2,65535,0),this[Phe]=mY>>>8,this[Phe+1]=mY&255,Phe+2},ml.prototype.writeUint32LE=ml.prototype.writeUInt32LE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,4,4294967295,0),this[Phe+3]=mY>>>24,this[Phe+2]=mY>>>16,this[Phe+1]=mY>>>8,this[Phe]=mY&255,Phe+4},ml.prototype.writeUint32BE=ml.prototype.writeUInt32BE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,4,4294967295,0),this[Phe]=mY>>>24,this[Phe+1]=mY>>>16,this[Phe+2]=mY>>>8,this[Phe+3]=mY&255,Phe+4};function Ihe(Ndt,mY,Phe,Odt,zhe){Bhe(mY,Odt,zhe,Ndt,Phe,7);let Fhe=Number(mY&BigInt(4294967295));Ndt[Phe++]=Fhe,Fhe=Fhe>>8,Ndt[Phe++]=Fhe,Fhe=Fhe>>8,Ndt[Phe++]=Fhe,Fhe=Fhe>>8,Ndt[Phe++]=Fhe;let jhe=Number(mY>>BigInt(32)&BigInt(4294967295));return Ndt[Phe++]=jhe,jhe=jhe>>8,Ndt[Phe++]=jhe,jhe=jhe>>8,Ndt[Phe++]=jhe,jhe=jhe>>8,Ndt[Phe++]=jhe,Phe}function bY(Ndt,mY,Phe,Odt,zhe){Bhe(mY,Odt,zhe,Ndt,Phe,7);let Fhe=Number(mY&BigInt(4294967295));Ndt[Phe+7]=Fhe,Fhe=Fhe>>8,Ndt[Phe+6]=Fhe,Fhe=Fhe>>8,Ndt[Phe+5]=Fhe,Fhe=Fhe>>8,Ndt[Phe+4]=Fhe;let jhe=Number(mY>>BigInt(32)&BigInt(4294967295));return Ndt[Phe+3]=jhe,jhe=jhe>>8,Ndt[Phe+2]=jhe,jhe=jhe>>8,Ndt[Phe+1]=jhe,jhe=jhe>>8,Ndt[Phe]=jhe,Phe+8}ml.prototype.writeBigUInt64LE=Opt(function(mY,Phe=0){return Ihe(this,mY,Phe,BigInt(0),BigInt("0xffffffffffffffff"))}),ml.prototype.writeBigUInt64BE=Opt(function(mY,Phe=0){return bY(this,mY,Phe,BigInt(0),BigInt("0xffffffffffffffff"))}),ml.prototype.writeIntLE=function(mY,Phe,Odt,zhe){if(mY=+mY,Phe=Phe>>>0,!zhe){const Idt=Math.pow(2,8*Odt-1);vQ(this,mY,Phe,Odt,Idt-1,-Idt)}let Fhe=0,jhe=1,Tdt=0;for(this[Phe]=mY&255;++Fhe<Odt&&(jhe*=256);)mY<0&&Tdt===0&&this[Phe+Fhe-1]!==0&&(Tdt=1),this[Phe+Fhe]=(mY/jhe>>0)-Tdt&255;return Phe+Odt},ml.prototype.writeIntBE=function(mY,Phe,Odt,zhe){if(mY=+mY,Phe=Phe>>>0,!zhe){const Idt=Math.pow(2,8*Odt-1);vQ(this,mY,Phe,Odt,Idt-1,-Idt)}let Fhe=Odt-1,jhe=1,Tdt=0;for(this[Phe+Fhe]=mY&255;--Fhe>=0&&(jhe*=256);)mY<0&&Tdt===0&&this[Phe+Fhe+1]!==0&&(Tdt=1),this[Phe+Fhe]=(mY/jhe>>0)-Tdt&255;return Phe+Odt},ml.prototype.writeInt8=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,1,127,-128),mY<0&&(mY=255+mY+1),this[Phe]=mY&255,Phe+1},ml.prototype.writeInt16LE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,2,32767,-32768),this[Phe]=mY&255,this[Phe+1]=mY>>>8,Phe+2},ml.prototype.writeInt16BE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,2,32767,-32768),this[Phe]=mY>>>8,this[Phe+1]=mY&255,Phe+2},ml.prototype.writeInt32LE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,4,2147483647,-2147483648),this[Phe]=mY&255,this[Phe+1]=mY>>>8,this[Phe+2]=mY>>>16,this[Phe+3]=mY>>>24,Phe+4},ml.prototype.writeInt32BE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,4,2147483647,-2147483648),mY<0&&(mY=4294967295+mY+1),this[Phe]=mY>>>24,this[Phe+1]=mY>>>16,this[Phe+2]=mY>>>8,this[Phe+3]=mY&255,Phe+4},ml.prototype.writeBigInt64LE=Opt(function(mY,Phe=0){return Ihe(this,mY,Phe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),ml.prototype.writeBigInt64BE=Opt(function(mY,Phe=0){return bY(this,mY,Phe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Lhe(Ndt,mY,Phe,Odt,zhe,Fhe){if(Phe+Odt>Ndt.length)throw new RangeError("Index out of range");if(Phe<0)throw new RangeError("Index out of range")}function Dhe(Ndt,mY,Phe,Odt,zhe){return mY=+mY,Phe=Phe>>>0,zhe||Lhe(Ndt,mY,Phe,4),ca.write(Ndt,mY,Phe,Odt,23,4),Phe+4}ml.prototype.writeFloatLE=function(mY,Phe,Odt){return Dhe(this,mY,Phe,!0,Odt)},ml.prototype.writeFloatBE=function(mY,Phe,Odt){return Dhe(this,mY,Phe,!1,Odt)};function kdt(Ndt,mY,Phe,Odt,zhe){return mY=+mY,Phe=Phe>>>0,zhe||Lhe(Ndt,mY,Phe,8),ca.write(Ndt,mY,Phe,Odt,52,8),Phe+8}ml.prototype.writeDoubleLE=function(mY,Phe,Odt){return kdt(this,mY,Phe,!0,Odt)},ml.prototype.writeDoubleBE=function(mY,Phe,Odt){return kdt(this,mY,Phe,!1,Odt)},ml.prototype.copy=function(mY,Phe,Odt,zhe){if(!ml.isBuffer(mY))throw new TypeError("argument should be a Buffer");if(Odt||(Odt=0),!zhe&&zhe!==0&&(zhe=this.length),Phe>=mY.length&&(Phe=mY.length),Phe||(Phe=0),zhe>0&&zhe<Odt&&(zhe=Odt),zhe===Odt||mY.length===0||this.length===0)return 0;if(Phe<0)throw new RangeError("targetStart out of bounds");if(Odt<0||Odt>=this.length)throw new RangeError("Index out of range");if(zhe<0)throw new RangeError("sourceEnd out of bounds");zhe>this.length&&(zhe=this.length),mY.length-Phe<zhe-Odt&&(zhe=mY.length-Phe+Odt);const Fhe=zhe-Odt;return this===mY&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(Phe,Odt,zhe):Uint8Array.prototype.set.call(mY,this.subarray(Odt,zhe),Phe),Fhe},ml.prototype.fill=function(mY,Phe,Odt,zhe){if(typeof mY=="string"){if(typeof Phe=="string"?(zhe=Phe,Phe=0,Odt=this.length):typeof Odt=="string"&&(zhe=Odt,Odt=this.length),zhe!==void 0&&typeof zhe!="string")throw new TypeError("encoding must be a string");if(typeof zhe=="string"&&!ml.isEncoding(zhe))throw new TypeError("Unknown encoding: "+zhe);if(mY.length===1){const jhe=mY.charCodeAt(0);(zhe==="utf8"&&jhe<128||zhe==="latin1")&&(mY=jhe)}}else typeof mY=="number"?mY=mY&255:typeof mY=="boolean"&&(mY=Number(mY));if(Phe<0||this.length<Phe||this.length<Odt)throw new RangeError("Out of range index");if(Odt<=Phe)return this;Phe=Phe>>>0,Odt=Odt===void 0?this.length:Odt>>>0,mY||(mY=0);let Fhe;if(typeof mY=="number")for(Fhe=Phe;Fhe<Odt;++Fhe)this[Fhe]=mY;else{const jhe=ml.isBuffer(mY)?mY:ml.from(mY,zhe),Tdt=jhe.length;if(Tdt===0)throw new TypeError('The value "'+mY+'" is invalid for argument "value"');for(Fhe=0;Fhe<Odt-Phe;++Fhe)this[Fhe+Phe]=jhe[Fhe%Tdt]}return this};const eht={};function oht(Ndt,mY,Phe){eht[Ndt]=class extends Phe{constructor(){super(),Object.defineProperty(this,"message",{value:mY.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${Ndt}]`,this.stack,delete this.name}get code(){return Ndt}set code(zhe){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:zhe,writable:!0})}toString(){return`${this.name} [${Ndt}]: ${this.message}`}}}oht("ERR_BUFFER_OUT_OF_BOUNDS",function(Ndt){return Ndt?`${Ndt} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),oht("ERR_INVALID_ARG_TYPE",function(Ndt,mY){return`The "${Ndt}" argument must be of type number. Received type ${typeof mY}`},TypeError),oht("ERR_OUT_OF_RANGE",function(Ndt,mY,Phe){let Odt=`The value of "${Ndt}" is out of range.`,zhe=Phe;return Number.isInteger(Phe)&&Math.abs(Phe)>2**32?zhe=iht(String(Phe)):typeof Phe=="bigint"&&(zhe=String(Phe),(Phe>BigInt(2)**BigInt(32)||Phe<-(BigInt(2)**BigInt(32)))&&(zhe=iht(zhe)),zhe+="n"),Odt+=` It must be ${mY}. Received ${zhe}`,Odt},RangeError);function iht(Ndt){let mY="",Phe=Ndt.length;const Odt=Ndt[0]==="-"?1:0;for(;Phe>=Odt+4;Phe-=3)mY=`_${Ndt.slice(Phe-3,Phe)}${mY}`;return`${Ndt.slice(0,Phe)}${mY}`}function Uhe(Ndt,mY,Phe){dht(mY,"offset"),(Ndt[mY]===void 0||Ndt[mY+Phe]===void 0)&&Mdt(mY,Ndt.length-(Phe+1))}function Bhe(Ndt,mY,Phe,Odt,zhe,Fhe){if(Ndt>Phe||Ndt<mY){const jhe=typeof mY=="bigint"?"n":"";let Tdt;throw mY===0||mY===BigInt(0)?Tdt=`>= 0${jhe} and < 2${jhe} ** ${(Fhe+1)*8}${jhe}`:Tdt=`>= -(2${jhe} ** ${(Fhe+1)*8-1}${jhe}) and < 2 ** ${(Fhe+1)*8-1}${jhe}`,new eht.ERR_OUT_OF_RANGE("value",Tdt,Ndt)}Uhe(Odt,zhe,Fhe)}function dht(Ndt,mY){if(typeof Ndt!="number")throw new eht.ERR_INVALID_ARG_TYPE(mY,"number",Ndt)}function Mdt(Ndt,mY,Phe){throw Math.floor(Ndt)!==Ndt?(dht(Ndt,Phe),new eht.ERR_OUT_OF_RANGE("offset","an integer",Ndt)):mY<0?new eht.ERR_BUFFER_OUT_OF_BOUNDS:new eht.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${mY}`,Ndt)}const opt=/[^+/0-9A-Za-z-_]/g;function gpt(Ndt){if(Ndt=Ndt.split("=")[0],Ndt=Ndt.trim().replace(opt,""),Ndt.length<2)return"";for(;Ndt.length%4!==0;)Ndt=Ndt+"=";return Ndt}function Zht(Ndt,mY){mY=mY||1/0;let Phe;const Odt=Ndt.length;let zhe=null;const Fhe=[];for(let jhe=0;jhe<Odt;++jhe){if(Phe=Ndt.charCodeAt(jhe),Phe>55295&&Phe<57344){if(!zhe){if(Phe>56319){(mY-=3)>-1&&Fhe.push(239,191,189);continue}else if(jhe+1===Odt){(mY-=3)>-1&&Fhe.push(239,191,189);continue}zhe=Phe;continue}if(Phe<56320){(mY-=3)>-1&&Fhe.push(239,191,189),zhe=Phe;continue}Phe=(zhe-55296<<10|Phe-56320)+65536}else zhe&&(mY-=3)>-1&&Fhe.push(239,191,189);if(zhe=null,Phe<128){if((mY-=1)<0)break;Fhe.push(Phe)}else if(Phe<2048){if((mY-=2)<0)break;Fhe.push(Phe>>6|192,Phe&63|128)}else if(Phe<65536){if((mY-=3)<0)break;Fhe.push(Phe>>12|224,Phe>>6&63|128,Phe&63|128)}else if(Phe<1114112){if((mY-=4)<0)break;Fhe.push(Phe>>18|240,Phe>>12&63|128,Phe>>6&63|128,Phe&63|128)}else throw new Error("Invalid code point")}return Fhe}function kpt(Ndt){const mY=[];for(let Phe=0;Phe<Ndt.length;++Phe)mY.push(Ndt.charCodeAt(Phe)&255);return mY}function Dpt(Ndt,mY){let Phe,Odt,zhe;const Fhe=[];for(let jhe=0;jhe<Ndt.length&&!((mY-=2)<0);++jhe)Phe=Ndt.charCodeAt(jhe),Odt=Phe>>8,zhe=Phe%256,Fhe.push(zhe),Fhe.push(Odt);return Fhe}function Bpt(Ndt){return aa.toByteArray(gpt(Ndt))}function Apt(Ndt,mY,Phe,Odt){let zhe;for(zhe=0;zhe<Odt&&!(zhe+Phe>=mY.length||zhe>=Ndt.length);++zhe)mY[zhe+Phe]=Ndt[zhe];return zhe}function spt(Ndt,mY){return Ndt instanceof mY||Ndt!=null&&Ndt.constructor!=null&&Ndt.constructor.name!=null&&Ndt.constructor.name===mY.name}function _pt(Ndt){return Ndt!==Ndt}const jpt=(function(){const Ndt="0123456789abcdef",mY=new Array(256);for(let Phe=0;Phe<16;++Phe){const Odt=Phe*16;for(let zhe=0;zhe<16;++zhe)mY[Odt+zhe]=Ndt[Phe]+Ndt[zhe]}return mY})();function Opt(Ndt){return typeof BigInt>"u"?zpt:Ndt}function zpt(){throw new Error("BigInt not supported")}})(buffer)),buffer}var safeBuffer={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var hasRequiredSafeBuffer;function requireSafeBuffer(){return hasRequiredSafeBuffer||(hasRequiredSafeBuffer=1,(function(la,aa){var ca=requireBuffer(),ua=ca.Buffer;function Sa(pl,ml){for(var gl in pl)ml[gl]=pl[gl]}ua.from&&ua.alloc&&ua.allocUnsafe&&ua.allocUnsafeSlow?la.exports=ca:(Sa(ca,aa),aa.Buffer=hl);function hl(pl,ml,gl){return ua(pl,ml,gl)}hl.prototype=Object.create(ua.prototype),Sa(ua,hl),hl.from=function(pl,ml,gl){if(typeof pl=="number")throw new TypeError("Argument must not be a number");return ua(pl,ml,gl)},hl.alloc=function(pl,ml,gl){if(typeof pl!="number")throw new TypeError("Argument must be a number");var wc=ua(pl);return ml!==void 0?typeof gl=="string"?wc.fill(ml,gl):wc.fill(ml):wc.fill(0),wc},hl.allocUnsafe=function(pl){if(typeof pl!="number")throw new TypeError("Argument must be a number");return ua(pl)},hl.allocUnsafeSlow=function(pl){if(typeof pl!="number")throw new TypeError("Argument must be a number");return ca.SlowBuffer(pl)}})(safeBuffer,safeBuffer.exports)),safeBuffer.exports}var define_process_env_default$8={};let DailyRotateFile$1,winston$1;isNodeEnv$1&&(await __vitePreload(()=>import("./index-B3r05-bX.js").then(la=>la.i),__vite__mapDeps([0,1,2,3,4,5])).then(la=>{DailyRotateFile$1=la.default}),await __vitePreload(()=>import("./winston-ChvNJCpJ.js").then(la=>la.w),__vite__mapDeps([6,1,2,3,4,5])).then(la=>{winston$1=la.default}));let logger$3;function getLogLevel$1(){var la;return isNodeEnv$1&&define_process_env_default$8&&define_process_env_default$8.DEBUG?"debug":((la=AppConfig?.logging)===null||la===void 0?void 0:la.level)||"info"}function initializeLogger$1(){const la=getLogLevel$1();if(isNodeEnv$1){const aa=new DailyRotateFile$1({level:la,filename:"logs/app-%DATE%.log",datePattern:"YYYY-MM-DD",maxSize:"20m",maxFiles:"7d"});logger$3=winston$1.createLogger({level:la,format:winston$1.format.combine(winston$1.format.timestamp(),winston$1.format.printf(({timestamp:ca,level:ua,message:Sa})=>`[${ca}] ${ua}: ${Sa}`)),transports:[aa]})}else{let aa=function(ca){return ua=>{console.log(`${ca}: ${ua}`)}};logger$3={debug:aa("DEBUG"),info:aa("INFO"),warn:aa("WARN"),error:aa("ERROR")}}}initializeLogger$1();const PlannerInstructions$1=`Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.
8105
+ */var hasRequiredBuffer;function requireBuffer(){return hasRequiredBuffer||(hasRequiredBuffer=1,(function(la){const aa=requireBase64Js(),ca=requireIeee754(),ua=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;la.Buffer=ml,la.SlowBuffer=eg,la.INSPECT_MAX_BYTES=50;const Sa=2147483647;la.kMaxLength=Sa,ml.TYPED_ARRAY_SUPPORT=hl(),!ml.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function hl(){try{const Ndt=new Uint8Array(1),mY={foo:function(){return 42}};return Object.setPrototypeOf(mY,Uint8Array.prototype),Object.setPrototypeOf(Ndt,mY),Ndt.foo()===42}catch{return!1}}Object.defineProperty(ml.prototype,"parent",{enumerable:!0,get:function(){if(ml.isBuffer(this))return this.buffer}}),Object.defineProperty(ml.prototype,"offset",{enumerable:!0,get:function(){if(ml.isBuffer(this))return this.byteOffset}});function pl(Ndt){if(Ndt>Sa)throw new RangeError('The value "'+Ndt+'" is invalid for option "size"');const mY=new Uint8Array(Ndt);return Object.setPrototypeOf(mY,ml.prototype),mY}function ml(Ndt,mY,Phe){if(typeof Ndt=="number"){if(typeof mY=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return ff(Ndt)}return gl(Ndt,mY,Phe)}ml.poolSize=8192;function gl(Ndt,mY,Phe){if(typeof Ndt=="string")return jf(Ndt,mY);if(ArrayBuffer.isView(Ndt))return rp(Ndt);if(Ndt==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ndt);if(spt(Ndt,ArrayBuffer)||Ndt&&spt(Ndt.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(spt(Ndt,SharedArrayBuffer)||Ndt&&spt(Ndt.buffer,SharedArrayBuffer)))return np(Ndt,mY,Phe);if(typeof Ndt=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Odt=Ndt.valueOf&&Ndt.valueOf();if(Odt!=null&&Odt!==Ndt)return ml.from(Odt,mY,Phe);const zhe=qm(Ndt);if(zhe)return zhe;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Ndt[Symbol.toPrimitive]=="function")return ml.from(Ndt[Symbol.toPrimitive]("string"),mY,Phe);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ndt)}ml.from=function(Ndt,mY,Phe){return gl(Ndt,mY,Phe)},Object.setPrototypeOf(ml.prototype,Uint8Array.prototype),Object.setPrototypeOf(ml,Uint8Array);function wc(Ndt){if(typeof Ndt!="number")throw new TypeError('"size" argument must be of type number');if(Ndt<0)throw new RangeError('The value "'+Ndt+'" is invalid for option "size"')}function xu(Ndt,mY,Phe){return wc(Ndt),Ndt<=0?pl(Ndt):mY!==void 0?typeof Phe=="string"?pl(Ndt).fill(mY,Phe):pl(Ndt).fill(mY):pl(Ndt)}ml.alloc=function(Ndt,mY,Phe){return xu(Ndt,mY,Phe)};function ff(Ndt){return wc(Ndt),pl(Ndt<0?0:Vm(Ndt)|0)}ml.allocUnsafe=function(Ndt){return ff(Ndt)},ml.allocUnsafeSlow=function(Ndt){return ff(Ndt)};function jf(Ndt,mY){if((typeof mY!="string"||mY==="")&&(mY="utf8"),!ml.isEncoding(mY))throw new TypeError("Unknown encoding: "+mY);const Phe=tg(Ndt,mY)|0;let Odt=pl(Phe);const zhe=Odt.write(Ndt,mY);return zhe!==Phe&&(Odt=Odt.slice(0,zhe)),Odt}function Uf(Ndt){const mY=Ndt.length<0?0:Vm(Ndt.length)|0,Phe=pl(mY);for(let Odt=0;Odt<mY;Odt+=1)Phe[Odt]=Ndt[Odt]&255;return Phe}function rp(Ndt){if(spt(Ndt,Uint8Array)){const mY=new Uint8Array(Ndt);return np(mY.buffer,mY.byteOffset,mY.byteLength)}return Uf(Ndt)}function np(Ndt,mY,Phe){if(mY<0||Ndt.byteLength<mY)throw new RangeError('"offset" is outside of buffer bounds');if(Ndt.byteLength<mY+(Phe||0))throw new RangeError('"length" is outside of buffer bounds');let Odt;return mY===void 0&&Phe===void 0?Odt=new Uint8Array(Ndt):Phe===void 0?Odt=new Uint8Array(Ndt,mY):Odt=new Uint8Array(Ndt,mY,Phe),Object.setPrototypeOf(Odt,ml.prototype),Odt}function qm(Ndt){if(ml.isBuffer(Ndt)){const mY=Vm(Ndt.length)|0,Phe=pl(mY);return Phe.length===0||Ndt.copy(Phe,0,0,mY),Phe}if(Ndt.length!==void 0)return typeof Ndt.length!="number"||_pt(Ndt.length)?pl(0):Uf(Ndt);if(Ndt.type==="Buffer"&&Array.isArray(Ndt.data))return Uf(Ndt.data)}function Vm(Ndt){if(Ndt>=Sa)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Sa.toString(16)+" bytes");return Ndt|0}function eg(Ndt){return+Ndt!=Ndt&&(Ndt=0),ml.alloc(+Ndt)}ml.isBuffer=function(mY){return mY!=null&&mY._isBuffer===!0&&mY!==ml.prototype},ml.compare=function(mY,Phe){if(spt(mY,Uint8Array)&&(mY=ml.from(mY,mY.offset,mY.byteLength)),spt(Phe,Uint8Array)&&(Phe=ml.from(Phe,Phe.offset,Phe.byteLength)),!ml.isBuffer(mY)||!ml.isBuffer(Phe))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(mY===Phe)return 0;let Odt=mY.length,zhe=Phe.length;for(let Fhe=0,jhe=Math.min(Odt,zhe);Fhe<jhe;++Fhe)if(mY[Fhe]!==Phe[Fhe]){Odt=mY[Fhe],zhe=Phe[Fhe];break}return Odt<zhe?-1:zhe<Odt?1:0},ml.isEncoding=function(mY){switch(String(mY).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},ml.concat=function(mY,Phe){if(!Array.isArray(mY))throw new TypeError('"list" argument must be an Array of Buffers');if(mY.length===0)return ml.alloc(0);let Odt;if(Phe===void 0)for(Phe=0,Odt=0;Odt<mY.length;++Odt)Phe+=mY[Odt].length;const zhe=ml.allocUnsafe(Phe);let Fhe=0;for(Odt=0;Odt<mY.length;++Odt){let jhe=mY[Odt];if(spt(jhe,Uint8Array))Fhe+jhe.length>zhe.length?(ml.isBuffer(jhe)||(jhe=ml.from(jhe)),jhe.copy(zhe,Fhe)):Uint8Array.prototype.set.call(zhe,jhe,Fhe);else if(ml.isBuffer(jhe))jhe.copy(zhe,Fhe);else throw new TypeError('"list" argument must be an Array of Buffers');Fhe+=jhe.length}return zhe};function tg(Ndt,mY){if(ml.isBuffer(Ndt))return Ndt.length;if(ArrayBuffer.isView(Ndt)||spt(Ndt,ArrayBuffer))return Ndt.byteLength;if(typeof Ndt!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Ndt);const Phe=Ndt.length,Odt=arguments.length>2&&arguments[2]===!0;if(!Odt&&Phe===0)return 0;let zhe=!1;for(;;)switch(mY){case"ascii":case"latin1":case"binary":return Phe;case"utf8":case"utf-8":return Zht(Ndt).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Phe*2;case"hex":return Phe>>>1;case"base64":return Bpt(Ndt).length;default:if(zhe)return Odt?-1:Zht(Ndt).length;mY=(""+mY).toLowerCase(),zhe=!0}}ml.byteLength=tg;function rg(Ndt,mY,Phe){let Odt=!1;if((mY===void 0||mY<0)&&(mY=0),mY>this.length||((Phe===void 0||Phe>this.length)&&(Phe=this.length),Phe<=0)||(Phe>>>=0,mY>>>=0,Phe<=mY))return"";for(Ndt||(Ndt="utf8");;)switch(Ndt){case"hex":return BN(this,mY,Phe);case"utf8":case"utf-8":return G0(this,mY,Phe);case"ascii":return f_(this,mY,Phe);case"latin1":case"binary":return zN(this,mY,Phe);case"base64":return Y0(this,mY,Phe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return iF(this,mY,Phe);default:if(Odt)throw new TypeError("Unknown encoding: "+Ndt);Ndt=(Ndt+"").toLowerCase(),Odt=!0}}ml.prototype._isBuffer=!0;function ig(Ndt,mY,Phe){const Odt=Ndt[mY];Ndt[mY]=Ndt[Phe],Ndt[Phe]=Odt}ml.prototype.swap16=function(){const mY=this.length;if(mY%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Phe=0;Phe<mY;Phe+=2)ig(this,Phe,Phe+1);return this},ml.prototype.swap32=function(){const mY=this.length;if(mY%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let Phe=0;Phe<mY;Phe+=4)ig(this,Phe,Phe+3),ig(this,Phe+1,Phe+2);return this},ml.prototype.swap64=function(){const mY=this.length;if(mY%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let Phe=0;Phe<mY;Phe+=8)ig(this,Phe,Phe+7),ig(this,Phe+1,Phe+6),ig(this,Phe+2,Phe+5),ig(this,Phe+3,Phe+4);return this},ml.prototype.toString=function(){const mY=this.length;return mY===0?"":arguments.length===0?G0(this,0,mY):rg.apply(this,arguments)},ml.prototype.toLocaleString=ml.prototype.toString,ml.prototype.equals=function(mY){if(!ml.isBuffer(mY))throw new TypeError("Argument must be a Buffer");return this===mY?!0:ml.compare(this,mY)===0},ml.prototype.inspect=function(){let mY="";const Phe=la.INSPECT_MAX_BYTES;return mY=this.toString("hex",0,Phe).replace(/(.{2})/g,"$1 ").trim(),this.length>Phe&&(mY+=" ... "),"<Buffer "+mY+">"},ua&&(ml.prototype[ua]=ml.prototype.inspect),ml.prototype.compare=function(mY,Phe,Odt,zhe,Fhe){if(spt(mY,Uint8Array)&&(mY=ml.from(mY,mY.offset,mY.byteLength)),!ml.isBuffer(mY))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof mY);if(Phe===void 0&&(Phe=0),Odt===void 0&&(Odt=mY?mY.length:0),zhe===void 0&&(zhe=0),Fhe===void 0&&(Fhe=this.length),Phe<0||Odt>mY.length||zhe<0||Fhe>this.length)throw new RangeError("out of range index");if(zhe>=Fhe&&Phe>=Odt)return 0;if(zhe>=Fhe)return-1;if(Phe>=Odt)return 1;if(Phe>>>=0,Odt>>>=0,zhe>>>=0,Fhe>>>=0,this===mY)return 0;let jhe=Fhe-zhe,Tdt=Odt-Phe;const Idt=Math.min(jhe,Tdt),Jht=this.slice(zhe,Fhe),Rdt=mY.slice(Phe,Odt);for(let cpt=0;cpt<Idt;++cpt)if(Jht[cpt]!==Rdt[cpt]){jhe=Jht[cpt],Tdt=Rdt[cpt];break}return jhe<Tdt?-1:Tdt<jhe?1:0};function vv(Ndt,mY,Phe,Odt,zhe){if(Ndt.length===0)return-1;if(typeof Phe=="string"?(Odt=Phe,Phe=0):Phe>2147483647?Phe=2147483647:Phe<-2147483648&&(Phe=-2147483648),Phe=+Phe,_pt(Phe)&&(Phe=zhe?0:Ndt.length-1),Phe<0&&(Phe=Ndt.length+Phe),Phe>=Ndt.length){if(zhe)return-1;Phe=Ndt.length-1}else if(Phe<0)if(zhe)Phe=0;else return-1;if(typeof mY=="string"&&(mY=ml.from(mY,Odt)),ml.isBuffer(mY))return mY.length===0?-1:k1(Ndt,mY,Phe,Odt,zhe);if(typeof mY=="number")return mY=mY&255,typeof Uint8Array.prototype.indexOf=="function"?zhe?Uint8Array.prototype.indexOf.call(Ndt,mY,Phe):Uint8Array.prototype.lastIndexOf.call(Ndt,mY,Phe):k1(Ndt,[mY],Phe,Odt,zhe);throw new TypeError("val must be string, number or Buffer")}function k1(Ndt,mY,Phe,Odt,zhe){let Fhe=1,jhe=Ndt.length,Tdt=mY.length;if(Odt!==void 0&&(Odt=String(Odt).toLowerCase(),Odt==="ucs2"||Odt==="ucs-2"||Odt==="utf16le"||Odt==="utf-16le")){if(Ndt.length<2||mY.length<2)return-1;Fhe=2,jhe/=2,Tdt/=2,Phe/=2}function Idt(Rdt,cpt){return Fhe===1?Rdt[cpt]:Rdt.readUInt16BE(cpt*Fhe)}let Jht;if(zhe){let Rdt=-1;for(Jht=Phe;Jht<jhe;Jht++)if(Idt(Ndt,Jht)===Idt(mY,Rdt===-1?0:Jht-Rdt)){if(Rdt===-1&&(Rdt=Jht),Jht-Rdt+1===Tdt)return Rdt*Fhe}else Rdt!==-1&&(Jht-=Jht-Rdt),Rdt=-1}else for(Phe+Tdt>jhe&&(Phe=jhe-Tdt),Jht=Phe;Jht>=0;Jht--){let Rdt=!0;for(let cpt=0;cpt<Tdt;cpt++)if(Idt(Ndt,Jht+cpt)!==Idt(mY,cpt)){Rdt=!1;break}if(Rdt)return Jht}return-1}ml.prototype.includes=function(mY,Phe,Odt){return this.indexOf(mY,Phe,Odt)!==-1},ml.prototype.indexOf=function(mY,Phe,Odt){return vv(this,mY,Phe,Odt,!0)},ml.prototype.lastIndexOf=function(mY,Phe,Odt){return vv(this,mY,Phe,Odt,!1)};function qw(Ndt,mY,Phe,Odt){Phe=Number(Phe)||0;const zhe=Ndt.length-Phe;Odt?(Odt=Number(Odt),Odt>zhe&&(Odt=zhe)):Odt=zhe;const Fhe=mY.length;Odt>Fhe/2&&(Odt=Fhe/2);let jhe;for(jhe=0;jhe<Odt;++jhe){const Tdt=parseInt(mY.substr(jhe*2,2),16);if(_pt(Tdt))return jhe;Ndt[Phe+jhe]=Tdt}return jhe}function K0(Ndt,mY,Phe,Odt){return Apt(Zht(mY,Ndt.length-Phe),Ndt,Phe,Odt)}function J0(Ndt,mY,Phe,Odt){return Apt(kpt(mY),Ndt,Phe,Odt)}function Hw(Ndt,mY,Phe,Odt){return Apt(Bpt(mY),Ndt,Phe,Odt)}function O1(Ndt,mY,Phe,Odt){return Apt(Dpt(mY,Ndt.length-Phe),Ndt,Phe,Odt)}ml.prototype.write=function(mY,Phe,Odt,zhe){if(Phe===void 0)zhe="utf8",Odt=this.length,Phe=0;else if(Odt===void 0&&typeof Phe=="string")zhe=Phe,Odt=this.length,Phe=0;else if(isFinite(Phe))Phe=Phe>>>0,isFinite(Odt)?(Odt=Odt>>>0,zhe===void 0&&(zhe="utf8")):(zhe=Odt,Odt=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Fhe=this.length-Phe;if((Odt===void 0||Odt>Fhe)&&(Odt=Fhe),mY.length>0&&(Odt<0||Phe<0)||Phe>this.length)throw new RangeError("Attempt to write outside buffer bounds");zhe||(zhe="utf8");let jhe=!1;for(;;)switch(zhe){case"hex":return qw(this,mY,Phe,Odt);case"utf8":case"utf-8":return K0(this,mY,Phe,Odt);case"ascii":case"latin1":case"binary":return J0(this,mY,Phe,Odt);case"base64":return Hw(this,mY,Phe,Odt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O1(this,mY,Phe,Odt);default:if(jhe)throw new TypeError("Unknown encoding: "+zhe);zhe=(""+zhe).toLowerCase(),jhe=!0}},ml.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Y0(Ndt,mY,Phe){return mY===0&&Phe===Ndt.length?aa.fromByteArray(Ndt):aa.fromByteArray(Ndt.slice(mY,Phe))}function G0(Ndt,mY,Phe){Phe=Math.min(Ndt.length,Phe);const Odt=[];let zhe=mY;for(;zhe<Phe;){const Fhe=Ndt[zhe];let jhe=null,Tdt=Fhe>239?4:Fhe>223?3:Fhe>191?2:1;if(zhe+Tdt<=Phe){let Idt,Jht,Rdt,cpt;switch(Tdt){case 1:Fhe<128&&(jhe=Fhe);break;case 2:Idt=Ndt[zhe+1],(Idt&192)===128&&(cpt=(Fhe&31)<<6|Idt&63,cpt>127&&(jhe=cpt));break;case 3:Idt=Ndt[zhe+1],Jht=Ndt[zhe+2],(Idt&192)===128&&(Jht&192)===128&&(cpt=(Fhe&15)<<12|(Idt&63)<<6|Jht&63,cpt>2047&&(cpt<55296||cpt>57343)&&(jhe=cpt));break;case 4:Idt=Ndt[zhe+1],Jht=Ndt[zhe+2],Rdt=Ndt[zhe+3],(Idt&192)===128&&(Jht&192)===128&&(Rdt&192)===128&&(cpt=(Fhe&15)<<18|(Idt&63)<<12|(Jht&63)<<6|Rdt&63,cpt>65535&&cpt<1114112&&(jhe=cpt))}}jhe===null?(jhe=65533,Tdt=1):jhe>65535&&(jhe-=65536,Odt.push(jhe>>>10&1023|55296),jhe=56320|jhe&1023),Odt.push(jhe),zhe+=Tdt}return d_(Odt)}const X0=4096;function d_(Ndt){const mY=Ndt.length;if(mY<=X0)return String.fromCharCode.apply(String,Ndt);let Phe="",Odt=0;for(;Odt<mY;)Phe+=String.fromCharCode.apply(String,Ndt.slice(Odt,Odt+=X0));return Phe}function f_(Ndt,mY,Phe){let Odt="";Phe=Math.min(Ndt.length,Phe);for(let zhe=mY;zhe<Phe;++zhe)Odt+=String.fromCharCode(Ndt[zhe]&127);return Odt}function zN(Ndt,mY,Phe){let Odt="";Phe=Math.min(Ndt.length,Phe);for(let zhe=mY;zhe<Phe;++zhe)Odt+=String.fromCharCode(Ndt[zhe]);return Odt}function BN(Ndt,mY,Phe){const Odt=Ndt.length;(!mY||mY<0)&&(mY=0),(!Phe||Phe<0||Phe>Odt)&&(Phe=Odt);let zhe="";for(let Fhe=mY;Fhe<Phe;++Fhe)zhe+=jpt[Ndt[Fhe]];return zhe}function iF(Ndt,mY,Phe){const Odt=Ndt.slice(mY,Phe);let zhe="";for(let Fhe=0;Fhe<Odt.length-1;Fhe+=2)zhe+=String.fromCharCode(Odt[Fhe]+Odt[Fhe+1]*256);return zhe}ml.prototype.slice=function(mY,Phe){const Odt=this.length;mY=~~mY,Phe=Phe===void 0?Odt:~~Phe,mY<0?(mY+=Odt,mY<0&&(mY=0)):mY>Odt&&(mY=Odt),Phe<0?(Phe+=Odt,Phe<0&&(Phe=0)):Phe>Odt&&(Phe=Odt),Phe<mY&&(Phe=mY);const zhe=this.subarray(mY,Phe);return Object.setPrototypeOf(zhe,ml.prototype),zhe};function yY(Ndt,mY,Phe){if(Ndt%1!==0||Ndt<0)throw new RangeError("offset is not uint");if(Ndt+mY>Phe)throw new RangeError("Trying to access beyond buffer length")}ml.prototype.readUintLE=ml.prototype.readUIntLE=function(mY,Phe,Odt){mY=mY>>>0,Phe=Phe>>>0,Odt||yY(mY,Phe,this.length);let zhe=this[mY],Fhe=1,jhe=0;for(;++jhe<Phe&&(Fhe*=256);)zhe+=this[mY+jhe]*Fhe;return zhe},ml.prototype.readUintBE=ml.prototype.readUIntBE=function(mY,Phe,Odt){mY=mY>>>0,Phe=Phe>>>0,Odt||yY(mY,Phe,this.length);let zhe=this[mY+--Phe],Fhe=1;for(;Phe>0&&(Fhe*=256);)zhe+=this[mY+--Phe]*Fhe;return zhe},ml.prototype.readUint8=ml.prototype.readUInt8=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,1,this.length),this[mY]},ml.prototype.readUint16LE=ml.prototype.readUInt16LE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,2,this.length),this[mY]|this[mY+1]<<8},ml.prototype.readUint16BE=ml.prototype.readUInt16BE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,2,this.length),this[mY]<<8|this[mY+1]},ml.prototype.readUint32LE=ml.prototype.readUInt32LE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),(this[mY]|this[mY+1]<<8|this[mY+2]<<16)+this[mY+3]*16777216},ml.prototype.readUint32BE=ml.prototype.readUInt32BE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),this[mY]*16777216+(this[mY+1]<<16|this[mY+2]<<8|this[mY+3])},ml.prototype.readBigUInt64LE=Opt(function(mY){mY=mY>>>0,dht(mY,"offset");const Phe=this[mY],Odt=this[mY+7];(Phe===void 0||Odt===void 0)&&Mdt(mY,this.length-8);const zhe=Phe+this[++mY]*2**8+this[++mY]*2**16+this[++mY]*2**24,Fhe=this[++mY]+this[++mY]*2**8+this[++mY]*2**16+Odt*2**24;return BigInt(zhe)+(BigInt(Fhe)<<BigInt(32))}),ml.prototype.readBigUInt64BE=Opt(function(mY){mY=mY>>>0,dht(mY,"offset");const Phe=this[mY],Odt=this[mY+7];(Phe===void 0||Odt===void 0)&&Mdt(mY,this.length-8);const zhe=Phe*2**24+this[++mY]*2**16+this[++mY]*2**8+this[++mY],Fhe=this[++mY]*2**24+this[++mY]*2**16+this[++mY]*2**8+Odt;return(BigInt(zhe)<<BigInt(32))+BigInt(Fhe)}),ml.prototype.readIntLE=function(mY,Phe,Odt){mY=mY>>>0,Phe=Phe>>>0,Odt||yY(mY,Phe,this.length);let zhe=this[mY],Fhe=1,jhe=0;for(;++jhe<Phe&&(Fhe*=256);)zhe+=this[mY+jhe]*Fhe;return Fhe*=128,zhe>=Fhe&&(zhe-=Math.pow(2,8*Phe)),zhe},ml.prototype.readIntBE=function(mY,Phe,Odt){mY=mY>>>0,Phe=Phe>>>0,Odt||yY(mY,Phe,this.length);let zhe=Phe,Fhe=1,jhe=this[mY+--zhe];for(;zhe>0&&(Fhe*=256);)jhe+=this[mY+--zhe]*Fhe;return Fhe*=128,jhe>=Fhe&&(jhe-=Math.pow(2,8*Phe)),jhe},ml.prototype.readInt8=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,1,this.length),this[mY]&128?(255-this[mY]+1)*-1:this[mY]},ml.prototype.readInt16LE=function(mY,Phe){mY=mY>>>0,Phe||yY(mY,2,this.length);const Odt=this[mY]|this[mY+1]<<8;return Odt&32768?Odt|4294901760:Odt},ml.prototype.readInt16BE=function(mY,Phe){mY=mY>>>0,Phe||yY(mY,2,this.length);const Odt=this[mY+1]|this[mY]<<8;return Odt&32768?Odt|4294901760:Odt},ml.prototype.readInt32LE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),this[mY]|this[mY+1]<<8|this[mY+2]<<16|this[mY+3]<<24},ml.prototype.readInt32BE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),this[mY]<<24|this[mY+1]<<16|this[mY+2]<<8|this[mY+3]},ml.prototype.readBigInt64LE=Opt(function(mY){mY=mY>>>0,dht(mY,"offset");const Phe=this[mY],Odt=this[mY+7];(Phe===void 0||Odt===void 0)&&Mdt(mY,this.length-8);const zhe=this[mY+4]+this[mY+5]*2**8+this[mY+6]*2**16+(Odt<<24);return(BigInt(zhe)<<BigInt(32))+BigInt(Phe+this[++mY]*2**8+this[++mY]*2**16+this[++mY]*2**24)}),ml.prototype.readBigInt64BE=Opt(function(mY){mY=mY>>>0,dht(mY,"offset");const Phe=this[mY],Odt=this[mY+7];(Phe===void 0||Odt===void 0)&&Mdt(mY,this.length-8);const zhe=(Phe<<24)+this[++mY]*2**16+this[++mY]*2**8+this[++mY];return(BigInt(zhe)<<BigInt(32))+BigInt(this[++mY]*2**24+this[++mY]*2**16+this[++mY]*2**8+Odt)}),ml.prototype.readFloatLE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),ca.read(this,mY,!0,23,4)},ml.prototype.readFloatBE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,4,this.length),ca.read(this,mY,!1,23,4)},ml.prototype.readDoubleLE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,8,this.length),ca.read(this,mY,!0,52,8)},ml.prototype.readDoubleBE=function(mY,Phe){return mY=mY>>>0,Phe||yY(mY,8,this.length),ca.read(this,mY,!1,52,8)};function vQ(Ndt,mY,Phe,Odt,zhe,Fhe){if(!ml.isBuffer(Ndt))throw new TypeError('"buffer" argument must be a Buffer instance');if(mY>zhe||mY<Fhe)throw new RangeError('"value" argument is out of bounds');if(Phe+Odt>Ndt.length)throw new RangeError("Index out of range")}ml.prototype.writeUintLE=ml.prototype.writeUIntLE=function(mY,Phe,Odt,zhe){if(mY=+mY,Phe=Phe>>>0,Odt=Odt>>>0,!zhe){const Tdt=Math.pow(2,8*Odt)-1;vQ(this,mY,Phe,Odt,Tdt,0)}let Fhe=1,jhe=0;for(this[Phe]=mY&255;++jhe<Odt&&(Fhe*=256);)this[Phe+jhe]=mY/Fhe&255;return Phe+Odt},ml.prototype.writeUintBE=ml.prototype.writeUIntBE=function(mY,Phe,Odt,zhe){if(mY=+mY,Phe=Phe>>>0,Odt=Odt>>>0,!zhe){const Tdt=Math.pow(2,8*Odt)-1;vQ(this,mY,Phe,Odt,Tdt,0)}let Fhe=Odt-1,jhe=1;for(this[Phe+Fhe]=mY&255;--Fhe>=0&&(jhe*=256);)this[Phe+Fhe]=mY/jhe&255;return Phe+Odt},ml.prototype.writeUint8=ml.prototype.writeUInt8=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,1,255,0),this[Phe]=mY&255,Phe+1},ml.prototype.writeUint16LE=ml.prototype.writeUInt16LE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,2,65535,0),this[Phe]=mY&255,this[Phe+1]=mY>>>8,Phe+2},ml.prototype.writeUint16BE=ml.prototype.writeUInt16BE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,2,65535,0),this[Phe]=mY>>>8,this[Phe+1]=mY&255,Phe+2},ml.prototype.writeUint32LE=ml.prototype.writeUInt32LE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,4,4294967295,0),this[Phe+3]=mY>>>24,this[Phe+2]=mY>>>16,this[Phe+1]=mY>>>8,this[Phe]=mY&255,Phe+4},ml.prototype.writeUint32BE=ml.prototype.writeUInt32BE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,4,4294967295,0),this[Phe]=mY>>>24,this[Phe+1]=mY>>>16,this[Phe+2]=mY>>>8,this[Phe+3]=mY&255,Phe+4};function Ihe(Ndt,mY,Phe,Odt,zhe){Bhe(mY,Odt,zhe,Ndt,Phe,7);let Fhe=Number(mY&BigInt(4294967295));Ndt[Phe++]=Fhe,Fhe=Fhe>>8,Ndt[Phe++]=Fhe,Fhe=Fhe>>8,Ndt[Phe++]=Fhe,Fhe=Fhe>>8,Ndt[Phe++]=Fhe;let jhe=Number(mY>>BigInt(32)&BigInt(4294967295));return Ndt[Phe++]=jhe,jhe=jhe>>8,Ndt[Phe++]=jhe,jhe=jhe>>8,Ndt[Phe++]=jhe,jhe=jhe>>8,Ndt[Phe++]=jhe,Phe}function bY(Ndt,mY,Phe,Odt,zhe){Bhe(mY,Odt,zhe,Ndt,Phe,7);let Fhe=Number(mY&BigInt(4294967295));Ndt[Phe+7]=Fhe,Fhe=Fhe>>8,Ndt[Phe+6]=Fhe,Fhe=Fhe>>8,Ndt[Phe+5]=Fhe,Fhe=Fhe>>8,Ndt[Phe+4]=Fhe;let jhe=Number(mY>>BigInt(32)&BigInt(4294967295));return Ndt[Phe+3]=jhe,jhe=jhe>>8,Ndt[Phe+2]=jhe,jhe=jhe>>8,Ndt[Phe+1]=jhe,jhe=jhe>>8,Ndt[Phe]=jhe,Phe+8}ml.prototype.writeBigUInt64LE=Opt(function(mY,Phe=0){return Ihe(this,mY,Phe,BigInt(0),BigInt("0xffffffffffffffff"))}),ml.prototype.writeBigUInt64BE=Opt(function(mY,Phe=0){return bY(this,mY,Phe,BigInt(0),BigInt("0xffffffffffffffff"))}),ml.prototype.writeIntLE=function(mY,Phe,Odt,zhe){if(mY=+mY,Phe=Phe>>>0,!zhe){const Idt=Math.pow(2,8*Odt-1);vQ(this,mY,Phe,Odt,Idt-1,-Idt)}let Fhe=0,jhe=1,Tdt=0;for(this[Phe]=mY&255;++Fhe<Odt&&(jhe*=256);)mY<0&&Tdt===0&&this[Phe+Fhe-1]!==0&&(Tdt=1),this[Phe+Fhe]=(mY/jhe>>0)-Tdt&255;return Phe+Odt},ml.prototype.writeIntBE=function(mY,Phe,Odt,zhe){if(mY=+mY,Phe=Phe>>>0,!zhe){const Idt=Math.pow(2,8*Odt-1);vQ(this,mY,Phe,Odt,Idt-1,-Idt)}let Fhe=Odt-1,jhe=1,Tdt=0;for(this[Phe+Fhe]=mY&255;--Fhe>=0&&(jhe*=256);)mY<0&&Tdt===0&&this[Phe+Fhe+1]!==0&&(Tdt=1),this[Phe+Fhe]=(mY/jhe>>0)-Tdt&255;return Phe+Odt},ml.prototype.writeInt8=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,1,127,-128),mY<0&&(mY=255+mY+1),this[Phe]=mY&255,Phe+1},ml.prototype.writeInt16LE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,2,32767,-32768),this[Phe]=mY&255,this[Phe+1]=mY>>>8,Phe+2},ml.prototype.writeInt16BE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,2,32767,-32768),this[Phe]=mY>>>8,this[Phe+1]=mY&255,Phe+2},ml.prototype.writeInt32LE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,4,2147483647,-2147483648),this[Phe]=mY&255,this[Phe+1]=mY>>>8,this[Phe+2]=mY>>>16,this[Phe+3]=mY>>>24,Phe+4},ml.prototype.writeInt32BE=function(mY,Phe,Odt){return mY=+mY,Phe=Phe>>>0,Odt||vQ(this,mY,Phe,4,2147483647,-2147483648),mY<0&&(mY=4294967295+mY+1),this[Phe]=mY>>>24,this[Phe+1]=mY>>>16,this[Phe+2]=mY>>>8,this[Phe+3]=mY&255,Phe+4},ml.prototype.writeBigInt64LE=Opt(function(mY,Phe=0){return Ihe(this,mY,Phe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),ml.prototype.writeBigInt64BE=Opt(function(mY,Phe=0){return bY(this,mY,Phe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Lhe(Ndt,mY,Phe,Odt,zhe,Fhe){if(Phe+Odt>Ndt.length)throw new RangeError("Index out of range");if(Phe<0)throw new RangeError("Index out of range")}function Dhe(Ndt,mY,Phe,Odt,zhe){return mY=+mY,Phe=Phe>>>0,zhe||Lhe(Ndt,mY,Phe,4),ca.write(Ndt,mY,Phe,Odt,23,4),Phe+4}ml.prototype.writeFloatLE=function(mY,Phe,Odt){return Dhe(this,mY,Phe,!0,Odt)},ml.prototype.writeFloatBE=function(mY,Phe,Odt){return Dhe(this,mY,Phe,!1,Odt)};function kdt(Ndt,mY,Phe,Odt,zhe){return mY=+mY,Phe=Phe>>>0,zhe||Lhe(Ndt,mY,Phe,8),ca.write(Ndt,mY,Phe,Odt,52,8),Phe+8}ml.prototype.writeDoubleLE=function(mY,Phe,Odt){return kdt(this,mY,Phe,!0,Odt)},ml.prototype.writeDoubleBE=function(mY,Phe,Odt){return kdt(this,mY,Phe,!1,Odt)},ml.prototype.copy=function(mY,Phe,Odt,zhe){if(!ml.isBuffer(mY))throw new TypeError("argument should be a Buffer");if(Odt||(Odt=0),!zhe&&zhe!==0&&(zhe=this.length),Phe>=mY.length&&(Phe=mY.length),Phe||(Phe=0),zhe>0&&zhe<Odt&&(zhe=Odt),zhe===Odt||mY.length===0||this.length===0)return 0;if(Phe<0)throw new RangeError("targetStart out of bounds");if(Odt<0||Odt>=this.length)throw new RangeError("Index out of range");if(zhe<0)throw new RangeError("sourceEnd out of bounds");zhe>this.length&&(zhe=this.length),mY.length-Phe<zhe-Odt&&(zhe=mY.length-Phe+Odt);const Fhe=zhe-Odt;return this===mY&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(Phe,Odt,zhe):Uint8Array.prototype.set.call(mY,this.subarray(Odt,zhe),Phe),Fhe},ml.prototype.fill=function(mY,Phe,Odt,zhe){if(typeof mY=="string"){if(typeof Phe=="string"?(zhe=Phe,Phe=0,Odt=this.length):typeof Odt=="string"&&(zhe=Odt,Odt=this.length),zhe!==void 0&&typeof zhe!="string")throw new TypeError("encoding must be a string");if(typeof zhe=="string"&&!ml.isEncoding(zhe))throw new TypeError("Unknown encoding: "+zhe);if(mY.length===1){const jhe=mY.charCodeAt(0);(zhe==="utf8"&&jhe<128||zhe==="latin1")&&(mY=jhe)}}else typeof mY=="number"?mY=mY&255:typeof mY=="boolean"&&(mY=Number(mY));if(Phe<0||this.length<Phe||this.length<Odt)throw new RangeError("Out of range index");if(Odt<=Phe)return this;Phe=Phe>>>0,Odt=Odt===void 0?this.length:Odt>>>0,mY||(mY=0);let Fhe;if(typeof mY=="number")for(Fhe=Phe;Fhe<Odt;++Fhe)this[Fhe]=mY;else{const jhe=ml.isBuffer(mY)?mY:ml.from(mY,zhe),Tdt=jhe.length;if(Tdt===0)throw new TypeError('The value "'+mY+'" is invalid for argument "value"');for(Fhe=0;Fhe<Odt-Phe;++Fhe)this[Fhe+Phe]=jhe[Fhe%Tdt]}return this};const eht={};function oht(Ndt,mY,Phe){eht[Ndt]=class extends Phe{constructor(){super(),Object.defineProperty(this,"message",{value:mY.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${Ndt}]`,this.stack,delete this.name}get code(){return Ndt}set code(zhe){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:zhe,writable:!0})}toString(){return`${this.name} [${Ndt}]: ${this.message}`}}}oht("ERR_BUFFER_OUT_OF_BOUNDS",function(Ndt){return Ndt?`${Ndt} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),oht("ERR_INVALID_ARG_TYPE",function(Ndt,mY){return`The "${Ndt}" argument must be of type number. Received type ${typeof mY}`},TypeError),oht("ERR_OUT_OF_RANGE",function(Ndt,mY,Phe){let Odt=`The value of "${Ndt}" is out of range.`,zhe=Phe;return Number.isInteger(Phe)&&Math.abs(Phe)>2**32?zhe=iht(String(Phe)):typeof Phe=="bigint"&&(zhe=String(Phe),(Phe>BigInt(2)**BigInt(32)||Phe<-(BigInt(2)**BigInt(32)))&&(zhe=iht(zhe)),zhe+="n"),Odt+=` It must be ${mY}. Received ${zhe}`,Odt},RangeError);function iht(Ndt){let mY="",Phe=Ndt.length;const Odt=Ndt[0]==="-"?1:0;for(;Phe>=Odt+4;Phe-=3)mY=`_${Ndt.slice(Phe-3,Phe)}${mY}`;return`${Ndt.slice(0,Phe)}${mY}`}function Uhe(Ndt,mY,Phe){dht(mY,"offset"),(Ndt[mY]===void 0||Ndt[mY+Phe]===void 0)&&Mdt(mY,Ndt.length-(Phe+1))}function Bhe(Ndt,mY,Phe,Odt,zhe,Fhe){if(Ndt>Phe||Ndt<mY){const jhe=typeof mY=="bigint"?"n":"";let Tdt;throw mY===0||mY===BigInt(0)?Tdt=`>= 0${jhe} and < 2${jhe} ** ${(Fhe+1)*8}${jhe}`:Tdt=`>= -(2${jhe} ** ${(Fhe+1)*8-1}${jhe}) and < 2 ** ${(Fhe+1)*8-1}${jhe}`,new eht.ERR_OUT_OF_RANGE("value",Tdt,Ndt)}Uhe(Odt,zhe,Fhe)}function dht(Ndt,mY){if(typeof Ndt!="number")throw new eht.ERR_INVALID_ARG_TYPE(mY,"number",Ndt)}function Mdt(Ndt,mY,Phe){throw Math.floor(Ndt)!==Ndt?(dht(Ndt,Phe),new eht.ERR_OUT_OF_RANGE("offset","an integer",Ndt)):mY<0?new eht.ERR_BUFFER_OUT_OF_BOUNDS:new eht.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${mY}`,Ndt)}const opt=/[^+/0-9A-Za-z-_]/g;function gpt(Ndt){if(Ndt=Ndt.split("=")[0],Ndt=Ndt.trim().replace(opt,""),Ndt.length<2)return"";for(;Ndt.length%4!==0;)Ndt=Ndt+"=";return Ndt}function Zht(Ndt,mY){mY=mY||1/0;let Phe;const Odt=Ndt.length;let zhe=null;const Fhe=[];for(let jhe=0;jhe<Odt;++jhe){if(Phe=Ndt.charCodeAt(jhe),Phe>55295&&Phe<57344){if(!zhe){if(Phe>56319){(mY-=3)>-1&&Fhe.push(239,191,189);continue}else if(jhe+1===Odt){(mY-=3)>-1&&Fhe.push(239,191,189);continue}zhe=Phe;continue}if(Phe<56320){(mY-=3)>-1&&Fhe.push(239,191,189),zhe=Phe;continue}Phe=(zhe-55296<<10|Phe-56320)+65536}else zhe&&(mY-=3)>-1&&Fhe.push(239,191,189);if(zhe=null,Phe<128){if((mY-=1)<0)break;Fhe.push(Phe)}else if(Phe<2048){if((mY-=2)<0)break;Fhe.push(Phe>>6|192,Phe&63|128)}else if(Phe<65536){if((mY-=3)<0)break;Fhe.push(Phe>>12|224,Phe>>6&63|128,Phe&63|128)}else if(Phe<1114112){if((mY-=4)<0)break;Fhe.push(Phe>>18|240,Phe>>12&63|128,Phe>>6&63|128,Phe&63|128)}else throw new Error("Invalid code point")}return Fhe}function kpt(Ndt){const mY=[];for(let Phe=0;Phe<Ndt.length;++Phe)mY.push(Ndt.charCodeAt(Phe)&255);return mY}function Dpt(Ndt,mY){let Phe,Odt,zhe;const Fhe=[];for(let jhe=0;jhe<Ndt.length&&!((mY-=2)<0);++jhe)Phe=Ndt.charCodeAt(jhe),Odt=Phe>>8,zhe=Phe%256,Fhe.push(zhe),Fhe.push(Odt);return Fhe}function Bpt(Ndt){return aa.toByteArray(gpt(Ndt))}function Apt(Ndt,mY,Phe,Odt){let zhe;for(zhe=0;zhe<Odt&&!(zhe+Phe>=mY.length||zhe>=Ndt.length);++zhe)mY[zhe+Phe]=Ndt[zhe];return zhe}function spt(Ndt,mY){return Ndt instanceof mY||Ndt!=null&&Ndt.constructor!=null&&Ndt.constructor.name!=null&&Ndt.constructor.name===mY.name}function _pt(Ndt){return Ndt!==Ndt}const jpt=(function(){const Ndt="0123456789abcdef",mY=new Array(256);for(let Phe=0;Phe<16;++Phe){const Odt=Phe*16;for(let zhe=0;zhe<16;++zhe)mY[Odt+zhe]=Ndt[Phe]+Ndt[zhe]}return mY})();function Opt(Ndt){return typeof BigInt>"u"?zpt:Ndt}function zpt(){throw new Error("BigInt not supported")}})(buffer)),buffer}var safeBuffer={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var hasRequiredSafeBuffer;function requireSafeBuffer(){return hasRequiredSafeBuffer||(hasRequiredSafeBuffer=1,(function(la,aa){var ca=requireBuffer(),ua=ca.Buffer;function Sa(pl,ml){for(var gl in pl)ml[gl]=pl[gl]}ua.from&&ua.alloc&&ua.allocUnsafe&&ua.allocUnsafeSlow?la.exports=ca:(Sa(ca,aa),aa.Buffer=hl);function hl(pl,ml,gl){return ua(pl,ml,gl)}hl.prototype=Object.create(ua.prototype),Sa(ua,hl),hl.from=function(pl,ml,gl){if(typeof pl=="number")throw new TypeError("Argument must not be a number");return ua(pl,ml,gl)},hl.alloc=function(pl,ml,gl){if(typeof pl!="number")throw new TypeError("Argument must be a number");var wc=ua(pl);return ml!==void 0?typeof gl=="string"?wc.fill(ml,gl):wc.fill(ml):wc.fill(0),wc},hl.allocUnsafe=function(pl){if(typeof pl!="number")throw new TypeError("Argument must be a number");return ua(pl)},hl.allocUnsafeSlow=function(pl){if(typeof pl!="number")throw new TypeError("Argument must be a number");return ca.SlowBuffer(pl)}})(safeBuffer,safeBuffer.exports)),safeBuffer.exports}var define_process_env_default$8={};let DailyRotateFile$1,winston$1;isNodeEnv$1&&(await __vitePreload(()=>import("./index-B9xf0SlF.js").then(la=>la.i),__vite__mapDeps([0,1,2,3,4,5])).then(la=>{DailyRotateFile$1=la.default}),await __vitePreload(()=>import("./winston-I4dVFosi.js").then(la=>la.w),__vite__mapDeps([6,1,2,3,4,5])).then(la=>{winston$1=la.default}));let logger$3;function getLogLevel$1(){var la;return isNodeEnv$1&&define_process_env_default$8&&define_process_env_default$8.DEBUG?"debug":((la=AppConfig?.logging)===null||la===void 0?void 0:la.level)||"info"}function initializeLogger$1(){const la=getLogLevel$1();if(isNodeEnv$1){const aa=new DailyRotateFile$1({level:la,filename:"logs/app-%DATE%.log",datePattern:"YYYY-MM-DD",maxSize:"20m",maxFiles:"7d"});logger$3=winston$1.createLogger({level:la,format:winston$1.format.combine(winston$1.format.timestamp(),winston$1.format.printf(({timestamp:ca,level:ua,message:Sa})=>`[${ca}] ${ua}: ${Sa}`)),transports:[aa]})}else{let aa=function(ca){return ua=>{console.log(`${ca}: ${ua}`)}};logger$3={debug:aa("DEBUG"),info:aa("INFO"),warn:aa("WARN"),error:aa("ERROR")}}}initializeLogger$1();const PlannerInstructions$1=`Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.
8106
8106
  The model of a business application consists of entity definitions and workflows defined in "modules".
8107
8107
  A module is be encoded in a syntax inspired by JavaScript and JSON. Example of a simple module follows:
8108
8108
 
@@ -16174,7 +16174,7 @@ workflow TempEvent { ${la} }`);if(isWorkflowDefinition(ca.defs[0]))aa=ca.defs[0]
16174
16174
  `));const ua=((ca=la.diagnostics)!==null&&ca!==void 0?ca:[]).filter(pl=>pl.severity===1),Sa=new Set,hl=new Set;if(ua.length>0){for(const pl of ua)if(!Sa.has(pl.range.start.line)&&!hl.has(pl.range.start.character)){const ml=la.textDocument.getText(pl.range),gl=`(${pl.range.start.line+1}:${pl.range.start.character+1}) unexpected token(s) '${ml}'`,wc=aa[pl.range.start.line];wc.indexOf(ErrorIndicator)>0?aa[pl.range.start.line]=`${wc}, ${gl}`:aa[pl.range.start.line]=`${wc} ${ErrorIndicator} ${gl}`,Sa.add(pl.range.start.line),hl.add(pl.range.start.character)}return trimErrorLines(aa)}else return}function trimErrorLines(la){let aa=0;for(let ua=0;ua<la.length;++ua)if(la[ua].indexOf(ErrorIndicator)>0){aa=ua;break}let ca=aa;for(let ua=aa+1;ua<la.length;++ua)if(la[ua].indexOf(ErrorIndicator)>0){ca=ua;break}return aa>0&&--aa,ca!=la.length&&++ca,la.slice(aa,ca)}function trimErrorMessage(la){if(la.indexOf("Expecting:")>=0){const aa=la.indexOf("but found:");if(aa>0)return`Expecting a valid token sequence, ${la.substring(aa)}`}return la}function maybeRaiseParserErrors(la){const aa=la.textDocument.getText().split(`
16175
16175
  `);let ca=!1;const ua=new Set;la.parseResult.lexerErrors.length>0&&(la.parseResult.lexerErrors.forEach(hl=>{if(!ua.has(hl.line)){const pl=trimErrorMessage(hl.message),ml=`${ErrorIndicator} (${hl.line}:${hl.column}) ${pl}`;aa[hl.line-1]=`${aa[hl.line-1]} ${ml}`,ua.add(hl.line)}}),ca=!0),la.parseResult.parserErrors.length>0&&(la.parseResult.parserErrors.forEach(hl=>{const pl=trimErrorMessage(hl.message);if(hl.token.startLine&&hl.token.endLine){if(!ua.has(hl.token.startLine)){const ml=`${ErrorIndicator} (${hl.token.startLine}:${hl.token.startColumn}) ${pl}`;aa[hl.token.endLine-1]=`${aa[hl.token.endLine-1]} ${ml}`,aa.join(`
16176
16176
  `),ua.add(hl.token.startLine)}}else aa.push(`ERROR: ${pl}`)}),ca=!0);const Sa=maybeGetValidationErrors(la,aa);if(ca||Sa!==void 0)throw new Error(aa.join(`
16177
- `))}async function introspect(la){let aa=[];const ca=await parse$2$1(`module Temp workflow Test {${la}}`);if(maybeRaiseParserErrors(ca),isWorkflowDefinition(ca.parseResult.value.defs[0]))aa=introspectHelper(ca.parseResult.value.defs[0].statements);else throw new Error("Failed to parse statements");return aa}function introspectHelper(la){const aa=[];return la.forEach(ca=>{aa.push(introspectStatement(ca))}),aa}function introspectStatement(la){const aa=introspectPattern(la.pattern),ca=firstAliasSpec(la);ca&&(ca.alias?aa.setAlias(ca.alias):ca.aliases.length>0&&aa.setAliases(ca.aliases));const ua=firstCatchSpec(la);return ua&&ua.handlers.forEach(Sa=>{aa.addHandler(Sa.except,introspectStatement(Sa.stmt))}),aa}function introspectPattern(la){let aa;if(la.crudMap?(isQueryPattern(la)?aa=introspectQueryPattern(la.crudMap):aa=introspectCreatePattern(la.crudMap),la.crudMap.into&&(aa=introspectInto(la.crudMap.into,aa))):la.expr?aa=introspectExpression(la.expr):la.forEach?aa=introspectForEach(la.forEach):la.if?aa=introspectIf(la.if):la.delete?aa=introspectDelete(la.delete):la.return?aa=introspectReturn(la.return):la.fullTextSearch&&(aa=introspectFullTextSearch(la.fullTextSearch)),aa)return aa;throw new Error(`Failed to introspect pattern: ${la}`)}function introspectInto(la,aa){return la.entries.forEach(ca=>{ca.attribute&&aa.addInto(ca.alias,ca.attribute)}),aa}function isQueryPattern(la){if(la.crudMap){const aa=la.crudMap,ca=aa.name.endsWith(QuerySuffix);return!ca&&aa.body?aa.body.attributes.length>0&&aa.body.attributes.every(ua=>ua.name.endsWith(QuerySuffix)):ca}return!1}function introspectGroup(la){return new GroupExpressionPattern(introspectExpression(la.ge))}function introspectNegExpr(la){return new NegExpressionPattern(introspectExpression(la.ne))}function introspectNotExpr(la){return new NotExpressionPattern(introspectExpression(la.ne))}function introspectPrimExpr(la){if(isLiteral(la))return introspectLiteral(la);if(isGroup(la))return introspectGroup(la);if(isNegExpr(la))return introspectNegExpr(la);if(isNotExpr(la))return introspectNotExpr(la);throw new Error(`Not a PrimExpr - ${la}`)}function introspectExpression(la){if(la!==void 0){if(isPrimExpr(la))return introspectPrimExpr(la);if(la.$cstNode)return new ExpressionPattern(la.$cstNode.text)}throw new Error("Failed to introspect expression - "+la)}function introspectQueryPattern(la){var aa;if(la){const ca=new CrudPattern(la.name);return(aa=la.body)===null||aa===void 0||aa.attributes.forEach(ua=>{ca.addAttribute(ua.name,introspectExpression(ua.value),ua.op)}),la.relationships.forEach(ua=>{ca.addRelationship(ua.name,introspectPattern(ua.pattern))}),ca.isCreate=!1,ca.isQueryUpdate=!1,ca.isQuery=!0,ca}throw new Error(`Failed to introspect query-pattern: ${la}`)}function introspectCreatePattern(la){var aa;if(la){const ca=new CrudPattern(la.name);ca.isCreate=!1,ca.isQuery=!1;let ua=!1;return(aa=la.body)===null||aa===void 0||aa.attributes.forEach(Sa=>{!ua&&Sa.name.endsWith(QuerySuffix)&&(ua=!0),ca.addAttribute(Sa.name,introspectExpression(Sa.value),Sa.op)}),la.relationships.forEach(Sa=>{ca.addRelationship(Sa.name,introspectPattern(Sa.pattern))}),ca.isQueryUpdate=ua,ua?(ca.isCreate=!1,ca.isQuery=!1):(ca.isCreate=!0,ca.isQuery=!1),ca}throw new Error(`Failed to introspect create-pattern: ${la}`)}function asFnCallPattern(la){return new FunctionCallPattern(la.name,la.args.map(aa=>isExpr(aa)?introspectExpression(aa):introspectLiteral(aa)))}function introspectLiteral(la){if(la.id)return LiteralPattern.Id(la.id);if(la.num)return LiteralPattern.Number(la.num);if(la.ref)return LiteralPattern.Reference(la.ref);if(la.str!==void 0)return LiteralPattern.String(la.str);if(la.bool)return LiteralPattern.Boolean(la.bool=="true");if(la.fnCall)return asFnCallPattern(la.fnCall);if(la.asyncFnCall)return asFnCallPattern(la.asyncFnCall.fnCall).asAsync();if(la.array)return LiteralPattern.Array(la.array.vals.map(aa=>introspectStatement(aa)));if(la.map)return introspectMapLiteral(la.map);throw new Error(`Invalid literal - ${la}`)}function introspectMapLiteral(la){const aa=new Map;return la.entries.forEach(ca=>{aa.set(ca.key,introspectExpression(ca.value))}),LiteralPattern.Map(aa)}function introspectForEach(la){const aa=new ForEachPattern(la.var,introspectPattern(la.src));return la.statements.forEach(ca=>{aa.addPattern(introspectStatement(ca))}),aa}function introspectIf(la){const aa=new IfPattern(introspectExpression(la.cond));return la.statements.forEach(ca=>{aa.addPattern(introspectStatement(ca))}),la.else&&aa.setElse(la.else.statements.map(ca=>introspectStatement(ca))),aa}function introspectDelete(la){return new DeletePattern(introspectPattern(la.pattern))}function introspectReturn(la){return new ReturnPattern(introspectPattern(la.pattern))}function introspectFullTextSearch(la){let aa;return la.options&&(aa=introspectMapLiteral(la.options)),new FullTextSearchPattern(la.name,introspectLiteral(la.query),aa)}var util$1$1;(function(la){la.assertEqual=Sa=>{};function aa(Sa){}la.assertIs=aa;function ca(Sa){throw new Error}la.assertNever=ca,la.arrayToEnum=Sa=>{const hl={};for(const pl of Sa)hl[pl]=pl;return hl},la.getValidEnumValues=Sa=>{const hl=la.objectKeys(Sa).filter(ml=>typeof Sa[Sa[ml]]!="number"),pl={};for(const ml of hl)pl[ml]=Sa[ml];return la.objectValues(pl)},la.objectValues=Sa=>la.objectKeys(Sa).map(function(hl){return Sa[hl]}),la.objectKeys=typeof Object.keys=="function"?Sa=>Object.keys(Sa):Sa=>{const hl=[];for(const pl in Sa)Object.prototype.hasOwnProperty.call(Sa,pl)&&hl.push(pl);return hl},la.find=(Sa,hl)=>{for(const pl of Sa)if(hl(pl))return pl},la.isInteger=typeof Number.isInteger=="function"?Sa=>Number.isInteger(Sa):Sa=>typeof Sa=="number"&&Number.isFinite(Sa)&&Math.floor(Sa)===Sa;function ua(Sa,hl=" | "){return Sa.map(pl=>typeof pl=="string"?`'${pl}'`:pl).join(hl)}la.joinValues=ua,la.jsonStringifyReplacer=(Sa,hl)=>typeof hl=="bigint"?hl.toString():hl})(util$1$1||(util$1$1={}));var objectUtil;(function(la){la.mergeShapes=(aa,ca)=>({...aa,...ca})})(objectUtil||(objectUtil={}));const ZodParsedType=util$1$1.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),getParsedType=la=>{switch(typeof la){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return Number.isNaN(la)?ZodParsedType.nan:ZodParsedType.number;case"boolean":return ZodParsedType.boolean;case"function":return ZodParsedType.function;case"bigint":return ZodParsedType.bigint;case"symbol":return ZodParsedType.symbol;case"object":return Array.isArray(la)?ZodParsedType.array:la===null?ZodParsedType.null:la.then&&typeof la.then=="function"&&la.catch&&typeof la.catch=="function"?ZodParsedType.promise:typeof Map<"u"&&la instanceof Map?ZodParsedType.map:typeof Set<"u"&&la instanceof Set?ZodParsedType.set:typeof Date<"u"&&la instanceof Date?ZodParsedType.date:ZodParsedType.object;default:return ZodParsedType.unknown}},ZodIssueCode=util$1$1.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ZodError extends Error{get errors(){return this.issues}constructor(aa){super(),this.issues=[],this.addIssue=ua=>{this.issues=[...this.issues,ua]},this.addIssues=(ua=[])=>{this.issues=[...this.issues,...ua]};const ca=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,ca):this.__proto__=ca,this.name="ZodError",this.issues=aa}format(aa){const ca=aa||function(hl){return hl.message},ua={_errors:[]},Sa=hl=>{for(const pl of hl.issues)if(pl.code==="invalid_union")pl.unionErrors.map(Sa);else if(pl.code==="invalid_return_type")Sa(pl.returnTypeError);else if(pl.code==="invalid_arguments")Sa(pl.argumentsError);else if(pl.path.length===0)ua._errors.push(ca(pl));else{let ml=ua,gl=0;for(;gl<pl.path.length;){const wc=pl.path[gl];gl===pl.path.length-1?(ml[wc]=ml[wc]||{_errors:[]},ml[wc]._errors.push(ca(pl))):ml[wc]=ml[wc]||{_errors:[]},ml=ml[wc],gl++}}};return Sa(this),ua}static assert(aa){if(!(aa instanceof ZodError))throw new Error(`Not a ZodError: ${aa}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,util$1$1.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(aa=ca=>ca.message){const ca={},ua=[];for(const Sa of this.issues)if(Sa.path.length>0){const hl=Sa.path[0];ca[hl]=ca[hl]||[],ca[hl].push(aa(Sa))}else ua.push(aa(Sa));return{formErrors:ua,fieldErrors:ca}}get formErrors(){return this.flatten()}}ZodError.create=la=>new ZodError(la);const errorMap=(la,aa)=>{let ca;switch(la.code){case ZodIssueCode.invalid_type:la.received===ZodParsedType.undefined?ca="Required":ca=`Expected ${la.expected}, received ${la.received}`;break;case ZodIssueCode.invalid_literal:ca=`Invalid literal value, expected ${JSON.stringify(la.expected,util$1$1.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:ca=`Unrecognized key(s) in object: ${util$1$1.joinValues(la.keys,", ")}`;break;case ZodIssueCode.invalid_union:ca="Invalid input";break;case ZodIssueCode.invalid_union_discriminator:ca=`Invalid discriminator value. Expected ${util$1$1.joinValues(la.options)}`;break;case ZodIssueCode.invalid_enum_value:ca=`Invalid enum value. Expected ${util$1$1.joinValues(la.options)}, received '${la.received}'`;break;case ZodIssueCode.invalid_arguments:ca="Invalid function arguments";break;case ZodIssueCode.invalid_return_type:ca="Invalid function return type";break;case ZodIssueCode.invalid_date:ca="Invalid date";break;case ZodIssueCode.invalid_string:typeof la.validation=="object"?"includes"in la.validation?(ca=`Invalid input: must include "${la.validation.includes}"`,typeof la.validation.position=="number"&&(ca=`${ca} at one or more positions greater than or equal to ${la.validation.position}`)):"startsWith"in la.validation?ca=`Invalid input: must start with "${la.validation.startsWith}"`:"endsWith"in la.validation?ca=`Invalid input: must end with "${la.validation.endsWith}"`:util$1$1.assertNever(la.validation):la.validation!=="regex"?ca=`Invalid ${la.validation}`:ca="Invalid";break;case ZodIssueCode.too_small:la.type==="array"?ca=`Array must contain ${la.exact?"exactly":la.inclusive?"at least":"more than"} ${la.minimum} element(s)`:la.type==="string"?ca=`String must contain ${la.exact?"exactly":la.inclusive?"at least":"over"} ${la.minimum} character(s)`:la.type==="number"?ca=`Number must be ${la.exact?"exactly equal to ":la.inclusive?"greater than or equal to ":"greater than "}${la.minimum}`:la.type==="bigint"?ca=`Number must be ${la.exact?"exactly equal to ":la.inclusive?"greater than or equal to ":"greater than "}${la.minimum}`:la.type==="date"?ca=`Date must be ${la.exact?"exactly equal to ":la.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(la.minimum))}`:ca="Invalid input";break;case ZodIssueCode.too_big:la.type==="array"?ca=`Array must contain ${la.exact?"exactly":la.inclusive?"at most":"less than"} ${la.maximum} element(s)`:la.type==="string"?ca=`String must contain ${la.exact?"exactly":la.inclusive?"at most":"under"} ${la.maximum} character(s)`:la.type==="number"?ca=`Number must be ${la.exact?"exactly":la.inclusive?"less than or equal to":"less than"} ${la.maximum}`:la.type==="bigint"?ca=`BigInt must be ${la.exact?"exactly":la.inclusive?"less than or equal to":"less than"} ${la.maximum}`:la.type==="date"?ca=`Date must be ${la.exact?"exactly":la.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(la.maximum))}`:ca="Invalid input";break;case ZodIssueCode.custom:ca="Invalid input";break;case ZodIssueCode.invalid_intersection_types:ca="Intersection results could not be merged";break;case ZodIssueCode.not_multiple_of:ca=`Number must be a multiple of ${la.multipleOf}`;break;case ZodIssueCode.not_finite:ca="Number must be finite";break;default:ca=aa.defaultError,util$1$1.assertNever(la)}return{message:ca}};let overrideErrorMap=errorMap;function getErrorMap(){return overrideErrorMap}const makeIssue=la=>{const{data:aa,path:ca,errorMaps:ua,issueData:Sa}=la,hl=[...ca,...Sa.path||[]],pl={...Sa,path:hl};if(Sa.message!==void 0)return{...Sa,path:hl,message:Sa.message};let ml="";const gl=ua.filter(wc=>!!wc).slice().reverse();for(const wc of gl)ml=wc(pl,{data:aa,defaultError:ml}).message;return{...Sa,path:hl,message:ml}};function addIssueToContext(la,aa){const ca=getErrorMap(),ua=makeIssue({issueData:aa,data:la.data,path:la.path,errorMaps:[la.common.contextualErrorMap,la.schemaErrorMap,ca,ca===errorMap?void 0:errorMap].filter(Sa=>!!Sa)});la.common.issues.push(ua)}class ParseStatus{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(aa,ca){const ua=[];for(const Sa of ca){if(Sa.status==="aborted")return INVALID;Sa.status==="dirty"&&aa.dirty(),ua.push(Sa.value)}return{status:aa.value,value:ua}}static async mergeObjectAsync(aa,ca){const ua=[];for(const Sa of ca){const hl=await Sa.key,pl=await Sa.value;ua.push({key:hl,value:pl})}return ParseStatus.mergeObjectSync(aa,ua)}static mergeObjectSync(aa,ca){const ua={};for(const Sa of ca){const{key:hl,value:pl}=Sa;if(hl.status==="aborted"||pl.status==="aborted")return INVALID;hl.status==="dirty"&&aa.dirty(),pl.status==="dirty"&&aa.dirty(),hl.value!=="__proto__"&&(typeof pl.value<"u"||Sa.alwaysSet)&&(ua[hl.value]=pl.value)}return{status:aa.value,value:ua}}}const INVALID=Object.freeze({status:"aborted"}),DIRTY=la=>({status:"dirty",value:la}),OK=la=>({status:"valid",value:la}),isAborted=la=>la.status==="aborted",isDirty=la=>la.status==="dirty",isValid=la=>la.status==="valid",isAsync=la=>typeof Promise<"u"&&la instanceof Promise;var errorUtil;(function(la){la.errToObj=aa=>typeof aa=="string"?{message:aa}:aa||{},la.toString=aa=>typeof aa=="string"?aa:aa?.message})(errorUtil||(errorUtil={}));class ParseInputLazyPath{constructor(aa,ca,ua,Sa){this._cachedPath=[],this.parent=aa,this.data=ca,this._path=ua,this._key=Sa}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const handleResult=(la,aa)=>{if(isValid(aa))return{success:!0,data:aa.value};if(!la.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const ca=new ZodError(la.common.issues);return this._error=ca,this._error}}};function processCreateParams(la){if(!la)return{};const{errorMap:aa,invalid_type_error:ca,required_error:ua,description:Sa}=la;if(aa&&(ca||ua))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return aa?{errorMap:aa,description:Sa}:{errorMap:(hl,pl)=>{const{message:ml}=la;return hl.code==="invalid_enum_value"?{message:ml??pl.defaultError}:typeof pl.data>"u"?{message:ml??ua??pl.defaultError}:hl.code!=="invalid_type"?{message:pl.defaultError}:{message:ml??ca??pl.defaultError}},description:Sa}}class ZodType{get description(){return this._def.description}_getType(aa){return getParsedType(aa.data)}_getOrReturnCtx(aa,ca){return ca||{common:aa.parent.common,data:aa.data,parsedType:getParsedType(aa.data),schemaErrorMap:this._def.errorMap,path:aa.path,parent:aa.parent}}_processInputParams(aa){return{status:new ParseStatus,ctx:{common:aa.parent.common,data:aa.data,parsedType:getParsedType(aa.data),schemaErrorMap:this._def.errorMap,path:aa.path,parent:aa.parent}}}_parseSync(aa){const ca=this._parse(aa);if(isAsync(ca))throw new Error("Synchronous parse encountered promise.");return ca}_parseAsync(aa){const ca=this._parse(aa);return Promise.resolve(ca)}parse(aa,ca){const ua=this.safeParse(aa,ca);if(ua.success)return ua.data;throw ua.error}safeParse(aa,ca){const ua={common:{issues:[],async:ca?.async??!1,contextualErrorMap:ca?.errorMap},path:ca?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:aa,parsedType:getParsedType(aa)},Sa=this._parseSync({data:aa,path:ua.path,parent:ua});return handleResult(ua,Sa)}"~validate"(aa){const ca={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:aa,parsedType:getParsedType(aa)};if(!this["~standard"].async)try{const ua=this._parseSync({data:aa,path:[],parent:ca});return isValid(ua)?{value:ua.value}:{issues:ca.common.issues}}catch(ua){ua?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),ca.common={issues:[],async:!0}}return this._parseAsync({data:aa,path:[],parent:ca}).then(ua=>isValid(ua)?{value:ua.value}:{issues:ca.common.issues})}async parseAsync(aa,ca){const ua=await this.safeParseAsync(aa,ca);if(ua.success)return ua.data;throw ua.error}async safeParseAsync(aa,ca){const ua={common:{issues:[],contextualErrorMap:ca?.errorMap,async:!0},path:ca?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:aa,parsedType:getParsedType(aa)},Sa=this._parse({data:aa,path:ua.path,parent:ua}),hl=await(isAsync(Sa)?Sa:Promise.resolve(Sa));return handleResult(ua,hl)}refine(aa,ca){const ua=Sa=>typeof ca=="string"||typeof ca>"u"?{message:ca}:typeof ca=="function"?ca(Sa):ca;return this._refinement((Sa,hl)=>{const pl=aa(Sa),ml=()=>hl.addIssue({code:ZodIssueCode.custom,...ua(Sa)});return typeof Promise<"u"&&pl instanceof Promise?pl.then(gl=>gl?!0:(ml(),!1)):pl?!0:(ml(),!1)})}refinement(aa,ca){return this._refinement((ua,Sa)=>aa(ua)?!0:(Sa.addIssue(typeof ca=="function"?ca(ua,Sa):ca),!1))}_refinement(aa){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement:aa}})}superRefine(aa){return this._refinement(aa)}constructor(aa){this.spa=this.safeParseAsync,this._def=aa,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:ca=>this["~validate"](ca)}}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this)}promise(){return ZodPromise.create(this,this._def)}or(aa){return ZodUnion.create([this,aa],this._def)}and(aa){return ZodIntersection.create(this,aa,this._def)}transform(aa){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:aa}})}default(aa){const ca=typeof aa=="function"?aa:()=>aa;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:ca,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(aa){const ca=typeof aa=="function"?aa:()=>aa;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:ca,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(aa){const ca=this.constructor;return new ca({...this._def,description:aa})}pipe(aa){return ZodPipeline.create(this,aa)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const cuidRegex=/^c[^\s-]{8,}$/i,cuid2Regex=/^[0-9a-z]+$/,ulidRegex=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uuidRegex=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,nanoidRegex=/^[a-z0-9_-]{21}$/i,jwtRegex=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,durationRegex=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,emailRegex=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_emojiRegex="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let emojiRegex$2;const ipv4Regex=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4CidrRegex=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6Regex=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,ipv6CidrRegex=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64Regex=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64urlRegex=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,dateRegexSource="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",dateRegex=new RegExp(`^${dateRegexSource}$`);function timeRegexSource(la){let aa="[0-5]\\d";la.precision?aa=`${aa}\\.\\d{${la.precision}}`:la.precision==null&&(aa=`${aa}(\\.\\d+)?`);const ca=la.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${aa})${ca}`}function timeRegex(la){return new RegExp(`^${timeRegexSource(la)}$`)}function datetimeRegex(la){let aa=`${dateRegexSource}T${timeRegexSource(la)}`;const ca=[];return ca.push(la.local?"Z?":"Z"),la.offset&&ca.push("([+-]\\d{2}:?\\d{2})"),aa=`${aa}(${ca.join("|")})`,new RegExp(`^${aa}$`)}function isValidIP(la,aa){return!!((aa==="v4"||!aa)&&ipv4Regex.test(la)||(aa==="v6"||!aa)&&ipv6Regex.test(la))}function isValidJWT(la,aa){if(!jwtRegex.test(la))return!1;try{const[ca]=la.split(".");if(!ca)return!1;const ua=ca.replace(/-/g,"+").replace(/_/g,"/").padEnd(ca.length+(4-ca.length%4)%4,"="),Sa=JSON.parse(atob(ua));return!(typeof Sa!="object"||Sa===null||"typ"in Sa&&Sa?.typ!=="JWT"||!Sa.alg||aa&&Sa.alg!==aa)}catch{return!1}}function isValidCidr(la,aa){return!!((aa==="v4"||!aa)&&ipv4CidrRegex.test(la)||(aa==="v6"||!aa)&&ipv6CidrRegex.test(la))}class ZodString extends ZodType{_parse(aa){if(this._def.coerce&&(aa.data=String(aa.data)),this._getType(aa)!==ZodParsedType.string){const Sa=this._getOrReturnCtx(aa);return addIssueToContext(Sa,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:Sa.parsedType}),INVALID}const ca=new ParseStatus;let ua;for(const Sa of this._def.checks)if(Sa.kind==="min")aa.data.length<Sa.value&&(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.too_small,minimum:Sa.value,type:"string",inclusive:!0,exact:!1,message:Sa.message}),ca.dirty());else if(Sa.kind==="max")aa.data.length>Sa.value&&(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.too_big,maximum:Sa.value,type:"string",inclusive:!0,exact:!1,message:Sa.message}),ca.dirty());else if(Sa.kind==="length"){const hl=aa.data.length>Sa.value,pl=aa.data.length<Sa.value;(hl||pl)&&(ua=this._getOrReturnCtx(aa,ua),hl?addIssueToContext(ua,{code:ZodIssueCode.too_big,maximum:Sa.value,type:"string",inclusive:!0,exact:!0,message:Sa.message}):pl&&addIssueToContext(ua,{code:ZodIssueCode.too_small,minimum:Sa.value,type:"string",inclusive:!0,exact:!0,message:Sa.message}),ca.dirty())}else if(Sa.kind==="email")emailRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"email",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="emoji")emojiRegex$2||(emojiRegex$2=new RegExp(_emojiRegex,"u")),emojiRegex$2.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"emoji",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="uuid")uuidRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"uuid",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="nanoid")nanoidRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"nanoid",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="cuid")cuidRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"cuid",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="cuid2")cuid2Regex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"cuid2",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="ulid")ulidRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"ulid",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="url")try{new URL(aa.data)}catch{ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"url",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()}else Sa.kind==="regex"?(Sa.regex.lastIndex=0,Sa.regex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"regex",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty())):Sa.kind==="trim"?aa.data=aa.data.trim():Sa.kind==="includes"?aa.data.includes(Sa.value,Sa.position)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:{includes:Sa.value,position:Sa.position},message:Sa.message}),ca.dirty()):Sa.kind==="toLowerCase"?aa.data=aa.data.toLowerCase():Sa.kind==="toUpperCase"?aa.data=aa.data.toUpperCase():Sa.kind==="startsWith"?aa.data.startsWith(Sa.value)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:{startsWith:Sa.value},message:Sa.message}),ca.dirty()):Sa.kind==="endsWith"?aa.data.endsWith(Sa.value)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:{endsWith:Sa.value},message:Sa.message}),ca.dirty()):Sa.kind==="datetime"?datetimeRegex(Sa).test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:"datetime",message:Sa.message}),ca.dirty()):Sa.kind==="date"?dateRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:"date",message:Sa.message}),ca.dirty()):Sa.kind==="time"?timeRegex(Sa).test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:"time",message:Sa.message}),ca.dirty()):Sa.kind==="duration"?durationRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"duration",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="ip"?isValidIP(aa.data,Sa.version)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"ip",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="jwt"?isValidJWT(aa.data,Sa.alg)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"jwt",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="cidr"?isValidCidr(aa.data,Sa.version)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"cidr",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="base64"?base64Regex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"base64",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="base64url"?base64urlRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"base64url",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):util$1$1.assertNever(Sa);return{status:ca.value,value:aa.data}}_regex(aa,ca,ua){return this.refinement(Sa=>aa.test(Sa),{validation:ca,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(ua)})}_addCheck(aa){return new ZodString({...this._def,checks:[...this._def.checks,aa]})}email(aa){return this._addCheck({kind:"email",...errorUtil.errToObj(aa)})}url(aa){return this._addCheck({kind:"url",...errorUtil.errToObj(aa)})}emoji(aa){return this._addCheck({kind:"emoji",...errorUtil.errToObj(aa)})}uuid(aa){return this._addCheck({kind:"uuid",...errorUtil.errToObj(aa)})}nanoid(aa){return this._addCheck({kind:"nanoid",...errorUtil.errToObj(aa)})}cuid(aa){return this._addCheck({kind:"cuid",...errorUtil.errToObj(aa)})}cuid2(aa){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(aa)})}ulid(aa){return this._addCheck({kind:"ulid",...errorUtil.errToObj(aa)})}base64(aa){return this._addCheck({kind:"base64",...errorUtil.errToObj(aa)})}base64url(aa){return this._addCheck({kind:"base64url",...errorUtil.errToObj(aa)})}jwt(aa){return this._addCheck({kind:"jwt",...errorUtil.errToObj(aa)})}ip(aa){return this._addCheck({kind:"ip",...errorUtil.errToObj(aa)})}cidr(aa){return this._addCheck({kind:"cidr",...errorUtil.errToObj(aa)})}datetime(aa){return typeof aa=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:aa}):this._addCheck({kind:"datetime",precision:typeof aa?.precision>"u"?null:aa?.precision,offset:aa?.offset??!1,local:aa?.local??!1,...errorUtil.errToObj(aa?.message)})}date(aa){return this._addCheck({kind:"date",message:aa})}time(aa){return typeof aa=="string"?this._addCheck({kind:"time",precision:null,message:aa}):this._addCheck({kind:"time",precision:typeof aa?.precision>"u"?null:aa?.precision,...errorUtil.errToObj(aa?.message)})}duration(aa){return this._addCheck({kind:"duration",...errorUtil.errToObj(aa)})}regex(aa,ca){return this._addCheck({kind:"regex",regex:aa,...errorUtil.errToObj(ca)})}includes(aa,ca){return this._addCheck({kind:"includes",value:aa,position:ca?.position,...errorUtil.errToObj(ca?.message)})}startsWith(aa,ca){return this._addCheck({kind:"startsWith",value:aa,...errorUtil.errToObj(ca)})}endsWith(aa,ca){return this._addCheck({kind:"endsWith",value:aa,...errorUtil.errToObj(ca)})}min(aa,ca){return this._addCheck({kind:"min",value:aa,...errorUtil.errToObj(ca)})}max(aa,ca){return this._addCheck({kind:"max",value:aa,...errorUtil.errToObj(ca)})}length(aa,ca){return this._addCheck({kind:"length",value:aa,...errorUtil.errToObj(ca)})}nonempty(aa){return this.min(1,errorUtil.errToObj(aa))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(aa=>aa.kind==="datetime")}get isDate(){return!!this._def.checks.find(aa=>aa.kind==="date")}get isTime(){return!!this._def.checks.find(aa=>aa.kind==="time")}get isDuration(){return!!this._def.checks.find(aa=>aa.kind==="duration")}get isEmail(){return!!this._def.checks.find(aa=>aa.kind==="email")}get isURL(){return!!this._def.checks.find(aa=>aa.kind==="url")}get isEmoji(){return!!this._def.checks.find(aa=>aa.kind==="emoji")}get isUUID(){return!!this._def.checks.find(aa=>aa.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(aa=>aa.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(aa=>aa.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(aa=>aa.kind==="cuid2")}get isULID(){return!!this._def.checks.find(aa=>aa.kind==="ulid")}get isIP(){return!!this._def.checks.find(aa=>aa.kind==="ip")}get isCIDR(){return!!this._def.checks.find(aa=>aa.kind==="cidr")}get isBase64(){return!!this._def.checks.find(aa=>aa.kind==="base64")}get isBase64url(){return!!this._def.checks.find(aa=>aa.kind==="base64url")}get minLength(){let aa=null;for(const ca of this._def.checks)ca.kind==="min"&&(aa===null||ca.value>aa)&&(aa=ca.value);return aa}get maxLength(){let aa=null;for(const ca of this._def.checks)ca.kind==="max"&&(aa===null||ca.value<aa)&&(aa=ca.value);return aa}}ZodString.create=la=>new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:la?.coerce??!1,...processCreateParams(la)});function floatSafeRemainder(la,aa){const ca=(la.toString().split(".")[1]||"").length,ua=(aa.toString().split(".")[1]||"").length,Sa=ca>ua?ca:ua,hl=Number.parseInt(la.toFixed(Sa).replace(".","")),pl=Number.parseInt(aa.toFixed(Sa).replace(".",""));return hl%pl/10**Sa}class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(aa){if(this._def.coerce&&(aa.data=Number(aa.data)),this._getType(aa)!==ZodParsedType.number){const Sa=this._getOrReturnCtx(aa);return addIssueToContext(Sa,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:Sa.parsedType}),INVALID}let ca;const ua=new ParseStatus;for(const Sa of this._def.checks)Sa.kind==="int"?util$1$1.isInteger(aa.data)||(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:Sa.message}),ua.dirty()):Sa.kind==="min"?(Sa.inclusive?aa.data<Sa.value:aa.data<=Sa.value)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.too_small,minimum:Sa.value,type:"number",inclusive:Sa.inclusive,exact:!1,message:Sa.message}),ua.dirty()):Sa.kind==="max"?(Sa.inclusive?aa.data>Sa.value:aa.data>=Sa.value)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.too_big,maximum:Sa.value,type:"number",inclusive:Sa.inclusive,exact:!1,message:Sa.message}),ua.dirty()):Sa.kind==="multipleOf"?floatSafeRemainder(aa.data,Sa.value)!==0&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.not_multiple_of,multipleOf:Sa.value,message:Sa.message}),ua.dirty()):Sa.kind==="finite"?Number.isFinite(aa.data)||(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.not_finite,message:Sa.message}),ua.dirty()):util$1$1.assertNever(Sa);return{status:ua.value,value:aa.data}}gte(aa,ca){return this.setLimit("min",aa,!0,errorUtil.toString(ca))}gt(aa,ca){return this.setLimit("min",aa,!1,errorUtil.toString(ca))}lte(aa,ca){return this.setLimit("max",aa,!0,errorUtil.toString(ca))}lt(aa,ca){return this.setLimit("max",aa,!1,errorUtil.toString(ca))}setLimit(aa,ca,ua,Sa){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:aa,value:ca,inclusive:ua,message:errorUtil.toString(Sa)}]})}_addCheck(aa){return new ZodNumber({...this._def,checks:[...this._def.checks,aa]})}int(aa){return this._addCheck({kind:"int",message:errorUtil.toString(aa)})}positive(aa){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(aa)})}negative(aa){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(aa)})}nonpositive(aa){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(aa)})}nonnegative(aa){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(aa)})}multipleOf(aa,ca){return this._addCheck({kind:"multipleOf",value:aa,message:errorUtil.toString(ca)})}finite(aa){return this._addCheck({kind:"finite",message:errorUtil.toString(aa)})}safe(aa){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(aa)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(aa)})}get minValue(){let aa=null;for(const ca of this._def.checks)ca.kind==="min"&&(aa===null||ca.value>aa)&&(aa=ca.value);return aa}get maxValue(){let aa=null;for(const ca of this._def.checks)ca.kind==="max"&&(aa===null||ca.value<aa)&&(aa=ca.value);return aa}get isInt(){return!!this._def.checks.find(aa=>aa.kind==="int"||aa.kind==="multipleOf"&&util$1$1.isInteger(aa.value))}get isFinite(){let aa=null,ca=null;for(const ua of this._def.checks){if(ua.kind==="finite"||ua.kind==="int"||ua.kind==="multipleOf")return!0;ua.kind==="min"?(ca===null||ua.value>ca)&&(ca=ua.value):ua.kind==="max"&&(aa===null||ua.value<aa)&&(aa=ua.value)}return Number.isFinite(ca)&&Number.isFinite(aa)}}ZodNumber.create=la=>new ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:la?.coerce||!1,...processCreateParams(la)});class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(aa){if(this._def.coerce)try{aa.data=BigInt(aa.data)}catch{return this._getInvalidInput(aa)}if(this._getType(aa)!==ZodParsedType.bigint)return this._getInvalidInput(aa);let ca;const ua=new ParseStatus;for(const Sa of this._def.checks)Sa.kind==="min"?(Sa.inclusive?aa.data<Sa.value:aa.data<=Sa.value)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.too_small,type:"bigint",minimum:Sa.value,inclusive:Sa.inclusive,message:Sa.message}),ua.dirty()):Sa.kind==="max"?(Sa.inclusive?aa.data>Sa.value:aa.data>=Sa.value)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.too_big,type:"bigint",maximum:Sa.value,inclusive:Sa.inclusive,message:Sa.message}),ua.dirty()):Sa.kind==="multipleOf"?aa.data%Sa.value!==BigInt(0)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.not_multiple_of,multipleOf:Sa.value,message:Sa.message}),ua.dirty()):util$1$1.assertNever(Sa);return{status:ua.value,value:aa.data}}_getInvalidInput(aa){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:ca.parsedType}),INVALID}gte(aa,ca){return this.setLimit("min",aa,!0,errorUtil.toString(ca))}gt(aa,ca){return this.setLimit("min",aa,!1,errorUtil.toString(ca))}lte(aa,ca){return this.setLimit("max",aa,!0,errorUtil.toString(ca))}lt(aa,ca){return this.setLimit("max",aa,!1,errorUtil.toString(ca))}setLimit(aa,ca,ua,Sa){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:aa,value:ca,inclusive:ua,message:errorUtil.toString(Sa)}]})}_addCheck(aa){return new ZodBigInt({...this._def,checks:[...this._def.checks,aa]})}positive(aa){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:errorUtil.toString(aa)})}negative(aa){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:errorUtil.toString(aa)})}nonpositive(aa){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:errorUtil.toString(aa)})}nonnegative(aa){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:errorUtil.toString(aa)})}multipleOf(aa,ca){return this._addCheck({kind:"multipleOf",value:aa,message:errorUtil.toString(ca)})}get minValue(){let aa=null;for(const ca of this._def.checks)ca.kind==="min"&&(aa===null||ca.value>aa)&&(aa=ca.value);return aa}get maxValue(){let aa=null;for(const ca of this._def.checks)ca.kind==="max"&&(aa===null||ca.value<aa)&&(aa=ca.value);return aa}}ZodBigInt.create=la=>new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:la?.coerce??!1,...processCreateParams(la)});class ZodBoolean extends ZodType{_parse(aa){if(this._def.coerce&&(aa.data=!!aa.data),this._getType(aa)!==ZodParsedType.boolean){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodBoolean.create=la=>new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:la?.coerce||!1,...processCreateParams(la)});class ZodDate extends ZodType{_parse(aa){if(this._def.coerce&&(aa.data=new Date(aa.data)),this._getType(aa)!==ZodParsedType.date){const Sa=this._getOrReturnCtx(aa);return addIssueToContext(Sa,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:Sa.parsedType}),INVALID}if(Number.isNaN(aa.data.getTime())){const Sa=this._getOrReturnCtx(aa);return addIssueToContext(Sa,{code:ZodIssueCode.invalid_date}),INVALID}const ca=new ParseStatus;let ua;for(const Sa of this._def.checks)Sa.kind==="min"?aa.data.getTime()<Sa.value&&(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.too_small,message:Sa.message,inclusive:!0,exact:!1,minimum:Sa.value,type:"date"}),ca.dirty()):Sa.kind==="max"?aa.data.getTime()>Sa.value&&(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.too_big,message:Sa.message,inclusive:!0,exact:!1,maximum:Sa.value,type:"date"}),ca.dirty()):util$1$1.assertNever(Sa);return{status:ca.value,value:new Date(aa.data.getTime())}}_addCheck(aa){return new ZodDate({...this._def,checks:[...this._def.checks,aa]})}min(aa,ca){return this._addCheck({kind:"min",value:aa.getTime(),message:errorUtil.toString(ca)})}max(aa,ca){return this._addCheck({kind:"max",value:aa.getTime(),message:errorUtil.toString(ca)})}get minDate(){let aa=null;for(const ca of this._def.checks)ca.kind==="min"&&(aa===null||ca.value>aa)&&(aa=ca.value);return aa!=null?new Date(aa):null}get maxDate(){let aa=null;for(const ca of this._def.checks)ca.kind==="max"&&(aa===null||ca.value<aa)&&(aa=ca.value);return aa!=null?new Date(aa):null}}ZodDate.create=la=>new ZodDate({checks:[],coerce:la?.coerce||!1,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(la)});class ZodSymbol extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.symbol){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodSymbol.create=la=>new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(la)});class ZodUndefined extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.undefined){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodUndefined.create=la=>new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(la)});class ZodNull extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.null){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodNull.create=la=>new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(la)});class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(aa){return OK(aa.data)}}ZodAny.create=la=>new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(la)});class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(aa){return OK(aa.data)}}ZodUnknown.create=la=>new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(la)});class ZodNever extends ZodType{_parse(aa){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:ca.parsedType}),INVALID}}ZodNever.create=la=>new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(la)});class ZodVoid extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.undefined){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodVoid.create=la=>new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(la)});class ZodArray extends ZodType{_parse(aa){const{ctx:ca,status:ua}=this._processInputParams(aa),Sa=this._def;if(ca.parsedType!==ZodParsedType.array)return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ca.parsedType}),INVALID;if(Sa.exactLength!==null){const pl=ca.data.length>Sa.exactLength.value,ml=ca.data.length<Sa.exactLength.value;(pl||ml)&&(addIssueToContext(ca,{code:pl?ZodIssueCode.too_big:ZodIssueCode.too_small,minimum:ml?Sa.exactLength.value:void 0,maximum:pl?Sa.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Sa.exactLength.message}),ua.dirty())}if(Sa.minLength!==null&&ca.data.length<Sa.minLength.value&&(addIssueToContext(ca,{code:ZodIssueCode.too_small,minimum:Sa.minLength.value,type:"array",inclusive:!0,exact:!1,message:Sa.minLength.message}),ua.dirty()),Sa.maxLength!==null&&ca.data.length>Sa.maxLength.value&&(addIssueToContext(ca,{code:ZodIssueCode.too_big,maximum:Sa.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Sa.maxLength.message}),ua.dirty()),ca.common.async)return Promise.all([...ca.data].map((pl,ml)=>Sa.type._parseAsync(new ParseInputLazyPath(ca,pl,ca.path,ml)))).then(pl=>ParseStatus.mergeArray(ua,pl));const hl=[...ca.data].map((pl,ml)=>Sa.type._parseSync(new ParseInputLazyPath(ca,pl,ca.path,ml)));return ParseStatus.mergeArray(ua,hl)}get element(){return this._def.type}min(aa,ca){return new ZodArray({...this._def,minLength:{value:aa,message:errorUtil.toString(ca)}})}max(aa,ca){return new ZodArray({...this._def,maxLength:{value:aa,message:errorUtil.toString(ca)}})}length(aa,ca){return new ZodArray({...this._def,exactLength:{value:aa,message:errorUtil.toString(ca)}})}nonempty(aa){return this.min(1,aa)}}ZodArray.create=(la,aa)=>new ZodArray({type:la,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(aa)});function deepPartialify(la){if(la instanceof ZodObject){const aa={};for(const ca in la.shape){const ua=la.shape[ca];aa[ca]=ZodOptional.create(deepPartialify(ua))}return new ZodObject({...la._def,shape:()=>aa})}else return la instanceof ZodArray?new ZodArray({...la._def,type:deepPartialify(la.element)}):la instanceof ZodOptional?ZodOptional.create(deepPartialify(la.unwrap())):la instanceof ZodNullable?ZodNullable.create(deepPartialify(la.unwrap())):la instanceof ZodTuple?ZodTuple.create(la.items.map(aa=>deepPartialify(aa))):la}class ZodObject extends ZodType{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const aa=this._def.shape(),ca=util$1$1.objectKeys(aa);return this._cached={shape:aa,keys:ca},this._cached}_parse(aa){if(this._getType(aa)!==ZodParsedType.object){const gl=this._getOrReturnCtx(aa);return addIssueToContext(gl,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:gl.parsedType}),INVALID}const{status:ca,ctx:ua}=this._processInputParams(aa),{shape:Sa,keys:hl}=this._getCached(),pl=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip"))for(const gl in ua.data)hl.includes(gl)||pl.push(gl);const ml=[];for(const gl of hl){const wc=Sa[gl],xu=ua.data[gl];ml.push({key:{status:"valid",value:gl},value:wc._parse(new ParseInputLazyPath(ua,xu,ua.path,gl)),alwaysSet:gl in ua.data})}if(this._def.catchall instanceof ZodNever){const gl=this._def.unknownKeys;if(gl==="passthrough")for(const wc of pl)ml.push({key:{status:"valid",value:wc},value:{status:"valid",value:ua.data[wc]}});else if(gl==="strict")pl.length>0&&(addIssueToContext(ua,{code:ZodIssueCode.unrecognized_keys,keys:pl}),ca.dirty());else if(gl!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const gl=this._def.catchall;for(const wc of pl){const xu=ua.data[wc];ml.push({key:{status:"valid",value:wc},value:gl._parse(new ParseInputLazyPath(ua,xu,ua.path,wc)),alwaysSet:wc in ua.data})}}return ua.common.async?Promise.resolve().then(async()=>{const gl=[];for(const wc of ml){const xu=await wc.key,ff=await wc.value;gl.push({key:xu,value:ff,alwaysSet:wc.alwaysSet})}return gl}).then(gl=>ParseStatus.mergeObjectSync(ca,gl)):ParseStatus.mergeObjectSync(ca,ml)}get shape(){return this._def.shape()}strict(aa){return errorUtil.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...aa!==void 0?{errorMap:(ca,ua)=>{const Sa=this._def.errorMap?.(ca,ua).message??ua.defaultError;return ca.code==="unrecognized_keys"?{message:errorUtil.errToObj(aa).message??Sa}:{message:Sa}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(aa){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...aa})})}merge(aa){return new ZodObject({unknownKeys:aa._def.unknownKeys,catchall:aa._def.catchall,shape:()=>({...this._def.shape(),...aa._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject})}setKey(aa,ca){return this.augment({[aa]:ca})}catchall(aa){return new ZodObject({...this._def,catchall:aa})}pick(aa){const ca={};for(const ua of util$1$1.objectKeys(aa))aa[ua]&&this.shape[ua]&&(ca[ua]=this.shape[ua]);return new ZodObject({...this._def,shape:()=>ca})}omit(aa){const ca={};for(const ua of util$1$1.objectKeys(this.shape))aa[ua]||(ca[ua]=this.shape[ua]);return new ZodObject({...this._def,shape:()=>ca})}deepPartial(){return deepPartialify(this)}partial(aa){const ca={};for(const ua of util$1$1.objectKeys(this.shape)){const Sa=this.shape[ua];aa&&!aa[ua]?ca[ua]=Sa:ca[ua]=Sa.optional()}return new ZodObject({...this._def,shape:()=>ca})}required(aa){const ca={};for(const ua of util$1$1.objectKeys(this.shape))if(aa&&!aa[ua])ca[ua]=this.shape[ua];else{let Sa=this.shape[ua];for(;Sa instanceof ZodOptional;)Sa=Sa._def.innerType;ca[ua]=Sa}return new ZodObject({...this._def,shape:()=>ca})}keyof(){return createZodEnum(util$1$1.objectKeys(this.shape))}}ZodObject.create=(la,aa)=>new ZodObject({shape:()=>la,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(aa)});ZodObject.strictCreate=(la,aa)=>new ZodObject({shape:()=>la,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(aa)});ZodObject.lazycreate=(la,aa)=>new ZodObject({shape:la,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(aa)});class ZodUnion extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa),ua=this._def.options;function Sa(hl){for(const ml of hl)if(ml.result.status==="valid")return ml.result;for(const ml of hl)if(ml.result.status==="dirty")return ca.common.issues.push(...ml.ctx.common.issues),ml.result;const pl=hl.map(ml=>new ZodError(ml.ctx.common.issues));return addIssueToContext(ca,{code:ZodIssueCode.invalid_union,unionErrors:pl}),INVALID}if(ca.common.async)return Promise.all(ua.map(async hl=>{const pl={...ca,common:{...ca.common,issues:[]},parent:null};return{result:await hl._parseAsync({data:ca.data,path:ca.path,parent:pl}),ctx:pl}})).then(Sa);{let hl;const pl=[];for(const gl of ua){const wc={...ca,common:{...ca.common,issues:[]},parent:null},xu=gl._parseSync({data:ca.data,path:ca.path,parent:wc});if(xu.status==="valid")return xu;xu.status==="dirty"&&!hl&&(hl={result:xu,ctx:wc}),wc.common.issues.length&&pl.push(wc.common.issues)}if(hl)return ca.common.issues.push(...hl.ctx.common.issues),hl.result;const ml=pl.map(gl=>new ZodError(gl));return addIssueToContext(ca,{code:ZodIssueCode.invalid_union,unionErrors:ml}),INVALID}}get options(){return this._def.options}}ZodUnion.create=(la,aa)=>new ZodUnion({options:la,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(aa)});const getDiscriminator=la=>la instanceof ZodLazy?getDiscriminator(la.schema):la instanceof ZodEffects?getDiscriminator(la.innerType()):la instanceof ZodLiteral?[la.value]:la instanceof ZodEnum?la.options:la instanceof ZodNativeEnum?util$1$1.objectValues(la.enum):la instanceof ZodDefault?getDiscriminator(la._def.innerType):la instanceof ZodUndefined?[void 0]:la instanceof ZodNull?[null]:la instanceof ZodOptional?[void 0,...getDiscriminator(la.unwrap())]:la instanceof ZodNullable?[null,...getDiscriminator(la.unwrap())]:la instanceof ZodBranded||la instanceof ZodReadonly?getDiscriminator(la.unwrap()):la instanceof ZodCatch?getDiscriminator(la._def.innerType):[];class ZodDiscriminatedUnion extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa);if(ca.parsedType!==ZodParsedType.object)return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ca.parsedType}),INVALID;const ua=this.discriminator,Sa=ca.data[ua],hl=this.optionsMap.get(Sa);return hl?ca.common.async?hl._parseAsync({data:ca.data,path:ca.path,parent:ca}):hl._parseSync({data:ca.data,path:ca.path,parent:ca}):(addIssueToContext(ca,{code:ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[ua]}),INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(aa,ca,ua){const Sa=new Map;for(const hl of ca){const pl=getDiscriminator(hl.shape[aa]);if(!pl.length)throw new Error(`A discriminator value for key \`${aa}\` could not be extracted from all schema options`);for(const ml of pl){if(Sa.has(ml))throw new Error(`Discriminator property ${String(aa)} has duplicate value ${String(ml)}`);Sa.set(ml,hl)}}return new ZodDiscriminatedUnion({typeName:ZodFirstPartyTypeKind.ZodDiscriminatedUnion,discriminator:aa,options:ca,optionsMap:Sa,...processCreateParams(ua)})}}function mergeValues(la,aa){const ca=getParsedType(la),ua=getParsedType(aa);if(la===aa)return{valid:!0,data:la};if(ca===ZodParsedType.object&&ua===ZodParsedType.object){const Sa=util$1$1.objectKeys(aa),hl=util$1$1.objectKeys(la).filter(ml=>Sa.indexOf(ml)!==-1),pl={...la,...aa};for(const ml of hl){const gl=mergeValues(la[ml],aa[ml]);if(!gl.valid)return{valid:!1};pl[ml]=gl.data}return{valid:!0,data:pl}}else if(ca===ZodParsedType.array&&ua===ZodParsedType.array){if(la.length!==aa.length)return{valid:!1};const Sa=[];for(let hl=0;hl<la.length;hl++){const pl=la[hl],ml=aa[hl],gl=mergeValues(pl,ml);if(!gl.valid)return{valid:!1};Sa.push(gl.data)}return{valid:!0,data:Sa}}else return ca===ZodParsedType.date&&ua===ZodParsedType.date&&+la==+aa?{valid:!0,data:la}:{valid:!1}}class ZodIntersection extends ZodType{_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa),Sa=(hl,pl)=>{if(isAborted(hl)||isAborted(pl))return INVALID;const ml=mergeValues(hl.value,pl.value);return ml.valid?((isDirty(hl)||isDirty(pl))&&ca.dirty(),{status:ca.value,value:ml.data}):(addIssueToContext(ua,{code:ZodIssueCode.invalid_intersection_types}),INVALID)};return ua.common.async?Promise.all([this._def.left._parseAsync({data:ua.data,path:ua.path,parent:ua}),this._def.right._parseAsync({data:ua.data,path:ua.path,parent:ua})]).then(([hl,pl])=>Sa(hl,pl)):Sa(this._def.left._parseSync({data:ua.data,path:ua.path,parent:ua}),this._def.right._parseSync({data:ua.data,path:ua.path,parent:ua}))}}ZodIntersection.create=(la,aa,ca)=>new ZodIntersection({left:la,right:aa,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(ca)});class ZodTuple extends ZodType{_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.parsedType!==ZodParsedType.array)return addIssueToContext(ua,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ua.parsedType}),INVALID;if(ua.data.length<this._def.items.length)return addIssueToContext(ua,{code:ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),INVALID;!this._def.rest&&ua.data.length>this._def.items.length&&(addIssueToContext(ua,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ca.dirty());const Sa=[...ua.data].map((hl,pl)=>{const ml=this._def.items[pl]||this._def.rest;return ml?ml._parse(new ParseInputLazyPath(ua,hl,ua.path,pl)):null}).filter(hl=>!!hl);return ua.common.async?Promise.all(Sa).then(hl=>ParseStatus.mergeArray(ca,hl)):ParseStatus.mergeArray(ca,Sa)}get items(){return this._def.items}rest(aa){return new ZodTuple({...this._def,rest:aa})}}ZodTuple.create=(la,aa)=>{if(!Array.isArray(la))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:la,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(aa)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.parsedType!==ZodParsedType.object)return addIssueToContext(ua,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ua.parsedType}),INVALID;const Sa=[],hl=this._def.keyType,pl=this._def.valueType;for(const ml in ua.data)Sa.push({key:hl._parse(new ParseInputLazyPath(ua,ml,ua.path,ml)),value:pl._parse(new ParseInputLazyPath(ua,ua.data[ml],ua.path,ml)),alwaysSet:ml in ua.data});return ua.common.async?ParseStatus.mergeObjectAsync(ca,Sa):ParseStatus.mergeObjectSync(ca,Sa)}get element(){return this._def.valueType}static create(aa,ca,ua){return ca instanceof ZodType?new ZodRecord({keyType:aa,valueType:ca,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(ua)}):new ZodRecord({keyType:ZodString.create(),valueType:aa,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(ca)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.parsedType!==ZodParsedType.map)return addIssueToContext(ua,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:ua.parsedType}),INVALID;const Sa=this._def.keyType,hl=this._def.valueType,pl=[...ua.data.entries()].map(([ml,gl],wc)=>({key:Sa._parse(new ParseInputLazyPath(ua,ml,ua.path,[wc,"key"])),value:hl._parse(new ParseInputLazyPath(ua,gl,ua.path,[wc,"value"]))}));if(ua.common.async){const ml=new Map;return Promise.resolve().then(async()=>{for(const gl of pl){const wc=await gl.key,xu=await gl.value;if(wc.status==="aborted"||xu.status==="aborted")return INVALID;(wc.status==="dirty"||xu.status==="dirty")&&ca.dirty(),ml.set(wc.value,xu.value)}return{status:ca.value,value:ml}})}else{const ml=new Map;for(const gl of pl){const wc=gl.key,xu=gl.value;if(wc.status==="aborted"||xu.status==="aborted")return INVALID;(wc.status==="dirty"||xu.status==="dirty")&&ca.dirty(),ml.set(wc.value,xu.value)}return{status:ca.value,value:ml}}}}ZodMap.create=(la,aa,ca)=>new ZodMap({valueType:aa,keyType:la,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(ca)});class ZodSet extends ZodType{_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.parsedType!==ZodParsedType.set)return addIssueToContext(ua,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:ua.parsedType}),INVALID;const Sa=this._def;Sa.minSize!==null&&ua.data.size<Sa.minSize.value&&(addIssueToContext(ua,{code:ZodIssueCode.too_small,minimum:Sa.minSize.value,type:"set",inclusive:!0,exact:!1,message:Sa.minSize.message}),ca.dirty()),Sa.maxSize!==null&&ua.data.size>Sa.maxSize.value&&(addIssueToContext(ua,{code:ZodIssueCode.too_big,maximum:Sa.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Sa.maxSize.message}),ca.dirty());const hl=this._def.valueType;function pl(gl){const wc=new Set;for(const xu of gl){if(xu.status==="aborted")return INVALID;xu.status==="dirty"&&ca.dirty(),wc.add(xu.value)}return{status:ca.value,value:wc}}const ml=[...ua.data.values()].map((gl,wc)=>hl._parse(new ParseInputLazyPath(ua,gl,ua.path,wc)));return ua.common.async?Promise.all(ml).then(gl=>pl(gl)):pl(ml)}min(aa,ca){return new ZodSet({...this._def,minSize:{value:aa,message:errorUtil.toString(ca)}})}max(aa,ca){return new ZodSet({...this._def,maxSize:{value:aa,message:errorUtil.toString(ca)}})}size(aa,ca){return this.min(aa,ca).max(aa,ca)}nonempty(aa){return this.min(1,aa)}}ZodSet.create=(la,aa)=>new ZodSet({valueType:la,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(aa)});class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(aa){const{ctx:ca}=this._processInputParams(aa);return this._def.getter()._parse({data:ca.data,path:ca.path,parent:ca})}}ZodLazy.create=(la,aa)=>new ZodLazy({getter:la,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(aa)});class ZodLiteral extends ZodType{_parse(aa){if(aa.data!==this._def.value){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{received:ca.data,code:ZodIssueCode.invalid_literal,expected:this._def.value}),INVALID}return{status:"valid",value:aa.data}}get value(){return this._def.value}}ZodLiteral.create=(la,aa)=>new ZodLiteral({value:la,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(aa)});function createZodEnum(la,aa){return new ZodEnum({values:la,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(aa)})}class ZodEnum extends ZodType{_parse(aa){if(typeof aa.data!="string"){const ca=this._getOrReturnCtx(aa),ua=this._def.values;return addIssueToContext(ca,{expected:util$1$1.joinValues(ua),received:ca.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(aa.data)){const ca=this._getOrReturnCtx(aa),ua=this._def.values;return addIssueToContext(ca,{received:ca.data,code:ZodIssueCode.invalid_enum_value,options:ua}),INVALID}return OK(aa.data)}get options(){return this._def.values}get enum(){const aa={};for(const ca of this._def.values)aa[ca]=ca;return aa}get Values(){const aa={};for(const ca of this._def.values)aa[ca]=ca;return aa}get Enum(){const aa={};for(const ca of this._def.values)aa[ca]=ca;return aa}extract(aa,ca=this._def){return ZodEnum.create(aa,{...this._def,...ca})}exclude(aa,ca=this._def){return ZodEnum.create(this.options.filter(ua=>!aa.includes(ua)),{...this._def,...ca})}}ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{_parse(aa){const ca=util$1$1.getValidEnumValues(this._def.values),ua=this._getOrReturnCtx(aa);if(ua.parsedType!==ZodParsedType.string&&ua.parsedType!==ZodParsedType.number){const Sa=util$1$1.objectValues(ca);return addIssueToContext(ua,{expected:util$1$1.joinValues(Sa),received:ua.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(util$1$1.getValidEnumValues(this._def.values))),!this._cache.has(aa.data)){const Sa=util$1$1.objectValues(ca);return addIssueToContext(ua,{received:ua.data,code:ZodIssueCode.invalid_enum_value,options:Sa}),INVALID}return OK(aa.data)}get enum(){return this._def.values}}ZodNativeEnum.create=(la,aa)=>new ZodNativeEnum({values:la,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(aa)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(aa){const{ctx:ca}=this._processInputParams(aa);if(ca.parsedType!==ZodParsedType.promise&&ca.common.async===!1)return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:ca.parsedType}),INVALID;const ua=ca.parsedType===ZodParsedType.promise?ca.data:Promise.resolve(ca.data);return OK(ua.then(Sa=>this._def.type.parseAsync(Sa,{path:ca.path,errorMap:ca.common.contextualErrorMap})))}}ZodPromise.create=(la,aa)=>new ZodPromise({type:la,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(aa)});class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ZodFirstPartyTypeKind.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa),Sa=this._def.effect||null,hl={addIssue:pl=>{addIssueToContext(ua,pl),pl.fatal?ca.abort():ca.dirty()},get path(){return ua.path}};if(hl.addIssue=hl.addIssue.bind(hl),Sa.type==="preprocess"){const pl=Sa.transform(ua.data,hl);if(ua.common.async)return Promise.resolve(pl).then(async ml=>{if(ca.value==="aborted")return INVALID;const gl=await this._def.schema._parseAsync({data:ml,path:ua.path,parent:ua});return gl.status==="aborted"?INVALID:gl.status==="dirty"||ca.value==="dirty"?DIRTY(gl.value):gl});{if(ca.value==="aborted")return INVALID;const ml=this._def.schema._parseSync({data:pl,path:ua.path,parent:ua});return ml.status==="aborted"?INVALID:ml.status==="dirty"||ca.value==="dirty"?DIRTY(ml.value):ml}}if(Sa.type==="refinement"){const pl=ml=>{const gl=Sa.refinement(ml,hl);if(ua.common.async)return Promise.resolve(gl);if(gl instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return ml};if(ua.common.async===!1){const ml=this._def.schema._parseSync({data:ua.data,path:ua.path,parent:ua});return ml.status==="aborted"?INVALID:(ml.status==="dirty"&&ca.dirty(),pl(ml.value),{status:ca.value,value:ml.value})}else return this._def.schema._parseAsync({data:ua.data,path:ua.path,parent:ua}).then(ml=>ml.status==="aborted"?INVALID:(ml.status==="dirty"&&ca.dirty(),pl(ml.value).then(()=>({status:ca.value,value:ml.value}))))}if(Sa.type==="transform")if(ua.common.async===!1){const pl=this._def.schema._parseSync({data:ua.data,path:ua.path,parent:ua});if(!isValid(pl))return INVALID;const ml=Sa.transform(pl.value,hl);if(ml instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:ca.value,value:ml}}else return this._def.schema._parseAsync({data:ua.data,path:ua.path,parent:ua}).then(pl=>isValid(pl)?Promise.resolve(Sa.transform(pl.value,hl)).then(ml=>({status:ca.value,value:ml})):INVALID);util$1$1.assertNever(Sa)}}ZodEffects.create=(la,aa,ca)=>new ZodEffects({schema:la,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:aa,...processCreateParams(ca)});ZodEffects.createWithPreprocess=(la,aa,ca)=>new ZodEffects({schema:aa,effect:{type:"preprocess",transform:la},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(ca)});class ZodOptional extends ZodType{_parse(aa){return this._getType(aa)===ZodParsedType.undefined?OK(void 0):this._def.innerType._parse(aa)}unwrap(){return this._def.innerType}}ZodOptional.create=(la,aa)=>new ZodOptional({innerType:la,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(aa)});class ZodNullable extends ZodType{_parse(aa){return this._getType(aa)===ZodParsedType.null?OK(null):this._def.innerType._parse(aa)}unwrap(){return this._def.innerType}}ZodNullable.create=(la,aa)=>new ZodNullable({innerType:la,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(aa)});class ZodDefault extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa);let ua=ca.data;return ca.parsedType===ZodParsedType.undefined&&(ua=this._def.defaultValue()),this._def.innerType._parse({data:ua,path:ca.path,parent:ca})}removeDefault(){return this._def.innerType}}ZodDefault.create=(la,aa)=>new ZodDefault({innerType:la,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof aa.default=="function"?aa.default:()=>aa.default,...processCreateParams(aa)});class ZodCatch extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa),ua={...ca,common:{...ca.common,issues:[]}},Sa=this._def.innerType._parse({data:ua.data,path:ua.path,parent:{...ua}});return isAsync(Sa)?Sa.then(hl=>({status:"valid",value:hl.status==="valid"?hl.value:this._def.catchValue({get error(){return new ZodError(ua.common.issues)},input:ua.data})})):{status:"valid",value:Sa.status==="valid"?Sa.value:this._def.catchValue({get error(){return new ZodError(ua.common.issues)},input:ua.data})}}removeCatch(){return this._def.innerType}}ZodCatch.create=(la,aa)=>new ZodCatch({innerType:la,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof aa.catch=="function"?aa.catch:()=>aa.catch,...processCreateParams(aa)});class ZodNaN extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.nan){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:ca.parsedType}),INVALID}return{status:"valid",value:aa.data}}}ZodNaN.create=la=>new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(la)});class ZodBranded extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa),ua=ca.data;return this._def.type._parse({data:ua,path:ca.path,parent:ca})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.common.async)return(async()=>{const Sa=await this._def.in._parseAsync({data:ua.data,path:ua.path,parent:ua});return Sa.status==="aborted"?INVALID:Sa.status==="dirty"?(ca.dirty(),DIRTY(Sa.value)):this._def.out._parseAsync({data:Sa.value,path:ua.path,parent:ua})})();{const Sa=this._def.in._parseSync({data:ua.data,path:ua.path,parent:ua});return Sa.status==="aborted"?INVALID:Sa.status==="dirty"?(ca.dirty(),{status:"dirty",value:Sa.value}):this._def.out._parseSync({data:Sa.value,path:ua.path,parent:ua})}}static create(aa,ca){return new ZodPipeline({in:aa,out:ca,typeName:ZodFirstPartyTypeKind.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(aa){const ca=this._def.innerType._parse(aa),ua=Sa=>(isValid(Sa)&&(Sa.value=Object.freeze(Sa.value)),Sa);return isAsync(ca)?ca.then(Sa=>ua(Sa)):ua(ca)}unwrap(){return this._def.innerType}}ZodReadonly.create=(la,aa)=>new ZodReadonly({innerType:la,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(aa)});var ZodFirstPartyTypeKind;(function(la){la.ZodString="ZodString",la.ZodNumber="ZodNumber",la.ZodNaN="ZodNaN",la.ZodBigInt="ZodBigInt",la.ZodBoolean="ZodBoolean",la.ZodDate="ZodDate",la.ZodSymbol="ZodSymbol",la.ZodUndefined="ZodUndefined",la.ZodNull="ZodNull",la.ZodAny="ZodAny",la.ZodUnknown="ZodUnknown",la.ZodNever="ZodNever",la.ZodVoid="ZodVoid",la.ZodArray="ZodArray",la.ZodObject="ZodObject",la.ZodUnion="ZodUnion",la.ZodDiscriminatedUnion="ZodDiscriminatedUnion",la.ZodIntersection="ZodIntersection",la.ZodTuple="ZodTuple",la.ZodRecord="ZodRecord",la.ZodMap="ZodMap",la.ZodSet="ZodSet",la.ZodFunction="ZodFunction",la.ZodLazy="ZodLazy",la.ZodLiteral="ZodLiteral",la.ZodEnum="ZodEnum",la.ZodEffects="ZodEffects",la.ZodNativeEnum="ZodNativeEnum",la.ZodOptional="ZodOptional",la.ZodNullable="ZodNullable",la.ZodDefault="ZodDefault",la.ZodCatch="ZodCatch",la.ZodPromise="ZodPromise",la.ZodBranded="ZodBranded",la.ZodPipeline="ZodPipeline",la.ZodReadonly="ZodReadonly"})(ZodFirstPartyTypeKind||(ZodFirstPartyTypeKind={}));const stringType=ZodString.create,numberType=ZodNumber.create,booleanType=ZodBoolean.create,anyType=ZodAny.create;ZodNever.create;const arrayType=ZodArray.create,objectType=ZodObject.create;ZodUnion.create;const discriminatedUnionType=ZodDiscriminatedUnion.create;ZodIntersection.create;ZodTuple.create;const recordType=ZodRecord.create,literalType=ZodLiteral.create,enumType=ZodEnum.create;ZodPromise.create;ZodOptional.create;ZodNullable.create;objectType({service:objectType({port:numberType(),host:stringType().optional(),httpFileHandling:booleanType().default(!1)}).default({port:8080,host:"localhost",httpFileHandling:!1}),store:discriminatedUnionType("type",[objectType({type:literalType("postgres"),host:stringType().default("localhost"),username:stringType().default("postgres"),password:stringType().default("postgres"),dbname:stringType().default("postgres"),port:numberType().default(5432)}),objectType({type:literalType("mysql"),host:stringType().default("localhost"),username:stringType().default("mysql"),password:stringType().default("mysql"),dbname:stringType().default("mysql"),port:numberType().default(3306)}),objectType({type:literalType("sqlite"),dbname:stringType().optional()})]).optional(),integrations:objectType({host:stringType(),username:stringType().optional(),password:stringType().optional(),connections:recordType(stringType(),stringType())}).optional(),graphql:objectType({enabled:booleanType().default(!1)}).optional(),rbac:objectType({enabled:booleanType().default(!1),roles:arrayType(stringType()).optional()}).optional(),auth:objectType({enabled:booleanType().default(!1)}).optional(),auditTrail:objectType({enabled:booleanType().default(!1)}).optional(),monitoring:objectType({enabled:booleanType().default(!1)}).optional(),authentication:discriminatedUnionType("service",[objectType({service:literalType("okta"),superuserEmail:stringType(),domain:stringType(),cookieDomain:stringType().optional(),authServer:stringType().default("default"),clientSecret:stringType(),apiToken:stringType(),scope:stringType().default("openid offline_access"),cookieTtlMs:numberType().default(12096e5),introspect:booleanType().default(!0),authorizeRedirectUrl:stringType(),clientUrl:stringType(),roleClaim:stringType().default("roles"),defaultRole:stringType().default("user"),clientId:stringType()}),objectType({service:literalType("cognito"),superuserEmail:stringType(),superuserPassword:stringType().optional(),isIdentityStore:booleanType().default(!1),userPoolId:stringType(),clientId:stringType(),whitelistEnabled:booleanType().default(!1),disableUserSessions:booleanType().default(!1)})]).optional(),openapi:arrayType(objectType({specUrl:stringType(),baseUrl:stringType().optional(),name:stringType()})).optional(),logging:objectType({level:enumType(["error","warn","info","debug"]).default("info")}).optional(),retry:arrayType(objectType({name:stringType(),attempts:numberType(),backoff:objectType({strategy:enumType(["linear","exponential","constant"]),delay:numberType(),magnitude:enumType(["seconds","milliSeconds","minutes"]),factor:numberType()})})).optional()});function isMonitoringEnabled(){var la;return((la=void 0)===null||la===void 0?void 0:la.enabled)===!0}class TtlCache{constructor(aa){this.store=new Map,this.ttlMs=aa}set(aa,ca,ua){ua=ua||this.ttlMs;const Sa=Date.now()+ua;return this.store.set(aa,{value:ca,expireTime:Sa}),setTimeout(()=>{const hl=this.store.get(aa);hl&&hl.expireTime===Sa&&this.store.delete(aa)},ua),ca}get(aa){const ca=this.store.get(aa);if(ca!==void 0){if(Date.now()>ca.expireTime){this.store.delete(aa);return}return ca.value}}delete(aa){this.store.delete(aa)}}const AdminUserId="00000000-0000-0000-0000-000000000000";function isAuthEnabled(){var la;return((la=void 0)===null||la===void 0?void 0:la.enabled)==!0}function isRbacEnabled(){var la;return isAuthEnabled()&&((la=void 0)===null||la===void 0?void 0:la.enabled)==!0}const AdminSession={sessionId:crypto.randomUUID(),userId:AdminUserId},LocalEnv=new Map;function getLocalEnv$1(la,aa){const ca=LocalEnv.get(la);if(ca!==void 0)return ca;if(typeof E$a<"u"&&E$a.env){const ua=E$a.env[la];if(ua!==void 0)return ua}return aa}const PathAttributeName="__path__",PathAttributeNameQuery="__path__?",ParentAttributeName="__parent__",DeletedFlagAttributeName="__is_deleted__";function asUnauthMessage(la){return typeof la=="string"?la:`User not authorised to perform '${la.opr}' on ${la.entity}`}class UnauthorisedError extends Error{constructor(aa,ca){super(aa?asUnauthMessage(aa):"User not authorised to perform this operation",ca)}}let BadRequestError$2=class extends Error{constructor(la,aa){super(la?asUnauthMessage(la):"BadRequest",aa)}};class UserNotFoundError extends Error{constructor(aa,ca){super(aa||"User not found",ca)}}class UserNotConfirmedError extends Error{constructor(aa,ca){super(aa||"User account is not confirmed. Please check your email for verification code.",ca)}}class PasswordResetRequiredError extends Error{constructor(aa,ca){super(aa||"Password reset is required for this account",ca)}}class TooManyRequestsError extends Error{constructor(aa,ca){super(aa||"Too many requests. Please try again later.",ca)}}class InvalidParameterError extends Error{constructor(aa,ca){super(aa||"Invalid parameters provided",ca)}}class ExpiredCodeError extends Error{constructor(aa,ca){super(aa||"The verification code has expired. Please request a new one.",ca)}}class CodeMismatchError extends Error{constructor(aa,ca){super(aa||"The verification code is incorrect. Please try again.",ca)}}let FetchModuleFn;function setModuleFnFetcher(la){FetchModuleFn=la}const ForceReadPermFlag="f-r-f",FlowSuspensionTag="--";var SubGraphType;(function(la){la[la.EVENT=0]="EVENT",la[la.IF=1]="IF",la[la.FOR_EACH=2]="FOR_EACH",la[la.DELETE=3]="DELETE",la[la.PURGE=4]="PURGE",la[la.RETURN=5]="RETURN",la[la.AGENT=6]="AGENT",la[la.THROW=7]="THROW",la[la.NONE=8]="NONE"})(SubGraphType||(SubGraphType={}));class ExecGraph{static isEmpty(aa){return Object.is(ExecGraph.Empty,aa)}constructor(){this.parentGraph=void 0,this.hasAgentsFlag=!1,this.loopBody=!1,this.rootNodes=new Array,this.subGraphs=new Array}pushNode(aa){return this.rootNodes.push(aa),this}pushSubGraph(aa){return aa.parentGraph=this,this.subGraphs.push(aa),this}getSubGraphsLength(){return this.subGraphs.length}getLastSubGraphIndex(){return this.subGraphs.length-1}fetchSubGraphAt(aa){if(aa<0||aa>=this.subGraphs.length)throw new Error(`Invalid sub-graph index: ${aa}`);return this.subGraphs[aa]}fetchForEachBodySubGraph(){return this.fetchSubGraphAt(this.subGraphs.length-1)}fetchIfConsequentSubGraph(){return this.subGraphs.length>=2?this.fetchSubGraphAt(this.subGraphs.length-2):this.fetchSubGraphAt(this.subGraphs.length-1)}fetchIfAlternativeSubGraph(){if(this.subGraphs.length>=2)return this.fetchSubGraphAt(this.subGraphs.length-1)}getRootNodes(){return this.rootNodes}setActiveModuleName(aa){return aa&&(this.activeModuleName=aa),this}getActiveModuleName(){return this.activeModuleName}getParentGraph(){return this.parentGraph}setEventName(aa){return aa!==void 0&&(this.eventName=aa),this}getEventName(){return this.eventName}setHasAgents(aa){return this.hasAgentsFlag=aa,this.parentGraph&&this.parentGraph.setHasAgents(aa),this}hasAgents(){return this.hasAgentsFlag}canCache(){return!this.hasAgentsFlag}setIsLoopBody(){return this.loopBody=!0,this}isLoopBody(){return this.loopBody}asObject(){const aa=new Array;return this.rootNodes.forEach(ca=>{var ua;const Sa=ca.asObject();if(ca.subGraphIndex>=0){const hl=this.subGraphs[ca.subGraphIndex],pl=hl.asObject();if(ca.subGraphType==SubGraphType.FOR_EACH){const ml=ca.code;Sa.var=(ua=ml.pattern.forEach)===null||ua===void 0?void 0:ua.var,Sa.source=pl,Sa.body=hl.fetchForEachBodySubGraph().asObject()}else if(ca.subGraphType==SubGraphType.IF){Sa.condition=pl,Sa.body=hl.fetchIfConsequentSubGraph().asObject();const ml=hl.fetchIfAlternativeSubGraph();ml&&(Sa.else=ml.asObject())}else Sa.subGraph=pl}aa.push(Sa)}),aa}}ExecGraph.Empty=new ExecGraph;var RuntimeModeTag;(function(la){la[la.DEV=0]="DEV",la[la.PROD=1]="PROD",la[la.TEST=2]="TEST",la[la.INIT_SCHEMA=3]="INIT_SCHEMA",la[la.RUN_MIGRATION=4]="RUN_MIGRATION",la[la.UNDO_MIGRATION=5]="UNDO_MIGRATION",la[la.GENERATE_MIGRATION=6]="GENERATE_MIGRATION"})(RuntimeModeTag||(RuntimeModeTag={}));RuntimeModeTag.DEV;let DailyRotateFile,winston;isNodeEnv&&(await __vitePreload(()=>import("./index-D4z_hbl0-FxTZk5b8.js"),__vite__mapDeps([12,11,13,1,3,9,5,14,15,16,17,18,19,10,20,21,4])).then(la=>la.i).then(la=>{DailyRotateFile=la.default}),await __vitePreload(()=>import("./winston-CtxF18qc-D2kpfBfi.js"),__vite__mapDeps([22,11,13,1,3,9,5,14,15,16,18,19,10,20,21,17,4])).then(la=>la.w).then(la=>{winston=la.default}));let logger$1;function getLogLevel(){var la;return isNodeEnv&&E$a.env&&E$a.env.DEBUG?"debug":((la=void 0)===null||la===void 0?void 0:la.level)||"info"}function initializeLogger(){const la=getLogLevel();if(isNodeEnv){const aa=new DailyRotateFile({level:la,filename:"logs/app-%DATE%.log",datePattern:"YYYY-MM-DD",maxSize:"20m",maxFiles:"7d"});logger$1=winston.createLogger({level:la,format:winston.format.combine(winston.format.timestamp(),winston.format.printf(({timestamp:ca,level:ua,message:Sa})=>`[${ca}] ${ua}: ${Sa}`)),transports:[aa]})}else{let aa=function(ca){return ua=>{console.log(`${ca}: ${ua}`)}};logger$1={debug:aa("DEBUG"),info:aa("INFO"),warn:aa("WARN"),error:aa("ERROR")}}}initializeLogger();const PlannerInstructions=`Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.
16177
+ `))}async function introspect(la){let aa=[];const ca=await parse$2$1(`module Temp workflow Test {${la}}`);if(maybeRaiseParserErrors(ca),isWorkflowDefinition(ca.parseResult.value.defs[0]))aa=introspectHelper(ca.parseResult.value.defs[0].statements);else throw new Error("Failed to parse statements");return aa}function introspectHelper(la){const aa=[];return la.forEach(ca=>{aa.push(introspectStatement(ca))}),aa}function introspectStatement(la){const aa=introspectPattern(la.pattern),ca=firstAliasSpec(la);ca&&(ca.alias?aa.setAlias(ca.alias):ca.aliases.length>0&&aa.setAliases(ca.aliases));const ua=firstCatchSpec(la);return ua&&ua.handlers.forEach(Sa=>{aa.addHandler(Sa.except,introspectStatement(Sa.stmt))}),aa}function introspectPattern(la){let aa;if(la.crudMap?(isQueryPattern(la)?aa=introspectQueryPattern(la.crudMap):aa=introspectCreatePattern(la.crudMap),la.crudMap.into&&(aa=introspectInto(la.crudMap.into,aa))):la.expr?aa=introspectExpression(la.expr):la.forEach?aa=introspectForEach(la.forEach):la.if?aa=introspectIf(la.if):la.delete?aa=introspectDelete(la.delete):la.return?aa=introspectReturn(la.return):la.fullTextSearch&&(aa=introspectFullTextSearch(la.fullTextSearch)),aa)return aa;throw new Error(`Failed to introspect pattern: ${la}`)}function introspectInto(la,aa){return la.entries.forEach(ca=>{ca.attribute&&aa.addInto(ca.alias,ca.attribute)}),aa}function isQueryPattern(la){if(la.crudMap){const aa=la.crudMap,ca=aa.name.endsWith(QuerySuffix);return!ca&&aa.body?aa.body.attributes.length>0&&aa.body.attributes.every(ua=>ua.name.endsWith(QuerySuffix)):ca}return!1}function introspectGroup(la){return new GroupExpressionPattern(introspectExpression(la.ge))}function introspectNegExpr(la){return new NegExpressionPattern(introspectExpression(la.ne))}function introspectNotExpr(la){return new NotExpressionPattern(introspectExpression(la.ne))}function introspectPrimExpr(la){if(isLiteral(la))return introspectLiteral(la);if(isGroup(la))return introspectGroup(la);if(isNegExpr(la))return introspectNegExpr(la);if(isNotExpr(la))return introspectNotExpr(la);throw new Error(`Not a PrimExpr - ${la}`)}function introspectExpression(la){if(la!==void 0){if(isPrimExpr(la))return introspectPrimExpr(la);if(la.$cstNode)return new ExpressionPattern(la.$cstNode.text)}throw new Error("Failed to introspect expression - "+la)}function introspectQueryPattern(la){var aa;if(la){const ca=new CrudPattern(la.name);return(aa=la.body)===null||aa===void 0||aa.attributes.forEach(ua=>{ca.addAttribute(ua.name,introspectExpression(ua.value),ua.op)}),la.relationships.forEach(ua=>{ca.addRelationship(ua.name,introspectPattern(ua.pattern))}),ca.isCreate=!1,ca.isQueryUpdate=!1,ca.isQuery=!0,ca}throw new Error(`Failed to introspect query-pattern: ${la}`)}function introspectCreatePattern(la){var aa;if(la){const ca=new CrudPattern(la.name);ca.isCreate=!1,ca.isQuery=!1;let ua=!1;return(aa=la.body)===null||aa===void 0||aa.attributes.forEach(Sa=>{!ua&&Sa.name.endsWith(QuerySuffix)&&(ua=!0),ca.addAttribute(Sa.name,introspectExpression(Sa.value),Sa.op)}),la.relationships.forEach(Sa=>{ca.addRelationship(Sa.name,introspectPattern(Sa.pattern))}),ca.isQueryUpdate=ua,ua?(ca.isCreate=!1,ca.isQuery=!1):(ca.isCreate=!0,ca.isQuery=!1),ca}throw new Error(`Failed to introspect create-pattern: ${la}`)}function asFnCallPattern(la){return new FunctionCallPattern(la.name,la.args.map(aa=>isExpr(aa)?introspectExpression(aa):introspectLiteral(aa)))}function introspectLiteral(la){if(la.id)return LiteralPattern.Id(la.id);if(la.num)return LiteralPattern.Number(la.num);if(la.ref)return LiteralPattern.Reference(la.ref);if(la.str!==void 0)return LiteralPattern.String(la.str);if(la.bool)return LiteralPattern.Boolean(la.bool=="true");if(la.fnCall)return asFnCallPattern(la.fnCall);if(la.asyncFnCall)return asFnCallPattern(la.asyncFnCall.fnCall).asAsync();if(la.array)return LiteralPattern.Array(la.array.vals.map(aa=>introspectStatement(aa)));if(la.map)return introspectMapLiteral(la.map);throw new Error(`Invalid literal - ${la}`)}function introspectMapLiteral(la){const aa=new Map;return la.entries.forEach(ca=>{aa.set(ca.key,introspectExpression(ca.value))}),LiteralPattern.Map(aa)}function introspectForEach(la){const aa=new ForEachPattern(la.var,introspectPattern(la.src));return la.statements.forEach(ca=>{aa.addPattern(introspectStatement(ca))}),aa}function introspectIf(la){const aa=new IfPattern(introspectExpression(la.cond));return la.statements.forEach(ca=>{aa.addPattern(introspectStatement(ca))}),la.else&&aa.setElse(la.else.statements.map(ca=>introspectStatement(ca))),aa}function introspectDelete(la){return new DeletePattern(introspectPattern(la.pattern))}function introspectReturn(la){return new ReturnPattern(introspectPattern(la.pattern))}function introspectFullTextSearch(la){let aa;return la.options&&(aa=introspectMapLiteral(la.options)),new FullTextSearchPattern(la.name,introspectLiteral(la.query),aa)}var util$1$1;(function(la){la.assertEqual=Sa=>{};function aa(Sa){}la.assertIs=aa;function ca(Sa){throw new Error}la.assertNever=ca,la.arrayToEnum=Sa=>{const hl={};for(const pl of Sa)hl[pl]=pl;return hl},la.getValidEnumValues=Sa=>{const hl=la.objectKeys(Sa).filter(ml=>typeof Sa[Sa[ml]]!="number"),pl={};for(const ml of hl)pl[ml]=Sa[ml];return la.objectValues(pl)},la.objectValues=Sa=>la.objectKeys(Sa).map(function(hl){return Sa[hl]}),la.objectKeys=typeof Object.keys=="function"?Sa=>Object.keys(Sa):Sa=>{const hl=[];for(const pl in Sa)Object.prototype.hasOwnProperty.call(Sa,pl)&&hl.push(pl);return hl},la.find=(Sa,hl)=>{for(const pl of Sa)if(hl(pl))return pl},la.isInteger=typeof Number.isInteger=="function"?Sa=>Number.isInteger(Sa):Sa=>typeof Sa=="number"&&Number.isFinite(Sa)&&Math.floor(Sa)===Sa;function ua(Sa,hl=" | "){return Sa.map(pl=>typeof pl=="string"?`'${pl}'`:pl).join(hl)}la.joinValues=ua,la.jsonStringifyReplacer=(Sa,hl)=>typeof hl=="bigint"?hl.toString():hl})(util$1$1||(util$1$1={}));var objectUtil;(function(la){la.mergeShapes=(aa,ca)=>({...aa,...ca})})(objectUtil||(objectUtil={}));const ZodParsedType=util$1$1.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),getParsedType=la=>{switch(typeof la){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return Number.isNaN(la)?ZodParsedType.nan:ZodParsedType.number;case"boolean":return ZodParsedType.boolean;case"function":return ZodParsedType.function;case"bigint":return ZodParsedType.bigint;case"symbol":return ZodParsedType.symbol;case"object":return Array.isArray(la)?ZodParsedType.array:la===null?ZodParsedType.null:la.then&&typeof la.then=="function"&&la.catch&&typeof la.catch=="function"?ZodParsedType.promise:typeof Map<"u"&&la instanceof Map?ZodParsedType.map:typeof Set<"u"&&la instanceof Set?ZodParsedType.set:typeof Date<"u"&&la instanceof Date?ZodParsedType.date:ZodParsedType.object;default:return ZodParsedType.unknown}},ZodIssueCode=util$1$1.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ZodError extends Error{get errors(){return this.issues}constructor(aa){super(),this.issues=[],this.addIssue=ua=>{this.issues=[...this.issues,ua]},this.addIssues=(ua=[])=>{this.issues=[...this.issues,...ua]};const ca=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,ca):this.__proto__=ca,this.name="ZodError",this.issues=aa}format(aa){const ca=aa||function(hl){return hl.message},ua={_errors:[]},Sa=hl=>{for(const pl of hl.issues)if(pl.code==="invalid_union")pl.unionErrors.map(Sa);else if(pl.code==="invalid_return_type")Sa(pl.returnTypeError);else if(pl.code==="invalid_arguments")Sa(pl.argumentsError);else if(pl.path.length===0)ua._errors.push(ca(pl));else{let ml=ua,gl=0;for(;gl<pl.path.length;){const wc=pl.path[gl];gl===pl.path.length-1?(ml[wc]=ml[wc]||{_errors:[]},ml[wc]._errors.push(ca(pl))):ml[wc]=ml[wc]||{_errors:[]},ml=ml[wc],gl++}}};return Sa(this),ua}static assert(aa){if(!(aa instanceof ZodError))throw new Error(`Not a ZodError: ${aa}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,util$1$1.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(aa=ca=>ca.message){const ca={},ua=[];for(const Sa of this.issues)if(Sa.path.length>0){const hl=Sa.path[0];ca[hl]=ca[hl]||[],ca[hl].push(aa(Sa))}else ua.push(aa(Sa));return{formErrors:ua,fieldErrors:ca}}get formErrors(){return this.flatten()}}ZodError.create=la=>new ZodError(la);const errorMap=(la,aa)=>{let ca;switch(la.code){case ZodIssueCode.invalid_type:la.received===ZodParsedType.undefined?ca="Required":ca=`Expected ${la.expected}, received ${la.received}`;break;case ZodIssueCode.invalid_literal:ca=`Invalid literal value, expected ${JSON.stringify(la.expected,util$1$1.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:ca=`Unrecognized key(s) in object: ${util$1$1.joinValues(la.keys,", ")}`;break;case ZodIssueCode.invalid_union:ca="Invalid input";break;case ZodIssueCode.invalid_union_discriminator:ca=`Invalid discriminator value. Expected ${util$1$1.joinValues(la.options)}`;break;case ZodIssueCode.invalid_enum_value:ca=`Invalid enum value. Expected ${util$1$1.joinValues(la.options)}, received '${la.received}'`;break;case ZodIssueCode.invalid_arguments:ca="Invalid function arguments";break;case ZodIssueCode.invalid_return_type:ca="Invalid function return type";break;case ZodIssueCode.invalid_date:ca="Invalid date";break;case ZodIssueCode.invalid_string:typeof la.validation=="object"?"includes"in la.validation?(ca=`Invalid input: must include "${la.validation.includes}"`,typeof la.validation.position=="number"&&(ca=`${ca} at one or more positions greater than or equal to ${la.validation.position}`)):"startsWith"in la.validation?ca=`Invalid input: must start with "${la.validation.startsWith}"`:"endsWith"in la.validation?ca=`Invalid input: must end with "${la.validation.endsWith}"`:util$1$1.assertNever(la.validation):la.validation!=="regex"?ca=`Invalid ${la.validation}`:ca="Invalid";break;case ZodIssueCode.too_small:la.type==="array"?ca=`Array must contain ${la.exact?"exactly":la.inclusive?"at least":"more than"} ${la.minimum} element(s)`:la.type==="string"?ca=`String must contain ${la.exact?"exactly":la.inclusive?"at least":"over"} ${la.minimum} character(s)`:la.type==="number"?ca=`Number must be ${la.exact?"exactly equal to ":la.inclusive?"greater than or equal to ":"greater than "}${la.minimum}`:la.type==="bigint"?ca=`Number must be ${la.exact?"exactly equal to ":la.inclusive?"greater than or equal to ":"greater than "}${la.minimum}`:la.type==="date"?ca=`Date must be ${la.exact?"exactly equal to ":la.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(la.minimum))}`:ca="Invalid input";break;case ZodIssueCode.too_big:la.type==="array"?ca=`Array must contain ${la.exact?"exactly":la.inclusive?"at most":"less than"} ${la.maximum} element(s)`:la.type==="string"?ca=`String must contain ${la.exact?"exactly":la.inclusive?"at most":"under"} ${la.maximum} character(s)`:la.type==="number"?ca=`Number must be ${la.exact?"exactly":la.inclusive?"less than or equal to":"less than"} ${la.maximum}`:la.type==="bigint"?ca=`BigInt must be ${la.exact?"exactly":la.inclusive?"less than or equal to":"less than"} ${la.maximum}`:la.type==="date"?ca=`Date must be ${la.exact?"exactly":la.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(la.maximum))}`:ca="Invalid input";break;case ZodIssueCode.custom:ca="Invalid input";break;case ZodIssueCode.invalid_intersection_types:ca="Intersection results could not be merged";break;case ZodIssueCode.not_multiple_of:ca=`Number must be a multiple of ${la.multipleOf}`;break;case ZodIssueCode.not_finite:ca="Number must be finite";break;default:ca=aa.defaultError,util$1$1.assertNever(la)}return{message:ca}};let overrideErrorMap=errorMap;function getErrorMap(){return overrideErrorMap}const makeIssue=la=>{const{data:aa,path:ca,errorMaps:ua,issueData:Sa}=la,hl=[...ca,...Sa.path||[]],pl={...Sa,path:hl};if(Sa.message!==void 0)return{...Sa,path:hl,message:Sa.message};let ml="";const gl=ua.filter(wc=>!!wc).slice().reverse();for(const wc of gl)ml=wc(pl,{data:aa,defaultError:ml}).message;return{...Sa,path:hl,message:ml}};function addIssueToContext(la,aa){const ca=getErrorMap(),ua=makeIssue({issueData:aa,data:la.data,path:la.path,errorMaps:[la.common.contextualErrorMap,la.schemaErrorMap,ca,ca===errorMap?void 0:errorMap].filter(Sa=>!!Sa)});la.common.issues.push(ua)}class ParseStatus{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(aa,ca){const ua=[];for(const Sa of ca){if(Sa.status==="aborted")return INVALID;Sa.status==="dirty"&&aa.dirty(),ua.push(Sa.value)}return{status:aa.value,value:ua}}static async mergeObjectAsync(aa,ca){const ua=[];for(const Sa of ca){const hl=await Sa.key,pl=await Sa.value;ua.push({key:hl,value:pl})}return ParseStatus.mergeObjectSync(aa,ua)}static mergeObjectSync(aa,ca){const ua={};for(const Sa of ca){const{key:hl,value:pl}=Sa;if(hl.status==="aborted"||pl.status==="aborted")return INVALID;hl.status==="dirty"&&aa.dirty(),pl.status==="dirty"&&aa.dirty(),hl.value!=="__proto__"&&(typeof pl.value<"u"||Sa.alwaysSet)&&(ua[hl.value]=pl.value)}return{status:aa.value,value:ua}}}const INVALID=Object.freeze({status:"aborted"}),DIRTY=la=>({status:"dirty",value:la}),OK=la=>({status:"valid",value:la}),isAborted=la=>la.status==="aborted",isDirty=la=>la.status==="dirty",isValid=la=>la.status==="valid",isAsync=la=>typeof Promise<"u"&&la instanceof Promise;var errorUtil;(function(la){la.errToObj=aa=>typeof aa=="string"?{message:aa}:aa||{},la.toString=aa=>typeof aa=="string"?aa:aa?.message})(errorUtil||(errorUtil={}));class ParseInputLazyPath{constructor(aa,ca,ua,Sa){this._cachedPath=[],this.parent=aa,this.data=ca,this._path=ua,this._key=Sa}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const handleResult=(la,aa)=>{if(isValid(aa))return{success:!0,data:aa.value};if(!la.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const ca=new ZodError(la.common.issues);return this._error=ca,this._error}}};function processCreateParams(la){if(!la)return{};const{errorMap:aa,invalid_type_error:ca,required_error:ua,description:Sa}=la;if(aa&&(ca||ua))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return aa?{errorMap:aa,description:Sa}:{errorMap:(hl,pl)=>{const{message:ml}=la;return hl.code==="invalid_enum_value"?{message:ml??pl.defaultError}:typeof pl.data>"u"?{message:ml??ua??pl.defaultError}:hl.code!=="invalid_type"?{message:pl.defaultError}:{message:ml??ca??pl.defaultError}},description:Sa}}class ZodType{get description(){return this._def.description}_getType(aa){return getParsedType(aa.data)}_getOrReturnCtx(aa,ca){return ca||{common:aa.parent.common,data:aa.data,parsedType:getParsedType(aa.data),schemaErrorMap:this._def.errorMap,path:aa.path,parent:aa.parent}}_processInputParams(aa){return{status:new ParseStatus,ctx:{common:aa.parent.common,data:aa.data,parsedType:getParsedType(aa.data),schemaErrorMap:this._def.errorMap,path:aa.path,parent:aa.parent}}}_parseSync(aa){const ca=this._parse(aa);if(isAsync(ca))throw new Error("Synchronous parse encountered promise.");return ca}_parseAsync(aa){const ca=this._parse(aa);return Promise.resolve(ca)}parse(aa,ca){const ua=this.safeParse(aa,ca);if(ua.success)return ua.data;throw ua.error}safeParse(aa,ca){const ua={common:{issues:[],async:ca?.async??!1,contextualErrorMap:ca?.errorMap},path:ca?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:aa,parsedType:getParsedType(aa)},Sa=this._parseSync({data:aa,path:ua.path,parent:ua});return handleResult(ua,Sa)}"~validate"(aa){const ca={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:aa,parsedType:getParsedType(aa)};if(!this["~standard"].async)try{const ua=this._parseSync({data:aa,path:[],parent:ca});return isValid(ua)?{value:ua.value}:{issues:ca.common.issues}}catch(ua){ua?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),ca.common={issues:[],async:!0}}return this._parseAsync({data:aa,path:[],parent:ca}).then(ua=>isValid(ua)?{value:ua.value}:{issues:ca.common.issues})}async parseAsync(aa,ca){const ua=await this.safeParseAsync(aa,ca);if(ua.success)return ua.data;throw ua.error}async safeParseAsync(aa,ca){const ua={common:{issues:[],contextualErrorMap:ca?.errorMap,async:!0},path:ca?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:aa,parsedType:getParsedType(aa)},Sa=this._parse({data:aa,path:ua.path,parent:ua}),hl=await(isAsync(Sa)?Sa:Promise.resolve(Sa));return handleResult(ua,hl)}refine(aa,ca){const ua=Sa=>typeof ca=="string"||typeof ca>"u"?{message:ca}:typeof ca=="function"?ca(Sa):ca;return this._refinement((Sa,hl)=>{const pl=aa(Sa),ml=()=>hl.addIssue({code:ZodIssueCode.custom,...ua(Sa)});return typeof Promise<"u"&&pl instanceof Promise?pl.then(gl=>gl?!0:(ml(),!1)):pl?!0:(ml(),!1)})}refinement(aa,ca){return this._refinement((ua,Sa)=>aa(ua)?!0:(Sa.addIssue(typeof ca=="function"?ca(ua,Sa):ca),!1))}_refinement(aa){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement:aa}})}superRefine(aa){return this._refinement(aa)}constructor(aa){this.spa=this.safeParseAsync,this._def=aa,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:ca=>this["~validate"](ca)}}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this)}promise(){return ZodPromise.create(this,this._def)}or(aa){return ZodUnion.create([this,aa],this._def)}and(aa){return ZodIntersection.create(this,aa,this._def)}transform(aa){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:aa}})}default(aa){const ca=typeof aa=="function"?aa:()=>aa;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:ca,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(aa){const ca=typeof aa=="function"?aa:()=>aa;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:ca,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(aa){const ca=this.constructor;return new ca({...this._def,description:aa})}pipe(aa){return ZodPipeline.create(this,aa)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const cuidRegex=/^c[^\s-]{8,}$/i,cuid2Regex=/^[0-9a-z]+$/,ulidRegex=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uuidRegex=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,nanoidRegex=/^[a-z0-9_-]{21}$/i,jwtRegex=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,durationRegex=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,emailRegex=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_emojiRegex="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let emojiRegex$2;const ipv4Regex=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4CidrRegex=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6Regex=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,ipv6CidrRegex=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64Regex=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64urlRegex=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,dateRegexSource="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",dateRegex=new RegExp(`^${dateRegexSource}$`);function timeRegexSource(la){let aa="[0-5]\\d";la.precision?aa=`${aa}\\.\\d{${la.precision}}`:la.precision==null&&(aa=`${aa}(\\.\\d+)?`);const ca=la.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${aa})${ca}`}function timeRegex(la){return new RegExp(`^${timeRegexSource(la)}$`)}function datetimeRegex(la){let aa=`${dateRegexSource}T${timeRegexSource(la)}`;const ca=[];return ca.push(la.local?"Z?":"Z"),la.offset&&ca.push("([+-]\\d{2}:?\\d{2})"),aa=`${aa}(${ca.join("|")})`,new RegExp(`^${aa}$`)}function isValidIP(la,aa){return!!((aa==="v4"||!aa)&&ipv4Regex.test(la)||(aa==="v6"||!aa)&&ipv6Regex.test(la))}function isValidJWT(la,aa){if(!jwtRegex.test(la))return!1;try{const[ca]=la.split(".");if(!ca)return!1;const ua=ca.replace(/-/g,"+").replace(/_/g,"/").padEnd(ca.length+(4-ca.length%4)%4,"="),Sa=JSON.parse(atob(ua));return!(typeof Sa!="object"||Sa===null||"typ"in Sa&&Sa?.typ!=="JWT"||!Sa.alg||aa&&Sa.alg!==aa)}catch{return!1}}function isValidCidr(la,aa){return!!((aa==="v4"||!aa)&&ipv4CidrRegex.test(la)||(aa==="v6"||!aa)&&ipv6CidrRegex.test(la))}class ZodString extends ZodType{_parse(aa){if(this._def.coerce&&(aa.data=String(aa.data)),this._getType(aa)!==ZodParsedType.string){const Sa=this._getOrReturnCtx(aa);return addIssueToContext(Sa,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:Sa.parsedType}),INVALID}const ca=new ParseStatus;let ua;for(const Sa of this._def.checks)if(Sa.kind==="min")aa.data.length<Sa.value&&(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.too_small,minimum:Sa.value,type:"string",inclusive:!0,exact:!1,message:Sa.message}),ca.dirty());else if(Sa.kind==="max")aa.data.length>Sa.value&&(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.too_big,maximum:Sa.value,type:"string",inclusive:!0,exact:!1,message:Sa.message}),ca.dirty());else if(Sa.kind==="length"){const hl=aa.data.length>Sa.value,pl=aa.data.length<Sa.value;(hl||pl)&&(ua=this._getOrReturnCtx(aa,ua),hl?addIssueToContext(ua,{code:ZodIssueCode.too_big,maximum:Sa.value,type:"string",inclusive:!0,exact:!0,message:Sa.message}):pl&&addIssueToContext(ua,{code:ZodIssueCode.too_small,minimum:Sa.value,type:"string",inclusive:!0,exact:!0,message:Sa.message}),ca.dirty())}else if(Sa.kind==="email")emailRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"email",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="emoji")emojiRegex$2||(emojiRegex$2=new RegExp(_emojiRegex,"u")),emojiRegex$2.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"emoji",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="uuid")uuidRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"uuid",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="nanoid")nanoidRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"nanoid",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="cuid")cuidRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"cuid",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="cuid2")cuid2Regex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"cuid2",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="ulid")ulidRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"ulid",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty());else if(Sa.kind==="url")try{new URL(aa.data)}catch{ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"url",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()}else Sa.kind==="regex"?(Sa.regex.lastIndex=0,Sa.regex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"regex",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty())):Sa.kind==="trim"?aa.data=aa.data.trim():Sa.kind==="includes"?aa.data.includes(Sa.value,Sa.position)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:{includes:Sa.value,position:Sa.position},message:Sa.message}),ca.dirty()):Sa.kind==="toLowerCase"?aa.data=aa.data.toLowerCase():Sa.kind==="toUpperCase"?aa.data=aa.data.toUpperCase():Sa.kind==="startsWith"?aa.data.startsWith(Sa.value)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:{startsWith:Sa.value},message:Sa.message}),ca.dirty()):Sa.kind==="endsWith"?aa.data.endsWith(Sa.value)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:{endsWith:Sa.value},message:Sa.message}),ca.dirty()):Sa.kind==="datetime"?datetimeRegex(Sa).test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:"datetime",message:Sa.message}),ca.dirty()):Sa.kind==="date"?dateRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:"date",message:Sa.message}),ca.dirty()):Sa.kind==="time"?timeRegex(Sa).test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.invalid_string,validation:"time",message:Sa.message}),ca.dirty()):Sa.kind==="duration"?durationRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"duration",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="ip"?isValidIP(aa.data,Sa.version)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"ip",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="jwt"?isValidJWT(aa.data,Sa.alg)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"jwt",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="cidr"?isValidCidr(aa.data,Sa.version)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"cidr",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="base64"?base64Regex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"base64",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):Sa.kind==="base64url"?base64urlRegex.test(aa.data)||(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{validation:"base64url",code:ZodIssueCode.invalid_string,message:Sa.message}),ca.dirty()):util$1$1.assertNever(Sa);return{status:ca.value,value:aa.data}}_regex(aa,ca,ua){return this.refinement(Sa=>aa.test(Sa),{validation:ca,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(ua)})}_addCheck(aa){return new ZodString({...this._def,checks:[...this._def.checks,aa]})}email(aa){return this._addCheck({kind:"email",...errorUtil.errToObj(aa)})}url(aa){return this._addCheck({kind:"url",...errorUtil.errToObj(aa)})}emoji(aa){return this._addCheck({kind:"emoji",...errorUtil.errToObj(aa)})}uuid(aa){return this._addCheck({kind:"uuid",...errorUtil.errToObj(aa)})}nanoid(aa){return this._addCheck({kind:"nanoid",...errorUtil.errToObj(aa)})}cuid(aa){return this._addCheck({kind:"cuid",...errorUtil.errToObj(aa)})}cuid2(aa){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(aa)})}ulid(aa){return this._addCheck({kind:"ulid",...errorUtil.errToObj(aa)})}base64(aa){return this._addCheck({kind:"base64",...errorUtil.errToObj(aa)})}base64url(aa){return this._addCheck({kind:"base64url",...errorUtil.errToObj(aa)})}jwt(aa){return this._addCheck({kind:"jwt",...errorUtil.errToObj(aa)})}ip(aa){return this._addCheck({kind:"ip",...errorUtil.errToObj(aa)})}cidr(aa){return this._addCheck({kind:"cidr",...errorUtil.errToObj(aa)})}datetime(aa){return typeof aa=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:aa}):this._addCheck({kind:"datetime",precision:typeof aa?.precision>"u"?null:aa?.precision,offset:aa?.offset??!1,local:aa?.local??!1,...errorUtil.errToObj(aa?.message)})}date(aa){return this._addCheck({kind:"date",message:aa})}time(aa){return typeof aa=="string"?this._addCheck({kind:"time",precision:null,message:aa}):this._addCheck({kind:"time",precision:typeof aa?.precision>"u"?null:aa?.precision,...errorUtil.errToObj(aa?.message)})}duration(aa){return this._addCheck({kind:"duration",...errorUtil.errToObj(aa)})}regex(aa,ca){return this._addCheck({kind:"regex",regex:aa,...errorUtil.errToObj(ca)})}includes(aa,ca){return this._addCheck({kind:"includes",value:aa,position:ca?.position,...errorUtil.errToObj(ca?.message)})}startsWith(aa,ca){return this._addCheck({kind:"startsWith",value:aa,...errorUtil.errToObj(ca)})}endsWith(aa,ca){return this._addCheck({kind:"endsWith",value:aa,...errorUtil.errToObj(ca)})}min(aa,ca){return this._addCheck({kind:"min",value:aa,...errorUtil.errToObj(ca)})}max(aa,ca){return this._addCheck({kind:"max",value:aa,...errorUtil.errToObj(ca)})}length(aa,ca){return this._addCheck({kind:"length",value:aa,...errorUtil.errToObj(ca)})}nonempty(aa){return this.min(1,errorUtil.errToObj(aa))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(aa=>aa.kind==="datetime")}get isDate(){return!!this._def.checks.find(aa=>aa.kind==="date")}get isTime(){return!!this._def.checks.find(aa=>aa.kind==="time")}get isDuration(){return!!this._def.checks.find(aa=>aa.kind==="duration")}get isEmail(){return!!this._def.checks.find(aa=>aa.kind==="email")}get isURL(){return!!this._def.checks.find(aa=>aa.kind==="url")}get isEmoji(){return!!this._def.checks.find(aa=>aa.kind==="emoji")}get isUUID(){return!!this._def.checks.find(aa=>aa.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(aa=>aa.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(aa=>aa.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(aa=>aa.kind==="cuid2")}get isULID(){return!!this._def.checks.find(aa=>aa.kind==="ulid")}get isIP(){return!!this._def.checks.find(aa=>aa.kind==="ip")}get isCIDR(){return!!this._def.checks.find(aa=>aa.kind==="cidr")}get isBase64(){return!!this._def.checks.find(aa=>aa.kind==="base64")}get isBase64url(){return!!this._def.checks.find(aa=>aa.kind==="base64url")}get minLength(){let aa=null;for(const ca of this._def.checks)ca.kind==="min"&&(aa===null||ca.value>aa)&&(aa=ca.value);return aa}get maxLength(){let aa=null;for(const ca of this._def.checks)ca.kind==="max"&&(aa===null||ca.value<aa)&&(aa=ca.value);return aa}}ZodString.create=la=>new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:la?.coerce??!1,...processCreateParams(la)});function floatSafeRemainder(la,aa){const ca=(la.toString().split(".")[1]||"").length,ua=(aa.toString().split(".")[1]||"").length,Sa=ca>ua?ca:ua,hl=Number.parseInt(la.toFixed(Sa).replace(".","")),pl=Number.parseInt(aa.toFixed(Sa).replace(".",""));return hl%pl/10**Sa}class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(aa){if(this._def.coerce&&(aa.data=Number(aa.data)),this._getType(aa)!==ZodParsedType.number){const Sa=this._getOrReturnCtx(aa);return addIssueToContext(Sa,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:Sa.parsedType}),INVALID}let ca;const ua=new ParseStatus;for(const Sa of this._def.checks)Sa.kind==="int"?util$1$1.isInteger(aa.data)||(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:Sa.message}),ua.dirty()):Sa.kind==="min"?(Sa.inclusive?aa.data<Sa.value:aa.data<=Sa.value)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.too_small,minimum:Sa.value,type:"number",inclusive:Sa.inclusive,exact:!1,message:Sa.message}),ua.dirty()):Sa.kind==="max"?(Sa.inclusive?aa.data>Sa.value:aa.data>=Sa.value)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.too_big,maximum:Sa.value,type:"number",inclusive:Sa.inclusive,exact:!1,message:Sa.message}),ua.dirty()):Sa.kind==="multipleOf"?floatSafeRemainder(aa.data,Sa.value)!==0&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.not_multiple_of,multipleOf:Sa.value,message:Sa.message}),ua.dirty()):Sa.kind==="finite"?Number.isFinite(aa.data)||(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.not_finite,message:Sa.message}),ua.dirty()):util$1$1.assertNever(Sa);return{status:ua.value,value:aa.data}}gte(aa,ca){return this.setLimit("min",aa,!0,errorUtil.toString(ca))}gt(aa,ca){return this.setLimit("min",aa,!1,errorUtil.toString(ca))}lte(aa,ca){return this.setLimit("max",aa,!0,errorUtil.toString(ca))}lt(aa,ca){return this.setLimit("max",aa,!1,errorUtil.toString(ca))}setLimit(aa,ca,ua,Sa){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:aa,value:ca,inclusive:ua,message:errorUtil.toString(Sa)}]})}_addCheck(aa){return new ZodNumber({...this._def,checks:[...this._def.checks,aa]})}int(aa){return this._addCheck({kind:"int",message:errorUtil.toString(aa)})}positive(aa){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(aa)})}negative(aa){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(aa)})}nonpositive(aa){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(aa)})}nonnegative(aa){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(aa)})}multipleOf(aa,ca){return this._addCheck({kind:"multipleOf",value:aa,message:errorUtil.toString(ca)})}finite(aa){return this._addCheck({kind:"finite",message:errorUtil.toString(aa)})}safe(aa){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(aa)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(aa)})}get minValue(){let aa=null;for(const ca of this._def.checks)ca.kind==="min"&&(aa===null||ca.value>aa)&&(aa=ca.value);return aa}get maxValue(){let aa=null;for(const ca of this._def.checks)ca.kind==="max"&&(aa===null||ca.value<aa)&&(aa=ca.value);return aa}get isInt(){return!!this._def.checks.find(aa=>aa.kind==="int"||aa.kind==="multipleOf"&&util$1$1.isInteger(aa.value))}get isFinite(){let aa=null,ca=null;for(const ua of this._def.checks){if(ua.kind==="finite"||ua.kind==="int"||ua.kind==="multipleOf")return!0;ua.kind==="min"?(ca===null||ua.value>ca)&&(ca=ua.value):ua.kind==="max"&&(aa===null||ua.value<aa)&&(aa=ua.value)}return Number.isFinite(ca)&&Number.isFinite(aa)}}ZodNumber.create=la=>new ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:la?.coerce||!1,...processCreateParams(la)});class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(aa){if(this._def.coerce)try{aa.data=BigInt(aa.data)}catch{return this._getInvalidInput(aa)}if(this._getType(aa)!==ZodParsedType.bigint)return this._getInvalidInput(aa);let ca;const ua=new ParseStatus;for(const Sa of this._def.checks)Sa.kind==="min"?(Sa.inclusive?aa.data<Sa.value:aa.data<=Sa.value)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.too_small,type:"bigint",minimum:Sa.value,inclusive:Sa.inclusive,message:Sa.message}),ua.dirty()):Sa.kind==="max"?(Sa.inclusive?aa.data>Sa.value:aa.data>=Sa.value)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.too_big,type:"bigint",maximum:Sa.value,inclusive:Sa.inclusive,message:Sa.message}),ua.dirty()):Sa.kind==="multipleOf"?aa.data%Sa.value!==BigInt(0)&&(ca=this._getOrReturnCtx(aa,ca),addIssueToContext(ca,{code:ZodIssueCode.not_multiple_of,multipleOf:Sa.value,message:Sa.message}),ua.dirty()):util$1$1.assertNever(Sa);return{status:ua.value,value:aa.data}}_getInvalidInput(aa){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:ca.parsedType}),INVALID}gte(aa,ca){return this.setLimit("min",aa,!0,errorUtil.toString(ca))}gt(aa,ca){return this.setLimit("min",aa,!1,errorUtil.toString(ca))}lte(aa,ca){return this.setLimit("max",aa,!0,errorUtil.toString(ca))}lt(aa,ca){return this.setLimit("max",aa,!1,errorUtil.toString(ca))}setLimit(aa,ca,ua,Sa){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:aa,value:ca,inclusive:ua,message:errorUtil.toString(Sa)}]})}_addCheck(aa){return new ZodBigInt({...this._def,checks:[...this._def.checks,aa]})}positive(aa){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:errorUtil.toString(aa)})}negative(aa){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:errorUtil.toString(aa)})}nonpositive(aa){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:errorUtil.toString(aa)})}nonnegative(aa){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:errorUtil.toString(aa)})}multipleOf(aa,ca){return this._addCheck({kind:"multipleOf",value:aa,message:errorUtil.toString(ca)})}get minValue(){let aa=null;for(const ca of this._def.checks)ca.kind==="min"&&(aa===null||ca.value>aa)&&(aa=ca.value);return aa}get maxValue(){let aa=null;for(const ca of this._def.checks)ca.kind==="max"&&(aa===null||ca.value<aa)&&(aa=ca.value);return aa}}ZodBigInt.create=la=>new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:la?.coerce??!1,...processCreateParams(la)});class ZodBoolean extends ZodType{_parse(aa){if(this._def.coerce&&(aa.data=!!aa.data),this._getType(aa)!==ZodParsedType.boolean){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodBoolean.create=la=>new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:la?.coerce||!1,...processCreateParams(la)});class ZodDate extends ZodType{_parse(aa){if(this._def.coerce&&(aa.data=new Date(aa.data)),this._getType(aa)!==ZodParsedType.date){const Sa=this._getOrReturnCtx(aa);return addIssueToContext(Sa,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:Sa.parsedType}),INVALID}if(Number.isNaN(aa.data.getTime())){const Sa=this._getOrReturnCtx(aa);return addIssueToContext(Sa,{code:ZodIssueCode.invalid_date}),INVALID}const ca=new ParseStatus;let ua;for(const Sa of this._def.checks)Sa.kind==="min"?aa.data.getTime()<Sa.value&&(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.too_small,message:Sa.message,inclusive:!0,exact:!1,minimum:Sa.value,type:"date"}),ca.dirty()):Sa.kind==="max"?aa.data.getTime()>Sa.value&&(ua=this._getOrReturnCtx(aa,ua),addIssueToContext(ua,{code:ZodIssueCode.too_big,message:Sa.message,inclusive:!0,exact:!1,maximum:Sa.value,type:"date"}),ca.dirty()):util$1$1.assertNever(Sa);return{status:ca.value,value:new Date(aa.data.getTime())}}_addCheck(aa){return new ZodDate({...this._def,checks:[...this._def.checks,aa]})}min(aa,ca){return this._addCheck({kind:"min",value:aa.getTime(),message:errorUtil.toString(ca)})}max(aa,ca){return this._addCheck({kind:"max",value:aa.getTime(),message:errorUtil.toString(ca)})}get minDate(){let aa=null;for(const ca of this._def.checks)ca.kind==="min"&&(aa===null||ca.value>aa)&&(aa=ca.value);return aa!=null?new Date(aa):null}get maxDate(){let aa=null;for(const ca of this._def.checks)ca.kind==="max"&&(aa===null||ca.value<aa)&&(aa=ca.value);return aa!=null?new Date(aa):null}}ZodDate.create=la=>new ZodDate({checks:[],coerce:la?.coerce||!1,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(la)});class ZodSymbol extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.symbol){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodSymbol.create=la=>new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(la)});class ZodUndefined extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.undefined){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodUndefined.create=la=>new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(la)});class ZodNull extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.null){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodNull.create=la=>new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(la)});class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(aa){return OK(aa.data)}}ZodAny.create=la=>new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(la)});class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(aa){return OK(aa.data)}}ZodUnknown.create=la=>new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(la)});class ZodNever extends ZodType{_parse(aa){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:ca.parsedType}),INVALID}}ZodNever.create=la=>new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(la)});class ZodVoid extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.undefined){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:ca.parsedType}),INVALID}return OK(aa.data)}}ZodVoid.create=la=>new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(la)});class ZodArray extends ZodType{_parse(aa){const{ctx:ca,status:ua}=this._processInputParams(aa),Sa=this._def;if(ca.parsedType!==ZodParsedType.array)return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ca.parsedType}),INVALID;if(Sa.exactLength!==null){const pl=ca.data.length>Sa.exactLength.value,ml=ca.data.length<Sa.exactLength.value;(pl||ml)&&(addIssueToContext(ca,{code:pl?ZodIssueCode.too_big:ZodIssueCode.too_small,minimum:ml?Sa.exactLength.value:void 0,maximum:pl?Sa.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Sa.exactLength.message}),ua.dirty())}if(Sa.minLength!==null&&ca.data.length<Sa.minLength.value&&(addIssueToContext(ca,{code:ZodIssueCode.too_small,minimum:Sa.minLength.value,type:"array",inclusive:!0,exact:!1,message:Sa.minLength.message}),ua.dirty()),Sa.maxLength!==null&&ca.data.length>Sa.maxLength.value&&(addIssueToContext(ca,{code:ZodIssueCode.too_big,maximum:Sa.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Sa.maxLength.message}),ua.dirty()),ca.common.async)return Promise.all([...ca.data].map((pl,ml)=>Sa.type._parseAsync(new ParseInputLazyPath(ca,pl,ca.path,ml)))).then(pl=>ParseStatus.mergeArray(ua,pl));const hl=[...ca.data].map((pl,ml)=>Sa.type._parseSync(new ParseInputLazyPath(ca,pl,ca.path,ml)));return ParseStatus.mergeArray(ua,hl)}get element(){return this._def.type}min(aa,ca){return new ZodArray({...this._def,minLength:{value:aa,message:errorUtil.toString(ca)}})}max(aa,ca){return new ZodArray({...this._def,maxLength:{value:aa,message:errorUtil.toString(ca)}})}length(aa,ca){return new ZodArray({...this._def,exactLength:{value:aa,message:errorUtil.toString(ca)}})}nonempty(aa){return this.min(1,aa)}}ZodArray.create=(la,aa)=>new ZodArray({type:la,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(aa)});function deepPartialify(la){if(la instanceof ZodObject){const aa={};for(const ca in la.shape){const ua=la.shape[ca];aa[ca]=ZodOptional.create(deepPartialify(ua))}return new ZodObject({...la._def,shape:()=>aa})}else return la instanceof ZodArray?new ZodArray({...la._def,type:deepPartialify(la.element)}):la instanceof ZodOptional?ZodOptional.create(deepPartialify(la.unwrap())):la instanceof ZodNullable?ZodNullable.create(deepPartialify(la.unwrap())):la instanceof ZodTuple?ZodTuple.create(la.items.map(aa=>deepPartialify(aa))):la}class ZodObject extends ZodType{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const aa=this._def.shape(),ca=util$1$1.objectKeys(aa);return this._cached={shape:aa,keys:ca},this._cached}_parse(aa){if(this._getType(aa)!==ZodParsedType.object){const gl=this._getOrReturnCtx(aa);return addIssueToContext(gl,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:gl.parsedType}),INVALID}const{status:ca,ctx:ua}=this._processInputParams(aa),{shape:Sa,keys:hl}=this._getCached(),pl=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip"))for(const gl in ua.data)hl.includes(gl)||pl.push(gl);const ml=[];for(const gl of hl){const wc=Sa[gl],xu=ua.data[gl];ml.push({key:{status:"valid",value:gl},value:wc._parse(new ParseInputLazyPath(ua,xu,ua.path,gl)),alwaysSet:gl in ua.data})}if(this._def.catchall instanceof ZodNever){const gl=this._def.unknownKeys;if(gl==="passthrough")for(const wc of pl)ml.push({key:{status:"valid",value:wc},value:{status:"valid",value:ua.data[wc]}});else if(gl==="strict")pl.length>0&&(addIssueToContext(ua,{code:ZodIssueCode.unrecognized_keys,keys:pl}),ca.dirty());else if(gl!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const gl=this._def.catchall;for(const wc of pl){const xu=ua.data[wc];ml.push({key:{status:"valid",value:wc},value:gl._parse(new ParseInputLazyPath(ua,xu,ua.path,wc)),alwaysSet:wc in ua.data})}}return ua.common.async?Promise.resolve().then(async()=>{const gl=[];for(const wc of ml){const xu=await wc.key,ff=await wc.value;gl.push({key:xu,value:ff,alwaysSet:wc.alwaysSet})}return gl}).then(gl=>ParseStatus.mergeObjectSync(ca,gl)):ParseStatus.mergeObjectSync(ca,ml)}get shape(){return this._def.shape()}strict(aa){return errorUtil.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...aa!==void 0?{errorMap:(ca,ua)=>{const Sa=this._def.errorMap?.(ca,ua).message??ua.defaultError;return ca.code==="unrecognized_keys"?{message:errorUtil.errToObj(aa).message??Sa}:{message:Sa}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(aa){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...aa})})}merge(aa){return new ZodObject({unknownKeys:aa._def.unknownKeys,catchall:aa._def.catchall,shape:()=>({...this._def.shape(),...aa._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject})}setKey(aa,ca){return this.augment({[aa]:ca})}catchall(aa){return new ZodObject({...this._def,catchall:aa})}pick(aa){const ca={};for(const ua of util$1$1.objectKeys(aa))aa[ua]&&this.shape[ua]&&(ca[ua]=this.shape[ua]);return new ZodObject({...this._def,shape:()=>ca})}omit(aa){const ca={};for(const ua of util$1$1.objectKeys(this.shape))aa[ua]||(ca[ua]=this.shape[ua]);return new ZodObject({...this._def,shape:()=>ca})}deepPartial(){return deepPartialify(this)}partial(aa){const ca={};for(const ua of util$1$1.objectKeys(this.shape)){const Sa=this.shape[ua];aa&&!aa[ua]?ca[ua]=Sa:ca[ua]=Sa.optional()}return new ZodObject({...this._def,shape:()=>ca})}required(aa){const ca={};for(const ua of util$1$1.objectKeys(this.shape))if(aa&&!aa[ua])ca[ua]=this.shape[ua];else{let Sa=this.shape[ua];for(;Sa instanceof ZodOptional;)Sa=Sa._def.innerType;ca[ua]=Sa}return new ZodObject({...this._def,shape:()=>ca})}keyof(){return createZodEnum(util$1$1.objectKeys(this.shape))}}ZodObject.create=(la,aa)=>new ZodObject({shape:()=>la,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(aa)});ZodObject.strictCreate=(la,aa)=>new ZodObject({shape:()=>la,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(aa)});ZodObject.lazycreate=(la,aa)=>new ZodObject({shape:la,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(aa)});class ZodUnion extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa),ua=this._def.options;function Sa(hl){for(const ml of hl)if(ml.result.status==="valid")return ml.result;for(const ml of hl)if(ml.result.status==="dirty")return ca.common.issues.push(...ml.ctx.common.issues),ml.result;const pl=hl.map(ml=>new ZodError(ml.ctx.common.issues));return addIssueToContext(ca,{code:ZodIssueCode.invalid_union,unionErrors:pl}),INVALID}if(ca.common.async)return Promise.all(ua.map(async hl=>{const pl={...ca,common:{...ca.common,issues:[]},parent:null};return{result:await hl._parseAsync({data:ca.data,path:ca.path,parent:pl}),ctx:pl}})).then(Sa);{let hl;const pl=[];for(const gl of ua){const wc={...ca,common:{...ca.common,issues:[]},parent:null},xu=gl._parseSync({data:ca.data,path:ca.path,parent:wc});if(xu.status==="valid")return xu;xu.status==="dirty"&&!hl&&(hl={result:xu,ctx:wc}),wc.common.issues.length&&pl.push(wc.common.issues)}if(hl)return ca.common.issues.push(...hl.ctx.common.issues),hl.result;const ml=pl.map(gl=>new ZodError(gl));return addIssueToContext(ca,{code:ZodIssueCode.invalid_union,unionErrors:ml}),INVALID}}get options(){return this._def.options}}ZodUnion.create=(la,aa)=>new ZodUnion({options:la,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(aa)});const getDiscriminator=la=>la instanceof ZodLazy?getDiscriminator(la.schema):la instanceof ZodEffects?getDiscriminator(la.innerType()):la instanceof ZodLiteral?[la.value]:la instanceof ZodEnum?la.options:la instanceof ZodNativeEnum?util$1$1.objectValues(la.enum):la instanceof ZodDefault?getDiscriminator(la._def.innerType):la instanceof ZodUndefined?[void 0]:la instanceof ZodNull?[null]:la instanceof ZodOptional?[void 0,...getDiscriminator(la.unwrap())]:la instanceof ZodNullable?[null,...getDiscriminator(la.unwrap())]:la instanceof ZodBranded||la instanceof ZodReadonly?getDiscriminator(la.unwrap()):la instanceof ZodCatch?getDiscriminator(la._def.innerType):[];class ZodDiscriminatedUnion extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa);if(ca.parsedType!==ZodParsedType.object)return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ca.parsedType}),INVALID;const ua=this.discriminator,Sa=ca.data[ua],hl=this.optionsMap.get(Sa);return hl?ca.common.async?hl._parseAsync({data:ca.data,path:ca.path,parent:ca}):hl._parseSync({data:ca.data,path:ca.path,parent:ca}):(addIssueToContext(ca,{code:ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[ua]}),INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(aa,ca,ua){const Sa=new Map;for(const hl of ca){const pl=getDiscriminator(hl.shape[aa]);if(!pl.length)throw new Error(`A discriminator value for key \`${aa}\` could not be extracted from all schema options`);for(const ml of pl){if(Sa.has(ml))throw new Error(`Discriminator property ${String(aa)} has duplicate value ${String(ml)}`);Sa.set(ml,hl)}}return new ZodDiscriminatedUnion({typeName:ZodFirstPartyTypeKind.ZodDiscriminatedUnion,discriminator:aa,options:ca,optionsMap:Sa,...processCreateParams(ua)})}}function mergeValues(la,aa){const ca=getParsedType(la),ua=getParsedType(aa);if(la===aa)return{valid:!0,data:la};if(ca===ZodParsedType.object&&ua===ZodParsedType.object){const Sa=util$1$1.objectKeys(aa),hl=util$1$1.objectKeys(la).filter(ml=>Sa.indexOf(ml)!==-1),pl={...la,...aa};for(const ml of hl){const gl=mergeValues(la[ml],aa[ml]);if(!gl.valid)return{valid:!1};pl[ml]=gl.data}return{valid:!0,data:pl}}else if(ca===ZodParsedType.array&&ua===ZodParsedType.array){if(la.length!==aa.length)return{valid:!1};const Sa=[];for(let hl=0;hl<la.length;hl++){const pl=la[hl],ml=aa[hl],gl=mergeValues(pl,ml);if(!gl.valid)return{valid:!1};Sa.push(gl.data)}return{valid:!0,data:Sa}}else return ca===ZodParsedType.date&&ua===ZodParsedType.date&&+la==+aa?{valid:!0,data:la}:{valid:!1}}class ZodIntersection extends ZodType{_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa),Sa=(hl,pl)=>{if(isAborted(hl)||isAborted(pl))return INVALID;const ml=mergeValues(hl.value,pl.value);return ml.valid?((isDirty(hl)||isDirty(pl))&&ca.dirty(),{status:ca.value,value:ml.data}):(addIssueToContext(ua,{code:ZodIssueCode.invalid_intersection_types}),INVALID)};return ua.common.async?Promise.all([this._def.left._parseAsync({data:ua.data,path:ua.path,parent:ua}),this._def.right._parseAsync({data:ua.data,path:ua.path,parent:ua})]).then(([hl,pl])=>Sa(hl,pl)):Sa(this._def.left._parseSync({data:ua.data,path:ua.path,parent:ua}),this._def.right._parseSync({data:ua.data,path:ua.path,parent:ua}))}}ZodIntersection.create=(la,aa,ca)=>new ZodIntersection({left:la,right:aa,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(ca)});class ZodTuple extends ZodType{_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.parsedType!==ZodParsedType.array)return addIssueToContext(ua,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ua.parsedType}),INVALID;if(ua.data.length<this._def.items.length)return addIssueToContext(ua,{code:ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),INVALID;!this._def.rest&&ua.data.length>this._def.items.length&&(addIssueToContext(ua,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ca.dirty());const Sa=[...ua.data].map((hl,pl)=>{const ml=this._def.items[pl]||this._def.rest;return ml?ml._parse(new ParseInputLazyPath(ua,hl,ua.path,pl)):null}).filter(hl=>!!hl);return ua.common.async?Promise.all(Sa).then(hl=>ParseStatus.mergeArray(ca,hl)):ParseStatus.mergeArray(ca,Sa)}get items(){return this._def.items}rest(aa){return new ZodTuple({...this._def,rest:aa})}}ZodTuple.create=(la,aa)=>{if(!Array.isArray(la))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:la,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(aa)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.parsedType!==ZodParsedType.object)return addIssueToContext(ua,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ua.parsedType}),INVALID;const Sa=[],hl=this._def.keyType,pl=this._def.valueType;for(const ml in ua.data)Sa.push({key:hl._parse(new ParseInputLazyPath(ua,ml,ua.path,ml)),value:pl._parse(new ParseInputLazyPath(ua,ua.data[ml],ua.path,ml)),alwaysSet:ml in ua.data});return ua.common.async?ParseStatus.mergeObjectAsync(ca,Sa):ParseStatus.mergeObjectSync(ca,Sa)}get element(){return this._def.valueType}static create(aa,ca,ua){return ca instanceof ZodType?new ZodRecord({keyType:aa,valueType:ca,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(ua)}):new ZodRecord({keyType:ZodString.create(),valueType:aa,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(ca)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.parsedType!==ZodParsedType.map)return addIssueToContext(ua,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:ua.parsedType}),INVALID;const Sa=this._def.keyType,hl=this._def.valueType,pl=[...ua.data.entries()].map(([ml,gl],wc)=>({key:Sa._parse(new ParseInputLazyPath(ua,ml,ua.path,[wc,"key"])),value:hl._parse(new ParseInputLazyPath(ua,gl,ua.path,[wc,"value"]))}));if(ua.common.async){const ml=new Map;return Promise.resolve().then(async()=>{for(const gl of pl){const wc=await gl.key,xu=await gl.value;if(wc.status==="aborted"||xu.status==="aborted")return INVALID;(wc.status==="dirty"||xu.status==="dirty")&&ca.dirty(),ml.set(wc.value,xu.value)}return{status:ca.value,value:ml}})}else{const ml=new Map;for(const gl of pl){const wc=gl.key,xu=gl.value;if(wc.status==="aborted"||xu.status==="aborted")return INVALID;(wc.status==="dirty"||xu.status==="dirty")&&ca.dirty(),ml.set(wc.value,xu.value)}return{status:ca.value,value:ml}}}}ZodMap.create=(la,aa,ca)=>new ZodMap({valueType:aa,keyType:la,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(ca)});class ZodSet extends ZodType{_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.parsedType!==ZodParsedType.set)return addIssueToContext(ua,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:ua.parsedType}),INVALID;const Sa=this._def;Sa.minSize!==null&&ua.data.size<Sa.minSize.value&&(addIssueToContext(ua,{code:ZodIssueCode.too_small,minimum:Sa.minSize.value,type:"set",inclusive:!0,exact:!1,message:Sa.minSize.message}),ca.dirty()),Sa.maxSize!==null&&ua.data.size>Sa.maxSize.value&&(addIssueToContext(ua,{code:ZodIssueCode.too_big,maximum:Sa.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Sa.maxSize.message}),ca.dirty());const hl=this._def.valueType;function pl(gl){const wc=new Set;for(const xu of gl){if(xu.status==="aborted")return INVALID;xu.status==="dirty"&&ca.dirty(),wc.add(xu.value)}return{status:ca.value,value:wc}}const ml=[...ua.data.values()].map((gl,wc)=>hl._parse(new ParseInputLazyPath(ua,gl,ua.path,wc)));return ua.common.async?Promise.all(ml).then(gl=>pl(gl)):pl(ml)}min(aa,ca){return new ZodSet({...this._def,minSize:{value:aa,message:errorUtil.toString(ca)}})}max(aa,ca){return new ZodSet({...this._def,maxSize:{value:aa,message:errorUtil.toString(ca)}})}size(aa,ca){return this.min(aa,ca).max(aa,ca)}nonempty(aa){return this.min(1,aa)}}ZodSet.create=(la,aa)=>new ZodSet({valueType:la,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(aa)});class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(aa){const{ctx:ca}=this._processInputParams(aa);return this._def.getter()._parse({data:ca.data,path:ca.path,parent:ca})}}ZodLazy.create=(la,aa)=>new ZodLazy({getter:la,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(aa)});class ZodLiteral extends ZodType{_parse(aa){if(aa.data!==this._def.value){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{received:ca.data,code:ZodIssueCode.invalid_literal,expected:this._def.value}),INVALID}return{status:"valid",value:aa.data}}get value(){return this._def.value}}ZodLiteral.create=(la,aa)=>new ZodLiteral({value:la,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(aa)});function createZodEnum(la,aa){return new ZodEnum({values:la,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(aa)})}class ZodEnum extends ZodType{_parse(aa){if(typeof aa.data!="string"){const ca=this._getOrReturnCtx(aa),ua=this._def.values;return addIssueToContext(ca,{expected:util$1$1.joinValues(ua),received:ca.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(aa.data)){const ca=this._getOrReturnCtx(aa),ua=this._def.values;return addIssueToContext(ca,{received:ca.data,code:ZodIssueCode.invalid_enum_value,options:ua}),INVALID}return OK(aa.data)}get options(){return this._def.values}get enum(){const aa={};for(const ca of this._def.values)aa[ca]=ca;return aa}get Values(){const aa={};for(const ca of this._def.values)aa[ca]=ca;return aa}get Enum(){const aa={};for(const ca of this._def.values)aa[ca]=ca;return aa}extract(aa,ca=this._def){return ZodEnum.create(aa,{...this._def,...ca})}exclude(aa,ca=this._def){return ZodEnum.create(this.options.filter(ua=>!aa.includes(ua)),{...this._def,...ca})}}ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{_parse(aa){const ca=util$1$1.getValidEnumValues(this._def.values),ua=this._getOrReturnCtx(aa);if(ua.parsedType!==ZodParsedType.string&&ua.parsedType!==ZodParsedType.number){const Sa=util$1$1.objectValues(ca);return addIssueToContext(ua,{expected:util$1$1.joinValues(Sa),received:ua.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(util$1$1.getValidEnumValues(this._def.values))),!this._cache.has(aa.data)){const Sa=util$1$1.objectValues(ca);return addIssueToContext(ua,{received:ua.data,code:ZodIssueCode.invalid_enum_value,options:Sa}),INVALID}return OK(aa.data)}get enum(){return this._def.values}}ZodNativeEnum.create=(la,aa)=>new ZodNativeEnum({values:la,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(aa)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(aa){const{ctx:ca}=this._processInputParams(aa);if(ca.parsedType!==ZodParsedType.promise&&ca.common.async===!1)return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:ca.parsedType}),INVALID;const ua=ca.parsedType===ZodParsedType.promise?ca.data:Promise.resolve(ca.data);return OK(ua.then(Sa=>this._def.type.parseAsync(Sa,{path:ca.path,errorMap:ca.common.contextualErrorMap})))}}ZodPromise.create=(la,aa)=>new ZodPromise({type:la,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(aa)});class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ZodFirstPartyTypeKind.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa),Sa=this._def.effect||null,hl={addIssue:pl=>{addIssueToContext(ua,pl),pl.fatal?ca.abort():ca.dirty()},get path(){return ua.path}};if(hl.addIssue=hl.addIssue.bind(hl),Sa.type==="preprocess"){const pl=Sa.transform(ua.data,hl);if(ua.common.async)return Promise.resolve(pl).then(async ml=>{if(ca.value==="aborted")return INVALID;const gl=await this._def.schema._parseAsync({data:ml,path:ua.path,parent:ua});return gl.status==="aborted"?INVALID:gl.status==="dirty"||ca.value==="dirty"?DIRTY(gl.value):gl});{if(ca.value==="aborted")return INVALID;const ml=this._def.schema._parseSync({data:pl,path:ua.path,parent:ua});return ml.status==="aborted"?INVALID:ml.status==="dirty"||ca.value==="dirty"?DIRTY(ml.value):ml}}if(Sa.type==="refinement"){const pl=ml=>{const gl=Sa.refinement(ml,hl);if(ua.common.async)return Promise.resolve(gl);if(gl instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return ml};if(ua.common.async===!1){const ml=this._def.schema._parseSync({data:ua.data,path:ua.path,parent:ua});return ml.status==="aborted"?INVALID:(ml.status==="dirty"&&ca.dirty(),pl(ml.value),{status:ca.value,value:ml.value})}else return this._def.schema._parseAsync({data:ua.data,path:ua.path,parent:ua}).then(ml=>ml.status==="aborted"?INVALID:(ml.status==="dirty"&&ca.dirty(),pl(ml.value).then(()=>({status:ca.value,value:ml.value}))))}if(Sa.type==="transform")if(ua.common.async===!1){const pl=this._def.schema._parseSync({data:ua.data,path:ua.path,parent:ua});if(!isValid(pl))return INVALID;const ml=Sa.transform(pl.value,hl);if(ml instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:ca.value,value:ml}}else return this._def.schema._parseAsync({data:ua.data,path:ua.path,parent:ua}).then(pl=>isValid(pl)?Promise.resolve(Sa.transform(pl.value,hl)).then(ml=>({status:ca.value,value:ml})):INVALID);util$1$1.assertNever(Sa)}}ZodEffects.create=(la,aa,ca)=>new ZodEffects({schema:la,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:aa,...processCreateParams(ca)});ZodEffects.createWithPreprocess=(la,aa,ca)=>new ZodEffects({schema:aa,effect:{type:"preprocess",transform:la},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(ca)});class ZodOptional extends ZodType{_parse(aa){return this._getType(aa)===ZodParsedType.undefined?OK(void 0):this._def.innerType._parse(aa)}unwrap(){return this._def.innerType}}ZodOptional.create=(la,aa)=>new ZodOptional({innerType:la,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(aa)});class ZodNullable extends ZodType{_parse(aa){return this._getType(aa)===ZodParsedType.null?OK(null):this._def.innerType._parse(aa)}unwrap(){return this._def.innerType}}ZodNullable.create=(la,aa)=>new ZodNullable({innerType:la,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(aa)});class ZodDefault extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa);let ua=ca.data;return ca.parsedType===ZodParsedType.undefined&&(ua=this._def.defaultValue()),this._def.innerType._parse({data:ua,path:ca.path,parent:ca})}removeDefault(){return this._def.innerType}}ZodDefault.create=(la,aa)=>new ZodDefault({innerType:la,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof aa.default=="function"?aa.default:()=>aa.default,...processCreateParams(aa)});class ZodCatch extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa),ua={...ca,common:{...ca.common,issues:[]}},Sa=this._def.innerType._parse({data:ua.data,path:ua.path,parent:{...ua}});return isAsync(Sa)?Sa.then(hl=>({status:"valid",value:hl.status==="valid"?hl.value:this._def.catchValue({get error(){return new ZodError(ua.common.issues)},input:ua.data})})):{status:"valid",value:Sa.status==="valid"?Sa.value:this._def.catchValue({get error(){return new ZodError(ua.common.issues)},input:ua.data})}}removeCatch(){return this._def.innerType}}ZodCatch.create=(la,aa)=>new ZodCatch({innerType:la,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof aa.catch=="function"?aa.catch:()=>aa.catch,...processCreateParams(aa)});class ZodNaN extends ZodType{_parse(aa){if(this._getType(aa)!==ZodParsedType.nan){const ca=this._getOrReturnCtx(aa);return addIssueToContext(ca,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:ca.parsedType}),INVALID}return{status:"valid",value:aa.data}}}ZodNaN.create=la=>new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(la)});class ZodBranded extends ZodType{_parse(aa){const{ctx:ca}=this._processInputParams(aa),ua=ca.data;return this._def.type._parse({data:ua,path:ca.path,parent:ca})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(aa){const{status:ca,ctx:ua}=this._processInputParams(aa);if(ua.common.async)return(async()=>{const Sa=await this._def.in._parseAsync({data:ua.data,path:ua.path,parent:ua});return Sa.status==="aborted"?INVALID:Sa.status==="dirty"?(ca.dirty(),DIRTY(Sa.value)):this._def.out._parseAsync({data:Sa.value,path:ua.path,parent:ua})})();{const Sa=this._def.in._parseSync({data:ua.data,path:ua.path,parent:ua});return Sa.status==="aborted"?INVALID:Sa.status==="dirty"?(ca.dirty(),{status:"dirty",value:Sa.value}):this._def.out._parseSync({data:Sa.value,path:ua.path,parent:ua})}}static create(aa,ca){return new ZodPipeline({in:aa,out:ca,typeName:ZodFirstPartyTypeKind.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(aa){const ca=this._def.innerType._parse(aa),ua=Sa=>(isValid(Sa)&&(Sa.value=Object.freeze(Sa.value)),Sa);return isAsync(ca)?ca.then(Sa=>ua(Sa)):ua(ca)}unwrap(){return this._def.innerType}}ZodReadonly.create=(la,aa)=>new ZodReadonly({innerType:la,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(aa)});var ZodFirstPartyTypeKind;(function(la){la.ZodString="ZodString",la.ZodNumber="ZodNumber",la.ZodNaN="ZodNaN",la.ZodBigInt="ZodBigInt",la.ZodBoolean="ZodBoolean",la.ZodDate="ZodDate",la.ZodSymbol="ZodSymbol",la.ZodUndefined="ZodUndefined",la.ZodNull="ZodNull",la.ZodAny="ZodAny",la.ZodUnknown="ZodUnknown",la.ZodNever="ZodNever",la.ZodVoid="ZodVoid",la.ZodArray="ZodArray",la.ZodObject="ZodObject",la.ZodUnion="ZodUnion",la.ZodDiscriminatedUnion="ZodDiscriminatedUnion",la.ZodIntersection="ZodIntersection",la.ZodTuple="ZodTuple",la.ZodRecord="ZodRecord",la.ZodMap="ZodMap",la.ZodSet="ZodSet",la.ZodFunction="ZodFunction",la.ZodLazy="ZodLazy",la.ZodLiteral="ZodLiteral",la.ZodEnum="ZodEnum",la.ZodEffects="ZodEffects",la.ZodNativeEnum="ZodNativeEnum",la.ZodOptional="ZodOptional",la.ZodNullable="ZodNullable",la.ZodDefault="ZodDefault",la.ZodCatch="ZodCatch",la.ZodPromise="ZodPromise",la.ZodBranded="ZodBranded",la.ZodPipeline="ZodPipeline",la.ZodReadonly="ZodReadonly"})(ZodFirstPartyTypeKind||(ZodFirstPartyTypeKind={}));const stringType=ZodString.create,numberType=ZodNumber.create,booleanType=ZodBoolean.create,anyType=ZodAny.create;ZodNever.create;const arrayType=ZodArray.create,objectType=ZodObject.create;ZodUnion.create;const discriminatedUnionType=ZodDiscriminatedUnion.create;ZodIntersection.create;ZodTuple.create;const recordType=ZodRecord.create,literalType=ZodLiteral.create,enumType=ZodEnum.create;ZodPromise.create;ZodOptional.create;ZodNullable.create;objectType({service:objectType({port:numberType(),host:stringType().optional(),httpFileHandling:booleanType().default(!1)}).default({port:8080,host:"localhost",httpFileHandling:!1}),store:discriminatedUnionType("type",[objectType({type:literalType("postgres"),host:stringType().default("localhost"),username:stringType().default("postgres"),password:stringType().default("postgres"),dbname:stringType().default("postgres"),port:numberType().default(5432)}),objectType({type:literalType("mysql"),host:stringType().default("localhost"),username:stringType().default("mysql"),password:stringType().default("mysql"),dbname:stringType().default("mysql"),port:numberType().default(3306)}),objectType({type:literalType("sqlite"),dbname:stringType().optional()})]).optional(),integrations:objectType({host:stringType(),username:stringType().optional(),password:stringType().optional(),connections:recordType(stringType(),stringType())}).optional(),graphql:objectType({enabled:booleanType().default(!1)}).optional(),rbac:objectType({enabled:booleanType().default(!1),roles:arrayType(stringType()).optional()}).optional(),auth:objectType({enabled:booleanType().default(!1)}).optional(),auditTrail:objectType({enabled:booleanType().default(!1)}).optional(),monitoring:objectType({enabled:booleanType().default(!1)}).optional(),authentication:discriminatedUnionType("service",[objectType({service:literalType("okta"),superuserEmail:stringType(),domain:stringType(),cookieDomain:stringType().optional(),authServer:stringType().default("default"),clientSecret:stringType(),apiToken:stringType(),scope:stringType().default("openid offline_access"),cookieTtlMs:numberType().default(12096e5),introspect:booleanType().default(!0),authorizeRedirectUrl:stringType(),clientUrl:stringType(),roleClaim:stringType().default("roles"),defaultRole:stringType().default("user"),clientId:stringType()}),objectType({service:literalType("cognito"),superuserEmail:stringType(),superuserPassword:stringType().optional(),isIdentityStore:booleanType().default(!1),userPoolId:stringType(),clientId:stringType(),whitelistEnabled:booleanType().default(!1),disableUserSessions:booleanType().default(!1)})]).optional(),openapi:arrayType(objectType({specUrl:stringType(),baseUrl:stringType().optional(),name:stringType()})).optional(),logging:objectType({level:enumType(["error","warn","info","debug"]).default("info")}).optional(),retry:arrayType(objectType({name:stringType(),attempts:numberType(),backoff:objectType({strategy:enumType(["linear","exponential","constant"]),delay:numberType(),magnitude:enumType(["seconds","milliSeconds","minutes"]),factor:numberType()})})).optional()});function isMonitoringEnabled(){var la;return((la=void 0)===null||la===void 0?void 0:la.enabled)===!0}class TtlCache{constructor(aa){this.store=new Map,this.ttlMs=aa}set(aa,ca,ua){ua=ua||this.ttlMs;const Sa=Date.now()+ua;return this.store.set(aa,{value:ca,expireTime:Sa}),setTimeout(()=>{const hl=this.store.get(aa);hl&&hl.expireTime===Sa&&this.store.delete(aa)},ua),ca}get(aa){const ca=this.store.get(aa);if(ca!==void 0){if(Date.now()>ca.expireTime){this.store.delete(aa);return}return ca.value}}delete(aa){this.store.delete(aa)}}const AdminUserId="00000000-0000-0000-0000-000000000000";function isAuthEnabled(){var la;return((la=void 0)===null||la===void 0?void 0:la.enabled)==!0}function isRbacEnabled(){var la;return isAuthEnabled()&&((la=void 0)===null||la===void 0?void 0:la.enabled)==!0}const AdminSession={sessionId:crypto.randomUUID(),userId:AdminUserId},LocalEnv=new Map;function getLocalEnv$1(la,aa){const ca=LocalEnv.get(la);if(ca!==void 0)return ca;if(typeof E$a<"u"&&E$a.env){const ua=E$a.env[la];if(ua!==void 0)return ua}return aa}const PathAttributeName="__path__",PathAttributeNameQuery="__path__?",ParentAttributeName="__parent__",DeletedFlagAttributeName="__is_deleted__";function asUnauthMessage(la){return typeof la=="string"?la:`User not authorised to perform '${la.opr}' on ${la.entity}`}class UnauthorisedError extends Error{constructor(aa,ca){super(aa?asUnauthMessage(aa):"User not authorised to perform this operation",ca)}}let BadRequestError$2=class extends Error{constructor(la,aa){super(la?asUnauthMessage(la):"BadRequest",aa)}};class UserNotFoundError extends Error{constructor(aa,ca){super(aa||"User not found",ca)}}class UserNotConfirmedError extends Error{constructor(aa,ca){super(aa||"User account is not confirmed. Please check your email for verification code.",ca)}}class PasswordResetRequiredError extends Error{constructor(aa,ca){super(aa||"Password reset is required for this account",ca)}}class TooManyRequestsError extends Error{constructor(aa,ca){super(aa||"Too many requests. Please try again later.",ca)}}class InvalidParameterError extends Error{constructor(aa,ca){super(aa||"Invalid parameters provided",ca)}}class ExpiredCodeError extends Error{constructor(aa,ca){super(aa||"The verification code has expired. Please request a new one.",ca)}}class CodeMismatchError extends Error{constructor(aa,ca){super(aa||"The verification code is incorrect. Please try again.",ca)}}let FetchModuleFn;function setModuleFnFetcher(la){FetchModuleFn=la}const ForceReadPermFlag="f-r-f",FlowSuspensionTag="--";var SubGraphType;(function(la){la[la.EVENT=0]="EVENT",la[la.IF=1]="IF",la[la.FOR_EACH=2]="FOR_EACH",la[la.DELETE=3]="DELETE",la[la.PURGE=4]="PURGE",la[la.RETURN=5]="RETURN",la[la.AGENT=6]="AGENT",la[la.THROW=7]="THROW",la[la.NONE=8]="NONE"})(SubGraphType||(SubGraphType={}));class ExecGraph{static isEmpty(aa){return Object.is(ExecGraph.Empty,aa)}constructor(){this.parentGraph=void 0,this.hasAgentsFlag=!1,this.loopBody=!1,this.rootNodes=new Array,this.subGraphs=new Array}pushNode(aa){return this.rootNodes.push(aa),this}pushSubGraph(aa){return aa.parentGraph=this,this.subGraphs.push(aa),this}getSubGraphsLength(){return this.subGraphs.length}getLastSubGraphIndex(){return this.subGraphs.length-1}fetchSubGraphAt(aa){if(aa<0||aa>=this.subGraphs.length)throw new Error(`Invalid sub-graph index: ${aa}`);return this.subGraphs[aa]}fetchForEachBodySubGraph(){return this.fetchSubGraphAt(this.subGraphs.length-1)}fetchIfConsequentSubGraph(){return this.subGraphs.length>=2?this.fetchSubGraphAt(this.subGraphs.length-2):this.fetchSubGraphAt(this.subGraphs.length-1)}fetchIfAlternativeSubGraph(){if(this.subGraphs.length>=2)return this.fetchSubGraphAt(this.subGraphs.length-1)}getRootNodes(){return this.rootNodes}setActiveModuleName(aa){return aa&&(this.activeModuleName=aa),this}getActiveModuleName(){return this.activeModuleName}getParentGraph(){return this.parentGraph}setEventName(aa){return aa!==void 0&&(this.eventName=aa),this}getEventName(){return this.eventName}setHasAgents(aa){return this.hasAgentsFlag=aa,this.parentGraph&&this.parentGraph.setHasAgents(aa),this}hasAgents(){return this.hasAgentsFlag}canCache(){return!this.hasAgentsFlag}setIsLoopBody(){return this.loopBody=!0,this}isLoopBody(){return this.loopBody}asObject(){const aa=new Array;return this.rootNodes.forEach(ca=>{var ua;const Sa=ca.asObject();if(ca.subGraphIndex>=0){const hl=this.subGraphs[ca.subGraphIndex],pl=hl.asObject();if(ca.subGraphType==SubGraphType.FOR_EACH){const ml=ca.code;Sa.var=(ua=ml.pattern.forEach)===null||ua===void 0?void 0:ua.var,Sa.source=pl,Sa.body=hl.fetchForEachBodySubGraph().asObject()}else if(ca.subGraphType==SubGraphType.IF){Sa.condition=pl,Sa.body=hl.fetchIfConsequentSubGraph().asObject();const ml=hl.fetchIfAlternativeSubGraph();ml&&(Sa.else=ml.asObject())}else Sa.subGraph=pl}aa.push(Sa)}),aa}}ExecGraph.Empty=new ExecGraph;var RuntimeModeTag;(function(la){la[la.DEV=0]="DEV",la[la.PROD=1]="PROD",la[la.TEST=2]="TEST",la[la.INIT_SCHEMA=3]="INIT_SCHEMA",la[la.RUN_MIGRATION=4]="RUN_MIGRATION",la[la.UNDO_MIGRATION=5]="UNDO_MIGRATION",la[la.GENERATE_MIGRATION=6]="GENERATE_MIGRATION"})(RuntimeModeTag||(RuntimeModeTag={}));RuntimeModeTag.DEV;let DailyRotateFile,winston;isNodeEnv&&(await __vitePreload(()=>import("./index-D4z_hbl0-B3P-IHVr.js"),__vite__mapDeps([12,11,13,1,3,9,5,14,15,16,17,18,19,10,20,21,4])).then(la=>la.i).then(la=>{DailyRotateFile=la.default}),await __vitePreload(()=>import("./winston-CtxF18qc-B4TYM6WT.js"),__vite__mapDeps([22,11,13,1,3,9,5,14,15,16,18,19,10,20,21,17,4])).then(la=>la.w).then(la=>{winston=la.default}));let logger$1;function getLogLevel(){var la;return isNodeEnv&&E$a.env&&E$a.env.DEBUG?"debug":((la=void 0)===null||la===void 0?void 0:la.level)||"info"}function initializeLogger(){const la=getLogLevel();if(isNodeEnv){const aa=new DailyRotateFile({level:la,filename:"logs/app-%DATE%.log",datePattern:"YYYY-MM-DD",maxSize:"20m",maxFiles:"7d"});logger$1=winston.createLogger({level:la,format:winston.format.combine(winston.format.timestamp(),winston.format.printf(({timestamp:ca,level:ua,message:Sa})=>`[${ca}] ${ua}: ${Sa}`)),transports:[aa]})}else{let aa=function(ca){return ua=>{console.log(`${ca}: ${ua}`)}};logger$1={debug:aa("DEBUG"),info:aa("INFO"),warn:aa("WARN"),error:aa("ERROR")}}}initializeLogger();const PlannerInstructions=`Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.
16178
16178
  The model of a business application consists of entity definitions and workflows defined in "modules".
16179
16179
  A module is be encoded in a syntax inspired by JavaScript and JSON. Example of a simple module follows:
16180
16180
 
@@ -17429,7 +17429,7 @@ ${Vm}`),ml=`${ml}
17429
17429
  ${pl} --> ${Vm}
17430
17430
  `,Uf?pl=await preprocessStep(Vm.trim(),ua):(ua.setFlowContext(ml),await agentInvoke(aa,`${hl}
17431
17431
  ${ml}`,ua),pl=await preprocessStep(ua.getLastResult().trim(),ua))}}finally{ua.decrementMonitor().revokeLastResult().setMonitorFlowResult()}console.debug(`No more flow steps, completed iteration ${wc} on flow:
17432
- ${la}`)}async function preprocessStep(la,aa){if(la.startsWith("{")){const ua=(await parseStatement$1(la)).pattern.crudMap;if(ua){aa.resetTemplateMappings();const Sa=ua.name;return ua.body&&ua.body.attributes.forEach(hl=>{var pl,ml;const gl=(ml=(pl=hl.value)===null||pl===void 0?void 0:pl.$cstNode)===null||ml===void 0?void 0:ml.text;gl&&aa.setTemplateMapping(hl.name,gl)}),Sa}else throw new Error(`Invalid step - ${la}`)}else return la}async function handleOpenApiEvent(la,aa){const ca=await invokeOpenApiEvent(la.moduleName,la.name,la.attributesAsObject());aa.setLastResult(ca)}async function evaluateUpsert(la,aa){aa.setInUpsertMode(!0);try{await evaluateCrudMap(la,aa)}finally{aa.setInUpsertMode(!1)}}async function evaluateForEach(la,aa){const ca=la.var;await evaluatePattern(la.src,aa);const ua=aa.getLastResult();if(ua instanceof Array&&ua.length>0){const Sa=Environment.from(aa),hl=new Array;for(let pl=0;pl<ua.length;++pl)Sa.bind(ca,ua[pl]),await evaluateStatements(la.statements,Sa),hl.push(Sa.getLastResult());aa.setLastResult(hl)}else aa.setLastResult(EmptyResult)}async function evaluateIf(la,aa){await evaluateExpression(la.cond,aa),aa.getLastResult()?await evaluateStatements(la.statements,aa):la.else!==void 0&&await evaluateStatements(la.else.statements,aa)}async function evaluateDeleteHelper(la,aa,ca){const ua=Environment.from(ca).setInDeleteMode(!0);await evaluatePattern(la,ua),await maybeDeleteQueriedInstances(ua,ca,aa)}async function maybeDeleteQueriedInstances(la,aa,ca=!1){const ua=la.getLastResult();let Sa=Resolver.Default;if(ua instanceof Array)if(ua.length>0&&isEntityInstance$1(ua[0])){Sa=await getResolverForPath(ua[0].name,ua[0].moduleName,la);const hl=new Array;for(let pl=0;pl<ua.length;++pl){await runPreDeleteEvents(ua[pl],aa);const ml=await Sa.deleteInstance(ua[pl],ca);await runPostDeleteEvents(ua[pl],aa),hl.push(ml)}la.setLastResult(hl)}else la.setLastResult(ua);else if(isEntityInstance$1(ua)){Sa=await getResolverForPath(ua.name,ua.moduleName,la),await runPreDeleteEvents(ua,aa);const hl=await Sa.deleteInstance(ua,ca);await runPostDeleteEvents(ua,aa),la.setLastResult(hl)}aa.setLastResult(la.getLastResult())}async function evaluateDelete(la,aa){await evaluateDeleteHelper(la.pattern,!1,aa)}async function evaluatePurge(la,aa){await evaluateDeleteHelper(la.pattern,!0,aa)}async function evaluateExpression(la,aa){let ca=EmptyResult;if(isBinExpr$1(la)){await evaluateExpression(la.e1,aa);const ua=aa.getLastResult();if(la.op=="or"){if(ua)return;await evaluateExpression(la.e2,aa);return}else if(la.op=="and"){if(!ua)return;await evaluateExpression(la.e2,aa);return}if(ua==null){aa.setLastResult(void 0);return}await evaluateExpression(la.e2,aa);const Sa=aa.getLastResult();if(Sa==null){aa.setLastResult(void 0);return}switch(la.op){case"+":ca=ua+Sa;break;case"-":ca=ua-Sa;break;case"*":ca=ua*Sa;break;case"/":ca=ua/Sa;break;case"==":ca=ua==Sa;break;case"<":ca=ua<Sa;break;case">":ca=ua>Sa;break;case"<=":ca=ua<=Sa;break;case">=":ca=ua>=Sa;break;case"<>":case"!=":ca=ua!=Sa;break;case"like":ca=ua.startsWith(Sa);break;case"in":ca=Sa.find(hl=>{});break;default:throw new Error(`Unrecognized binary operator: ${la.op}`)}}else if(isNegExpr$1(la))await evaluateExpression(la.ne,aa),ca=-1*aa.getLastResult();else if(isGroup$2(la))await evaluateExpression(la.ge,aa),ca=aa.getLastResult();else if(isLiteral$1(la)){await evaluateLiteral(la,aa);return}else isNotExpr$1(la)&&(await evaluateExpression(la.ne,aa),ca=!aa.getLastResult());aa.setLastResult(ca)}async function getRef(la,aa,ca){return Instance$1.IsInstance(aa)?aa.lookup(la):aa instanceof Map?aa.get(la):aa instanceof Object?aa[la]:isPath$1(aa)?await getRef(la,await dereferencePath(aa,ca),ca):void 0}async function followReference(la,aa){const ca=splitRefs$1(aa);let ua=EmptyResult,Sa=la;for(let hl=0;hl<ca.length;++hl){const pl=ca[hl],ml=await getRef(pl,Sa,la);if(ml===void 0)return EmptyResult;ua=ml,Sa=ua}return ua}async function dereferencePath(la,aa){const ca=fqNameFromPath$1(la);if(ca===void 0)throw new Error(`Failed to deduce entry-name from path - ${la}`);const ua=new Environment("path-deref",aa);await parseAndEvaluateStatement(`{${ca} {${PathAttributeNameQuery$1} "${la}"}}`,aa.getAuthContextUserId(),ua);const Sa=ua.getLastResult();if(Sa&&Sa instanceof Array&&Sa.length>0)return Sa[0]}async function applyFn(la,aa,ca){const ua=la.name;if(ua!==void 0){let Sa=null;if(la.args!==void 0){Sa=new Array;for(let pl=0;pl<la.args.length;++pl){const ml=la.args[pl];isLiteral$1(ml)?await evaluateLiteral(ml,aa):await evaluateExpression(ml,aa),Sa.push(aa.getLastResult())}Sa.push(aa)}const hl=await invokeModuleFn(ua,Sa,ca);aa.setLastResult(hl)}}async function realizeArray(la,aa){const ca=new Array;for(let ua=0;ua<la.vals.length;++ua)await evaluateStatement(la.vals[ua],aa),ca.push(aa.getLastResult());aa.setLastResult(ca)}async function realizeMap(la,aa){const ca=new Map;for(let ua=0;ua<la.entries.length;++ua){const Sa=la.entries[ua],hl=getMapKey(Sa.key);await evaluateExpression(Sa.value,aa),ca.set(hl,aa.getLastResult())}aa.setLastResult(Object.fromEntries(ca.entries()))}async function callPostEventOnSubscription(la,aa,ca){const ua=ca===void 0,Sa=new Environment("onSubs.env");try{return await runPrePostEvents(la,!1,aa,Sa),ua&&await Sa.commitAllTransactions(),Sa.getLastResult()}catch(hl){await Sa.rollbackAllTransactions(),logger$3.error(`callPostEventOnSubscription failed for ${la} ${aa.getFqName()} - ${hl}`)}}async function runPrePostEvents(la,aa,ca,ua){const Sa=aa?ca.record.getPreTriggerInfo(la):ca.record.getPostTriggerInfo(la);if(Sa){const hl=nameToPath$1(Sa.eventName),pl=hl.hasModule()?hl.getModuleName():ca.record.moduleName,ml=makeInstance$1(pl,hl.getEntryName(),newInstanceAttributes$1().set(ca.record.name,ca)),gl=ua.getActiveAuthContext();gl&&ml.setAuthContext(gl);const wc=`${aa?"Pre":"Post"}-${CrudType$1[la]} ${ca.record.getFqName()}`,xu=jf=>{logger$3.debug(`${wc}: ${jf}`)},ff=jf=>{throw ua.hasHandlers()?jf:new Error(`${wc}: ${jf}`)};Sa.async?evaluate$1(ml,xu,bindAliasesForPrePost(ua,ca,wc)).catch(ff):await evaluate$1(ml,xu,bindAliasesForPrePost(ua,ca,wc)).catch(ff)}}function bindAliasesForPrePost(la,aa,ca){const ua=new Environment(`${ca}.env`,la),Sa=aa.getFqName();return ua.bind("this",aa),ua.bind(Sa,aa),ua.bind(aa.name,aa),ua}async function runPreCreateEvents(la,aa){await runPrePostEvents(CrudType$1.CREATE,!0,la,aa)}async function runPostCreateEvents(la,aa){la.requireAudit()&&await addCreateAudit(la.getPath(),aa),await runPrePostEvents(CrudType$1.CREATE,!1,la,aa)}async function runPreUpdateEvents(la,aa){await runPrePostEvents(CrudType$1.UPDATE,!0,la,aa)}async function runPostUpdateEvents(la,aa,ca){la.requireAudit()&&await addUpdateAudit(la.getPath(),aa,ca),await runPrePostEvents(CrudType$1.UPDATE,!1,la,ca)}async function runPreDeleteEvents(la,aa){await runPrePostEvents(CrudType$1.DELETE,!0,la,aa)}async function runPostDeleteEvents(la,aa){la.requireAudit()&&await addDeleteAudit(la.getPath(),la,aa),await runPrePostEvents(CrudType$1.DELETE,!1,la,aa)}async function fetchConfig(la){const aa=await parseAndEvaluateStatement(`{${la}? {}}`);if(aa&&aa!==null&&aa.length>0)return preprocessRawConfig(Object.fromEntries(aa[0].attributes))}const interpreter=Object.freeze(Object.defineProperty({__proto__:null,DocEventName,Environment,GlobalEnvironment,PatternHandler,callPostEventOnSubscription,get evaluate(){return evaluate$1},evaluateAsEvent,evaluateExpression,evaluatePattern,evaluateStatement,evaluateStatements,fetchConfig,handleAgentInvocation,handleOpenApiEvent,makeEventEvaluator,maybeBindStatementResultToAlias,maybeDeleteQueriedInstances,get parseAndEvaluateStatement(){return parseAndEvaluateStatement},restartFlow,runPostCreateEvents,runPostDeleteEvents,runPostUpdateEvents,setEvaluateFn,setParseAndEvaluateStatementFn},Symbol.toStringTag,{value:"Module"}));class JwtBaseError extends Error{}class FailedAssertionError extends JwtBaseError{constructor(aa,ca,ua){super(aa),this.failedAssertion={actual:ca,expected:ua}}}class JwtParseError extends JwtBaseError{constructor(aa,ca){const ua=ca!=null?`${aa}: ${ca}`:aa;super(ua)}}class ParameterValidationError extends JwtBaseError{}class JwtInvalidSignatureError extends JwtBaseError{}class JwtInvalidSignatureAlgorithmError extends FailedAssertionError{}class JwtInvalidClaimError extends FailedAssertionError{withRawJwt({header:aa,payload:ca}){return this.rawJwt={header:aa,payload:ca},this}}class JwtInvalidIssuerError extends JwtInvalidClaimError{}class JwtInvalidAudienceError extends JwtInvalidClaimError{}class JwtInvalidScopeError extends JwtInvalidClaimError{}class JwtExpiredError extends JwtInvalidClaimError{}class JwtNotBeforeError extends JwtInvalidClaimError{}class CognitoJwtInvalidGroupError extends JwtInvalidClaimError{}class CognitoJwtInvalidTokenUseError extends JwtInvalidClaimError{}class CognitoJwtInvalidClientIdError extends JwtInvalidClaimError{}class JwksValidationError extends JwtBaseError{}class JwkValidationError extends JwtBaseError{}class JwtWithoutValidKidError extends JwtBaseError{}class KidNotFoundInJwksError extends JwtBaseError{}class WaitPeriodNotYetEndedJwkError extends JwtBaseError{}class JwksNotAvailableInCacheError extends JwtBaseError{}class JwkInvalidUseError extends FailedAssertionError{}class JwkInvalidKtyError extends FailedAssertionError{}class FetchError extends JwtBaseError{constructor(aa,ca){super(`Failed to fetch ${aa}: ${ca}`)}}class NonRetryableFetchError extends FetchError{}class NotSupportedError extends JwtBaseError{}var NamedCurvesWebCrypto;(function(la){la.ES256="P-256",la.ES384="P-384",la.ES512="P-521"})(NamedCurvesWebCrypto||(NamedCurvesWebCrypto={}));const nodeWebCompat={fetch:async(la,aa,ca)=>{const ua=Number(aa?.responseTimeout);if(ua){const hl=new AbortController;setTimeout(()=>hl.abort(new FetchError(la,`Response time-out (after ${ua} ms.)`)),ua),aa={signal:hl.signal,...aa}}const Sa=await fetch(la,{...aa,body:ca}).catch(hl=>{throw new FetchError(la,hl.message)});if(Sa.status!==200)throw new NonRetryableFetchError(la,`Status code is ${Sa.status}, expected 200`);return Sa.arrayBuffer()},defaultFetchTimeouts:{response:3e3},transformJwkToKeyObjectSync:()=>{throw new NotSupportedError("Synchronously transforming a JWK into a key object is not supported in the browser")},transformJwkToKeyObjectAsync:(la,aa)=>{const ca=la.alg??aa;if(!ca)throw new JwtInvalidSignatureAlgorithmError("Missing alg on both JWK and JWT header",ca);const ua=ca.startsWith("RS")?{name:"RSASSA-PKCS1-v1_5",hash:`SHA-${ca.slice(2)}`}:ca.startsWith("ES")?{name:"ECDSA",namedCurve:NamedCurvesWebCrypto[ca]}:la.crv;return crypto.subtle.importKey("jwk",la,ua,!1,["verify"]).then(Sa=>({key:Sa,jwk:la}))},verifySignatureSync:()=>{throw new NotSupportedError("Synchronously verifying a JWT signature is not supported in the browser")},verifySignatureAsync:({jwsSigningInput:la,keyObject:aa,signature:ca,alg:ua})=>crypto.subtle.verify(ua.startsWith("RS")?{name:"RSASSA-PKCS1-v1_5"}:ua.startsWith("ES")?{name:"ECDSA",hash:`SHA-${ua.slice(2)}`}:{name:aa.jwk.crv},aa.key,bufferFromBase64url(ca),new TextEncoder().encode(la)),parseB64UrlString:la=>new TextDecoder().decode(bufferFromBase64url(la)),setTimeoutUnref:setTimeout.bind(void 0),transformPemToJwk:async(la,aa)=>{let ca;switch(aa){case"RS256":case"RS384":case"RS512":ca={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${aa.slice(2)}`};break;case"ES256":case"ES384":case"ES512":ca={name:"ECDSA",namedCurve:NamedCurvesWebCrypto[aa]};break;default:throw new JwtInvalidSignatureAlgorithmError("Unsupported signature algorithm",aa)}const ua=await crypto.subtle.importKey("spki",bufferFromBase64(new TextDecoder().decode(la).replace(/-----BEGIN PUBLIC KEY-----/,"").replace(/-----END PUBLIC KEY-----/,"").replace(/\s/g,"")),ca,!0,["verify"]);return crypto.subtle.exportKey("jwk",ua)}};function _bufferFromBase64(la){const aa=la.split("").reduce((ca,ua,Sa)=>Object.assign(ca,{[ua.charCodeAt(0)]:Sa}),{});return function(ca){ca=ca.replace(/={1,2}$/,"");let ua,Sa,hl,pl;return ca.match(/.{1,4}/g).reduce((ml,gl,wc)=>(ua=aa[gl.charCodeAt(0)],Sa=aa[gl.charCodeAt(1)],hl=aa[gl.charCodeAt(2)],pl=aa[gl.charCodeAt(3)],ml[3*wc]=ua<<2|Sa>>4,ml[3*wc+1]=(Sa&15)<<4|hl>>2,ml[3*wc+2]=(hl&3)<<6|pl,ml),new Uint8Array(ca.length*3/4))}}const bufferFromBase64url=_bufferFromBase64("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),bufferFromBase64=_bufferFromBase64("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),fetch$1=nodeWebCompat.fetch.bind(void 0);class SimpleFetcher{constructor(aa){this.defaultRequestOptions={timeout:nodeWebCompat.defaultFetchTimeouts.socketIdle,responseTimeout:nodeWebCompat.defaultFetchTimeouts.response,...aa?.defaultRequestOptions}}async fetch(aa,ca,ua){ca={...this.defaultRequestOptions,...ca};try{return await fetch$1(aa,ca,ua)}catch(Sa){if(Sa instanceof NonRetryableFetchError)throw Sa;return fetch$1(aa,ca,ua)}}}function isJsonObject(la){return typeof la=="object"&&!Array.isArray(la)&&la!==null}function safeJsonParse(la){return JSON.parse(la,(aa,ca)=>(typeof ca=="object"&&!Array.isArray(ca)&&ca!==null&&(delete ca.__proto__,delete ca.constructor),ca))}function assertStringEquals(la,aa,ca,ua=FailedAssertionError){if(!aa)throw new ua(`Missing ${la}. Expected: ${ca}`,aa,ca);if(typeof aa!="string")throw new ua(`${la} is not of type string`,aa,ca);if(ca!==aa)throw new ua(`${la} not allowed: ${aa}. Expected: ${ca}`,aa,ca)}function assertStringArrayContainsString(la,aa,ca,ua=FailedAssertionError){if(!aa)throw new ua(`Missing ${la}. ${expectationMessage(ca)}`,aa,ca);if(typeof aa!="string")throw new ua(`${la} is not of type string`,aa,ca);return assertStringArraysOverlap(la,aa,ca,ua)}function assertStringArraysOverlap(la,aa,ca,ua=FailedAssertionError){if(!aa)throw new ua(`Missing ${la}. ${expectationMessage(ca)}`,aa,ca);const Sa=new Set(Array.isArray(ca)?ca:[ca]);if(typeof aa=="string"&&(aa=[aa]),!Array.isArray(aa))throw new ua(`${la} is not an array`,aa,ca);if(!aa.some(pl=>{if(typeof pl!="string")throw new ua(`${la} includes elements that are not of type string`,aa,ca);return Sa.has(pl)}))throw new ua(`${la} not allowed: ${aa.join(", ")}. ${expectationMessage(ca)}`,aa,ca)}function expectationMessage(la){return Array.isArray(la)?la.length>1?`Expected one of: ${la.join(", ")}`:`Expected: ${la[0]}`:`Expected: ${la}`}function assertIsNotPromise(la,aa){if(la&&typeof la.then=="function")throw aa()}const optionalJwkFieldNames=["use","alg","kid","n","e","x","y","crv"],mandatoryJwkFieldNames=["kty"];function findJwkInJwks(la,aa){return la.keys.find(ca=>ca.kid!=null&&ca.kid===aa)}const parseJwks=function(la){let aa;try{const ca=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}).decode(la);aa=safeJsonParse(ca)}catch(ca){throw new JwksValidationError(`JWKS could not be parsed as JSON: ${ca}`)}return assertIsJwks(aa),aa};function assertIsJwks(la){if(!la)throw new JwksValidationError("JWKS empty");if(!isJsonObject(la))throw new JwksValidationError("JWKS should be an object");if(!Object.keys(la).includes("keys"))throw new JwksValidationError("JWKS does not include keys");if(!Array.isArray(la.keys))throw new JwksValidationError("JWKS keys should be an array");for(const aa of la.keys)assertIsJwk(aa)}function assertIsSignatureJwk(la){assertStringArrayContainsString("JWK kty",la.kty,["EC","RSA","OKP"],JwkInvalidKtyError),la.kty==="EC"?assertIsEsSignatureJwk(la):la.kty==="RSA"?assertIsRsaSignatureJwk(la):la.kty==="OKP"&&assertIsEdDSASignatureJwk(la)}function assertIsEdDSASignatureJwk(la){if(la.use&&assertStringEquals("JWK use",la.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",la.kty,"OKP",JwkInvalidKtyError),!la.crv)throw new JwkValidationError("Missing Curve (crv)");if(!la.x)throw new JwkValidationError("Missing X Coordinate (x)")}function assertIsEsSignatureJwk(la){if(la.use&&assertStringEquals("JWK use",la.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",la.kty,"EC",JwkInvalidKtyError),!la.crv)throw new JwkValidationError("Missing Curve (crv)");if(!la.x)throw new JwkValidationError("Missing X Coordinate (x)");if(!la.y)throw new JwkValidationError("Missing Y Coordinate (y)")}function assertIsRsaSignatureJwk(la){if(la.use&&assertStringEquals("JWK use",la.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",la.kty,"RSA",JwkInvalidKtyError),!la.n)throw new JwkValidationError("Missing modulus (n)");if(!la.e)throw new JwkValidationError("Missing exponent (e)")}function assertIsJwk(la){if(!la)throw new JwkValidationError("JWK empty");if(!isJsonObject(la))throw new JwkValidationError("JWK should be an object");for(const aa of mandatoryJwkFieldNames)if(typeof la[aa]!="string")throw new JwkValidationError(`JWK ${aa} should be a string`);for(const aa of optionalJwkFieldNames)if(aa in la&&typeof la[aa]!="string")throw new JwkValidationError(`JWK ${aa} should be a string`)}function isJwks(la){try{return assertIsJwks(la),!0}catch{return!1}}function isJwk(la){try{return assertIsJwk(la),!0}catch{return!1}}class SimplePenaltyBox{constructor(aa){this.waitingUris=new Map,this.waitSeconds=aa?.waitSeconds??10}async wait(aa){if(this.waitingUris.has(aa))throw new WaitPeriodNotYetEndedJwkError("Not allowed to fetch JWKS yet, still waiting for back off period to end")}release(aa){const ca=this.waitingUris.get(aa);ca&&(clearTimeout(ca),this.waitingUris.delete(aa))}registerFailedAttempt(aa){const ca=nodeWebCompat.setTimeoutUnref(()=>{this.waitingUris.delete(aa)},this.waitSeconds*1e3);this.waitingUris.set(aa,ca)}registerSuccessfulAttempt(aa){this.release(aa)}}class SimpleJwksCache{constructor(aa){this.jwksCache=new Map,this.fetchingJwks=new Map,this.penaltyBox=aa?.penaltyBox??new SimplePenaltyBox,this.fetcher=aa?.fetcher??new SimpleFetcher,this.jwksParser=aa?.jwksParser??parseJwks}addJwks(aa,ca){this.jwksCache.set(aa,ca)}async getJwks(aa){const ca=this.fetchingJwks.get(aa);if(ca)return ca;const ua=this.fetcher.fetch(aa).then(this.jwksParser);this.fetchingJwks.set(aa,ua);let Sa;try{Sa=await ua}finally{this.fetchingJwks.delete(aa)}return this.jwksCache.set(aa,Sa),Sa}getCachedJwk(aa,ca){if(typeof ca.header.kid!="string")throw new JwtWithoutValidKidError("JWT header does not have valid kid claim");if(!this.jwksCache.has(aa))throw new JwksNotAvailableInCacheError(`JWKS for uri ${aa} not yet available in cache`);const ua=findJwkInJwks(this.jwksCache.get(aa),ca.header.kid);if(!ua)throw new KidNotFoundInJwksError(`JWK for kid ${ca.header.kid} not found in the JWKS`);return ua}async getJwk(aa,ca){if(typeof ca.header.kid!="string")throw new JwtWithoutValidKidError("JWT header does not have valid kid claim");const ua=this.jwksCache.get(aa);if(ua){const pl=findJwkInJwks(ua,ca.header.kid);if(pl)return pl}await this.penaltyBox.wait(aa,ca.header.kid);const Sa=await this.getJwks(aa),hl=findJwkInJwks(Sa,ca.header.kid);if(hl)this.penaltyBox.registerSuccessfulAttempt(aa,ca.header.kid);else throw this.penaltyBox.registerFailedAttempt(aa,ca.header.kid),new KidNotFoundInJwksError(`JWK for kid "${ca.header.kid}" not found in the JWKS`);return hl}}function assertJwtHeader(la){if(!isJsonObject(la))throw new JwtParseError("JWT header is not an object");if(la.alg!==void 0&&typeof la.alg!="string")throw new JwtParseError("JWT header alg claim is not a string");if(la.kid!==void 0&&typeof la.kid!="string")throw new JwtParseError("JWT header kid claim is not a string")}function assertJwtPayload(la){if(!isJsonObject(la))throw new JwtParseError("JWT payload is not an object");if(la.exp!==void 0&&!Number.isFinite(la.exp))throw new JwtParseError("JWT payload exp claim is not a number");if(la.iss!==void 0&&typeof la.iss!="string")throw new JwtParseError("JWT payload iss claim is not a string");if(la.sub!==void 0&&typeof la.sub!="string")throw new JwtParseError("JWT payload sub claim is not a string");if(la.aud!==void 0&&typeof la.aud!="string"&&(!Array.isArray(la.aud)||la.aud.some(aa=>typeof aa!="string")))throw new JwtParseError("JWT payload aud claim is not a string or array of strings");if(la.nbf!==void 0&&!Number.isFinite(la.nbf))throw new JwtParseError("JWT payload nbf claim is not a number");if(la.iat!==void 0&&!Number.isFinite(la.iat))throw new JwtParseError("JWT payload iat claim is not a number");if(la.scope!==void 0&&typeof la.scope!="string")throw new JwtParseError("JWT payload scope claim is not a string");if(la.jti!==void 0&&typeof la.jti!="string")throw new JwtParseError("JWT payload jti claim is not a string")}const JWT_REGEX=/^[A-Za-z0-9_-]+={0,2}\.[A-Za-z0-9_-]+={0,2}\.[A-Za-z0-9_-]+={0,2}$/;function decomposeUnverifiedJwt(la){if(!la)throw new JwtParseError("Empty JWT");if(typeof la!="string")throw new JwtParseError("JWT is not a string");if(!JWT_REGEX.test(la))throw new JwtParseError("JWT string does not consist of exactly 3 parts (header, payload, signature)");const[aa,ca,ua]=la.split("."),[Sa,hl]=[aa,ca].map(nodeWebCompat.parseB64UrlString);let pl;try{pl=safeJsonParse(Sa)}catch(gl){throw new JwtParseError("Invalid JWT. Header is not a valid JSON object",gl)}assertJwtHeader(pl);let ml;try{ml=safeJsonParse(hl)}catch(gl){throw new JwtParseError("Invalid JWT. Payload is not a valid JSON object",gl)}return assertJwtPayload(ml),{header:pl,headerB64:aa,payload:ml,payloadB64:ca,signatureB64:ua}}function validateJwtFields(la,aa){if(la.exp!==void 0&&la.exp+(aa.graceSeconds??0)<Date.now()/1e3)throw new JwtExpiredError(`Token expired at ${new Date(la.exp*1e3).toISOString()}`,la.exp);if(la.nbf!==void 0&&la.nbf-(aa.graceSeconds??0)>Date.now()/1e3)throw new JwtNotBeforeError(`Token can't be used before ${new Date(la.nbf*1e3).toISOString()}`,la.nbf);if(aa.issuer!==null){if(aa.issuer===void 0)throw new ParameterValidationError("issuer must be provided or set to null explicitly");assertStringArrayContainsString("Issuer",la.iss,aa.issuer,JwtInvalidIssuerError)}if(aa.audience!==null){if(aa.audience===void 0)throw new ParameterValidationError("audience must be provided or set to null explicitly");assertStringArraysOverlap("Audience",la.aud,aa.audience,JwtInvalidAudienceError)}aa.scope!=null&&assertStringArraysOverlap("Scope",la.scope?.split(" "),aa.scope,JwtInvalidScopeError)}const supportedSignatureAlgorithms=["RS256","RS384","RS512","ES256","ES384","ES512","EdDSA"];function validateJwtHeaderAndJwk(la,aa){assertIsSignatureJwk(aa),aa.alg&&assertStringEquals("JWT signature algorithm",la.alg,aa.alg,JwtInvalidSignatureAlgorithmError),assertStringArrayContainsString("JWT signature algorithm",la.alg,supportedSignatureAlgorithms,JwtInvalidSignatureAlgorithmError)}async function verifyDecomposedJwt(la,aa,ca,ua,Sa){const{header:hl,headerB64:pl,payload:ml,payloadB64:gl,signatureB64:wc}=la,xu=await ua(aa,la);validateJwtHeaderAndJwk(la.header,xu);const ff=await Sa(xu,hl.alg,ml.iss);if(!await nodeWebCompat.verifySignatureAsync({jwsSigningInput:`${pl}.${gl}`,signature:wc,alg:hl.alg,keyObject:ff}))throw new JwtInvalidSignatureError("Invalid signature");try{validateJwtFields(ml,ca),ca.customJwtCheck&&await ca.customJwtCheck({header:hl,payload:ml,jwk:xu})}catch(Uf){throw ca.includeRawJwtInErrors&&Uf instanceof JwtInvalidClaimError?Uf.withRawJwt(la):Uf}return ml}function verifyDecomposedJwtSync(la,aa,ca,ua){const{header:Sa,headerB64:hl,payload:pl,payloadB64:ml,signatureB64:gl}=la;let wc;if(isJwk(aa))wc=aa;else if(isJwks(aa)){const jf=Sa.kid?findJwkInJwks(aa,Sa.kid):void 0;if(!jf)throw new KidNotFoundInJwksError(`JWK for kid ${Sa.kid} not found in the JWKS`);wc=jf}else throw new ParameterValidationError([`Expected a valid JWK or JWKS (parsed as JavaScript object), but received: ${aa}.`,"If you're passing a JWKS URI, use the async verify() method instead, it will download and parse the JWKS for you"].join());validateJwtHeaderAndJwk(la.header,wc);const xu=ua(wc,Sa.alg,pl.iss);if(!nodeWebCompat.verifySignatureSync({jwsSigningInput:`${hl}.${ml}`,signature:gl,alg:Sa.alg,keyObject:xu}))throw new JwtInvalidSignatureError("Invalid signature");try{if(validateJwtFields(pl,ca),ca.customJwtCheck){const jf=ca.customJwtCheck({header:Sa,payload:pl,jwk:wc});assertIsNotPromise(jf,()=>new ParameterValidationError("Custom JWT checks must be synchronous but a promise was returned"))}}catch(jf){throw ca.includeRawJwtInErrors&&jf instanceof JwtInvalidClaimError?jf.withRawJwt(la):jf}return pl}class JwtVerifierBase{constructor(aa,ca=new SimpleJwksCache){if(this.jwksCache=ca,this.issuersConfig=new Map,this.publicKeyCache=new KeyObjectCache,Array.isArray(aa)){if(!aa.length)throw new ParameterValidationError("Provide at least one issuer configuration");aa.forEach((ua,Sa)=>{if(this.issuersConfig.has(ua.issuer))throw new ParameterValidationError(`issuer ${ua.issuer} supplied multiple times`);if(ua.issuer===null&&aa.length>=2)throw new ParameterValidationError(`issuer cannot be null when multiple issuers are supplied (at issuer: ${Sa})`);this.issuersConfig.set(ua.issuer,this.withJwksUri(ua))})}else this.issuersConfig.set(aa.issuer,this.withJwksUri(aa))}getIssuerConfig(aa){if(this.issuersConfig.size===1&&(aa=this.issuersConfig.keys().next().value),aa===void 0)throw new ParameterValidationError("issuer must be provided");const ca=this.issuersConfig.get(aa);if(!ca)throw new ParameterValidationError(`issuer not configured: ${aa}`);return ca}cacheJwks(...[aa,ca]){const ua=this.getIssuerConfig(ca);this.jwksCache.addJwks(ua.jwksUri,aa),this.publicKeyCache.clearCache(ua.issuer)}async hydrate(){const aa=Array.from(this.issuersConfig.values()).map(({jwksUri:ca})=>this.jwksCache.getJwks(ca));await Promise.all(aa)}verifySync(...[aa,ca]){const{decomposedJwt:ua,jwksUri:Sa,verifyProperties:hl}=this.getVerifyParameters(aa,ca);return this.verifyDecomposedJwtSync(ua,Sa,hl)}verifyDecomposedJwtSync(aa,ca,ua){const Sa=this.jwksCache.getCachedJwk(ca,aa);return verifyDecomposedJwtSync(aa,Sa,ua,this.publicKeyCache.transformJwkToKeyObjectSync.bind(this.publicKeyCache))}async verify(...[aa,ca]){const{decomposedJwt:ua,jwksUri:Sa,verifyProperties:hl}=this.getVerifyParameters(aa,ca);return this.verifyDecomposedJwt(ua,Sa,hl)}verifyDecomposedJwt(aa,ca,ua){return verifyDecomposedJwt(aa,ca,ua,this.jwksCache.getJwk.bind(this.jwksCache),this.publicKeyCache.transformJwkToKeyObjectAsync.bind(this.publicKeyCache))}getVerifyParameters(aa,ca){const ua=decomposeUnverifiedJwt(aa),Sa=this.getIssuerConfig(ua.payload.iss);return{decomposedJwt:ua,jwksUri:Sa.jwksUri,verifyProperties:{...Sa,...ca}}}withJwksUri(aa){if(aa.jwksUri)return aa;const ca=aa.issuer;if(!ca)throw new ParameterValidationError("jwksUri must be provided for issuer null");const ua=new URL(ca).pathname.replace(/\/$/,"");return{jwksUri:new URL(`${ua}/.well-known/jwks.json`,ca).href,...aa}}}class KeyObjectCache{constructor(aa=nodeWebCompat.transformJwkToKeyObjectSync,ca=nodeWebCompat.transformJwkToKeyObjectAsync){this.transformJwkToKeyObjectSyncFn=aa,this.transformJwkToKeyObjectAsyncFn=ca,this.publicKeys=new Map}transformJwkToKeyObjectSync(aa,ca,ua){const Sa=aa.alg??ca;if(!ua||!aa.kid||!Sa)return this.transformJwkToKeyObjectSyncFn(aa,Sa,ua);const hl=this.publicKeys.get(ua)?.get(aa.kid)?.get(Sa);if(hl)return hl;const pl=this.transformJwkToKeyObjectSyncFn(aa,Sa,ua);return this.putKeyObjectInCache(ua,aa.kid,Sa,pl),pl}async transformJwkToKeyObjectAsync(aa,ca,ua){const Sa=aa.alg??ca;if(!ua||!aa.kid||!Sa)return this.transformJwkToKeyObjectAsyncFn(aa,Sa,ua);const hl=this.publicKeys.get(ua)?.get(aa.kid)?.get(Sa);if(hl)return hl;const pl=await this.transformJwkToKeyObjectAsyncFn(aa,Sa,ua);return this.putKeyObjectInCache(ua,aa.kid,Sa,pl),pl}putKeyObjectInCache(aa,ca,ua,Sa){const hl=this.publicKeys.get(aa),pl=hl?.get(ca);pl?pl.set(ua,Sa):hl?hl.set(ca,new Map([[ua,Sa]])):this.publicKeys.set(aa,new Map([[ca,new Map([[ua,Sa]])]]))}clearCache(aa){this.publicKeys.delete(aa)}}function validateCognitoJwtFields(la,aa){if(aa.groups!=null&&assertStringArraysOverlap("Cognito group",la["cognito:groups"],aa.groups,CognitoJwtInvalidGroupError),assertStringArrayContainsString("Token use",la.token_use,["id","access"],CognitoJwtInvalidTokenUseError),aa.tokenUse!==null){if(aa.tokenUse===void 0)throw new ParameterValidationError("tokenUse must be provided or set to null explicitly");assertStringEquals("Token use",la.token_use,aa.tokenUse,CognitoJwtInvalidTokenUseError)}if(aa.clientId!==null){if(aa.clientId===void 0)throw new ParameterValidationError("clientId must be provided or set to null explicitly");la.token_use==="id"?assertStringArrayContainsString('Client ID ("audience")',la.aud,aa.clientId,CognitoJwtInvalidClientIdError):assertStringArrayContainsString("Client ID",la.client_id,aa.clientId,CognitoJwtInvalidClientIdError)}}class CognitoJwtVerifier extends JwtVerifierBase{constructor(aa,ca){const ua=Array.isArray(aa)?aa.map(Sa=>({...Sa,...CognitoJwtVerifier.parseUserPoolId(Sa.userPoolId),audience:null})):{...aa,...CognitoJwtVerifier.parseUserPoolId(aa.userPoolId),audience:null};super(ua,ca)}static parseUserPoolId(aa){const ca=aa.match(this.USER_POOL_ID_REGEX);if(!ca)throw new ParameterValidationError(`Invalid Cognito User Pool ID: ${aa}`);const Sa=`https://cognito-idp.${ca.groups.region}.amazonaws.com/${aa}`;return{issuer:Sa,jwksUri:`${Sa}/.well-known/jwks.json`}}static create(aa,ca){return new this(aa,ca?.jwksCache)}verifySync(...[aa,ca]){const{decomposedJwt:ua,jwksUri:Sa,verifyProperties:hl}=this.getVerifyParameters(aa,ca);this.verifyDecomposedJwtSync(ua,Sa,hl);try{validateCognitoJwtFields(ua.payload,hl)}catch(pl){throw hl.includeRawJwtInErrors&&pl instanceof JwtInvalidClaimError?pl.withRawJwt(ua):pl}return ua.payload}async verify(...[aa,ca]){const{decomposedJwt:ua,jwksUri:Sa,verifyProperties:hl}=this.getVerifyParameters(aa,ca);await this.verifyDecomposedJwt(ua,Sa,hl);try{validateCognitoJwtFields(ua.payload,hl)}catch(pl){throw hl.includeRawJwtInErrors&&pl instanceof JwtInvalidClaimError?pl.withRawJwt(ua):pl}return ua.payload}cacheJwks(...[aa,ca]){let ua;if(ca!==void 0)ua=CognitoJwtVerifier.parseUserPoolId(ca).issuer;else if(Array.from(this.issuersConfig).length>1)throw new ParameterValidationError("userPoolId must be provided");const Sa=this.getIssuerConfig(ua);super.cacheJwks(aa,Sa.issuer)}}CognitoJwtVerifier.USER_POOL_ID_REGEX=/^(?<region>[a-z]{2}-(gov-)?[a-z]+-\d)_[a-zA-Z0-9]+$/;var __assign=function(){return __assign=Object.assign||function(aa){for(var ca,ua=1,Sa=arguments.length;ua<Sa;ua++){ca=arguments[ua];for(var hl in ca)Object.prototype.hasOwnProperty.call(ca,hl)&&(aa[hl]=ca[hl])}return aa},__assign.apply(this,arguments)};function __rest(la,aa){var ca={};for(var ua in la)Object.prototype.hasOwnProperty.call(la,ua)&&aa.indexOf(ua)<0&&(ca[ua]=la[ua]);if(la!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Sa=0,ua=Object.getOwnPropertySymbols(la);Sa<ua.length;Sa++)aa.indexOf(ua[Sa])<0&&Object.prototype.propertyIsEnumerable.call(la,ua[Sa])&&(ca[ua[Sa]]=la[ua[Sa]]);return ca}function __awaiter(la,aa,ca,ua){function Sa(hl){return hl instanceof ca?hl:new ca(function(pl){pl(hl)})}return new(ca||(ca=Promise))(function(hl,pl){function ml(xu){try{wc(ua.next(xu))}catch(ff){pl(ff)}}function gl(xu){try{wc(ua.throw(xu))}catch(ff){pl(ff)}}function wc(xu){xu.done?hl(xu.value):Sa(xu.value).then(ml,gl)}wc((ua=ua.apply(la,aa||[])).next())})}function __generator(la,aa){var ca={label:0,sent:function(){if(hl[0]&1)throw hl[1];return hl[1]},trys:[],ops:[]},ua,Sa,hl,pl=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return pl.next=ml(0),pl.throw=ml(1),pl.return=ml(2),typeof Symbol=="function"&&(pl[Symbol.iterator]=function(){return this}),pl;function ml(wc){return function(xu){return gl([wc,xu])}}function gl(wc){if(ua)throw new TypeError("Generator is already executing.");for(;pl&&(pl=0,wc[0]&&(ca=0)),ca;)try{if(ua=1,Sa&&(hl=wc[0]&2?Sa.return:wc[0]?Sa.throw||((hl=Sa.return)&&hl.call(Sa),0):Sa.next)&&!(hl=hl.call(Sa,wc[1])).done)return hl;switch(Sa=0,hl&&(wc=[wc[0]&2,hl.value]),wc[0]){case 0:case 1:hl=wc;break;case 4:return ca.label++,{value:wc[1],done:!1};case 5:ca.label++,Sa=wc[1],wc=[0];continue;case 7:wc=ca.ops.pop(),ca.trys.pop();continue;default:if(hl=ca.trys,!(hl=hl.length>0&&hl[hl.length-1])&&(wc[0]===6||wc[0]===2)){ca=0;continue}if(wc[0]===3&&(!hl||wc[1]>hl[0]&&wc[1]<hl[3])){ca.label=wc[1];break}if(wc[0]===6&&ca.label<hl[1]){ca.label=hl[1],hl=wc;break}if(hl&&ca.label<hl[2]){ca.label=hl[2],ca.ops.push(wc);break}hl[2]&&ca.ops.pop(),ca.trys.pop();continue}wc=aa.call(la,ca)}catch(xu){wc=[6,xu],Sa=0}finally{ua=hl=0}if(wc[0]&5)throw wc[1];return{value:wc[0]?wc[1]:void 0,done:!0}}}function __spreadArray(la,aa,ca){if(ca||arguments.length===2)for(var ua=0,Sa=aa.length,hl;ua<Sa;ua++)(hl||!(ua in aa))&&(hl||(hl=Array.prototype.slice.call(aa,0,ua)),hl[ua]=aa[ua]);return la.concat(hl||Array.prototype.slice.call(aa))}typeof SuppressedError=="function"&&SuppressedError;var define_process_env_default$2={};let fromEnv,CognitoIdentityProviderClient,SignUpCommand,ConfirmSignUp,ResendConfirmationCodeCommand,ForgotPasswordCommand,ConfirmForgotPasswordCommand,AdminGetUserCommand,InitiateAuthCommand,AdminCreateUserCommand,AdminDisableUserCommand,AdminEnableUserCommand,AdminDeleteUserCommand,RespondToAuthChallengeCommand,AuthenticationDetails,CognitoUser,CognitoUserPool,CognitoUserSession,CognitoIdToken,CognitoAccessToken,CognitoRefreshToken;if(isNodeEnv$1){fromEnv=(await __vitePreload(()=>import("./index.browser-GiwbU6nH.js"),__vite__mapDeps([26,19,27]))).fromEnv;const aa=await __vitePreload(()=>import("./index-DvWiNIm-.js"),__vite__mapDeps([28,29,27,19,30,1,18,5,9,16,11,14,15,10,20,21,17,4]));CognitoIdentityProviderClient=aa.CognitoIdentityProviderClient,SignUpCommand=aa.SignUpCommand,ConfirmSignUp=aa.ConfirmSignUpCommand,ResendConfirmationCodeCommand=aa.ResendConfirmationCodeCommand,ForgotPasswordCommand=aa.ForgotPasswordCommand,ConfirmForgotPasswordCommand=aa.ConfirmForgotPasswordCommand,AdminGetUserCommand=aa.AdminGetUserCommand,InitiateAuthCommand=aa.InitiateAuthCommand,AdminCreateUserCommand=aa.AdminCreateUserCommand,AdminDisableUserCommand=aa.AdminDisableUserCommand,AdminEnableUserCommand=aa.AdminEnableUserCommand,AdminDeleteUserCommand=aa.AdminDeleteUserCommand,RespondToAuthChallengeCommand=aa.RespondToAuthChallengeCommand;const ca=await __vitePreload(()=>import("./index-BHDiPh0o.js"),__vite__mapDeps([31,1,4,5]));AuthenticationDetails=ca.AuthenticationDetails,CognitoUser=ca.CognitoUser,CognitoUserPool=ca.CognitoUserPool,CognitoUserSession=ca.CognitoUserSession,CognitoIdToken=ca.CognitoIdToken,CognitoAccessToken=ca.CognitoAccessToken,CognitoRefreshToken=ca.CognitoRefreshToken}const defaultConfig$1=isNodeEnv$1?new Map().set("UserPoolId",define_process_env_default$2.COGNITO_USER_POOL_ID).set("ClientId",define_process_env_default$2.COGNITO_CLIENT_ID):new Map;function handleCognitoError(la,aa){var ca;const ua=sanitizeErrorMessage(la.message||"");switch(logger$3.error(`Cognito error in ${aa}: ${la.name} - ${ua}`,{errorName:la.name,errorCode:la.code,context:aa,statusCode:(ca=la.$metadata)===null||ca===void 0?void 0:ca.httpStatusCode}),la.name){case"UserNotFoundException":throw logger$3.debug(`User not found in context: ${aa}`),new UserNotFoundError$1("User account not found. Please check your email or sign up.");case"NotAuthorizedException":throw la.message&&la.message.includes("password")?(logger$3.debug(`Invalid password attempt in context: ${aa}`),new UnauthorisedError$1("Invalid password. Please try again.")):la.message&&la.message.includes("not confirmed")?(logger$3.debug(`User not confirmed in context: ${aa}`),new UserNotConfirmedError$1):(logger$3.debug(`Authentication failed in context: ${aa}`),new UnauthorisedError$1("Authentication failed. Please check your credentials."));case"UserNotConfirmedException":throw logger$3.debug(`User not confirmed in context: ${aa}`),new UserNotConfirmedError$1;case"PasswordResetRequiredException":throw logger$3.debug(`Password reset required in context: ${aa}`),new PasswordResetRequiredError$1;case"TooManyRequestsException":throw logger$3.warn(`Rate limit exceeded in context: ${aa}`),new TooManyRequestsError$1;case"TooManyFailedAttemptsException":throw logger$3.warn(`Too many failed attempts in context: ${aa}`),new TooManyRequestsError$1("Too many failed login attempts. Please try again later.");case"InvalidParameterException":throw logger$3.debug(`Invalid parameters in context: ${aa}`),new InvalidParameterError$1(sanitizeErrorMessage(la.message)||"Invalid parameters provided");case"ExpiredCodeException":throw logger$3.debug(`Expired code in context: ${aa}`),new ExpiredCodeError$1;case"CodeMismatchException":throw logger$3.debug(`Code mismatch in context: ${aa}`),new CodeMismatchError$1;case"UsernameExistsException":throw logger$3.debug(`Username exists in context: ${aa}`),new BadRequestError$4("An account with this email already exists.");case"InvalidPasswordException":throw logger$3.debug(`Invalid password format in context: ${aa}`),new BadRequestError$4("Password does not meet requirements. It must be at least 8 characters long and contain uppercase, lowercase, numbers, and special characters.");case"LimitExceededException":throw logger$3.warn(`Service limit exceeded in context: ${aa}`),new TooManyRequestsError$1("Service limit exceeded. Please try again later.");case"InternalErrorException":throw logger$3.error(`Internal Cognito error in context: ${aa}`),new Error("Authentication service is temporarily unavailable. Please try again later.");case"ResourceNotFoundException":throw logger$3.error(`Resource not found in context: ${aa}`),new Error("Authentication service configuration error. Please contact support.");case"AliasExistsException":throw logger$3.debug(`Alias exists in context: ${aa}`),new BadRequestError$4("An account with this email already exists.");case"InvalidEmailRoleAccessPolicyException":throw logger$3.error(`Invalid email role access policy in context: ${aa}`),new Error("Email service configuration error. Please contact support.");case"UserLambdaValidationException":throw logger$3.error(`User lambda validation error in context: ${aa}`),new BadRequestError$4("User validation failed. Please check your input and try again.");case"UnsupportedUserStateException":throw logger$3.debug(`Unsupported user state in context: ${aa}`),new UserNotConfirmedError$1("User account is in an unsupported state. Please contact support.");case"MFAMethodNotFoundException":throw logger$3.debug(`MFA method not found in context: ${aa}`),new BadRequestError$4("MFA method not found. Please set up MFA and try again.");case"CodeDeliveryFailureException":throw logger$3.error(`Code delivery failure in context: ${aa}`),new Error("Unable to deliver verification code. Please try again later.");case"DuplicateProviderException":throw logger$3.error(`Duplicate provider in context: ${aa}`),new BadRequestError$4("Authentication provider already exists.");case"EnableSoftwareTokenMFAException":throw logger$3.debug(`Software token MFA required in context: ${aa}`),new BadRequestError$4("Software token MFA setup required.");case"ForbiddenException":throw logger$3.warn(`Forbidden access in context: ${aa}`),new UnauthorisedError$1("Access forbidden. Please check your permissions.");case"GroupExistsException":throw logger$3.debug(`Group exists in context: ${aa}`),new BadRequestError$4("Group already exists.");case"InvalidLambdaResponseException":throw logger$3.error(`Invalid lambda response in context: ${aa}`),new Error("Authentication service error. Please try again later.");case"InvalidOAuthFlowException":throw logger$3.error(`Invalid OAuth flow in context: ${aa}`),new BadRequestError$4("Invalid OAuth flow. Please try again.");case"InvalidSmsRoleAccessPolicyException":throw logger$3.error(`Invalid SMS role access policy in context: ${aa}`),new Error("SMS service configuration error. Please contact support.");case"InvalidSmsRoleTrustRelationshipException":throw logger$3.error(`Invalid SMS role trust relationship in context: ${aa}`),new Error("SMS service configuration error. Please contact support.");case"InvalidUserPoolConfigurationException":throw logger$3.error(`Invalid user pool configuration in context: ${aa}`),new Error("Authentication service configuration error. Please contact support.");case"PreconditionNotMetException":throw logger$3.debug(`Precondition not met in context: ${aa}`),new BadRequestError$4("Precondition not met. Please check your request and try again.");case"ScopeDoesNotExistException":throw logger$3.error(`Scope does not exist in context: ${aa}`),new BadRequestError$4("Invalid scope. Please check your request.");case"UnexpectedLambdaException":throw logger$3.error(`Unexpected lambda exception in context: ${aa}`),new Error("Authentication service error. Please try again later.");case"UserImportInProgressException":throw logger$3.warn(`User import in progress in context: ${aa}`),new TooManyRequestsError$1("User import in progress. Please try again later.");case"UserPoolTaggingException":throw logger$3.error(`User pool tagging exception in context: ${aa}`),new Error("Authentication service configuration error. Please contact support.");default:throw logger$3.error(`Unhandled Cognito error: ${la.name}`,{errorName:la.name,errorCode:la.code,context:aa}),new Error(`Authentication error: ${sanitizeErrorMessage(la.message)||"An unexpected error occurred"}`)}}function sanitizeErrorMessage(la){return la?la.replace(/password/gi,"[REDACTED]").replace(/token/gi,"[REDACTED]").replace(/secret/gi,"[REDACTED]").replace(/key/gi,"[REDACTED]").replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,"[EMAIL_REDACTED]").replace(/\b[A-Fa-f0-9]{32,}\b/g,"[TOKEN_REDACTED]").replace(/\b\d{4,}\b/g,"[NUMBER_REDACTED]"):""}class CognitoAuth{constructor(aa){this.config=aa||defaultConfig$1;const ca=this.config.get("UserPoolId");ca&&(this.userPool=new CognitoUserPool({UserPoolId:ca,ClientId:this.fetchClientId()}))}fetchUserPoolId(){return this.fetchConfig("UserPoolId")}fetchClientId(){return this.fetchConfig("ClientId")}fetchConfig(aa){const ca=this.config.get(aa);if(ca)return ca;throw new Error(`${aa} is not set`)}async signUp(aa,ca,ua,Sa,hl,pl,ml){const gl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),wc=[{Name:"email",Value:ua},{Name:"name",Value:ua},{Name:"given_name",Value:aa},{Name:"family_name",Value:ca}];hl&&hl.forEach((jf,Uf)=>{wc.push({Name:Uf,Value:jf})});const xu={ClientId:this.config.get("ClientId"),Username:ua,Password:Sa,UserAttributes:wc,ValidationData:wc},ff=new SignUpCommand(xu);try{logger$3.debug(`Attempting signup for user: ${ua}`);const jf=await gl.send(ff);if(jf.$metadata.httpStatusCode==200){logger$3.info(`Signup successful for user: ${ua}`);const Uf=await ensureUser(ua,aa,ca,pl,"Active"),rp={username:ua,firstName:aa,lastName:ca,id:Uf.id,systemUserInfo:jf.UserSub};ml(rp)}else throw logger$3.error(`Signup failed with HTTP status ${jf.$metadata.httpStatusCode}`,{username:ua,statusCode:jf.$metadata.httpStatusCode}),new BadRequestError$4(`Signup failed with status ${jf.$metadata.httpStatusCode}`)}catch(jf){if(jf instanceof BadRequestError$4)throw jf;logger$3.error(`Signup error for user ${ua}:`,{errorName:jf.name,errorMessage:sanitizeErrorMessage(jf.message)}),handleCognitoError(jf,"signUp")}}async confirmSignup(aa,ca,ua){try{const Sa=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),hl=new ConfirmSignUp({ClientId:this.config.get("ClientId"),Username:aa,ConfirmationCode:ca});await Sa.send(hl)}catch(Sa){logger$3.error(`Failed to confirm signup: ${Sa.message}`),handleCognitoError(Sa,"confirmSignup")}}async resendConfirmationCode(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Sa=new ResendConfirmationCodeCommand({ClientId:this.config.get("ClientId"),Username:aa});await ua.send(Sa)}catch(ua){logger$3.error(`Failed to resend confirmation code: ${ua.message}`),handleCognitoError(ua,"resendConfirmationCode")}}async forgotPassword(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Sa=new ForgotPasswordCommand({ClientId:this.fetchClientId(),Username:aa});await ua.send(Sa)}catch(ua){logger$3.error(`Forgot password failed for ${aa}: ${sanitizeErrorMessage(ua.message)}`),handleCognitoError(ua,"forgotPassword")}}async confirmForgotPassword(aa,ca,ua,Sa){try{const hl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),pl=new ConfirmForgotPasswordCommand({ClientId:this.fetchClientId(),Username:aa,ConfirmationCode:ca,Password:ua});await hl.send(pl)}catch(hl){logger$3.error(`Confirm forgot password failed for ${aa}: ${sanitizeErrorMessage(hl.message)}`),handleCognitoError(hl,"confirmForgotPassword")}}async login(aa,ca,ua,Sa){if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID){const pl=new CognitoUser({Username:aa,Pool:this.fetchUserPool()}),ml=new AuthenticationDetails({Username:aa,Password:ca});let gl,wc;for(pl.authenticateUser(ml,{onSuccess:xu=>{gl=xu},onFailure:xu=>{logger$3.debug(`Cognito authentication failed for user ${aa}:`,{errorName:xu.name,errorMessage:sanitizeErrorMessage(xu.message)}),wc=xu},mfaRequired:(xu,ff)=>{logger$3.info(`MFA required for user ${aa}: ${xu}`),wc=new Error("MFA authentication required")},newPasswordRequired:(xu,ff)=>{logger$3.info(`New password required for user ${aa}`),wc=new PasswordResetRequiredError$1("New password required. Please reset your password.")}});gl===void 0&&wc===void 0;)await sleepMilliseconds$1(100);if(wc){if(wc instanceof PasswordResetRequiredError$1)throw wc;logger$3.error(`Login failed for user ${aa}:`,{errorName:wc.name,errorMessage:sanitizeErrorMessage(wc.message)}),handleCognitoError(wc,"login")}if(gl){const xu=gl.getIdToken(),ff=xu.getJwtToken(),jf=xu.decodePayload(),Uf=jf.given_name||jf.name||"",rp=jf.family_name||"",np=jf["cognito:groups"];let qm=await findUserByEmail(aa,ua);qm||(qm=await ensureUser(aa,Uf,rp,ua));const Vm=qm.lookup("id");np&&await ensureUserRoles(Vm,np,ua);const eg=gl.getAccessToken().getJwtToken(),tg=gl.getRefreshToken().getToken(),ig={sessionId:(await ensureUserSession(Vm,ff,eg,tg,ua)).lookup("id"),userId:Vm,authToken:ff,idToken:ff,accessToken:eg,refreshToken:tg,systemSesionInfo:gl};Sa(ig)}else throw logger$3.error(`Login failed for ${aa} - no result received`),new UnauthorisedError$1("Login failed. Please try again.")}else{let pl=await findUserByEmail(aa,ua);pl||(logger$3.warn(`User ${aa} not found in local store`),pl=await ensureUser(aa,"","",ua));const ml=new CognitoUser({Username:aa,Pool:this.fetchUserPool()}),gl=new AuthenticationDetails({Username:aa,Password:ca});let wc,xu;for(ml.authenticateUser(gl,{onSuccess:ff=>{wc=ff},onFailure:ff=>{logger$3.debug(`Cognito authentication failed for user ${aa}:`,{errorName:ff.name,errorMessage:sanitizeErrorMessage(ff.message)}),xu=ff},mfaRequired:(ff,jf)=>{logger$3.info(`MFA required for user ${aa}: ${ff}`),xu=new Error("MFA authentication required")},newPasswordRequired:(ff,jf)=>{logger$3.info(`New password required for user ${aa}`),xu=new PasswordResetRequiredError$1("New password required. Please reset your password.")}});wc===void 0&&xu===void 0;)await sleepMilliseconds$1(100);if(xu){if(xu instanceof PasswordResetRequiredError$1)throw xu;logger$3.error(`Login failed for user ${aa}:`,{errorName:xu.name,errorMessage:sanitizeErrorMessage(xu.message)}),handleCognitoError(xu,"login")}if(wc){const ff=pl.lookup("id"),jf=wc.getIdToken().getJwtToken(),Uf=wc.getAccessToken().getJwtToken(),rp=wc.getRefreshToken().getToken(),qm={sessionId:(await ensureUserSession(ff,jf,Uf,rp,ua)).lookup("id"),userId:ff,authToken:jf,idToken:jf,accessToken:Uf,refreshToken:rp,systemSesionInfo:wc};Sa(qm)}else throw logger$3.error(`Login failed for ${aa} - no result received`),new UnauthorisedError$1("Login failed. Please try again.")}}async logout(aa,ca,ua){try{const Sa=await findUser(aa.userId,ca);if(!Sa){logger$3.warn(`User ${aa.userId} not found during logout`),ua&&ua(!0);return}const hl=new CognitoUser({Username:Sa.lookup("email"),Pool:this.fetchUserPool()});let pl=!1,ml;const gl=new CognitoUserSession({IdToken:new CognitoIdToken({IdToken:aa.idToken}),AccessToken:new CognitoAccessToken({AccessToken:aa.accessToken}),RefreshToken:new CognitoRefreshToken({RefreshToken:aa.refreshToken})});for(hl.setSignInUserSession(gl),hl.globalSignOut({onSuccess:function(){pl=!0},onFailure:function(wc){pl=!0,logger$3.error(`Cognito signOut error for user ${aa.userId}:`,{errorName:wc.name,errorMessage:sanitizeErrorMessage(wc.message)}),ml=wc}});!pl;)await sleepMilliseconds$1(100);ml&&logger$3.error(`Error during Cognito logout for user ${aa.userId}: ${ml.message}`),logger$3.debug(`Successfully logged out user ${aa.userId}`),ua&&ua(!0)}catch(Sa){throw logger$3.error(`Logout failed for user ${aa.userId}: ${Sa.message}`),ua&&ua(!1),Sa}}async changePassword(aa,ca,ua,Sa){const hl=await findUser(aa.userId,Sa);if(!hl)return logger$3.warn(`User ${aa.userId} not found for password-change`),!1;const pl=hl.lookup("email"),ml=new CognitoUser({Username:pl,Pool:this.fetchUserPool()}),gl=new CognitoUserSession({IdToken:new CognitoIdToken({IdToken:aa.idToken}),AccessToken:new CognitoAccessToken({AccessToken:aa.accessToken}),RefreshToken:new CognitoRefreshToken({RefreshToken:aa.refreshToken})});ml.setSignInUserSession(gl);let wc=!1,xu;for(ml.changePassword(ua,ca,(ff,jf)=>{ff?(wc=!0,xu=ff):wc=!0});!wc;)await sleepMilliseconds$1(100);return xu?(logger$3.warn(`Failed to change the password for ${pl} - ${xu.message}`),!1):!0}fetchUserPool(){if(this.userPool)return this.userPool;throw new Error("UserPool not initialized")}async verifyToken(aa){try{const ua=await CognitoJwtVerifier.create({userPoolId:this.fetchUserPoolId(),tokenUse:"id",clientId:this.fetchClientId()}).verify(aa);logger$3.debug(`Decoded JWT for ${ua.email}`)}catch(ca){throw logger$3.error("Token verification failed:",{errorName:ca.name,errorMessage:sanitizeErrorMessage(ca.message)}),ca.message&&ca.message.includes("expired")?new UnauthorisedError$1("Token has expired. Please login again."):ca.message&&ca.message.includes("invalid")?new UnauthorisedError$1("Invalid token format."):ca.message&&ca.message.includes("not before")?new UnauthorisedError$1("Token is not yet valid."):ca.message&&ca.message.includes("audience")?new UnauthorisedError$1("Token audience mismatch."):new UnauthorisedError$1(`Token verification failed: ${sanitizeErrorMessage(ca.message)||"Invalid token"}`)}}async getUser(aa,ca){const ua=await findUser(aa,ca);if(!ua)throw new UserNotFoundError$1(`User ${aa} not found in local database`);const Sa=ua.lookup("email"),hl=ua.lookup("firstName"),pl=ua.lookup("lastName");if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID&&Sa)try{const gl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),wc=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:Sa}),xu=await gl.send(wc);return{id:aa,username:Sa,firstName:hl,lastName:pl,systemUserInfo:{localUser:ua,cognitoData:{userAttributes:xu.UserAttributes,userCreateDate:xu.UserCreateDate,userLastModifiedDate:xu.UserLastModifiedDate,userStatus:xu.UserStatus,enabled:xu.Enabled,preferredMfaSetting:xu.PreferredMfaSetting,userMFASettingList:xu.UserMFASettingList}}}}catch(gl){return logger$3.warn(`Failed to get Cognito user info for ${Sa}, using local data only:`,{errorName:gl.name,errorMessage:sanitizeErrorMessage(gl.message)}),{id:aa,username:Sa,firstName:hl,lastName:pl,systemUserInfo:ua}}else return{id:aa,username:Sa||aa,firstName:hl,lastName:pl,systemUserInfo:ua}}async getUserByEmail(aa,ca){const ua=await findUserByEmail(aa,ca);if(!ua)throw new UserNotFoundError$1(`User with email ${aa} not found in local database`);const Sa=ua.lookup("id"),hl=ua.lookup("firstName"),pl=ua.lookup("lastName");if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID)try{const gl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),wc=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),ClientId:this.fetchClientId(),Username:aa}),xu=await gl.send(wc);return{id:Sa,username:aa,firstName:hl,lastName:pl,systemUserInfo:{localUser:ua,cognitoData:{userAttributes:xu.UserAttributes,userCreateDate:xu.UserCreateDate,userLastModifiedDate:xu.UserLastModifiedDate,userStatus:xu.UserStatus,enabled:xu.Enabled,preferredMfaSetting:xu.PreferredMfaSetting,userMFASettingList:xu.UserMFASettingList}}}}catch(gl){return console.log(`Failed to get Cognito user info for email ${aa}, using local data only:`,{errorName:gl.name,errorMessage:sanitizeErrorMessage(gl.message)}),{id:Sa,username:aa,firstName:hl,lastName:pl,systemUserInfo:ua}}else return{id:Sa,username:aa,firstName:hl,lastName:pl,systemUserInfo:ua}}async refreshToken(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Sa=new InitiateAuthCommand({AuthFlow:"REFRESH_TOKEN_AUTH",ClientId:this.fetchClientId(),AuthParameters:{REFRESH_TOKEN:aa}}),hl=await ua.send(Sa);if(!hl.AuthenticationResult)throw new UnauthorisedError$1("Token refresh failed");const pl=hl.AuthenticationResult.IdToken,ml=hl.AuthenticationResult.AccessToken,gl=hl.AuthenticationResult.RefreshToken||aa,xu=JSON.parse(atob(pl.split(".")[1])).email;let ff=await findUserByEmail(xu,ca);ff||(ff=await ensureUser(xu,"","",ca));const jf=ff.lookup("id");return{sessionId:(await ensureUserSession(jf,pl,ml,gl,ca)).lookup("id"),userId:jf,authToken:pl,idToken:pl,accessToken:ml,refreshToken:gl,systemSesionInfo:hl.AuthenticationResult}}catch(ua){throw logger$3.error(`Refresh token operation failed: ${ua.message}`),ua.name==="NotAuthorizedException"?new UnauthorisedError$1("Invalid or expired refresh token"):(handleCognitoError(ua,"refreshToken"),ua)}}async inviteUser(aa,ca,ua,Sa,hl,pl,ml){var gl;try{const wc=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),xu=[{Name:"email",Value:aa},{Name:"email_verified",Value:"true"},{Name:"given_name",Value:ca},{Name:"family_name",Value:ua}];Sa&&Sa.forEach((rp,np)=>{xu.push({Name:np,Value:String(rp)})});let ff=!1;try{const rp=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});await wc.send(rp),ff=!0,logger$3.debug(`User ${aa} already exists, will resend invitation`)}catch(rp){if(rp.name!=="UserNotFoundException")throw rp;logger$3.debug(`User ${aa} does not exist, will create new user`)}const jf=new AdminCreateUserCommand(Object.assign({UserPoolId:this.fetchUserPoolId(),Username:aa,UserAttributes:xu,DesiredDeliveryMediums:["EMAIL"],TemporaryPassword:generateUrlSafePassword$1()},ff?{MessageAction:"RESEND"}:{}));logger$3.debug(`Attempting to invite user: ${aa}`);const Uf=await wc.send(jf);if(Uf.$metadata.httpStatusCode===200){logger$3.info(`User invitation successful for: ${aa}`);const np=(await ensureUser(aa,ca,ua,pl,"Invited")).lookup("id");await ensureUserRoles(np,[hl||"user"],pl);const qm={email:aa,firstName:ca,lastName:ua,invitationId:(gl=Uf.User)===null||gl===void 0?void 0:gl.Username,systemInvitationInfo:Uf};ml(qm)}else throw logger$3.error(`User invitation failed with HTTP status ${Uf.$metadata.httpStatusCode}`,{email:aa,statusCode:Uf.$metadata.httpStatusCode}),new BadRequestError$4(`User invitation failed with status ${Uf.$metadata.httpStatusCode}`)}catch(wc){if(wc instanceof BadRequestError$4)throw wc;logger$3.error(`User invitation error for ${aa}:`,{errorName:wc.name,errorMessage:sanitizeErrorMessage(wc.message)}),handleCognitoError(wc,"inviteUser")}}async resendInvitation(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"});try{const pl=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});await ua.send(pl)}catch(pl){throw pl.name==="UserNotFoundException"?new UserNotFoundError$1(`User ${aa} not found. Cannot resend invitation.`):pl}const Sa=new AdminCreateUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa,DesiredDeliveryMediums:["EMAIL"],MessageAction:"RESEND"});logger$3.debug(`Attempting to resend invitation for user: ${aa}`);const hl=await ua.send(Sa);if(hl.$metadata.httpStatusCode===200)logger$3.info(`Invitation resent successfully for: ${aa}`);else throw logger$3.error(`Failed to resend invitation with HTTP status ${hl.$metadata.httpStatusCode}`,{email:aa,statusCode:hl.$metadata.httpStatusCode}),new BadRequestError$4(`Failed to resend invitation with status ${hl.$metadata.httpStatusCode}`)}catch(ua){if(ua instanceof BadRequestError$4||ua instanceof UserNotFoundError$1)throw ua;logger$3.error(`Resend invitation error for ${aa}:`,{errorName:ua.name,errorMessage:sanitizeErrorMessage(ua.message)}),handleCognitoError(ua,"resendInvitation")}}async acceptInvitation(aa,ca,ua,Sa){try{const hl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),pl=new InitiateAuthCommand({AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.fetchClientId(),AuthParameters:{USERNAME:aa,PASSWORD:ca}}),ml=await hl.send(pl);if(ml.ChallengeName==="NEW_PASSWORD_REQUIRED"){const gl=new RespondToAuthChallengeCommand({ClientId:this.fetchClientId(),ChallengeName:"NEW_PASSWORD_REQUIRED",Session:ml.Session,ChallengeResponses:{USERNAME:aa,NEW_PASSWORD:ua}});await hl.send(gl),logger$3.info(`User invitation accepted successfully for: ${aa}`)}else throw new Error(`Unexpected challenge: ${ml.ChallengeName}`)}catch(hl){logger$3.error(`Accept invitation failed for ${aa}: ${sanitizeErrorMessage(hl.message)}`),handleCognitoError(hl,"acceptInvitation")}}async callback(aa,ca,ua){try{if(!isNodeEnv$1)throw new Error("Callback authentication is only supported in Node.js environment");const Sa=this.fetchConfig("ClientId"),hl=define_process_env_default$2.AWS_REGION||"us-east-1",pl=define_process_env_default$2.COGNITO_REDIRECT_URI||"http://localhost:3000/auth/callback",gl=`https://${define_process_env_default$2.COGNITO_HOSTED_DOMAIN}.auth.${hl}.amazoncognito.com/oauth2/token`,wc=new URLSearchParams({grant_type:"authorization_code",client_id:Sa,code:aa,redirect_uri:pl});logger$3.debug("Exchanging authorization code for tokens via OAuth2 endpoint"),console.log("te",gl,wc.toString());const xu=await fetch(gl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:wc.toString()});if(!xu.ok){const qw=await xu.text();throw new Error(`Token exchange failed: ${xu.status} ${qw}`)}const ff=await xu.json();if(!ff.access_token||!ff.id_token||!ff.refresh_token)throw new Error("Missing required tokens in response");const{access_token:jf,id_token:Uf,refresh_token:rp}=ff,np=this.decodeJwtPayload(Uf),qm=np.email,Vm=np.given_name||np.name||"",eg=np.family_name||"",tg=np["cognito:groups"];if(!qm)throw new Error("Email not found in ID attributes");let rg=await findUserByEmail(qm,ca);rg||(rg=await ensureUser(qm,Vm,eg,ca));const ig=rg.lookup("id");tg&&await ensureUserRoles(ig,tg,ca);const k1={sessionId:(await ensureUserSession(ig,Uf,jf,rp,ca)).lookup("id"),userId:ig,authToken:Uf,idToken:Uf,accessToken:jf,refreshToken:rp,systemSesionInfo:ff};logger$3.info(`Auth callback successful for user ${qm}`),ua(k1)}catch(Sa){console.log(Sa),logger$3.error(`Auth callback failed: ${sanitizeErrorMessage(Sa.message)}`),handleCognitoError(Sa,"callback")}}decodeJwtPayload(aa){try{const ua=aa.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),Sa=decodeURIComponent(atob(ua).split("").map(hl=>"%"+("00"+hl.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(Sa)}catch(ca){throw logger$3.error(`Failed to decode JWT payload: ${ca}`),new Error("Invalid JWT token")}}async deleteUser(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Sa=new AdminDeleteUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});logger$3.debug(`Attempting to delete user: ${aa}`),await ua.send(Sa),logger$3.info(`User deleted successfully: ${aa}`)}catch(ua){logger$3.error(`Failed to delete user ${aa}:`,{errorName:ua.name,errorMessage:sanitizeErrorMessage(ua.message)}),handleCognitoError(ua,"deleteUser")}}async disableUser(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Sa=new AdminDisableUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});logger$3.debug(`Attempting to disable user: ${aa}`),await ua.send(Sa),logger$3.info(`User disabled successfully: ${aa}`)}catch(ua){logger$3.error(`Failed to disable user ${aa}:`,{errorName:ua.name,errorMessage:sanitizeErrorMessage(ua.message)}),handleCognitoError(ua,"disableUser")}}async enableUser(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Sa=new AdminEnableUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});logger$3.debug(`Attempting to enable user: ${aa}`),await ua.send(Sa),logger$3.info(`User enabled successfully: ${aa}`)}catch(ua){logger$3.error(`Failed to enable user ${aa}:`,{errorName:ua.name,errorMessage:sanitizeErrorMessage(ua.message)}),handleCognitoError(ua,"enableUser")}}}const CoreAuthModuleName=makeCoreModuleName$1("auth"),auth=`module ${CoreAuthModuleName}
17432
+ ${la}`)}async function preprocessStep(la,aa){if(la.startsWith("{")){const ua=(await parseStatement$1(la)).pattern.crudMap;if(ua){aa.resetTemplateMappings();const Sa=ua.name;return ua.body&&ua.body.attributes.forEach(hl=>{var pl,ml;const gl=(ml=(pl=hl.value)===null||pl===void 0?void 0:pl.$cstNode)===null||ml===void 0?void 0:ml.text;gl&&aa.setTemplateMapping(hl.name,gl)}),Sa}else throw new Error(`Invalid step - ${la}`)}else return la}async function handleOpenApiEvent(la,aa){const ca=await invokeOpenApiEvent(la.moduleName,la.name,la.attributesAsObject());aa.setLastResult(ca)}async function evaluateUpsert(la,aa){aa.setInUpsertMode(!0);try{await evaluateCrudMap(la,aa)}finally{aa.setInUpsertMode(!1)}}async function evaluateForEach(la,aa){const ca=la.var;await evaluatePattern(la.src,aa);const ua=aa.getLastResult();if(ua instanceof Array&&ua.length>0){const Sa=Environment.from(aa),hl=new Array;for(let pl=0;pl<ua.length;++pl)Sa.bind(ca,ua[pl]),await evaluateStatements(la.statements,Sa),hl.push(Sa.getLastResult());aa.setLastResult(hl)}else aa.setLastResult(EmptyResult)}async function evaluateIf(la,aa){await evaluateExpression(la.cond,aa),aa.getLastResult()?await evaluateStatements(la.statements,aa):la.else!==void 0&&await evaluateStatements(la.else.statements,aa)}async function evaluateDeleteHelper(la,aa,ca){const ua=Environment.from(ca).setInDeleteMode(!0);await evaluatePattern(la,ua),await maybeDeleteQueriedInstances(ua,ca,aa)}async function maybeDeleteQueriedInstances(la,aa,ca=!1){const ua=la.getLastResult();let Sa=Resolver.Default;if(ua instanceof Array)if(ua.length>0&&isEntityInstance$1(ua[0])){Sa=await getResolverForPath(ua[0].name,ua[0].moduleName,la);const hl=new Array;for(let pl=0;pl<ua.length;++pl){await runPreDeleteEvents(ua[pl],aa);const ml=await Sa.deleteInstance(ua[pl],ca);await runPostDeleteEvents(ua[pl],aa),hl.push(ml)}la.setLastResult(hl)}else la.setLastResult(ua);else if(isEntityInstance$1(ua)){Sa=await getResolverForPath(ua.name,ua.moduleName,la),await runPreDeleteEvents(ua,aa);const hl=await Sa.deleteInstance(ua,ca);await runPostDeleteEvents(ua,aa),la.setLastResult(hl)}aa.setLastResult(la.getLastResult())}async function evaluateDelete(la,aa){await evaluateDeleteHelper(la.pattern,!1,aa)}async function evaluatePurge(la,aa){await evaluateDeleteHelper(la.pattern,!0,aa)}async function evaluateExpression(la,aa){let ca=EmptyResult;if(isBinExpr$1(la)){await evaluateExpression(la.e1,aa);const ua=aa.getLastResult();if(la.op=="or"){if(ua)return;await evaluateExpression(la.e2,aa);return}else if(la.op=="and"){if(!ua)return;await evaluateExpression(la.e2,aa);return}if(ua==null){aa.setLastResult(void 0);return}await evaluateExpression(la.e2,aa);const Sa=aa.getLastResult();if(Sa==null){aa.setLastResult(void 0);return}switch(la.op){case"+":ca=ua+Sa;break;case"-":ca=ua-Sa;break;case"*":ca=ua*Sa;break;case"/":ca=ua/Sa;break;case"==":ca=ua==Sa;break;case"<":ca=ua<Sa;break;case">":ca=ua>Sa;break;case"<=":ca=ua<=Sa;break;case">=":ca=ua>=Sa;break;case"<>":case"!=":ca=ua!=Sa;break;case"like":ca=ua.startsWith(Sa);break;case"in":ca=Sa.find(hl=>{});break;default:throw new Error(`Unrecognized binary operator: ${la.op}`)}}else if(isNegExpr$1(la))await evaluateExpression(la.ne,aa),ca=-1*aa.getLastResult();else if(isGroup$2(la))await evaluateExpression(la.ge,aa),ca=aa.getLastResult();else if(isLiteral$1(la)){await evaluateLiteral(la,aa);return}else isNotExpr$1(la)&&(await evaluateExpression(la.ne,aa),ca=!aa.getLastResult());aa.setLastResult(ca)}async function getRef(la,aa,ca){return Instance$1.IsInstance(aa)?aa.lookup(la):aa instanceof Map?aa.get(la):aa instanceof Object?aa[la]:isPath$1(aa)?await getRef(la,await dereferencePath(aa,ca),ca):void 0}async function followReference(la,aa){const ca=splitRefs$1(aa);let ua=EmptyResult,Sa=la;for(let hl=0;hl<ca.length;++hl){const pl=ca[hl],ml=await getRef(pl,Sa,la);if(ml===void 0)return EmptyResult;ua=ml,Sa=ua}return ua}async function dereferencePath(la,aa){const ca=fqNameFromPath$1(la);if(ca===void 0)throw new Error(`Failed to deduce entry-name from path - ${la}`);const ua=new Environment("path-deref",aa);await parseAndEvaluateStatement(`{${ca} {${PathAttributeNameQuery$1} "${la}"}}`,aa.getAuthContextUserId(),ua);const Sa=ua.getLastResult();if(Sa&&Sa instanceof Array&&Sa.length>0)return Sa[0]}async function applyFn(la,aa,ca){const ua=la.name;if(ua!==void 0){let Sa=null;if(la.args!==void 0){Sa=new Array;for(let pl=0;pl<la.args.length;++pl){const ml=la.args[pl];isLiteral$1(ml)?await evaluateLiteral(ml,aa):await evaluateExpression(ml,aa),Sa.push(aa.getLastResult())}Sa.push(aa)}const hl=await invokeModuleFn(ua,Sa,ca);aa.setLastResult(hl)}}async function realizeArray(la,aa){const ca=new Array;for(let ua=0;ua<la.vals.length;++ua)await evaluateStatement(la.vals[ua],aa),ca.push(aa.getLastResult());aa.setLastResult(ca)}async function realizeMap(la,aa){const ca=new Map;for(let ua=0;ua<la.entries.length;++ua){const Sa=la.entries[ua],hl=getMapKey(Sa.key);await evaluateExpression(Sa.value,aa),ca.set(hl,aa.getLastResult())}aa.setLastResult(Object.fromEntries(ca.entries()))}async function callPostEventOnSubscription(la,aa,ca){const ua=ca===void 0,Sa=new Environment("onSubs.env");try{return await runPrePostEvents(la,!1,aa,Sa),ua&&await Sa.commitAllTransactions(),Sa.getLastResult()}catch(hl){await Sa.rollbackAllTransactions(),logger$3.error(`callPostEventOnSubscription failed for ${la} ${aa.getFqName()} - ${hl}`)}}async function runPrePostEvents(la,aa,ca,ua){const Sa=aa?ca.record.getPreTriggerInfo(la):ca.record.getPostTriggerInfo(la);if(Sa){const hl=nameToPath$1(Sa.eventName),pl=hl.hasModule()?hl.getModuleName():ca.record.moduleName,ml=makeInstance$1(pl,hl.getEntryName(),newInstanceAttributes$1().set(ca.record.name,ca)),gl=ua.getActiveAuthContext();gl&&ml.setAuthContext(gl);const wc=`${aa?"Pre":"Post"}-${CrudType$1[la]} ${ca.record.getFqName()}`,xu=jf=>{logger$3.debug(`${wc}: ${jf}`)},ff=jf=>{throw ua.hasHandlers()?jf:new Error(`${wc}: ${jf}`)};Sa.async?evaluate$1(ml,xu,bindAliasesForPrePost(ua,ca,wc)).catch(ff):await evaluate$1(ml,xu,bindAliasesForPrePost(ua,ca,wc)).catch(ff)}}function bindAliasesForPrePost(la,aa,ca){const ua=new Environment(`${ca}.env`,la),Sa=aa.getFqName();return ua.bind("this",aa),ua.bind(Sa,aa),ua.bind(aa.name,aa),ua}async function runPreCreateEvents(la,aa){await runPrePostEvents(CrudType$1.CREATE,!0,la,aa)}async function runPostCreateEvents(la,aa){la.requireAudit()&&await addCreateAudit(la.getPath(),aa),await runPrePostEvents(CrudType$1.CREATE,!1,la,aa)}async function runPreUpdateEvents(la,aa){await runPrePostEvents(CrudType$1.UPDATE,!0,la,aa)}async function runPostUpdateEvents(la,aa,ca){la.requireAudit()&&await addUpdateAudit(la.getPath(),aa,ca),await runPrePostEvents(CrudType$1.UPDATE,!1,la,ca)}async function runPreDeleteEvents(la,aa){await runPrePostEvents(CrudType$1.DELETE,!0,la,aa)}async function runPostDeleteEvents(la,aa){la.requireAudit()&&await addDeleteAudit(la.getPath(),la,aa),await runPrePostEvents(CrudType$1.DELETE,!1,la,aa)}async function fetchConfig(la){const aa=await parseAndEvaluateStatement(`{${la}? {}}`);if(aa&&aa!==null&&aa.length>0)return preprocessRawConfig(Object.fromEntries(aa[0].attributes))}const interpreter=Object.freeze(Object.defineProperty({__proto__:null,DocEventName,Environment,GlobalEnvironment,PatternHandler,callPostEventOnSubscription,get evaluate(){return evaluate$1},evaluateAsEvent,evaluateExpression,evaluatePattern,evaluateStatement,evaluateStatements,fetchConfig,handleAgentInvocation,handleOpenApiEvent,makeEventEvaluator,maybeBindStatementResultToAlias,maybeDeleteQueriedInstances,get parseAndEvaluateStatement(){return parseAndEvaluateStatement},restartFlow,runPostCreateEvents,runPostDeleteEvents,runPostUpdateEvents,setEvaluateFn,setParseAndEvaluateStatementFn},Symbol.toStringTag,{value:"Module"}));class JwtBaseError extends Error{}class FailedAssertionError extends JwtBaseError{constructor(aa,ca,ua){super(aa),this.failedAssertion={actual:ca,expected:ua}}}class JwtParseError extends JwtBaseError{constructor(aa,ca){const ua=ca!=null?`${aa}: ${ca}`:aa;super(ua)}}class ParameterValidationError extends JwtBaseError{}class JwtInvalidSignatureError extends JwtBaseError{}class JwtInvalidSignatureAlgorithmError extends FailedAssertionError{}class JwtInvalidClaimError extends FailedAssertionError{withRawJwt({header:aa,payload:ca}){return this.rawJwt={header:aa,payload:ca},this}}class JwtInvalidIssuerError extends JwtInvalidClaimError{}class JwtInvalidAudienceError extends JwtInvalidClaimError{}class JwtInvalidScopeError extends JwtInvalidClaimError{}class JwtExpiredError extends JwtInvalidClaimError{}class JwtNotBeforeError extends JwtInvalidClaimError{}class CognitoJwtInvalidGroupError extends JwtInvalidClaimError{}class CognitoJwtInvalidTokenUseError extends JwtInvalidClaimError{}class CognitoJwtInvalidClientIdError extends JwtInvalidClaimError{}class JwksValidationError extends JwtBaseError{}class JwkValidationError extends JwtBaseError{}class JwtWithoutValidKidError extends JwtBaseError{}class KidNotFoundInJwksError extends JwtBaseError{}class WaitPeriodNotYetEndedJwkError extends JwtBaseError{}class JwksNotAvailableInCacheError extends JwtBaseError{}class JwkInvalidUseError extends FailedAssertionError{}class JwkInvalidKtyError extends FailedAssertionError{}class FetchError extends JwtBaseError{constructor(aa,ca){super(`Failed to fetch ${aa}: ${ca}`)}}class NonRetryableFetchError extends FetchError{}class NotSupportedError extends JwtBaseError{}var NamedCurvesWebCrypto;(function(la){la.ES256="P-256",la.ES384="P-384",la.ES512="P-521"})(NamedCurvesWebCrypto||(NamedCurvesWebCrypto={}));const nodeWebCompat={fetch:async(la,aa,ca)=>{const ua=Number(aa?.responseTimeout);if(ua){const hl=new AbortController;setTimeout(()=>hl.abort(new FetchError(la,`Response time-out (after ${ua} ms.)`)),ua),aa={signal:hl.signal,...aa}}const Sa=await fetch(la,{...aa,body:ca}).catch(hl=>{throw new FetchError(la,hl.message)});if(Sa.status!==200)throw new NonRetryableFetchError(la,`Status code is ${Sa.status}, expected 200`);return Sa.arrayBuffer()},defaultFetchTimeouts:{response:3e3},transformJwkToKeyObjectSync:()=>{throw new NotSupportedError("Synchronously transforming a JWK into a key object is not supported in the browser")},transformJwkToKeyObjectAsync:(la,aa)=>{const ca=la.alg??aa;if(!ca)throw new JwtInvalidSignatureAlgorithmError("Missing alg on both JWK and JWT header",ca);const ua=ca.startsWith("RS")?{name:"RSASSA-PKCS1-v1_5",hash:`SHA-${ca.slice(2)}`}:ca.startsWith("ES")?{name:"ECDSA",namedCurve:NamedCurvesWebCrypto[ca]}:la.crv;return crypto.subtle.importKey("jwk",la,ua,!1,["verify"]).then(Sa=>({key:Sa,jwk:la}))},verifySignatureSync:()=>{throw new NotSupportedError("Synchronously verifying a JWT signature is not supported in the browser")},verifySignatureAsync:({jwsSigningInput:la,keyObject:aa,signature:ca,alg:ua})=>crypto.subtle.verify(ua.startsWith("RS")?{name:"RSASSA-PKCS1-v1_5"}:ua.startsWith("ES")?{name:"ECDSA",hash:`SHA-${ua.slice(2)}`}:{name:aa.jwk.crv},aa.key,bufferFromBase64url(ca),new TextEncoder().encode(la)),parseB64UrlString:la=>new TextDecoder().decode(bufferFromBase64url(la)),setTimeoutUnref:setTimeout.bind(void 0),transformPemToJwk:async(la,aa)=>{let ca;switch(aa){case"RS256":case"RS384":case"RS512":ca={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${aa.slice(2)}`};break;case"ES256":case"ES384":case"ES512":ca={name:"ECDSA",namedCurve:NamedCurvesWebCrypto[aa]};break;default:throw new JwtInvalidSignatureAlgorithmError("Unsupported signature algorithm",aa)}const ua=await crypto.subtle.importKey("spki",bufferFromBase64(new TextDecoder().decode(la).replace(/-----BEGIN PUBLIC KEY-----/,"").replace(/-----END PUBLIC KEY-----/,"").replace(/\s/g,"")),ca,!0,["verify"]);return crypto.subtle.exportKey("jwk",ua)}};function _bufferFromBase64(la){const aa=la.split("").reduce((ca,ua,Sa)=>Object.assign(ca,{[ua.charCodeAt(0)]:Sa}),{});return function(ca){ca=ca.replace(/={1,2}$/,"");let ua,Sa,hl,pl;return ca.match(/.{1,4}/g).reduce((ml,gl,wc)=>(ua=aa[gl.charCodeAt(0)],Sa=aa[gl.charCodeAt(1)],hl=aa[gl.charCodeAt(2)],pl=aa[gl.charCodeAt(3)],ml[3*wc]=ua<<2|Sa>>4,ml[3*wc+1]=(Sa&15)<<4|hl>>2,ml[3*wc+2]=(hl&3)<<6|pl,ml),new Uint8Array(ca.length*3/4))}}const bufferFromBase64url=_bufferFromBase64("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),bufferFromBase64=_bufferFromBase64("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),fetch$1=nodeWebCompat.fetch.bind(void 0);class SimpleFetcher{constructor(aa){this.defaultRequestOptions={timeout:nodeWebCompat.defaultFetchTimeouts.socketIdle,responseTimeout:nodeWebCompat.defaultFetchTimeouts.response,...aa?.defaultRequestOptions}}async fetch(aa,ca,ua){ca={...this.defaultRequestOptions,...ca};try{return await fetch$1(aa,ca,ua)}catch(Sa){if(Sa instanceof NonRetryableFetchError)throw Sa;return fetch$1(aa,ca,ua)}}}function isJsonObject(la){return typeof la=="object"&&!Array.isArray(la)&&la!==null}function safeJsonParse(la){return JSON.parse(la,(aa,ca)=>(typeof ca=="object"&&!Array.isArray(ca)&&ca!==null&&(delete ca.__proto__,delete ca.constructor),ca))}function assertStringEquals(la,aa,ca,ua=FailedAssertionError){if(!aa)throw new ua(`Missing ${la}. Expected: ${ca}`,aa,ca);if(typeof aa!="string")throw new ua(`${la} is not of type string`,aa,ca);if(ca!==aa)throw new ua(`${la} not allowed: ${aa}. Expected: ${ca}`,aa,ca)}function assertStringArrayContainsString(la,aa,ca,ua=FailedAssertionError){if(!aa)throw new ua(`Missing ${la}. ${expectationMessage(ca)}`,aa,ca);if(typeof aa!="string")throw new ua(`${la} is not of type string`,aa,ca);return assertStringArraysOverlap(la,aa,ca,ua)}function assertStringArraysOverlap(la,aa,ca,ua=FailedAssertionError){if(!aa)throw new ua(`Missing ${la}. ${expectationMessage(ca)}`,aa,ca);const Sa=new Set(Array.isArray(ca)?ca:[ca]);if(typeof aa=="string"&&(aa=[aa]),!Array.isArray(aa))throw new ua(`${la} is not an array`,aa,ca);if(!aa.some(pl=>{if(typeof pl!="string")throw new ua(`${la} includes elements that are not of type string`,aa,ca);return Sa.has(pl)}))throw new ua(`${la} not allowed: ${aa.join(", ")}. ${expectationMessage(ca)}`,aa,ca)}function expectationMessage(la){return Array.isArray(la)?la.length>1?`Expected one of: ${la.join(", ")}`:`Expected: ${la[0]}`:`Expected: ${la}`}function assertIsNotPromise(la,aa){if(la&&typeof la.then=="function")throw aa()}const optionalJwkFieldNames=["use","alg","kid","n","e","x","y","crv"],mandatoryJwkFieldNames=["kty"];function findJwkInJwks(la,aa){return la.keys.find(ca=>ca.kid!=null&&ca.kid===aa)}const parseJwks=function(la){let aa;try{const ca=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}).decode(la);aa=safeJsonParse(ca)}catch(ca){throw new JwksValidationError(`JWKS could not be parsed as JSON: ${ca}`)}return assertIsJwks(aa),aa};function assertIsJwks(la){if(!la)throw new JwksValidationError("JWKS empty");if(!isJsonObject(la))throw new JwksValidationError("JWKS should be an object");if(!Object.keys(la).includes("keys"))throw new JwksValidationError("JWKS does not include keys");if(!Array.isArray(la.keys))throw new JwksValidationError("JWKS keys should be an array");for(const aa of la.keys)assertIsJwk(aa)}function assertIsSignatureJwk(la){assertStringArrayContainsString("JWK kty",la.kty,["EC","RSA","OKP"],JwkInvalidKtyError),la.kty==="EC"?assertIsEsSignatureJwk(la):la.kty==="RSA"?assertIsRsaSignatureJwk(la):la.kty==="OKP"&&assertIsEdDSASignatureJwk(la)}function assertIsEdDSASignatureJwk(la){if(la.use&&assertStringEquals("JWK use",la.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",la.kty,"OKP",JwkInvalidKtyError),!la.crv)throw new JwkValidationError("Missing Curve (crv)");if(!la.x)throw new JwkValidationError("Missing X Coordinate (x)")}function assertIsEsSignatureJwk(la){if(la.use&&assertStringEquals("JWK use",la.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",la.kty,"EC",JwkInvalidKtyError),!la.crv)throw new JwkValidationError("Missing Curve (crv)");if(!la.x)throw new JwkValidationError("Missing X Coordinate (x)");if(!la.y)throw new JwkValidationError("Missing Y Coordinate (y)")}function assertIsRsaSignatureJwk(la){if(la.use&&assertStringEquals("JWK use",la.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",la.kty,"RSA",JwkInvalidKtyError),!la.n)throw new JwkValidationError("Missing modulus (n)");if(!la.e)throw new JwkValidationError("Missing exponent (e)")}function assertIsJwk(la){if(!la)throw new JwkValidationError("JWK empty");if(!isJsonObject(la))throw new JwkValidationError("JWK should be an object");for(const aa of mandatoryJwkFieldNames)if(typeof la[aa]!="string")throw new JwkValidationError(`JWK ${aa} should be a string`);for(const aa of optionalJwkFieldNames)if(aa in la&&typeof la[aa]!="string")throw new JwkValidationError(`JWK ${aa} should be a string`)}function isJwks(la){try{return assertIsJwks(la),!0}catch{return!1}}function isJwk(la){try{return assertIsJwk(la),!0}catch{return!1}}class SimplePenaltyBox{constructor(aa){this.waitingUris=new Map,this.waitSeconds=aa?.waitSeconds??10}async wait(aa){if(this.waitingUris.has(aa))throw new WaitPeriodNotYetEndedJwkError("Not allowed to fetch JWKS yet, still waiting for back off period to end")}release(aa){const ca=this.waitingUris.get(aa);ca&&(clearTimeout(ca),this.waitingUris.delete(aa))}registerFailedAttempt(aa){const ca=nodeWebCompat.setTimeoutUnref(()=>{this.waitingUris.delete(aa)},this.waitSeconds*1e3);this.waitingUris.set(aa,ca)}registerSuccessfulAttempt(aa){this.release(aa)}}class SimpleJwksCache{constructor(aa){this.jwksCache=new Map,this.fetchingJwks=new Map,this.penaltyBox=aa?.penaltyBox??new SimplePenaltyBox,this.fetcher=aa?.fetcher??new SimpleFetcher,this.jwksParser=aa?.jwksParser??parseJwks}addJwks(aa,ca){this.jwksCache.set(aa,ca)}async getJwks(aa){const ca=this.fetchingJwks.get(aa);if(ca)return ca;const ua=this.fetcher.fetch(aa).then(this.jwksParser);this.fetchingJwks.set(aa,ua);let Sa;try{Sa=await ua}finally{this.fetchingJwks.delete(aa)}return this.jwksCache.set(aa,Sa),Sa}getCachedJwk(aa,ca){if(typeof ca.header.kid!="string")throw new JwtWithoutValidKidError("JWT header does not have valid kid claim");if(!this.jwksCache.has(aa))throw new JwksNotAvailableInCacheError(`JWKS for uri ${aa} not yet available in cache`);const ua=findJwkInJwks(this.jwksCache.get(aa),ca.header.kid);if(!ua)throw new KidNotFoundInJwksError(`JWK for kid ${ca.header.kid} not found in the JWKS`);return ua}async getJwk(aa,ca){if(typeof ca.header.kid!="string")throw new JwtWithoutValidKidError("JWT header does not have valid kid claim");const ua=this.jwksCache.get(aa);if(ua){const pl=findJwkInJwks(ua,ca.header.kid);if(pl)return pl}await this.penaltyBox.wait(aa,ca.header.kid);const Sa=await this.getJwks(aa),hl=findJwkInJwks(Sa,ca.header.kid);if(hl)this.penaltyBox.registerSuccessfulAttempt(aa,ca.header.kid);else throw this.penaltyBox.registerFailedAttempt(aa,ca.header.kid),new KidNotFoundInJwksError(`JWK for kid "${ca.header.kid}" not found in the JWKS`);return hl}}function assertJwtHeader(la){if(!isJsonObject(la))throw new JwtParseError("JWT header is not an object");if(la.alg!==void 0&&typeof la.alg!="string")throw new JwtParseError("JWT header alg claim is not a string");if(la.kid!==void 0&&typeof la.kid!="string")throw new JwtParseError("JWT header kid claim is not a string")}function assertJwtPayload(la){if(!isJsonObject(la))throw new JwtParseError("JWT payload is not an object");if(la.exp!==void 0&&!Number.isFinite(la.exp))throw new JwtParseError("JWT payload exp claim is not a number");if(la.iss!==void 0&&typeof la.iss!="string")throw new JwtParseError("JWT payload iss claim is not a string");if(la.sub!==void 0&&typeof la.sub!="string")throw new JwtParseError("JWT payload sub claim is not a string");if(la.aud!==void 0&&typeof la.aud!="string"&&(!Array.isArray(la.aud)||la.aud.some(aa=>typeof aa!="string")))throw new JwtParseError("JWT payload aud claim is not a string or array of strings");if(la.nbf!==void 0&&!Number.isFinite(la.nbf))throw new JwtParseError("JWT payload nbf claim is not a number");if(la.iat!==void 0&&!Number.isFinite(la.iat))throw new JwtParseError("JWT payload iat claim is not a number");if(la.scope!==void 0&&typeof la.scope!="string")throw new JwtParseError("JWT payload scope claim is not a string");if(la.jti!==void 0&&typeof la.jti!="string")throw new JwtParseError("JWT payload jti claim is not a string")}const JWT_REGEX=/^[A-Za-z0-9_-]+={0,2}\.[A-Za-z0-9_-]+={0,2}\.[A-Za-z0-9_-]+={0,2}$/;function decomposeUnverifiedJwt(la){if(!la)throw new JwtParseError("Empty JWT");if(typeof la!="string")throw new JwtParseError("JWT is not a string");if(!JWT_REGEX.test(la))throw new JwtParseError("JWT string does not consist of exactly 3 parts (header, payload, signature)");const[aa,ca,ua]=la.split("."),[Sa,hl]=[aa,ca].map(nodeWebCompat.parseB64UrlString);let pl;try{pl=safeJsonParse(Sa)}catch(gl){throw new JwtParseError("Invalid JWT. Header is not a valid JSON object",gl)}assertJwtHeader(pl);let ml;try{ml=safeJsonParse(hl)}catch(gl){throw new JwtParseError("Invalid JWT. Payload is not a valid JSON object",gl)}return assertJwtPayload(ml),{header:pl,headerB64:aa,payload:ml,payloadB64:ca,signatureB64:ua}}function validateJwtFields(la,aa){if(la.exp!==void 0&&la.exp+(aa.graceSeconds??0)<Date.now()/1e3)throw new JwtExpiredError(`Token expired at ${new Date(la.exp*1e3).toISOString()}`,la.exp);if(la.nbf!==void 0&&la.nbf-(aa.graceSeconds??0)>Date.now()/1e3)throw new JwtNotBeforeError(`Token can't be used before ${new Date(la.nbf*1e3).toISOString()}`,la.nbf);if(aa.issuer!==null){if(aa.issuer===void 0)throw new ParameterValidationError("issuer must be provided or set to null explicitly");assertStringArrayContainsString("Issuer",la.iss,aa.issuer,JwtInvalidIssuerError)}if(aa.audience!==null){if(aa.audience===void 0)throw new ParameterValidationError("audience must be provided or set to null explicitly");assertStringArraysOverlap("Audience",la.aud,aa.audience,JwtInvalidAudienceError)}aa.scope!=null&&assertStringArraysOverlap("Scope",la.scope?.split(" "),aa.scope,JwtInvalidScopeError)}const supportedSignatureAlgorithms=["RS256","RS384","RS512","ES256","ES384","ES512","EdDSA"];function validateJwtHeaderAndJwk(la,aa){assertIsSignatureJwk(aa),aa.alg&&assertStringEquals("JWT signature algorithm",la.alg,aa.alg,JwtInvalidSignatureAlgorithmError),assertStringArrayContainsString("JWT signature algorithm",la.alg,supportedSignatureAlgorithms,JwtInvalidSignatureAlgorithmError)}async function verifyDecomposedJwt(la,aa,ca,ua,Sa){const{header:hl,headerB64:pl,payload:ml,payloadB64:gl,signatureB64:wc}=la,xu=await ua(aa,la);validateJwtHeaderAndJwk(la.header,xu);const ff=await Sa(xu,hl.alg,ml.iss);if(!await nodeWebCompat.verifySignatureAsync({jwsSigningInput:`${pl}.${gl}`,signature:wc,alg:hl.alg,keyObject:ff}))throw new JwtInvalidSignatureError("Invalid signature");try{validateJwtFields(ml,ca),ca.customJwtCheck&&await ca.customJwtCheck({header:hl,payload:ml,jwk:xu})}catch(Uf){throw ca.includeRawJwtInErrors&&Uf instanceof JwtInvalidClaimError?Uf.withRawJwt(la):Uf}return ml}function verifyDecomposedJwtSync(la,aa,ca,ua){const{header:Sa,headerB64:hl,payload:pl,payloadB64:ml,signatureB64:gl}=la;let wc;if(isJwk(aa))wc=aa;else if(isJwks(aa)){const jf=Sa.kid?findJwkInJwks(aa,Sa.kid):void 0;if(!jf)throw new KidNotFoundInJwksError(`JWK for kid ${Sa.kid} not found in the JWKS`);wc=jf}else throw new ParameterValidationError([`Expected a valid JWK or JWKS (parsed as JavaScript object), but received: ${aa}.`,"If you're passing a JWKS URI, use the async verify() method instead, it will download and parse the JWKS for you"].join());validateJwtHeaderAndJwk(la.header,wc);const xu=ua(wc,Sa.alg,pl.iss);if(!nodeWebCompat.verifySignatureSync({jwsSigningInput:`${hl}.${ml}`,signature:gl,alg:Sa.alg,keyObject:xu}))throw new JwtInvalidSignatureError("Invalid signature");try{if(validateJwtFields(pl,ca),ca.customJwtCheck){const jf=ca.customJwtCheck({header:Sa,payload:pl,jwk:wc});assertIsNotPromise(jf,()=>new ParameterValidationError("Custom JWT checks must be synchronous but a promise was returned"))}}catch(jf){throw ca.includeRawJwtInErrors&&jf instanceof JwtInvalidClaimError?jf.withRawJwt(la):jf}return pl}class JwtVerifierBase{constructor(aa,ca=new SimpleJwksCache){if(this.jwksCache=ca,this.issuersConfig=new Map,this.publicKeyCache=new KeyObjectCache,Array.isArray(aa)){if(!aa.length)throw new ParameterValidationError("Provide at least one issuer configuration");aa.forEach((ua,Sa)=>{if(this.issuersConfig.has(ua.issuer))throw new ParameterValidationError(`issuer ${ua.issuer} supplied multiple times`);if(ua.issuer===null&&aa.length>=2)throw new ParameterValidationError(`issuer cannot be null when multiple issuers are supplied (at issuer: ${Sa})`);this.issuersConfig.set(ua.issuer,this.withJwksUri(ua))})}else this.issuersConfig.set(aa.issuer,this.withJwksUri(aa))}getIssuerConfig(aa){if(this.issuersConfig.size===1&&(aa=this.issuersConfig.keys().next().value),aa===void 0)throw new ParameterValidationError("issuer must be provided");const ca=this.issuersConfig.get(aa);if(!ca)throw new ParameterValidationError(`issuer not configured: ${aa}`);return ca}cacheJwks(...[aa,ca]){const ua=this.getIssuerConfig(ca);this.jwksCache.addJwks(ua.jwksUri,aa),this.publicKeyCache.clearCache(ua.issuer)}async hydrate(){const aa=Array.from(this.issuersConfig.values()).map(({jwksUri:ca})=>this.jwksCache.getJwks(ca));await Promise.all(aa)}verifySync(...[aa,ca]){const{decomposedJwt:ua,jwksUri:Sa,verifyProperties:hl}=this.getVerifyParameters(aa,ca);return this.verifyDecomposedJwtSync(ua,Sa,hl)}verifyDecomposedJwtSync(aa,ca,ua){const Sa=this.jwksCache.getCachedJwk(ca,aa);return verifyDecomposedJwtSync(aa,Sa,ua,this.publicKeyCache.transformJwkToKeyObjectSync.bind(this.publicKeyCache))}async verify(...[aa,ca]){const{decomposedJwt:ua,jwksUri:Sa,verifyProperties:hl}=this.getVerifyParameters(aa,ca);return this.verifyDecomposedJwt(ua,Sa,hl)}verifyDecomposedJwt(aa,ca,ua){return verifyDecomposedJwt(aa,ca,ua,this.jwksCache.getJwk.bind(this.jwksCache),this.publicKeyCache.transformJwkToKeyObjectAsync.bind(this.publicKeyCache))}getVerifyParameters(aa,ca){const ua=decomposeUnverifiedJwt(aa),Sa=this.getIssuerConfig(ua.payload.iss);return{decomposedJwt:ua,jwksUri:Sa.jwksUri,verifyProperties:{...Sa,...ca}}}withJwksUri(aa){if(aa.jwksUri)return aa;const ca=aa.issuer;if(!ca)throw new ParameterValidationError("jwksUri must be provided for issuer null");const ua=new URL(ca).pathname.replace(/\/$/,"");return{jwksUri:new URL(`${ua}/.well-known/jwks.json`,ca).href,...aa}}}class KeyObjectCache{constructor(aa=nodeWebCompat.transformJwkToKeyObjectSync,ca=nodeWebCompat.transformJwkToKeyObjectAsync){this.transformJwkToKeyObjectSyncFn=aa,this.transformJwkToKeyObjectAsyncFn=ca,this.publicKeys=new Map}transformJwkToKeyObjectSync(aa,ca,ua){const Sa=aa.alg??ca;if(!ua||!aa.kid||!Sa)return this.transformJwkToKeyObjectSyncFn(aa,Sa,ua);const hl=this.publicKeys.get(ua)?.get(aa.kid)?.get(Sa);if(hl)return hl;const pl=this.transformJwkToKeyObjectSyncFn(aa,Sa,ua);return this.putKeyObjectInCache(ua,aa.kid,Sa,pl),pl}async transformJwkToKeyObjectAsync(aa,ca,ua){const Sa=aa.alg??ca;if(!ua||!aa.kid||!Sa)return this.transformJwkToKeyObjectAsyncFn(aa,Sa,ua);const hl=this.publicKeys.get(ua)?.get(aa.kid)?.get(Sa);if(hl)return hl;const pl=await this.transformJwkToKeyObjectAsyncFn(aa,Sa,ua);return this.putKeyObjectInCache(ua,aa.kid,Sa,pl),pl}putKeyObjectInCache(aa,ca,ua,Sa){const hl=this.publicKeys.get(aa),pl=hl?.get(ca);pl?pl.set(ua,Sa):hl?hl.set(ca,new Map([[ua,Sa]])):this.publicKeys.set(aa,new Map([[ca,new Map([[ua,Sa]])]]))}clearCache(aa){this.publicKeys.delete(aa)}}function validateCognitoJwtFields(la,aa){if(aa.groups!=null&&assertStringArraysOverlap("Cognito group",la["cognito:groups"],aa.groups,CognitoJwtInvalidGroupError),assertStringArrayContainsString("Token use",la.token_use,["id","access"],CognitoJwtInvalidTokenUseError),aa.tokenUse!==null){if(aa.tokenUse===void 0)throw new ParameterValidationError("tokenUse must be provided or set to null explicitly");assertStringEquals("Token use",la.token_use,aa.tokenUse,CognitoJwtInvalidTokenUseError)}if(aa.clientId!==null){if(aa.clientId===void 0)throw new ParameterValidationError("clientId must be provided or set to null explicitly");la.token_use==="id"?assertStringArrayContainsString('Client ID ("audience")',la.aud,aa.clientId,CognitoJwtInvalidClientIdError):assertStringArrayContainsString("Client ID",la.client_id,aa.clientId,CognitoJwtInvalidClientIdError)}}class CognitoJwtVerifier extends JwtVerifierBase{constructor(aa,ca){const ua=Array.isArray(aa)?aa.map(Sa=>({...Sa,...CognitoJwtVerifier.parseUserPoolId(Sa.userPoolId),audience:null})):{...aa,...CognitoJwtVerifier.parseUserPoolId(aa.userPoolId),audience:null};super(ua,ca)}static parseUserPoolId(aa){const ca=aa.match(this.USER_POOL_ID_REGEX);if(!ca)throw new ParameterValidationError(`Invalid Cognito User Pool ID: ${aa}`);const Sa=`https://cognito-idp.${ca.groups.region}.amazonaws.com/${aa}`;return{issuer:Sa,jwksUri:`${Sa}/.well-known/jwks.json`}}static create(aa,ca){return new this(aa,ca?.jwksCache)}verifySync(...[aa,ca]){const{decomposedJwt:ua,jwksUri:Sa,verifyProperties:hl}=this.getVerifyParameters(aa,ca);this.verifyDecomposedJwtSync(ua,Sa,hl);try{validateCognitoJwtFields(ua.payload,hl)}catch(pl){throw hl.includeRawJwtInErrors&&pl instanceof JwtInvalidClaimError?pl.withRawJwt(ua):pl}return ua.payload}async verify(...[aa,ca]){const{decomposedJwt:ua,jwksUri:Sa,verifyProperties:hl}=this.getVerifyParameters(aa,ca);await this.verifyDecomposedJwt(ua,Sa,hl);try{validateCognitoJwtFields(ua.payload,hl)}catch(pl){throw hl.includeRawJwtInErrors&&pl instanceof JwtInvalidClaimError?pl.withRawJwt(ua):pl}return ua.payload}cacheJwks(...[aa,ca]){let ua;if(ca!==void 0)ua=CognitoJwtVerifier.parseUserPoolId(ca).issuer;else if(Array.from(this.issuersConfig).length>1)throw new ParameterValidationError("userPoolId must be provided");const Sa=this.getIssuerConfig(ua);super.cacheJwks(aa,Sa.issuer)}}CognitoJwtVerifier.USER_POOL_ID_REGEX=/^(?<region>[a-z]{2}-(gov-)?[a-z]+-\d)_[a-zA-Z0-9]+$/;var __assign=function(){return __assign=Object.assign||function(aa){for(var ca,ua=1,Sa=arguments.length;ua<Sa;ua++){ca=arguments[ua];for(var hl in ca)Object.prototype.hasOwnProperty.call(ca,hl)&&(aa[hl]=ca[hl])}return aa},__assign.apply(this,arguments)};function __rest(la,aa){var ca={};for(var ua in la)Object.prototype.hasOwnProperty.call(la,ua)&&aa.indexOf(ua)<0&&(ca[ua]=la[ua]);if(la!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Sa=0,ua=Object.getOwnPropertySymbols(la);Sa<ua.length;Sa++)aa.indexOf(ua[Sa])<0&&Object.prototype.propertyIsEnumerable.call(la,ua[Sa])&&(ca[ua[Sa]]=la[ua[Sa]]);return ca}function __awaiter(la,aa,ca,ua){function Sa(hl){return hl instanceof ca?hl:new ca(function(pl){pl(hl)})}return new(ca||(ca=Promise))(function(hl,pl){function ml(xu){try{wc(ua.next(xu))}catch(ff){pl(ff)}}function gl(xu){try{wc(ua.throw(xu))}catch(ff){pl(ff)}}function wc(xu){xu.done?hl(xu.value):Sa(xu.value).then(ml,gl)}wc((ua=ua.apply(la,aa||[])).next())})}function __generator(la,aa){var ca={label:0,sent:function(){if(hl[0]&1)throw hl[1];return hl[1]},trys:[],ops:[]},ua,Sa,hl,pl=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return pl.next=ml(0),pl.throw=ml(1),pl.return=ml(2),typeof Symbol=="function"&&(pl[Symbol.iterator]=function(){return this}),pl;function ml(wc){return function(xu){return gl([wc,xu])}}function gl(wc){if(ua)throw new TypeError("Generator is already executing.");for(;pl&&(pl=0,wc[0]&&(ca=0)),ca;)try{if(ua=1,Sa&&(hl=wc[0]&2?Sa.return:wc[0]?Sa.throw||((hl=Sa.return)&&hl.call(Sa),0):Sa.next)&&!(hl=hl.call(Sa,wc[1])).done)return hl;switch(Sa=0,hl&&(wc=[wc[0]&2,hl.value]),wc[0]){case 0:case 1:hl=wc;break;case 4:return ca.label++,{value:wc[1],done:!1};case 5:ca.label++,Sa=wc[1],wc=[0];continue;case 7:wc=ca.ops.pop(),ca.trys.pop();continue;default:if(hl=ca.trys,!(hl=hl.length>0&&hl[hl.length-1])&&(wc[0]===6||wc[0]===2)){ca=0;continue}if(wc[0]===3&&(!hl||wc[1]>hl[0]&&wc[1]<hl[3])){ca.label=wc[1];break}if(wc[0]===6&&ca.label<hl[1]){ca.label=hl[1],hl=wc;break}if(hl&&ca.label<hl[2]){ca.label=hl[2],ca.ops.push(wc);break}hl[2]&&ca.ops.pop(),ca.trys.pop();continue}wc=aa.call(la,ca)}catch(xu){wc=[6,xu],Sa=0}finally{ua=hl=0}if(wc[0]&5)throw wc[1];return{value:wc[0]?wc[1]:void 0,done:!0}}}function __spreadArray(la,aa,ca){if(ca||arguments.length===2)for(var ua=0,Sa=aa.length,hl;ua<Sa;ua++)(hl||!(ua in aa))&&(hl||(hl=Array.prototype.slice.call(aa,0,ua)),hl[ua]=aa[ua]);return la.concat(hl||Array.prototype.slice.call(aa))}typeof SuppressedError=="function"&&SuppressedError;var define_process_env_default$2={};let fromEnv,CognitoIdentityProviderClient,SignUpCommand,ConfirmSignUp,ResendConfirmationCodeCommand,ForgotPasswordCommand,ConfirmForgotPasswordCommand,AdminGetUserCommand,InitiateAuthCommand,AdminCreateUserCommand,AdminDisableUserCommand,AdminEnableUserCommand,AdminDeleteUserCommand,RespondToAuthChallengeCommand,AuthenticationDetails,CognitoUser,CognitoUserPool,CognitoUserSession,CognitoIdToken,CognitoAccessToken,CognitoRefreshToken;if(isNodeEnv$1){fromEnv=(await __vitePreload(()=>import("./index.browser-CQpqSWgo.js"),__vite__mapDeps([26,19,27]))).fromEnv;const aa=await __vitePreload(()=>import("./index-BVUaJ-sT.js"),__vite__mapDeps([28,29,27,19,30,1,18,5,9,16,11,14,15,10,20,21,17,4]));CognitoIdentityProviderClient=aa.CognitoIdentityProviderClient,SignUpCommand=aa.SignUpCommand,ConfirmSignUp=aa.ConfirmSignUpCommand,ResendConfirmationCodeCommand=aa.ResendConfirmationCodeCommand,ForgotPasswordCommand=aa.ForgotPasswordCommand,ConfirmForgotPasswordCommand=aa.ConfirmForgotPasswordCommand,AdminGetUserCommand=aa.AdminGetUserCommand,InitiateAuthCommand=aa.InitiateAuthCommand,AdminCreateUserCommand=aa.AdminCreateUserCommand,AdminDisableUserCommand=aa.AdminDisableUserCommand,AdminEnableUserCommand=aa.AdminEnableUserCommand,AdminDeleteUserCommand=aa.AdminDeleteUserCommand,RespondToAuthChallengeCommand=aa.RespondToAuthChallengeCommand;const ca=await __vitePreload(()=>import("./index-BHDiPh0o.js"),__vite__mapDeps([31,1,4,5]));AuthenticationDetails=ca.AuthenticationDetails,CognitoUser=ca.CognitoUser,CognitoUserPool=ca.CognitoUserPool,CognitoUserSession=ca.CognitoUserSession,CognitoIdToken=ca.CognitoIdToken,CognitoAccessToken=ca.CognitoAccessToken,CognitoRefreshToken=ca.CognitoRefreshToken}const defaultConfig$1=isNodeEnv$1?new Map().set("UserPoolId",define_process_env_default$2.COGNITO_USER_POOL_ID).set("ClientId",define_process_env_default$2.COGNITO_CLIENT_ID):new Map;function handleCognitoError(la,aa){var ca;const ua=sanitizeErrorMessage(la.message||"");switch(logger$3.error(`Cognito error in ${aa}: ${la.name} - ${ua}`,{errorName:la.name,errorCode:la.code,context:aa,statusCode:(ca=la.$metadata)===null||ca===void 0?void 0:ca.httpStatusCode}),la.name){case"UserNotFoundException":throw logger$3.debug(`User not found in context: ${aa}`),new UserNotFoundError$1("User account not found. Please check your email or sign up.");case"NotAuthorizedException":throw la.message&&la.message.includes("password")?(logger$3.debug(`Invalid password attempt in context: ${aa}`),new UnauthorisedError$1("Invalid password. Please try again.")):la.message&&la.message.includes("not confirmed")?(logger$3.debug(`User not confirmed in context: ${aa}`),new UserNotConfirmedError$1):(logger$3.debug(`Authentication failed in context: ${aa}`),new UnauthorisedError$1("Authentication failed. Please check your credentials."));case"UserNotConfirmedException":throw logger$3.debug(`User not confirmed in context: ${aa}`),new UserNotConfirmedError$1;case"PasswordResetRequiredException":throw logger$3.debug(`Password reset required in context: ${aa}`),new PasswordResetRequiredError$1;case"TooManyRequestsException":throw logger$3.warn(`Rate limit exceeded in context: ${aa}`),new TooManyRequestsError$1;case"TooManyFailedAttemptsException":throw logger$3.warn(`Too many failed attempts in context: ${aa}`),new TooManyRequestsError$1("Too many failed login attempts. Please try again later.");case"InvalidParameterException":throw logger$3.debug(`Invalid parameters in context: ${aa}`),new InvalidParameterError$1(sanitizeErrorMessage(la.message)||"Invalid parameters provided");case"ExpiredCodeException":throw logger$3.debug(`Expired code in context: ${aa}`),new ExpiredCodeError$1;case"CodeMismatchException":throw logger$3.debug(`Code mismatch in context: ${aa}`),new CodeMismatchError$1;case"UsernameExistsException":throw logger$3.debug(`Username exists in context: ${aa}`),new BadRequestError$4("An account with this email already exists.");case"InvalidPasswordException":throw logger$3.debug(`Invalid password format in context: ${aa}`),new BadRequestError$4("Password does not meet requirements. It must be at least 8 characters long and contain uppercase, lowercase, numbers, and special characters.");case"LimitExceededException":throw logger$3.warn(`Service limit exceeded in context: ${aa}`),new TooManyRequestsError$1("Service limit exceeded. Please try again later.");case"InternalErrorException":throw logger$3.error(`Internal Cognito error in context: ${aa}`),new Error("Authentication service is temporarily unavailable. Please try again later.");case"ResourceNotFoundException":throw logger$3.error(`Resource not found in context: ${aa}`),new Error("Authentication service configuration error. Please contact support.");case"AliasExistsException":throw logger$3.debug(`Alias exists in context: ${aa}`),new BadRequestError$4("An account with this email already exists.");case"InvalidEmailRoleAccessPolicyException":throw logger$3.error(`Invalid email role access policy in context: ${aa}`),new Error("Email service configuration error. Please contact support.");case"UserLambdaValidationException":throw logger$3.error(`User lambda validation error in context: ${aa}`),new BadRequestError$4("User validation failed. Please check your input and try again.");case"UnsupportedUserStateException":throw logger$3.debug(`Unsupported user state in context: ${aa}`),new UserNotConfirmedError$1("User account is in an unsupported state. Please contact support.");case"MFAMethodNotFoundException":throw logger$3.debug(`MFA method not found in context: ${aa}`),new BadRequestError$4("MFA method not found. Please set up MFA and try again.");case"CodeDeliveryFailureException":throw logger$3.error(`Code delivery failure in context: ${aa}`),new Error("Unable to deliver verification code. Please try again later.");case"DuplicateProviderException":throw logger$3.error(`Duplicate provider in context: ${aa}`),new BadRequestError$4("Authentication provider already exists.");case"EnableSoftwareTokenMFAException":throw logger$3.debug(`Software token MFA required in context: ${aa}`),new BadRequestError$4("Software token MFA setup required.");case"ForbiddenException":throw logger$3.warn(`Forbidden access in context: ${aa}`),new UnauthorisedError$1("Access forbidden. Please check your permissions.");case"GroupExistsException":throw logger$3.debug(`Group exists in context: ${aa}`),new BadRequestError$4("Group already exists.");case"InvalidLambdaResponseException":throw logger$3.error(`Invalid lambda response in context: ${aa}`),new Error("Authentication service error. Please try again later.");case"InvalidOAuthFlowException":throw logger$3.error(`Invalid OAuth flow in context: ${aa}`),new BadRequestError$4("Invalid OAuth flow. Please try again.");case"InvalidSmsRoleAccessPolicyException":throw logger$3.error(`Invalid SMS role access policy in context: ${aa}`),new Error("SMS service configuration error. Please contact support.");case"InvalidSmsRoleTrustRelationshipException":throw logger$3.error(`Invalid SMS role trust relationship in context: ${aa}`),new Error("SMS service configuration error. Please contact support.");case"InvalidUserPoolConfigurationException":throw logger$3.error(`Invalid user pool configuration in context: ${aa}`),new Error("Authentication service configuration error. Please contact support.");case"PreconditionNotMetException":throw logger$3.debug(`Precondition not met in context: ${aa}`),new BadRequestError$4("Precondition not met. Please check your request and try again.");case"ScopeDoesNotExistException":throw logger$3.error(`Scope does not exist in context: ${aa}`),new BadRequestError$4("Invalid scope. Please check your request.");case"UnexpectedLambdaException":throw logger$3.error(`Unexpected lambda exception in context: ${aa}`),new Error("Authentication service error. Please try again later.");case"UserImportInProgressException":throw logger$3.warn(`User import in progress in context: ${aa}`),new TooManyRequestsError$1("User import in progress. Please try again later.");case"UserPoolTaggingException":throw logger$3.error(`User pool tagging exception in context: ${aa}`),new Error("Authentication service configuration error. Please contact support.");default:throw logger$3.error(`Unhandled Cognito error: ${la.name}`,{errorName:la.name,errorCode:la.code,context:aa}),new Error(`Authentication error: ${sanitizeErrorMessage(la.message)||"An unexpected error occurred"}`)}}function sanitizeErrorMessage(la){return la?la.replace(/password/gi,"[REDACTED]").replace(/token/gi,"[REDACTED]").replace(/secret/gi,"[REDACTED]").replace(/key/gi,"[REDACTED]").replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,"[EMAIL_REDACTED]").replace(/\b[A-Fa-f0-9]{32,}\b/g,"[TOKEN_REDACTED]").replace(/\b\d{4,}\b/g,"[NUMBER_REDACTED]"):""}class CognitoAuth{constructor(aa){this.config=aa||defaultConfig$1;const ca=this.config.get("UserPoolId");ca&&(this.userPool=new CognitoUserPool({UserPoolId:ca,ClientId:this.fetchClientId()}))}fetchUserPoolId(){return this.fetchConfig("UserPoolId")}fetchClientId(){return this.fetchConfig("ClientId")}fetchConfig(aa){const ca=this.config.get(aa);if(ca)return ca;throw new Error(`${aa} is not set`)}async signUp(aa,ca,ua,Sa,hl,pl,ml){const gl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),wc=[{Name:"email",Value:ua},{Name:"name",Value:ua},{Name:"given_name",Value:aa},{Name:"family_name",Value:ca}];hl&&hl.forEach((jf,Uf)=>{wc.push({Name:Uf,Value:jf})});const xu={ClientId:this.config.get("ClientId"),Username:ua,Password:Sa,UserAttributes:wc,ValidationData:wc},ff=new SignUpCommand(xu);try{logger$3.debug(`Attempting signup for user: ${ua}`);const jf=await gl.send(ff);if(jf.$metadata.httpStatusCode==200){logger$3.info(`Signup successful for user: ${ua}`);const Uf=await ensureUser(ua,aa,ca,pl,"Active"),rp={username:ua,firstName:aa,lastName:ca,id:Uf.id,systemUserInfo:jf.UserSub};ml(rp)}else throw logger$3.error(`Signup failed with HTTP status ${jf.$metadata.httpStatusCode}`,{username:ua,statusCode:jf.$metadata.httpStatusCode}),new BadRequestError$4(`Signup failed with status ${jf.$metadata.httpStatusCode}`)}catch(jf){if(jf instanceof BadRequestError$4)throw jf;logger$3.error(`Signup error for user ${ua}:`,{errorName:jf.name,errorMessage:sanitizeErrorMessage(jf.message)}),handleCognitoError(jf,"signUp")}}async confirmSignup(aa,ca,ua){try{const Sa=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),hl=new ConfirmSignUp({ClientId:this.config.get("ClientId"),Username:aa,ConfirmationCode:ca});await Sa.send(hl)}catch(Sa){logger$3.error(`Failed to confirm signup: ${Sa.message}`),handleCognitoError(Sa,"confirmSignup")}}async resendConfirmationCode(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Sa=new ResendConfirmationCodeCommand({ClientId:this.config.get("ClientId"),Username:aa});await ua.send(Sa)}catch(ua){logger$3.error(`Failed to resend confirmation code: ${ua.message}`),handleCognitoError(ua,"resendConfirmationCode")}}async forgotPassword(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Sa=new ForgotPasswordCommand({ClientId:this.fetchClientId(),Username:aa});await ua.send(Sa)}catch(ua){logger$3.error(`Forgot password failed for ${aa}: ${sanitizeErrorMessage(ua.message)}`),handleCognitoError(ua,"forgotPassword")}}async confirmForgotPassword(aa,ca,ua,Sa){try{const hl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),pl=new ConfirmForgotPasswordCommand({ClientId:this.fetchClientId(),Username:aa,ConfirmationCode:ca,Password:ua});await hl.send(pl)}catch(hl){logger$3.error(`Confirm forgot password failed for ${aa}: ${sanitizeErrorMessage(hl.message)}`),handleCognitoError(hl,"confirmForgotPassword")}}async login(aa,ca,ua,Sa){if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID){const pl=new CognitoUser({Username:aa,Pool:this.fetchUserPool()}),ml=new AuthenticationDetails({Username:aa,Password:ca});let gl,wc;for(pl.authenticateUser(ml,{onSuccess:xu=>{gl=xu},onFailure:xu=>{logger$3.debug(`Cognito authentication failed for user ${aa}:`,{errorName:xu.name,errorMessage:sanitizeErrorMessage(xu.message)}),wc=xu},mfaRequired:(xu,ff)=>{logger$3.info(`MFA required for user ${aa}: ${xu}`),wc=new Error("MFA authentication required")},newPasswordRequired:(xu,ff)=>{logger$3.info(`New password required for user ${aa}`),wc=new PasswordResetRequiredError$1("New password required. Please reset your password.")}});gl===void 0&&wc===void 0;)await sleepMilliseconds$1(100);if(wc){if(wc instanceof PasswordResetRequiredError$1)throw wc;logger$3.error(`Login failed for user ${aa}:`,{errorName:wc.name,errorMessage:sanitizeErrorMessage(wc.message)}),handleCognitoError(wc,"login")}if(gl){const xu=gl.getIdToken(),ff=xu.getJwtToken(),jf=xu.decodePayload(),Uf=jf.given_name||jf.name||"",rp=jf.family_name||"",np=jf["cognito:groups"];let qm=await findUserByEmail(aa,ua);qm||(qm=await ensureUser(aa,Uf,rp,ua));const Vm=qm.lookup("id");np&&await ensureUserRoles(Vm,np,ua);const eg=gl.getAccessToken().getJwtToken(),tg=gl.getRefreshToken().getToken(),ig={sessionId:(await ensureUserSession(Vm,ff,eg,tg,ua)).lookup("id"),userId:Vm,authToken:ff,idToken:ff,accessToken:eg,refreshToken:tg,systemSesionInfo:gl};Sa(ig)}else throw logger$3.error(`Login failed for ${aa} - no result received`),new UnauthorisedError$1("Login failed. Please try again.")}else{let pl=await findUserByEmail(aa,ua);pl||(logger$3.warn(`User ${aa} not found in local store`),pl=await ensureUser(aa,"","",ua));const ml=new CognitoUser({Username:aa,Pool:this.fetchUserPool()}),gl=new AuthenticationDetails({Username:aa,Password:ca});let wc,xu;for(ml.authenticateUser(gl,{onSuccess:ff=>{wc=ff},onFailure:ff=>{logger$3.debug(`Cognito authentication failed for user ${aa}:`,{errorName:ff.name,errorMessage:sanitizeErrorMessage(ff.message)}),xu=ff},mfaRequired:(ff,jf)=>{logger$3.info(`MFA required for user ${aa}: ${ff}`),xu=new Error("MFA authentication required")},newPasswordRequired:(ff,jf)=>{logger$3.info(`New password required for user ${aa}`),xu=new PasswordResetRequiredError$1("New password required. Please reset your password.")}});wc===void 0&&xu===void 0;)await sleepMilliseconds$1(100);if(xu){if(xu instanceof PasswordResetRequiredError$1)throw xu;logger$3.error(`Login failed for user ${aa}:`,{errorName:xu.name,errorMessage:sanitizeErrorMessage(xu.message)}),handleCognitoError(xu,"login")}if(wc){const ff=pl.lookup("id"),jf=wc.getIdToken().getJwtToken(),Uf=wc.getAccessToken().getJwtToken(),rp=wc.getRefreshToken().getToken(),qm={sessionId:(await ensureUserSession(ff,jf,Uf,rp,ua)).lookup("id"),userId:ff,authToken:jf,idToken:jf,accessToken:Uf,refreshToken:rp,systemSesionInfo:wc};Sa(qm)}else throw logger$3.error(`Login failed for ${aa} - no result received`),new UnauthorisedError$1("Login failed. Please try again.")}}async logout(aa,ca,ua){try{const Sa=await findUser(aa.userId,ca);if(!Sa){logger$3.warn(`User ${aa.userId} not found during logout`),ua&&ua(!0);return}const hl=new CognitoUser({Username:Sa.lookup("email"),Pool:this.fetchUserPool()});let pl=!1,ml;const gl=new CognitoUserSession({IdToken:new CognitoIdToken({IdToken:aa.idToken}),AccessToken:new CognitoAccessToken({AccessToken:aa.accessToken}),RefreshToken:new CognitoRefreshToken({RefreshToken:aa.refreshToken})});for(hl.setSignInUserSession(gl),hl.globalSignOut({onSuccess:function(){pl=!0},onFailure:function(wc){pl=!0,logger$3.error(`Cognito signOut error for user ${aa.userId}:`,{errorName:wc.name,errorMessage:sanitizeErrorMessage(wc.message)}),ml=wc}});!pl;)await sleepMilliseconds$1(100);ml&&logger$3.error(`Error during Cognito logout for user ${aa.userId}: ${ml.message}`),logger$3.debug(`Successfully logged out user ${aa.userId}`),ua&&ua(!0)}catch(Sa){throw logger$3.error(`Logout failed for user ${aa.userId}: ${Sa.message}`),ua&&ua(!1),Sa}}async changePassword(aa,ca,ua,Sa){const hl=await findUser(aa.userId,Sa);if(!hl)return logger$3.warn(`User ${aa.userId} not found for password-change`),!1;const pl=hl.lookup("email"),ml=new CognitoUser({Username:pl,Pool:this.fetchUserPool()}),gl=new CognitoUserSession({IdToken:new CognitoIdToken({IdToken:aa.idToken}),AccessToken:new CognitoAccessToken({AccessToken:aa.accessToken}),RefreshToken:new CognitoRefreshToken({RefreshToken:aa.refreshToken})});ml.setSignInUserSession(gl);let wc=!1,xu;for(ml.changePassword(ua,ca,(ff,jf)=>{ff?(wc=!0,xu=ff):wc=!0});!wc;)await sleepMilliseconds$1(100);return xu?(logger$3.warn(`Failed to change the password for ${pl} - ${xu.message}`),!1):!0}fetchUserPool(){if(this.userPool)return this.userPool;throw new Error("UserPool not initialized")}async verifyToken(aa){try{const ua=await CognitoJwtVerifier.create({userPoolId:this.fetchUserPoolId(),tokenUse:"id",clientId:this.fetchClientId()}).verify(aa);logger$3.debug(`Decoded JWT for ${ua.email}`)}catch(ca){throw logger$3.error("Token verification failed:",{errorName:ca.name,errorMessage:sanitizeErrorMessage(ca.message)}),ca.message&&ca.message.includes("expired")?new UnauthorisedError$1("Token has expired. Please login again."):ca.message&&ca.message.includes("invalid")?new UnauthorisedError$1("Invalid token format."):ca.message&&ca.message.includes("not before")?new UnauthorisedError$1("Token is not yet valid."):ca.message&&ca.message.includes("audience")?new UnauthorisedError$1("Token audience mismatch."):new UnauthorisedError$1(`Token verification failed: ${sanitizeErrorMessage(ca.message)||"Invalid token"}`)}}async getUser(aa,ca){const ua=await findUser(aa,ca);if(!ua)throw new UserNotFoundError$1(`User ${aa} not found in local database`);const Sa=ua.lookup("email"),hl=ua.lookup("firstName"),pl=ua.lookup("lastName");if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID&&Sa)try{const gl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),wc=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:Sa}),xu=await gl.send(wc);return{id:aa,username:Sa,firstName:hl,lastName:pl,systemUserInfo:{localUser:ua,cognitoData:{userAttributes:xu.UserAttributes,userCreateDate:xu.UserCreateDate,userLastModifiedDate:xu.UserLastModifiedDate,userStatus:xu.UserStatus,enabled:xu.Enabled,preferredMfaSetting:xu.PreferredMfaSetting,userMFASettingList:xu.UserMFASettingList}}}}catch(gl){return logger$3.warn(`Failed to get Cognito user info for ${Sa}, using local data only:`,{errorName:gl.name,errorMessage:sanitizeErrorMessage(gl.message)}),{id:aa,username:Sa,firstName:hl,lastName:pl,systemUserInfo:ua}}else return{id:aa,username:Sa||aa,firstName:hl,lastName:pl,systemUserInfo:ua}}async getUserByEmail(aa,ca){const ua=await findUserByEmail(aa,ca);if(!ua)throw new UserNotFoundError$1(`User with email ${aa} not found in local database`);const Sa=ua.lookup("id"),hl=ua.lookup("firstName"),pl=ua.lookup("lastName");if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID)try{const gl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),wc=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),ClientId:this.fetchClientId(),Username:aa}),xu=await gl.send(wc);return{id:Sa,username:aa,firstName:hl,lastName:pl,systemUserInfo:{localUser:ua,cognitoData:{userAttributes:xu.UserAttributes,userCreateDate:xu.UserCreateDate,userLastModifiedDate:xu.UserLastModifiedDate,userStatus:xu.UserStatus,enabled:xu.Enabled,preferredMfaSetting:xu.PreferredMfaSetting,userMFASettingList:xu.UserMFASettingList}}}}catch(gl){return console.log(`Failed to get Cognito user info for email ${aa}, using local data only:`,{errorName:gl.name,errorMessage:sanitizeErrorMessage(gl.message)}),{id:Sa,username:aa,firstName:hl,lastName:pl,systemUserInfo:ua}}else return{id:Sa,username:aa,firstName:hl,lastName:pl,systemUserInfo:ua}}async refreshToken(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Sa=new InitiateAuthCommand({AuthFlow:"REFRESH_TOKEN_AUTH",ClientId:this.fetchClientId(),AuthParameters:{REFRESH_TOKEN:aa}}),hl=await ua.send(Sa);if(!hl.AuthenticationResult)throw new UnauthorisedError$1("Token refresh failed");const pl=hl.AuthenticationResult.IdToken,ml=hl.AuthenticationResult.AccessToken,gl=hl.AuthenticationResult.RefreshToken||aa,xu=JSON.parse(atob(pl.split(".")[1])).email;let ff=await findUserByEmail(xu,ca);ff||(ff=await ensureUser(xu,"","",ca));const jf=ff.lookup("id");return{sessionId:(await ensureUserSession(jf,pl,ml,gl,ca)).lookup("id"),userId:jf,authToken:pl,idToken:pl,accessToken:ml,refreshToken:gl,systemSesionInfo:hl.AuthenticationResult}}catch(ua){throw logger$3.error(`Refresh token operation failed: ${ua.message}`),ua.name==="NotAuthorizedException"?new UnauthorisedError$1("Invalid or expired refresh token"):(handleCognitoError(ua,"refreshToken"),ua)}}async inviteUser(aa,ca,ua,Sa,hl,pl,ml){var gl;try{const wc=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),xu=[{Name:"email",Value:aa},{Name:"email_verified",Value:"true"},{Name:"given_name",Value:ca},{Name:"family_name",Value:ua}];Sa&&Sa.forEach((rp,np)=>{xu.push({Name:np,Value:String(rp)})});let ff=!1;try{const rp=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});await wc.send(rp),ff=!0,logger$3.debug(`User ${aa} already exists, will resend invitation`)}catch(rp){if(rp.name!=="UserNotFoundException")throw rp;logger$3.debug(`User ${aa} does not exist, will create new user`)}const jf=new AdminCreateUserCommand(Object.assign({UserPoolId:this.fetchUserPoolId(),Username:aa,UserAttributes:xu,DesiredDeliveryMediums:["EMAIL"],TemporaryPassword:generateUrlSafePassword$1()},ff?{MessageAction:"RESEND"}:{}));logger$3.debug(`Attempting to invite user: ${aa}`);const Uf=await wc.send(jf);if(Uf.$metadata.httpStatusCode===200){logger$3.info(`User invitation successful for: ${aa}`);const np=(await ensureUser(aa,ca,ua,pl,"Invited")).lookup("id");await ensureUserRoles(np,[hl||"user"],pl);const qm={email:aa,firstName:ca,lastName:ua,invitationId:(gl=Uf.User)===null||gl===void 0?void 0:gl.Username,systemInvitationInfo:Uf};ml(qm)}else throw logger$3.error(`User invitation failed with HTTP status ${Uf.$metadata.httpStatusCode}`,{email:aa,statusCode:Uf.$metadata.httpStatusCode}),new BadRequestError$4(`User invitation failed with status ${Uf.$metadata.httpStatusCode}`)}catch(wc){if(wc instanceof BadRequestError$4)throw wc;logger$3.error(`User invitation error for ${aa}:`,{errorName:wc.name,errorMessage:sanitizeErrorMessage(wc.message)}),handleCognitoError(wc,"inviteUser")}}async resendInvitation(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"});try{const pl=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});await ua.send(pl)}catch(pl){throw pl.name==="UserNotFoundException"?new UserNotFoundError$1(`User ${aa} not found. Cannot resend invitation.`):pl}const Sa=new AdminCreateUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa,DesiredDeliveryMediums:["EMAIL"],MessageAction:"RESEND"});logger$3.debug(`Attempting to resend invitation for user: ${aa}`);const hl=await ua.send(Sa);if(hl.$metadata.httpStatusCode===200)logger$3.info(`Invitation resent successfully for: ${aa}`);else throw logger$3.error(`Failed to resend invitation with HTTP status ${hl.$metadata.httpStatusCode}`,{email:aa,statusCode:hl.$metadata.httpStatusCode}),new BadRequestError$4(`Failed to resend invitation with status ${hl.$metadata.httpStatusCode}`)}catch(ua){if(ua instanceof BadRequestError$4||ua instanceof UserNotFoundError$1)throw ua;logger$3.error(`Resend invitation error for ${aa}:`,{errorName:ua.name,errorMessage:sanitizeErrorMessage(ua.message)}),handleCognitoError(ua,"resendInvitation")}}async acceptInvitation(aa,ca,ua,Sa){try{const hl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),pl=new InitiateAuthCommand({AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.fetchClientId(),AuthParameters:{USERNAME:aa,PASSWORD:ca}}),ml=await hl.send(pl);if(ml.ChallengeName==="NEW_PASSWORD_REQUIRED"){const gl=new RespondToAuthChallengeCommand({ClientId:this.fetchClientId(),ChallengeName:"NEW_PASSWORD_REQUIRED",Session:ml.Session,ChallengeResponses:{USERNAME:aa,NEW_PASSWORD:ua}});await hl.send(gl),logger$3.info(`User invitation accepted successfully for: ${aa}`)}else throw new Error(`Unexpected challenge: ${ml.ChallengeName}`)}catch(hl){logger$3.error(`Accept invitation failed for ${aa}: ${sanitizeErrorMessage(hl.message)}`),handleCognitoError(hl,"acceptInvitation")}}async callback(aa,ca,ua){try{if(!isNodeEnv$1)throw new Error("Callback authentication is only supported in Node.js environment");const Sa=this.fetchConfig("ClientId"),hl=define_process_env_default$2.AWS_REGION||"us-east-1",pl=define_process_env_default$2.COGNITO_REDIRECT_URI||"http://localhost:3000/auth/callback",gl=`https://${define_process_env_default$2.COGNITO_HOSTED_DOMAIN}.auth.${hl}.amazoncognito.com/oauth2/token`,wc=new URLSearchParams({grant_type:"authorization_code",client_id:Sa,code:aa,redirect_uri:pl});logger$3.debug("Exchanging authorization code for tokens via OAuth2 endpoint"),console.log("te",gl,wc.toString());const xu=await fetch(gl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:wc.toString()});if(!xu.ok){const qw=await xu.text();throw new Error(`Token exchange failed: ${xu.status} ${qw}`)}const ff=await xu.json();if(!ff.access_token||!ff.id_token||!ff.refresh_token)throw new Error("Missing required tokens in response");const{access_token:jf,id_token:Uf,refresh_token:rp}=ff,np=this.decodeJwtPayload(Uf),qm=np.email,Vm=np.given_name||np.name||"",eg=np.family_name||"",tg=np["cognito:groups"];if(!qm)throw new Error("Email not found in ID attributes");let rg=await findUserByEmail(qm,ca);rg||(rg=await ensureUser(qm,Vm,eg,ca));const ig=rg.lookup("id");tg&&await ensureUserRoles(ig,tg,ca);const k1={sessionId:(await ensureUserSession(ig,Uf,jf,rp,ca)).lookup("id"),userId:ig,authToken:Uf,idToken:Uf,accessToken:jf,refreshToken:rp,systemSesionInfo:ff};logger$3.info(`Auth callback successful for user ${qm}`),ua(k1)}catch(Sa){console.log(Sa),logger$3.error(`Auth callback failed: ${sanitizeErrorMessage(Sa.message)}`),handleCognitoError(Sa,"callback")}}decodeJwtPayload(aa){try{const ua=aa.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),Sa=decodeURIComponent(atob(ua).split("").map(hl=>"%"+("00"+hl.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(Sa)}catch(ca){throw logger$3.error(`Failed to decode JWT payload: ${ca}`),new Error("Invalid JWT token")}}async deleteUser(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Sa=new AdminDeleteUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});logger$3.debug(`Attempting to delete user: ${aa}`),await ua.send(Sa),logger$3.info(`User deleted successfully: ${aa}`)}catch(ua){logger$3.error(`Failed to delete user ${aa}:`,{errorName:ua.name,errorMessage:sanitizeErrorMessage(ua.message)}),handleCognitoError(ua,"deleteUser")}}async disableUser(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Sa=new AdminDisableUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});logger$3.debug(`Attempting to disable user: ${aa}`),await ua.send(Sa),logger$3.info(`User disabled successfully: ${aa}`)}catch(ua){logger$3.error(`Failed to disable user ${aa}:`,{errorName:ua.name,errorMessage:sanitizeErrorMessage(ua.message)}),handleCognitoError(ua,"disableUser")}}async enableUser(aa,ca){try{const ua=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Sa=new AdminEnableUserCommand({UserPoolId:this.fetchUserPoolId(),Username:aa});logger$3.debug(`Attempting to enable user: ${aa}`),await ua.send(Sa),logger$3.info(`User enabled successfully: ${aa}`)}catch(ua){logger$3.error(`Failed to enable user ${aa}:`,{errorName:ua.name,errorMessage:sanitizeErrorMessage(ua.message)}),handleCognitoError(ua,"enableUser")}}}const CoreAuthModuleName=makeCoreModuleName$1("auth"),auth=`module ${CoreAuthModuleName}
17433
17433
 
17434
17434
  import "./modules/auth.js" @as Auth
17435
17435
 
@@ -19380,7 +19380,7 @@ agent builderAgentResolver {
19380
19380
  workflow generateAgentlangResolver {
19381
19381
  {builderAgentResolver {message generateAgentlangResolver.requirements}}
19382
19382
  }
19383
- `}const v$8=w$a(),BUILTIN_MODULES={"./modules/core.js":()=>typeof window<"u"?window.Core:{},"./modules/auth.js":()=>typeof window<"u"?window.Auth:{}};function initializeDefaultModuleLoader(){setModuleLoader({fileReader:async la=>{if(BUILTIN_MODULES[la])return"";throw new Error(`Cannot load JavaScript module "${la}" - no repository is currently loaded. Please clone a repository first before using resolvers with JavaScript imports.`)},dependencyProvider:la=>{if(BUILTIN_MODULES[la])return BUILTIN_MODULES[la]()},basePath:""})}async function parseAndIntern(la,aa){try{return await parseAndIntern$1(la,aa)}catch(ca){if(ca?.message?.includes("[object Object]")){console.error("Lexer error details:",ca);const ua=ca.message.replace(/\[object Object\]/g,"Syntax error in AgentLang code");throw new Error(ua)}throw ca}}const AgentLangRuntime={parseAndIntern,parseAndEvaluateStatement:async(la,aa,ca)=>{const{parseAndEvaluateStatement:ua}=await __vitePreload(async()=>{const{parseAndEvaluateStatement:Sa}=await Promise.resolve().then(()=>interpreter);return{parseAndEvaluateStatement:Sa}},void 0);return ua(la,aa,ca)},isModule:isModule$1,fetchModule:fetchModule$2};let runtimeInitialized=!1,execGraphEnabled=!1;async function runPreInitTasks(la,aa){initGlobalApi();const ca=isExecGraphEnabled();!execGraphEnabled&&ca&&(enableExecutionGraph(),execGraphEnabled=!0),ca?enableInternalMonitoring():disableInternalMonitoring();try{await loadCoreModules()}catch(ua){return console.error("Failed to load core modules:",ua),!1}return!0}async function initializeRuntime(la,aa){if(console.log(`🚀 [STUDIO] initializeRuntime called (runtimeInitialized=${runtimeInitialized})`),runtimeInitialized)return console.log("⏭️ [STUDIO] Runtime already initialized, skipping full initialization"),aa&&Object.entries(aa).forEach(([ua,Sa])=>{setLocalEnv(ua,Sa)}),AgentLangRuntime;if(initializeDefaultModuleLoader(),typeof window<"u"&&!window.SQL)try{const ua=await initSqlJs({locateFile:Sa=>`/${Sa}`});window.SQL=ua,window.initSqlJs=()=>Promise.resolve(ua),console.log("✅ Loaded SQL.js from local files")}catch(ua){throw console.error("❌ Failed to load SQL.js:",ua),console.error("Make sure sql-wasm.wasm and sql-wasm.js are in the public directory"),ua}if(typeof window<"u"&&(window.Auth={signUpUser,confirmSignupUser,resendConfirmationCodeUser,loginUser,forgotPasswordUser,confirmForgotPasswordUser,logoutUser,changePassword,refreshUserToken,getUserInfo,getUserInfoByEmail,inviteUser,acceptInvitationUser,callbackUser}),typeof window<"u"&&(window.Core={lookupActiveSuspension,restartSuspension,validateModule,fetchMonitorsForEvent,fetchLatestMonitorForEvent}),!await runPreInitTasks())throw new Error("Failed to initialize runtime - pre-init tasks failed");try{aa&&(console.log("🔑 Setting environment keys:",Object.keys(aa)),Object.entries(aa).forEach(([ua,Sa])=>{console.log(` Setting ${ua} = ${Sa?`${Sa.substring(0,10)}...`:"undefined"}`),setLocalEnv(ua,Sa);const hl=getLocalEnv$2(ua);hl!==Sa?console.error(`❌ Failed to set ${ua}: expected ${Sa}, got ${hl}`):console.log(` ✅ Verified ${ua} is set correctly`)})),la?.anthropic&&aa?.ANTHROPIC_API_KEY,la?.openai&&aa?.OPENAI_API_KEY,await resetDefaultDatabase();try{const{parseAndEvaluateStatement:ua}=await __vitePreload(async()=>{const{parseAndEvaluateStatement:Sa}=await Promise.resolve().then(()=>interpreter);return{parseAndEvaluateStatement:Sa}},void 0);await ua("now()",void 0,{})}catch(ua){const Sa=ua?.message||String(ua);if(Sa.includes("now")&&(Sa.includes("not a function")||Sa.includes("is not defined")))throw console.error("❌ now() function is not available. initGlobalApi() may have failed to register it."),new Error("AgentLang initialization failed: now() function is not available. This usually indicates a build/bundling issue. Error: "+Sa);console.debug("now() test evaluation result (this is usually fine):",ua)}await parseAndIntern(v$8),await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements()}catch(ua){console.error("❌ Module loading failed:",ua);const Sa=ua instanceof Error?ua.message:String(ua);throw Sa.includes("now")&&Sa.includes("not a function")?new Error(`AgentLang initialization failed: ${Sa}. The now() function required for @default(now()) is not available. This is likely a build/bundling issue where initGlobalApi() did not properly register the function.`):ua}return typeof window<"u"&&(window.agentlang=AgentLangRuntime,window.checkMonitoring=async()=>{console.log("🔍 Monitoring Status Check:");const{isMonitoringEnabled:ua}=await __vitePreload(async()=>{const{isMonitoringEnabled:Sa}=await Promise.resolve().then(()=>state);return{isMonitoringEnabled:Sa}},void 0);return console.log(" isMonitoringEnabled():",ua()),console.log(" execGraphEnabled:",execGraphEnabled),{monitoring:ua(),execGraph:execGraphEnabled}},window.debugEnv={getLocalEnv:ua=>{const Sa=getLocalEnv$2(ua);return console.log(`${ua}:`,Sa?`${Sa.substring(0,10)}...`:"undefined"),Sa},testGmailKeys:()=>{console.log("🔍 Testing Gmail environment keys:"),["GMAIL_CLIENT_ID","GMAIL_CLIENT_SECRET","GMAIL_REFRESH_TOKEN"].forEach(Sa=>{const hl=getLocalEnv$2(Sa);console.log(` ${Sa}:`,hl?"✅ Found":"❌ Not Found")})}},console.log("🔧 Debug helpers available: window.debugEnv.testGmailKeys()")),runtimeInitialized=!0,AgentLangRuntime}function updateApiKeys(la){la.anthropic&&setLocalEnv("ANTHROPIC_API_KEY",la.anthropic),la.openai&&setLocalEnv("OPENAI_API_KEY",la.openai)}function getRuntime(){if(typeof window<"u"&&window.agentlang)return window.agentlang;throw new Error("AgentLang runtime not available. Please wait for initialization to complete.")}async function loadAgentCraftModule(){if(!(typeof window>"u"||!window.agentlang)){try{if(fetchModule$2("AgentCraft"))return}catch{}try{if(!await runPreInitTasks())throw new Error("Failed to load core modules for AgentCraft");await resetDefaultDatabase(),await parseAndIntern(v$8),await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements()}catch(la){throw console.error("Failed to load AgentCraft module:",la),la}}}async function executeStatement(la){try{return await getRuntime().parseAndEvaluateStatement(la)}catch(ca){throw console.error("AgentLang execution error:",ca),ca}}async function prepareRuntimeForAppLoad(la){}async function queryLLMEntities(){try{const aa=await getRuntime().parseAndEvaluateStatement("{agentlang.ai/LLM? {}}");return!aa||!Array.isArray(aa)?[]:aa.map(ca=>({name:ca.lookup("name"),service:ca.lookup("service"),config:ca.lookup("config")||{}}))}catch(la){return console.error("Failed to query LLM entities:",la),[]}}const index$4=Object.freeze(Object.defineProperty({__proto__:null,AgentLangRuntime,executeStatement,fetchLatestMonitorForEvent,fetchMonitorsForEvent,getRuntime,initializeRuntime,loadAgentCraftModule,prepareRuntimeForAppLoad,queryLLMEntities,updateApiKeys},Symbol.toStringTag,{value:"Module"})),STORAGE_KEY$1="playground-env-keys";function getEnvironmentKeys(){try{const la=localStorage.getItem(STORAGE_KEY$1);return la?JSON.parse(la):[]}catch(la){return console.error("Failed to parse environment keys from localStorage:",la),[]}}function saveEnvironmentKeys(la){try{localStorage.setItem(STORAGE_KEY$1,JSON.stringify(la))}catch(aa){console.error("Failed to save environment keys to localStorage:",aa)}}function setEnvironmentKey(la,aa){const ca=getEnvironmentKeys(),ua=ca.findIndex(Sa=>Sa.name===la);ua>=0?ca[ua].value=aa:ca.push({name:la,value:aa}),saveEnvironmentKeys(ca)}function deleteEnvironmentKey(la){const ca=getEnvironmentKeys().filter(ua=>ua.name!==la);saveEnvironmentKeys(ca)}function getEnvironmentKeysAsObject(){return getEnvironmentKeys().reduce((aa,{name:ca,value:ua})=>(aa[ca]=ua,aa),{})}const playgroundEnvKeys=Object.freeze(Object.defineProperty({__proto__:null,deleteEnvironmentKey,getEnvironmentKeys,getEnvironmentKeysAsObject,saveEnvironmentKeys,setEnvironmentKey},Symbol.toStringTag,{value:"Module"}));class InBrowserREPL{runtimeInitialized=!1;currentContext=null;loadedModules=new Set;componentLoaded=!1;queryQueue=[];isProcessingQueue=!1;MAX_QUEUE_SIZE=5;OPERATION_DELAY_MS=50;recoveryMode=!1;lastRecoveryTime=0;RECOVERY_COOLDOWN_MS=3e3;async initializeRuntime(){if(this.runtimeInitialized){console.log("Runtime already initialized, skipping...");return}try{console.log("🚀 Initializing in-browser AgentLang runtime...");const aa=getEnvironmentKeysAsObject();aa.VITE_API_CORS_PROXY_URL||(aa.VITE_API_CORS_PROXY_URL="https://api-cors-proxy.fractl.io"),await initializeRuntime(void 0,aa),this.runtimeInitialized=!0,console.log("✅ In-browser runtime initialized")}catch(aa){throw console.error("❌ Failed to initialize in-browser runtime:",aa),aa}}async loadComponent(aa){this.runtimeInitialized||await this.initializeRuntime();const{teamName:ca,moduleName:ua}=aa;if(!ca)throw new Error("Team name is required to load component");if(this.currentContext&&this.currentContext.teamName===ca&&(this.currentContext.moduleName||"core")===(ua||"core")&&this.componentLoaded)return;const hl=!this.componentLoaded;try{console.log(`📦 Initializing REPL for: ${ca}/${ua||"core"}`),hl?console.log(" ✅ REPL ready (using database initialized by flushAllAndLoad)"):(console.log(" 🔄 Resetting database for app switch..."),await resetDefaultDatabase(),console.log(" 📄 Loading agentlang.ai module..."),await parseAndIntern$1(aiModule),console.log(" 🔧 Initializing database..."),await initDatabase(void 0),await runInitFunctions(),console.log(" 🔧 Running standalone statements..."),await runStandaloneStatements()),this.currentContext=aa,this.componentLoaded=!0,typeof window<"u"&&window.dispatchEvent(new CustomEvent("agentlang:component-loaded",{detail:{teamName:ca,moduleName:ua||"core"}}))}catch(pl){if((pl?.message?.includes("no such table")||pl?.message?.includes("database")||pl?.message?.includes("table")||pl?.message?.includes("schema"))&&!hl){console.warn("⚠️ Database error detected. Attempting automatic recovery by resetting database...");try{this.recoveryMode=!0,await resetDefaultDatabase(),this.queryQueue=[],this.isProcessingQueue=!1,await parseAndIntern$1(aiModule),await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements(),this.currentContext=aa,this.componentLoaded=!0,this.lastRecoveryTime=Date.now(),this.recoveryMode=!1,console.log(`✅ Database recovered successfully. Cooldown period: ${this.RECOVERY_COOLDOWN_MS}ms`),typeof window<"u"&&window.dispatchEvent(new CustomEvent("agentlang:component-loaded",{detail:{teamName:ca,moduleName:ua||"core"}}));return}catch(gl){this.recoveryMode=!1,console.error("❌ Failed to recover database. Please refresh the page.",gl)}}throw this.componentLoaded=!1,this.currentContext=null,this.loadedModules.clear(),console.error("❌ Failed to load component:",pl),pl}}async evaluate(aa){if(!this.runtimeInitialized)throw new Error("Runtime not initialized. Call loadComponent() first.");return this.queueOperation(()=>this.executeStatementInternal(aa))}async queueOperation(aa){if(this.recoveryMode)throw new Error("System is currently recovering from an error. Please try again in a moment.");const ca=Date.now()-this.lastRecoveryTime;if(this.lastRecoveryTime>0&&ca<this.RECOVERY_COOLDOWN_MS){const Sa=Math.ceil((this.RECOVERY_COOLDOWN_MS-ca)/1e3);throw new Error(`System is in cooldown period after recovery. Please wait ${Sa} more seconds before retrying.`)}if(this.queryQueue.length>=this.MAX_QUEUE_SIZE)throw console.error(`❌ Query queue is full (${this.MAX_QUEUE_SIZE}/${this.MAX_QUEUE_SIZE}). SQL.js memory may be exhausted.`),new Error(`Query queue is full (${this.MAX_QUEUE_SIZE} operations). Too many concurrent operations. Please wait and try again.`);const ua=this.queryQueue.length/this.MAX_QUEUE_SIZE;return ua>.6&&console.warn(`⚠️ Query queue is ${Math.round(ua*100)}% full (${this.queryQueue.length}/${this.MAX_QUEUE_SIZE}) - operations may be delayed`),new Promise((Sa,hl)=>{this.queryQueue.push(async()=>{try{const pl=await aa();Sa(pl)}catch(pl){hl(pl)}}),this.processQueue()})}async processQueue(){if(!(this.isProcessingQueue||this.queryQueue.length===0)){for(this.isProcessingQueue=!0;this.queryQueue.length>0;){const aa=this.queryQueue.shift();if(aa)try{await aa(),this.queryQueue.length>0&&await new Promise(ca=>setTimeout(ca,this.OPERATION_DELAY_MS))}catch(ca){console.error("Queue operation failed:",ca)}}this.isProcessingQueue=!1}}async executeStatementInternal(aa){try{return await executeStatement(aa)}catch(ca){if(ca?.message?.toLowerCase().includes("out of memory")||ca?.message?.toLowerCase().includes("oom")){this.queryQueue=[],this.isProcessingQueue=!1,console.error("❌ SQL.js out of memory error detected during query execution.",`
19383
+ `}const v$8=w$a(),BUILTIN_MODULES={"./modules/core.js":()=>typeof window<"u"?window.Core:{},"./modules/auth.js":()=>typeof window<"u"?window.Auth:{}};function initializeDefaultModuleLoader(){setModuleLoader({fileReader:async la=>{if(BUILTIN_MODULES[la])return"";throw new Error(`Cannot load JavaScript module "${la}" - no repository is currently loaded. Please clone a repository first before using resolvers with JavaScript imports.`)},dependencyProvider:la=>{if(BUILTIN_MODULES[la])return BUILTIN_MODULES[la]()},basePath:""})}async function parseAndIntern(la,aa){try{return await parseAndIntern$1(la,aa)}catch(ca){if(ca?.message?.includes("[object Object]")){console.error("Lexer error details:",ca);const ua=ca.message.replace(/\[object Object\]/g,"Syntax error in AgentLang code");throw new Error(ua)}throw ca}}const AgentLangRuntime={parseAndIntern,parseAndEvaluateStatement:async(la,aa,ca)=>{const{parseAndEvaluateStatement:ua}=await __vitePreload(async()=>{const{parseAndEvaluateStatement:Sa}=await Promise.resolve().then(()=>interpreter);return{parseAndEvaluateStatement:Sa}},void 0);return ua(la,aa,ca)},isModule:isModule$1,fetchModule:fetchModule$2};let runtimeInitialized=!1,execGraphEnabled=!1;async function runPreInitTasks(la,aa){initGlobalApi();const ca=isExecGraphEnabled();!execGraphEnabled&&ca&&(enableExecutionGraph(),execGraphEnabled=!0),ca?enableInternalMonitoring():disableInternalMonitoring();try{await loadCoreModules()}catch(ua){return console.error("Failed to load core modules:",ua),!1}return!0}async function initializeRuntime(la,aa){if(console.log(`🚀 [STUDIO] initializeRuntime called (runtimeInitialized=${runtimeInitialized})`),runtimeInitialized)return console.log("⏭️ [STUDIO] Runtime already initialized, skipping full initialization"),aa&&Object.entries(aa).forEach(([ua,Sa])=>{setLocalEnv(ua,Sa)}),AgentLangRuntime;if(initializeDefaultModuleLoader(),typeof window<"u"&&!window.SQL)try{const ua=await initSqlJs({locateFile:Sa=>`/${Sa}`});window.SQL=ua,window.initSqlJs=()=>Promise.resolve(ua),console.log("✅ Loaded SQL.js from local files")}catch(ua){throw console.error("❌ Failed to load SQL.js:",ua),console.error("Make sure sql-wasm.wasm and sql-wasm.js are in the public directory"),ua}if(typeof window<"u"&&(window.Auth={signUpUser,confirmSignupUser,resendConfirmationCodeUser,loginUser,forgotPasswordUser,confirmForgotPasswordUser,logoutUser,changePassword,refreshUserToken,getUserInfo,getUserInfoByEmail,inviteUser,acceptInvitationUser,callbackUser}),typeof window<"u"&&(window.Core={lookupActiveSuspension,restartSuspension,validateModule,fetchMonitorsForEvent,fetchLatestMonitorForEvent}),!await runPreInitTasks())throw new Error("Failed to initialize runtime - pre-init tasks failed");try{aa&&(console.log("🔑 Setting environment keys:",Object.keys(aa)),Object.entries(aa).forEach(([ua,Sa])=>{console.log(` Setting ${ua} = ${Sa?`${Sa.substring(0,10)}...`:"undefined"}`),setLocalEnv(ua,Sa);const hl=getLocalEnv$2(ua);hl!==Sa?console.error(`❌ Failed to set ${ua}: expected ${Sa}, got ${hl}`):console.log(` ✅ Verified ${ua} is set correctly`)})),la?.anthropic&&aa?.ANTHROPIC_API_KEY,la?.openai&&aa?.OPENAI_API_KEY,await resetDefaultDatabase(),await parseAndIntern(v$8),await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements()}catch(ua){throw console.error("❌ Module loading failed:",ua),ua}return typeof window<"u"&&(window.agentlang=AgentLangRuntime,window.checkMonitoring=async()=>{console.log("🔍 Monitoring Status Check:");const{isMonitoringEnabled:ua}=await __vitePreload(async()=>{const{isMonitoringEnabled:Sa}=await Promise.resolve().then(()=>state);return{isMonitoringEnabled:Sa}},void 0);return console.log(" isMonitoringEnabled():",ua()),console.log(" execGraphEnabled:",execGraphEnabled),{monitoring:ua(),execGraph:execGraphEnabled}},window.debugEnv={getLocalEnv:ua=>{const Sa=getLocalEnv$2(ua);return console.log(`${ua}:`,Sa?`${Sa.substring(0,10)}...`:"undefined"),Sa},testGmailKeys:()=>{console.log("🔍 Testing Gmail environment keys:"),["GMAIL_CLIENT_ID","GMAIL_CLIENT_SECRET","GMAIL_REFRESH_TOKEN"].forEach(Sa=>{const hl=getLocalEnv$2(Sa);console.log(` ${Sa}:`,hl?"✅ Found":"❌ Not Found")})}},console.log("🔧 Debug helpers available: window.debugEnv.testGmailKeys()")),runtimeInitialized=!0,AgentLangRuntime}function updateApiKeys(la){la.anthropic&&setLocalEnv("ANTHROPIC_API_KEY",la.anthropic),la.openai&&setLocalEnv("OPENAI_API_KEY",la.openai)}function getRuntime(){if(typeof window<"u"&&window.agentlang)return window.agentlang;throw new Error("AgentLang runtime not available. Please wait for initialization to complete.")}async function loadAgentCraftModule(){if(!(typeof window>"u"||!window.agentlang)){try{if(fetchModule$2("AgentCraft"))return}catch{}try{if(!await runPreInitTasks())throw new Error("Failed to load core modules for AgentCraft");await resetDefaultDatabase(),await parseAndIntern(v$8),await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements()}catch(la){throw console.error("Failed to load AgentCraft module:",la),la}}}async function executeStatement(la){try{return await getRuntime().parseAndEvaluateStatement(la)}catch(ca){throw console.error("AgentLang execution error:",ca),ca}}async function prepareRuntimeForAppLoad(la){}async function queryLLMEntities(){try{const aa=await getRuntime().parseAndEvaluateStatement("{agentlang.ai/LLM? {}}");return!aa||!Array.isArray(aa)?[]:aa.map(ca=>({name:ca.lookup("name"),service:ca.lookup("service"),config:ca.lookup("config")||{}}))}catch(la){return console.error("Failed to query LLM entities:",la),[]}}const index$4=Object.freeze(Object.defineProperty({__proto__:null,AgentLangRuntime,executeStatement,fetchLatestMonitorForEvent,fetchMonitorsForEvent,getRuntime,initializeRuntime,loadAgentCraftModule,prepareRuntimeForAppLoad,queryLLMEntities,updateApiKeys},Symbol.toStringTag,{value:"Module"})),STORAGE_KEY$1="playground-env-keys";function getEnvironmentKeys(){try{const la=localStorage.getItem(STORAGE_KEY$1);return la?JSON.parse(la):[]}catch(la){return console.error("Failed to parse environment keys from localStorage:",la),[]}}function saveEnvironmentKeys(la){try{localStorage.setItem(STORAGE_KEY$1,JSON.stringify(la))}catch(aa){console.error("Failed to save environment keys to localStorage:",aa)}}function setEnvironmentKey(la,aa){const ca=getEnvironmentKeys(),ua=ca.findIndex(Sa=>Sa.name===la);ua>=0?ca[ua].value=aa:ca.push({name:la,value:aa}),saveEnvironmentKeys(ca)}function deleteEnvironmentKey(la){const ca=getEnvironmentKeys().filter(ua=>ua.name!==la);saveEnvironmentKeys(ca)}function getEnvironmentKeysAsObject(){return getEnvironmentKeys().reduce((aa,{name:ca,value:ua})=>(aa[ca]=ua,aa),{})}const playgroundEnvKeys=Object.freeze(Object.defineProperty({__proto__:null,deleteEnvironmentKey,getEnvironmentKeys,getEnvironmentKeysAsObject,saveEnvironmentKeys,setEnvironmentKey},Symbol.toStringTag,{value:"Module"}));class InBrowserREPL{runtimeInitialized=!1;currentContext=null;loadedModules=new Set;componentLoaded=!1;queryQueue=[];isProcessingQueue=!1;MAX_QUEUE_SIZE=5;OPERATION_DELAY_MS=50;recoveryMode=!1;lastRecoveryTime=0;RECOVERY_COOLDOWN_MS=3e3;async initializeRuntime(){if(this.runtimeInitialized){console.log("Runtime already initialized, skipping...");return}try{console.log("🚀 Initializing in-browser AgentLang runtime...");const aa=getEnvironmentKeysAsObject();aa.VITE_API_CORS_PROXY_URL||(aa.VITE_API_CORS_PROXY_URL="https://api-cors-proxy.fractl.io"),await initializeRuntime(void 0,aa),this.runtimeInitialized=!0,console.log("✅ In-browser runtime initialized")}catch(aa){throw console.error("❌ Failed to initialize in-browser runtime:",aa),aa}}async loadComponent(aa){this.runtimeInitialized||await this.initializeRuntime();const{teamName:ca,moduleName:ua}=aa;if(!ca)throw new Error("Team name is required to load component");if(this.currentContext&&this.currentContext.teamName===ca&&(this.currentContext.moduleName||"core")===(ua||"core")&&this.componentLoaded)return;const hl=!this.componentLoaded;try{console.log(`📦 Initializing REPL for: ${ca}/${ua||"core"}`),hl?console.log(" ✅ REPL ready (using database initialized by flushAllAndLoad)"):(console.log(" 🔄 Resetting database for app switch..."),await resetDefaultDatabase(),console.log(" 📄 Loading agentlang.ai module..."),await parseAndIntern$1(aiModule),console.log(" 🔧 Initializing database..."),await initDatabase(void 0),await runInitFunctions(),console.log(" 🔧 Running standalone statements..."),await runStandaloneStatements()),this.currentContext=aa,this.componentLoaded=!0,typeof window<"u"&&window.dispatchEvent(new CustomEvent("agentlang:component-loaded",{detail:{teamName:ca,moduleName:ua||"core"}}))}catch(pl){if((pl?.message?.includes("no such table")||pl?.message?.includes("database")||pl?.message?.includes("table")||pl?.message?.includes("schema"))&&!hl){console.warn("⚠️ Database error detected. Attempting automatic recovery by resetting database...");try{this.recoveryMode=!0,await resetDefaultDatabase(),this.queryQueue=[],this.isProcessingQueue=!1,await parseAndIntern$1(aiModule),await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements(),this.currentContext=aa,this.componentLoaded=!0,this.lastRecoveryTime=Date.now(),this.recoveryMode=!1,console.log(`✅ Database recovered successfully. Cooldown period: ${this.RECOVERY_COOLDOWN_MS}ms`),typeof window<"u"&&window.dispatchEvent(new CustomEvent("agentlang:component-loaded",{detail:{teamName:ca,moduleName:ua||"core"}}));return}catch(gl){this.recoveryMode=!1,console.error("❌ Failed to recover database. Please refresh the page.",gl)}}throw this.componentLoaded=!1,this.currentContext=null,this.loadedModules.clear(),console.error("❌ Failed to load component:",pl),pl}}async evaluate(aa){if(!this.runtimeInitialized)throw new Error("Runtime not initialized. Call loadComponent() first.");return this.queueOperation(()=>this.executeStatementInternal(aa))}async queueOperation(aa){if(this.recoveryMode)throw new Error("System is currently recovering from an error. Please try again in a moment.");const ca=Date.now()-this.lastRecoveryTime;if(this.lastRecoveryTime>0&&ca<this.RECOVERY_COOLDOWN_MS){const Sa=Math.ceil((this.RECOVERY_COOLDOWN_MS-ca)/1e3);throw new Error(`System is in cooldown period after recovery. Please wait ${Sa} more seconds before retrying.`)}if(this.queryQueue.length>=this.MAX_QUEUE_SIZE)throw console.error(`❌ Query queue is full (${this.MAX_QUEUE_SIZE}/${this.MAX_QUEUE_SIZE}). SQL.js memory may be exhausted.`),new Error(`Query queue is full (${this.MAX_QUEUE_SIZE} operations). Too many concurrent operations. Please wait and try again.`);const ua=this.queryQueue.length/this.MAX_QUEUE_SIZE;return ua>.6&&console.warn(`⚠️ Query queue is ${Math.round(ua*100)}% full (${this.queryQueue.length}/${this.MAX_QUEUE_SIZE}) - operations may be delayed`),new Promise((Sa,hl)=>{this.queryQueue.push(async()=>{try{const pl=await aa();Sa(pl)}catch(pl){hl(pl)}}),this.processQueue()})}async processQueue(){if(!(this.isProcessingQueue||this.queryQueue.length===0)){for(this.isProcessingQueue=!0;this.queryQueue.length>0;){const aa=this.queryQueue.shift();if(aa)try{await aa(),this.queryQueue.length>0&&await new Promise(ca=>setTimeout(ca,this.OPERATION_DELAY_MS))}catch(ca){console.error("Queue operation failed:",ca)}}this.isProcessingQueue=!1}}async executeStatementInternal(aa){try{return await executeStatement(aa)}catch(ca){if(ca?.message?.toLowerCase().includes("out of memory")||ca?.message?.toLowerCase().includes("oom")){this.queryQueue=[],this.isProcessingQueue=!1,console.error("❌ SQL.js out of memory error detected during query execution.",`
19384
19384
  Possible causes:`,`
19385
19385
  1. Too many concurrent database transactions`,`
19386
19386
  2. Database has grown too large for WASM memory (current limit: ~2GB)`,`
@@ -19410,7 +19410,7 @@ workflow generateAgentlangResolver {
19410
19410
  +`).split(`
19411
19411
  `)),xu=wc.reduce((ff,jf)=>ff.concat(...jf),[]);return[wc,xu]}return[[],[]]},[la]);return reactExports.useEffect(()=>{const gl=aa?.target??defaultDoc,wc=aa?.actInsideInputWithModifier??!0;if(la!==null){const xu=Uf=>{if(Sa.current=Uf.ctrlKey||Uf.metaKey||Uf.shiftKey||Uf.altKey,(!Sa.current||Sa.current&&!wc)&&isInputDOMNode(Uf))return!1;const np=useKeyOrCode(Uf.code,ml);if(hl.current.add(Uf[np]),isMatchingKey(pl,hl.current,!1)){const qm=Uf.composedPath?.()?.[0]||Uf.target,Vm=qm?.nodeName==="BUTTON"||qm?.nodeName==="A";aa.preventDefault!==!1&&(Sa.current||!Vm)&&Uf.preventDefault(),ua(!0)}},ff=Uf=>{const rp=useKeyOrCode(Uf.code,ml);isMatchingKey(pl,hl.current,!0)?(ua(!1),hl.current.clear()):hl.current.delete(Uf[rp]),Uf.key==="Meta"&&hl.current.clear(),Sa.current=!1},jf=()=>{hl.current.clear(),ua(!1)};return gl?.addEventListener("keydown",xu),gl?.addEventListener("keyup",ff),window.addEventListener("blur",jf),window.addEventListener("contextmenu",jf),()=>{gl?.removeEventListener("keydown",xu),gl?.removeEventListener("keyup",ff),window.removeEventListener("blur",jf),window.removeEventListener("contextmenu",jf)}}},[la,ua]),ca}function isMatchingKey(la,aa,ca){return la.filter(ua=>ca||ua.length===aa.size).some(ua=>ua.every(Sa=>aa.has(Sa)))}function useKeyOrCode(la,aa){return aa.includes(la)?"code":"key"}const useViewportHelper=()=>{const la=useStoreApi();return reactExports.useMemo(()=>({zoomIn:aa=>{const{panZoom:ca}=la.getState();return ca?ca.scaleBy(1.2,{duration:aa?.duration}):Promise.resolve(!1)},zoomOut:aa=>{const{panZoom:ca}=la.getState();return ca?ca.scaleBy(1/1.2,{duration:aa?.duration}):Promise.resolve(!1)},zoomTo:(aa,ca)=>{const{panZoom:ua}=la.getState();return ua?ua.scaleTo(aa,{duration:ca?.duration}):Promise.resolve(!1)},getZoom:()=>la.getState().transform[2],setViewport:async(aa,ca)=>{const{transform:[ua,Sa,hl],panZoom:pl}=la.getState();return pl?(await pl.setViewport({x:aa.x??ua,y:aa.y??Sa,zoom:aa.zoom??hl},ca),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[aa,ca,ua]=la.getState().transform;return{x:aa,y:ca,zoom:ua}},setCenter:async(aa,ca,ua)=>la.getState().setCenter(aa,ca,ua),fitBounds:async(aa,ca)=>{const{width:ua,height:Sa,minZoom:hl,maxZoom:pl,panZoom:ml}=la.getState(),gl=getViewportForBounds(aa,ua,Sa,hl,pl,ca?.padding??.1);return ml?(await ml.setViewport(gl,{duration:ca?.duration,ease:ca?.ease,interpolate:ca?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(aa,ca={})=>{const{transform:ua,snapGrid:Sa,snapToGrid:hl,domNode:pl}=la.getState();if(!pl)return aa;const{x:ml,y:gl}=pl.getBoundingClientRect(),wc={x:aa.x-ml,y:aa.y-gl},xu=ca.snapGrid??Sa,ff=ca.snapToGrid??hl;return pointToRendererPoint(wc,ua,ff,xu)},flowToScreenPosition:aa=>{const{transform:ca,domNode:ua}=la.getState();if(!ua)return aa;const{x:Sa,y:hl}=ua.getBoundingClientRect(),pl=rendererPointToPoint(aa,ca);return{x:pl.x+Sa,y:pl.y+hl}}}),[])};function applyChanges(la,aa){const ca=[],ua=new Map,Sa=[];for(const hl of la)if(hl.type==="add"){Sa.push(hl);continue}else if(hl.type==="remove"||hl.type==="replace")ua.set(hl.id,[hl]);else{const pl=ua.get(hl.id);pl?pl.push(hl):ua.set(hl.id,[hl])}for(const hl of aa){const pl=ua.get(hl.id);if(!pl){ca.push(hl);continue}if(pl[0].type==="remove")continue;if(pl[0].type==="replace"){ca.push({...pl[0].item});continue}const ml={...hl};for(const gl of pl)applyChange(gl,ml);ca.push(ml)}return Sa.length&&Sa.forEach(hl=>{hl.index!==void 0?ca.splice(hl.index,0,{...hl.item}):ca.push({...hl.item})}),ca}function applyChange(la,aa){switch(la.type){case"select":{aa.selected=la.selected;break}case"position":{typeof la.position<"u"&&(aa.position=la.position),typeof la.dragging<"u"&&(aa.dragging=la.dragging);break}case"dimensions":{typeof la.dimensions<"u"&&(aa.measured={...la.dimensions},la.setAttributes&&((la.setAttributes===!0||la.setAttributes==="width")&&(aa.width=la.dimensions.width),(la.setAttributes===!0||la.setAttributes==="height")&&(aa.height=la.dimensions.height))),typeof la.resizing=="boolean"&&(aa.resizing=la.resizing);break}}}function applyNodeChanges(la,aa){return applyChanges(la,aa)}function applyEdgeChanges(la,aa){return applyChanges(la,aa)}function createSelectionChange(la,aa){return{id:la,type:"select",selected:aa}}function getSelectionChanges(la,aa=new Set,ca=!1){const ua=[];for(const[Sa,hl]of la){const pl=aa.has(Sa);!(hl.selected===void 0&&!pl)&&hl.selected!==pl&&(ca&&(hl.selected=pl),ua.push(createSelectionChange(hl.id,pl)))}return ua}function getElementsDiffChanges({items:la=[],lookup:aa}){const ca=[],ua=new Map(la.map(Sa=>[Sa.id,Sa]));for(const[Sa,hl]of la.entries()){const pl=aa.get(hl.id),ml=pl?.internals?.userNode??pl;ml!==void 0&&ml!==hl&&ca.push({id:hl.id,item:hl,type:"replace"}),ml===void 0&&ca.push({item:hl,type:"add",index:Sa})}for(const[Sa]of aa)ua.get(Sa)===void 0&&ca.push({id:Sa,type:"remove"});return ca}function elementToRemoveChange(la){return{id:la.id,type:"remove"}}const isNode$2=la=>isNodeBase(la),isEdge=la=>isEdgeBase(la);function fixedForwardRef(la){return reactExports.forwardRef(la)}const useIsomorphicLayoutEffect$3=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect;function useQueue(la){const[aa,ca]=reactExports.useState(BigInt(0)),[ua]=reactExports.useState(()=>createQueue(()=>ca(Sa=>Sa+BigInt(1))));return useIsomorphicLayoutEffect$3(()=>{const Sa=ua.get();Sa.length&&(la(Sa),ua.reset())},[aa]),ua}function createQueue(la){let aa=[];return{get:()=>aa,reset:()=>{aa=[]},push:ca=>{aa.push(ca),la()}}}const BatchContext=reactExports.createContext(null);function BatchProvider({children:la}){const aa=useStoreApi(),ca=reactExports.useCallback(ml=>{const{nodes:gl=[],setNodes:wc,hasDefaultNodes:xu,onNodesChange:ff,nodeLookup:jf,fitViewQueued:Uf,onNodesChangeMiddlewareMap:rp}=aa.getState();let np=gl;for(const Vm of ml)np=typeof Vm=="function"?Vm(np):Vm;let qm=getElementsDiffChanges({items:np,lookup:jf});for(const Vm of rp.values())qm=Vm(qm);xu&&wc(np),qm.length>0?ff?.(qm):Uf&&window.requestAnimationFrame(()=>{const{fitViewQueued:Vm,nodes:eg,setNodes:tg}=aa.getState();Vm&&tg(eg)})},[]),ua=useQueue(ca),Sa=reactExports.useCallback(ml=>{const{edges:gl=[],setEdges:wc,hasDefaultEdges:xu,onEdgesChange:ff,edgeLookup:jf}=aa.getState();let Uf=gl;for(const rp of ml)Uf=typeof rp=="function"?rp(Uf):rp;xu?wc(Uf):ff&&ff(getElementsDiffChanges({items:Uf,lookup:jf}))},[]),hl=useQueue(Sa),pl=reactExports.useMemo(()=>({nodeQueue:ua,edgeQueue:hl}),[]);return jsxRuntimeExports.jsx(BatchContext.Provider,{value:pl,children:la})}function useBatchContext(){const la=reactExports.useContext(BatchContext);if(!la)throw new Error("useBatchContext must be used within a BatchProvider");return la}const selector$k=la=>!!la.panZoom;function useReactFlow(){const la=useViewportHelper(),aa=useStoreApi(),ca=useBatchContext(),ua=useStore$1(selector$k),Sa=reactExports.useMemo(()=>{const hl=ff=>aa.getState().nodeLookup.get(ff),pl=ff=>{ca.nodeQueue.push(ff)},ml=ff=>{ca.edgeQueue.push(ff)},gl=ff=>{const{nodeLookup:jf,nodeOrigin:Uf}=aa.getState(),rp=isNode$2(ff)?ff:jf.get(ff.id),np=rp.parentId?evaluateAbsolutePosition(rp.position,rp.measured,rp.parentId,jf,Uf):rp.position,qm={...rp,position:np,width:rp.measured?.width??rp.width,height:rp.measured?.height??rp.height};return nodeToRect(qm)},wc=(ff,jf,Uf={replace:!1})=>{pl(rp=>rp.map(np=>{if(np.id===ff){const qm=typeof jf=="function"?jf(np):jf;return Uf.replace&&isNode$2(qm)?qm:{...np,...qm}}return np}))},xu=(ff,jf,Uf={replace:!1})=>{ml(rp=>rp.map(np=>{if(np.id===ff){const qm=typeof jf=="function"?jf(np):jf;return Uf.replace&&isEdge(qm)?qm:{...np,...qm}}return np}))};return{getNodes:()=>aa.getState().nodes.map(ff=>({...ff})),getNode:ff=>hl(ff)?.internals.userNode,getInternalNode:hl,getEdges:()=>{const{edges:ff=[]}=aa.getState();return ff.map(jf=>({...jf}))},getEdge:ff=>aa.getState().edgeLookup.get(ff),setNodes:pl,setEdges:ml,addNodes:ff=>{const jf=Array.isArray(ff)?ff:[ff];ca.nodeQueue.push(Uf=>[...Uf,...jf])},addEdges:ff=>{const jf=Array.isArray(ff)?ff:[ff];ca.edgeQueue.push(Uf=>[...Uf,...jf])},toObject:()=>{const{nodes:ff=[],edges:jf=[],transform:Uf}=aa.getState(),[rp,np,qm]=Uf;return{nodes:ff.map(Vm=>({...Vm})),edges:jf.map(Vm=>({...Vm})),viewport:{x:rp,y:np,zoom:qm}}},deleteElements:async({nodes:ff=[],edges:jf=[]})=>{const{nodes:Uf,edges:rp,onNodesDelete:np,onEdgesDelete:qm,triggerNodeChanges:Vm,triggerEdgeChanges:eg,onDelete:tg,onBeforeDelete:rg}=aa.getState(),{nodes:ig,edges:vv}=await getElementsToRemove({nodesToRemove:ff,edgesToRemove:jf,nodes:Uf,edges:rp,onBeforeDelete:rg}),k1=vv.length>0,qw=ig.length>0;if(k1){const K0=vv.map(elementToRemoveChange);qm?.(vv),eg(K0)}if(qw){const K0=ig.map(elementToRemoveChange);np?.(ig),Vm(K0)}return(qw||k1)&&tg?.({nodes:ig,edges:vv}),{deletedNodes:ig,deletedEdges:vv}},getIntersectingNodes:(ff,jf=!0,Uf)=>{const rp=isRectObject(ff),np=rp?ff:gl(ff),qm=Uf!==void 0;return np?(Uf||aa.getState().nodes).filter(Vm=>{const eg=aa.getState().nodeLookup.get(Vm.id);if(eg&&!rp&&(Vm.id===ff.id||!eg.internals.positionAbsolute))return!1;const tg=nodeToRect(qm?Vm:eg),rg=getOverlappingArea(tg,np);return jf&&rg>0||rg>=tg.width*tg.height||rg>=np.width*np.height}):[]},isNodeIntersecting:(ff,jf,Uf=!0)=>{const np=isRectObject(ff)?ff:gl(ff);if(!np)return!1;const qm=getOverlappingArea(np,jf);return Uf&&qm>0||qm>=jf.width*jf.height||qm>=np.width*np.height},updateNode:wc,updateNodeData:(ff,jf,Uf={replace:!1})=>{wc(ff,rp=>{const np=typeof jf=="function"?jf(rp):jf;return Uf.replace?{...rp,data:np}:{...rp,data:{...rp.data,...np}}},Uf)},updateEdge:xu,updateEdgeData:(ff,jf,Uf={replace:!1})=>{xu(ff,rp=>{const np=typeof jf=="function"?jf(rp):jf;return Uf.replace?{...rp,data:np}:{...rp,data:{...rp.data,...np}}},Uf)},getNodesBounds:ff=>{const{nodeLookup:jf,nodeOrigin:Uf}=aa.getState();return getNodesBounds(ff,{nodeLookup:jf,nodeOrigin:Uf})},getHandleConnections:({type:ff,id:jf,nodeId:Uf})=>Array.from(aa.getState().connectionLookup.get(`${Uf}-${ff}${jf?`-${jf}`:""}`)?.values()??[]),getNodeConnections:({type:ff,handleId:jf,nodeId:Uf})=>Array.from(aa.getState().connectionLookup.get(`${Uf}${ff?jf?`-${ff}-${jf}`:`-${ff}`:""}`)?.values()??[]),fitView:async ff=>{const jf=aa.getState().fitViewResolver??withResolvers();return aa.setState({fitViewQueued:!0,fitViewOptions:ff,fitViewResolver:jf}),ca.nodeQueue.push(Uf=>[...Uf]),jf.promise}}},[]);return reactExports.useMemo(()=>({...Sa,...la,viewportInitialized:ua}),[ua])}const selected=la=>la.selected,win$1=typeof window<"u"?window:void 0;function useGlobalKeyHandler({deleteKeyCode:la,multiSelectionKeyCode:aa}){const ca=useStoreApi(),{deleteElements:ua}=useReactFlow(),Sa=useKeyPress(la,{actInsideInputWithModifier:!1}),hl=useKeyPress(aa,{target:win$1});reactExports.useEffect(()=>{if(Sa){const{edges:pl,nodes:ml}=ca.getState();ua({nodes:ml.filter(selected),edges:pl.filter(selected)}),ca.setState({nodesSelectionActive:!1})}},[Sa]),reactExports.useEffect(()=>{ca.setState({multiSelectionActive:hl})},[hl])}function useResizeHandler(la){const aa=useStoreApi();reactExports.useEffect(()=>{const ca=()=>{if(!la.current||!(la.current.checkVisibility?.()??!0))return!1;const ua=getDimensions$1(la.current);(ua.height===0||ua.width===0)&&aa.getState().onError?.("004",errorMessages$3.error004()),aa.setState({width:ua.width||500,height:ua.height||500})};if(la.current){ca(),window.addEventListener("resize",ca);const ua=new ResizeObserver(()=>ca());return ua.observe(la.current),()=>{window.removeEventListener("resize",ca),ua&&la.current&&ua.unobserve(la.current)}}},[])}const containerStyle={position:"absolute",width:"100%",height:"100%",top:0,left:0},selector$j=la=>({userSelectionActive:la.userSelectionActive,lib:la.lib,connectionInProgress:la.connection.inProgress});function ZoomPane({onPaneContextMenu:la,zoomOnScroll:aa=!0,zoomOnPinch:ca=!0,panOnScroll:ua=!1,panOnScrollSpeed:Sa=.5,panOnScrollMode:hl=PanOnScrollMode.Free,zoomOnDoubleClick:pl=!0,panOnDrag:ml=!0,defaultViewport:gl,translateExtent:wc,minZoom:xu,maxZoom:ff,zoomActivationKeyCode:jf,preventScrolling:Uf=!0,children:rp,noWheelClassName:np,noPanClassName:qm,onViewportChange:Vm,isControlledViewport:eg,paneClickDistance:tg,selectionOnDrag:rg}){const ig=useStoreApi(),vv=reactExports.useRef(null),{userSelectionActive:k1,lib:qw,connectionInProgress:K0}=useStore$1(selector$j,shallow$1),J0=useKeyPress(jf),Hw=reactExports.useRef();useResizeHandler(vv);const O1=reactExports.useCallback(Y0=>{Vm?.({x:Y0[0],y:Y0[1],zoom:Y0[2]}),eg||ig.setState({transform:Y0})},[Vm,eg]);return reactExports.useEffect(()=>{if(vv.current){Hw.current=XYPanZoom({domNode:vv.current,minZoom:xu,maxZoom:ff,translateExtent:wc,viewport:gl,onDraggingChange:d_=>ig.setState({paneDragging:d_}),onPanZoomStart:(d_,f_)=>{const{onViewportChangeStart:zN,onMoveStart:BN}=ig.getState();BN?.(d_,f_),zN?.(f_)},onPanZoom:(d_,f_)=>{const{onViewportChange:zN,onMove:BN}=ig.getState();BN?.(d_,f_),zN?.(f_)},onPanZoomEnd:(d_,f_)=>{const{onViewportChangeEnd:zN,onMoveEnd:BN}=ig.getState();BN?.(d_,f_),zN?.(f_)}});const{x:Y0,y:G0,zoom:X0}=Hw.current.getViewport();return ig.setState({panZoom:Hw.current,transform:[Y0,G0,X0],domNode:vv.current.closest(".react-flow")}),()=>{Hw.current?.destroy()}}},[]),reactExports.useEffect(()=>{Hw.current?.update({onPaneContextMenu:la,zoomOnScroll:aa,zoomOnPinch:ca,panOnScroll:ua,panOnScrollSpeed:Sa,panOnScrollMode:hl,zoomOnDoubleClick:pl,panOnDrag:ml,zoomActivationKeyPressed:J0,preventScrolling:Uf,noPanClassName:qm,userSelectionActive:k1,noWheelClassName:np,lib:qw,onTransformChange:O1,connectionInProgress:K0,selectionOnDrag:rg,paneClickDistance:tg})},[la,aa,ca,ua,Sa,hl,pl,ml,J0,Uf,qm,k1,np,qw,O1,K0,rg,tg]),jsxRuntimeExports.jsx("div",{className:"react-flow__renderer",ref:vv,style:containerStyle,children:rp})}const selector$i=la=>({userSelectionActive:la.userSelectionActive,userSelectionRect:la.userSelectionRect});function UserSelection(){const{userSelectionActive:la,userSelectionRect:aa}=useStore$1(selector$i,shallow$1);return la&&aa?jsxRuntimeExports.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:aa.width,height:aa.height,transform:`translate(${aa.x}px, ${aa.y}px)`}}):null}const wrapHandler=(la,aa)=>ca=>{ca.target===aa.current&&la?.(ca)},selector$h=la=>({userSelectionActive:la.userSelectionActive,elementsSelectable:la.elementsSelectable,connectionInProgress:la.connection.inProgress,dragging:la.paneDragging});function Pane({isSelecting:la,selectionKeyPressed:aa,selectionMode:ca=SelectionMode.Full,panOnDrag:ua,paneClickDistance:Sa,selectionOnDrag:hl,onSelectionStart:pl,onSelectionEnd:ml,onPaneClick:gl,onPaneContextMenu:wc,onPaneScroll:xu,onPaneMouseEnter:ff,onPaneMouseMove:jf,onPaneMouseLeave:Uf,children:rp}){const np=useStoreApi(),{userSelectionActive:qm,elementsSelectable:Vm,dragging:eg,connectionInProgress:tg}=useStore$1(selector$h,shallow$1),rg=Vm&&(la||qm),ig=reactExports.useRef(null),vv=reactExports.useRef(),k1=reactExports.useRef(new Set),qw=reactExports.useRef(new Set),K0=reactExports.useRef(!1),J0=zN=>{if(K0.current||tg){K0.current=!1;return}gl?.(zN),np.getState().resetSelectedElements(),np.setState({nodesSelectionActive:!1})},Hw=zN=>{if(Array.isArray(ua)&&ua?.includes(2)){zN.preventDefault();return}wc?.(zN)},O1=xu?zN=>xu(zN):void 0,Y0=zN=>{K0.current&&(zN.stopPropagation(),K0.current=!1)},G0=zN=>{const{domNode:BN}=np.getState();if(vv.current=BN?.getBoundingClientRect(),!vv.current)return;const iF=zN.target===ig.current;if(!iF&&!!zN.target.closest(".nokey")||!la||!(hl&&iF||aa)||zN.button!==0||!zN.isPrimary)return;zN.target?.setPointerCapture?.(zN.pointerId),K0.current=!1;const{x:Ihe,y:bY}=getEventPosition(zN.nativeEvent,vv.current);np.setState({userSelectionRect:{width:0,height:0,startX:Ihe,startY:bY,x:Ihe,y:bY}}),iF||(zN.stopPropagation(),zN.preventDefault())},X0=zN=>{const{userSelectionRect:BN,transform:iF,nodeLookup:yY,edgeLookup:vQ,connectionLookup:Ihe,triggerNodeChanges:bY,triggerEdgeChanges:Lhe,defaultEdgeOptions:Dhe,resetSelectedElements:kdt}=np.getState();if(!vv.current||!BN)return;const{x:eht,y:oht}=getEventPosition(zN.nativeEvent,vv.current),{startX:iht,startY:Uhe}=BN;if(!K0.current){const gpt=aa?0:Sa;if(Math.hypot(eht-iht,oht-Uhe)<=gpt)return;kdt(),pl?.(zN)}K0.current=!0;const Bhe={startX:iht,startY:Uhe,x:eht<iht?eht:iht,y:oht<Uhe?oht:Uhe,width:Math.abs(eht-iht),height:Math.abs(oht-Uhe)},dht=k1.current,Mdt=qw.current;k1.current=new Set(getNodesInside(yY,Bhe,iF,ca===SelectionMode.Partial,!0).map(gpt=>gpt.id)),qw.current=new Set;const opt=Dhe?.selectable??!0;for(const gpt of k1.current){const Zht=Ihe.get(gpt);if(Zht)for(const{edgeId:kpt}of Zht.values()){const Dpt=vQ.get(kpt);Dpt&&(Dpt.selectable??opt)&&qw.current.add(kpt)}}if(!areSetsEqual(dht,k1.current)){const gpt=getSelectionChanges(yY,k1.current,!0);bY(gpt)}if(!areSetsEqual(Mdt,qw.current)){const gpt=getSelectionChanges(vQ,qw.current);Lhe(gpt)}np.setState({userSelectionRect:Bhe,userSelectionActive:!0,nodesSelectionActive:!1})},d_=zN=>{zN.button===0&&(zN.target?.releasePointerCapture?.(zN.pointerId),!qm&&zN.target===ig.current&&np.getState().userSelectionRect&&J0?.(zN),np.setState({userSelectionActive:!1,userSelectionRect:null}),K0.current&&(ml?.(zN),np.setState({nodesSelectionActive:k1.current.size>0})))},f_=ua===!0||Array.isArray(ua)&&ua.includes(0);return jsxRuntimeExports.jsxs("div",{className:cc(["react-flow__pane",{draggable:f_,dragging:eg,selection:la}]),onClick:rg?void 0:wrapHandler(J0,ig),onContextMenu:wrapHandler(Hw,ig),onWheel:wrapHandler(O1,ig),onPointerEnter:rg?void 0:ff,onPointerMove:rg?X0:jf,onPointerUp:rg?d_:void 0,onPointerDownCapture:rg?G0:void 0,onClickCapture:rg?Y0:void 0,onPointerLeave:Uf,ref:ig,style:containerStyle,children:[rp,jsxRuntimeExports.jsx(UserSelection,{})]})}function handleNodeClick({id:la,store:aa,unselect:ca=!1,nodeRef:ua}){const{addSelectedNodes:Sa,unselectNodesAndEdges:hl,multiSelectionActive:pl,nodeLookup:ml,onError:gl}=aa.getState(),wc=ml.get(la);if(!wc){gl?.("012",errorMessages$3.error012(la));return}aa.setState({nodesSelectionActive:!1}),wc.selected?(ca||wc.selected&&pl)&&(hl({nodes:[wc],edges:[]}),requestAnimationFrame(()=>ua?.current?.blur())):Sa([la])}function useDrag({nodeRef:la,disabled:aa=!1,noDragClassName:ca,handleSelector:ua,nodeId:Sa,isSelectable:hl,nodeClickDistance:pl}){const ml=useStoreApi(),[gl,wc]=reactExports.useState(!1),xu=reactExports.useRef();return reactExports.useEffect(()=>{xu.current=XYDrag({getStoreItems:()=>ml.getState(),onNodeMouseDown:ff=>{handleNodeClick({id:ff,store:ml,nodeRef:la})},onDragStart:()=>{wc(!0)},onDragStop:()=>{wc(!1)}})},[]),reactExports.useEffect(()=>{if(aa)xu.current?.destroy();else if(la.current)return xu.current?.update({noDragClassName:ca,handleSelector:ua,domNode:la.current,isSelectable:hl,nodeId:Sa,nodeClickDistance:pl}),()=>{xu.current?.destroy()}},[ca,ua,aa,hl,la,Sa]),gl}const selectedAndDraggable=la=>aa=>aa.selected&&(aa.draggable||la&&typeof aa.draggable>"u");function useMoveSelectedNodes(){const la=useStoreApi();return reactExports.useCallback(ca=>{const{nodeExtent:ua,snapToGrid:Sa,snapGrid:hl,nodesDraggable:pl,onError:ml,updateNodePositions:gl,nodeLookup:wc,nodeOrigin:xu}=la.getState(),ff=new Map,jf=selectedAndDraggable(pl),Uf=Sa?hl[0]:5,rp=Sa?hl[1]:5,np=ca.direction.x*Uf*ca.factor,qm=ca.direction.y*rp*ca.factor;for(const[,Vm]of wc){if(!jf(Vm))continue;let eg={x:Vm.internals.positionAbsolute.x+np,y:Vm.internals.positionAbsolute.y+qm};Sa&&(eg=snapPosition(eg,hl));const{position:tg,positionAbsolute:rg}=calculateNodePosition({nodeId:Vm.id,nextPosition:eg,nodeLookup:wc,nodeExtent:ua,nodeOrigin:xu,onError:ml});Vm.position=tg,Vm.internals.positionAbsolute=rg,ff.set(Vm.id,Vm)}gl(ff)},[])}const NodeIdContext=reactExports.createContext(null),Provider$2=NodeIdContext.Provider;NodeIdContext.Consumer;const useNodeId=()=>reactExports.useContext(NodeIdContext),selector$g=la=>({connectOnClick:la.connectOnClick,noPanClassName:la.noPanClassName,rfId:la.rfId}),connectingSelector=(la,aa,ca)=>ua=>{const{connectionClickStartHandle:Sa,connectionMode:hl,connection:pl}=ua,{fromHandle:ml,toHandle:gl,isValid:wc}=pl,xu=gl?.nodeId===la&&gl?.id===aa&&gl?.type===ca;return{connectingFrom:ml?.nodeId===la&&ml?.id===aa&&ml?.type===ca,connectingTo:xu,clickConnecting:Sa?.nodeId===la&&Sa?.id===aa&&Sa?.type===ca,isPossibleEndHandle:hl===ConnectionMode.Strict?ml?.type!==ca:la!==ml?.nodeId||aa!==ml?.id,connectionInProcess:!!ml,clickConnectionInProcess:!!Sa,valid:xu&&wc}};function HandleComponent({type:la="source",position:aa=Position.Top,isValidConnection:ca,isConnectable:ua=!0,isConnectableStart:Sa=!0,isConnectableEnd:hl=!0,id:pl,onConnect:ml,children:gl,className:wc,onMouseDown:xu,onTouchStart:ff,...jf},Uf){const rp=pl||null,np=la==="target",qm=useStoreApi(),Vm=useNodeId(),{connectOnClick:eg,noPanClassName:tg,rfId:rg}=useStore$1(selector$g,shallow$1),{connectingFrom:ig,connectingTo:vv,clickConnecting:k1,isPossibleEndHandle:qw,connectionInProcess:K0,clickConnectionInProcess:J0,valid:Hw}=useStore$1(connectingSelector(Vm,rp,la),shallow$1);Vm||qm.getState().onError?.("010",errorMessages$3.error010());const O1=X0=>{const{defaultEdgeOptions:d_,onConnect:f_,hasDefaultEdges:zN}=qm.getState(),BN={...d_,...X0};if(zN){const{edges:iF,setEdges:yY}=qm.getState();yY(addEdge(BN,iF))}f_?.(BN),ml?.(BN)},Y0=X0=>{if(!Vm)return;const d_=isMouseEvent(X0.nativeEvent);if(Sa&&(d_&&X0.button===0||!d_)){const f_=qm.getState();XYHandle.onPointerDown(X0.nativeEvent,{handleDomNode:X0.currentTarget,autoPanOnConnect:f_.autoPanOnConnect,connectionMode:f_.connectionMode,connectionRadius:f_.connectionRadius,domNode:f_.domNode,nodeLookup:f_.nodeLookup,lib:f_.lib,isTarget:np,handleId:rp,nodeId:Vm,flowId:f_.rfId,panBy:f_.panBy,cancelConnection:f_.cancelConnection,onConnectStart:f_.onConnectStart,onConnectEnd:f_.onConnectEnd,updateConnection:f_.updateConnection,onConnect:O1,isValidConnection:ca||f_.isValidConnection,getTransform:()=>qm.getState().transform,getFromHandle:()=>qm.getState().connection.fromHandle,autoPanSpeed:f_.autoPanSpeed,dragThreshold:f_.connectionDragThreshold})}d_?xu?.(X0):ff?.(X0)},G0=X0=>{const{onClickConnectStart:d_,onClickConnectEnd:f_,connectionClickStartHandle:zN,connectionMode:BN,isValidConnection:iF,lib:yY,rfId:vQ,nodeLookup:Ihe,connection:bY}=qm.getState();if(!Vm||!zN&&!Sa)return;if(!zN){d_?.(X0.nativeEvent,{nodeId:Vm,handleId:rp,handleType:la}),qm.setState({connectionClickStartHandle:{nodeId:Vm,type:la,id:rp}});return}const Lhe=getHostForElement(X0.target),Dhe=ca||iF,{connection:kdt,isValid:eht}=XYHandle.isValid(X0.nativeEvent,{handle:{nodeId:Vm,id:rp,type:la},connectionMode:BN,fromNodeId:zN.nodeId,fromHandleId:zN.id||null,fromType:zN.type,isValidConnection:Dhe,flowId:vQ,doc:Lhe,lib:yY,nodeLookup:Ihe});eht&&kdt&&O1(kdt);const oht=structuredClone(bY);delete oht.inProgress,oht.toPosition=oht.toHandle?oht.toHandle.position:null,f_?.(X0,oht),qm.setState({connectionClickStartHandle:null})};return jsxRuntimeExports.jsx("div",{"data-handleid":rp,"data-nodeid":Vm,"data-handlepos":aa,"data-id":`${rg}-${Vm}-${rp}-${la}`,className:cc(["react-flow__handle",`react-flow__handle-${aa}`,"nodrag",tg,wc,{source:!np,target:np,connectable:ua,connectablestart:Sa,connectableend:hl,clickconnecting:k1,connectingfrom:ig,connectingto:vv,valid:Hw,connectionindicator:ua&&(!K0||qw)&&(K0||J0?hl:Sa)}]),onMouseDown:Y0,onTouchStart:Y0,onClick:eg?G0:void 0,ref:Uf,...jf,children:gl})}const Handle=reactExports.memo(fixedForwardRef(HandleComponent));function InputNode({data:la,isConnectable:aa,sourcePosition:ca=Position.Bottom}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[la?.label,jsxRuntimeExports.jsx(Handle,{type:"source",position:ca,isConnectable:aa})]})}function DefaultNode({data:la,isConnectable:aa,targetPosition:ca=Position.Top,sourcePosition:ua=Position.Bottom}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:ca,isConnectable:aa}),la?.label,jsxRuntimeExports.jsx(Handle,{type:"source",position:ua,isConnectable:aa})]})}function GroupNode(){return null}function OutputNode({data:la,isConnectable:aa,targetPosition:ca=Position.Top}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:ca,isConnectable:aa}),la?.label]})}const arrowKeyDiffs={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},builtinNodeTypes={input:InputNode,default:DefaultNode,output:OutputNode,group:GroupNode};function getNodeInlineStyleDimensions(la){return la.internals.handleBounds===void 0?{width:la.width??la.initialWidth??la.style?.width,height:la.height??la.initialHeight??la.style?.height}:{width:la.width??la.style?.width,height:la.height??la.style?.height}}const selector$f=la=>{const{width:aa,height:ca,x:ua,y:Sa}=getInternalNodesBounds(la.nodeLookup,{filter:hl=>!!hl.selected});return{width:isNumeric(aa)?aa:null,height:isNumeric(ca)?ca:null,userSelectionActive:la.userSelectionActive,transformString:`translate(${la.transform[0]}px,${la.transform[1]}px) scale(${la.transform[2]}) translate(${ua}px,${Sa}px)`}};function NodesSelection({onSelectionContextMenu:la,noPanClassName:aa,disableKeyboardA11y:ca}){const ua=useStoreApi(),{width:Sa,height:hl,transformString:pl,userSelectionActive:ml}=useStore$1(selector$f,shallow$1),gl=useMoveSelectedNodes(),wc=reactExports.useRef(null);if(reactExports.useEffect(()=>{ca||wc.current?.focus({preventScroll:!0})},[ca]),useDrag({nodeRef:wc}),ml||!Sa||!hl)return null;const xu=la?jf=>{const Uf=ua.getState().nodes.filter(rp=>rp.selected);la(jf,Uf)}:void 0,ff=jf=>{Object.prototype.hasOwnProperty.call(arrowKeyDiffs,jf.key)&&(jf.preventDefault(),gl({direction:arrowKeyDiffs[jf.key],factor:jf.shiftKey?4:1}))};return jsxRuntimeExports.jsx("div",{className:cc(["react-flow__nodesselection","react-flow__container",aa]),style:{transform:pl},children:jsxRuntimeExports.jsx("div",{ref:wc,className:"react-flow__nodesselection-rect",onContextMenu:xu,tabIndex:ca?void 0:-1,onKeyDown:ca?void 0:ff,style:{width:Sa,height:hl}})})}const win=typeof window<"u"?window:void 0,selector$e=la=>({nodesSelectionActive:la.nodesSelectionActive,userSelectionActive:la.userSelectionActive});function FlowRendererComponent({children:la,onPaneClick:aa,onPaneMouseEnter:ca,onPaneMouseMove:ua,onPaneMouseLeave:Sa,onPaneContextMenu:hl,onPaneScroll:pl,paneClickDistance:ml,deleteKeyCode:gl,selectionKeyCode:wc,selectionOnDrag:xu,selectionMode:ff,onSelectionStart:jf,onSelectionEnd:Uf,multiSelectionKeyCode:rp,panActivationKeyCode:np,zoomActivationKeyCode:qm,elementsSelectable:Vm,zoomOnScroll:eg,zoomOnPinch:tg,panOnScroll:rg,panOnScrollSpeed:ig,panOnScrollMode:vv,zoomOnDoubleClick:k1,panOnDrag:qw,defaultViewport:K0,translateExtent:J0,minZoom:Hw,maxZoom:O1,preventScrolling:Y0,onSelectionContextMenu:G0,noWheelClassName:X0,noPanClassName:d_,disableKeyboardA11y:f_,onViewportChange:zN,isControlledViewport:BN}){const{nodesSelectionActive:iF,userSelectionActive:yY}=useStore$1(selector$e,shallow$1),vQ=useKeyPress(wc,{target:win}),Ihe=useKeyPress(np,{target:win}),bY=Ihe||qw,Lhe=Ihe||rg,Dhe=xu&&bY!==!0,kdt=vQ||yY||Dhe;return useGlobalKeyHandler({deleteKeyCode:gl,multiSelectionKeyCode:rp}),jsxRuntimeExports.jsx(ZoomPane,{onPaneContextMenu:hl,elementsSelectable:Vm,zoomOnScroll:eg,zoomOnPinch:tg,panOnScroll:Lhe,panOnScrollSpeed:ig,panOnScrollMode:vv,zoomOnDoubleClick:k1,panOnDrag:!vQ&&bY,defaultViewport:K0,translateExtent:J0,minZoom:Hw,maxZoom:O1,zoomActivationKeyCode:qm,preventScrolling:Y0,noWheelClassName:X0,noPanClassName:d_,onViewportChange:zN,isControlledViewport:BN,paneClickDistance:ml,selectionOnDrag:Dhe,children:jsxRuntimeExports.jsxs(Pane,{onSelectionStart:jf,onSelectionEnd:Uf,onPaneClick:aa,onPaneMouseEnter:ca,onPaneMouseMove:ua,onPaneMouseLeave:Sa,onPaneContextMenu:hl,onPaneScroll:pl,panOnDrag:bY,isSelecting:!!kdt,selectionMode:ff,selectionKeyPressed:vQ,paneClickDistance:ml,selectionOnDrag:Dhe,children:[la,iF&&jsxRuntimeExports.jsx(NodesSelection,{onSelectionContextMenu:G0,noPanClassName:d_,disableKeyboardA11y:f_})]})})}FlowRendererComponent.displayName="FlowRenderer";const FlowRenderer=reactExports.memo(FlowRendererComponent),selector$d=la=>aa=>la?getNodesInside(aa.nodeLookup,{x:0,y:0,width:aa.width,height:aa.height},aa.transform,!0).map(ca=>ca.id):Array.from(aa.nodeLookup.keys());function useVisibleNodeIds(la){return useStore$1(reactExports.useCallback(selector$d(la),[la]),shallow$1)}const selector$c=la=>la.updateNodeInternals;function useResizeObserver$1(){const la=useStore$1(selector$c),[aa]=reactExports.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(ca=>{const ua=new Map;ca.forEach(Sa=>{const hl=Sa.target.getAttribute("data-id");ua.set(hl,{id:hl,nodeElement:Sa.target,force:!0})}),la(ua)}));return reactExports.useEffect(()=>()=>{aa?.disconnect()},[aa]),aa}function useNodeObserver({node:la,nodeType:aa,hasDimensions:ca,resizeObserver:ua}){const Sa=useStoreApi(),hl=reactExports.useRef(null),pl=reactExports.useRef(null),ml=reactExports.useRef(la.sourcePosition),gl=reactExports.useRef(la.targetPosition),wc=reactExports.useRef(aa),xu=ca&&!!la.internals.handleBounds;return reactExports.useEffect(()=>{hl.current&&!la.hidden&&(!xu||pl.current!==hl.current)&&(pl.current&&ua?.unobserve(pl.current),ua?.observe(hl.current),pl.current=hl.current)},[xu,la.hidden]),reactExports.useEffect(()=>()=>{pl.current&&(ua?.unobserve(pl.current),pl.current=null)},[]),reactExports.useEffect(()=>{if(hl.current){const ff=wc.current!==aa,jf=ml.current!==la.sourcePosition,Uf=gl.current!==la.targetPosition;(ff||jf||Uf)&&(wc.current=aa,ml.current=la.sourcePosition,gl.current=la.targetPosition,Sa.getState().updateNodeInternals(new Map([[la.id,{id:la.id,nodeElement:hl.current,force:!0}]])))}},[la.id,aa,la.sourcePosition,la.targetPosition]),hl}function NodeWrapper({id:la,onClick:aa,onMouseEnter:ca,onMouseMove:ua,onMouseLeave:Sa,onContextMenu:hl,onDoubleClick:pl,nodesDraggable:ml,elementsSelectable:gl,nodesConnectable:wc,nodesFocusable:xu,resizeObserver:ff,noDragClassName:jf,noPanClassName:Uf,disableKeyboardA11y:rp,rfId:np,nodeTypes:qm,nodeClickDistance:Vm,onError:eg}){const{node:tg,internals:rg,isParent:ig}=useStore$1(eht=>{const oht=eht.nodeLookup.get(la),iht=eht.parentLookup.has(la);return{node:oht,internals:oht.internals,isParent:iht}},shallow$1);let vv=tg.type||"default",k1=qm?.[vv]||builtinNodeTypes[vv];k1===void 0&&(eg?.("003",errorMessages$3.error003(vv)),vv="default",k1=qm?.default||builtinNodeTypes.default);const qw=!!(tg.draggable||ml&&typeof tg.draggable>"u"),K0=!!(tg.selectable||gl&&typeof tg.selectable>"u"),J0=!!(tg.connectable||wc&&typeof tg.connectable>"u"),Hw=!!(tg.focusable||xu&&typeof tg.focusable>"u"),O1=useStoreApi(),Y0=nodeHasDimensions(tg),G0=useNodeObserver({node:tg,nodeType:vv,hasDimensions:Y0,resizeObserver:ff}),X0=useDrag({nodeRef:G0,disabled:tg.hidden||!qw,noDragClassName:jf,handleSelector:tg.dragHandle,nodeId:la,isSelectable:K0,nodeClickDistance:Vm}),d_=useMoveSelectedNodes();if(tg.hidden)return null;const f_=getNodeDimensions(tg),zN=getNodeInlineStyleDimensions(tg),BN=K0||qw||aa||ca||ua||Sa,iF=ca?eht=>ca(eht,{...rg.userNode}):void 0,yY=ua?eht=>ua(eht,{...rg.userNode}):void 0,vQ=Sa?eht=>Sa(eht,{...rg.userNode}):void 0,Ihe=hl?eht=>hl(eht,{...rg.userNode}):void 0,bY=pl?eht=>pl(eht,{...rg.userNode}):void 0,Lhe=eht=>{const{selectNodesOnDrag:oht,nodeDragThreshold:iht}=O1.getState();K0&&(!oht||!qw||iht>0)&&handleNodeClick({id:la,store:O1,nodeRef:G0}),aa&&aa(eht,{...rg.userNode})},Dhe=eht=>{if(!(isInputDOMNode(eht.nativeEvent)||rp)){if(elementSelectionKeys.includes(eht.key)&&K0){const oht=eht.key==="Escape";handleNodeClick({id:la,store:O1,unselect:oht,nodeRef:G0})}else if(qw&&tg.selected&&Object.prototype.hasOwnProperty.call(arrowKeyDiffs,eht.key)){eht.preventDefault();const{ariaLabelConfig:oht}=O1.getState();O1.setState({ariaLiveMessage:oht["node.a11yDescription.ariaLiveMessage"]({direction:eht.key.replace("Arrow","").toLowerCase(),x:~~rg.positionAbsolute.x,y:~~rg.positionAbsolute.y})}),d_({direction:arrowKeyDiffs[eht.key],factor:eht.shiftKey?4:1})}}},kdt=()=>{if(rp||!G0.current?.matches(":focus-visible"))return;const{transform:eht,width:oht,height:iht,autoPanOnNodeFocus:Uhe,setCenter:Bhe}=O1.getState();if(!Uhe)return;getNodesInside(new Map([[la,tg]]),{x:0,y:0,width:oht,height:iht},eht,!0).length>0||Bhe(tg.position.x+f_.width/2,tg.position.y+f_.height/2,{zoom:eht[2]})};return jsxRuntimeExports.jsx("div",{className:cc(["react-flow__node",`react-flow__node-${vv}`,{[Uf]:qw},tg.className,{selected:tg.selected,selectable:K0,parent:ig,draggable:qw,dragging:X0}]),ref:G0,style:{zIndex:rg.z,transform:`translate(${rg.positionAbsolute.x}px,${rg.positionAbsolute.y}px)`,pointerEvents:BN?"all":"none",visibility:Y0?"visible":"hidden",...tg.style,...zN},"data-id":la,"data-testid":`rf__node-${la}`,onMouseEnter:iF,onMouseMove:yY,onMouseLeave:vQ,onContextMenu:Ihe,onClick:Lhe,onDoubleClick:bY,onKeyDown:Hw?Dhe:void 0,tabIndex:Hw?0:void 0,onFocus:Hw?kdt:void 0,role:tg.ariaRole??(Hw?"group":void 0),"aria-roledescription":"node","aria-describedby":rp?void 0:`${ARIA_NODE_DESC_KEY}-${np}`,"aria-label":tg.ariaLabel,...tg.domAttributes,children:jsxRuntimeExports.jsx(Provider$2,{value:la,children:jsxRuntimeExports.jsx(k1,{id:la,data:tg.data,type:vv,positionAbsoluteX:rg.positionAbsolute.x,positionAbsoluteY:rg.positionAbsolute.y,selected:tg.selected??!1,selectable:K0,draggable:qw,deletable:tg.deletable??!0,isConnectable:J0,sourcePosition:tg.sourcePosition,targetPosition:tg.targetPosition,dragging:X0,dragHandle:tg.dragHandle,zIndex:rg.z,parentId:tg.parentId,...f_})})})}var NodeWrapper$1=reactExports.memo(NodeWrapper);const selector$b=la=>({nodesDraggable:la.nodesDraggable,nodesConnectable:la.nodesConnectable,nodesFocusable:la.nodesFocusable,elementsSelectable:la.elementsSelectable,onError:la.onError});function NodeRendererComponent(la){const{nodesDraggable:aa,nodesConnectable:ca,nodesFocusable:ua,elementsSelectable:Sa,onError:hl}=useStore$1(selector$b,shallow$1),pl=useVisibleNodeIds(la.onlyRenderVisibleElements),ml=useResizeObserver$1();return jsxRuntimeExports.jsx("div",{className:"react-flow__nodes",style:containerStyle,children:pl.map(gl=>jsxRuntimeExports.jsx(NodeWrapper$1,{id:gl,nodeTypes:la.nodeTypes,nodeExtent:la.nodeExtent,onClick:la.onNodeClick,onMouseEnter:la.onNodeMouseEnter,onMouseMove:la.onNodeMouseMove,onMouseLeave:la.onNodeMouseLeave,onContextMenu:la.onNodeContextMenu,onDoubleClick:la.onNodeDoubleClick,noDragClassName:la.noDragClassName,noPanClassName:la.noPanClassName,rfId:la.rfId,disableKeyboardA11y:la.disableKeyboardA11y,resizeObserver:ml,nodesDraggable:aa,nodesConnectable:ca,nodesFocusable:ua,elementsSelectable:Sa,nodeClickDistance:la.nodeClickDistance,onError:hl},gl))})}NodeRendererComponent.displayName="NodeRenderer";const NodeRenderer=reactExports.memo(NodeRendererComponent);function useVisibleEdgeIds(la){return useStore$1(reactExports.useCallback(ca=>{if(!la)return ca.edges.map(Sa=>Sa.id);const ua=[];if(ca.width&&ca.height)for(const Sa of ca.edges){const hl=ca.nodeLookup.get(Sa.source),pl=ca.nodeLookup.get(Sa.target);hl&&pl&&isEdgeVisible({sourceNode:hl,targetNode:pl,width:ca.width,height:ca.height,transform:ca.transform})&&ua.push(Sa.id)}return ua},[la]),shallow$1)}const ArrowSymbol=({color:la="none",strokeWidth:aa=1})=>{const ca={strokeWidth:aa,...la&&{stroke:la}};return jsxRuntimeExports.jsx("polyline",{className:"arrow",style:ca,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},ArrowClosedSymbol=({color:la="none",strokeWidth:aa=1})=>{const ca={strokeWidth:aa,...la&&{stroke:la,fill:la}};return jsxRuntimeExports.jsx("polyline",{className:"arrowclosed",style:ca,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},MarkerSymbols={[MarkerType.Arrow]:ArrowSymbol,[MarkerType.ArrowClosed]:ArrowClosedSymbol};function useMarkerSymbol(la){const aa=useStoreApi();return reactExports.useMemo(()=>Object.prototype.hasOwnProperty.call(MarkerSymbols,la)?MarkerSymbols[la]:(aa.getState().onError?.("009",errorMessages$3.error009(la)),null),[la])}const Marker=({id:la,type:aa,color:ca,width:ua=12.5,height:Sa=12.5,markerUnits:hl="strokeWidth",strokeWidth:pl,orient:ml="auto-start-reverse"})=>{const gl=useMarkerSymbol(aa);return gl?jsxRuntimeExports.jsx("marker",{className:"react-flow__arrowhead",id:la,markerWidth:`${ua}`,markerHeight:`${Sa}`,viewBox:"-10 -10 20 20",markerUnits:hl,orient:ml,refX:"0",refY:"0",children:jsxRuntimeExports.jsx(gl,{color:ca,strokeWidth:pl})}):null},MarkerDefinitions=({defaultColor:la,rfId:aa})=>{const ca=useStore$1(hl=>hl.edges),ua=useStore$1(hl=>hl.defaultEdgeOptions),Sa=reactExports.useMemo(()=>createMarkerIds(ca,{id:aa,defaultColor:la,defaultMarkerStart:ua?.markerStart,defaultMarkerEnd:ua?.markerEnd}),[ca,ua,aa,la]);return Sa.length?jsxRuntimeExports.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:jsxRuntimeExports.jsx("defs",{children:Sa.map(hl=>jsxRuntimeExports.jsx(Marker,{id:hl.id,type:hl.type,color:hl.color,width:hl.width,height:hl.height,markerUnits:hl.markerUnits,strokeWidth:hl.strokeWidth,orient:hl.orient},hl.id))})}):null};MarkerDefinitions.displayName="MarkerDefinitions";var MarkerDefinitions$1=reactExports.memo(MarkerDefinitions);function EdgeTextComponent({x:la,y:aa,label:ca,labelStyle:ua,labelShowBg:Sa=!0,labelBgStyle:hl,labelBgPadding:pl=[2,4],labelBgBorderRadius:ml=2,children:gl,className:wc,...xu}){const[ff,jf]=reactExports.useState({x:1,y:0,width:0,height:0}),Uf=cc(["react-flow__edge-textwrapper",wc]),rp=reactExports.useRef(null);return reactExports.useEffect(()=>{if(rp.current){const np=rp.current.getBBox();jf({x:np.x,y:np.y,width:np.width,height:np.height})}},[ca]),ca?jsxRuntimeExports.jsxs("g",{transform:`translate(${la-ff.width/2} ${aa-ff.height/2})`,className:Uf,visibility:ff.width?"visible":"hidden",...xu,children:[Sa&&jsxRuntimeExports.jsx("rect",{width:ff.width+2*pl[0],x:-pl[0],y:-pl[1],height:ff.height+2*pl[1],className:"react-flow__edge-textbg",style:hl,rx:ml,ry:ml}),jsxRuntimeExports.jsx("text",{className:"react-flow__edge-text",y:ff.height/2,dy:"0.3em",ref:rp,style:ua,children:ca}),gl]}):null}EdgeTextComponent.displayName="EdgeText";const EdgeText=reactExports.memo(EdgeTextComponent);function BaseEdge({path:la,labelX:aa,labelY:ca,label:ua,labelStyle:Sa,labelShowBg:hl,labelBgStyle:pl,labelBgPadding:ml,labelBgBorderRadius:gl,interactionWidth:wc=20,...xu}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("path",{...xu,d:la,fill:"none",className:cc(["react-flow__edge-path",xu.className])}),wc?jsxRuntimeExports.jsx("path",{d:la,fill:"none",strokeOpacity:0,strokeWidth:wc,className:"react-flow__edge-interaction"}):null,ua&&isNumeric(aa)&&isNumeric(ca)?jsxRuntimeExports.jsx(EdgeText,{x:aa,y:ca,label:ua,labelStyle:Sa,labelShowBg:hl,labelBgStyle:pl,labelBgPadding:ml,labelBgBorderRadius:gl}):null]})}function getControl({pos:la,x1:aa,y1:ca,x2:ua,y2:Sa}){return la===Position.Left||la===Position.Right?[.5*(aa+ua),ca]:[aa,.5*(ca+Sa)]}function getSimpleBezierPath({sourceX:la,sourceY:aa,sourcePosition:ca=Position.Bottom,targetX:ua,targetY:Sa,targetPosition:hl=Position.Top}){const[pl,ml]=getControl({pos:ca,x1:la,y1:aa,x2:ua,y2:Sa}),[gl,wc]=getControl({pos:hl,x1:ua,y1:Sa,x2:la,y2:aa}),[xu,ff,jf,Uf]=getBezierEdgeCenter({sourceX:la,sourceY:aa,targetX:ua,targetY:Sa,sourceControlX:pl,sourceControlY:ml,targetControlX:gl,targetControlY:wc});return[`M${la},${aa} C${pl},${ml} ${gl},${wc} ${ua},${Sa}`,xu,ff,jf,Uf]}function createSimpleBezierEdge(la){return reactExports.memo(({id:aa,sourceX:ca,sourceY:ua,targetX:Sa,targetY:hl,sourcePosition:pl,targetPosition:ml,label:gl,labelStyle:wc,labelShowBg:xu,labelBgStyle:ff,labelBgPadding:jf,labelBgBorderRadius:Uf,style:rp,markerEnd:np,markerStart:qm,interactionWidth:Vm})=>{const[eg,tg,rg]=getSimpleBezierPath({sourceX:ca,sourceY:ua,sourcePosition:pl,targetX:Sa,targetY:hl,targetPosition:ml}),ig=la.isInternal?void 0:aa;return jsxRuntimeExports.jsx(BaseEdge,{id:ig,path:eg,labelX:tg,labelY:rg,label:gl,labelStyle:wc,labelShowBg:xu,labelBgStyle:ff,labelBgPadding:jf,labelBgBorderRadius:Uf,style:rp,markerEnd:np,markerStart:qm,interactionWidth:Vm})})}const SimpleBezierEdge=createSimpleBezierEdge({isInternal:!1}),SimpleBezierEdgeInternal=createSimpleBezierEdge({isInternal:!0});SimpleBezierEdge.displayName="SimpleBezierEdge";SimpleBezierEdgeInternal.displayName="SimpleBezierEdgeInternal";function createSmoothStepEdge(la){return reactExports.memo(({id:aa,sourceX:ca,sourceY:ua,targetX:Sa,targetY:hl,label:pl,labelStyle:ml,labelShowBg:gl,labelBgStyle:wc,labelBgPadding:xu,labelBgBorderRadius:ff,style:jf,sourcePosition:Uf=Position.Bottom,targetPosition:rp=Position.Top,markerEnd:np,markerStart:qm,pathOptions:Vm,interactionWidth:eg})=>{const[tg,rg,ig]=getSmoothStepPath({sourceX:ca,sourceY:ua,sourcePosition:Uf,targetX:Sa,targetY:hl,targetPosition:rp,borderRadius:Vm?.borderRadius,offset:Vm?.offset,stepPosition:Vm?.stepPosition}),vv=la.isInternal?void 0:aa;return jsxRuntimeExports.jsx(BaseEdge,{id:vv,path:tg,labelX:rg,labelY:ig,label:pl,labelStyle:ml,labelShowBg:gl,labelBgStyle:wc,labelBgPadding:xu,labelBgBorderRadius:ff,style:jf,markerEnd:np,markerStart:qm,interactionWidth:eg})})}const SmoothStepEdge=createSmoothStepEdge({isInternal:!1}),SmoothStepEdgeInternal=createSmoothStepEdge({isInternal:!0});SmoothStepEdge.displayName="SmoothStepEdge";SmoothStepEdgeInternal.displayName="SmoothStepEdgeInternal";function createStepEdge(la){return reactExports.memo(({id:aa,...ca})=>{const ua=la.isInternal?void 0:aa;return jsxRuntimeExports.jsx(SmoothStepEdge,{...ca,id:ua,pathOptions:reactExports.useMemo(()=>({borderRadius:0,offset:ca.pathOptions?.offset}),[ca.pathOptions?.offset])})})}const StepEdge=createStepEdge({isInternal:!1}),StepEdgeInternal=createStepEdge({isInternal:!0});StepEdge.displayName="StepEdge";StepEdgeInternal.displayName="StepEdgeInternal";function createStraightEdge(la){return reactExports.memo(({id:aa,sourceX:ca,sourceY:ua,targetX:Sa,targetY:hl,label:pl,labelStyle:ml,labelShowBg:gl,labelBgStyle:wc,labelBgPadding:xu,labelBgBorderRadius:ff,style:jf,markerEnd:Uf,markerStart:rp,interactionWidth:np})=>{const[qm,Vm,eg]=getStraightPath({sourceX:ca,sourceY:ua,targetX:Sa,targetY:hl}),tg=la.isInternal?void 0:aa;return jsxRuntimeExports.jsx(BaseEdge,{id:tg,path:qm,labelX:Vm,labelY:eg,label:pl,labelStyle:ml,labelShowBg:gl,labelBgStyle:wc,labelBgPadding:xu,labelBgBorderRadius:ff,style:jf,markerEnd:Uf,markerStart:rp,interactionWidth:np})})}const StraightEdge=createStraightEdge({isInternal:!1}),StraightEdgeInternal=createStraightEdge({isInternal:!0});StraightEdge.displayName="StraightEdge";StraightEdgeInternal.displayName="StraightEdgeInternal";function createBezierEdge(la){return reactExports.memo(({id:aa,sourceX:ca,sourceY:ua,targetX:Sa,targetY:hl,sourcePosition:pl=Position.Bottom,targetPosition:ml=Position.Top,label:gl,labelStyle:wc,labelShowBg:xu,labelBgStyle:ff,labelBgPadding:jf,labelBgBorderRadius:Uf,style:rp,markerEnd:np,markerStart:qm,pathOptions:Vm,interactionWidth:eg})=>{const[tg,rg,ig]=getBezierPath({sourceX:ca,sourceY:ua,sourcePosition:pl,targetX:Sa,targetY:hl,targetPosition:ml,curvature:Vm?.curvature}),vv=la.isInternal?void 0:aa;return jsxRuntimeExports.jsx(BaseEdge,{id:vv,path:tg,labelX:rg,labelY:ig,label:gl,labelStyle:wc,labelShowBg:xu,labelBgStyle:ff,labelBgPadding:jf,labelBgBorderRadius:Uf,style:rp,markerEnd:np,markerStart:qm,interactionWidth:eg})})}const BezierEdge=createBezierEdge({isInternal:!1}),BezierEdgeInternal=createBezierEdge({isInternal:!0});BezierEdge.displayName="BezierEdge";BezierEdgeInternal.displayName="BezierEdgeInternal";const builtinEdgeTypes={default:BezierEdgeInternal,straight:StraightEdgeInternal,step:StepEdgeInternal,smoothstep:SmoothStepEdgeInternal,simplebezier:SimpleBezierEdgeInternal},nullPosition={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},shiftX=(la,aa,ca)=>ca===Position.Left?la-aa:ca===Position.Right?la+aa:la,shiftY=(la,aa,ca)=>ca===Position.Top?la-aa:ca===Position.Bottom?la+aa:la,EdgeUpdaterClassName="react-flow__edgeupdater";function EdgeAnchor({position:la,centerX:aa,centerY:ca,radius:ua=10,onMouseDown:Sa,onMouseEnter:hl,onMouseOut:pl,type:ml}){return jsxRuntimeExports.jsx("circle",{onMouseDown:Sa,onMouseEnter:hl,onMouseOut:pl,className:cc([EdgeUpdaterClassName,`${EdgeUpdaterClassName}-${ml}`]),cx:shiftX(aa,ua,la),cy:shiftY(ca,ua,la),r:ua,stroke:"transparent",fill:"transparent"})}function EdgeUpdateAnchors({isReconnectable:la,reconnectRadius:aa,edge:ca,sourceX:ua,sourceY:Sa,targetX:hl,targetY:pl,sourcePosition:ml,targetPosition:gl,onReconnect:wc,onReconnectStart:xu,onReconnectEnd:ff,setReconnecting:jf,setUpdateHover:Uf}){const rp=useStoreApi(),np=(rg,ig)=>{if(rg.button!==0)return;const{autoPanOnConnect:vv,domNode:k1,isValidConnection:qw,connectionMode:K0,connectionRadius:J0,lib:Hw,onConnectStart:O1,onConnectEnd:Y0,cancelConnection:G0,nodeLookup:X0,rfId:d_,panBy:f_,updateConnection:zN}=rp.getState(),BN=ig.type==="target",iF=(Ihe,bY)=>{jf(!1),ff?.(Ihe,ca,ig.type,bY)},yY=Ihe=>wc?.(ca,Ihe),vQ=(Ihe,bY)=>{jf(!0),xu?.(rg,ca,ig.type),O1?.(Ihe,bY)};XYHandle.onPointerDown(rg.nativeEvent,{autoPanOnConnect:vv,connectionMode:K0,connectionRadius:J0,domNode:k1,handleId:ig.id,nodeId:ig.nodeId,nodeLookup:X0,isTarget:BN,edgeUpdaterType:ig.type,lib:Hw,flowId:d_,cancelConnection:G0,panBy:f_,isValidConnection:qw,onConnect:yY,onConnectStart:vQ,onConnectEnd:Y0,onReconnectEnd:iF,updateConnection:zN,getTransform:()=>rp.getState().transform,getFromHandle:()=>rp.getState().connection.fromHandle,dragThreshold:rp.getState().connectionDragThreshold,handleDomNode:rg.currentTarget})},qm=rg=>np(rg,{nodeId:ca.target,id:ca.targetHandle??null,type:"target"}),Vm=rg=>np(rg,{nodeId:ca.source,id:ca.sourceHandle??null,type:"source"}),eg=()=>Uf(!0),tg=()=>Uf(!1);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[(la===!0||la==="source")&&jsxRuntimeExports.jsx(EdgeAnchor,{position:ml,centerX:ua,centerY:Sa,radius:aa,onMouseDown:qm,onMouseEnter:eg,onMouseOut:tg,type:"source"}),(la===!0||la==="target")&&jsxRuntimeExports.jsx(EdgeAnchor,{position:gl,centerX:hl,centerY:pl,radius:aa,onMouseDown:Vm,onMouseEnter:eg,onMouseOut:tg,type:"target"})]})}function EdgeWrapper({id:la,edgesFocusable:aa,edgesReconnectable:ca,elementsSelectable:ua,onClick:Sa,onDoubleClick:hl,onContextMenu:pl,onMouseEnter:ml,onMouseMove:gl,onMouseLeave:wc,reconnectRadius:xu,onReconnect:ff,onReconnectStart:jf,onReconnectEnd:Uf,rfId:rp,edgeTypes:np,noPanClassName:qm,onError:Vm,disableKeyboardA11y:eg}){let tg=useStore$1(Bhe=>Bhe.edgeLookup.get(la));const rg=useStore$1(Bhe=>Bhe.defaultEdgeOptions);tg=rg?{...rg,...tg}:tg;let ig=tg.type||"default",vv=np?.[ig]||builtinEdgeTypes[ig];vv===void 0&&(Vm?.("011",errorMessages$3.error011(ig)),ig="default",vv=np?.default||builtinEdgeTypes.default);const k1=!!(tg.focusable||aa&&typeof tg.focusable>"u"),qw=typeof ff<"u"&&(tg.reconnectable||ca&&typeof tg.reconnectable>"u"),K0=!!(tg.selectable||ua&&typeof tg.selectable>"u"),J0=reactExports.useRef(null),[Hw,O1]=reactExports.useState(!1),[Y0,G0]=reactExports.useState(!1),X0=useStoreApi(),{zIndex:d_,sourceX:f_,sourceY:zN,targetX:BN,targetY:iF,sourcePosition:yY,targetPosition:vQ}=useStore$1(reactExports.useCallback(Bhe=>{const dht=Bhe.nodeLookup.get(tg.source),Mdt=Bhe.nodeLookup.get(tg.target);if(!dht||!Mdt)return{zIndex:tg.zIndex,...nullPosition};const opt=getEdgePosition({id:la,sourceNode:dht,targetNode:Mdt,sourceHandle:tg.sourceHandle||null,targetHandle:tg.targetHandle||null,connectionMode:Bhe.connectionMode,onError:Vm});return{zIndex:getElevatedEdgeZIndex({selected:tg.selected,zIndex:tg.zIndex,sourceNode:dht,targetNode:Mdt,elevateOnSelect:Bhe.elevateEdgesOnSelect,zIndexMode:Bhe.zIndexMode}),...opt||nullPosition}},[tg.source,tg.target,tg.sourceHandle,tg.targetHandle,tg.selected,tg.zIndex]),shallow$1),Ihe=reactExports.useMemo(()=>tg.markerStart?`url('#${getMarkerId(tg.markerStart,rp)}')`:void 0,[tg.markerStart,rp]),bY=reactExports.useMemo(()=>tg.markerEnd?`url('#${getMarkerId(tg.markerEnd,rp)}')`:void 0,[tg.markerEnd,rp]);if(tg.hidden||f_===null||zN===null||BN===null||iF===null)return null;const Lhe=Bhe=>{const{addSelectedEdges:dht,unselectNodesAndEdges:Mdt,multiSelectionActive:opt}=X0.getState();K0&&(X0.setState({nodesSelectionActive:!1}),tg.selected&&opt?(Mdt({nodes:[],edges:[tg]}),J0.current?.blur()):dht([la])),Sa&&Sa(Bhe,tg)},Dhe=hl?Bhe=>{hl(Bhe,{...tg})}:void 0,kdt=pl?Bhe=>{pl(Bhe,{...tg})}:void 0,eht=ml?Bhe=>{ml(Bhe,{...tg})}:void 0,oht=gl?Bhe=>{gl(Bhe,{...tg})}:void 0,iht=wc?Bhe=>{wc(Bhe,{...tg})}:void 0,Uhe=Bhe=>{if(!eg&&elementSelectionKeys.includes(Bhe.key)&&K0){const{unselectNodesAndEdges:dht,addSelectedEdges:Mdt}=X0.getState();Bhe.key==="Escape"?(J0.current?.blur(),dht({edges:[tg]})):Mdt([la])}};return jsxRuntimeExports.jsx("svg",{style:{zIndex:d_},children:jsxRuntimeExports.jsxs("g",{className:cc(["react-flow__edge",`react-flow__edge-${ig}`,tg.className,qm,{selected:tg.selected,animated:tg.animated,inactive:!K0&&!Sa,updating:Hw,selectable:K0}]),onClick:Lhe,onDoubleClick:Dhe,onContextMenu:kdt,onMouseEnter:eht,onMouseMove:oht,onMouseLeave:iht,onKeyDown:k1?Uhe:void 0,tabIndex:k1?0:void 0,role:tg.ariaRole??(k1?"group":"img"),"aria-roledescription":"edge","data-id":la,"data-testid":`rf__edge-${la}`,"aria-label":tg.ariaLabel===null?void 0:tg.ariaLabel||`Edge from ${tg.source} to ${tg.target}`,"aria-describedby":k1?`${ARIA_EDGE_DESC_KEY}-${rp}`:void 0,ref:J0,...tg.domAttributes,children:[!Y0&&jsxRuntimeExports.jsx(vv,{id:la,source:tg.source,target:tg.target,type:tg.type,selected:tg.selected,animated:tg.animated,selectable:K0,deletable:tg.deletable??!0,label:tg.label,labelStyle:tg.labelStyle,labelShowBg:tg.labelShowBg,labelBgStyle:tg.labelBgStyle,labelBgPadding:tg.labelBgPadding,labelBgBorderRadius:tg.labelBgBorderRadius,sourceX:f_,sourceY:zN,targetX:BN,targetY:iF,sourcePosition:yY,targetPosition:vQ,data:tg.data,style:tg.style,sourceHandleId:tg.sourceHandle,targetHandleId:tg.targetHandle,markerStart:Ihe,markerEnd:bY,pathOptions:"pathOptions"in tg?tg.pathOptions:void 0,interactionWidth:tg.interactionWidth}),qw&&jsxRuntimeExports.jsx(EdgeUpdateAnchors,{edge:tg,isReconnectable:qw,reconnectRadius:xu,onReconnect:ff,onReconnectStart:jf,onReconnectEnd:Uf,sourceX:f_,sourceY:zN,targetX:BN,targetY:iF,sourcePosition:yY,targetPosition:vQ,setUpdateHover:O1,setReconnecting:G0})]})})}var EdgeWrapper$1=reactExports.memo(EdgeWrapper);const selector$a=la=>({edgesFocusable:la.edgesFocusable,edgesReconnectable:la.edgesReconnectable,elementsSelectable:la.elementsSelectable,connectionMode:la.connectionMode,onError:la.onError});function EdgeRendererComponent({defaultMarkerColor:la,onlyRenderVisibleElements:aa,rfId:ca,edgeTypes:ua,noPanClassName:Sa,onReconnect:hl,onEdgeContextMenu:pl,onEdgeMouseEnter:ml,onEdgeMouseMove:gl,onEdgeMouseLeave:wc,onEdgeClick:xu,reconnectRadius:ff,onEdgeDoubleClick:jf,onReconnectStart:Uf,onReconnectEnd:rp,disableKeyboardA11y:np}){const{edgesFocusable:qm,edgesReconnectable:Vm,elementsSelectable:eg,onError:tg}=useStore$1(selector$a,shallow$1),rg=useVisibleEdgeIds(aa);return jsxRuntimeExports.jsxs("div",{className:"react-flow__edges",children:[jsxRuntimeExports.jsx(MarkerDefinitions$1,{defaultColor:la,rfId:ca}),rg.map(ig=>jsxRuntimeExports.jsx(EdgeWrapper$1,{id:ig,edgesFocusable:qm,edgesReconnectable:Vm,elementsSelectable:eg,noPanClassName:Sa,onReconnect:hl,onContextMenu:pl,onMouseEnter:ml,onMouseMove:gl,onMouseLeave:wc,onClick:xu,reconnectRadius:ff,onDoubleClick:jf,onReconnectStart:Uf,onReconnectEnd:rp,rfId:ca,onError:tg,edgeTypes:ua,disableKeyboardA11y:np},ig))]})}EdgeRendererComponent.displayName="EdgeRenderer";const EdgeRenderer=reactExports.memo(EdgeRendererComponent),selector$9=la=>`translate(${la.transform[0]}px,${la.transform[1]}px) scale(${la.transform[2]})`;function Viewport({children:la}){const aa=useStore$1(selector$9);return jsxRuntimeExports.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:aa},children:la})}function useOnInitHandler(la){const aa=useReactFlow(),ca=reactExports.useRef(!1);reactExports.useEffect(()=>{!ca.current&&aa.viewportInitialized&&la&&(setTimeout(()=>la(aa),1),ca.current=!0)},[la,aa.viewportInitialized])}const selector$8=la=>la.panZoom?.syncViewport;function useViewportSync(la){const aa=useStore$1(selector$8),ca=useStoreApi();return reactExports.useEffect(()=>{la&&(aa?.(la),ca.setState({transform:[la.x,la.y,la.zoom]}))},[la,aa]),null}function storeSelector$1(la){return la.connection.inProgress?{...la.connection,to:pointToRendererPoint(la.connection.to,la.transform)}:{...la.connection}}function getSelector(la){return storeSelector$1}function useConnection(la){const aa=getSelector();return useStore$1(aa,shallow$1)}const selector$7=la=>({nodesConnectable:la.nodesConnectable,isValid:la.connection.isValid,inProgress:la.connection.inProgress,width:la.width,height:la.height});function ConnectionLineWrapper({containerStyle:la,style:aa,type:ca,component:ua}){const{nodesConnectable:Sa,width:hl,height:pl,isValid:ml,inProgress:gl}=useStore$1(selector$7,shallow$1);return!(hl&&Sa&&gl)?null:jsxRuntimeExports.jsx("svg",{style:la,width:hl,height:pl,className:"react-flow__connectionline react-flow__container",children:jsxRuntimeExports.jsx("g",{className:cc(["react-flow__connection",getConnectionStatus(ml)]),children:jsxRuntimeExports.jsx(ConnectionLine,{style:aa,type:ca,CustomComponent:ua,isValid:ml})})})}const ConnectionLine=({style:la,type:aa=ConnectionLineType.Bezier,CustomComponent:ca,isValid:ua})=>{const{inProgress:Sa,from:hl,fromNode:pl,fromHandle:ml,fromPosition:gl,to:wc,toNode:xu,toHandle:ff,toPosition:jf,pointer:Uf}=useConnection();if(!Sa)return;if(ca)return jsxRuntimeExports.jsx(ca,{connectionLineType:aa,connectionLineStyle:la,fromNode:pl,fromHandle:ml,fromX:hl.x,fromY:hl.y,toX:wc.x,toY:wc.y,fromPosition:gl,toPosition:jf,connectionStatus:getConnectionStatus(ua),toNode:xu,toHandle:ff,pointer:Uf});let rp="";const np={sourceX:hl.x,sourceY:hl.y,sourcePosition:gl,targetX:wc.x,targetY:wc.y,targetPosition:jf};switch(aa){case ConnectionLineType.Bezier:[rp]=getBezierPath(np);break;case ConnectionLineType.SimpleBezier:[rp]=getSimpleBezierPath(np);break;case ConnectionLineType.Step:[rp]=getSmoothStepPath({...np,borderRadius:0});break;case ConnectionLineType.SmoothStep:[rp]=getSmoothStepPath(np);break;default:[rp]=getStraightPath(np)}return jsxRuntimeExports.jsx("path",{d:rp,fill:"none",className:"react-flow__connection-path",style:la})};ConnectionLine.displayName="ConnectionLine";const emptyTypes={};function useNodeOrEdgeTypesWarning(la=emptyTypes){reactExports.useRef(la),useStoreApi(),reactExports.useEffect(()=>{},[la])}function useStylesLoadedWarning(){useStoreApi(),reactExports.useRef(!1),reactExports.useEffect(()=>{},[])}function GraphViewComponent({nodeTypes:la,edgeTypes:aa,onInit:ca,onNodeClick:ua,onEdgeClick:Sa,onNodeDoubleClick:hl,onEdgeDoubleClick:pl,onNodeMouseEnter:ml,onNodeMouseMove:gl,onNodeMouseLeave:wc,onNodeContextMenu:xu,onSelectionContextMenu:ff,onSelectionStart:jf,onSelectionEnd:Uf,connectionLineType:rp,connectionLineStyle:np,connectionLineComponent:qm,connectionLineContainerStyle:Vm,selectionKeyCode:eg,selectionOnDrag:tg,selectionMode:rg,multiSelectionKeyCode:ig,panActivationKeyCode:vv,zoomActivationKeyCode:k1,deleteKeyCode:qw,onlyRenderVisibleElements:K0,elementsSelectable:J0,defaultViewport:Hw,translateExtent:O1,minZoom:Y0,maxZoom:G0,preventScrolling:X0,defaultMarkerColor:d_,zoomOnScroll:f_,zoomOnPinch:zN,panOnScroll:BN,panOnScrollSpeed:iF,panOnScrollMode:yY,zoomOnDoubleClick:vQ,panOnDrag:Ihe,onPaneClick:bY,onPaneMouseEnter:Lhe,onPaneMouseMove:Dhe,onPaneMouseLeave:kdt,onPaneScroll:eht,onPaneContextMenu:oht,paneClickDistance:iht,nodeClickDistance:Uhe,onEdgeContextMenu:Bhe,onEdgeMouseEnter:dht,onEdgeMouseMove:Mdt,onEdgeMouseLeave:opt,reconnectRadius:gpt,onReconnect:Zht,onReconnectStart:kpt,onReconnectEnd:Dpt,noDragClassName:Bpt,noWheelClassName:Apt,noPanClassName:spt,disableKeyboardA11y:_pt,nodeExtent:jpt,rfId:Opt,viewport:zpt,onViewportChange:Ndt}){return useNodeOrEdgeTypesWarning(la),useNodeOrEdgeTypesWarning(aa),useStylesLoadedWarning(),useOnInitHandler(ca),useViewportSync(zpt),jsxRuntimeExports.jsx(FlowRenderer,{onPaneClick:bY,onPaneMouseEnter:Lhe,onPaneMouseMove:Dhe,onPaneMouseLeave:kdt,onPaneContextMenu:oht,onPaneScroll:eht,paneClickDistance:iht,deleteKeyCode:qw,selectionKeyCode:eg,selectionOnDrag:tg,selectionMode:rg,onSelectionStart:jf,onSelectionEnd:Uf,multiSelectionKeyCode:ig,panActivationKeyCode:vv,zoomActivationKeyCode:k1,elementsSelectable:J0,zoomOnScroll:f_,zoomOnPinch:zN,zoomOnDoubleClick:vQ,panOnScroll:BN,panOnScrollSpeed:iF,panOnScrollMode:yY,panOnDrag:Ihe,defaultViewport:Hw,translateExtent:O1,minZoom:Y0,maxZoom:G0,onSelectionContextMenu:ff,preventScrolling:X0,noDragClassName:Bpt,noWheelClassName:Apt,noPanClassName:spt,disableKeyboardA11y:_pt,onViewportChange:Ndt,isControlledViewport:!!zpt,children:jsxRuntimeExports.jsxs(Viewport,{children:[jsxRuntimeExports.jsx(EdgeRenderer,{edgeTypes:aa,onEdgeClick:Sa,onEdgeDoubleClick:pl,onReconnect:Zht,onReconnectStart:kpt,onReconnectEnd:Dpt,onlyRenderVisibleElements:K0,onEdgeContextMenu:Bhe,onEdgeMouseEnter:dht,onEdgeMouseMove:Mdt,onEdgeMouseLeave:opt,reconnectRadius:gpt,defaultMarkerColor:d_,noPanClassName:spt,disableKeyboardA11y:_pt,rfId:Opt}),jsxRuntimeExports.jsx(ConnectionLineWrapper,{style:np,type:rp,component:qm,containerStyle:Vm}),jsxRuntimeExports.jsx("div",{className:"react-flow__edgelabel-renderer"}),jsxRuntimeExports.jsx(NodeRenderer,{nodeTypes:la,onNodeClick:ua,onNodeDoubleClick:hl,onNodeMouseEnter:ml,onNodeMouseMove:gl,onNodeMouseLeave:wc,onNodeContextMenu:xu,nodeClickDistance:Uhe,onlyRenderVisibleElements:K0,noPanClassName:spt,noDragClassName:Bpt,disableKeyboardA11y:_pt,nodeExtent:jpt,rfId:Opt}),jsxRuntimeExports.jsx("div",{className:"react-flow__viewport-portal"})]})})}GraphViewComponent.displayName="GraphView";const GraphView=reactExports.memo(GraphViewComponent),getInitialState$1=({nodes:la,edges:aa,defaultNodes:ca,defaultEdges:ua,width:Sa,height:hl,fitView:pl,fitViewOptions:ml,minZoom:gl=.5,maxZoom:wc=2,nodeOrigin:xu,nodeExtent:ff,zIndexMode:jf="basic"}={})=>{const Uf=new Map,rp=new Map,np=new Map,qm=new Map,Vm=ua??aa??[],eg=ca??la??[],tg=xu??[0,0],rg=ff??infiniteExtent;updateConnectionLookup(np,qm,Vm);const ig=adoptUserNodes(eg,Uf,rp,{nodeOrigin:tg,nodeExtent:rg,zIndexMode:jf});let vv=[0,0,1];if(pl&&Sa&&hl){const k1=getInternalNodesBounds(Uf,{filter:Hw=>!!((Hw.width||Hw.initialWidth)&&(Hw.height||Hw.initialHeight))}),{x:qw,y:K0,zoom:J0}=getViewportForBounds(k1,Sa,hl,gl,wc,ml?.padding??.1);vv=[qw,K0,J0]}return{rfId:"1",width:Sa??0,height:hl??0,transform:vv,nodes:eg,nodesInitialized:ig,nodeLookup:Uf,parentLookup:rp,edges:Vm,edgeLookup:qm,connectionLookup:np,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:ca!==void 0,hasDefaultEdges:ua!==void 0,panZoom:null,minZoom:gl,maxZoom:wc,translateExtent:infiniteExtent,nodeExtent:rg,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ConnectionMode.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:tg,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:pl??!1,fitViewOptions:ml,fitViewResolver:null,connection:{...initialConnection},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:devWarn,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:defaultAriaLabelConfig,zIndexMode:jf,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},createStore=({nodes:la,edges:aa,defaultNodes:ca,defaultEdges:ua,width:Sa,height:hl,fitView:pl,fitViewOptions:ml,minZoom:gl,maxZoom:wc,nodeOrigin:xu,nodeExtent:ff,zIndexMode:jf})=>createWithEqualityFn((Uf,rp)=>{async function np(){const{nodeLookup:qm,panZoom:Vm,fitViewOptions:eg,fitViewResolver:tg,width:rg,height:ig,minZoom:vv,maxZoom:k1}=rp();Vm&&(await fitViewport({nodes:qm,width:rg,height:ig,panZoom:Vm,minZoom:vv,maxZoom:k1},eg),tg?.resolve(!0),Uf({fitViewResolver:null}))}return{...getInitialState$1({nodes:la,edges:aa,width:Sa,height:hl,fitView:pl,fitViewOptions:ml,minZoom:gl,maxZoom:wc,nodeOrigin:xu,nodeExtent:ff,defaultNodes:ca,defaultEdges:ua,zIndexMode:jf}),setNodes:qm=>{const{nodeLookup:Vm,parentLookup:eg,nodeOrigin:tg,elevateNodesOnSelect:rg,fitViewQueued:ig,zIndexMode:vv}=rp(),k1=adoptUserNodes(qm,Vm,eg,{nodeOrigin:tg,nodeExtent:ff,elevateNodesOnSelect:rg,checkEquality:!0,zIndexMode:vv});ig&&k1?(np(),Uf({nodes:qm,nodesInitialized:k1,fitViewQueued:!1,fitViewOptions:void 0})):Uf({nodes:qm,nodesInitialized:k1})},setEdges:qm=>{const{connectionLookup:Vm,edgeLookup:eg}=rp();updateConnectionLookup(Vm,eg,qm),Uf({edges:qm})},setDefaultNodesAndEdges:(qm,Vm)=>{if(qm){const{setNodes:eg}=rp();eg(qm),Uf({hasDefaultNodes:!0})}if(Vm){const{setEdges:eg}=rp();eg(Vm),Uf({hasDefaultEdges:!0})}},updateNodeInternals:qm=>{const{triggerNodeChanges:Vm,nodeLookup:eg,parentLookup:tg,domNode:rg,nodeOrigin:ig,nodeExtent:vv,debug:k1,fitViewQueued:qw,zIndexMode:K0}=rp(),{changes:J0,updatedInternals:Hw}=updateNodeInternals(qm,eg,tg,rg,ig,vv,K0);Hw&&(updateAbsolutePositions(eg,tg,{nodeOrigin:ig,nodeExtent:vv,zIndexMode:K0}),qw?(np(),Uf({fitViewQueued:!1,fitViewOptions:void 0})):Uf({}),J0?.length>0&&(k1&&console.log("React Flow: trigger node changes",J0),Vm?.(J0)))},updateNodePositions:(qm,Vm=!1)=>{const eg=[];let tg=[];const{nodeLookup:rg,triggerNodeChanges:ig,connection:vv,updateConnection:k1,onNodesChangeMiddlewareMap:qw}=rp();for(const[K0,J0]of qm){const Hw=rg.get(K0),O1=!!(Hw?.expandParent&&Hw?.parentId&&J0?.position),Y0={id:K0,type:"position",position:O1?{x:Math.max(0,J0.position.x),y:Math.max(0,J0.position.y)}:J0.position,dragging:Vm};if(Hw&&vv.inProgress&&vv.fromNode.id===Hw.id){const G0=getHandlePosition(Hw,vv.fromHandle,Position.Left,!0);k1({...vv,from:G0})}O1&&Hw.parentId&&eg.push({id:K0,parentId:Hw.parentId,rect:{...J0.internals.positionAbsolute,width:J0.measured.width??0,height:J0.measured.height??0}}),tg.push(Y0)}if(eg.length>0){const{parentLookup:K0,nodeOrigin:J0}=rp(),Hw=handleExpandParent(eg,rg,K0,J0);tg.push(...Hw)}for(const K0 of qw.values())tg=K0(tg);ig(tg)},triggerNodeChanges:qm=>{const{onNodesChange:Vm,setNodes:eg,nodes:tg,hasDefaultNodes:rg,debug:ig}=rp();if(qm?.length){if(rg){const vv=applyNodeChanges(qm,tg);eg(vv)}ig&&console.log("React Flow: trigger node changes",qm),Vm?.(qm)}},triggerEdgeChanges:qm=>{const{onEdgesChange:Vm,setEdges:eg,edges:tg,hasDefaultEdges:rg,debug:ig}=rp();if(qm?.length){if(rg){const vv=applyEdgeChanges(qm,tg);eg(vv)}ig&&console.log("React Flow: trigger edge changes",qm),Vm?.(qm)}},addSelectedNodes:qm=>{const{multiSelectionActive:Vm,edgeLookup:eg,nodeLookup:tg,triggerNodeChanges:rg,triggerEdgeChanges:ig}=rp();if(Vm){const vv=qm.map(k1=>createSelectionChange(k1,!0));rg(vv);return}rg(getSelectionChanges(tg,new Set([...qm]),!0)),ig(getSelectionChanges(eg))},addSelectedEdges:qm=>{const{multiSelectionActive:Vm,edgeLookup:eg,nodeLookup:tg,triggerNodeChanges:rg,triggerEdgeChanges:ig}=rp();if(Vm){const vv=qm.map(k1=>createSelectionChange(k1,!0));ig(vv);return}ig(getSelectionChanges(eg,new Set([...qm]))),rg(getSelectionChanges(tg,new Set,!0))},unselectNodesAndEdges:({nodes:qm,edges:Vm}={})=>{const{edges:eg,nodes:tg,nodeLookup:rg,triggerNodeChanges:ig,triggerEdgeChanges:vv}=rp(),k1=qm||tg,qw=Vm||eg,K0=k1.map(Hw=>{const O1=rg.get(Hw.id);return O1&&(O1.selected=!1),createSelectionChange(Hw.id,!1)}),J0=qw.map(Hw=>createSelectionChange(Hw.id,!1));ig(K0),vv(J0)},setMinZoom:qm=>{const{panZoom:Vm,maxZoom:eg}=rp();Vm?.setScaleExtent([qm,eg]),Uf({minZoom:qm})},setMaxZoom:qm=>{const{panZoom:Vm,minZoom:eg}=rp();Vm?.setScaleExtent([eg,qm]),Uf({maxZoom:qm})},setTranslateExtent:qm=>{rp().panZoom?.setTranslateExtent(qm),Uf({translateExtent:qm})},resetSelectedElements:()=>{const{edges:qm,nodes:Vm,triggerNodeChanges:eg,triggerEdgeChanges:tg,elementsSelectable:rg}=rp();if(!rg)return;const ig=Vm.reduce((k1,qw)=>qw.selected?[...k1,createSelectionChange(qw.id,!1)]:k1,[]),vv=qm.reduce((k1,qw)=>qw.selected?[...k1,createSelectionChange(qw.id,!1)]:k1,[]);eg(ig),tg(vv)},setNodeExtent:qm=>{const{nodes:Vm,nodeLookup:eg,parentLookup:tg,nodeOrigin:rg,elevateNodesOnSelect:ig,nodeExtent:vv,zIndexMode:k1}=rp();qm[0][0]===vv[0][0]&&qm[0][1]===vv[0][1]&&qm[1][0]===vv[1][0]&&qm[1][1]===vv[1][1]||(adoptUserNodes(Vm,eg,tg,{nodeOrigin:rg,nodeExtent:qm,elevateNodesOnSelect:ig,checkEquality:!1,zIndexMode:k1}),Uf({nodeExtent:qm}))},panBy:qm=>{const{transform:Vm,width:eg,height:tg,panZoom:rg,translateExtent:ig}=rp();return panBy({delta:qm,panZoom:rg,transform:Vm,translateExtent:ig,width:eg,height:tg})},setCenter:async(qm,Vm,eg)=>{const{width:tg,height:rg,maxZoom:ig,panZoom:vv}=rp();if(!vv)return Promise.resolve(!1);const k1=typeof eg?.zoom<"u"?eg.zoom:ig;return await vv.setViewport({x:tg/2-qm*k1,y:rg/2-Vm*k1,zoom:k1},{duration:eg?.duration,ease:eg?.ease,interpolate:eg?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{Uf({connection:{...initialConnection}})},updateConnection:qm=>{Uf({connection:qm})},reset:()=>Uf({...getInitialState$1()})}},Object.is);function ReactFlowProvider({initialNodes:la,initialEdges:aa,defaultNodes:ca,defaultEdges:ua,initialWidth:Sa,initialHeight:hl,initialMinZoom:pl,initialMaxZoom:ml,initialFitViewOptions:gl,fitView:wc,nodeOrigin:xu,nodeExtent:ff,zIndexMode:jf,children:Uf}){const[rp]=reactExports.useState(()=>createStore({nodes:la,edges:aa,defaultNodes:ca,defaultEdges:ua,width:Sa,height:hl,fitView:wc,minZoom:pl,maxZoom:ml,fitViewOptions:gl,nodeOrigin:xu,nodeExtent:ff,zIndexMode:jf}));return jsxRuntimeExports.jsx(Provider$1,{value:rp,children:jsxRuntimeExports.jsx(BatchProvider,{children:Uf})})}function Wrapper({children:la,nodes:aa,edges:ca,defaultNodes:ua,defaultEdges:Sa,width:hl,height:pl,fitView:ml,fitViewOptions:gl,minZoom:wc,maxZoom:xu,nodeOrigin:ff,nodeExtent:jf,zIndexMode:Uf}){return reactExports.useContext(StoreContext)?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:la}):jsxRuntimeExports.jsx(ReactFlowProvider,{initialNodes:aa,initialEdges:ca,defaultNodes:ua,defaultEdges:Sa,initialWidth:hl,initialHeight:pl,fitView:ml,initialFitViewOptions:gl,initialMinZoom:wc,initialMaxZoom:xu,nodeOrigin:ff,nodeExtent:jf,zIndexMode:Uf,children:la})}const wrapperStyle={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function ReactFlow({nodes:la,edges:aa,defaultNodes:ca,defaultEdges:ua,className:Sa,nodeTypes:hl,edgeTypes:pl,onNodeClick:ml,onEdgeClick:gl,onInit:wc,onMove:xu,onMoveStart:ff,onMoveEnd:jf,onConnect:Uf,onConnectStart:rp,onConnectEnd:np,onClickConnectStart:qm,onClickConnectEnd:Vm,onNodeMouseEnter:eg,onNodeMouseMove:tg,onNodeMouseLeave:rg,onNodeContextMenu:ig,onNodeDoubleClick:vv,onNodeDragStart:k1,onNodeDrag:qw,onNodeDragStop:K0,onNodesDelete:J0,onEdgesDelete:Hw,onDelete:O1,onSelectionChange:Y0,onSelectionDragStart:G0,onSelectionDrag:X0,onSelectionDragStop:d_,onSelectionContextMenu:f_,onSelectionStart:zN,onSelectionEnd:BN,onBeforeDelete:iF,connectionMode:yY,connectionLineType:vQ=ConnectionLineType.Bezier,connectionLineStyle:Ihe,connectionLineComponent:bY,connectionLineContainerStyle:Lhe,deleteKeyCode:Dhe="Backspace",selectionKeyCode:kdt="Shift",selectionOnDrag:eht=!1,selectionMode:oht=SelectionMode.Full,panActivationKeyCode:iht="Space",multiSelectionKeyCode:Uhe=isMacOs()?"Meta":"Control",zoomActivationKeyCode:Bhe=isMacOs()?"Meta":"Control",snapToGrid:dht,snapGrid:Mdt,onlyRenderVisibleElements:opt=!1,selectNodesOnDrag:gpt,nodesDraggable:Zht,autoPanOnNodeFocus:kpt,nodesConnectable:Dpt,nodesFocusable:Bpt,nodeOrigin:Apt=defaultNodeOrigin,edgesFocusable:spt,edgesReconnectable:_pt,elementsSelectable:jpt=!0,defaultViewport:Opt=defaultViewport,minZoom:zpt=.5,maxZoom:Ndt=2,translateExtent:mY=infiniteExtent,preventScrolling:Phe=!0,nodeExtent:Odt,defaultMarkerColor:zhe="#b1b1b7",zoomOnScroll:Fhe=!0,zoomOnPinch:jhe=!0,panOnScroll:Tdt=!1,panOnScrollSpeed:Idt=.5,panOnScrollMode:Jht=PanOnScrollMode.Free,zoomOnDoubleClick:Rdt=!0,panOnDrag:cpt=!0,onPaneClick:$pt,onPaneMouseEnter:Rhe,onPaneMouseMove:Pdt,onPaneMouseLeave:Kht,onPaneScroll:f_e,onPaneContextMenu:Ddt,paneClickDistance:tpt=1,nodeClickDistance:ypt=0,children:fpt,onReconnect:Tpt,onReconnectStart:Wpt,onReconnectEnd:imt,onEdgeContextMenu:cmt,onEdgeDoubleClick:ipt,onEdgeMouseEnter:upt,onEdgeMouseMove:Ohe,onEdgeMouseLeave:wpt,reconnectRadius:Mpt=10,onNodesChange:Spt,onEdgesChange:c_e,noDragClassName:npt="nodrag",noWheelClassName:dpt="nowheel",noPanClassName:bpt="nopan",fitView:Gpt,fitViewOptions:Upt,connectOnClick:Zpt,attributionPosition:lmt,proOptions:nmt,defaultEdgeOptions:umt,elevateNodesOnSelect:smt=!0,elevateEdgesOnSelect:tmt=!1,disableKeyboardA11y:vmt=!1,autoPanOnConnect:Omt,autoPanOnNodeDrag:ugt,autoPanSpeed:Ymt,connectionRadius:pmt,isValidConnection:Smt,onError:Kmt,style:jmt,id:Lmt,nodeDragThreshold:sgt,connectionDragThreshold:Tmt,viewport:Bmt,onViewportChange:$gt,width:Amt,height:gmt,colorMode:dgt="light",debug:fgt,onScroll:Agt,ariaLabelConfig:bgt,zIndexMode:jgt="basic",...agt},Ggt){const vgt=Lmt||"1",dyt=useColorModeClass(dgt),Qgt=reactExports.useCallback(Pyt=>{Pyt.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Agt?.(Pyt)},[Agt]);return jsxRuntimeExports.jsx("div",{"data-testid":"rf__wrapper",...agt,onScroll:Qgt,style:{...jmt,...wrapperStyle},ref:Ggt,className:cc(["react-flow",Sa,dyt]),id:Lmt,role:"application",children:jsxRuntimeExports.jsxs(Wrapper,{nodes:la,edges:aa,width:Amt,height:gmt,fitView:Gpt,fitViewOptions:Upt,minZoom:zpt,maxZoom:Ndt,nodeOrigin:Apt,nodeExtent:Odt,zIndexMode:jgt,children:[jsxRuntimeExports.jsx(GraphView,{onInit:wc,onNodeClick:ml,onEdgeClick:gl,onNodeMouseEnter:eg,onNodeMouseMove:tg,onNodeMouseLeave:rg,onNodeContextMenu:ig,onNodeDoubleClick:vv,nodeTypes:hl,edgeTypes:pl,connectionLineType:vQ,connectionLineStyle:Ihe,connectionLineComponent:bY,connectionLineContainerStyle:Lhe,selectionKeyCode:kdt,selectionOnDrag:eht,selectionMode:oht,deleteKeyCode:Dhe,multiSelectionKeyCode:Uhe,panActivationKeyCode:iht,zoomActivationKeyCode:Bhe,onlyRenderVisibleElements:opt,defaultViewport:Opt,translateExtent:mY,minZoom:zpt,maxZoom:Ndt,preventScrolling:Phe,zoomOnScroll:Fhe,zoomOnPinch:jhe,zoomOnDoubleClick:Rdt,panOnScroll:Tdt,panOnScrollSpeed:Idt,panOnScrollMode:Jht,panOnDrag:cpt,onPaneClick:$pt,onPaneMouseEnter:Rhe,onPaneMouseMove:Pdt,onPaneMouseLeave:Kht,onPaneScroll:f_e,onPaneContextMenu:Ddt,paneClickDistance:tpt,nodeClickDistance:ypt,onSelectionContextMenu:f_,onSelectionStart:zN,onSelectionEnd:BN,onReconnect:Tpt,onReconnectStart:Wpt,onReconnectEnd:imt,onEdgeContextMenu:cmt,onEdgeDoubleClick:ipt,onEdgeMouseEnter:upt,onEdgeMouseMove:Ohe,onEdgeMouseLeave:wpt,reconnectRadius:Mpt,defaultMarkerColor:zhe,noDragClassName:npt,noWheelClassName:dpt,noPanClassName:bpt,rfId:vgt,disableKeyboardA11y:vmt,nodeExtent:Odt,viewport:Bmt,onViewportChange:$gt}),jsxRuntimeExports.jsx(StoreUpdater,{nodes:la,edges:aa,defaultNodes:ca,defaultEdges:ua,onConnect:Uf,onConnectStart:rp,onConnectEnd:np,onClickConnectStart:qm,onClickConnectEnd:Vm,nodesDraggable:Zht,autoPanOnNodeFocus:kpt,nodesConnectable:Dpt,nodesFocusable:Bpt,edgesFocusable:spt,edgesReconnectable:_pt,elementsSelectable:jpt,elevateNodesOnSelect:smt,elevateEdgesOnSelect:tmt,minZoom:zpt,maxZoom:Ndt,nodeExtent:Odt,onNodesChange:Spt,onEdgesChange:c_e,snapToGrid:dht,snapGrid:Mdt,connectionMode:yY,translateExtent:mY,connectOnClick:Zpt,defaultEdgeOptions:umt,fitView:Gpt,fitViewOptions:Upt,onNodesDelete:J0,onEdgesDelete:Hw,onDelete:O1,onNodeDragStart:k1,onNodeDrag:qw,onNodeDragStop:K0,onSelectionDrag:X0,onSelectionDragStart:G0,onSelectionDragStop:d_,onMove:xu,onMoveStart:ff,onMoveEnd:jf,noPanClassName:bpt,nodeOrigin:Apt,rfId:vgt,autoPanOnConnect:Omt,autoPanOnNodeDrag:ugt,autoPanSpeed:Ymt,onError:Kmt,connectionRadius:pmt,isValidConnection:Smt,selectNodesOnDrag:gpt,nodeDragThreshold:sgt,connectionDragThreshold:Tmt,onBeforeDelete:iF,debug:fgt,ariaLabelConfig:bgt,zIndexMode:jgt}),jsxRuntimeExports.jsx(SelectionListener,{onSelectionChange:Y0}),fpt,jsxRuntimeExports.jsx(Attribution,{proOptions:nmt,position:lmt}),jsxRuntimeExports.jsx(A11yDescriptions,{rfId:vgt,disableKeyboardA11y:vmt})]})})}var index$3=fixedForwardRef(ReactFlow);function useNodesState(la){const[aa,ca]=reactExports.useState(la),ua=reactExports.useCallback(Sa=>ca(hl=>applyNodeChanges(Sa,hl)),[]);return[aa,ca,ua]}function useEdgesState(la){const[aa,ca]=reactExports.useState(la),ua=reactExports.useCallback(Sa=>ca(hl=>applyEdgeChanges(Sa,hl)),[]);return[aa,ca,ua]}function LinePattern({dimensions:la,lineWidth:aa,variant:ca,className:ua}){return jsxRuntimeExports.jsx("path",{strokeWidth:aa,d:`M${la[0]/2} 0 V${la[1]} M0 ${la[1]/2} H${la[0]}`,className:cc(["react-flow__background-pattern",ca,ua])})}function DotPattern({radius:la,className:aa}){return jsxRuntimeExports.jsx("circle",{cx:la,cy:la,r:la,className:cc(["react-flow__background-pattern","dots",aa])})}var BackgroundVariant;(function(la){la.Lines="lines",la.Dots="dots",la.Cross="cross"})(BackgroundVariant||(BackgroundVariant={}));const defaultSize={[BackgroundVariant.Dots]:1,[BackgroundVariant.Lines]:1,[BackgroundVariant.Cross]:6},selector$3=la=>({transform:la.transform,patternId:`pattern-${la.rfId}`});function BackgroundComponent({id:la,variant:aa=BackgroundVariant.Dots,gap:ca=20,size:ua,lineWidth:Sa=1,offset:hl=0,color:pl,bgColor:ml,style:gl,className:wc,patternClassName:xu}){const ff=reactExports.useRef(null),{transform:jf,patternId:Uf}=useStore$1(selector$3,shallow$1),rp=ua||defaultSize[aa],np=aa===BackgroundVariant.Dots,qm=aa===BackgroundVariant.Cross,Vm=Array.isArray(ca)?ca:[ca,ca],eg=[Vm[0]*jf[2]||1,Vm[1]*jf[2]||1],tg=rp*jf[2],rg=Array.isArray(hl)?hl:[hl,hl],ig=qm?[tg,tg]:eg,vv=[rg[0]*jf[2]||1+ig[0]/2,rg[1]*jf[2]||1+ig[1]/2],k1=`${Uf}${la||""}`;return jsxRuntimeExports.jsxs("svg",{className:cc(["react-flow__background",wc]),style:{...gl,...containerStyle,"--xy-background-color-props":ml,"--xy-background-pattern-color-props":pl},ref:ff,"data-testid":"rf__background",children:[jsxRuntimeExports.jsx("pattern",{id:k1,x:jf[0]%eg[0],y:jf[1]%eg[1],width:eg[0],height:eg[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${vv[0]},-${vv[1]})`,children:np?jsxRuntimeExports.jsx(DotPattern,{radius:tg/2,className:xu}):jsxRuntimeExports.jsx(LinePattern,{dimensions:ig,lineWidth:Sa,variant:aa,className:xu})}),jsxRuntimeExports.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k1})`})]})}BackgroundComponent.displayName="Background";const Background=reactExports.memo(BackgroundComponent);function PlusIcon(){return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:jsxRuntimeExports.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function MinusIcon(){return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:jsxRuntimeExports.jsx("path",{d:"M0 0h32v4.2H0z"})})}function FitViewIcon(){return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:jsxRuntimeExports.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function LockIcon(){return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:jsxRuntimeExports.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function UnlockIcon(){return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:jsxRuntimeExports.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ControlButton({children:la,className:aa,...ca}){return jsxRuntimeExports.jsx("button",{type:"button",className:cc(["react-flow__controls-button",aa]),...ca,children:la})}const selector$2=la=>({isInteractive:la.nodesDraggable||la.nodesConnectable||la.elementsSelectable,minZoomReached:la.transform[2]<=la.minZoom,maxZoomReached:la.transform[2]>=la.maxZoom,ariaLabelConfig:la.ariaLabelConfig});function ControlsComponent({style:la,showZoom:aa=!0,showFitView:ca=!0,showInteractive:ua=!0,fitViewOptions:Sa,onZoomIn:hl,onZoomOut:pl,onFitView:ml,onInteractiveChange:gl,className:wc,children:xu,position:ff="bottom-left",orientation:jf="vertical","aria-label":Uf}){const rp=useStoreApi(),{isInteractive:np,minZoomReached:qm,maxZoomReached:Vm,ariaLabelConfig:eg}=useStore$1(selector$2,shallow$1),{zoomIn:tg,zoomOut:rg,fitView:ig}=useReactFlow(),vv=()=>{tg(),hl?.()},k1=()=>{rg(),pl?.()},qw=()=>{ig(Sa),ml?.()},K0=()=>{rp.setState({nodesDraggable:!np,nodesConnectable:!np,elementsSelectable:!np}),gl?.(!np)},J0=jf==="horizontal"?"horizontal":"vertical";return jsxRuntimeExports.jsxs(Panel,{className:cc(["react-flow__controls",J0,wc]),position:ff,style:la,"data-testid":"rf__controls","aria-label":Uf??eg["controls.ariaLabel"],children:[aa&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(ControlButton,{onClick:vv,className:"react-flow__controls-zoomin",title:eg["controls.zoomIn.ariaLabel"],"aria-label":eg["controls.zoomIn.ariaLabel"],disabled:Vm,children:jsxRuntimeExports.jsx(PlusIcon,{})}),jsxRuntimeExports.jsx(ControlButton,{onClick:k1,className:"react-flow__controls-zoomout",title:eg["controls.zoomOut.ariaLabel"],"aria-label":eg["controls.zoomOut.ariaLabel"],disabled:qm,children:jsxRuntimeExports.jsx(MinusIcon,{})})]}),ca&&jsxRuntimeExports.jsx(ControlButton,{className:"react-flow__controls-fitview",onClick:qw,title:eg["controls.fitView.ariaLabel"],"aria-label":eg["controls.fitView.ariaLabel"],children:jsxRuntimeExports.jsx(FitViewIcon,{})}),ua&&jsxRuntimeExports.jsx(ControlButton,{className:"react-flow__controls-interactive",onClick:K0,title:eg["controls.interactive.ariaLabel"],"aria-label":eg["controls.interactive.ariaLabel"],children:np?jsxRuntimeExports.jsx(UnlockIcon,{}):jsxRuntimeExports.jsx(LockIcon,{})}),xu]})}ControlsComponent.displayName="Controls";reactExports.memo(ControlsComponent);function MiniMapNodeComponent({id:la,x:aa,y:ca,width:ua,height:Sa,style:hl,color:pl,strokeColor:ml,strokeWidth:gl,className:wc,borderRadius:xu,shapeRendering:ff,selected:jf,onClick:Uf}){const{background:rp,backgroundColor:np}=hl||{},qm=pl||rp||np;return jsxRuntimeExports.jsx("rect",{className:cc(["react-flow__minimap-node",{selected:jf},wc]),x:aa,y:ca,rx:xu,ry:xu,width:ua,height:Sa,style:{fill:qm,stroke:ml,strokeWidth:gl},shapeRendering:ff,onClick:Uf?Vm=>Uf(Vm,la):void 0})}const MiniMapNode=reactExports.memo(MiniMapNodeComponent),selectorNodeIds=la=>la.nodes.map(aa=>aa.id),getAttrFunction=la=>la instanceof Function?la:()=>la;function MiniMapNodes({nodeStrokeColor:la,nodeColor:aa,nodeClassName:ca="",nodeBorderRadius:ua=5,nodeStrokeWidth:Sa,nodeComponent:hl=MiniMapNode,onClick:pl}){const ml=useStore$1(selectorNodeIds,shallow$1),gl=getAttrFunction(aa),wc=getAttrFunction(la),xu=getAttrFunction(ca),ff=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:ml.map(jf=>jsxRuntimeExports.jsx(NodeComponentWrapper,{id:jf,nodeColorFunc:gl,nodeStrokeColorFunc:wc,nodeClassNameFunc:xu,nodeBorderRadius:ua,nodeStrokeWidth:Sa,NodeComponent:hl,onClick:pl,shapeRendering:ff},jf))})}function NodeComponentWrapperInner({id:la,nodeColorFunc:aa,nodeStrokeColorFunc:ca,nodeClassNameFunc:ua,nodeBorderRadius:Sa,nodeStrokeWidth:hl,shapeRendering:pl,NodeComponent:ml,onClick:gl}){const{node:wc,x:xu,y:ff,width:jf,height:Uf}=useStore$1(rp=>{const{internals:np}=rp.nodeLookup.get(la),qm=np.userNode,{x:Vm,y:eg}=np.positionAbsolute,{width:tg,height:rg}=getNodeDimensions(qm);return{node:qm,x:Vm,y:eg,width:tg,height:rg}},shallow$1);return!wc||wc.hidden||!nodeHasDimensions(wc)?null:jsxRuntimeExports.jsx(ml,{x:xu,y:ff,width:jf,height:Uf,style:wc.style,selected:!!wc.selected,className:ua(wc),color:aa(wc),borderRadius:Sa,strokeColor:ca(wc),strokeWidth:hl,shapeRendering:pl,onClick:gl,id:wc.id})}const NodeComponentWrapper=reactExports.memo(NodeComponentWrapperInner);var MiniMapNodes$1=reactExports.memo(MiniMapNodes);const defaultWidth=200,defaultHeight=150,filterHidden=la=>!la.hidden,selector$1=la=>{const aa={x:-la.transform[0]/la.transform[2],y:-la.transform[1]/la.transform[2],width:la.width/la.transform[2],height:la.height/la.transform[2]};return{viewBB:aa,boundingRect:la.nodeLookup.size>0?getBoundsOfRects(getInternalNodesBounds(la.nodeLookup,{filter:filterHidden}),aa):aa,rfId:la.rfId,panZoom:la.panZoom,translateExtent:la.translateExtent,flowWidth:la.width,flowHeight:la.height,ariaLabelConfig:la.ariaLabelConfig}},ARIA_LABEL_KEY="react-flow__minimap-desc";function MiniMapComponent({style:la,className:aa,nodeStrokeColor:ca,nodeColor:ua,nodeClassName:Sa="",nodeBorderRadius:hl=5,nodeStrokeWidth:pl,nodeComponent:ml,bgColor:gl,maskColor:wc,maskStrokeColor:xu,maskStrokeWidth:ff,position:jf="bottom-right",onClick:Uf,onNodeClick:rp,pannable:np=!1,zoomable:qm=!1,ariaLabel:Vm,inversePan:eg,zoomStep:tg=1,offsetScale:rg=5}){const ig=useStoreApi(),vv=reactExports.useRef(null),{boundingRect:k1,viewBB:qw,rfId:K0,panZoom:J0,translateExtent:Hw,flowWidth:O1,flowHeight:Y0,ariaLabelConfig:G0}=useStore$1(selector$1,shallow$1),X0=la?.width??defaultWidth,d_=la?.height??defaultHeight,f_=k1.width/X0,zN=k1.height/d_,BN=Math.max(f_,zN),iF=BN*X0,yY=BN*d_,vQ=rg*BN,Ihe=k1.x-(iF-k1.width)/2-vQ,bY=k1.y-(yY-k1.height)/2-vQ,Lhe=iF+vQ*2,Dhe=yY+vQ*2,kdt=`${ARIA_LABEL_KEY}-${K0}`,eht=reactExports.useRef(0),oht=reactExports.useRef();eht.current=BN,reactExports.useEffect(()=>{if(vv.current&&J0)return oht.current=XYMinimap({domNode:vv.current,panZoom:J0,getTransform:()=>ig.getState().transform,getViewScale:()=>eht.current}),()=>{oht.current?.destroy()}},[J0]),reactExports.useEffect(()=>{oht.current?.update({translateExtent:Hw,width:O1,height:Y0,inversePan:eg,pannable:np,zoomStep:tg,zoomable:qm})},[np,qm,eg,tg,Hw,O1,Y0]);const iht=Uf?dht=>{const[Mdt,opt]=oht.current?.pointer(dht)||[0,0];Uf(dht,{x:Mdt,y:opt})}:void 0,Uhe=rp?reactExports.useCallback((dht,Mdt)=>{const opt=ig.getState().nodeLookup.get(Mdt).internals.userNode;rp(dht,opt)},[]):void 0,Bhe=Vm??G0["minimap.ariaLabel"];return jsxRuntimeExports.jsx(Panel,{position:jf,style:{...la,"--xy-minimap-background-color-props":typeof gl=="string"?gl:void 0,"--xy-minimap-mask-background-color-props":typeof wc=="string"?wc:void 0,"--xy-minimap-mask-stroke-color-props":typeof xu=="string"?xu:void 0,"--xy-minimap-mask-stroke-width-props":typeof ff=="number"?ff*BN:void 0,"--xy-minimap-node-background-color-props":typeof ua=="string"?ua:void 0,"--xy-minimap-node-stroke-color-props":typeof ca=="string"?ca:void 0,"--xy-minimap-node-stroke-width-props":typeof pl=="number"?pl:void 0},className:cc(["react-flow__minimap",aa]),"data-testid":"rf__minimap",children:jsxRuntimeExports.jsxs("svg",{width:X0,height:d_,viewBox:`${Ihe} ${bY} ${Lhe} ${Dhe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":kdt,ref:vv,onClick:iht,children:[Bhe&&jsxRuntimeExports.jsx("title",{id:kdt,children:Bhe}),jsxRuntimeExports.jsx(MiniMapNodes$1,{onClick:Uhe,nodeColor:ua,nodeStrokeColor:ca,nodeBorderRadius:hl,nodeClassName:Sa,nodeStrokeWidth:pl,nodeComponent:ml}),jsxRuntimeExports.jsx("path",{className:"react-flow__minimap-mask",d:`M${Ihe-vQ},${bY-vQ}h${Lhe+vQ*2}v${Dhe+vQ*2}h${-Lhe-vQ*2}z
19412
19412
  M${qw.x},${qw.y}h${qw.width}v${qw.height}h${-qw.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}MiniMapComponent.displayName="MiniMap";reactExports.memo(MiniMapComponent);const scaleSelector=la=>aa=>la?`${Math.max(1/aa.transform[2],1)}`:void 0,defaultPositions={[ResizeControlVariant.Line]:"right",[ResizeControlVariant.Handle]:"bottom-right"};function ResizeControl({nodeId:la,position:aa,variant:ca=ResizeControlVariant.Handle,className:ua,style:Sa=void 0,children:hl,color:pl,minWidth:ml=10,minHeight:gl=10,maxWidth:wc=Number.MAX_VALUE,maxHeight:xu=Number.MAX_VALUE,keepAspectRatio:ff=!1,resizeDirection:jf,autoScale:Uf=!0,shouldResize:rp,onResizeStart:np,onResize:qm,onResizeEnd:Vm}){const eg=useNodeId(),tg=typeof la=="string"?la:eg,rg=useStoreApi(),ig=reactExports.useRef(null),vv=ca===ResizeControlVariant.Handle,k1=useStore$1(reactExports.useCallback(scaleSelector(vv&&Uf),[vv,Uf]),shallow$1),qw=reactExports.useRef(null),K0=aa??defaultPositions[ca];reactExports.useEffect(()=>{if(!(!ig.current||!tg))return qw.current||(qw.current=XYResizer({domNode:ig.current,nodeId:tg,getStoreItems:()=>{const{nodeLookup:Hw,transform:O1,snapGrid:Y0,snapToGrid:G0,nodeOrigin:X0,domNode:d_}=rg.getState();return{nodeLookup:Hw,transform:O1,snapGrid:Y0,snapToGrid:G0,nodeOrigin:X0,paneDomNode:d_}},onChange:(Hw,O1)=>{const{triggerNodeChanges:Y0,nodeLookup:G0,parentLookup:X0,nodeOrigin:d_}=rg.getState(),f_=[],zN={x:Hw.x,y:Hw.y},BN=G0.get(tg);if(BN&&BN.expandParent&&BN.parentId){const iF=BN.origin??d_,yY=Hw.width??BN.measured.width??0,vQ=Hw.height??BN.measured.height??0,Ihe={id:BN.id,parentId:BN.parentId,rect:{width:yY,height:vQ,...evaluateAbsolutePosition({x:Hw.x??BN.position.x,y:Hw.y??BN.position.y},{width:yY,height:vQ},BN.parentId,G0,iF)}},bY=handleExpandParent([Ihe],G0,X0,d_);f_.push(...bY),zN.x=Hw.x?Math.max(iF[0]*yY,Hw.x):void 0,zN.y=Hw.y?Math.max(iF[1]*vQ,Hw.y):void 0}if(zN.x!==void 0&&zN.y!==void 0){const iF={id:tg,type:"position",position:{...zN}};f_.push(iF)}if(Hw.width!==void 0&&Hw.height!==void 0){const yY={id:tg,type:"dimensions",resizing:!0,setAttributes:jf?jf==="horizontal"?"width":"height":!0,dimensions:{width:Hw.width,height:Hw.height}};f_.push(yY)}for(const iF of O1){const yY={...iF,type:"position"};f_.push(yY)}Y0(f_)},onEnd:({width:Hw,height:O1})=>{const Y0={id:tg,type:"dimensions",resizing:!1,dimensions:{width:Hw,height:O1}};rg.getState().triggerNodeChanges([Y0])}})),qw.current.update({controlPosition:K0,boundaries:{minWidth:ml,minHeight:gl,maxWidth:wc,maxHeight:xu},keepAspectRatio:ff,resizeDirection:jf,onResizeStart:np,onResize:qm,onResizeEnd:Vm,shouldResize:rp}),()=>{qw.current?.destroy()}},[K0,ml,gl,wc,xu,ff,np,qm,Vm,rp]);const J0=K0.split("-");return jsxRuntimeExports.jsx("div",{className:cc(["react-flow__resize-control","nodrag",...J0,ca,ua]),ref:ig,style:{...Sa,scale:k1,...pl&&{[vv?"backgroundColor":"borderColor"]:pl}},children:hl})}reactExports.memo(ResizeControl);const INITIAL_VIEWPORT_NODE_ID="__INITIAL_VIEWPORT__",useZoomHandler=()=>{const{getNode:la,setCenter:aa,fitView:ca,getNodes:ua,setViewport:Sa,getEdges:hl}=useReactFlow(),{moduleName:pl}=useParams(),ml=useAppStore(Vm=>Vm.setPreviouslyFocusedNode),gl=useAppStore(Vm=>Vm.currentFocusedNode),wc=useAppStore(Vm=>Vm.setCurrentFocusedNode),xu=useAppStore(Vm=>Vm.setSelectedAgentId),ff=useAppStore(Vm=>Vm.setSelectedDecisionId),jf=useAppStore(Vm=>Vm.setLastFocusedAgentId),Uf=useAppStore(Vm=>Vm.pushFocusedNode),rp=useAppStore(Vm=>Vm.clearFocusedForward);return{zoomHandler:(Vm,eg,tg)=>{const rg=eg?.mode||"normal";gl&&gl!==Vm&&(rg==="normal"?(Uf(gl),ml(gl),rp()):rg==="back"?useAppStore.getState().pushFocusedForward(gl):rg==="forward"&&Uf(gl)),wc(Vm);const ig=la(Vm);if(ig){if(ig.type==="event")try{const k1=fetchModule$2(pl||"").getWorkflowForEvent(Vm);if(!k1)return;const qw=k1.name,K0=la(qw);if(K0){const J0=ig.width||0,Hw=ig.height||0,O1=ig.position.x+J0/2,Y0=ig.position.y+Hw/2,G0=K0.width||0,X0=K0.height||0,d_=K0.position.x+G0/2,f_=K0.position.y+X0/2,zN=(O1+d_)/2,BN=(Y0+f_)/2,iF=Math.abs(O1-d_)+(J0+G0)/2,yY=Math.abs(Y0-f_)+(Hw+X0),vQ=Math.max(iF,yY);let Ihe=.9;vQ>1200?Ihe=.5:vQ>800?Ihe=.65:vQ>500?Ihe=.8:vQ>300&&(Ihe=.85),requestAnimationFrame(()=>{aa(zN,BN,{zoom:Ihe,duration:1200})})}else{const J0=ig.width||0,Hw=ig.height||0,O1=ig.position.x+J0/2,Y0=ig.position.y+Hw/2;requestAnimationFrame(()=>{aa(O1,Y0,{zoom:1.15,duration:700})})}}catch(vv){console.error("Error getting workflow for event:",vv);const k1=ig.width||0,qw=ig.height||0,K0=ig.position.x+k1/2,J0=ig.position.y+qw/2;requestAnimationFrame(()=>{aa(K0,J0,{zoom:1.15,duration:700})})}else if(ig.type==="agent")try{if(fetchModule$2(pl||"").getAgent(Vm)){const K0=ua().filter(J0=>J0.type==="swimlane"&&J0.data.name.includes(Vm)).map(J0=>({id:J0.id}));if(K0.length>0)requestAnimationFrame(()=>{ca({nodes:[{id:Vm},...K0],duration:700,padding:.1})});else{const J0=ig.width||0,Hw=ig.height||0,O1=ig.position.x+J0/2,Y0=ig.position.y+Hw/2;requestAnimationFrame(()=>{aa(O1,Y0,{zoom:1.15,duration:700})})}}else{const qw=ig.width||0,K0=ig.height||0,J0=ig.position.x+qw/2,Hw=ig.position.y+K0/2;requestAnimationFrame(()=>{aa(J0,Hw,{zoom:1.15,duration:700})})}jf(Vm),eg?.openForm&&xu(Vm)}catch(vv){console.error("Error getting flows for agent:",vv);const k1=ig.width||0,qw=ig.height||0,K0=ig.position.x+k1/2,J0=ig.position.y+qw/2;requestAnimationFrame(()=>{aa(K0,J0,{zoom:1.15,duration:700})})}else if(ig.type==="relationship"){const qw=hl().filter(Hw=>Hw.source===Vm||Hw.target===Vm).flatMap(Hw=>[Hw.source,Hw.target]),J0=Array.from(new Set([...qw,Vm])).map(Hw=>({id:Hw}));if(J0.length>1)requestAnimationFrame(()=>{ca({nodes:J0,duration:1200,padding:.2})});else{const Hw=ig.width||0,O1=ig.height||0,Y0=ig.position.x+Hw/2,G0=ig.position.y+O1/2;requestAnimationFrame(()=>{aa(Y0,G0,{zoom:1.15,duration:700})})}}else if(ig.type==="decision"){const vv=ig.width||0,k1=ig.height||0,qw=ig.position.x+vv/2,K0=ig.position.y+k1/2;requestAnimationFrame(()=>{aa(qw,K0,{zoom:1.15,duration:700})}),eg?.openForm&&(ff(Vm),xu(null))}else if(ig.type==="decisionNode"){const vv=ig.width||0,k1=ig.height||0,qw=ig.position.x+vv/2,K0=ig.position.y+k1/2;if(requestAnimationFrame(()=>{aa(qw,K0,{zoom:1.15,duration:700})}),eg?.openForm){const J0=Vm.replace("decision-node-","");ff(J0),xu(null)}}else{const vv=ig.width||0,k1=ig.height||0,qw=ig.position.x+vv/2,K0=ig.position.y+k1/2;requestAnimationFrame(()=>{aa(qw,K0,{zoom:1.15,duration:700})})}tg&&tg()}},restoreInitialViewport:Vm=>{const eg=Vm||{x:100,y:50,zoom:.6};requestAnimationFrame(()=>{typeof Sa=="function"?Sa(eg,{duration:700}):aa(eg.x,eg.y,{zoom:eg.zoom,duration:700})}),wc(null)}}},useSaveUISpec=()=>{const la=Fdt(),{teamName:aa}=useParams(),ca=useAppStore(pl=>pl.user),ua=ca.GitHub.Token,Sa=ca.GitHub.Username;return{saveUISpec:(pl,ml)=>{if(!aa)throw new Error("Team name is required to save UI spec");la(pl),saveUISpecToGit(aa,JSON.stringify(pl,null,2),ml,Sa,ua)}}},useAgent=()=>{const{fitView:la}=useReactFlow(),{incrementModuleDbChangeCount:aa,setSelectedAgentId:ca}=useAppStore(),{zoomHandler:ua}=useZoomHandler(),{teamName:Sa,moduleName:hl}=useParams(),pl=useAppStore(bY=>bY.user),ml=pl.GitHub.Token,gl=pl.GitHub.Username,wc=Un(),{saveUISpec:xu}=useSaveUISpec(),ff=()=>{if(!Sa)throw new Error("teamName is undefined");if(!hl)throw new Error("moduleName is undefined");return{teamName:Sa,moduleName:hl,githubToken:ml,githubUsername:gl}},jf=bY=>{const Lhe=ff(),Dhe=fetchModule$2(Lhe.moduleName),kdt=Dhe.getAgent(bY);if(!kdt)throw new Error(`Agent ${bY} not found`);return{module:Dhe,agent:kdt,moduleName:Lhe.moduleName}},Uf=async bY=>{const{teamName:Lhe,moduleName:Dhe,githubToken:kdt,githubUsername:eht}=ff(),oht=fetchModule$2(Dhe).toString();aa(),await saveModuleToGit(Lhe,Dhe,oht,bY,eht,kdt)},rp=()=>{requestAnimationFrame(()=>{la()})};return{addAgent:async bY=>{const Lhe=ff(),Dhe=fetchModule$2(Lhe.moduleName),kdt=new Agent$2(bY,Dhe.name);if(Dhe.addAgent(kdt),Uf(`Add Agent ${bY}`),wc&&xu)try{const eht=`${hl}/${bY}`,oht=repopulateUISchemaForNewAgent(wc,eht);xu(oht,`Update UI schema for new agent ${bY}`)}catch(eht){console.error("Failed to repopulate UI schema for new agent:",eht)}setTimeout(()=>{ca(bY)},50),setTimeout(()=>{ua(bY,{openForm:!1})},500),rp()},removeAgent:async bY=>{const Lhe=ff();if(fetchModule$2(Lhe.moduleName).removeAgent(bY),Uf(`Remove Agent ${bY}`),wc&&xu)try{const kdt=`${hl}/${bY}`,eht=repopulateUISchemaAfterAgentDeletion(wc,kdt);xu(eht,`Update UI schema after deleting agent ${bY}`)}catch(kdt){console.error("[useAgent] Failed to repopulate UI schema after agent deletion:",kdt)}rp()},getAgents:()=>{const bY=ff();try{const Lhe=fetchModule$2(bY.moduleName);return Lhe?Lhe.getAgentNames():[]}catch(Lhe){return console.error("Failed to get agents:",Lhe),[]}},setAgentInstruction:async(bY,Lhe)=>{ff();const{agent:Dhe}=jf(bY);if(Lhe.length>0){const kdt=e$b(Lhe);Dhe.setInstruction(kdt)}else Dhe.removeInstruction();await Uf(`Set Instruction for Agent ${bY}`)},setAgentLLM:async(bY,Lhe)=>{ff();const{agent:Dhe}=jf(bY);Lhe.length>0?Dhe.setLLM(Lhe):Dhe.removeLLM(),await Uf(`Set LLM for Agent ${bY}`)},setAgentTools:async(bY,Lhe)=>{ff(),console.log("setAgentTools",bY,Lhe);const{agent:Dhe}=jf(bY);Lhe.length>0?Dhe.setTools(Lhe):Dhe.removeTools(),await Uf(`Set Tools for Agent ${bY}`)},setAgentIntegration:async(bY,Lhe)=>{ff();const{agent:Dhe}=jf(bY);Lhe.length>0?Dhe.attributes.set("integration",Lhe):Dhe.attributes.delete("integration"),await Uf(`Set Integration for Agent ${bY}`)},getAgent:bY=>{const Lhe=ff(),Dhe=fetchModule$2(Lhe.moduleName);if(!Dhe)throw new Error("Module not found");return Dhe.getAgent(bY)},getAgentDirectives:bY=>{const{module:Lhe}=jf(bY);return Lhe.getAllDirectives().filter(Dhe=>Dhe.name.startsWith(`${bY}.`))},getAgentScenarios:bY=>{const{module:Lhe}=jf(bY);return Lhe.getAllScenarios().filter(Dhe=>Dhe.name.startsWith(`${bY}.`))},getAgentGlossary:bY=>{const{module:Lhe}=jf(bY);return Lhe.getAllGlossaryEntries().filter(Dhe=>Dhe.name.startsWith(`${bY}.`))},getAgentFlows:bY=>{const{module:Lhe}=jf(bY);return Lhe.getAllFlows().filter(Dhe=>Dhe.name.startsWith(`${bY}.`))},setAgentRole:async(bY,Lhe)=>{ff();const{agent:Dhe}=jf(bY);if(Lhe.length>0){const kdt=e$b(Lhe);Dhe.attributes.set("role",kdt)}else Dhe.removeAttribute("role");await Uf(`Set Role for Agent ${bY}`)},setAgentResponseSchema:async(bY,Lhe)=>{ff();const{agent:Dhe}=jf(bY);Lhe.length>0?Dhe.setResponseSchema(Lhe):(console.log("removeAgentResponseSchema",Dhe.getAgentFqName()),removeAgentResponseSchema$1(Dhe.getAgentFqName())),await Uf(`Set Response Schema for Agent ${bY}`)},removeAgentDirective:async bY=>{ff();const{module:Lhe}=jf(bY.split(".")[0]);Lhe.removeDirective(bY),await Uf(`Remove directive ${bY}`)},addAgentDirective:async bY=>{ff();const{module:Lhe}=jf(bY.split(".")[0]);Lhe.addDirective(bY,newAgentDirectiveFromIf(new IfPattern$1)),await Uf(`Add directive ${bY}`)},updateAgentDirective:async(bY,Lhe,Dhe)=>{ff();const{module:kdt}=jf(bY.split(".")[0]);kdt.removeDirective(bY);const eht=e$b(Lhe),oht=e$b(Dhe),iht=new IfPattern$1(LiteralPattern$1.String(eht)).addPattern(LiteralPattern$1.String(oht));kdt.addDirective(bY,newAgentDirectiveFromIf(iht)),await Uf(`Update directive ${bY}`)},removeAgentScenario:async bY=>{ff();const{module:Lhe}=jf(bY.split(".")[0]);Lhe.removeScenario(bY),await Uf(`Remove scenario ${bY}`)},removeAgentGlossary:async bY=>{ff();const{module:Lhe}=jf(bY.split(".")[0]);Lhe.removeGlossaryEntry(bY),await Uf(`Remove glossary ${bY}`)},addAgentScenario:async bY=>{ff();const{module:Lhe}=jf(bY.split(".")[0]);Lhe.addScenario(bY,newAgentScenarioFromIf(new IfPattern$1)),await Uf(`Add scenario ${bY}`)},updateAgentScenario:async(bY,Lhe,Dhe)=>{ff();const{module:kdt}=jf(bY.split(".")[0]);kdt.removeScenario(bY);const eht=e$b(Lhe),oht=new IfPattern$1(LiteralPattern$1.String(eht)).addPattern(LiteralPattern$1.Id(Dhe));kdt.addScenario(bY,newAgentScenarioFromIf(oht)),await Uf(`Update scenario ${bY}`)},addAgentGlossaryEntry:async(bY,Lhe,Dhe)=>{ff();const{module:kdt}=jf(bY.split(".")[0]),eht=e$b(Lhe),oht=Dhe?e$b(Dhe):"";kdt.addGlossaryEntry(bY,{name:oht,meaning:eht,synonyms:[],internal:!1}),await Uf(`Add glossary ${bY}`)},updateAgentGlossaryEntry:async(bY,Lhe,Dhe,kdt)=>{ff();const{module:eht}=jf(bY.split(".")[0]);eht.removeGlossaryEntry(bY);const oht=e$b(Lhe),iht=kdt?e$b(kdt):"",Uhe=Array.isArray(Dhe)?Dhe.map(Bhe=>e$b(Bhe)).join(", "):e$b(Dhe);eht.addGlossaryEntry(bY,{name:iht,meaning:oht,synonyms:Uhe,internal:!1}),await Uf(`Update glossary ${bY}`)},setAgentPublic:async(bY,Lhe)=>{ff();const{agent:Dhe,moduleName:kdt}=jf(bY);if(Dhe.setPublic(Lhe),await Uf(`Set Public status for Agent ${bY}`),wc&&xu)try{const eht=`${kdt}/${bY}`,oht=repopulateUISchemaForNewAgent(wc,eht);xu(oht,`Update UI schema - agent ${bY} ${Lhe?"made public":"made private"}`)}catch(eht){console.error("Failed to repopulate UI schema after agent public status change:",eht)}},getAgentPublic:bY=>{const{agent:Lhe}=jf(bY);return Lhe.isPublic()}}};function r$e(la){var aa,ca,ua="";if(typeof la=="string"||typeof la=="number")ua+=la;else if(typeof la=="object")if(Array.isArray(la)){var Sa=la.length;for(aa=0;aa<Sa;aa++)la[aa]&&(ca=r$e(la[aa]))&&(ua&&(ua+=" "),ua+=ca)}else for(ca in la)la[ca]&&(ua&&(ua+=" "),ua+=ca);return ua}function clsx(){for(var la,aa,ca=0,ua="",Sa=arguments.length;ca<Sa;ca++)(la=arguments[ca])&&(aa=r$e(la))&&(ua&&(ua+=" "),ua+=aa);return ua}function Mt$3(la){if(typeof document>"u")return;let aa=document.head||document.getElementsByTagName("head")[0],ca=document.createElement("style");ca.type="text/css",aa.firstChild?aa.insertBefore(ca,aa.firstChild):aa.appendChild(ca),ca.styleSheet?ca.styleSheet.cssText=la:ca.appendChild(document.createTextNode(la))}Mt$3(`:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
19413
- `);var L$7=la=>typeof la=="number"&&!isNaN(la),N$7=la=>typeof la=="string",P$a=la=>typeof la=="function",mt$2=la=>N$7(la)||L$7(la),B$6=la=>N$7(la)||P$a(la)?la:null,pt$2=(la,aa)=>la===!1||L$7(la)&&la>0?la:aa,z$6=la=>reactExports.isValidElement(la)||N$7(la)||P$a(la)||L$7(la);function Z$5(la,aa,ca=300){let{scrollHeight:ua,style:Sa}=la;requestAnimationFrame(()=>{Sa.minHeight="initial",Sa.height=ua+"px",Sa.transition=`all ${ca}ms`,requestAnimationFrame(()=>{Sa.height="0",Sa.padding="0",Sa.margin="0",setTimeout(aa,ca)})})}function $$6({enter:la,exit:aa,appendPosition:ca=!1,collapse:ua=!0,collapseDuration:Sa=300}){return function({children:hl,position:pl,preventExitTransition:ml,done:gl,nodeRef:wc,isIn:xu,playToast:ff}){let jf=ca?`${la}--${pl}`:la,Uf=ca?`${aa}--${pl}`:aa,rp=reactExports.useRef(0);return reactExports.useLayoutEffect(()=>{let np=wc.current,qm=jf.split(" "),Vm=eg=>{eg.target===wc.current&&(ff(),np.removeEventListener("animationend",Vm),np.removeEventListener("animationcancel",Vm),rp.current===0&&eg.type!=="animationcancel"&&np.classList.remove(...qm))};np.classList.add(...qm),np.addEventListener("animationend",Vm),np.addEventListener("animationcancel",Vm)},[]),reactExports.useEffect(()=>{let np=wc.current,qm=()=>{np.removeEventListener("animationend",qm),ua?Z$5(np,gl,Sa):gl()};xu||(ml?qm():(rp.current=1,np.className+=` ${Uf}`,np.addEventListener("animationend",qm)))},[xu]),React.createElement(React.Fragment,null,hl)}}function J$6(la,aa){return{content:tt$2(la.content,la.props),containerId:la.props.containerId,id:la.props.toastId,theme:la.props.theme,type:la.props.type,data:la.props.data||{},isLoading:la.props.isLoading,icon:la.props.icon,reason:la.removalReason,status:aa}}function tt$2(la,aa,ca=!1){return reactExports.isValidElement(la)&&!N$7(la.type)?reactExports.cloneElement(la,{closeToast:aa.closeToast,toastProps:aa,data:aa.data,isPaused:ca}):P$a(la)?la({closeToast:aa.closeToast,toastProps:aa,data:aa.data,isPaused:ca}):la}function yt$2({closeToast:la,theme:aa,ariaLabel:ca="close"}){return React.createElement("button",{className:`Toastify__close-button Toastify__close-button--${aa}`,type:"button",onClick:ua=>{ua.stopPropagation(),la(!0)},"aria-label":ca},React.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},React.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function gt$3({delay:la,isRunning:aa,closeToast:ca,type:ua="default",hide:Sa,className:hl,controlledProgress:pl,progress:ml,rtl:gl,isIn:wc,theme:xu}){let ff=Sa||pl&&ml===0,jf={animationDuration:`${la}ms`,animationPlayState:aa?"running":"paused"};pl&&(jf.transform=`scaleX(${ml})`);let Uf=clsx("Toastify__progress-bar",pl?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${xu}`,`Toastify__progress-bar--${ua}`,{"Toastify__progress-bar--rtl":gl}),rp=P$a(hl)?hl({rtl:gl,type:ua,defaultClassName:Uf}):clsx(Uf,hl),np={[pl&&ml>=1?"onTransitionEnd":"onAnimationEnd"]:pl&&ml<1?null:()=>{wc&&ca()}};return React.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":ff},React.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${xu} Toastify__progress-bar--${ua}`}),React.createElement("div",{role:"progressbar","aria-hidden":ff?"true":"false","aria-label":"notification timer",className:rp,style:jf,...np}))}var Xt$1=1,at$2=()=>`${Xt$1++}`;function _t$2(la,aa,ca){let ua=1,Sa=0,hl=[],pl=[],ml=aa,gl=new Map,wc=new Set,xu=eg=>(wc.add(eg),()=>wc.delete(eg)),ff=()=>{pl=Array.from(gl.values()),wc.forEach(eg=>eg())},jf=({containerId:eg,toastId:tg,updateId:rg})=>{let ig=eg?eg!==la:la!==1,vv=gl.has(tg)&&rg==null;return ig||vv},Uf=(eg,tg)=>{gl.forEach(rg=>{var ig;(tg==null||tg===rg.props.toastId)&&((ig=rg.toggle)==null||ig.call(rg,eg))})},rp=eg=>{var tg,rg;(rg=(tg=eg.props)==null?void 0:tg.onClose)==null||rg.call(tg,eg.removalReason),eg.isActive=!1},np=eg=>{if(eg==null)gl.forEach(rp);else{let tg=gl.get(eg);tg&&rp(tg)}ff()},qm=()=>{Sa-=hl.length,hl=[]},Vm=eg=>{var tg,rg;let{toastId:ig,updateId:vv}=eg.props,k1=vv==null;eg.staleId&&gl.delete(eg.staleId),eg.isActive=!0,gl.set(ig,eg),ff(),ca(J$6(eg,k1?"added":"updated")),k1&&((rg=(tg=eg.props).onOpen)==null||rg.call(tg))};return{id:la,props:ml,observe:xu,toggle:Uf,removeToast:np,toasts:gl,clearQueue:qm,buildToast:(eg,tg)=>{if(jf(tg))return;let{toastId:rg,updateId:ig,data:vv,staleId:k1,delay:qw}=tg,K0=ig==null;K0&&Sa++;let J0={...ml,style:ml.toastStyle,key:ua++,...Object.fromEntries(Object.entries(tg).filter(([O1,Y0])=>Y0!=null)),toastId:rg,updateId:ig,data:vv,isIn:!1,className:B$6(tg.className||ml.toastClassName),progressClassName:B$6(tg.progressClassName||ml.progressClassName),autoClose:tg.isLoading?!1:pt$2(tg.autoClose,ml.autoClose),closeToast(O1){gl.get(rg).removalReason=O1,np(rg)},deleteToast(){let O1=gl.get(rg);if(O1!=null){if(ca(J$6(O1,"removed")),gl.delete(rg),Sa--,Sa<0&&(Sa=0),hl.length>0){Vm(hl.shift());return}ff()}}};J0.closeButton=ml.closeButton,tg.closeButton===!1||z$6(tg.closeButton)?J0.closeButton=tg.closeButton:tg.closeButton===!0&&(J0.closeButton=z$6(ml.closeButton)?ml.closeButton:!0);let Hw={content:eg,props:J0,staleId:k1};ml.limit&&ml.limit>0&&Sa>ml.limit&&K0?hl.push(Hw):L$7(qw)?setTimeout(()=>{Vm(Hw)},qw):Vm(Hw)},setProps(eg){ml=eg},setToggle:(eg,tg)=>{let rg=gl.get(eg);rg&&(rg.toggle=tg)},isToastActive:eg=>{var tg;return(tg=gl.get(eg))==null?void 0:tg.isActive},getSnapshot:()=>pl}}var I$9=new Map,F$9=[],st$2=new Set,Vt$1=la=>st$2.forEach(aa=>aa(la)),bt$1=()=>I$9.size>0;function Qt$1(){F$9.forEach(la=>nt$2(la.content,la.options)),F$9=[]}var vt$2=(la,{containerId:aa})=>{var ca;return(ca=I$9.get(aa||1))==null?void 0:ca.toasts.get(la)};function X$5(la,aa){var ca;if(aa)return!!((ca=I$9.get(aa))!=null&&ca.isToastActive(la));let ua=!1;return I$9.forEach(Sa=>{Sa.isToastActive(la)&&(ua=!0)}),ua}function ht$2(la){if(!bt$1()){F$9=F$9.filter(aa=>la!=null&&aa.options.toastId!==la);return}if(la==null||mt$2(la))I$9.forEach(aa=>{aa.removeToast(la)});else if(la&&("containerId"in la||"id"in la)){let aa=I$9.get(la.containerId);aa?aa.removeToast(la.id):I$9.forEach(ca=>{ca.removeToast(la.id)})}}var Ct$2=(la={})=>{I$9.forEach(aa=>{aa.props.limit&&(!la.containerId||aa.id===la.containerId)&&aa.clearQueue()})};function nt$2(la,aa){z$6(la)&&(bt$1()||F$9.push({content:la,options:aa}),I$9.forEach(ca=>{ca.buildToast(la,aa)}))}function xt$1(la){var aa;(aa=I$9.get(la.containerId||1))==null||aa.setToggle(la.id,la.fn)}function rt$2(la,aa){I$9.forEach(ca=>{(aa==null||!(aa!=null&&aa.containerId)||aa?.containerId===ca.id)&&ca.toggle(la,aa?.id)})}function Et$3(la){let aa=la.containerId||1;return{subscribe(ca){let ua=_t$2(aa,la,Vt$1);I$9.set(aa,ua);let Sa=ua.observe(ca);return Qt$1(),()=>{Sa(),I$9.delete(aa)}},setProps(ca){var ua;(ua=I$9.get(aa))==null||ua.setProps(ca)},getSnapshot(){var ca;return(ca=I$9.get(aa))==null?void 0:ca.getSnapshot()}}}function Pt$3(la){return st$2.add(la),()=>{st$2.delete(la)}}function Wt$1(la){return la&&(N$7(la.toastId)||L$7(la.toastId))?la.toastId:at$2()}function U$5(la,aa){return nt$2(la,aa),aa.toastId}function V$8(la,aa){return{...aa,type:aa&&aa.type||la,toastId:Wt$1(aa)}}function Q$6(la){return(aa,ca)=>U$5(aa,V$8(la,ca))}function y$b(la,aa){return U$5(la,V$8("default",aa))}y$b.loading=(la,aa)=>U$5(la,V$8("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...aa}));function Gt$1(la,{pending:aa,error:ca,success:ua},Sa){let hl;aa&&(hl=N$7(aa)?y$b.loading(aa,Sa):y$b.loading(aa.render,{...Sa,...aa}));let pl={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},ml=(wc,xu,ff)=>{if(xu==null){y$b.dismiss(hl);return}let jf={type:wc,...pl,...Sa,data:ff},Uf=N$7(xu)?{render:xu}:xu;return hl?y$b.update(hl,{...jf,...Uf}):y$b(Uf.render,{...jf,...Uf}),ff},gl=P$a(la)?la():la;return gl.then(wc=>ml("success",ua,wc)).catch(wc=>ml("error",ca,wc)),gl}y$b.promise=Gt$1;y$b.success=Q$6("success");y$b.info=Q$6("info");y$b.error=Q$6("error");y$b.warning=Q$6("warning");y$b.warn=y$b.warning;y$b.dark=(la,aa)=>U$5(la,V$8("default",{theme:"dark",...aa}));function qt$1(la){ht$2(la)}y$b.dismiss=qt$1;y$b.clearWaitingQueue=Ct$2;y$b.isActive=X$5;y$b.update=(la,aa={})=>{let ca=vt$2(la,aa);if(ca){let{props:ua,content:Sa}=ca,hl={delay:100,...ua,...aa,toastId:aa.toastId||la,updateId:at$2()};hl.toastId!==la&&(hl.staleId=la);let pl=hl.render||Sa;delete hl.render,U$5(pl,hl)}};y$b.done=la=>{y$b.update(la,{progress:1})};y$b.onChange=Pt$3;y$b.play=la=>rt$2(!0,la);y$b.pause=la=>rt$2(!1,la);function It$2(la){var aa;let{subscribe:ca,getSnapshot:ua,setProps:Sa}=reactExports.useRef(Et$3(la)).current;Sa(la);let hl=(aa=reactExports.useSyncExternalStore(ca,ua,ua))==null?void 0:aa.slice();function pl(ml){if(!hl)return[];let gl=new Map;return la.newestOnTop&&hl.reverse(),hl.forEach(wc=>{let{position:xu}=wc.props;gl.has(xu)||gl.set(xu,[]),gl.get(xu).push(wc)}),Array.from(gl,wc=>ml(wc[0],wc[1]))}return{getToastToRender:pl,isToastActive:X$5,count:hl?.length}}function At$2(la){let[aa,ca]=reactExports.useState(!1),[ua,Sa]=reactExports.useState(!1),hl=reactExports.useRef(null),pl=reactExports.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:ml,pauseOnHover:gl,closeToast:wc,onClick:xu,closeOnClick:ff}=la;xt$1({id:la.toastId,containerId:la.containerId,fn:ca}),reactExports.useEffect(()=>{if(la.pauseOnFocusLoss)return jf(),()=>{Uf()}},[la.pauseOnFocusLoss]);function jf(){document.hasFocus()||Vm(),window.addEventListener("focus",qm),window.addEventListener("blur",Vm)}function Uf(){window.removeEventListener("focus",qm),window.removeEventListener("blur",Vm)}function rp(k1){if(la.draggable===!0||la.draggable===k1.pointerType){eg();let qw=hl.current;pl.canCloseOnClick=!0,pl.canDrag=!0,qw.style.transition="none",la.draggableDirection==="x"?(pl.start=k1.clientX,pl.removalDistance=qw.offsetWidth*(la.draggablePercent/100)):(pl.start=k1.clientY,pl.removalDistance=qw.offsetHeight*(la.draggablePercent===80?la.draggablePercent*1.5:la.draggablePercent)/100)}}function np(k1){let{top:qw,bottom:K0,left:J0,right:Hw}=hl.current.getBoundingClientRect();k1.nativeEvent.type!=="touchend"&&la.pauseOnHover&&k1.clientX>=J0&&k1.clientX<=Hw&&k1.clientY>=qw&&k1.clientY<=K0?Vm():qm()}function qm(){ca(!0)}function Vm(){ca(!1)}function eg(){pl.didMove=!1,document.addEventListener("pointermove",rg),document.addEventListener("pointerup",ig)}function tg(){document.removeEventListener("pointermove",rg),document.removeEventListener("pointerup",ig)}function rg(k1){let qw=hl.current;if(pl.canDrag&&qw){pl.didMove=!0,aa&&Vm(),la.draggableDirection==="x"?pl.delta=k1.clientX-pl.start:pl.delta=k1.clientY-pl.start,pl.start!==k1.clientX&&(pl.canCloseOnClick=!1);let K0=la.draggableDirection==="x"?`${pl.delta}px, var(--y)`:`0, calc(${pl.delta}px + var(--y))`;qw.style.transform=`translate3d(${K0},0)`,qw.style.opacity=`${1-Math.abs(pl.delta/pl.removalDistance)}`}}function ig(){tg();let k1=hl.current;if(pl.canDrag&&pl.didMove&&k1){if(pl.canDrag=!1,Math.abs(pl.delta)>pl.removalDistance){Sa(!0),la.closeToast(!0),la.collapseAll();return}k1.style.transition="transform 0.2s, opacity 0.2s",k1.style.removeProperty("transform"),k1.style.removeProperty("opacity")}}let vv={onPointerDown:rp,onPointerUp:np};return ml&&gl&&(vv.onMouseEnter=Vm,la.stacked||(vv.onMouseLeave=qm)),ff&&(vv.onClick=k1=>{xu&&xu(k1),pl.canCloseOnClick&&wc(!0)}),{playToast:qm,pauseToast:Vm,isRunning:aa,preventExitTransition:ua,toastRef:hl,eventHandlers:vv}}var Ot$1=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect,G$6=({theme:la,type:aa,isLoading:ca,...ua})=>React.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:la==="colored"?"currentColor":`var(--toastify-icon-color-${aa})`,...ua});function ao$1(la){return React.createElement(G$6,{...la},React.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))}function so$1(la){return React.createElement(G$6,{...la},React.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))}function no$1(la){return React.createElement(G$6,{...la},React.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))}function ro$1(la){return React.createElement(G$6,{...la},React.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))}function io$1(){return React.createElement("div",{className:"Toastify__spinner"})}var W$5={info:so$1,warning:ao$1,success:no$1,error:ro$1,spinner:io$1},lo$2=la=>la in W$5;function Nt$1({theme:la,type:aa,isLoading:ca,icon:ua}){let Sa=null,hl={theme:la,type:aa};return ua===!1||(P$a(ua)?Sa=ua({...hl,isLoading:ca}):reactExports.isValidElement(ua)?Sa=reactExports.cloneElement(ua,hl):ca?Sa=W$5.spinner():lo$2(aa)&&(Sa=W$5[aa](hl))),Sa}var wt$2=la=>{let{isRunning:aa,preventExitTransition:ca,toastRef:ua,eventHandlers:Sa,playToast:hl}=At$2(la),{closeButton:pl,children:ml,autoClose:gl,onClick:wc,type:xu,hideProgressBar:ff,closeToast:jf,transition:Uf,position:rp,className:np,style:qm,progressClassName:Vm,updateId:eg,role:tg,progress:rg,rtl:ig,toastId:vv,deleteToast:k1,isIn:qw,isLoading:K0,closeOnClick:J0,theme:Hw,ariaLabel:O1}=la,Y0=clsx("Toastify__toast",`Toastify__toast-theme--${Hw}`,`Toastify__toast--${xu}`,{"Toastify__toast--rtl":ig},{"Toastify__toast--close-on-click":J0}),G0=P$a(np)?np({rtl:ig,position:rp,type:xu,defaultClassName:Y0}):clsx(Y0,np),X0=Nt$1(la),d_=!!rg||!gl,f_={closeToast:jf,type:xu,theme:Hw},zN=null;return pl===!1||(P$a(pl)?zN=pl(f_):reactExports.isValidElement(pl)?zN=reactExports.cloneElement(pl,f_):zN=yt$2(f_)),React.createElement(Uf,{isIn:qw,done:k1,position:rp,preventExitTransition:ca,nodeRef:ua,playToast:hl},React.createElement("div",{id:vv,tabIndex:0,onClick:wc,"data-in":qw,className:G0,...Sa,style:qm,ref:ua,...qw&&{role:tg,"aria-label":O1}},X0!=null&&React.createElement("div",{className:clsx("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!K0})},X0),tt$2(ml,la,!aa),zN,!la.customProgressBar&&React.createElement(gt$3,{...eg&&!d_?{key:`p-${eg}`}:{},rtl:ig,theme:Hw,delay:gl,isRunning:aa,isIn:qw,closeToast:jf,hide:ff,type:xu,className:Vm,controlledProgress:d_,progress:rg||0})))},K$7=(la,aa=!1)=>({enter:`Toastify--animate Toastify__${la}-enter`,exit:`Toastify--animate Toastify__${la}-exit`,appendPosition:aa}),lt$2=$$6(K$7("bounce",!0)),_o$1={position:"top-right",transition:lt$2,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:la=>la.altKey&&la.code==="KeyT"};function Lt$1(la){let aa={..._o$1,...la},ca=la.stacked,[ua,Sa]=reactExports.useState(!0),hl=reactExports.useRef(null),{getToastToRender:pl,isToastActive:ml,count:gl}=It$2(aa),{className:wc,style:xu,rtl:ff,containerId:jf,hotKeys:Uf}=aa;function rp(qm){let Vm=clsx("Toastify__toast-container",`Toastify__toast-container--${qm}`,{"Toastify__toast-container--rtl":ff});return P$a(wc)?wc({position:qm,rtl:ff,defaultClassName:Vm}):clsx(Vm,B$6(wc))}function np(){ca&&(Sa(!0),y$b.play())}return Ot$1(()=>{var qm;if(ca){let Vm=hl.current.querySelectorAll('[data-in="true"]'),eg=12,tg=(qm=aa.position)==null?void 0:qm.includes("top"),rg=0,ig=0;Array.from(Vm).reverse().forEach((vv,k1)=>{let qw=vv;qw.classList.add("Toastify__toast--stacked"),k1>0&&(qw.dataset.collapsed=`${ua}`),qw.dataset.pos||(qw.dataset.pos=tg?"top":"bot");let K0=rg*(ua?.2:1)+(ua?0:eg*k1);qw.style.setProperty("--y",`${tg?K0:K0*-1}px`),qw.style.setProperty("--g",`${eg}`),qw.style.setProperty("--s",`${1-(ua?ig:0)}`),rg+=qw.offsetHeight,ig+=.025})}},[ua,gl,ca]),reactExports.useEffect(()=>{function qm(Vm){var eg;let tg=hl.current;Uf(Vm)&&((eg=tg.querySelector('[tabIndex="0"]'))==null||eg.focus(),Sa(!1),y$b.pause()),Vm.key==="Escape"&&(document.activeElement===tg||tg!=null&&tg.contains(document.activeElement))&&(Sa(!0),y$b.play())}return document.addEventListener("keydown",qm),()=>{document.removeEventListener("keydown",qm)}},[Uf]),React.createElement("section",{ref:hl,className:"Toastify",id:jf,onMouseEnter:()=>{ca&&(Sa(!1),y$b.pause())},onMouseLeave:np,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":aa["aria-label"]},pl((qm,Vm)=>{let eg=Vm.length?{...xu}:{...xu,pointerEvents:"none"};return React.createElement("div",{tabIndex:-1,className:rp(qm),"data-stacked":ca,style:eg,key:`c-${qm}`},Vm.map(({content:tg,props:rg})=>React.createElement(wt$2,{...rg,stacked:ca,collapseAll:np,isIn:ml(rg.toastId,rg.containerId),key:`t-${rg.key}`},tg)))}))}const RECENTLY_VISITED_TEAMS_KEY="recently-visited-teams",MAX_RECENTLY_VISITED=10;function transformSimpleTeamToTeam(la){return{Branch:la.branch||"",Config:la.config||{},CreatedAt:la.createdAt||"",Dependencies:la.dependencies||{FractlModels:[],ClojureLibraries:[]},Description:la.description||"",EntityType:la.entityType||"",GitHubOrg:la.gitHubOrg||"",GitHubRepo:la.gitHubRepo||"",GithubUrl:la.githubUrl||"",Id:la.id||"",__Id__:la.__Id__||la.id||"",LastUpdatedAt:la.lastUpdatedAt||"",Name:la.name||"",Owner:la.owner||"",Tags:la.tags||null,Type:la.type||"",Version:la.version||"",isEditable:la.isEditable||!1,isPin:la.isPin==="true"||la.isPin===!0}}function getRecentlyVisitedTeams(){try{const la=localStorage.getItem(RECENTLY_VISITED_TEAMS_KEY);return la?JSON.parse(la):[]}catch{return[]}}function addRecentlyVisitedTeam(la){try{const ca=getRecentlyVisitedTeams().filter(Sa=>Sa!==la),ua=[la,...ca].slice(0,MAX_RECENTLY_VISITED);localStorage.setItem(RECENTLY_VISITED_TEAMS_KEY,JSON.stringify(ua))}catch(aa){console.warn("Failed to save recently visited team:",aa)}}function filterAndSortTeams(la,aa){return Object.values(la).filter(ua=>ua.Name!==void 0).filter(ua=>(ua.Name??"").toLowerCase().includes(aa.toLowerCase())).sort((ua,Sa)=>{const hl=Number(Sa.isPin??!1)-Number(ua.isPin??!1);if(hl!==0)return hl;const pl=(ua.Name??"").toLowerCase(),ml=(Sa.Name??"").toLowerCase();return pl.localeCompare(ml)})}function getIconsTree(la,aa){const ca=la.icons,ua=la.aliases||Object.create(null),Sa=Object.create(null);function hl(pl){if(ca[pl])return Sa[pl]=[];if(!(pl in Sa)){Sa[pl]=null;const ml=ua[pl]&&ua[pl].parent,gl=ml&&hl(ml);gl&&(Sa[pl]=[ml].concat(gl))}return Sa[pl]}return Object.keys(ca).concat(Object.keys(ua)).forEach(hl),Sa}const defaultIconDimensions=Object.freeze({left:0,top:0,width:16,height:16}),defaultIconTransformations=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),defaultIconProps=Object.freeze({...defaultIconDimensions,...defaultIconTransformations}),defaultExtendedIconProps=Object.freeze({...defaultIconProps,body:"",hidden:!1});function mergeIconTransformations(la,aa){const ca={};!la.hFlip!=!aa.hFlip&&(ca.hFlip=!0),!la.vFlip!=!aa.vFlip&&(ca.vFlip=!0);const ua=((la.rotate||0)+(aa.rotate||0))%4;return ua&&(ca.rotate=ua),ca}function mergeIconData(la,aa){const ca=mergeIconTransformations(la,aa);for(const ua in defaultExtendedIconProps)ua in defaultIconTransformations?ua in la&&!(ua in ca)&&(ca[ua]=defaultIconTransformations[ua]):ua in aa?ca[ua]=aa[ua]:ua in la&&(ca[ua]=la[ua]);return ca}function internalGetIconData(la,aa,ca){const ua=la.icons,Sa=la.aliases||Object.create(null);let hl={};function pl(ml){hl=mergeIconData(ua[ml]||Sa[ml],hl)}return pl(aa),ca.forEach(pl),mergeIconData(la,hl)}function parseIconSet(la,aa){const ca=[];if(typeof la!="object"||typeof la.icons!="object")return ca;la.not_found instanceof Array&&la.not_found.forEach(Sa=>{aa(Sa,null),ca.push(Sa)});const ua=getIconsTree(la);for(const Sa in ua){const hl=ua[Sa];hl&&(aa(Sa,internalGetIconData(la,Sa,hl)),ca.push(Sa))}return ca}const optionalPropertyDefaults={provider:"",aliases:{},not_found:{},...defaultIconDimensions};function checkOptionalProps(la,aa){for(const ca in aa)if(ca in la&&typeof la[ca]!=typeof aa[ca])return!1;return!0}function quicklyValidateIconSet(la){if(typeof la!="object"||la===null)return null;const aa=la;if(typeof aa.prefix!="string"||!la.icons||typeof la.icons!="object"||!checkOptionalProps(la,optionalPropertyDefaults))return null;const ca=aa.icons;for(const Sa in ca){const hl=ca[Sa];if(!Sa||typeof hl.body!="string"||!checkOptionalProps(hl,defaultExtendedIconProps))return null}const ua=aa.aliases||Object.create(null);for(const Sa in ua){const hl=ua[Sa],pl=hl.parent;if(!Sa||typeof pl!="string"||!ca[pl]&&!ua[pl]||!checkOptionalProps(hl,defaultExtendedIconProps))return null}return aa}const dataStorage=Object.create(null);function newStorage(la,aa){return{provider:la,prefix:aa,icons:Object.create(null),missing:new Set}}function getStorage(la,aa){const ca=dataStorage[la]||(dataStorage[la]=Object.create(null));return ca[aa]||(ca[aa]=newStorage(la,aa))}function addIconSet(la,aa){return quicklyValidateIconSet(aa)?parseIconSet(aa,(ca,ua)=>{ua?la.icons[ca]=ua:la.missing.add(ca)}):[]}function addIconToStorage(la,aa,ca){try{if(typeof ca.body=="string")return la.icons[aa]={...ca},!0}catch{}return!1}const matchIconName=/^[a-z0-9]+(-[a-z0-9]+)*$/,stringToIcon=(la,aa,ca,ua="")=>{const Sa=la.split(":");if(la.slice(0,1)==="@"){if(Sa.length<2||Sa.length>3)return null;ua=Sa.shift().slice(1)}if(Sa.length>3||!Sa.length)return null;if(Sa.length>1){const ml=Sa.pop(),gl=Sa.pop(),wc={provider:Sa.length>0?Sa[0]:ua,prefix:gl,name:ml};return aa&&!validateIconName(wc)?null:wc}const hl=Sa[0],pl=hl.split("-");if(pl.length>1){const ml={provider:ua,prefix:pl.shift(),name:pl.join("-")};return aa&&!validateIconName(ml)?null:ml}if(ca&&ua===""){const ml={provider:ua,prefix:"",name:hl};return aa&&!validateIconName(ml,ca)?null:ml}return null},validateIconName=(la,aa)=>la?!!((aa&&la.prefix===""||la.prefix)&&la.name):!1;let simpleNames=!1;function allowSimpleNames(la){return typeof la=="boolean"&&(simpleNames=la),simpleNames}function getIconData(la){const aa=typeof la=="string"?stringToIcon(la,!0,simpleNames):la;if(aa){const ca=getStorage(aa.provider,aa.prefix),ua=aa.name;return ca.icons[ua]||(ca.missing.has(ua)?null:void 0)}}function addIcon(la,aa){const ca=stringToIcon(la,!0,simpleNames);if(!ca)return!1;const ua=getStorage(ca.provider,ca.prefix);return aa?addIconToStorage(ua,ca.name,aa):(ua.missing.add(ca.name),!0)}function addCollection(la,aa){if(typeof la!="object")return!1;if(typeof aa!="string"&&(aa=la.provider||""),simpleNames&&!aa&&!la.prefix){let Sa=!1;return quicklyValidateIconSet(la)&&(la.prefix="",parseIconSet(la,(hl,pl)=>{addIcon(hl,pl)&&(Sa=!0)})),Sa}const ca=la.prefix;if(!validateIconName({prefix:ca,name:"a"}))return!1;const ua=getStorage(aa,ca);return!!addIconSet(ua,la)}const defaultIconSizeCustomisations=Object.freeze({width:null,height:null}),defaultIconCustomisations=Object.freeze({...defaultIconSizeCustomisations,...defaultIconTransformations}),unitsSplit=/(-?[0-9.]*[0-9]+[0-9.]*)/g,unitsTest=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function calculateSize(la,aa,ca){if(aa===1)return la;if(ca=ca||100,typeof la=="number")return Math.ceil(la*aa*ca)/ca;if(typeof la!="string")return la;const ua=la.split(unitsSplit);if(ua===null||!ua.length)return la;const Sa=[];let hl=ua.shift(),pl=unitsTest.test(hl);for(;;){if(pl){const ml=parseFloat(hl);isNaN(ml)?Sa.push(hl):Sa.push(Math.ceil(ml*aa*ca)/ca)}else Sa.push(hl);if(hl=ua.shift(),hl===void 0)return Sa.join("");pl=!pl}}function splitSVGDefs(la,aa="defs"){let ca="";const ua=la.indexOf("<"+aa);for(;ua>=0;){const Sa=la.indexOf(">",ua),hl=la.indexOf("</"+aa);if(Sa===-1||hl===-1)break;const pl=la.indexOf(">",hl);if(pl===-1)break;ca+=la.slice(Sa+1,hl).trim(),la=la.slice(0,ua).trim()+la.slice(pl+1)}return{defs:ca,content:la}}function mergeDefsAndContent(la,aa){return la?"<defs>"+la+"</defs>"+aa:aa}function wrapSVGContent(la,aa,ca){const ua=splitSVGDefs(la);return mergeDefsAndContent(ua.defs,aa+ua.content+ca)}const isUnsetKeyword=la=>la==="unset"||la==="undefined"||la==="none";function iconToSVG(la,aa){const ca={...defaultIconProps,...la},ua={...defaultIconCustomisations,...aa},Sa={left:ca.left,top:ca.top,width:ca.width,height:ca.height};let hl=ca.body;[ca,ua].forEach(np=>{const qm=[],Vm=np.hFlip,eg=np.vFlip;let tg=np.rotate;Vm?eg?tg+=2:(qm.push("translate("+(Sa.width+Sa.left).toString()+" "+(0-Sa.top).toString()+")"),qm.push("scale(-1 1)"),Sa.top=Sa.left=0):eg&&(qm.push("translate("+(0-Sa.left).toString()+" "+(Sa.height+Sa.top).toString()+")"),qm.push("scale(1 -1)"),Sa.top=Sa.left=0);let rg;switch(tg<0&&(tg-=Math.floor(tg/4)*4),tg=tg%4,tg){case 1:rg=Sa.height/2+Sa.top,qm.unshift("rotate(90 "+rg.toString()+" "+rg.toString()+")");break;case 2:qm.unshift("rotate(180 "+(Sa.width/2+Sa.left).toString()+" "+(Sa.height/2+Sa.top).toString()+")");break;case 3:rg=Sa.width/2+Sa.left,qm.unshift("rotate(-90 "+rg.toString()+" "+rg.toString()+")");break}tg%2===1&&(Sa.left!==Sa.top&&(rg=Sa.left,Sa.left=Sa.top,Sa.top=rg),Sa.width!==Sa.height&&(rg=Sa.width,Sa.width=Sa.height,Sa.height=rg)),qm.length&&(hl=wrapSVGContent(hl,'<g transform="'+qm.join(" ")+'">',"</g>"))});const pl=ua.width,ml=ua.height,gl=Sa.width,wc=Sa.height;let xu,ff;pl===null?(ff=ml===null?"1em":ml==="auto"?wc:ml,xu=calculateSize(ff,gl/wc)):(xu=pl==="auto"?gl:pl,ff=ml===null?calculateSize(xu,wc/gl):ml==="auto"?wc:ml);const jf={},Uf=(np,qm)=>{isUnsetKeyword(qm)||(jf[np]=qm.toString())};Uf("width",xu),Uf("height",ff);const rp=[Sa.left,Sa.top,gl,wc];return jf.viewBox=rp.join(" "),{attributes:jf,viewBox:rp,body:hl}}const regex=/\sid="(\S+)"/g,randomPrefix="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let counter=0;function replaceIDs(la,aa=randomPrefix){const ca=[];let ua;for(;ua=regex.exec(la);)ca.push(ua[1]);if(!ca.length)return la;const Sa="suffix"+(Math.random()*16777216|Date.now()).toString(16);return ca.forEach(hl=>{const pl=typeof aa=="function"?aa(hl):aa+(counter++).toString(),ml=hl.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");la=la.replace(new RegExp('([#;"])('+ml+')([")]|\\.[a-z])',"g"),"$1"+pl+Sa+"$3")}),la=la.replace(new RegExp(Sa,"g"),""),la}const storage=Object.create(null);function setAPIModule(la,aa){storage[la]=aa}function getAPIModule(la){return storage[la]||storage[""]}function createAPIConfig(la){let aa;if(typeof la.resources=="string")aa=[la.resources];else if(aa=la.resources,!(aa instanceof Array)||!aa.length)return null;return{resources:aa,path:la.path||"/",maxURL:la.maxURL||500,rotate:la.rotate||750,timeout:la.timeout||5e3,random:la.random===!0,index:la.index||0,dataAfterTimeout:la.dataAfterTimeout!==!1}}const configStorage=Object.create(null),fallBackAPISources=["https://api.simplesvg.com","https://api.unisvg.com"],fallBackAPI=[];for(;fallBackAPISources.length>0;)fallBackAPISources.length===1||Math.random()>.5?fallBackAPI.push(fallBackAPISources.shift()):fallBackAPI.push(fallBackAPISources.pop());configStorage[""]=createAPIConfig({resources:["https://api.iconify.design"].concat(fallBackAPI)});function addAPIProvider(la,aa){const ca=createAPIConfig(aa);return ca===null?!1:(configStorage[la]=ca,!0)}function getAPIConfig(la){return configStorage[la]}const detectFetch=()=>{let la;try{if(la=fetch,typeof la=="function")return la}catch{}};let fetchModule=detectFetch();function calculateMaxLength(la,aa){const ca=getAPIConfig(la);if(!ca)return 0;let ua;if(!ca.maxURL)ua=0;else{let Sa=0;ca.resources.forEach(pl=>{Sa=Math.max(Sa,pl.length)});const hl=aa+".json?icons=";ua=ca.maxURL-Sa-ca.path.length-hl.length}return ua}function shouldAbort(la){return la===404}const prepare=(la,aa,ca)=>{const ua=[],Sa=calculateMaxLength(la,aa),hl="icons";let pl={type:hl,provider:la,prefix:aa,icons:[]},ml=0;return ca.forEach((gl,wc)=>{ml+=gl.length+1,ml>=Sa&&wc>0&&(ua.push(pl),pl={type:hl,provider:la,prefix:aa,icons:[]},ml=gl.length),pl.icons.push(gl)}),ua.push(pl),ua};function getPath$2(la){if(typeof la=="string"){const aa=getAPIConfig(la);if(aa)return aa.path}return"/"}const send=(la,aa,ca)=>{if(!fetchModule){ca("abort",424);return}let ua=getPath$2(aa.provider);switch(aa.type){case"icons":{const hl=aa.prefix,ml=aa.icons.join(","),gl=new URLSearchParams({icons:ml});ua+=hl+".json?"+gl.toString();break}case"custom":{const hl=aa.uri;ua+=hl.slice(0,1)==="/"?hl.slice(1):hl;break}default:ca("abort",400);return}let Sa=503;fetchModule(la+ua).then(hl=>{const pl=hl.status;if(pl!==200){setTimeout(()=>{ca(shouldAbort(pl)?"abort":"next",pl)});return}return Sa=501,hl.json()}).then(hl=>{if(typeof hl!="object"||hl===null){setTimeout(()=>{hl===404?ca("abort",hl):ca("next",Sa)});return}setTimeout(()=>{ca("success",hl)})}).catch(()=>{ca("next",Sa)})},fetchAPIModule={prepare,send};function removeCallback(la,aa){la.forEach(ca=>{const ua=ca.loaderCallbacks;ua&&(ca.loaderCallbacks=ua.filter(Sa=>Sa.id!==aa))})}function updateCallbacks(la){la.pendingCallbacksFlag||(la.pendingCallbacksFlag=!0,setTimeout(()=>{la.pendingCallbacksFlag=!1;const aa=la.loaderCallbacks?la.loaderCallbacks.slice(0):[];if(!aa.length)return;let ca=!1;const ua=la.provider,Sa=la.prefix;aa.forEach(hl=>{const pl=hl.icons,ml=pl.pending.length;pl.pending=pl.pending.filter(gl=>{if(gl.prefix!==Sa)return!0;const wc=gl.name;if(la.icons[wc])pl.loaded.push({provider:ua,prefix:Sa,name:wc});else if(la.missing.has(wc))pl.missing.push({provider:ua,prefix:Sa,name:wc});else return ca=!0,!0;return!1}),pl.pending.length!==ml&&(ca||removeCallback([la],hl.id),hl.callback(pl.loaded.slice(0),pl.missing.slice(0),pl.pending.slice(0),hl.abort))})}))}let idCounter$1=0;function storeCallback(la,aa,ca){const ua=idCounter$1++,Sa=removeCallback.bind(null,ca,ua);if(!aa.pending.length)return Sa;const hl={id:ua,icons:aa,callback:la,abort:Sa};return ca.forEach(pl=>{(pl.loaderCallbacks||(pl.loaderCallbacks=[])).push(hl)}),Sa}function sortIcons(la){const aa={loaded:[],missing:[],pending:[]},ca=Object.create(null);la.sort((Sa,hl)=>Sa.provider!==hl.provider?Sa.provider.localeCompare(hl.provider):Sa.prefix!==hl.prefix?Sa.prefix.localeCompare(hl.prefix):Sa.name.localeCompare(hl.name));let ua={provider:"",prefix:"",name:""};return la.forEach(Sa=>{if(ua.name===Sa.name&&ua.prefix===Sa.prefix&&ua.provider===Sa.provider)return;ua=Sa;const hl=Sa.provider,pl=Sa.prefix,ml=Sa.name,gl=ca[hl]||(ca[hl]=Object.create(null)),wc=gl[pl]||(gl[pl]=getStorage(hl,pl));let xu;ml in wc.icons?xu=aa.loaded:pl===""||wc.missing.has(ml)?xu=aa.missing:xu=aa.pending;const ff={provider:hl,prefix:pl,name:ml};xu.push(ff)}),aa}function listToIcons(la,aa=!0,ca=!1){const ua=[];return la.forEach(Sa=>{const hl=typeof Sa=="string"?stringToIcon(Sa,aa,ca):Sa;hl&&ua.push(hl)}),ua}const defaultConfig={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sendQuery(la,aa,ca,ua){const Sa=la.resources.length,hl=la.random?Math.floor(Math.random()*Sa):la.index;let pl;if(la.random){let vv=la.resources.slice(0);for(pl=[];vv.length>1;){const k1=Math.floor(Math.random()*vv.length);pl.push(vv[k1]),vv=vv.slice(0,k1).concat(vv.slice(k1+1))}pl=pl.concat(vv)}else pl=la.resources.slice(hl).concat(la.resources.slice(0,hl));const ml=Date.now();let gl="pending",wc=0,xu,ff=null,jf=[],Uf=[];typeof ua=="function"&&Uf.push(ua);function rp(){ff&&(clearTimeout(ff),ff=null)}function np(){gl==="pending"&&(gl="aborted"),rp(),jf.forEach(vv=>{vv.status==="pending"&&(vv.status="aborted")}),jf=[]}function qm(vv,k1){k1&&(Uf=[]),typeof vv=="function"&&Uf.push(vv)}function Vm(){return{startTime:ml,payload:aa,status:gl,queriesSent:wc,queriesPending:jf.length,subscribe:qm,abort:np}}function eg(){gl="failed",Uf.forEach(vv=>{vv(void 0,xu)})}function tg(){jf.forEach(vv=>{vv.status==="pending"&&(vv.status="aborted")}),jf=[]}function rg(vv,k1,qw){const K0=k1!=="success";switch(jf=jf.filter(J0=>J0!==vv),gl){case"pending":break;case"failed":if(K0||!la.dataAfterTimeout)return;break;default:return}if(k1==="abort"){xu=qw,eg();return}if(K0){xu=qw,jf.length||(pl.length?ig():eg());return}if(rp(),tg(),!la.random){const J0=la.resources.indexOf(vv.resource);J0!==-1&&J0!==la.index&&(la.index=J0)}gl="completed",Uf.forEach(J0=>{J0(qw)})}function ig(){if(gl!=="pending")return;rp();const vv=pl.shift();if(vv===void 0){if(jf.length){ff=setTimeout(()=>{rp(),gl==="pending"&&(tg(),eg())},la.timeout);return}eg();return}const k1={status:"pending",resource:vv,callback:(qw,K0)=>{rg(k1,qw,K0)}};jf.push(k1),wc++,ff=setTimeout(ig,la.rotate),ca(vv,aa,k1.callback)}return setTimeout(ig),Vm}function initRedundancy(la){const aa={...defaultConfig,...la};let ca=[];function ua(){ca=ca.filter(ml=>ml().status==="pending")}function Sa(ml,gl,wc){const xu=sendQuery(aa,ml,gl,(ff,jf)=>{ua(),wc&&wc(ff,jf)});return ca.push(xu),xu}function hl(ml){return ca.find(gl=>ml(gl))||null}return{query:Sa,find:hl,setIndex:ml=>{aa.index=ml},getIndex:()=>aa.index,cleanup:ua}}function emptyCallback$1(){}const redundancyCache=Object.create(null);function getRedundancyCache(la){if(!redundancyCache[la]){const aa=getAPIConfig(la);if(!aa)return;const ca=initRedundancy(aa),ua={config:aa,redundancy:ca};redundancyCache[la]=ua}return redundancyCache[la]}function sendAPIQuery(la,aa,ca){let ua,Sa;if(typeof la=="string"){const hl=getAPIModule(la);if(!hl)return ca(void 0,424),emptyCallback$1;Sa=hl.send;const pl=getRedundancyCache(la);pl&&(ua=pl.redundancy)}else{const hl=createAPIConfig(la);if(hl){ua=initRedundancy(hl);const pl=la.resources?la.resources[0]:"",ml=getAPIModule(pl);ml&&(Sa=ml.send)}}return!ua||!Sa?(ca(void 0,424),emptyCallback$1):ua.query(aa,Sa,ca)().abort}function emptyCallback(){}function loadedNewIcons(la){la.iconsLoaderFlag||(la.iconsLoaderFlag=!0,setTimeout(()=>{la.iconsLoaderFlag=!1,updateCallbacks(la)}))}function checkIconNamesForAPI(la){const aa=[],ca=[];return la.forEach(ua=>{(ua.match(matchIconName)?aa:ca).push(ua)}),{valid:aa,invalid:ca}}function parseLoaderResponse(la,aa,ca){function ua(){const Sa=la.pendingIcons;aa.forEach(hl=>{Sa&&Sa.delete(hl),la.icons[hl]||la.missing.add(hl)})}if(ca&&typeof ca=="object")try{if(!addIconSet(la,ca).length){ua();return}}catch(Sa){console.error(Sa)}ua(),loadedNewIcons(la)}function parsePossiblyAsyncResponse(la,aa){la instanceof Promise?la.then(ca=>{aa(ca)}).catch(()=>{aa(null)}):aa(la)}function loadNewIcons(la,aa){la.iconsToLoad?la.iconsToLoad=la.iconsToLoad.concat(aa).sort():la.iconsToLoad=aa,la.iconsQueueFlag||(la.iconsQueueFlag=!0,setTimeout(()=>{la.iconsQueueFlag=!1;const{provider:ca,prefix:ua}=la,Sa=la.iconsToLoad;if(delete la.iconsToLoad,!Sa||!Sa.length)return;const hl=la.loadIcon;if(la.loadIcons&&(Sa.length>1||!hl)){parsePossiblyAsyncResponse(la.loadIcons(Sa,ua,ca),xu=>{parseLoaderResponse(la,Sa,xu)});return}if(hl){Sa.forEach(xu=>{const ff=hl(xu,ua,ca);parsePossiblyAsyncResponse(ff,jf=>{const Uf=jf?{prefix:ua,icons:{[xu]:jf}}:null;parseLoaderResponse(la,[xu],Uf)})});return}const{valid:pl,invalid:ml}=checkIconNamesForAPI(Sa);if(ml.length&&parseLoaderResponse(la,ml,null),!pl.length)return;const gl=ua.match(matchIconName)?getAPIModule(ca):null;if(!gl){parseLoaderResponse(la,pl,null);return}gl.prepare(ca,ua,pl).forEach(xu=>{sendAPIQuery(ca,xu,ff=>{parseLoaderResponse(la,xu.icons,ff)})})}))}const loadIcons=(la,aa)=>{const ca=listToIcons(la,!0,allowSimpleNames()),ua=sortIcons(ca);if(!ua.pending.length){let gl=!0;return aa&&setTimeout(()=>{gl&&aa(ua.loaded,ua.missing,ua.pending,emptyCallback)}),()=>{gl=!1}}const Sa=Object.create(null),hl=[];let pl,ml;return ua.pending.forEach(gl=>{const{provider:wc,prefix:xu}=gl;if(xu===ml&&wc===pl)return;pl=wc,ml=xu,hl.push(getStorage(wc,xu));const ff=Sa[wc]||(Sa[wc]=Object.create(null));ff[xu]||(ff[xu]=[])}),ua.pending.forEach(gl=>{const{provider:wc,prefix:xu,name:ff}=gl,jf=getStorage(wc,xu),Uf=jf.pendingIcons||(jf.pendingIcons=new Set);Uf.has(ff)||(Uf.add(ff),Sa[wc][xu].push(ff))}),hl.forEach(gl=>{const wc=Sa[gl.provider][gl.prefix];wc.length&&loadNewIcons(gl,wc)}),aa?storeCallback(aa,ua,hl):emptyCallback};function mergeCustomisations(la,aa){const ca={...la};for(const ua in aa){const Sa=aa[ua],hl=typeof Sa;ua in defaultIconSizeCustomisations?(Sa===null||Sa&&(hl==="string"||hl==="number"))&&(ca[ua]=Sa):hl===typeof ca[ua]&&(ca[ua]=ua==="rotate"?Sa%4:Sa)}return ca}const separator$1=/[\s,]+/;function flipFromString(la,aa){aa.split(separator$1).forEach(ca=>{switch(ca.trim()){case"horizontal":la.hFlip=!0;break;case"vertical":la.vFlip=!0;break}})}function rotateFromString(la,aa=0){const ca=la.replace(/^-?[0-9.]*/,"");function ua(Sa){for(;Sa<0;)Sa+=4;return Sa%4}if(ca===""){const Sa=parseInt(la);return isNaN(Sa)?0:ua(Sa)}else if(ca!==la){let Sa=0;switch(ca){case"%":Sa=25;break;case"deg":Sa=90}if(Sa){let hl=parseFloat(la.slice(0,la.length-ca.length));return isNaN(hl)?0:(hl=hl/Sa,hl%1===0?ua(hl):0)}}return aa}function iconToHTML(la,aa){let ca=la.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const ua in aa)ca+=" "+ua+'="'+aa[ua]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+ca+">"+la+"</svg>"}function encodeSVGforURL(la){return la.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function svgToData(la){return"data:image/svg+xml,"+encodeSVGforURL(la)}function svgToURL(la){return'url("'+svgToData(la)+'")'}let policy;function createPolicy(){try{policy=window.trustedTypes.createPolicy("iconify",{createHTML:la=>la})}catch{policy=null}}function cleanUpInnerHTML(la){return policy===void 0&&createPolicy(),policy?policy.createHTML(la):la}const defaultExtendedIconCustomisations={...defaultIconCustomisations,inline:!1},svgDefaults={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},commonProps={display:"inline-block"},monotoneProps={backgroundColor:"currentColor"},coloredProps={backgroundColor:"transparent"},propsToAdd={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},propsToAddTo={WebkitMask:monotoneProps,mask:monotoneProps,background:coloredProps};for(const la in propsToAddTo){const aa=propsToAddTo[la];for(const ca in propsToAdd)aa[la+ca]=propsToAdd[ca]}const inlineDefaults={...defaultExtendedIconCustomisations,inline:!0};function fixSize(la){return la+(la.match(/^[-0-9.]+$/)?"px":"")}const render=(la,aa,ca)=>{const ua=aa.inline?inlineDefaults:defaultExtendedIconCustomisations,Sa=mergeCustomisations(ua,aa),hl=aa.mode||"svg",pl={},ml=aa.style||{},gl={...hl==="svg"?svgDefaults:{}};if(ca){const qm=stringToIcon(ca,!1,!0);if(qm){const Vm=["iconify"],eg=["provider","prefix"];for(const tg of eg)qm[tg]&&Vm.push("iconify--"+qm[tg]);gl.className=Vm.join(" ")}}for(let qm in aa){const Vm=aa[qm];if(Vm!==void 0)switch(qm){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":gl.ref=Vm;break;case"className":gl[qm]=(gl[qm]?gl[qm]+" ":"")+Vm;break;case"inline":case"hFlip":case"vFlip":Sa[qm]=Vm===!0||Vm==="true"||Vm===1;break;case"flip":typeof Vm=="string"&&flipFromString(Sa,Vm);break;case"color":pl.color=Vm;break;case"rotate":typeof Vm=="string"?Sa[qm]=rotateFromString(Vm):typeof Vm=="number"&&(Sa[qm]=Vm);break;case"ariaHidden":case"aria-hidden":Vm!==!0&&Vm!=="true"&&delete gl["aria-hidden"];break;default:ua[qm]===void 0&&(gl[qm]=Vm)}}const wc=iconToSVG(la,Sa),xu=wc.attributes;if(Sa.inline&&(pl.verticalAlign="-0.125em"),hl==="svg"){gl.style={...pl,...ml},Object.assign(gl,xu);let qm=0,Vm=aa.id;return typeof Vm=="string"&&(Vm=Vm.replace(/-/g,"_")),gl.dangerouslySetInnerHTML={__html:cleanUpInnerHTML(replaceIDs(wc.body,Vm?()=>Vm+"ID"+qm++:"iconifyReact"))},reactExports.createElement("svg",gl)}const{body:ff,width:jf,height:Uf}=la,rp=hl==="mask"||(hl==="bg"?!1:ff.indexOf("currentColor")!==-1),np=iconToHTML(ff,{...xu,width:jf+"",height:Uf+""});return gl.style={...pl,"--svg":svgToURL(np),width:fixSize(xu.width),height:fixSize(xu.height),...commonProps,...rp?monotoneProps:coloredProps,...ml},reactExports.createElement("span",gl)};allowSimpleNames(!0);setAPIModule("",fetchAPIModule);if(typeof document<"u"&&typeof window<"u"){const la=window;if(la.IconifyPreload!==void 0){const aa=la.IconifyPreload,ca="Invalid IconifyPreload syntax.";typeof aa=="object"&&aa!==null&&(aa instanceof Array?aa:[aa]).forEach(ua=>{try{(typeof ua!="object"||ua===null||ua instanceof Array||typeof ua.icons!="object"||typeof ua.prefix!="string"||!addCollection(ua))&&console.error(ca)}catch{console.error(ca)}})}if(la.IconifyProviders!==void 0){const aa=la.IconifyProviders;if(typeof aa=="object"&&aa!==null)for(let ca in aa){const ua="IconifyProviders["+ca+"] is invalid.";try{const Sa=aa[ca];if(typeof Sa!="object"||!Sa||Sa.resources===void 0)continue;addAPIProvider(ca,Sa)||console.error(ua)}catch{console.error(ua)}}}}function IconComponent(la){const[aa,ca]=reactExports.useState(!!la.ssr),[ua,Sa]=reactExports.useState({});function hl(Uf){if(Uf){const rp=la.icon;if(typeof rp=="object")return{name:"",data:rp};const np=getIconData(rp);if(np)return{name:rp,data:np}}return{name:""}}const[pl,ml]=reactExports.useState(hl(!!la.ssr));function gl(){const Uf=ua.callback;Uf&&(Uf(),Sa({}))}function wc(Uf){if(JSON.stringify(pl)!==JSON.stringify(Uf))return gl(),ml(Uf),!0}function xu(){var Uf;const rp=la.icon;if(typeof rp=="object"){wc({name:"",data:rp});return}const np=getIconData(rp);if(wc({name:rp,data:np}))if(np===void 0){const qm=loadIcons([rp],xu);Sa({callback:qm})}else np&&((Uf=la.onLoad)===null||Uf===void 0||Uf.call(la,rp))}reactExports.useEffect(()=>(ca(!0),gl),[]),reactExports.useEffect(()=>{aa&&xu()},[la.icon,aa]);const{name:ff,data:jf}=pl;return jf?render({...defaultIconProps,...jf},la,ff):la.children?la.children:la.fallback?la.fallback:reactExports.createElement("span",{})}const Icon=reactExports.forwardRef((la,aa)=>IconComponent({...la,_ref:aa}));reactExports.forwardRef((la,aa)=>IconComponent({inline:!0,...la,_ref:aa}));const getDate=la=>{const aa=new Date(la),ca=aa.getMonth()+1,ua=aa.getDate(),Sa=aa.getFullYear(),hl=aa.toLocaleString("en-US",{hour:"numeric",minute:"numeric",hour12:!0});return`${ca}/${ua}/${Sa} ${hl}`},registerBase64Icon=(la,aa)=>{try{const ca=aa.replace(/^data:image\/svg\+xml;base64,/,""),ua=atob(ca),Sa=ua.match(/width="([^"]+)"/),hl=ua.match(/height="([^"]+)"/),pl=Sa?Sa[1]:"1536",ml=hl?hl[1]:"1280",gl=ua.replace(/^.*?<svg[^>]*>(.*)<\/svg>.*$/,"$1");addIcon(la,{body:gl,width:parseInt(pl,10),height:parseInt(ml,10)})}catch(ca){console.error(`Failed to register icon: ${la}`,ca)}};function extractRepoNameFromUrl(la){const aa=la.split("/");return aa[aa.length-1]}function scrollIntoView(la,aa=!0){const ca=document.getElementById(la);ca&&ca.scrollIntoView({behavior:aa?"smooth":"auto",block:"start",inline:"center"})}function roundTo3Decimals(la){return la.toFixed(3)}function convertBytes(la){return la<1024?`${la} bytes`:la<1024*1024?`${roundTo3Decimals(la/1024)} KB`:la<1024*1024*1024?`${roundTo3Decimals(la/(1024*1024))} MB`:`${roundTo3Decimals(la/(1024*1024*1024))} GB`}function generateGitHubUrl(la,aa,ca,ua){if(!la||!aa)throw new Error("GitHub organization and repository name are required");if(ca&&ua){const Sa=ca.trim(),hl=ua.trim();return!Sa||!hl?(console.warn("GitHub credentials contain only whitespace - falling back to public URL"),`https://github.com/${la}/${aa}.git`):`https://${Sa}:${hl}@github.com/${la}/${aa}.git`}return console.warn(`No GitHub credentials provided for ${la}/${aa} - using public URL (may fail for private repositories)`),`https://github.com/${la}/${aa}.git`}const useWorkspace=()=>{const la=axiosInstance("meta"),aa=useAppStore(xu=>xu.user),ca=useAppStore(xu=>xu.authData.userProfileId),ua=useAppStore(xu=>xu.authData.username),Sa=useAppStore(xu=>xu.setUser),hl=useAppStore(xu=>xu.setWorkspace),pl=async()=>{let xu=aa?.user_profile_id;if(xu||(xu=ca||void 0),!xu){const ff=localStorage.getItem("user_profile_id");ff&&(xu=ff)}if(!xu){y$b.error("User Profile ID not found. Please re-login.");return}return xu},ml=async()=>{try{if(!await pl())throw new Error("User Profile ID not found. Please re-login.");const jf=await la.get("/AgentMeta/Workspace");if(console.log("fetchWorkspace response:",jf.data),!jf.data||Array.isArray(jf.data)&&jf.data.length===0)return console.log("GetWorkspace returned empty or null response - workspace does not exist"),null;let Uf;if(jf.data.id||jf.data.Id)Uf=jf.data;else if(Array.isArray(jf.data)&&jf.data.length>0){const rp=jf.data[0];rp?.Workspace?Uf=rp.Workspace:rp?.result&&Array.isArray(rp.result)&&rp.result.length>0?Uf=rp.result[0]:rp&&(rp.id||rp.Id)&&(Uf=rp)}return Uf||(console.log("No workspace found in response"),null)}catch(xu){return console.error("fetchWorkspace error:",xu),null}};return{fetchWorkspace:ml,createWorkspace:async(xu,ff)=>{try{if(!await pl())throw new Error("User Profile ID not found. Please re-login.");const rp=await la.post("/AgentMeta/Workspace",{name:xu,createdBy:ff});let np;if(rp.data.UserWorkspace?.Workspace)np=rp.data.UserWorkspace.Workspace;else if(rp.data.id)np=rp.data;else if(Array.isArray(rp.data)&&rp.data.length>0){const qm=rp.data[0];qm?.result&&Array.isArray(qm.result)&&qm.result.length>0?np=qm.result[0]:qm?.Workspace?np=qm.Workspace:np=qm}else if(rp.data.Workspace)np=rp.data.Workspace;else{const qm=Object.keys(rp.data);qm.length>0&&(np=rp.data[qm[0]])}return np||(console.error("Failed to parse workspace from create response"),null)}catch(jf){throw console.error("createWorkspace error:",jf),y$b.error(jf?.response?.data?.reason||"Failed to create workspace"),jf}},fetchOrCreateWorkspace:async xu=>{if(!(ua||aa?.Email))throw new Error("No username found in store");let jf=await ml();if(jf){const Uf=jf.id||jf.Id;if(Uf&&!localStorage.getItem("workspace_id")){localStorage.setItem("workspace_id",Uf);try{aa?Sa({...aa,CurrentWorkspace:{Id:Uf}}):hl(Uf)}catch{}}}else{console.error(`Workspace '${xu}' not found - workspace creation disabled`);try{if(await pl()){const np=await la.get("/AgentMeta/Workspace");if(np.data&&Array.isArray(np.data)&&np.data.length>0){const qm=np.data[np.data.length-1];if(jf=qm.Workspace||qm,jf){const Vm=jf.id||jf.Id;if(Vm){localStorage.setItem("workspace_id",Vm);try{aa?Sa({...aa,CurrentWorkspace:{Id:Vm}}):hl(Vm)}catch{}console.log("Using existing workspace instead:",Vm)}}}}}catch(Uf){console.error("Failed to fetch all workspaces:",Uf)}if(!jf)throw new Error(`Workspace '${xu}' not found and creation is disabled`)}return jf}}},deletePlaygroundTeam=la=>[],STORAGE_KEY="playground-workspace-apps",ID_COUNTER_KEY="playground-workspace-id-counter";class PlaygroundWorkspaceStorage{apps=new Map;idCounter=0;constructor(){this.loadFromLocalStorage()}loadFromLocalStorage(){try{const aa=localStorage.getItem(STORAGE_KEY);if(aa){const ua=JSON.parse(aa);ua.forEach(Sa=>{this.apps.set(Sa.Id,Sa)}),console.log(`[PLAYGROUND] Loaded ${ua.length} workspace apps from localStorage`)}const ca=localStorage.getItem(ID_COUNTER_KEY);ca&&(this.idCounter=parseInt(ca,10))}catch(aa){console.error("[PLAYGROUND] Error loading workspace apps from localStorage:",aa)}}saveToLocalStorage(){try{const aa=Array.from(this.apps.values());localStorage.setItem(STORAGE_KEY,JSON.stringify(aa)),localStorage.setItem(ID_COUNTER_KEY,this.idCounter.toString()),console.log(`[PLAYGROUND] Saved ${aa.length} workspace apps to localStorage`)}catch(aa){console.error("[PLAYGROUND] Error saving workspace apps to localStorage:",aa)}}getApps(){return Array.from(this.apps.values())}addApp(aa){const ca=aa.Id||`playground-app-${++this.idCounter}`,ua={...aa,Id:ca};return this.apps.set(ca,ua),this.saveToLocalStorage(),ua}updateApp(aa,ca){const ua=this.apps.get(aa);if(!ua)return null;const Sa={...ua,...ca};return this.apps.set(aa,Sa),this.saveToLocalStorage(),Sa}deleteApp(aa){const ca=this.apps.delete(aa);return ca&&this.saveToLocalStorage(),ca}getApp(aa){return this.apps.get(aa)||null}clearApps(){this.apps.clear(),this.idCounter=0,this.saveToLocalStorage()}hasApp(aa){return this.apps.has(aa)}}const playgroundWorkspaceStorage=new PlaygroundWorkspaceStorage,IS_PLAYGROUND$7=!1,IS_LOCAL_MODE$5=!0,metaAxiosInstance$2=axiosInstance("meta");async function fetchPackageInfo$1(){const aa=await fetch("http://localhost:4000/info");return aa.ok?await aa.json():{}}async function fetchBranch(){const la="http://localhost:4000";try{const aa=await fetch(`${la}/branch`);return aa.ok&&(await aa.json()).branch||"main"}catch(aa){return console.warn("Failed to fetch branch:",aa),"main"}}const useTeams=()=>{const{teamName:la,modelName:aa}=useParams(),{pathname:ca}=useLocation(),ua=useQueryClient(),Sa=ca.includes("/design/marketplace/"),hl=useAppStore(O1=>O1.authData.username),pl=useAppStore(O1=>O1.authData.userProfileId),ml=useAppStore(O1=>O1.user.CurrentWorkspace?.Id),gl=useAppStore(O1=>O1.user.GitHub.Token)||"",wc=useAppStore(O1=>O1.user.GitHub.Username)||"",{fetchOrCreateWorkspace:xu}=useWorkspace();useAppStore(O1=>O1.authReady),useAppStore(O1=>O1.isAuthenticated);const{data:ff}=useQuery({queryKey:["localPackageInfo"],queryFn:fetchPackageInfo$1,enabled:IS_LOCAL_MODE$5,staleTime:1/0,refetchOnMount:"always"}),{data:jf}=useQuery({queryKey:["localBranch"],queryFn:fetchBranch,enabled:IS_LOCAL_MODE$5,staleTime:1/0,refetchOnMount:"always"}),{data:Uf,isLoading:rp,error:np,refetch:qm}=useQuery({queryKey:["workspace",ml,"apps",pl],queryFn:async()=>[],enabled:IS_LOCAL_MODE$5,staleTime:120*1e3,gcTime:300*1e3,refetchOnMount:"always",retry:(O1,Y0)=>Y0?.response?.status===401||Y0?.response?.status===403?!1:O1<2}),{mutate:Vm}=useMutation({mutationFn:async({appId:O1,isEditable:Y0})=>{const G0=await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${ml}/WorkspaceApp/App/${O1}`,{isEditable:Y0});return transformSimpleTeamToTeam(G0.data)},onMutate:async O1=>{const{appId:Y0,isEditable:G0}=O1;await ua.cancelQueries({queryKey:["workspace",ml,"apps",pl]});const X0=ua.getQueryData(["workspace",ml,"apps",pl]);if(X0){const d_=X0.map(f_=>f_.Id===Y0?{...f_,isEditable:G0}:f_);ua.setQueryData(["workspace",ml,"apps",pl],d_)}return{previousApps:X0}},onError:(O1,Y0,G0)=>{G0?.previousApps&&ua.setQueryData(["workspace",ml,"apps",pl],G0.previousApps),y$b.error("Failed to update status. Please try again.")},onSettled:()=>{ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]})}}),eg=reactExports.useMemo(()=>{{let O1="";if(ff&&ff.name)if(O1=ff.name,O1.startsWith("@")){const Y0=O1.substring(1).split("/");Y0.length===2&&(O1=Y0[1])}else O1=ff.name;return{Name:O1,isEditable:!0,Type:"Local",GitHubRepo:O1,Branch:jf||"main"}}},[Sa,aa,Uf,la,ff,jf]);if(np){console.error("fetchWorkspaceApps: Query failed",np);let O1="Failed to fetch workspace apps";const Y0=np;Y0?.response?.status===401?O1="Authentication expired. Please sign in again.":Y0?.response?.status===403?O1="Access denied. Please check your workspace permissions.":Y0?.response?.status===404?O1="Workspace not found. Please verify your workspace access.":Y0?.response?.data?.reason?O1=Y0.response.data.reason:Y0?.message&&(O1=`Network error: ${Y0.message}`),y$b.error(O1)}const tg=async(O1,Y0)=>{try{const X0=(await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${ml}/WorkspaceApp/App/${Y0}`,O1)).data,d_=transformSimpleTeamToTeam(X0);return ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]}),await qm(),{...d_}}catch(G0){throw console.error("Error editing workspace app:",G0),G0}},rg=async(O1,Y0)=>{try{const X0=(await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${ml}/WorkspaceApp/App/${O1}`,{branch:Y0})).data,d_=transformSimpleTeamToTeam(X0);return ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]}),await qm(),{...d_,Branch:Y0}}catch(G0){throw console.error("Error switching workspace app branch:",G0),G0}},ig=async O1=>{try{let Y0=ml;if(!Y0){const G0=await xu("Default");if(G0)Y0=G0.id||G0.Id;else throw new Error("Failed to create or fetch Default workspace")}if(!Y0)throw new Error("No workspace ID available after all attempts");await metaAxiosInstance$2.post(`/AgentMeta/Workspace/${Y0}/WorkspaceApp/App`,O1),ua.invalidateQueries({queryKey:["workspace",Y0,"apps",pl]}),ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]}),await qm()}catch(Y0){console.error("Error occurred:",Y0),y$b.error(Y0?.response?.data?.["status-text"]||Y0?.response?.data?.reason||Y0?.message||"Operation failed")}},vv=async O1=>{try{await metaAxiosInstance$2.delete(`/AgentMeta/Workspace/${ml}/WorkspaceApp/App/${O1}`),ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]}),await qm()}catch(Y0){console.error("Error occurred:",Y0),y$b.error(Y0?.response?.data?.["status-text"]||Y0?.response?.data?.reason||Y0?.message||"Operation failed")}},k1=async(O1,Y0,G0)=>{try{const X0=`/${O1.githubRepo}`,d_=O1.branchSelected&&O1.githubBranch?O1.githubBranch:"main",f_=wc&&wc.trim().length>0,zN=gl&&gl.trim().length>0,BN=generateGitHubUrl(O1.githubOrg,O1.githubRepo,wc,gl);if((!f_||!zN)&&Y0("⚠️ GitHub credentials missing. Clone may fail for private repositories. Please set your GitHub username and token in Settings.",!1,!1),await pathExists(X0)){G0("checking"),Y0("Repository exists, checking for updates...",!1,!1);try{const yY=await updateExistingRepository(X0,gl,{branch:d_,checkOnly:!0});if(!yY.success)Y0(`Warning: Could not check for updates - ${yY.message}. Using existing repository.`,!1,!1);else if(yY.hasUpdates){G0("updating"),Y0("Fetching latest changes...",!1,!1);const vQ=await updateExistingRepository(X0,gl,{branch:d_,force:!0});vQ.success?Y0("Repository updated successfully!",!0,!1):Y0(`Warning: Could not update repository - ${vQ.message}. Using existing version.`,!1,!1)}else Y0("No updates available",!0,!1)}catch(yY){console.error("Failed to update repository:",yY),Y0(`Warning: Could not check for updates - ${yY.message}. Using existing repository.`,!1,!1)}}else{G0("cloning"),Y0("Cloning repository...",!1,!1);try{await cloneRepository(BN,X0,d_,gl),Y0("Repository cloned successfully!",!0,!1)}catch(yY){console.error("Failed to clone repository:",yY),Y0(`Failed to clone repository: ${yY.message}`,!1,!0);try{await pathExists(X0)&&(console.log(`Cleaning up failed clone: removing ${X0} from IndexedDB`),await removeDirectory(X0))}catch(vQ){console.error("Error cleaning up failed clone:",vQ)}return G0("error"),{path:null,fileContent:null}}}try{G0("processing"),Y0("Searching for .al files...",!1,!1);const yY=await findFilesWithExtension(X0,"al");if(yY.length===0)return Y0("No .al files found in the repository.",!1,!0),G0("error"),{path:null,fileContent:null};Y0(`Found ${yY.length} .al file(s).`,!0,!1);const vQ=yY[0];Y0(`Reading file: ${vQ}...`,!1,!1);const Ihe=await readRepoFile(X0,vQ);try{await readRepoFile(X0,"package.json")}catch{Y0("Warning: package.json not found in repository",!1,!1)}try{return G0("creating"),await flushAllAndLoad(X0,{name:"studio"}),Y0(`${vQ} loaded successfully!`,!0,!1),G0("complete"),{path:X0,fileContent:Ihe}}catch(bY){return console.error(`Failed to load ${vQ}:`,bY),Y0(`Failed to load ${vQ}: ${bY.message}`,!1,!0),G0("error"),{path:null,fileContent:null}}}catch(yY){return console.error("Failed to process .al files:",yY),Y0(`Note: .al files not found or could not be read: ${yY.message}`,!1,!0),G0("error"),{path:X0,fileContent:null}}}catch(X0){return console.error("Failed to execute Git operation:",X0),Y0(`Failed to execute Git operation: ${X0.message}`,!1,!0),G0("error"),{path:null,fileContent:null}}},qw=async(O1,Y0,G0)=>{try{G0("Saving changes...",!1,!1);const X0=await openRepository(O1);return await writeRepoFile(O1,"README.md",Y0),await commitChanges(X0,"README.md","Update README.md",{name:"Fractl Studio User",email:hl||"user@fractl.studio"}),G0("Changes saved successfully!",!0,!1),!0}catch(X0){return console.error("Failed to save README:",X0),G0(`Failed to save: ${X0.message}`,!1,!0),!1}},K0=async(O1,Y0)=>{try{Y0("Pushing changes to repository...",!1,!1);const G0=await openRepository(O1);return await pushChanges(G0,"origin","main",gl),Y0("Changes pushed successfully!",!0,!1),!0}catch(G0){return console.error("Failed to push changes:",G0),Y0(`Failed to push: ${G0.message}`,!1,!0),!1}},J0=reactExports.useCallback(async(O1,Y0,G0=!1)=>{G0&&await qm()},[qm]),Hw=eg?.isEditable??!0;return{currentTeam:eg,workspaceApps:Uf,isLoadingApps:rp,appsError:np,fetchWorkspaceApps:J0,editWorkspaceApp:tg,switchWorkspaceAppBranch:rg,updateWorkspaceAppEditable:Vm,addWorkspaceApp:ig,cloneGitRepository:k1,saveReadmeChanges:qw,pushChanges:K0,deleteWorkspaceApp:vv,isEditable:Hw}},integrationAxiosInstance$1=axiosInstance("connection-manager"),useLLM=()=>{const la=useQueryClient(),aa=useAppStore(Uf=>Uf.authReady),ca=useAppStore(Uf=>Uf.isAuthenticated),ua=Uf=>{const{__parent__:rp,__path__:np,...qm}=Uf;return qm},{data:Sa,isLoading:hl,isError:pl,error:ml,refetch:gl}=useQuery({queryKey:["llms"],queryFn:async()=>{const Uf=await integrationAxiosInstance$1.get("/integmanager.core/llm"),{data:rp,status:np}=Uf;if(np!==200)throw new Error("Failed to fetch llms");return rp.map(Vm=>({...Vm.llm,config:JSON.parse(Vm.llm.config)}))},enabled:aa&&ca&&!0});pl&&ml&&y$b.error(ml?.response?.data?.reason||ml.message);const wc=reactExports.useCallback(async Uf=>{await gl()},[gl]),xu=reactExports.useCallback(async Uf=>{try{const rp=ua(Uf),np=await integrationAxiosInstance$1.post("/integmanager.core/llm",rp);if(np.status===200||np.status===201)la.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM created successfully");else{const qm=np.data?.reason||np.data?.message||`Failed to create LLM (Status: ${np.status})`;throw y$b.error(qm),new Error(qm)}}catch(rp){const np=rp?.response?.data?.reason||rp?.response?.data?.message||rp?.message||"Failed to create LLM";throw y$b.error(np),rp}},[la]),ff=reactExports.useCallback(async Uf=>{try{const rp=await integrationAxiosInstance$1.delete(`/integmanager.core/llm/${Uf}`);if(rp.status===200||rp.status===204)la.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM deleted successfully");else{const np=rp.data?.reason||rp.data?.message||`Failed to delete LLM (Status: ${rp.status})`;throw y$b.error(np),new Error(np)}}catch(rp){const np=rp?.response?.data?.reason||rp?.response?.data?.message||rp?.message||"Failed to delete LLM";throw y$b.error(np),rp}},[la]),jf=reactExports.useCallback(async(Uf,rp)=>{try{const np=ua(rp),qm=await integrationAxiosInstance$1.put(`/integmanager.core/llm/${Uf}`,np);if(qm.status===200||qm.status===201||qm.status===204)la.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM updated successfully");else{const Vm=qm.data?.reason||qm.data?.message||`Failed to update LLM (Status: ${qm.status})`;throw y$b.error(Vm),new Error(Vm)}}catch(np){const qm=np?.response?.data?.reason||np?.response?.data?.message||np?.message||"Failed to update LLM";throw y$b.error(qm),np}},[la]);return{llmData:Sa,isLoadingLLMs:hl,isErrorLLMs:pl,llmError:ml,fetchLLMs:wc,createLLM:xu,deleteLLM:ff,updateLLM:jf}},getTeamModules=la=>{if(!la)return[];const aa=getUserModuleNames(),ca=la.toLowerCase(),ua=ca.replace(/_/g,"");return aa.filter(Sa=>{const hl=Sa.toLowerCase(),pl=hl.split(".")[0];return hl.startsWith(ca)||pl===ua})},useConfigLoader=()=>{const la=useAppStore(ua=>ua.setAppConfig),aa=useAppStore(ua=>ua.setAppConfigError);return{loadConfig:reactExports.useCallback(async ua=>{console.log("loadConfig",ua),aa(null);try{const Sa=await loadAppConfig(ua);return console.log("config",Sa),la(Sa),Sa}catch(Sa){const hl=Sa instanceof Error?Sa.message:String(Sa);return console.error("Failed to load config.al:",hl),aa(hl),la({}),{}}},[la,aa])}},accessedKeys=new Map,getLocalEnv=la=>{const aa=getLocalEnv$2(la);return console.log(`🔍 getLocalEnv("${la}") called, returning:`,aa?`${aa.substring(0,10)}...`:"undefined"),accessedKeys.set(la,{value:aa,timestamp:Date.now()}),aa||console.warn(`⚠️ Key "${la}" not found in LocalEnv`),aa};typeof window<"u"&&(window.debugResolverKeys={getAccessedKeys:()=>Array.from(accessedKeys.entries()),listAccessedKeys:()=>{console.log("📋 Keys accessed by resolvers:"),accessedKeys.forEach(({value:la},aa)=>{console.log(` ${aa}: ${la?"found":"NOT FOUND"}`)})}});const API_DOMAIN_TO_PROVIDER={"api.hubapi.com":"hubspot","slack.com":"slack","api.github.com":"github","api.stripe.com":"stripe","api.airtable.com":"airtable","api.notion.com":"notion","api.openai.com":"openai","api.anthropic.com":"anthropic","www.googleapis.com":"google"};function createProxiedAxios(){const la=getURL("api-cors-proxy"),aa=axios.create({timeout:3e4});return aa.interceptors.request.use(ca=>{const ua=ca.url;if(ua&&(ua.startsWith("http://")||ua.startsWith("https://")))try{const Sa=new URL(ua),hl=Sa.hostname,pl=Sa.pathname+Sa.search,ml=API_DOMAIN_TO_PROVIDER[hl];if(!ml)return console.warn(`⚠️ No CORS proxy provider configured for domain: ${hl}`),console.warn(` Add '${hl}' to API_DOMAIN_TO_PROVIDER in browserResolvers.ts`),ca;console.log(`🔄 Proxying API call: ${ua}`),console.log(` → Provider: ${ml}`),console.log(" → Original headers:",ca.headers),ca.url=`${la}/proxy/${ml}${pl}`,console.log(` → New URL: ${ca.url}`),console.log(" → Final headers:",ca.headers)}catch(Sa){console.error("Failed to parse URL for proxying:",ua,Sa)}return ca}),aa.interceptors.response.use(ca=>ca,ca=>(ca.code==="ERR_NETWORK"?console.error("❌ Network error - Check if CORS proxy is running on",la):ca.response?.status===401?console.error("❌ 401 Unauthorized - Check API credentials"):ca.response?.status===403&&console.error("❌ 403 Forbidden - Check API permissions"),Promise.reject(ca))),aa}const proxiedAxios=createProxiedAxios(),COMMON_DEPENDENCIES=new Map([["agentlang",{...agentlangRuntimeUtil,asInstance,makeInstance:makeInstance$1,getLocalEnv}],["@fractl/agentlang",{...agentlangRuntimeUtil,asInstance,makeInstance:makeInstance$1,getLocalEnv}],["agentlang/out/runtime/module.js",{makeInstance:makeInstance$1}],["agentlang/out/runtime/auth/defs.js",{getLocalEnv}],["axios",{default:proxiedAxios}]]);function asInstance(la,aa){const ca=aa.split("/"),ua=ca.length===2?ca[0]:"hubspot",Sa=ca.length===2?ca[1]:aa,hl=new Map(Object.entries(la));return makeInstance$1(ua,Sa,hl)}function getDependency(la){if(COMMON_DEPENDENCIES.has(la))return COMMON_DEPENDENCIES.get(la);for(const[aa,ca]of COMMON_DEPENDENCIES)if(la.includes(`/${aa}`)||la.endsWith(`/${aa}`))return ca}const BUILTIN_MODULE_PATHS=["./modules/core.js","./modules/auth.js"];async function setupResolverLoader(la){try{console.log("⚙️ Configuring AgentLang module loader for:",la),setModuleLoader({fileReader:async ca=>{if(console.log(`📖 Reading file: ${ca}`),BUILTIN_MODULE_PATHS.includes(ca))return console.log(`📦 Built-in module: ${ca} (using global registration)`),"";let ua=ca;return ca.startsWith(la+"/")?ua=ca.substring(la.length+1):ca.startsWith(la)&&(ua=ca.substring(la.length)),ua.startsWith("/")&&(ua=ua.substring(1)),console.log(`📖 Resolved to relative path: ${ua}`),await readRepoFile(la,ua)},dependencyProvider:ca=>{const ua=getDependency(ca);return ua?console.log(`✅ Resolved dependency: ${ca}`):console.warn(`⚠️ Unknown dependency: ${ca}`),ua},basePath:""}),console.log("✅ Module loader configured successfully"),console.log("ℹ️ Resolvers will be loaded automatically when AgentLang parses .al files")}catch(aa){console.error("❌ Failed to setup resolver loader:",aa)}}const RESOLVER_CONFIGS={hsr:{initFunctionName:"initializeHubSpotConfig",envKeyMapping:{HUBSPOT_ACCESS_TOKEN:"accessToken"},configBuilder:la=>({accessToken:la.HUBSPOT_ACCESS_TOKEN})},gmr:{initFunctionName:"initializeGmailConfig",envKeyMapping:{GMAIL_CLIENT_ID:"clientId",GMAIL_CLIENT_SECRET:"clientSecret",GMAIL_REFRESH_TOKEN:"refreshToken",GMAIL_POLL_INTERVAL_MINUTES:"pollIntervalMinutes"},configBuilder:la=>({clientId:la.GMAIL_CLIENT_ID,clientSecret:la.GMAIL_CLIENT_SECRET,refreshToken:la.GMAIL_REFRESH_TOKEN,pollIntervalMinutes:la.GMAIL_POLL_INTERVAL_MINUTES})},gsr:{initFunctionName:"initializeGoogleConfig",envKeyMapping:{GOOGLE_API_KEY:"apiKey",GOOGLE_CLIENT_ID:"clientId",GOOGLE_CLIENT_SECRET:"clientSecret"},configBuilder:la=>({apiKey:la.GOOGLE_API_KEY,clientId:la.GOOGLE_CLIENT_ID,clientSecret:la.GOOGLE_CLIENT_SECRET})},slackr:{initFunctionName:"initializeSlackConfig",envKeyMapping:{SLACK_BOT_TOKEN:"botToken",SLACK_APP_TOKEN:"appToken"},configBuilder:la=>({botToken:la.SLACK_BOT_TOKEN,appToken:la.SLACK_APP_TOKEN})},ghr:{initFunctionName:"initializeGitHubConfig",envKeyMapping:{GITHUB_TOKEN:"token",GITHUB_API_KEY:"apiKey"},configBuilder:la=>({token:la.GITHUB_TOKEN||la.GITHUB_API_KEY})}};async function initializeResolverConfigs(){try{const{getEnvironmentKeysAsObject:la}=await __vitePreload(async()=>{const{getEnvironmentKeysAsObject:ua}=await Promise.resolve().then(()=>playgroundEnvKeys);return{getEnvironmentKeysAsObject:ua}},void 0),aa=la();console.log("🔑 Available environment keys:",Object.keys(aa));const ca=getImportedModuleNames();console.log("📦 Imported modules:",ca);for(const[ua,Sa]of Object.entries(RESOLVER_CONFIGS)){const hl=getImportedModule(ua);if(!hl){console.log(`ℹ️ Resolver "${ua}" not loaded - skipping initialization`);continue}console.log(`📋 Found resolver module: ${ua}`);const pl=hl[Sa.initFunctionName];if(typeof pl!="function"){console.warn(`⚠️ Resolver "${ua}" found but "${Sa.initFunctionName}" function is missing`);continue}const ml=Object.keys(Sa.envKeyMapping);if(ml.filter(ff=>aa[ff]).length===0){console.warn(`⚠️ No environment keys found for resolver "${ua}". Expected: ${ml.join(", ")}`);continue}const wc=Sa.configBuilder(aa),xu=Object.fromEntries(Object.entries(wc).filter(([ff,jf])=>jf!==void 0));if(Object.keys(xu).length===0){console.warn(`⚠️ No valid configuration could be built for resolver "${ua}"`);continue}console.log(`🔑 Initializing resolver "${ua}" with config:`,{...xu,...Object.keys(xu).reduce((ff,jf)=>{const Uf=xu[jf],rp=typeof Uf=="string"?`***${Uf.slice(-4)}`:"***";return{...ff,[jf]:rp}},{})});try{await pl(xu),console.log(`✅ Resolver "${ua}" configured successfully`),hl.config&&console.log(" Configuration stored in resolver.config")}catch(ff){console.error(`❌ Failed to initialize resolver "${ua}":`,ff)}}console.log("✅ Resolver initialization complete")}catch(la){console.error("❌ Failed to initialize resolver configs:",la)}}const browserResolvers=Object.freeze(Object.defineProperty({__proto__:null,initializeResolverConfigs,setupResolverLoader},Symbol.toStringTag,{value:"Module"})),IS_LOCAL_MODE$4=!0,CLI_URL$2="http://localhost:4000",useRepositoryClone=()=>{const la=useNavigate(),[aa,ca]=reactExports.useState(!1),[ua,Sa]=reactExports.useState(""),[hl,pl]=reactExports.useState(""),ml=Fdt();useAppStore(qm=>qm.user);const{processDependencies:gl}=useDependencyProcessor(),{loadConfig:wc}=useConfigLoader(),xu="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",ff="hamza@fractl.io",jf=reactExports.useCallback(()=>{const qm=ff.trim().length>0,Vm=xu.trim().length>0;(!qm||!Vm)&&console.warn("GitHub credentials missing - clone may fail for private repositories")},[xu,ff]),Uf=reactExports.useCallback(async(qm,Vm,eg,tg,rg)=>{console.log("Processing repository..."),await gl(qm,ff,xu,zN=>{Sa(zN)}),Sa("Loading application modules..."),Sa("Initializing runtime with environment keys...");{const{inBrowserREPL:zN}=await __vitePreload(async()=>{const{inBrowserREPL:BN}=await Promise.resolve().then(()=>inBrowserREPL$1);return{inBrowserREPL:BN}},void 0);await zN.initializeRuntime()}Sa("Configuring resolver loader..."),await setupResolverLoader(qm),Sa("Preparing runtime for app...");const{prepareRuntimeForAppLoad:ig}=await __vitePreload(async()=>{const{prepareRuntimeForAppLoad:zN}=await Promise.resolve().then(()=>index$4);return{prepareRuntimeForAppLoad:zN}},void 0);await ig(qm);{Sa("Initializing filesystem...");const{setFileSystem:zN}=await __vitePreload(async()=>{const{setFileSystem:yY}=await Promise.resolve().then(()=>fsUtils);return{setFileSystem:yY}},void 0),{createFS:BN}=await __vitePreload(async()=>{const{createFS:yY}=await import("./fs-BxrTCdSt.js");return{createFS:yY}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4])),iF=await BN({name:"studio",useCliBackend:!0});zN(iF)}Sa("Loading AgentLang modules..."),await flushAllAndLoad(qm,{name:"studio",useCliBackend:IS_LOCAL_MODE$4}),Sa("Reloading core modules...");const{loadCoreModules:vv}=await __vitePreload(async()=>{const{loadCoreModules:zN}=await Promise.resolve().then(()=>loader$1);return{loadCoreModules:zN}},void 0);await vv(),Sa("Loading configuration..."),await wc(qm),Sa("Registering agents and initializing modules..."),await runInitFunctions(),await runStandaloneStatements(),Sa("Loading LLM configurations...");const{queryLLMEntities:k1}=await __vitePreload(async()=>{const{queryLLMEntities:zN}=await Promise.resolve().then(()=>index$4);return{queryLLMEntities:zN}},void 0),qw=await k1(),K0=useAppStore.getState().appConfig;useAppStore.getState().setAppConfig({...K0,llms:qw}),Sa("Initializing resolver configurations..."),await initializeResolverConfigs(),console.log("Reading package.json...");let J0;{const zN=await fetch(`${CLI_URL$2}/info`);if(!zN.ok)throw new Error(`Failed to fetch package info from CLI backend at ${CLI_URL$2}: ${zN.statusText}`);J0=await zN.json()}const Hw=getTeamModules(Vm),O1=Hw.flatMap(zN=>{try{const BN=fetchModule$2(zN);return BN?BN.getAgentNames().filter(iF=>BN.getAgent(iF)?.isPublic()??!1).map(iF=>`${zN}/${iF}`):[]}catch(BN){return console.warn(`Failed to fetch module ${zN} for public agents:`,BN),[]}});console.log(`[LOCAL] Found ${Hw.length} modules:`,Hw),console.log(`[LOCAL] Found ${O1.length} public agents:`,O1);const Y0=Hw.flatMap(zN=>fetchModule$2(zN).getEntityNames().map(BN=>`${zN}/${BN}`)),G0=Hw.flatMap(zN=>buildGraph(zN).getRoots().map(iF=>`${iF.entity.getModuleName()}/${iF.entity.getEntryName()}`)),X0={Name:eg,Description:J0.description||"An application generated from "+eg},d_=await loadUISchema(eg,qm,Y0,G0,O1,X0);d_.appInfo||(d_.appInfo={}),d_.appInfo.apiUrl="http://localhost:8080",ml(d_);const f_={githubOrg:tg,teamName:eg,branch:rg,projectPath:qm};return __vitePreload(()=>import("./replService-DrnjrXLr.js"),__vite__mapDeps([34,1,18,19,5,9,16,11,14,15,10,20,21,17,4])).then(async({default:zN})=>{try{await zN.ensureReplSession(f_),await zN.initializeFileTracking(qm)}catch(BN){console.error("❌ Failed to setup REPL deployment:",BN)}}),Hw[0]},[ff,xu,Sa,ml,gl,wc]),rp=reactExports.useCallback(async qm=>{ca(!0),pl("");try{jf();const{GitHubOrg:Vm,GitHubRepo:eg,Name:tg,Branch:rg}=qm,ig=`/${eg}`,vv=generateGitHubUrl(Vm,eg,ff,xu);await pathExists(ig)?Sa("Repository already exists. Loading modules..."):(Sa("Cloning repository..."),await cloneRepository(vv,ig,rg,xu)),await Uf(ig,eg,tg,Vm,rg)}catch(Vm){const eg=Vm instanceof Error?Vm.message:"Failed to clone repository";pl(eg),console.error("Error during repository clone:",Vm);try{const tg=`/${qm.GitHubRepo}`;await pathExists(tg)&&(console.log(`Cleaning up failed clone: removing ${tg} from IndexedDB`),await removeDirectory(tg))}catch(tg){console.error("Error cleaning up failed clone:",tg)}}finally{ca(!1)}},[jf,ff,xu,Uf]),np=reactExports.useCallback((qm,Vm,eg,tg,rg)=>{const ig=`/design/${qm?"agents":"data-model"}/${Vm}/${eg}/${tg}`;rg?la(ig,rg):la(ig)},[la]);return{isCloning:aa,error:hl,loadingMessage:ua,cloneAndProcess:rp,navigateToDesign:np,processRepository:Uf}},CLI_URL$1="http://localhost:4000";async function fetchPackageInfo(){const la=await fetch(`${CLI_URL$1}/info`);return la.ok?la.json():{}}async function fetchDependenciesFromLocalServer(la,aa,ca){return console.log("✓ Using dependencies from real filesystem (local mode)"),aa.map(ua=>({appName:ua.appName,success:!0,message:"Using dependency from real filesystem",path:`${la}/node_modules/${ua.appName}`}))}function parsePackageName(la){if(!la?.name)return{org:"file",name:""};const aa=la.name;if(aa.startsWith("@")){const ca=aa.substring(1).split("/");if(ca.length===2)return{org:ca[0],name:ca[1]}}return{org:"file",name:aa}}function isDesignPage(la){return la?["data-model","marketplace-data-model","agents","workflow","security","ui","settings"].includes(la):!1}const useServeMode=()=>{const la=useNavigate(),aa=useMatches(),{processRepository:ca}=useRepositoryClone(),[ua,Sa]=reactExports.useState(""),[hl,pl]=reactExports.useState(null);return{initializeServeMode:reactExports.useCallback(async()=>{Sa("Connecting to local server..."),pl(null);try{Sa("Loading app configuration...");const gl=await fetchPackageInfo(),{org:wc,name:xu}=parsePackageName(gl),ff=`/${xu}`;Sa("Processing project...");const jf=await ca(ff,xu,xu,wc,"main"),Uf=aa[aa.length-1];if(isDesignPage(Uf?.id))return;const rp=`/design/agents/${wc}/${xu}`;la(jf?`${rp}/${jf}`:rp)}catch(gl){const wc=gl instanceof Error?gl.message:"An unknown error occurred";pl(wc),console.error("Failed to initialize serve mode:",gl)}finally{Sa("")}},[ca,la,aa]),loadingMessage:ua,error:hl}},CLI_URL="http://localhost:4000",useDependencyProcessor=()=>{const la=reactExports.useCallback(ca=>{if(!ca.dependencies)return[];const ua=[];for(const[Sa,hl]of Object.entries(ca.dependencies))typeof hl=="string"&&hl.startsWith("git+http")&&ua.push({appName:Sa,url:hl});return ua},[]),aa=reactExports.useCallback(async(ca,ua,Sa,hl)=>{let pl;{const jf=await fetch(`${CLI_URL}/file?path=${encodeURIComponent("package.json")}`);if(!jf.ok)throw new Error(`Failed to fetch package.json from CLI backend at ${CLI_URL}: ${jf.statusText}`);const{content:Uf}=await jf.json();pl=Uf}const ml=JSON.parse(pl),gl=la(ml);if(gl.length===0)return[];hl&&hl(`Installing ${gl.length} dependencies...`,0,gl.length);let wc;wc=await fetchDependenciesFromLocalServer(ca,gl);const xu=wc.filter(jf=>!jf.success),ff=wc.filter(jf=>jf.success);if(ff.length>0&&console.log(`✓ Successfully fetched ${ff.length} dependencies:`,ff.map(jf=>jf.appName).join(", ")),xu.length>0&&console.warn(`⚠ Failed to install ${xu.length} of ${gl.length} dependencies:`,xu.map(jf=>`${jf.appName} (${jf.message})`).join(", ")),ff.length>0){const{createFS:jf}=await __vitePreload(async()=>{const{createFS:rp}=await import("./fs-BxrTCdSt.js");return{createFS:rp}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4])),Uf=await jf({name:"studio",useCliBackend:!0});for(const rp of ff)if(rp.path)try{const np=`${rp.path}/package.json`;await Uf.exists(np)?console.log(`✓ ${rp.appName}: Verified package.json exists`):console.error(`✗ ${rp.appName}: package.json missing at ${np}`)}catch(np){console.error(`✗ ${rp.appName}: Verification failed:`,np)}}return wc},[la]);return{extractGitDependencies:la,processDependencies:aa}},IS_LOCAL_MODE$3=!0,integrationAxiosInstance=axiosInstance("connection-manager"),useIntegration=(la="api")=>{const{currentTeam:aa}=useTeams(),ca=aa?.GitHubRepo,ua=useQueryClient(),Sa=useAppStore(qw=>qw.authReady),hl=useAppStore(qw=>qw.isAuthenticated),pl=useAppStore(qw=>qw.user),ml=pl.GitHub.Token,gl=pl.GitHub.Username,{processDependencies:wc}=useDependencyProcessor(),xu=async qw=>{if(la==="config"&&ca)try{const J0=(await readDependencyPackageJsonFromGit(ca,qw))?.agentlang?.config||[];if(J0.length===0)return[];let Hw="";try{Hw=await readProjectFile(ca,"config.al")}catch{return console.log("config.al does not exist yet"),[]}const O1=parseAppConfig(Hw),Y0=[];return J0.forEach(G0=>{let X0=qw;if(!O1[X0]&&isFqName$1(G0)){const f_=nameToPath$1(G0).getModuleName();f_&&O1[f_]&&(X0=f_)}O1[X0]&&O1[X0][G0]&&Y0.push({entityFqn:G0,config:O1[X0][G0]})}),Y0}catch(K0){return console.error(`Error reading configs from config.al for ${qw}:`,K0),y$b.error(`Failed to load configs for ${qw}: ${K0.message}`),[]}return console.log(`[LOCAL_MODE] Skipping integration config fetch for ${qw}`),[]},{data:ff,isLoading:jf,isError:Uf,error:rp,refetch:np}=useQuery({queryKey:["integrations",ca,la],queryFn:async()=>{if(la==="config"&&ca)try{const Y0=(await readPackageJsonFromGit(ca,!0)).dependencies||{};let G0={};try{const f_=await readProjectFile(ca,"config.al");G0=parseAppConfig(f_)}catch{console.log("config.al does not exist yet")}const X0=/(?:git\+)?https:\/\/(?:[^@]+@)?github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,d_=[];return Object.entries(Y0).forEach(([f_,zN])=>{const BN=zN.match(X0);if(BN){const[,iF,yY]=BN;let vQ,Ihe=null;G0[yY]&&G0[yY].isRemoteIntegration!==void 0?(Ihe=G0[yY],vQ=Ihe.isRemoteIntegration):G0[f_]&&typeof G0[f_].isRemoteIntegration=="boolean"&&(Ihe=G0[f_],vQ=Ihe.isRemoteIntegration);const Lhe={name:Ihe?.name||f_,userData:{GitHubOrg:iF,GitHubRepo:yY}};vQ!==void 0&&(Lhe.userData.isRemoteIntegration=vQ),d_.push(Lhe)}else zN.startsWith("file:")}),d_}catch(O1){return console.warn("Failed to read integrations from package.json",O1),[]}const qw=await integrationAxiosInstance.get("/integmanager.core/integration"),{data:K0,status:J0}=qw;if(J0!==200)throw new Error("Failed to fetch integrations");return K0.map(O1=>({...O1.integration,userData:JSON.parse(O1.integration.userData)}))},enabled:Sa&&hl&&!0,staleTime:0,refetchOnWindowFocus:!0});Uf&&rp&&y$b.error(rp?.response?.data?.reason||rp.message);const qm=reactExports.useCallback(async()=>{await np()},[np]),Vm=reactExports.useCallback(async(qw,K0)=>{const J0=`/temp-validation/${qw}/${K0}`;let Hw=!1;try{if(!await pathExists(J0)){const d_=generateGitHubUrl(qw,K0,gl,ml);await cloneRepository(d_,J0,"main",ml||""),Hw=!0}let Y0;if(IS_LOCAL_MODE$3){const{createGitUtils:d_}=await __vitePreload(async()=>{const{createGitUtils:BN}=await Promise.resolve().then(()=>index$6);return{createGitUtils:BN}},void 0),{fs:f_}=await d_({useCliBackend:!1}),zN=`${J0}/package.json`;Y0=(await f_.readFile(zN)).toString()}const G0=JSON.parse(Y0),X0=G0?.agentlang?.config&&Array.isArray(G0.agentlang.config);if(Hw)try{await removeDirectory(J0)}catch(d_){console.warn("Failed to cleanup temporary clone:",d_)}return X0}catch(O1){if(Hw)try{await removeDirectory(J0)}catch(Y0){console.warn("Failed to cleanup temporary clone:",Y0)}throw O1}},[gl,ml]),eg=reactExports.useCallback(async qw=>{if(la==="config"&&ca){const K0=gl&&gl.trim().length>0,J0=ml&&ml.trim().length>0;if(!K0||!J0){const zN=new Error("GitHub credentials are required for local mode");throw zN.code="GITHUB_CREDENTIALS_REQUIRED",zN}const Hw=qw.userData.GitHubRepo,O1=qw.name,Y0=qw.userData.GitHubOrg;if(!Hw||!Y0)throw new Error("GitHub organization and repository name are required");if(!await Vm(Y0,Hw))throw new Error("The repository is not a valid AgentLang project. It must have a package.json with an agentlang.config field.");const X0=await readPackageJsonFromGit(ca);X0.dependencies||(X0.dependencies={});const d_=generateGitHubUrl(Y0,Hw,gl,ml);X0.dependencies[O1]=`git+${d_}#main`,await savePackageJsonToGit(ca,JSON.stringify(X0,null,2),`Add dependency for ${O1}`,gl,ml);const f_=`/${ca}`;try{await wc(f_,gl,ml)}catch(zN){throw console.error(`Failed to process dependencies for ${O1}:`,zN),y$b.error(`Failed to clone dependency: ${zN.message}`),zN}try{const zN=`${f_}/node_modules/${O1}`,BN=await readRepoFile(zN,"package.json"),iF=JSON.parse(BN);if(iF?.agentlang?.config&&Array.isArray(iF.agentlang.config)&&iF.agentlang.config.length>0){let yY="";try{yY=await readProjectFile(ca,"config.al")}catch{}const vQ=yY?parseAppConfig(yY):{};vQ[O1]||(vQ[O1]={}),iF.agentlang.config.forEach(Ihe=>{vQ[O1][Ihe]||(vQ[O1][Ihe]={})}),await saveConfigToGit(ca,formatAppConfig(vQ),`Add config for integration ${O1}`,gl,ml)}}catch(zN){console.warn(`Failed to create config maps for integration ${O1}:`,zN)}try{await flushAllAndLoad(f_,{name:"studio",useCliBackend:IS_LOCAL_MODE$3}),await ua.invalidateQueries({queryKey:["dependencies"]})}catch(zN){console.warn(`Failed to load modules for ${O1}:`,zN)}await ua.invalidateQueries({queryKey:["integrations",ca,la]}),await np(),y$b.success("Integration created successfully");return}try{const K0=await integrationAxiosInstance.post("/integmanager.core/integration",qw);if(K0.status===200||K0.status===201)await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration created successfully");else throw new Error(K0.data?.reason||K0.data?.message||"Failed to create integration")}catch(K0){const J0=K0?.response?.data?.reason||K0?.response?.data?.message||K0?.message||"Failed to create integration";throw new Error(J0)}},[ua,ca,gl,ml,la,Vm,wc,np]),tg=reactExports.useCallback(async qw=>{if(la==="config"&&ca)try{const K0=await readPackageJsonFromGit(ca);if(K0.dependencies&&K0.dependencies[qw]){const J0=K0.dependencies[qw],Hw=/(?:git\+)?https:\/\/github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,O1=J0.match(Hw),Y0=O1?O1[2]:null;let G0=null;if(Y0)try{const X0=await readDependencyPackageJsonFromGit(ca,qw);X0?.name&&(G0=X0.name.split("/").pop()?.split("@").pop()||null)}catch{console.log(`Could not read package.json for ${qw}, will try to remove by repo name`)}delete K0.dependencies[qw],await savePackageJsonToGit(ca,JSON.stringify(K0,null,2),`Remove dependency ${qw}`,gl,ml);try{const X0=await readProjectFile(ca,"config.al"),d_=parseAppConfig(X0);let f_=!1;if(Y0&&d_[Y0]&&(delete d_[Y0],f_=!0),G0&&d_[G0]&&(delete d_[G0],f_=!0),d_[qw]&&(delete d_[qw],f_=!0),f_){const zN=formatAppConfig(d_);await saveConfigToGit(ca,zN,`Remove integration ${qw} from config.al`,gl,ml)}}catch{console.log("config.al does not exist or error reading it")}await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration deleted successfully");return}else{y$b.info("Integration not found in dependencies");return}}catch(K0){throw console.error("Failed to delete integration:",K0),y$b.error(`Failed to delete integration: ${K0.message}`),K0}try{const K0=await integrationAxiosInstance.delete(`/integmanager.core/integration/${qw}`);if(console.log(K0.data),K0.status===200||K0.status===204)await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration deleted successfully");else{const J0=K0.data?.reason||K0.data?.message||`Failed to delete integration (Status: ${K0.status})`;throw y$b.error(J0),new Error(J0)}}catch(K0){const J0=K0?.response?.data?.reason||K0?.response?.data?.message||K0?.message||"Failed to delete integration";throw y$b.error(J0),K0}},[ua,ca,gl,ml,la]),rg=reactExports.useCallback(async(qw,K0)=>{if(la==="config"&&ca)try{const J0=K0.userData?.GitHubRepo,Hw=K0.userData?.GitHubOrg;if(!J0||!Hw)throw new Error("Missing GitHub info for update");const O1=await readPackageJsonFromGit(ca);O1.dependencies||(O1.dependencies={}),O1.dependencies[qw]=`git+https://github.com/${Hw}/${J0}.git#main`,await savePackageJsonToGit(ca,JSON.stringify(O1,null,2),`Update dependency ${qw}`,gl,ml),await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration updated successfully");return}catch(J0){throw console.error("Failed to update integration:",J0),y$b.error(`Failed to update integration: ${J0.message}`),J0}try{const J0=await integrationAxiosInstance.put(`/integmanager.core/integration/${qw}`,K0);if(console.log(J0.data),J0.status===200)ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration updated successfully");else{const Hw=J0.data?.reason||J0.data?.message||`Failed to update integration (Status: ${J0.status})`;throw y$b.error(Hw),new Error(Hw)}}catch(J0){const Hw=J0?.response?.data?.reason||J0?.response?.data?.message||J0?.message||"Failed to update integration";throw y$b.error(Hw),J0}},[ua,ca,gl,ml,la]),ig=reactExports.useCallback(async qw=>{if(la!=="api"||!ca){console.warn("addIntegrationToConfig only supported in 'api' mode with a valid githubRepo");return}try{const K0=qw.userData?.GitHubRepo,J0=qw.userData?.GitHubOrg,Hw=qw.name;if(!K0||!J0)throw new Error("GitHub organization and repository name are required");const O1=`git+https://github.com/${J0}/${K0}.git#main`,Y0=await readPackageJsonFromGit(ca);Y0.dependencies||(Y0.dependencies={}),Y0.dependencies[K0]=O1,await savePackageJsonToGit(ca,JSON.stringify(Y0,null,2),`Add integration ${Hw} from API`,gl,ml);const G0=`/${ca}`;try{await wc(G0,gl,ml),await flushAllAndLoad(G0,{name:"studio",useCliBackend:IS_LOCAL_MODE$3}),await ua.invalidateQueries({queryKey:["dependencies"]})}catch(f_){console.warn(`Failed to process dependencies for ${Hw}:`,f_)}let X0={};try{const f_=await readProjectFile(ca,"config.al");X0=parseAppConfig(f_)}catch{console.log("config.al does not exist yet, will create it")}X0[K0]={isRemoteIntegration:!0,name:Hw,url:O1};const d_=formatAppConfig(X0);await saveConfigToGit(ca,d_,`Add integration ${Hw} to config.al`,gl,ml),await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success(`Integration ${Hw} added successfully`)}catch(K0){throw console.error("Error adding integration to config:",K0),y$b.error(`Failed to add integration: ${K0.message}`),K0}},[ca,gl,ml,la,ua,wc]),vv=reactExports.useCallback(async qw=>{if(la!=="api"||!ca){console.warn("removeIntegrationFromConfig only supported in 'api' mode with a valid githubRepo");return}try{const K0=qw.userData?.GitHubRepo,J0=qw.name;if(!K0)throw new Error("GitHub repository name is required");const Hw=await readPackageJsonFromGit(ca);Hw.dependencies&&Hw.dependencies[J0]&&(delete Hw.dependencies[J0],await savePackageJsonToGit(ca,JSON.stringify(Hw,null,2),`Remove integration ${J0} from API`,gl,ml));try{const O1=await readProjectFile(ca,"config.al"),Y0=parseAppConfig(O1);if(Y0[K0]){delete Y0[K0];const G0=formatAppConfig(Y0);await saveConfigToGit(ca,G0,`Remove integration ${J0} from config.al`,gl,ml)}}catch{console.log("config.al does not exist or error reading it")}await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success(`Integration ${J0} removed successfully`)}catch(K0){throw console.error("Error removing integration from config:",K0),y$b.error(`Failed to remove integration: ${K0.message}`),K0}},[ca,gl,ml,la,ua]),k1=reactExports.useCallback(async()=>{if(!ca)return console.warn("readAllConfigsFromPackageJson requires a valid githubRepo"),{};try{const K0=(await readPackageJsonFromGit(ca,!0)).dependencies||{},J0={};for(const[Hw]of Object.entries(K0))try{const O1=await readDependencyPackageJsonFromGit(ca,Hw);O1?.agentlang?.config&&Array.isArray(O1.agentlang.config)&&(J0[Hw]=O1.agentlang.config)}catch(O1){console.warn(`Failed to read package.json for dependency ${Hw}:`,O1.message)}return J0}catch(qw){throw console.error("Failed to read all configs from package.json:",qw),new Error(`Failed to read all configs: ${qw.message}`)}},[ca]);return{integrationData:ff,isLoadingIntegrations:jf,isErrorIntegrations:Uf,integrationsError:rp,fetchIntegrations:qm,fetchIntegrationConnectionConfigs:xu,createIntegration:eg,deleteIntegration:tg,updateIntegration:rg,addIntegrationToConfig:ig,removeIntegrationFromConfig:vv,readAllConfigsFromPackageJson:k1}},IS_PLAYGROUND$6=!1,IS_LOCAL_MODE$2=!0,useDeployments=()=>{const la=useQueryClient(),aa=useAppStore(ff=>ff.authReady),ca=useAppStore(ff=>ff.isAuthenticated),{data:ua,isLoading:Sa,isError:hl,error:pl,refetch:ml}=useQuery({queryKey:["deployments"],queryFn:async()=>(console.log("[SERVE_MODE] Skipping deployments fetch - returning empty object"),{}),enabled:aa&&ca&&!IS_PLAYGROUND$6&&!IS_LOCAL_MODE$2});hl&&pl&&y$b.error(pl?.response?.data?.reason||pl.message);const gl=reactExports.useCallback(async()=>{{console.log("[SERVE_MODE] Skipping deployments fetch");return}},[ml]),wc=reactExports.useCallback(async ff=>{try{if(IS_PLAYGROUND$6||IS_LOCAL_MODE$2)return console.log(`[${IS_PLAYGROUND$6?"PLAYGROUND":"SERVE_MODE"}] Skipping app deployment`),y$b.success(`App deployed successfully! (${IS_PLAYGROUND$6?"playground":"serve"} mode)`),{success:!0};const jf=await axiosInstance("deployment").post("/Deployment/DeployApp",ff);return y$b.success("App deployed successfully!"),la.invalidateQueries({queryKey:["deployments"]}),jf.data}catch(jf){throw y$b.error(jf?.response?.data?.reason||"Failed to deploy app"),jf}},[la]),xu=reactExports.useCallback(async ff=>{try{if(IS_PLAYGROUND$6||IS_LOCAL_MODE$2)return console.log(`[${IS_PLAYGROUND$6?"PLAYGROUND":"SERVE_MODE"}] Skipping app undeployment`),y$b.success(`App undeployed successfully! (${IS_PLAYGROUND$6?"playground":"serve"} mode)`),{success:!0};const jf=await axiosInstance("deployment").post("/Deployment/UndeployApp",ff);return y$b.success("App undeployed successfully!"),la.invalidateQueries({queryKey:["deployments"]}),jf.data}catch(jf){throw y$b.error(jf?.response?.data?.reason||"Failed to undeploy app"),jf}},[la]);return{deploymentsData:ua,isLoadingDeployments:Sa,isErrorDeployments:hl,deploymentsError:pl,fetchDeployments:gl,deployApp:wc,undeployApp:xu}};let globalInitializationState={isInitializing:!1,isInitialized:!1,error:null,retryCount:0,progress:{userLoaded:!1,workspaceLoaded:!1,dataLoaded:!1}};const listeners=new Set,updateGlobalState=la=>{globalInitializationState={...globalInitializationState,...la},listeners.forEach(aa=>aa(globalInitializationState))},useAppInitialization=()=>{const[la,aa]=reactExports.useState(globalInitializationState),ca=reactExports.useRef(!1),{setUser:ua,user:Sa,lastDataFetch:hl,setLastDataFetch:pl}=useAppStore(),ml=axiosInstance("meta"),{fetchWorkspaceApps:gl}=useTeams(),{fetchIntegrations:wc}=useIntegration(),{fetchDeployments:xu}=useDeployments(),{fetchLLMs:ff}=useLLM();reactExports.useEffect(()=>{const ig=vv=>{aa(vv)};return listeners.add(ig),()=>{listeners.delete(ig)}},[]);const jf=reactExports.useCallback(ig=>{const vv={...globalInitializationState,progress:{...globalInitializationState.progress,...ig}};updateGlobalState(vv)},[]),Uf=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ig=localStorage.getItem("agentlang-studio-store");if(!ig)return!1;try{const vv=JSON.parse(ig),k1=vv.state&&vv.state.user&&vv.state.user.Email,qw=vv.state&&vv.state.workspace&&vv.state.workspace.Id,K0=vv.state&&vv.state.lastDataFetch&&vv.state.lastDataFetch>0;return k1&&qw&&K0}catch(vv){return console.warn("Failed to parse cached store:",vv),!1}},[]),rp=reactExports.useCallback(()=>{if(hl===0)return!0;const ig=Date.now()-600*1e3;if(hl>ig)return!1;const vv=Date.now()-300*1e3;return hl<vv},[hl]),np=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ig=localStorage.getItem("agentlang-studio-store");if(!ig)return!1;try{const vv=JSON.parse(ig);if(vv.state&&vv.state.user&&vv.state.user.Email)return jf({userLoaded:!0}),!0}catch(vv){console.warn("Failed to parse cached store:",vv)}return!1},[jf]),qm=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ig=localStorage.getItem("workspace_id"),vv=localStorage.getItem("username");return ig&&vv?(jf({workspaceLoaded:!0}),!0):!1},[jf]),Vm=reactExports.useCallback(async(ig,vv,k1=!1)=>{{console.log("[DEV MODE] Skipping app data initialization - no API calls needed"),jf({dataLoaded:!0});return}},[gl,wc,xu,ff,jf,pl]),eg=reactExports.useCallback(async(ig=0)=>{if(!ca.current){console.log("[DEV MODE] Skipping app initialization - no API calls needed"),pl(Date.now()),updateGlobalState({isInitializing:!1,isInitialized:!0,retryCount:0,progress:{userLoaded:!0,workspaceLoaded:!0,dataLoaded:!0}}),y$b.success("App initialized in dev mode");return}},[ml,ua,Sa,Vm,jf,Uf,np,qm,rp,pl]),tg=reactExports.useCallback(()=>{updateGlobalState({retryCount:0}),ca.current=!1,eg()},[eg]),rg=reactExports.useCallback(()=>{updateGlobalState({isInitializing:!1,isInitialized:!1,error:null,retryCount:0,progress:{userLoaded:!1,workspaceLoaded:!1,dataLoaded:!1}}),ca.current=!1},[]);return reactExports.useEffect(()=>()=>{ca.current=!1},[]),{...la,initializeApp:eg,retryInitialization:tg,resetInitialization:rg}};var t$9=typeof window<"u"?window:void 0,i$a=typeof globalThis<"u"?globalThis:t$9;typeof self>"u"&&(i$a.self=i$a),typeof File>"u"&&(i$a.File=function(){});var e$a=Array.prototype,r$d=e$a.forEach,s$f=e$a.indexOf,n$9=i$a?.navigator,o$d=i$a?.document,a$i=i$a?.location,l$9=i$a?.fetch,u$h=i$a!=null&&i$a.XMLHttpRequest&&"withCredentials"in new i$a.XMLHttpRequest?i$a.XMLHttpRequest:void 0,h$c=i$a?.AbortController,d$6=n$9?.userAgent,v$7=t$9??{},c$e={DEBUG:!1,LIB_VERSION:"1.311.0"};function f$g(la,aa,ca,ua,Sa,hl,pl){try{var ml=la[hl](pl),gl=ml.value}catch(wc){return void ca(wc)}ml.done?aa(gl):Promise.resolve(gl).then(ua,Sa)}function p$c(la){return function(){var aa=this,ca=arguments;return new Promise((function(ua,Sa){var hl=la.apply(aa,ca);function pl(gl){f$g(hl,ua,Sa,pl,ml,"next",gl)}function ml(gl){f$g(hl,ua,Sa,pl,ml,"throw",gl)}pl(void 0)}))}}function g$8(){return g$8=Object.assign?Object.assign.bind():function(la){for(var aa=1;aa<arguments.length;aa++){var ca=arguments[aa];for(var ua in ca)({}).hasOwnProperty.call(ca,ua)&&(la[ua]=ca[ua])}return la},g$8.apply(null,arguments)}function _$7(la,aa){if(la==null)return{};var ca={};for(var ua in la)if({}.hasOwnProperty.call(la,ua)){if(aa.indexOf(ua)!==-1)continue;ca[ua]=la[ua]}return ca}var m$8=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],y$a=function(la,aa){if(aa===void 0&&(aa=[]),!la)return!1;var ca=la.toLowerCase();return m$8.concat(aa).some((ua=>{var Sa=ua.toLowerCase();return ca.indexOf(Sa)!==-1}))},b$8=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function w$9(la,aa){return la.indexOf(aa)!==-1}var x$6=function(la){return la.trim()},E$7=function(la){return la.replace(/^\$/,"")},S$a=Array.isArray,k$a=Object.prototype,P$9=k$a.hasOwnProperty,T$a=k$a.toString,I$8=S$a||function(la){return T$a.call(la)==="[object Array]"},C$c=la=>typeof la=="function",R$3=la=>la===Object(la)&&!I$8(la),F$8=la=>{if(R$3(la)){for(var aa in la)if(P$9.call(la,aa))return!1;return!0}return!1},M$6=la=>la===void 0,O$5=la=>T$a.call(la)=="[object String]",A$7=la=>O$5(la)&&la.trim().length===0,D$b=la=>la===null,j$a=la=>M$6(la)||D$b(la),L$6=la=>T$a.call(la)=="[object Number]",N$6=la=>T$a.call(la)==="[object Boolean]",U$4=la=>la instanceof FormData,z$5=la=>w$9(b$8,la);function H$9(la){return la===null||typeof la!="object"}function B$5(la,aa){return Object.prototype.toString.call(la)==="[object "+aa+"]"}function q$6(la){return!M$6(Event)&&(function(aa,ca){try{return aa instanceof ca}catch{return!1}})(la,Event)}var W$4=[!0,"true",1,"1","yes"],G$5=la=>w$9(W$4,la),V$7=[!1,"false",0,"0","no"];function J$5(la,aa,ca,ua,Sa){return aa>ca&&(ua.warn("min cannot be greater than max."),aa=ca),L$6(la)?la>ca?(ua.warn(" cannot be greater than max: "+ca+". Using max value instead."),ca):la<aa?(ua.warn(" cannot be less than min: "+aa+". Using min value instead."),aa):la:(ua.warn(" must be a number. using max or fallback. max: "+ca+", fallback: "+Sa),J$5(Sa||ca,aa,ca,ua))}let K$6=class{constructor(aa){this.t={},this.i=aa.i,this.o=J$5(aa.bucketSize,0,100,aa.h),this.m=J$5(aa.refillRate,0,this.o,aa.h),this.$=J$5(aa.refillInterval,0,864e5,aa.h)}S(aa,ca){var ua=ca-aa.lastAccess,Sa=Math.floor(ua/this.$);if(Sa>0){var hl=Sa*this.m;aa.tokens=Math.min(aa.tokens+hl,this.o),aa.lastAccess=aa.lastAccess+Sa*this.$}}consumeRateLimit(aa){var ca,ua=Date.now(),Sa=String(aa),hl=this.t[Sa];return hl?this.S(hl,ua):(hl={tokens:this.o,lastAccess:ua},this.t[Sa]=hl),hl.tokens===0||(hl.tokens--,hl.tokens===0&&((ca=this.i)==null||ca.call(this,aa)),hl.tokens===0)}stop(){this.t={}}};var Y$3="Mobile",X$4="iOS",Q$5="Android",Z$4="Tablet",tt$1=Q$5+" "+Z$4,it$1="iPad",et$1="Apple",rt$1=et$1+" Watch",st$1="Safari",nt$1="BlackBerry",ot$1="Samsung",at$1=ot$1+"Browser",lt$1=ot$1+" Internet",ut$1="Chrome",ht$1=ut$1+" OS",dt$2=ut$1+" "+X$4,vt$1="Internet Explorer",ct$1=vt$1+" "+Y$3,ft$1="Opera",pt$1=ft$1+" Mini",gt$2="Edge",_t$1="Microsoft "+gt$2,mt$1="Firefox",yt$1=mt$1+" "+X$4,bt="Nintendo",wt$1="PlayStation",xt="Xbox",Et$2=Q$5+" "+Y$3,$t=Y$3+" "+st$1,St$1="Windows",kt$1=St$1+" Phone",Pt$2="Nokia",Tt$1="Ouya",It$1="Generic",Ct$1=It$1+" "+Y$3.toLowerCase(),Rt$1=It$1+" "+Z$4.toLowerCase(),Ft$2="Konqueror",Mt$2="(\\d+(\\.\\d+)?)",Ot=new RegExp("Version/"+Mt$2),At$1=new RegExp(xt,"i"),Dt$1=new RegExp(wt$1+" \\w+","i"),jt=new RegExp(bt+" \\w+","i"),Lt=new RegExp(nt$1+"|PlayBook|BB10","i"),Nt={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},Ut,zt,Ht,Bt$1=(la,aa)=>aa&&w$9(aa,et$1)||(function(ca){return w$9(ca,st$1)&&!w$9(ca,ut$1)&&!w$9(ca,Q$5)})(la),qt=function(la,aa){return aa=aa||"",w$9(la," OPR/")&&w$9(la,"Mini")?pt$1:w$9(la," OPR/")?ft$1:Lt.test(la)?nt$1:w$9(la,"IE"+Y$3)||w$9(la,"WPDesktop")?ct$1:w$9(la,at$1)?lt$1:w$9(la,gt$2)||w$9(la,"Edg/")?_t$1:w$9(la,"FBIOS")?"Facebook "+Y$3:w$9(la,"UCWEB")||w$9(la,"UCBrowser")?"UC Browser":w$9(la,"CriOS")?dt$2:w$9(la,"CrMo")||w$9(la,ut$1)?ut$1:w$9(la,Q$5)&&w$9(la,st$1)?Et$2:w$9(la,"FxiOS")?yt$1:w$9(la.toLowerCase(),Ft$2.toLowerCase())?Ft$2:Bt$1(la,aa)?w$9(la,Y$3)?$t:st$1:w$9(la,mt$1)?mt$1:w$9(la,"MSIE")||w$9(la,"Trident/")?vt$1:w$9(la,"Gecko")?mt$1:""},Wt={[ct$1]:[new RegExp("rv:"+Mt$2)],[_t$1]:[new RegExp(gt$2+"?\\/"+Mt$2)],[ut$1]:[new RegExp("("+ut$1+"|CrMo)\\/"+Mt$2)],[dt$2]:[new RegExp("CriOS\\/"+Mt$2)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Mt$2)],[st$1]:[Ot],[$t]:[Ot],[ft$1]:[new RegExp("(Opera|OPR)\\/"+Mt$2)],[mt$1]:[new RegExp(mt$1+"\\/"+Mt$2)],[yt$1]:[new RegExp("FxiOS\\/"+Mt$2)],[Ft$2]:[new RegExp("Konqueror[:/]?"+Mt$2,"i")],[nt$1]:[new RegExp(nt$1+" "+Mt$2),Ot],[Et$2]:[new RegExp("android\\s"+Mt$2,"i")],[lt$1]:[new RegExp(at$1+"\\/"+Mt$2)],[vt$1]:[new RegExp("(rv:|MSIE )"+Mt$2)],Mozilla:[new RegExp("rv:"+Mt$2)]},Gt=function(la,aa){var ca=qt(la,aa),ua=Wt[ca];if(M$6(ua))return null;for(var Sa=0;Sa<ua.length;Sa++){var hl=ua[Sa],pl=la.match(hl);if(pl)return parseFloat(pl[pl.length-2])}return null},Vt=[[new RegExp(xt+"; "+xt+" (.*?)[);]","i"),la=>[xt,la&&la[1]||""]],[new RegExp(bt,"i"),[bt,""]],[new RegExp(wt$1,"i"),[wt$1,""]],[Lt,[nt$1,""]],[new RegExp(St$1,"i"),(la,aa)=>{if(/Phone/.test(aa)||/WPDesktop/.test(aa))return[kt$1,""];if(new RegExp(Y$3).test(aa)&&!/IEMobile\b/.test(aa))return[St$1+" "+Y$3,""];var ca=/Windows NT ([0-9.]+)/i.exec(aa);if(ca&&ca[1]){var ua=ca[1],Sa=Nt[ua]||"";return/arm/i.test(aa)&&(Sa="RT"),[St$1,Sa]}return[St$1,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,la=>{if(la&&la[3]){var aa=[la[3],la[4],la[5]||"0"];return[X$4,aa.join(".")]}return[X$4,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,la=>{var aa="";return la&&la.length>=3&&(aa=M$6(la[2])?la[3]:la[2]),["watchOS",aa]}],[new RegExp("("+Q$5+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+Q$5+")","i"),la=>{if(la&&la[2]){var aa=[la[2],la[3],la[4]||"0"];return[Q$5,aa.join(".")]}return[Q$5,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,la=>{var aa=["Mac OS X",""];if(la&&la[1]){var ca=[la[1],la[2],la[3]||"0"];aa[1]=ca.join(".")}return aa}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[ht$1,""]],[/Linux|debian/i,["Linux",""]]],Jt=function(la){return jt.test(la)?bt:Dt$1.test(la)?wt$1:At$1.test(la)?xt:new RegExp(Tt$1,"i").test(la)?Tt$1:new RegExp("("+kt$1+"|WPDesktop)","i").test(la)?kt$1:/iPad/.test(la)?it$1:/iPod/.test(la)?"iPod Touch":/iPhone/.test(la)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(la)?rt$1:Lt.test(la)?nt$1:/(kobo)\s(ereader|touch)/i.test(la)?"Kobo":new RegExp(Pt$2,"i").test(la)?Pt$2:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(la)||/(kf[a-z]+)( bui|\)).+silk\//i.test(la)?"Kindle Fire":/(Android|ZTE)/i.test(la)?new RegExp(Y$3).test(la)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(la)||/pixel[\daxl ]{1,6}/i.test(la)&&!/pixel c/i.test(la)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(la)||/lmy47v/i.test(la)&&!/QTAQZ3/i.test(la)?Q$5:tt$1:new RegExp("(pda|"+Y$3+")","i").test(la)?Ct$1:new RegExp(Z$4,"i").test(la)&&!new RegExp(Z$4+" pc","i").test(la)?Rt$1:""},Kt=la=>la instanceof Error;function Yt(la){var aa=globalThis._posthogChunkIds;if(aa){var ca=Object.keys(aa);return Ht&&ca.length===zt||(zt=ca.length,Ht=ca.reduce(((ua,Sa)=>{Ut||(Ut={});var hl=Ut[Sa];if(hl)ua[hl[0]]=hl[1];else for(var pl=la(Sa),ml=pl.length-1;ml>=0;ml--){var gl=pl[ml],wc=gl?.filename,xu=aa[Sa];if(wc&&xu){ua[wc]=xu,Ut[Sa]=[wc,xu];break}}return ua}),{})),Ht}}class Xt{constructor(aa,ca,ua){ua===void 0&&(ua=[]),this.coercers=aa,this.stackParser=ca,this.modifiers=ua}buildFromUnknown(aa,ca){ca===void 0&&(ca={});var ua=ca&&ca.mechanism||{handled:!0,type:"generic"},Sa=this.buildCoercingContext(ua,ca,0).apply(aa),hl=this.buildParsingContext(),pl=this.parseStacktrace(Sa,hl);return{$exception_list:this.convertToExceptionList(pl,ua),$exception_level:"error"}}modifyFrames(aa){var ca=this;return p$c((function*(){for(var ua of aa)ua.stacktrace&&ua.stacktrace.frames&&I$8(ua.stacktrace.frames)&&(ua.stacktrace.frames=yield ca.applyModifiers(ua.stacktrace.frames));return aa}))()}coerceFallback(aa){var ca;return{type:"Error",value:"Unknown error",stack:(ca=aa.syntheticException)==null?void 0:ca.stack,synthetic:!0}}parseStacktrace(aa,ca){var ua,Sa;return aa.cause!=null&&(ua=this.parseStacktrace(aa.cause,ca)),aa.stack!=""&&aa.stack!=null&&(Sa=this.applyChunkIds(this.stackParser(aa.stack,aa.synthetic?1:0),ca.chunkIdMap)),g$8({},aa,{cause:ua,stack:Sa})}applyChunkIds(aa,ca){return aa.map((ua=>(ua.filename&&ca&&(ua.chunk_id=ca[ua.filename]),ua)))}applyCoercers(aa,ca){for(var ua of this.coercers)if(ua.match(aa))return ua.coerce(aa,ca);return this.coerceFallback(ca)}applyModifiers(aa){var ca=this;return p$c((function*(){var ua=aa;for(var Sa of ca.modifiers)ua=yield Sa(ua);return ua}))()}convertToExceptionList(aa,ca){var ua,Sa,hl,pl={type:aa.type,value:aa.value,mechanism:{type:(ua=ca.type)!==null&&ua!==void 0?ua:"generic",handled:(Sa=ca.handled)===null||Sa===void 0||Sa,synthetic:(hl=aa.synthetic)!==null&&hl!==void 0&&hl}};aa.stack&&(pl.stacktrace={type:"raw",frames:aa.stack});var ml=[pl];return aa.cause!=null&&ml.push(...this.convertToExceptionList(aa.cause,g$8({},ca,{handled:!0}))),ml}buildParsingContext(){return{chunkIdMap:Yt(this.stackParser)}}buildCoercingContext(aa,ca,ua){ua===void 0&&(ua=0);var Sa=(hl,pl)=>{if(pl<=4){var ml=this.buildCoercingContext(aa,ca,pl);return this.applyCoercers(hl,ml)}};return g$8({},ca,{syntheticException:ua==0?ca.syntheticException:void 0,mechanism:aa,apply:hl=>Sa(hl,ua),next:hl=>Sa(hl,ua+1)})}}var Qt="?";function Zt(la,aa,ca,ua,Sa){var hl={platform:la,filename:aa,function:ca==="<anonymous>"?Qt:ca,in_app:!0};return M$6(ua)||(hl.lineno=ua),M$6(Sa)||(hl.colno=Sa),hl}var ti=(la,aa)=>{var ca=la.indexOf("safari-extension")!==-1,ua=la.indexOf("safari-web-extension")!==-1;return ca||ua?[la.indexOf("@")!==-1?la.split("@")[0]:Qt,ca?"safari-extension:"+aa:"safari-web-extension:"+aa]:[la,aa]},ii=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,ei=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,ri=/\((\S*)(?::(\d+))(?::(\d+))\)/,si=(la,aa)=>{var ca=ii.exec(la);if(ca){var[,ua,Sa,hl]=ca;return Zt(aa,ua,Qt,+Sa,+hl)}var pl=ei.exec(la);if(pl){if(pl[2]&&pl[2].indexOf("eval")===0){var ml=ri.exec(pl[2]);ml&&(pl[2]=ml[1],pl[3]=ml[2],pl[4]=ml[3])}var[gl,wc]=ti(pl[1]||Qt,pl[2]);return Zt(aa,wc,gl,pl[3]?+pl[3]:void 0,pl[4]?+pl[4]:void 0)}},ni=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,oi=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,ai=(la,aa)=>{var ca=ni.exec(la);if(ca){if(ca[3]&&ca[3].indexOf(" > eval")>-1){var ua=oi.exec(ca[3]);ua&&(ca[1]=ca[1]||"eval",ca[3]=ua[1],ca[4]=ua[2],ca[5]="")}var Sa=ca[3],hl=ca[1]||Qt;return[hl,Sa]=ti(hl,Sa),Zt(aa,Sa,hl,ca[4]?+ca[4]:void 0,ca[5]?+ca[5]:void 0)}},li=/\(error: (.*)\)/,ui=50;function hi(la){for(var aa=arguments.length,ca=new Array(aa>1?aa-1:0),ua=1;ua<aa;ua++)ca[ua-1]=arguments[ua];return function(Sa,hl){hl===void 0&&(hl=0);for(var pl=[],ml=Sa.split(`
19413
+ `);var L$7=la=>typeof la=="number"&&!isNaN(la),N$7=la=>typeof la=="string",P$a=la=>typeof la=="function",mt$2=la=>N$7(la)||L$7(la),B$6=la=>N$7(la)||P$a(la)?la:null,pt$2=(la,aa)=>la===!1||L$7(la)&&la>0?la:aa,z$6=la=>reactExports.isValidElement(la)||N$7(la)||P$a(la)||L$7(la);function Z$5(la,aa,ca=300){let{scrollHeight:ua,style:Sa}=la;requestAnimationFrame(()=>{Sa.minHeight="initial",Sa.height=ua+"px",Sa.transition=`all ${ca}ms`,requestAnimationFrame(()=>{Sa.height="0",Sa.padding="0",Sa.margin="0",setTimeout(aa,ca)})})}function $$6({enter:la,exit:aa,appendPosition:ca=!1,collapse:ua=!0,collapseDuration:Sa=300}){return function({children:hl,position:pl,preventExitTransition:ml,done:gl,nodeRef:wc,isIn:xu,playToast:ff}){let jf=ca?`${la}--${pl}`:la,Uf=ca?`${aa}--${pl}`:aa,rp=reactExports.useRef(0);return reactExports.useLayoutEffect(()=>{let np=wc.current,qm=jf.split(" "),Vm=eg=>{eg.target===wc.current&&(ff(),np.removeEventListener("animationend",Vm),np.removeEventListener("animationcancel",Vm),rp.current===0&&eg.type!=="animationcancel"&&np.classList.remove(...qm))};np.classList.add(...qm),np.addEventListener("animationend",Vm),np.addEventListener("animationcancel",Vm)},[]),reactExports.useEffect(()=>{let np=wc.current,qm=()=>{np.removeEventListener("animationend",qm),ua?Z$5(np,gl,Sa):gl()};xu||(ml?qm():(rp.current=1,np.className+=` ${Uf}`,np.addEventListener("animationend",qm)))},[xu]),React.createElement(React.Fragment,null,hl)}}function J$6(la,aa){return{content:tt$2(la.content,la.props),containerId:la.props.containerId,id:la.props.toastId,theme:la.props.theme,type:la.props.type,data:la.props.data||{},isLoading:la.props.isLoading,icon:la.props.icon,reason:la.removalReason,status:aa}}function tt$2(la,aa,ca=!1){return reactExports.isValidElement(la)&&!N$7(la.type)?reactExports.cloneElement(la,{closeToast:aa.closeToast,toastProps:aa,data:aa.data,isPaused:ca}):P$a(la)?la({closeToast:aa.closeToast,toastProps:aa,data:aa.data,isPaused:ca}):la}function yt$2({closeToast:la,theme:aa,ariaLabel:ca="close"}){return React.createElement("button",{className:`Toastify__close-button Toastify__close-button--${aa}`,type:"button",onClick:ua=>{ua.stopPropagation(),la(!0)},"aria-label":ca},React.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},React.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function gt$3({delay:la,isRunning:aa,closeToast:ca,type:ua="default",hide:Sa,className:hl,controlledProgress:pl,progress:ml,rtl:gl,isIn:wc,theme:xu}){let ff=Sa||pl&&ml===0,jf={animationDuration:`${la}ms`,animationPlayState:aa?"running":"paused"};pl&&(jf.transform=`scaleX(${ml})`);let Uf=clsx("Toastify__progress-bar",pl?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${xu}`,`Toastify__progress-bar--${ua}`,{"Toastify__progress-bar--rtl":gl}),rp=P$a(hl)?hl({rtl:gl,type:ua,defaultClassName:Uf}):clsx(Uf,hl),np={[pl&&ml>=1?"onTransitionEnd":"onAnimationEnd"]:pl&&ml<1?null:()=>{wc&&ca()}};return React.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":ff},React.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${xu} Toastify__progress-bar--${ua}`}),React.createElement("div",{role:"progressbar","aria-hidden":ff?"true":"false","aria-label":"notification timer",className:rp,style:jf,...np}))}var Xt$1=1,at$2=()=>`${Xt$1++}`;function _t$2(la,aa,ca){let ua=1,Sa=0,hl=[],pl=[],ml=aa,gl=new Map,wc=new Set,xu=eg=>(wc.add(eg),()=>wc.delete(eg)),ff=()=>{pl=Array.from(gl.values()),wc.forEach(eg=>eg())},jf=({containerId:eg,toastId:tg,updateId:rg})=>{let ig=eg?eg!==la:la!==1,vv=gl.has(tg)&&rg==null;return ig||vv},Uf=(eg,tg)=>{gl.forEach(rg=>{var ig;(tg==null||tg===rg.props.toastId)&&((ig=rg.toggle)==null||ig.call(rg,eg))})},rp=eg=>{var tg,rg;(rg=(tg=eg.props)==null?void 0:tg.onClose)==null||rg.call(tg,eg.removalReason),eg.isActive=!1},np=eg=>{if(eg==null)gl.forEach(rp);else{let tg=gl.get(eg);tg&&rp(tg)}ff()},qm=()=>{Sa-=hl.length,hl=[]},Vm=eg=>{var tg,rg;let{toastId:ig,updateId:vv}=eg.props,k1=vv==null;eg.staleId&&gl.delete(eg.staleId),eg.isActive=!0,gl.set(ig,eg),ff(),ca(J$6(eg,k1?"added":"updated")),k1&&((rg=(tg=eg.props).onOpen)==null||rg.call(tg))};return{id:la,props:ml,observe:xu,toggle:Uf,removeToast:np,toasts:gl,clearQueue:qm,buildToast:(eg,tg)=>{if(jf(tg))return;let{toastId:rg,updateId:ig,data:vv,staleId:k1,delay:qw}=tg,K0=ig==null;K0&&Sa++;let J0={...ml,style:ml.toastStyle,key:ua++,...Object.fromEntries(Object.entries(tg).filter(([O1,Y0])=>Y0!=null)),toastId:rg,updateId:ig,data:vv,isIn:!1,className:B$6(tg.className||ml.toastClassName),progressClassName:B$6(tg.progressClassName||ml.progressClassName),autoClose:tg.isLoading?!1:pt$2(tg.autoClose,ml.autoClose),closeToast(O1){gl.get(rg).removalReason=O1,np(rg)},deleteToast(){let O1=gl.get(rg);if(O1!=null){if(ca(J$6(O1,"removed")),gl.delete(rg),Sa--,Sa<0&&(Sa=0),hl.length>0){Vm(hl.shift());return}ff()}}};J0.closeButton=ml.closeButton,tg.closeButton===!1||z$6(tg.closeButton)?J0.closeButton=tg.closeButton:tg.closeButton===!0&&(J0.closeButton=z$6(ml.closeButton)?ml.closeButton:!0);let Hw={content:eg,props:J0,staleId:k1};ml.limit&&ml.limit>0&&Sa>ml.limit&&K0?hl.push(Hw):L$7(qw)?setTimeout(()=>{Vm(Hw)},qw):Vm(Hw)},setProps(eg){ml=eg},setToggle:(eg,tg)=>{let rg=gl.get(eg);rg&&(rg.toggle=tg)},isToastActive:eg=>{var tg;return(tg=gl.get(eg))==null?void 0:tg.isActive},getSnapshot:()=>pl}}var I$9=new Map,F$9=[],st$2=new Set,Vt$1=la=>st$2.forEach(aa=>aa(la)),bt$1=()=>I$9.size>0;function Qt$1(){F$9.forEach(la=>nt$2(la.content,la.options)),F$9=[]}var vt$2=(la,{containerId:aa})=>{var ca;return(ca=I$9.get(aa||1))==null?void 0:ca.toasts.get(la)};function X$5(la,aa){var ca;if(aa)return!!((ca=I$9.get(aa))!=null&&ca.isToastActive(la));let ua=!1;return I$9.forEach(Sa=>{Sa.isToastActive(la)&&(ua=!0)}),ua}function ht$2(la){if(!bt$1()){F$9=F$9.filter(aa=>la!=null&&aa.options.toastId!==la);return}if(la==null||mt$2(la))I$9.forEach(aa=>{aa.removeToast(la)});else if(la&&("containerId"in la||"id"in la)){let aa=I$9.get(la.containerId);aa?aa.removeToast(la.id):I$9.forEach(ca=>{ca.removeToast(la.id)})}}var Ct$2=(la={})=>{I$9.forEach(aa=>{aa.props.limit&&(!la.containerId||aa.id===la.containerId)&&aa.clearQueue()})};function nt$2(la,aa){z$6(la)&&(bt$1()||F$9.push({content:la,options:aa}),I$9.forEach(ca=>{ca.buildToast(la,aa)}))}function xt$1(la){var aa;(aa=I$9.get(la.containerId||1))==null||aa.setToggle(la.id,la.fn)}function rt$2(la,aa){I$9.forEach(ca=>{(aa==null||!(aa!=null&&aa.containerId)||aa?.containerId===ca.id)&&ca.toggle(la,aa?.id)})}function Et$3(la){let aa=la.containerId||1;return{subscribe(ca){let ua=_t$2(aa,la,Vt$1);I$9.set(aa,ua);let Sa=ua.observe(ca);return Qt$1(),()=>{Sa(),I$9.delete(aa)}},setProps(ca){var ua;(ua=I$9.get(aa))==null||ua.setProps(ca)},getSnapshot(){var ca;return(ca=I$9.get(aa))==null?void 0:ca.getSnapshot()}}}function Pt$3(la){return st$2.add(la),()=>{st$2.delete(la)}}function Wt$1(la){return la&&(N$7(la.toastId)||L$7(la.toastId))?la.toastId:at$2()}function U$5(la,aa){return nt$2(la,aa),aa.toastId}function V$8(la,aa){return{...aa,type:aa&&aa.type||la,toastId:Wt$1(aa)}}function Q$6(la){return(aa,ca)=>U$5(aa,V$8(la,ca))}function y$b(la,aa){return U$5(la,V$8("default",aa))}y$b.loading=(la,aa)=>U$5(la,V$8("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...aa}));function Gt$1(la,{pending:aa,error:ca,success:ua},Sa){let hl;aa&&(hl=N$7(aa)?y$b.loading(aa,Sa):y$b.loading(aa.render,{...Sa,...aa}));let pl={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},ml=(wc,xu,ff)=>{if(xu==null){y$b.dismiss(hl);return}let jf={type:wc,...pl,...Sa,data:ff},Uf=N$7(xu)?{render:xu}:xu;return hl?y$b.update(hl,{...jf,...Uf}):y$b(Uf.render,{...jf,...Uf}),ff},gl=P$a(la)?la():la;return gl.then(wc=>ml("success",ua,wc)).catch(wc=>ml("error",ca,wc)),gl}y$b.promise=Gt$1;y$b.success=Q$6("success");y$b.info=Q$6("info");y$b.error=Q$6("error");y$b.warning=Q$6("warning");y$b.warn=y$b.warning;y$b.dark=(la,aa)=>U$5(la,V$8("default",{theme:"dark",...aa}));function qt$1(la){ht$2(la)}y$b.dismiss=qt$1;y$b.clearWaitingQueue=Ct$2;y$b.isActive=X$5;y$b.update=(la,aa={})=>{let ca=vt$2(la,aa);if(ca){let{props:ua,content:Sa}=ca,hl={delay:100,...ua,...aa,toastId:aa.toastId||la,updateId:at$2()};hl.toastId!==la&&(hl.staleId=la);let pl=hl.render||Sa;delete hl.render,U$5(pl,hl)}};y$b.done=la=>{y$b.update(la,{progress:1})};y$b.onChange=Pt$3;y$b.play=la=>rt$2(!0,la);y$b.pause=la=>rt$2(!1,la);function It$2(la){var aa;let{subscribe:ca,getSnapshot:ua,setProps:Sa}=reactExports.useRef(Et$3(la)).current;Sa(la);let hl=(aa=reactExports.useSyncExternalStore(ca,ua,ua))==null?void 0:aa.slice();function pl(ml){if(!hl)return[];let gl=new Map;return la.newestOnTop&&hl.reverse(),hl.forEach(wc=>{let{position:xu}=wc.props;gl.has(xu)||gl.set(xu,[]),gl.get(xu).push(wc)}),Array.from(gl,wc=>ml(wc[0],wc[1]))}return{getToastToRender:pl,isToastActive:X$5,count:hl?.length}}function At$2(la){let[aa,ca]=reactExports.useState(!1),[ua,Sa]=reactExports.useState(!1),hl=reactExports.useRef(null),pl=reactExports.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:ml,pauseOnHover:gl,closeToast:wc,onClick:xu,closeOnClick:ff}=la;xt$1({id:la.toastId,containerId:la.containerId,fn:ca}),reactExports.useEffect(()=>{if(la.pauseOnFocusLoss)return jf(),()=>{Uf()}},[la.pauseOnFocusLoss]);function jf(){document.hasFocus()||Vm(),window.addEventListener("focus",qm),window.addEventListener("blur",Vm)}function Uf(){window.removeEventListener("focus",qm),window.removeEventListener("blur",Vm)}function rp(k1){if(la.draggable===!0||la.draggable===k1.pointerType){eg();let qw=hl.current;pl.canCloseOnClick=!0,pl.canDrag=!0,qw.style.transition="none",la.draggableDirection==="x"?(pl.start=k1.clientX,pl.removalDistance=qw.offsetWidth*(la.draggablePercent/100)):(pl.start=k1.clientY,pl.removalDistance=qw.offsetHeight*(la.draggablePercent===80?la.draggablePercent*1.5:la.draggablePercent)/100)}}function np(k1){let{top:qw,bottom:K0,left:J0,right:Hw}=hl.current.getBoundingClientRect();k1.nativeEvent.type!=="touchend"&&la.pauseOnHover&&k1.clientX>=J0&&k1.clientX<=Hw&&k1.clientY>=qw&&k1.clientY<=K0?Vm():qm()}function qm(){ca(!0)}function Vm(){ca(!1)}function eg(){pl.didMove=!1,document.addEventListener("pointermove",rg),document.addEventListener("pointerup",ig)}function tg(){document.removeEventListener("pointermove",rg),document.removeEventListener("pointerup",ig)}function rg(k1){let qw=hl.current;if(pl.canDrag&&qw){pl.didMove=!0,aa&&Vm(),la.draggableDirection==="x"?pl.delta=k1.clientX-pl.start:pl.delta=k1.clientY-pl.start,pl.start!==k1.clientX&&(pl.canCloseOnClick=!1);let K0=la.draggableDirection==="x"?`${pl.delta}px, var(--y)`:`0, calc(${pl.delta}px + var(--y))`;qw.style.transform=`translate3d(${K0},0)`,qw.style.opacity=`${1-Math.abs(pl.delta/pl.removalDistance)}`}}function ig(){tg();let k1=hl.current;if(pl.canDrag&&pl.didMove&&k1){if(pl.canDrag=!1,Math.abs(pl.delta)>pl.removalDistance){Sa(!0),la.closeToast(!0),la.collapseAll();return}k1.style.transition="transform 0.2s, opacity 0.2s",k1.style.removeProperty("transform"),k1.style.removeProperty("opacity")}}let vv={onPointerDown:rp,onPointerUp:np};return ml&&gl&&(vv.onMouseEnter=Vm,la.stacked||(vv.onMouseLeave=qm)),ff&&(vv.onClick=k1=>{xu&&xu(k1),pl.canCloseOnClick&&wc(!0)}),{playToast:qm,pauseToast:Vm,isRunning:aa,preventExitTransition:ua,toastRef:hl,eventHandlers:vv}}var Ot$1=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect,G$6=({theme:la,type:aa,isLoading:ca,...ua})=>React.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:la==="colored"?"currentColor":`var(--toastify-icon-color-${aa})`,...ua});function ao$1(la){return React.createElement(G$6,{...la},React.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))}function so$1(la){return React.createElement(G$6,{...la},React.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))}function no$1(la){return React.createElement(G$6,{...la},React.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))}function ro$1(la){return React.createElement(G$6,{...la},React.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))}function io$1(){return React.createElement("div",{className:"Toastify__spinner"})}var W$5={info:so$1,warning:ao$1,success:no$1,error:ro$1,spinner:io$1},lo$2=la=>la in W$5;function Nt$1({theme:la,type:aa,isLoading:ca,icon:ua}){let Sa=null,hl={theme:la,type:aa};return ua===!1||(P$a(ua)?Sa=ua({...hl,isLoading:ca}):reactExports.isValidElement(ua)?Sa=reactExports.cloneElement(ua,hl):ca?Sa=W$5.spinner():lo$2(aa)&&(Sa=W$5[aa](hl))),Sa}var wt$2=la=>{let{isRunning:aa,preventExitTransition:ca,toastRef:ua,eventHandlers:Sa,playToast:hl}=At$2(la),{closeButton:pl,children:ml,autoClose:gl,onClick:wc,type:xu,hideProgressBar:ff,closeToast:jf,transition:Uf,position:rp,className:np,style:qm,progressClassName:Vm,updateId:eg,role:tg,progress:rg,rtl:ig,toastId:vv,deleteToast:k1,isIn:qw,isLoading:K0,closeOnClick:J0,theme:Hw,ariaLabel:O1}=la,Y0=clsx("Toastify__toast",`Toastify__toast-theme--${Hw}`,`Toastify__toast--${xu}`,{"Toastify__toast--rtl":ig},{"Toastify__toast--close-on-click":J0}),G0=P$a(np)?np({rtl:ig,position:rp,type:xu,defaultClassName:Y0}):clsx(Y0,np),X0=Nt$1(la),d_=!!rg||!gl,f_={closeToast:jf,type:xu,theme:Hw},zN=null;return pl===!1||(P$a(pl)?zN=pl(f_):reactExports.isValidElement(pl)?zN=reactExports.cloneElement(pl,f_):zN=yt$2(f_)),React.createElement(Uf,{isIn:qw,done:k1,position:rp,preventExitTransition:ca,nodeRef:ua,playToast:hl},React.createElement("div",{id:vv,tabIndex:0,onClick:wc,"data-in":qw,className:G0,...Sa,style:qm,ref:ua,...qw&&{role:tg,"aria-label":O1}},X0!=null&&React.createElement("div",{className:clsx("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!K0})},X0),tt$2(ml,la,!aa),zN,!la.customProgressBar&&React.createElement(gt$3,{...eg&&!d_?{key:`p-${eg}`}:{},rtl:ig,theme:Hw,delay:gl,isRunning:aa,isIn:qw,closeToast:jf,hide:ff,type:xu,className:Vm,controlledProgress:d_,progress:rg||0})))},K$7=(la,aa=!1)=>({enter:`Toastify--animate Toastify__${la}-enter`,exit:`Toastify--animate Toastify__${la}-exit`,appendPosition:aa}),lt$2=$$6(K$7("bounce",!0)),_o$1={position:"top-right",transition:lt$2,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:la=>la.altKey&&la.code==="KeyT"};function Lt$1(la){let aa={..._o$1,...la},ca=la.stacked,[ua,Sa]=reactExports.useState(!0),hl=reactExports.useRef(null),{getToastToRender:pl,isToastActive:ml,count:gl}=It$2(aa),{className:wc,style:xu,rtl:ff,containerId:jf,hotKeys:Uf}=aa;function rp(qm){let Vm=clsx("Toastify__toast-container",`Toastify__toast-container--${qm}`,{"Toastify__toast-container--rtl":ff});return P$a(wc)?wc({position:qm,rtl:ff,defaultClassName:Vm}):clsx(Vm,B$6(wc))}function np(){ca&&(Sa(!0),y$b.play())}return Ot$1(()=>{var qm;if(ca){let Vm=hl.current.querySelectorAll('[data-in="true"]'),eg=12,tg=(qm=aa.position)==null?void 0:qm.includes("top"),rg=0,ig=0;Array.from(Vm).reverse().forEach((vv,k1)=>{let qw=vv;qw.classList.add("Toastify__toast--stacked"),k1>0&&(qw.dataset.collapsed=`${ua}`),qw.dataset.pos||(qw.dataset.pos=tg?"top":"bot");let K0=rg*(ua?.2:1)+(ua?0:eg*k1);qw.style.setProperty("--y",`${tg?K0:K0*-1}px`),qw.style.setProperty("--g",`${eg}`),qw.style.setProperty("--s",`${1-(ua?ig:0)}`),rg+=qw.offsetHeight,ig+=.025})}},[ua,gl,ca]),reactExports.useEffect(()=>{function qm(Vm){var eg;let tg=hl.current;Uf(Vm)&&((eg=tg.querySelector('[tabIndex="0"]'))==null||eg.focus(),Sa(!1),y$b.pause()),Vm.key==="Escape"&&(document.activeElement===tg||tg!=null&&tg.contains(document.activeElement))&&(Sa(!0),y$b.play())}return document.addEventListener("keydown",qm),()=>{document.removeEventListener("keydown",qm)}},[Uf]),React.createElement("section",{ref:hl,className:"Toastify",id:jf,onMouseEnter:()=>{ca&&(Sa(!1),y$b.pause())},onMouseLeave:np,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":aa["aria-label"]},pl((qm,Vm)=>{let eg=Vm.length?{...xu}:{...xu,pointerEvents:"none"};return React.createElement("div",{tabIndex:-1,className:rp(qm),"data-stacked":ca,style:eg,key:`c-${qm}`},Vm.map(({content:tg,props:rg})=>React.createElement(wt$2,{...rg,stacked:ca,collapseAll:np,isIn:ml(rg.toastId,rg.containerId),key:`t-${rg.key}`},tg)))}))}const RECENTLY_VISITED_TEAMS_KEY="recently-visited-teams",MAX_RECENTLY_VISITED=10;function transformSimpleTeamToTeam(la){return{Branch:la.branch||"",Config:la.config||{},CreatedAt:la.createdAt||"",Dependencies:la.dependencies||{FractlModels:[],ClojureLibraries:[]},Description:la.description||"",EntityType:la.entityType||"",GitHubOrg:la.gitHubOrg||"",GitHubRepo:la.gitHubRepo||"",GithubUrl:la.githubUrl||"",Id:la.id||"",__Id__:la.__Id__||la.id||"",LastUpdatedAt:la.lastUpdatedAt||"",Name:la.name||"",Owner:la.owner||"",Tags:la.tags||null,Type:la.type||"",Version:la.version||"",isEditable:la.isEditable||!1,isPin:la.isPin==="true"||la.isPin===!0}}function getRecentlyVisitedTeams(){try{const la=localStorage.getItem(RECENTLY_VISITED_TEAMS_KEY);return la?JSON.parse(la):[]}catch{return[]}}function addRecentlyVisitedTeam(la){try{const ca=getRecentlyVisitedTeams().filter(Sa=>Sa!==la),ua=[la,...ca].slice(0,MAX_RECENTLY_VISITED);localStorage.setItem(RECENTLY_VISITED_TEAMS_KEY,JSON.stringify(ua))}catch(aa){console.warn("Failed to save recently visited team:",aa)}}function filterAndSortTeams(la,aa){return Object.values(la).filter(ua=>ua.Name!==void 0).filter(ua=>(ua.Name??"").toLowerCase().includes(aa.toLowerCase())).sort((ua,Sa)=>{const hl=Number(Sa.isPin??!1)-Number(ua.isPin??!1);if(hl!==0)return hl;const pl=(ua.Name??"").toLowerCase(),ml=(Sa.Name??"").toLowerCase();return pl.localeCompare(ml)})}function getIconsTree(la,aa){const ca=la.icons,ua=la.aliases||Object.create(null),Sa=Object.create(null);function hl(pl){if(ca[pl])return Sa[pl]=[];if(!(pl in Sa)){Sa[pl]=null;const ml=ua[pl]&&ua[pl].parent,gl=ml&&hl(ml);gl&&(Sa[pl]=[ml].concat(gl))}return Sa[pl]}return Object.keys(ca).concat(Object.keys(ua)).forEach(hl),Sa}const defaultIconDimensions=Object.freeze({left:0,top:0,width:16,height:16}),defaultIconTransformations=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),defaultIconProps=Object.freeze({...defaultIconDimensions,...defaultIconTransformations}),defaultExtendedIconProps=Object.freeze({...defaultIconProps,body:"",hidden:!1});function mergeIconTransformations(la,aa){const ca={};!la.hFlip!=!aa.hFlip&&(ca.hFlip=!0),!la.vFlip!=!aa.vFlip&&(ca.vFlip=!0);const ua=((la.rotate||0)+(aa.rotate||0))%4;return ua&&(ca.rotate=ua),ca}function mergeIconData(la,aa){const ca=mergeIconTransformations(la,aa);for(const ua in defaultExtendedIconProps)ua in defaultIconTransformations?ua in la&&!(ua in ca)&&(ca[ua]=defaultIconTransformations[ua]):ua in aa?ca[ua]=aa[ua]:ua in la&&(ca[ua]=la[ua]);return ca}function internalGetIconData(la,aa,ca){const ua=la.icons,Sa=la.aliases||Object.create(null);let hl={};function pl(ml){hl=mergeIconData(ua[ml]||Sa[ml],hl)}return pl(aa),ca.forEach(pl),mergeIconData(la,hl)}function parseIconSet(la,aa){const ca=[];if(typeof la!="object"||typeof la.icons!="object")return ca;la.not_found instanceof Array&&la.not_found.forEach(Sa=>{aa(Sa,null),ca.push(Sa)});const ua=getIconsTree(la);for(const Sa in ua){const hl=ua[Sa];hl&&(aa(Sa,internalGetIconData(la,Sa,hl)),ca.push(Sa))}return ca}const optionalPropertyDefaults={provider:"",aliases:{},not_found:{},...defaultIconDimensions};function checkOptionalProps(la,aa){for(const ca in aa)if(ca in la&&typeof la[ca]!=typeof aa[ca])return!1;return!0}function quicklyValidateIconSet(la){if(typeof la!="object"||la===null)return null;const aa=la;if(typeof aa.prefix!="string"||!la.icons||typeof la.icons!="object"||!checkOptionalProps(la,optionalPropertyDefaults))return null;const ca=aa.icons;for(const Sa in ca){const hl=ca[Sa];if(!Sa||typeof hl.body!="string"||!checkOptionalProps(hl,defaultExtendedIconProps))return null}const ua=aa.aliases||Object.create(null);for(const Sa in ua){const hl=ua[Sa],pl=hl.parent;if(!Sa||typeof pl!="string"||!ca[pl]&&!ua[pl]||!checkOptionalProps(hl,defaultExtendedIconProps))return null}return aa}const dataStorage=Object.create(null);function newStorage(la,aa){return{provider:la,prefix:aa,icons:Object.create(null),missing:new Set}}function getStorage(la,aa){const ca=dataStorage[la]||(dataStorage[la]=Object.create(null));return ca[aa]||(ca[aa]=newStorage(la,aa))}function addIconSet(la,aa){return quicklyValidateIconSet(aa)?parseIconSet(aa,(ca,ua)=>{ua?la.icons[ca]=ua:la.missing.add(ca)}):[]}function addIconToStorage(la,aa,ca){try{if(typeof ca.body=="string")return la.icons[aa]={...ca},!0}catch{}return!1}const matchIconName=/^[a-z0-9]+(-[a-z0-9]+)*$/,stringToIcon=(la,aa,ca,ua="")=>{const Sa=la.split(":");if(la.slice(0,1)==="@"){if(Sa.length<2||Sa.length>3)return null;ua=Sa.shift().slice(1)}if(Sa.length>3||!Sa.length)return null;if(Sa.length>1){const ml=Sa.pop(),gl=Sa.pop(),wc={provider:Sa.length>0?Sa[0]:ua,prefix:gl,name:ml};return aa&&!validateIconName(wc)?null:wc}const hl=Sa[0],pl=hl.split("-");if(pl.length>1){const ml={provider:ua,prefix:pl.shift(),name:pl.join("-")};return aa&&!validateIconName(ml)?null:ml}if(ca&&ua===""){const ml={provider:ua,prefix:"",name:hl};return aa&&!validateIconName(ml,ca)?null:ml}return null},validateIconName=(la,aa)=>la?!!((aa&&la.prefix===""||la.prefix)&&la.name):!1;let simpleNames=!1;function allowSimpleNames(la){return typeof la=="boolean"&&(simpleNames=la),simpleNames}function getIconData(la){const aa=typeof la=="string"?stringToIcon(la,!0,simpleNames):la;if(aa){const ca=getStorage(aa.provider,aa.prefix),ua=aa.name;return ca.icons[ua]||(ca.missing.has(ua)?null:void 0)}}function addIcon(la,aa){const ca=stringToIcon(la,!0,simpleNames);if(!ca)return!1;const ua=getStorage(ca.provider,ca.prefix);return aa?addIconToStorage(ua,ca.name,aa):(ua.missing.add(ca.name),!0)}function addCollection(la,aa){if(typeof la!="object")return!1;if(typeof aa!="string"&&(aa=la.provider||""),simpleNames&&!aa&&!la.prefix){let Sa=!1;return quicklyValidateIconSet(la)&&(la.prefix="",parseIconSet(la,(hl,pl)=>{addIcon(hl,pl)&&(Sa=!0)})),Sa}const ca=la.prefix;if(!validateIconName({prefix:ca,name:"a"}))return!1;const ua=getStorage(aa,ca);return!!addIconSet(ua,la)}const defaultIconSizeCustomisations=Object.freeze({width:null,height:null}),defaultIconCustomisations=Object.freeze({...defaultIconSizeCustomisations,...defaultIconTransformations}),unitsSplit=/(-?[0-9.]*[0-9]+[0-9.]*)/g,unitsTest=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function calculateSize(la,aa,ca){if(aa===1)return la;if(ca=ca||100,typeof la=="number")return Math.ceil(la*aa*ca)/ca;if(typeof la!="string")return la;const ua=la.split(unitsSplit);if(ua===null||!ua.length)return la;const Sa=[];let hl=ua.shift(),pl=unitsTest.test(hl);for(;;){if(pl){const ml=parseFloat(hl);isNaN(ml)?Sa.push(hl):Sa.push(Math.ceil(ml*aa*ca)/ca)}else Sa.push(hl);if(hl=ua.shift(),hl===void 0)return Sa.join("");pl=!pl}}function splitSVGDefs(la,aa="defs"){let ca="";const ua=la.indexOf("<"+aa);for(;ua>=0;){const Sa=la.indexOf(">",ua),hl=la.indexOf("</"+aa);if(Sa===-1||hl===-1)break;const pl=la.indexOf(">",hl);if(pl===-1)break;ca+=la.slice(Sa+1,hl).trim(),la=la.slice(0,ua).trim()+la.slice(pl+1)}return{defs:ca,content:la}}function mergeDefsAndContent(la,aa){return la?"<defs>"+la+"</defs>"+aa:aa}function wrapSVGContent(la,aa,ca){const ua=splitSVGDefs(la);return mergeDefsAndContent(ua.defs,aa+ua.content+ca)}const isUnsetKeyword=la=>la==="unset"||la==="undefined"||la==="none";function iconToSVG(la,aa){const ca={...defaultIconProps,...la},ua={...defaultIconCustomisations,...aa},Sa={left:ca.left,top:ca.top,width:ca.width,height:ca.height};let hl=ca.body;[ca,ua].forEach(np=>{const qm=[],Vm=np.hFlip,eg=np.vFlip;let tg=np.rotate;Vm?eg?tg+=2:(qm.push("translate("+(Sa.width+Sa.left).toString()+" "+(0-Sa.top).toString()+")"),qm.push("scale(-1 1)"),Sa.top=Sa.left=0):eg&&(qm.push("translate("+(0-Sa.left).toString()+" "+(Sa.height+Sa.top).toString()+")"),qm.push("scale(1 -1)"),Sa.top=Sa.left=0);let rg;switch(tg<0&&(tg-=Math.floor(tg/4)*4),tg=tg%4,tg){case 1:rg=Sa.height/2+Sa.top,qm.unshift("rotate(90 "+rg.toString()+" "+rg.toString()+")");break;case 2:qm.unshift("rotate(180 "+(Sa.width/2+Sa.left).toString()+" "+(Sa.height/2+Sa.top).toString()+")");break;case 3:rg=Sa.width/2+Sa.left,qm.unshift("rotate(-90 "+rg.toString()+" "+rg.toString()+")");break}tg%2===1&&(Sa.left!==Sa.top&&(rg=Sa.left,Sa.left=Sa.top,Sa.top=rg),Sa.width!==Sa.height&&(rg=Sa.width,Sa.width=Sa.height,Sa.height=rg)),qm.length&&(hl=wrapSVGContent(hl,'<g transform="'+qm.join(" ")+'">',"</g>"))});const pl=ua.width,ml=ua.height,gl=Sa.width,wc=Sa.height;let xu,ff;pl===null?(ff=ml===null?"1em":ml==="auto"?wc:ml,xu=calculateSize(ff,gl/wc)):(xu=pl==="auto"?gl:pl,ff=ml===null?calculateSize(xu,wc/gl):ml==="auto"?wc:ml);const jf={},Uf=(np,qm)=>{isUnsetKeyword(qm)||(jf[np]=qm.toString())};Uf("width",xu),Uf("height",ff);const rp=[Sa.left,Sa.top,gl,wc];return jf.viewBox=rp.join(" "),{attributes:jf,viewBox:rp,body:hl}}const regex=/\sid="(\S+)"/g,randomPrefix="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let counter=0;function replaceIDs(la,aa=randomPrefix){const ca=[];let ua;for(;ua=regex.exec(la);)ca.push(ua[1]);if(!ca.length)return la;const Sa="suffix"+(Math.random()*16777216|Date.now()).toString(16);return ca.forEach(hl=>{const pl=typeof aa=="function"?aa(hl):aa+(counter++).toString(),ml=hl.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");la=la.replace(new RegExp('([#;"])('+ml+')([")]|\\.[a-z])',"g"),"$1"+pl+Sa+"$3")}),la=la.replace(new RegExp(Sa,"g"),""),la}const storage=Object.create(null);function setAPIModule(la,aa){storage[la]=aa}function getAPIModule(la){return storage[la]||storage[""]}function createAPIConfig(la){let aa;if(typeof la.resources=="string")aa=[la.resources];else if(aa=la.resources,!(aa instanceof Array)||!aa.length)return null;return{resources:aa,path:la.path||"/",maxURL:la.maxURL||500,rotate:la.rotate||750,timeout:la.timeout||5e3,random:la.random===!0,index:la.index||0,dataAfterTimeout:la.dataAfterTimeout!==!1}}const configStorage=Object.create(null),fallBackAPISources=["https://api.simplesvg.com","https://api.unisvg.com"],fallBackAPI=[];for(;fallBackAPISources.length>0;)fallBackAPISources.length===1||Math.random()>.5?fallBackAPI.push(fallBackAPISources.shift()):fallBackAPI.push(fallBackAPISources.pop());configStorage[""]=createAPIConfig({resources:["https://api.iconify.design"].concat(fallBackAPI)});function addAPIProvider(la,aa){const ca=createAPIConfig(aa);return ca===null?!1:(configStorage[la]=ca,!0)}function getAPIConfig(la){return configStorage[la]}const detectFetch=()=>{let la;try{if(la=fetch,typeof la=="function")return la}catch{}};let fetchModule=detectFetch();function calculateMaxLength(la,aa){const ca=getAPIConfig(la);if(!ca)return 0;let ua;if(!ca.maxURL)ua=0;else{let Sa=0;ca.resources.forEach(pl=>{Sa=Math.max(Sa,pl.length)});const hl=aa+".json?icons=";ua=ca.maxURL-Sa-ca.path.length-hl.length}return ua}function shouldAbort(la){return la===404}const prepare=(la,aa,ca)=>{const ua=[],Sa=calculateMaxLength(la,aa),hl="icons";let pl={type:hl,provider:la,prefix:aa,icons:[]},ml=0;return ca.forEach((gl,wc)=>{ml+=gl.length+1,ml>=Sa&&wc>0&&(ua.push(pl),pl={type:hl,provider:la,prefix:aa,icons:[]},ml=gl.length),pl.icons.push(gl)}),ua.push(pl),ua};function getPath$2(la){if(typeof la=="string"){const aa=getAPIConfig(la);if(aa)return aa.path}return"/"}const send=(la,aa,ca)=>{if(!fetchModule){ca("abort",424);return}let ua=getPath$2(aa.provider);switch(aa.type){case"icons":{const hl=aa.prefix,ml=aa.icons.join(","),gl=new URLSearchParams({icons:ml});ua+=hl+".json?"+gl.toString();break}case"custom":{const hl=aa.uri;ua+=hl.slice(0,1)==="/"?hl.slice(1):hl;break}default:ca("abort",400);return}let Sa=503;fetchModule(la+ua).then(hl=>{const pl=hl.status;if(pl!==200){setTimeout(()=>{ca(shouldAbort(pl)?"abort":"next",pl)});return}return Sa=501,hl.json()}).then(hl=>{if(typeof hl!="object"||hl===null){setTimeout(()=>{hl===404?ca("abort",hl):ca("next",Sa)});return}setTimeout(()=>{ca("success",hl)})}).catch(()=>{ca("next",Sa)})},fetchAPIModule={prepare,send};function removeCallback(la,aa){la.forEach(ca=>{const ua=ca.loaderCallbacks;ua&&(ca.loaderCallbacks=ua.filter(Sa=>Sa.id!==aa))})}function updateCallbacks(la){la.pendingCallbacksFlag||(la.pendingCallbacksFlag=!0,setTimeout(()=>{la.pendingCallbacksFlag=!1;const aa=la.loaderCallbacks?la.loaderCallbacks.slice(0):[];if(!aa.length)return;let ca=!1;const ua=la.provider,Sa=la.prefix;aa.forEach(hl=>{const pl=hl.icons,ml=pl.pending.length;pl.pending=pl.pending.filter(gl=>{if(gl.prefix!==Sa)return!0;const wc=gl.name;if(la.icons[wc])pl.loaded.push({provider:ua,prefix:Sa,name:wc});else if(la.missing.has(wc))pl.missing.push({provider:ua,prefix:Sa,name:wc});else return ca=!0,!0;return!1}),pl.pending.length!==ml&&(ca||removeCallback([la],hl.id),hl.callback(pl.loaded.slice(0),pl.missing.slice(0),pl.pending.slice(0),hl.abort))})}))}let idCounter$1=0;function storeCallback(la,aa,ca){const ua=idCounter$1++,Sa=removeCallback.bind(null,ca,ua);if(!aa.pending.length)return Sa;const hl={id:ua,icons:aa,callback:la,abort:Sa};return ca.forEach(pl=>{(pl.loaderCallbacks||(pl.loaderCallbacks=[])).push(hl)}),Sa}function sortIcons(la){const aa={loaded:[],missing:[],pending:[]},ca=Object.create(null);la.sort((Sa,hl)=>Sa.provider!==hl.provider?Sa.provider.localeCompare(hl.provider):Sa.prefix!==hl.prefix?Sa.prefix.localeCompare(hl.prefix):Sa.name.localeCompare(hl.name));let ua={provider:"",prefix:"",name:""};return la.forEach(Sa=>{if(ua.name===Sa.name&&ua.prefix===Sa.prefix&&ua.provider===Sa.provider)return;ua=Sa;const hl=Sa.provider,pl=Sa.prefix,ml=Sa.name,gl=ca[hl]||(ca[hl]=Object.create(null)),wc=gl[pl]||(gl[pl]=getStorage(hl,pl));let xu;ml in wc.icons?xu=aa.loaded:pl===""||wc.missing.has(ml)?xu=aa.missing:xu=aa.pending;const ff={provider:hl,prefix:pl,name:ml};xu.push(ff)}),aa}function listToIcons(la,aa=!0,ca=!1){const ua=[];return la.forEach(Sa=>{const hl=typeof Sa=="string"?stringToIcon(Sa,aa,ca):Sa;hl&&ua.push(hl)}),ua}const defaultConfig={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sendQuery(la,aa,ca,ua){const Sa=la.resources.length,hl=la.random?Math.floor(Math.random()*Sa):la.index;let pl;if(la.random){let vv=la.resources.slice(0);for(pl=[];vv.length>1;){const k1=Math.floor(Math.random()*vv.length);pl.push(vv[k1]),vv=vv.slice(0,k1).concat(vv.slice(k1+1))}pl=pl.concat(vv)}else pl=la.resources.slice(hl).concat(la.resources.slice(0,hl));const ml=Date.now();let gl="pending",wc=0,xu,ff=null,jf=[],Uf=[];typeof ua=="function"&&Uf.push(ua);function rp(){ff&&(clearTimeout(ff),ff=null)}function np(){gl==="pending"&&(gl="aborted"),rp(),jf.forEach(vv=>{vv.status==="pending"&&(vv.status="aborted")}),jf=[]}function qm(vv,k1){k1&&(Uf=[]),typeof vv=="function"&&Uf.push(vv)}function Vm(){return{startTime:ml,payload:aa,status:gl,queriesSent:wc,queriesPending:jf.length,subscribe:qm,abort:np}}function eg(){gl="failed",Uf.forEach(vv=>{vv(void 0,xu)})}function tg(){jf.forEach(vv=>{vv.status==="pending"&&(vv.status="aborted")}),jf=[]}function rg(vv,k1,qw){const K0=k1!=="success";switch(jf=jf.filter(J0=>J0!==vv),gl){case"pending":break;case"failed":if(K0||!la.dataAfterTimeout)return;break;default:return}if(k1==="abort"){xu=qw,eg();return}if(K0){xu=qw,jf.length||(pl.length?ig():eg());return}if(rp(),tg(),!la.random){const J0=la.resources.indexOf(vv.resource);J0!==-1&&J0!==la.index&&(la.index=J0)}gl="completed",Uf.forEach(J0=>{J0(qw)})}function ig(){if(gl!=="pending")return;rp();const vv=pl.shift();if(vv===void 0){if(jf.length){ff=setTimeout(()=>{rp(),gl==="pending"&&(tg(),eg())},la.timeout);return}eg();return}const k1={status:"pending",resource:vv,callback:(qw,K0)=>{rg(k1,qw,K0)}};jf.push(k1),wc++,ff=setTimeout(ig,la.rotate),ca(vv,aa,k1.callback)}return setTimeout(ig),Vm}function initRedundancy(la){const aa={...defaultConfig,...la};let ca=[];function ua(){ca=ca.filter(ml=>ml().status==="pending")}function Sa(ml,gl,wc){const xu=sendQuery(aa,ml,gl,(ff,jf)=>{ua(),wc&&wc(ff,jf)});return ca.push(xu),xu}function hl(ml){return ca.find(gl=>ml(gl))||null}return{query:Sa,find:hl,setIndex:ml=>{aa.index=ml},getIndex:()=>aa.index,cleanup:ua}}function emptyCallback$1(){}const redundancyCache=Object.create(null);function getRedundancyCache(la){if(!redundancyCache[la]){const aa=getAPIConfig(la);if(!aa)return;const ca=initRedundancy(aa),ua={config:aa,redundancy:ca};redundancyCache[la]=ua}return redundancyCache[la]}function sendAPIQuery(la,aa,ca){let ua,Sa;if(typeof la=="string"){const hl=getAPIModule(la);if(!hl)return ca(void 0,424),emptyCallback$1;Sa=hl.send;const pl=getRedundancyCache(la);pl&&(ua=pl.redundancy)}else{const hl=createAPIConfig(la);if(hl){ua=initRedundancy(hl);const pl=la.resources?la.resources[0]:"",ml=getAPIModule(pl);ml&&(Sa=ml.send)}}return!ua||!Sa?(ca(void 0,424),emptyCallback$1):ua.query(aa,Sa,ca)().abort}function emptyCallback(){}function loadedNewIcons(la){la.iconsLoaderFlag||(la.iconsLoaderFlag=!0,setTimeout(()=>{la.iconsLoaderFlag=!1,updateCallbacks(la)}))}function checkIconNamesForAPI(la){const aa=[],ca=[];return la.forEach(ua=>{(ua.match(matchIconName)?aa:ca).push(ua)}),{valid:aa,invalid:ca}}function parseLoaderResponse(la,aa,ca){function ua(){const Sa=la.pendingIcons;aa.forEach(hl=>{Sa&&Sa.delete(hl),la.icons[hl]||la.missing.add(hl)})}if(ca&&typeof ca=="object")try{if(!addIconSet(la,ca).length){ua();return}}catch(Sa){console.error(Sa)}ua(),loadedNewIcons(la)}function parsePossiblyAsyncResponse(la,aa){la instanceof Promise?la.then(ca=>{aa(ca)}).catch(()=>{aa(null)}):aa(la)}function loadNewIcons(la,aa){la.iconsToLoad?la.iconsToLoad=la.iconsToLoad.concat(aa).sort():la.iconsToLoad=aa,la.iconsQueueFlag||(la.iconsQueueFlag=!0,setTimeout(()=>{la.iconsQueueFlag=!1;const{provider:ca,prefix:ua}=la,Sa=la.iconsToLoad;if(delete la.iconsToLoad,!Sa||!Sa.length)return;const hl=la.loadIcon;if(la.loadIcons&&(Sa.length>1||!hl)){parsePossiblyAsyncResponse(la.loadIcons(Sa,ua,ca),xu=>{parseLoaderResponse(la,Sa,xu)});return}if(hl){Sa.forEach(xu=>{const ff=hl(xu,ua,ca);parsePossiblyAsyncResponse(ff,jf=>{const Uf=jf?{prefix:ua,icons:{[xu]:jf}}:null;parseLoaderResponse(la,[xu],Uf)})});return}const{valid:pl,invalid:ml}=checkIconNamesForAPI(Sa);if(ml.length&&parseLoaderResponse(la,ml,null),!pl.length)return;const gl=ua.match(matchIconName)?getAPIModule(ca):null;if(!gl){parseLoaderResponse(la,pl,null);return}gl.prepare(ca,ua,pl).forEach(xu=>{sendAPIQuery(ca,xu,ff=>{parseLoaderResponse(la,xu.icons,ff)})})}))}const loadIcons=(la,aa)=>{const ca=listToIcons(la,!0,allowSimpleNames()),ua=sortIcons(ca);if(!ua.pending.length){let gl=!0;return aa&&setTimeout(()=>{gl&&aa(ua.loaded,ua.missing,ua.pending,emptyCallback)}),()=>{gl=!1}}const Sa=Object.create(null),hl=[];let pl,ml;return ua.pending.forEach(gl=>{const{provider:wc,prefix:xu}=gl;if(xu===ml&&wc===pl)return;pl=wc,ml=xu,hl.push(getStorage(wc,xu));const ff=Sa[wc]||(Sa[wc]=Object.create(null));ff[xu]||(ff[xu]=[])}),ua.pending.forEach(gl=>{const{provider:wc,prefix:xu,name:ff}=gl,jf=getStorage(wc,xu),Uf=jf.pendingIcons||(jf.pendingIcons=new Set);Uf.has(ff)||(Uf.add(ff),Sa[wc][xu].push(ff))}),hl.forEach(gl=>{const wc=Sa[gl.provider][gl.prefix];wc.length&&loadNewIcons(gl,wc)}),aa?storeCallback(aa,ua,hl):emptyCallback};function mergeCustomisations(la,aa){const ca={...la};for(const ua in aa){const Sa=aa[ua],hl=typeof Sa;ua in defaultIconSizeCustomisations?(Sa===null||Sa&&(hl==="string"||hl==="number"))&&(ca[ua]=Sa):hl===typeof ca[ua]&&(ca[ua]=ua==="rotate"?Sa%4:Sa)}return ca}const separator$1=/[\s,]+/;function flipFromString(la,aa){aa.split(separator$1).forEach(ca=>{switch(ca.trim()){case"horizontal":la.hFlip=!0;break;case"vertical":la.vFlip=!0;break}})}function rotateFromString(la,aa=0){const ca=la.replace(/^-?[0-9.]*/,"");function ua(Sa){for(;Sa<0;)Sa+=4;return Sa%4}if(ca===""){const Sa=parseInt(la);return isNaN(Sa)?0:ua(Sa)}else if(ca!==la){let Sa=0;switch(ca){case"%":Sa=25;break;case"deg":Sa=90}if(Sa){let hl=parseFloat(la.slice(0,la.length-ca.length));return isNaN(hl)?0:(hl=hl/Sa,hl%1===0?ua(hl):0)}}return aa}function iconToHTML(la,aa){let ca=la.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const ua in aa)ca+=" "+ua+'="'+aa[ua]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+ca+">"+la+"</svg>"}function encodeSVGforURL(la){return la.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function svgToData(la){return"data:image/svg+xml,"+encodeSVGforURL(la)}function svgToURL(la){return'url("'+svgToData(la)+'")'}let policy;function createPolicy(){try{policy=window.trustedTypes.createPolicy("iconify",{createHTML:la=>la})}catch{policy=null}}function cleanUpInnerHTML(la){return policy===void 0&&createPolicy(),policy?policy.createHTML(la):la}const defaultExtendedIconCustomisations={...defaultIconCustomisations,inline:!1},svgDefaults={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},commonProps={display:"inline-block"},monotoneProps={backgroundColor:"currentColor"},coloredProps={backgroundColor:"transparent"},propsToAdd={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},propsToAddTo={WebkitMask:monotoneProps,mask:monotoneProps,background:coloredProps};for(const la in propsToAddTo){const aa=propsToAddTo[la];for(const ca in propsToAdd)aa[la+ca]=propsToAdd[ca]}const inlineDefaults={...defaultExtendedIconCustomisations,inline:!0};function fixSize(la){return la+(la.match(/^[-0-9.]+$/)?"px":"")}const render=(la,aa,ca)=>{const ua=aa.inline?inlineDefaults:defaultExtendedIconCustomisations,Sa=mergeCustomisations(ua,aa),hl=aa.mode||"svg",pl={},ml=aa.style||{},gl={...hl==="svg"?svgDefaults:{}};if(ca){const qm=stringToIcon(ca,!1,!0);if(qm){const Vm=["iconify"],eg=["provider","prefix"];for(const tg of eg)qm[tg]&&Vm.push("iconify--"+qm[tg]);gl.className=Vm.join(" ")}}for(let qm in aa){const Vm=aa[qm];if(Vm!==void 0)switch(qm){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":gl.ref=Vm;break;case"className":gl[qm]=(gl[qm]?gl[qm]+" ":"")+Vm;break;case"inline":case"hFlip":case"vFlip":Sa[qm]=Vm===!0||Vm==="true"||Vm===1;break;case"flip":typeof Vm=="string"&&flipFromString(Sa,Vm);break;case"color":pl.color=Vm;break;case"rotate":typeof Vm=="string"?Sa[qm]=rotateFromString(Vm):typeof Vm=="number"&&(Sa[qm]=Vm);break;case"ariaHidden":case"aria-hidden":Vm!==!0&&Vm!=="true"&&delete gl["aria-hidden"];break;default:ua[qm]===void 0&&(gl[qm]=Vm)}}const wc=iconToSVG(la,Sa),xu=wc.attributes;if(Sa.inline&&(pl.verticalAlign="-0.125em"),hl==="svg"){gl.style={...pl,...ml},Object.assign(gl,xu);let qm=0,Vm=aa.id;return typeof Vm=="string"&&(Vm=Vm.replace(/-/g,"_")),gl.dangerouslySetInnerHTML={__html:cleanUpInnerHTML(replaceIDs(wc.body,Vm?()=>Vm+"ID"+qm++:"iconifyReact"))},reactExports.createElement("svg",gl)}const{body:ff,width:jf,height:Uf}=la,rp=hl==="mask"||(hl==="bg"?!1:ff.indexOf("currentColor")!==-1),np=iconToHTML(ff,{...xu,width:jf+"",height:Uf+""});return gl.style={...pl,"--svg":svgToURL(np),width:fixSize(xu.width),height:fixSize(xu.height),...commonProps,...rp?monotoneProps:coloredProps,...ml},reactExports.createElement("span",gl)};allowSimpleNames(!0);setAPIModule("",fetchAPIModule);if(typeof document<"u"&&typeof window<"u"){const la=window;if(la.IconifyPreload!==void 0){const aa=la.IconifyPreload,ca="Invalid IconifyPreload syntax.";typeof aa=="object"&&aa!==null&&(aa instanceof Array?aa:[aa]).forEach(ua=>{try{(typeof ua!="object"||ua===null||ua instanceof Array||typeof ua.icons!="object"||typeof ua.prefix!="string"||!addCollection(ua))&&console.error(ca)}catch{console.error(ca)}})}if(la.IconifyProviders!==void 0){const aa=la.IconifyProviders;if(typeof aa=="object"&&aa!==null)for(let ca in aa){const ua="IconifyProviders["+ca+"] is invalid.";try{const Sa=aa[ca];if(typeof Sa!="object"||!Sa||Sa.resources===void 0)continue;addAPIProvider(ca,Sa)||console.error(ua)}catch{console.error(ua)}}}}function IconComponent(la){const[aa,ca]=reactExports.useState(!!la.ssr),[ua,Sa]=reactExports.useState({});function hl(Uf){if(Uf){const rp=la.icon;if(typeof rp=="object")return{name:"",data:rp};const np=getIconData(rp);if(np)return{name:rp,data:np}}return{name:""}}const[pl,ml]=reactExports.useState(hl(!!la.ssr));function gl(){const Uf=ua.callback;Uf&&(Uf(),Sa({}))}function wc(Uf){if(JSON.stringify(pl)!==JSON.stringify(Uf))return gl(),ml(Uf),!0}function xu(){var Uf;const rp=la.icon;if(typeof rp=="object"){wc({name:"",data:rp});return}const np=getIconData(rp);if(wc({name:rp,data:np}))if(np===void 0){const qm=loadIcons([rp],xu);Sa({callback:qm})}else np&&((Uf=la.onLoad)===null||Uf===void 0||Uf.call(la,rp))}reactExports.useEffect(()=>(ca(!0),gl),[]),reactExports.useEffect(()=>{aa&&xu()},[la.icon,aa]);const{name:ff,data:jf}=pl;return jf?render({...defaultIconProps,...jf},la,ff):la.children?la.children:la.fallback?la.fallback:reactExports.createElement("span",{})}const Icon=reactExports.forwardRef((la,aa)=>IconComponent({...la,_ref:aa}));reactExports.forwardRef((la,aa)=>IconComponent({inline:!0,...la,_ref:aa}));const getDate=la=>{const aa=new Date(la),ca=aa.getMonth()+1,ua=aa.getDate(),Sa=aa.getFullYear(),hl=aa.toLocaleString("en-US",{hour:"numeric",minute:"numeric",hour12:!0});return`${ca}/${ua}/${Sa} ${hl}`},registerBase64Icon=(la,aa)=>{try{const ca=aa.replace(/^data:image\/svg\+xml;base64,/,""),ua=atob(ca),Sa=ua.match(/width="([^"]+)"/),hl=ua.match(/height="([^"]+)"/),pl=Sa?Sa[1]:"1536",ml=hl?hl[1]:"1280",gl=ua.replace(/^.*?<svg[^>]*>(.*)<\/svg>.*$/,"$1");addIcon(la,{body:gl,width:parseInt(pl,10),height:parseInt(ml,10)})}catch(ca){console.error(`Failed to register icon: ${la}`,ca)}};function extractRepoNameFromUrl(la){const aa=la.split("/");return aa[aa.length-1]}function scrollIntoView(la,aa=!0){const ca=document.getElementById(la);ca&&ca.scrollIntoView({behavior:aa?"smooth":"auto",block:"start",inline:"center"})}function roundTo3Decimals(la){return la.toFixed(3)}function convertBytes(la){return la<1024?`${la} bytes`:la<1024*1024?`${roundTo3Decimals(la/1024)} KB`:la<1024*1024*1024?`${roundTo3Decimals(la/(1024*1024))} MB`:`${roundTo3Decimals(la/(1024*1024*1024))} GB`}function generateGitHubUrl(la,aa,ca,ua){if(!la||!aa)throw new Error("GitHub organization and repository name are required");if(ca&&ua){const Sa=ca.trim(),hl=ua.trim();return!Sa||!hl?(console.warn("GitHub credentials contain only whitespace - falling back to public URL"),`https://github.com/${la}/${aa}.git`):`https://${Sa}:${hl}@github.com/${la}/${aa}.git`}return console.warn(`No GitHub credentials provided for ${la}/${aa} - using public URL (may fail for private repositories)`),`https://github.com/${la}/${aa}.git`}const useWorkspace=()=>{const la=axiosInstance("meta"),aa=useAppStore(xu=>xu.user),ca=useAppStore(xu=>xu.authData.userProfileId),ua=useAppStore(xu=>xu.authData.username),Sa=useAppStore(xu=>xu.setUser),hl=useAppStore(xu=>xu.setWorkspace),pl=async()=>{let xu=aa?.user_profile_id;if(xu||(xu=ca||void 0),!xu){const ff=localStorage.getItem("user_profile_id");ff&&(xu=ff)}if(!xu){y$b.error("User Profile ID not found. Please re-login.");return}return xu},ml=async()=>{try{if(!await pl())throw new Error("User Profile ID not found. Please re-login.");const jf=await la.get("/AgentMeta/Workspace");if(console.log("fetchWorkspace response:",jf.data),!jf.data||Array.isArray(jf.data)&&jf.data.length===0)return console.log("GetWorkspace returned empty or null response - workspace does not exist"),null;let Uf;if(jf.data.id||jf.data.Id)Uf=jf.data;else if(Array.isArray(jf.data)&&jf.data.length>0){const rp=jf.data[0];rp?.Workspace?Uf=rp.Workspace:rp?.result&&Array.isArray(rp.result)&&rp.result.length>0?Uf=rp.result[0]:rp&&(rp.id||rp.Id)&&(Uf=rp)}return Uf||(console.log("No workspace found in response"),null)}catch(xu){return console.error("fetchWorkspace error:",xu),null}};return{fetchWorkspace:ml,createWorkspace:async(xu,ff)=>{try{if(!await pl())throw new Error("User Profile ID not found. Please re-login.");const rp=await la.post("/AgentMeta/Workspace",{name:xu,createdBy:ff});let np;if(rp.data.UserWorkspace?.Workspace)np=rp.data.UserWorkspace.Workspace;else if(rp.data.id)np=rp.data;else if(Array.isArray(rp.data)&&rp.data.length>0){const qm=rp.data[0];qm?.result&&Array.isArray(qm.result)&&qm.result.length>0?np=qm.result[0]:qm?.Workspace?np=qm.Workspace:np=qm}else if(rp.data.Workspace)np=rp.data.Workspace;else{const qm=Object.keys(rp.data);qm.length>0&&(np=rp.data[qm[0]])}return np||(console.error("Failed to parse workspace from create response"),null)}catch(jf){throw console.error("createWorkspace error:",jf),y$b.error(jf?.response?.data?.reason||"Failed to create workspace"),jf}},fetchOrCreateWorkspace:async xu=>{if(!(ua||aa?.Email))throw new Error("No username found in store");let jf=await ml();if(jf){const Uf=jf.id||jf.Id;if(Uf&&!localStorage.getItem("workspace_id")){localStorage.setItem("workspace_id",Uf);try{aa?Sa({...aa,CurrentWorkspace:{Id:Uf}}):hl(Uf)}catch{}}}else{console.error(`Workspace '${xu}' not found - workspace creation disabled`);try{if(await pl()){const np=await la.get("/AgentMeta/Workspace");if(np.data&&Array.isArray(np.data)&&np.data.length>0){const qm=np.data[np.data.length-1];if(jf=qm.Workspace||qm,jf){const Vm=jf.id||jf.Id;if(Vm){localStorage.setItem("workspace_id",Vm);try{aa?Sa({...aa,CurrentWorkspace:{Id:Vm}}):hl(Vm)}catch{}console.log("Using existing workspace instead:",Vm)}}}}}catch(Uf){console.error("Failed to fetch all workspaces:",Uf)}if(!jf)throw new Error(`Workspace '${xu}' not found and creation is disabled`)}return jf}}},deletePlaygroundTeam=la=>[],STORAGE_KEY="playground-workspace-apps",ID_COUNTER_KEY="playground-workspace-id-counter";class PlaygroundWorkspaceStorage{apps=new Map;idCounter=0;constructor(){this.loadFromLocalStorage()}loadFromLocalStorage(){try{const aa=localStorage.getItem(STORAGE_KEY);if(aa){const ua=JSON.parse(aa);ua.forEach(Sa=>{this.apps.set(Sa.Id,Sa)}),console.log(`[PLAYGROUND] Loaded ${ua.length} workspace apps from localStorage`)}const ca=localStorage.getItem(ID_COUNTER_KEY);ca&&(this.idCounter=parseInt(ca,10))}catch(aa){console.error("[PLAYGROUND] Error loading workspace apps from localStorage:",aa)}}saveToLocalStorage(){try{const aa=Array.from(this.apps.values());localStorage.setItem(STORAGE_KEY,JSON.stringify(aa)),localStorage.setItem(ID_COUNTER_KEY,this.idCounter.toString()),console.log(`[PLAYGROUND] Saved ${aa.length} workspace apps to localStorage`)}catch(aa){console.error("[PLAYGROUND] Error saving workspace apps to localStorage:",aa)}}getApps(){return Array.from(this.apps.values())}addApp(aa){const ca=aa.Id||`playground-app-${++this.idCounter}`,ua={...aa,Id:ca};return this.apps.set(ca,ua),this.saveToLocalStorage(),ua}updateApp(aa,ca){const ua=this.apps.get(aa);if(!ua)return null;const Sa={...ua,...ca};return this.apps.set(aa,Sa),this.saveToLocalStorage(),Sa}deleteApp(aa){const ca=this.apps.delete(aa);return ca&&this.saveToLocalStorage(),ca}getApp(aa){return this.apps.get(aa)||null}clearApps(){this.apps.clear(),this.idCounter=0,this.saveToLocalStorage()}hasApp(aa){return this.apps.has(aa)}}const playgroundWorkspaceStorage=new PlaygroundWorkspaceStorage,IS_PLAYGROUND$7=!1,IS_LOCAL_MODE$5=!0,metaAxiosInstance$2=axiosInstance("meta");async function fetchPackageInfo$1(){const aa=await fetch("http://localhost:4000/info");return aa.ok?await aa.json():{}}async function fetchBranch(){const la="http://localhost:4000";try{const aa=await fetch(`${la}/branch`);return aa.ok&&(await aa.json()).branch||"main"}catch(aa){return console.warn("Failed to fetch branch:",aa),"main"}}const useTeams=()=>{const{teamName:la,modelName:aa}=useParams(),{pathname:ca}=useLocation(),ua=useQueryClient(),Sa=ca.includes("/design/marketplace/"),hl=useAppStore(O1=>O1.authData.username),pl=useAppStore(O1=>O1.authData.userProfileId),ml=useAppStore(O1=>O1.user.CurrentWorkspace?.Id),gl=useAppStore(O1=>O1.user.GitHub.Token)||"",wc=useAppStore(O1=>O1.user.GitHub.Username)||"",{fetchOrCreateWorkspace:xu}=useWorkspace();useAppStore(O1=>O1.authReady),useAppStore(O1=>O1.isAuthenticated);const{data:ff}=useQuery({queryKey:["localPackageInfo"],queryFn:fetchPackageInfo$1,enabled:IS_LOCAL_MODE$5,staleTime:1/0,refetchOnMount:"always"}),{data:jf}=useQuery({queryKey:["localBranch"],queryFn:fetchBranch,enabled:IS_LOCAL_MODE$5,staleTime:1/0,refetchOnMount:"always"}),{data:Uf,isLoading:rp,error:np,refetch:qm}=useQuery({queryKey:["workspace",ml,"apps",pl],queryFn:async()=>[],enabled:IS_LOCAL_MODE$5,staleTime:120*1e3,gcTime:300*1e3,refetchOnMount:"always",retry:(O1,Y0)=>Y0?.response?.status===401||Y0?.response?.status===403?!1:O1<2}),{mutate:Vm}=useMutation({mutationFn:async({appId:O1,isEditable:Y0})=>{const G0=await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${ml}/WorkspaceApp/App/${O1}`,{isEditable:Y0});return transformSimpleTeamToTeam(G0.data)},onMutate:async O1=>{const{appId:Y0,isEditable:G0}=O1;await ua.cancelQueries({queryKey:["workspace",ml,"apps",pl]});const X0=ua.getQueryData(["workspace",ml,"apps",pl]);if(X0){const d_=X0.map(f_=>f_.Id===Y0?{...f_,isEditable:G0}:f_);ua.setQueryData(["workspace",ml,"apps",pl],d_)}return{previousApps:X0}},onError:(O1,Y0,G0)=>{G0?.previousApps&&ua.setQueryData(["workspace",ml,"apps",pl],G0.previousApps),y$b.error("Failed to update status. Please try again.")},onSettled:()=>{ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]})}}),eg=reactExports.useMemo(()=>{{let O1="";if(ff&&ff.name)if(O1=ff.name,O1.startsWith("@")){const Y0=O1.substring(1).split("/");Y0.length===2&&(O1=Y0[1])}else O1=ff.name;return{Name:O1,isEditable:!0,Type:"Local",GitHubRepo:O1,Branch:jf||"main"}}},[Sa,aa,Uf,la,ff,jf]);if(np){console.error("fetchWorkspaceApps: Query failed",np);let O1="Failed to fetch workspace apps";const Y0=np;Y0?.response?.status===401?O1="Authentication expired. Please sign in again.":Y0?.response?.status===403?O1="Access denied. Please check your workspace permissions.":Y0?.response?.status===404?O1="Workspace not found. Please verify your workspace access.":Y0?.response?.data?.reason?O1=Y0.response.data.reason:Y0?.message&&(O1=`Network error: ${Y0.message}`),y$b.error(O1)}const tg=async(O1,Y0)=>{try{const X0=(await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${ml}/WorkspaceApp/App/${Y0}`,O1)).data,d_=transformSimpleTeamToTeam(X0);return ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]}),await qm(),{...d_}}catch(G0){throw console.error("Error editing workspace app:",G0),G0}},rg=async(O1,Y0)=>{try{const X0=(await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${ml}/WorkspaceApp/App/${O1}`,{branch:Y0})).data,d_=transformSimpleTeamToTeam(X0);return ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]}),await qm(),{...d_,Branch:Y0}}catch(G0){throw console.error("Error switching workspace app branch:",G0),G0}},ig=async O1=>{try{let Y0=ml;if(!Y0){const G0=await xu("Default");if(G0)Y0=G0.id||G0.Id;else throw new Error("Failed to create or fetch Default workspace")}if(!Y0)throw new Error("No workspace ID available after all attempts");await metaAxiosInstance$2.post(`/AgentMeta/Workspace/${Y0}/WorkspaceApp/App`,O1),ua.invalidateQueries({queryKey:["workspace",Y0,"apps",pl]}),ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]}),await qm()}catch(Y0){console.error("Error occurred:",Y0),y$b.error(Y0?.response?.data?.["status-text"]||Y0?.response?.data?.reason||Y0?.message||"Operation failed")}},vv=async O1=>{try{await metaAxiosInstance$2.delete(`/AgentMeta/Workspace/${ml}/WorkspaceApp/App/${O1}`),ua.invalidateQueries({queryKey:["workspace",ml,"apps",pl]}),await qm()}catch(Y0){console.error("Error occurred:",Y0),y$b.error(Y0?.response?.data?.["status-text"]||Y0?.response?.data?.reason||Y0?.message||"Operation failed")}},k1=async(O1,Y0,G0)=>{try{const X0=`/${O1.githubRepo}`,d_=O1.branchSelected&&O1.githubBranch?O1.githubBranch:"main",f_=wc&&wc.trim().length>0,zN=gl&&gl.trim().length>0,BN=generateGitHubUrl(O1.githubOrg,O1.githubRepo,wc,gl);if((!f_||!zN)&&Y0("⚠️ GitHub credentials missing. Clone may fail for private repositories. Please set your GitHub username and token in Settings.",!1,!1),await pathExists(X0)){G0("checking"),Y0("Repository exists, checking for updates...",!1,!1);try{const yY=await updateExistingRepository(X0,gl,{branch:d_,checkOnly:!0});if(!yY.success)Y0(`Warning: Could not check for updates - ${yY.message}. Using existing repository.`,!1,!1);else if(yY.hasUpdates){G0("updating"),Y0("Fetching latest changes...",!1,!1);const vQ=await updateExistingRepository(X0,gl,{branch:d_,force:!0});vQ.success?Y0("Repository updated successfully!",!0,!1):Y0(`Warning: Could not update repository - ${vQ.message}. Using existing version.`,!1,!1)}else Y0("No updates available",!0,!1)}catch(yY){console.error("Failed to update repository:",yY),Y0(`Warning: Could not check for updates - ${yY.message}. Using existing repository.`,!1,!1)}}else{G0("cloning"),Y0("Cloning repository...",!1,!1);try{await cloneRepository(BN,X0,d_,gl),Y0("Repository cloned successfully!",!0,!1)}catch(yY){console.error("Failed to clone repository:",yY),Y0(`Failed to clone repository: ${yY.message}`,!1,!0);try{await pathExists(X0)&&(console.log(`Cleaning up failed clone: removing ${X0} from IndexedDB`),await removeDirectory(X0))}catch(vQ){console.error("Error cleaning up failed clone:",vQ)}return G0("error"),{path:null,fileContent:null}}}try{G0("processing"),Y0("Searching for .al files...",!1,!1);const yY=await findFilesWithExtension(X0,"al");if(yY.length===0)return Y0("No .al files found in the repository.",!1,!0),G0("error"),{path:null,fileContent:null};Y0(`Found ${yY.length} .al file(s).`,!0,!1);const vQ=yY[0];Y0(`Reading file: ${vQ}...`,!1,!1);const Ihe=await readRepoFile(X0,vQ);try{await readRepoFile(X0,"package.json")}catch{Y0("Warning: package.json not found in repository",!1,!1)}try{return G0("creating"),await flushAllAndLoad(X0,{name:"studio"}),Y0(`${vQ} loaded successfully!`,!0,!1),G0("complete"),{path:X0,fileContent:Ihe}}catch(bY){return console.error(`Failed to load ${vQ}:`,bY),Y0(`Failed to load ${vQ}: ${bY.message}`,!1,!0),G0("error"),{path:null,fileContent:null}}}catch(yY){return console.error("Failed to process .al files:",yY),Y0(`Note: .al files not found or could not be read: ${yY.message}`,!1,!0),G0("error"),{path:X0,fileContent:null}}}catch(X0){return console.error("Failed to execute Git operation:",X0),Y0(`Failed to execute Git operation: ${X0.message}`,!1,!0),G0("error"),{path:null,fileContent:null}}},qw=async(O1,Y0,G0)=>{try{G0("Saving changes...",!1,!1);const X0=await openRepository(O1);return await writeRepoFile(O1,"README.md",Y0),await commitChanges(X0,"README.md","Update README.md",{name:"Fractl Studio User",email:hl||"user@fractl.studio"}),G0("Changes saved successfully!",!0,!1),!0}catch(X0){return console.error("Failed to save README:",X0),G0(`Failed to save: ${X0.message}`,!1,!0),!1}},K0=async(O1,Y0)=>{try{Y0("Pushing changes to repository...",!1,!1);const G0=await openRepository(O1);return await pushChanges(G0,"origin","main",gl),Y0("Changes pushed successfully!",!0,!1),!0}catch(G0){return console.error("Failed to push changes:",G0),Y0(`Failed to push: ${G0.message}`,!1,!0),!1}},J0=reactExports.useCallback(async(O1,Y0,G0=!1)=>{G0&&await qm()},[qm]),Hw=eg?.isEditable??!0;return{currentTeam:eg,workspaceApps:Uf,isLoadingApps:rp,appsError:np,fetchWorkspaceApps:J0,editWorkspaceApp:tg,switchWorkspaceAppBranch:rg,updateWorkspaceAppEditable:Vm,addWorkspaceApp:ig,cloneGitRepository:k1,saveReadmeChanges:qw,pushChanges:K0,deleteWorkspaceApp:vv,isEditable:Hw}},integrationAxiosInstance$1=axiosInstance("connection-manager"),useLLM=()=>{const la=useQueryClient(),aa=useAppStore(Uf=>Uf.authReady),ca=useAppStore(Uf=>Uf.isAuthenticated),ua=Uf=>{const{__parent__:rp,__path__:np,...qm}=Uf;return qm},{data:Sa,isLoading:hl,isError:pl,error:ml,refetch:gl}=useQuery({queryKey:["llms"],queryFn:async()=>{const Uf=await integrationAxiosInstance$1.get("/integmanager.core/llm"),{data:rp,status:np}=Uf;if(np!==200)throw new Error("Failed to fetch llms");return rp.map(Vm=>({...Vm.llm,config:JSON.parse(Vm.llm.config)}))},enabled:aa&&ca&&!0});pl&&ml&&y$b.error(ml?.response?.data?.reason||ml.message);const wc=reactExports.useCallback(async Uf=>{await gl()},[gl]),xu=reactExports.useCallback(async Uf=>{try{const rp=ua(Uf),np=await integrationAxiosInstance$1.post("/integmanager.core/llm",rp);if(np.status===200||np.status===201)la.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM created successfully");else{const qm=np.data?.reason||np.data?.message||`Failed to create LLM (Status: ${np.status})`;throw y$b.error(qm),new Error(qm)}}catch(rp){const np=rp?.response?.data?.reason||rp?.response?.data?.message||rp?.message||"Failed to create LLM";throw y$b.error(np),rp}},[la]),ff=reactExports.useCallback(async Uf=>{try{const rp=await integrationAxiosInstance$1.delete(`/integmanager.core/llm/${Uf}`);if(rp.status===200||rp.status===204)la.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM deleted successfully");else{const np=rp.data?.reason||rp.data?.message||`Failed to delete LLM (Status: ${rp.status})`;throw y$b.error(np),new Error(np)}}catch(rp){const np=rp?.response?.data?.reason||rp?.response?.data?.message||rp?.message||"Failed to delete LLM";throw y$b.error(np),rp}},[la]),jf=reactExports.useCallback(async(Uf,rp)=>{try{const np=ua(rp),qm=await integrationAxiosInstance$1.put(`/integmanager.core/llm/${Uf}`,np);if(qm.status===200||qm.status===201||qm.status===204)la.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM updated successfully");else{const Vm=qm.data?.reason||qm.data?.message||`Failed to update LLM (Status: ${qm.status})`;throw y$b.error(Vm),new Error(Vm)}}catch(np){const qm=np?.response?.data?.reason||np?.response?.data?.message||np?.message||"Failed to update LLM";throw y$b.error(qm),np}},[la]);return{llmData:Sa,isLoadingLLMs:hl,isErrorLLMs:pl,llmError:ml,fetchLLMs:wc,createLLM:xu,deleteLLM:ff,updateLLM:jf}},getTeamModules=la=>{if(!la)return[];const aa=getUserModuleNames(),ca=la.toLowerCase(),ua=ca.replace(/_/g,"");return aa.filter(Sa=>{const hl=Sa.toLowerCase(),pl=hl.split(".")[0];return hl.startsWith(ca)||pl===ua})},useConfigLoader=()=>{const la=useAppStore(ua=>ua.setAppConfig),aa=useAppStore(ua=>ua.setAppConfigError);return{loadConfig:reactExports.useCallback(async ua=>{console.log("loadConfig",ua),aa(null);try{const Sa=await loadAppConfig(ua);return console.log("config",Sa),la(Sa),Sa}catch(Sa){const hl=Sa instanceof Error?Sa.message:String(Sa);return console.error("Failed to load config.al:",hl),aa(hl),la({}),{}}},[la,aa])}},accessedKeys=new Map,getLocalEnv=la=>{const aa=getLocalEnv$2(la);return console.log(`🔍 getLocalEnv("${la}") called, returning:`,aa?`${aa.substring(0,10)}...`:"undefined"),accessedKeys.set(la,{value:aa,timestamp:Date.now()}),aa||console.warn(`⚠️ Key "${la}" not found in LocalEnv`),aa};typeof window<"u"&&(window.debugResolverKeys={getAccessedKeys:()=>Array.from(accessedKeys.entries()),listAccessedKeys:()=>{console.log("📋 Keys accessed by resolvers:"),accessedKeys.forEach(({value:la},aa)=>{console.log(` ${aa}: ${la?"found":"NOT FOUND"}`)})}});const API_DOMAIN_TO_PROVIDER={"api.hubapi.com":"hubspot","slack.com":"slack","api.github.com":"github","api.stripe.com":"stripe","api.airtable.com":"airtable","api.notion.com":"notion","api.openai.com":"openai","api.anthropic.com":"anthropic","www.googleapis.com":"google"};function createProxiedAxios(){const la=getURL("api-cors-proxy"),aa=axios.create({timeout:3e4});return aa.interceptors.request.use(ca=>{const ua=ca.url;if(ua&&(ua.startsWith("http://")||ua.startsWith("https://")))try{const Sa=new URL(ua),hl=Sa.hostname,pl=Sa.pathname+Sa.search,ml=API_DOMAIN_TO_PROVIDER[hl];if(!ml)return console.warn(`⚠️ No CORS proxy provider configured for domain: ${hl}`),console.warn(` Add '${hl}' to API_DOMAIN_TO_PROVIDER in browserResolvers.ts`),ca;console.log(`🔄 Proxying API call: ${ua}`),console.log(` → Provider: ${ml}`),console.log(" → Original headers:",ca.headers),ca.url=`${la}/proxy/${ml}${pl}`,console.log(` → New URL: ${ca.url}`),console.log(" → Final headers:",ca.headers)}catch(Sa){console.error("Failed to parse URL for proxying:",ua,Sa)}return ca}),aa.interceptors.response.use(ca=>ca,ca=>(ca.code==="ERR_NETWORK"?console.error("❌ Network error - Check if CORS proxy is running on",la):ca.response?.status===401?console.error("❌ 401 Unauthorized - Check API credentials"):ca.response?.status===403&&console.error("❌ 403 Forbidden - Check API permissions"),Promise.reject(ca))),aa}const proxiedAxios=createProxiedAxios(),COMMON_DEPENDENCIES=new Map([["agentlang",{...agentlangRuntimeUtil,asInstance,makeInstance:makeInstance$1,getLocalEnv}],["@fractl/agentlang",{...agentlangRuntimeUtil,asInstance,makeInstance:makeInstance$1,getLocalEnv}],["agentlang/out/runtime/module.js",{makeInstance:makeInstance$1}],["agentlang/out/runtime/auth/defs.js",{getLocalEnv}],["axios",{default:proxiedAxios}]]);function asInstance(la,aa){const ca=aa.split("/"),ua=ca.length===2?ca[0]:"hubspot",Sa=ca.length===2?ca[1]:aa,hl=new Map(Object.entries(la));return makeInstance$1(ua,Sa,hl)}function getDependency(la){if(COMMON_DEPENDENCIES.has(la))return COMMON_DEPENDENCIES.get(la);for(const[aa,ca]of COMMON_DEPENDENCIES)if(la.includes(`/${aa}`)||la.endsWith(`/${aa}`))return ca}const BUILTIN_MODULE_PATHS=["./modules/core.js","./modules/auth.js"];async function setupResolverLoader(la){try{console.log("⚙️ Configuring AgentLang module loader for:",la),setModuleLoader({fileReader:async ca=>{if(console.log(`📖 Reading file: ${ca}`),BUILTIN_MODULE_PATHS.includes(ca))return console.log(`📦 Built-in module: ${ca} (using global registration)`),"";let ua=ca;return ca.startsWith(la+"/")?ua=ca.substring(la.length+1):ca.startsWith(la)&&(ua=ca.substring(la.length)),ua.startsWith("/")&&(ua=ua.substring(1)),console.log(`📖 Resolved to relative path: ${ua}`),await readRepoFile(la,ua)},dependencyProvider:ca=>{const ua=getDependency(ca);return ua?console.log(`✅ Resolved dependency: ${ca}`):console.warn(`⚠️ Unknown dependency: ${ca}`),ua},basePath:""}),console.log("✅ Module loader configured successfully"),console.log("ℹ️ Resolvers will be loaded automatically when AgentLang parses .al files")}catch(aa){console.error("❌ Failed to setup resolver loader:",aa)}}const RESOLVER_CONFIGS={hsr:{initFunctionName:"initializeHubSpotConfig",envKeyMapping:{HUBSPOT_ACCESS_TOKEN:"accessToken"},configBuilder:la=>({accessToken:la.HUBSPOT_ACCESS_TOKEN})},gmr:{initFunctionName:"initializeGmailConfig",envKeyMapping:{GMAIL_CLIENT_ID:"clientId",GMAIL_CLIENT_SECRET:"clientSecret",GMAIL_REFRESH_TOKEN:"refreshToken",GMAIL_POLL_INTERVAL_MINUTES:"pollIntervalMinutes"},configBuilder:la=>({clientId:la.GMAIL_CLIENT_ID,clientSecret:la.GMAIL_CLIENT_SECRET,refreshToken:la.GMAIL_REFRESH_TOKEN,pollIntervalMinutes:la.GMAIL_POLL_INTERVAL_MINUTES})},gsr:{initFunctionName:"initializeGoogleConfig",envKeyMapping:{GOOGLE_API_KEY:"apiKey",GOOGLE_CLIENT_ID:"clientId",GOOGLE_CLIENT_SECRET:"clientSecret"},configBuilder:la=>({apiKey:la.GOOGLE_API_KEY,clientId:la.GOOGLE_CLIENT_ID,clientSecret:la.GOOGLE_CLIENT_SECRET})},slackr:{initFunctionName:"initializeSlackConfig",envKeyMapping:{SLACK_BOT_TOKEN:"botToken",SLACK_APP_TOKEN:"appToken"},configBuilder:la=>({botToken:la.SLACK_BOT_TOKEN,appToken:la.SLACK_APP_TOKEN})},ghr:{initFunctionName:"initializeGitHubConfig",envKeyMapping:{GITHUB_TOKEN:"token",GITHUB_API_KEY:"apiKey"},configBuilder:la=>({token:la.GITHUB_TOKEN||la.GITHUB_API_KEY})}};async function initializeResolverConfigs(){try{const{getEnvironmentKeysAsObject:la}=await __vitePreload(async()=>{const{getEnvironmentKeysAsObject:ua}=await Promise.resolve().then(()=>playgroundEnvKeys);return{getEnvironmentKeysAsObject:ua}},void 0),aa=la();console.log("🔑 Available environment keys:",Object.keys(aa));const ca=getImportedModuleNames();console.log("📦 Imported modules:",ca);for(const[ua,Sa]of Object.entries(RESOLVER_CONFIGS)){const hl=getImportedModule(ua);if(!hl){console.log(`ℹ️ Resolver "${ua}" not loaded - skipping initialization`);continue}console.log(`📋 Found resolver module: ${ua}`);const pl=hl[Sa.initFunctionName];if(typeof pl!="function"){console.warn(`⚠️ Resolver "${ua}" found but "${Sa.initFunctionName}" function is missing`);continue}const ml=Object.keys(Sa.envKeyMapping);if(ml.filter(ff=>aa[ff]).length===0){console.warn(`⚠️ No environment keys found for resolver "${ua}". Expected: ${ml.join(", ")}`);continue}const wc=Sa.configBuilder(aa),xu=Object.fromEntries(Object.entries(wc).filter(([ff,jf])=>jf!==void 0));if(Object.keys(xu).length===0){console.warn(`⚠️ No valid configuration could be built for resolver "${ua}"`);continue}console.log(`🔑 Initializing resolver "${ua}" with config:`,{...xu,...Object.keys(xu).reduce((ff,jf)=>{const Uf=xu[jf],rp=typeof Uf=="string"?`***${Uf.slice(-4)}`:"***";return{...ff,[jf]:rp}},{})});try{await pl(xu),console.log(`✅ Resolver "${ua}" configured successfully`),hl.config&&console.log(" Configuration stored in resolver.config")}catch(ff){console.error(`❌ Failed to initialize resolver "${ua}":`,ff)}}console.log("✅ Resolver initialization complete")}catch(la){console.error("❌ Failed to initialize resolver configs:",la)}}const browserResolvers=Object.freeze(Object.defineProperty({__proto__:null,initializeResolverConfigs,setupResolverLoader},Symbol.toStringTag,{value:"Module"})),IS_LOCAL_MODE$4=!0,CLI_URL$2="http://localhost:4000",useRepositoryClone=()=>{const la=useNavigate(),[aa,ca]=reactExports.useState(!1),[ua,Sa]=reactExports.useState(""),[hl,pl]=reactExports.useState(""),ml=Fdt();useAppStore(qm=>qm.user);const{processDependencies:gl}=useDependencyProcessor(),{loadConfig:wc}=useConfigLoader(),xu="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",ff="hamza@fractl.io",jf=reactExports.useCallback(()=>{const qm=ff.trim().length>0,Vm=xu.trim().length>0;(!qm||!Vm)&&console.warn("GitHub credentials missing - clone may fail for private repositories")},[xu,ff]),Uf=reactExports.useCallback(async(qm,Vm,eg,tg,rg)=>{console.log("Processing repository..."),await gl(qm,ff,xu,zN=>{Sa(zN)}),Sa("Loading application modules..."),Sa("Initializing runtime with environment keys...");{const{inBrowserREPL:zN}=await __vitePreload(async()=>{const{inBrowserREPL:BN}=await Promise.resolve().then(()=>inBrowserREPL$1);return{inBrowserREPL:BN}},void 0);await zN.initializeRuntime()}Sa("Configuring resolver loader..."),await setupResolverLoader(qm),Sa("Preparing runtime for app...");const{prepareRuntimeForAppLoad:ig}=await __vitePreload(async()=>{const{prepareRuntimeForAppLoad:zN}=await Promise.resolve().then(()=>index$4);return{prepareRuntimeForAppLoad:zN}},void 0);await ig(qm);{Sa("Initializing filesystem...");const{setFileSystem:zN}=await __vitePreload(async()=>{const{setFileSystem:yY}=await Promise.resolve().then(()=>fsUtils);return{setFileSystem:yY}},void 0),{createFS:BN}=await __vitePreload(async()=>{const{createFS:yY}=await import("./fs-90i5TvrG.js");return{createFS:yY}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4])),iF=await BN({name:"studio",useCliBackend:!0});zN(iF)}Sa("Loading AgentLang modules..."),await flushAllAndLoad(qm,{name:"studio",useCliBackend:IS_LOCAL_MODE$4}),Sa("Reloading core modules...");const{loadCoreModules:vv}=await __vitePreload(async()=>{const{loadCoreModules:zN}=await Promise.resolve().then(()=>loader$1);return{loadCoreModules:zN}},void 0);await vv(),Sa("Loading configuration..."),await wc(qm),Sa("Registering agents and initializing modules..."),await runInitFunctions(),await runStandaloneStatements(),Sa("Loading LLM configurations...");const{queryLLMEntities:k1}=await __vitePreload(async()=>{const{queryLLMEntities:zN}=await Promise.resolve().then(()=>index$4);return{queryLLMEntities:zN}},void 0),qw=await k1(),K0=useAppStore.getState().appConfig;useAppStore.getState().setAppConfig({...K0,llms:qw}),Sa("Initializing resolver configurations..."),await initializeResolverConfigs(),console.log("Reading package.json...");let J0;{const zN=await fetch(`${CLI_URL$2}/info`);if(!zN.ok)throw new Error(`Failed to fetch package info from CLI backend at ${CLI_URL$2}: ${zN.statusText}`);J0=await zN.json()}const Hw=getTeamModules(Vm),O1=Hw.flatMap(zN=>{try{const BN=fetchModule$2(zN);return BN?BN.getAgentNames().filter(iF=>BN.getAgent(iF)?.isPublic()??!1).map(iF=>`${zN}/${iF}`):[]}catch(BN){return console.warn(`Failed to fetch module ${zN} for public agents:`,BN),[]}});console.log(`[LOCAL] Found ${Hw.length} modules:`,Hw),console.log(`[LOCAL] Found ${O1.length} public agents:`,O1);const Y0=Hw.flatMap(zN=>fetchModule$2(zN).getEntityNames().map(BN=>`${zN}/${BN}`)),G0=Hw.flatMap(zN=>buildGraph(zN).getRoots().map(iF=>`${iF.entity.getModuleName()}/${iF.entity.getEntryName()}`)),X0={Name:eg,Description:J0.description||"An application generated from "+eg},d_=await loadUISchema(eg,qm,Y0,G0,O1,X0);d_.appInfo||(d_.appInfo={}),d_.appInfo.apiUrl="http://localhost:8080",ml(d_);const f_={githubOrg:tg,teamName:eg,branch:rg,projectPath:qm};return __vitePreload(()=>import("./replService-CGFCaXaB.js"),__vite__mapDeps([34,1,18,19,5,9,16,11,14,15,10,20,21,17,4])).then(async({default:zN})=>{try{await zN.ensureReplSession(f_),await zN.initializeFileTracking(qm)}catch(BN){console.error("❌ Failed to setup REPL deployment:",BN)}}),Hw[0]},[ff,xu,Sa,ml,gl,wc]),rp=reactExports.useCallback(async qm=>{ca(!0),pl("");try{jf();const{GitHubOrg:Vm,GitHubRepo:eg,Name:tg,Branch:rg}=qm,ig=`/${eg}`,vv=generateGitHubUrl(Vm,eg,ff,xu);await pathExists(ig)?Sa("Repository already exists. Loading modules..."):(Sa("Cloning repository..."),await cloneRepository(vv,ig,rg,xu)),await Uf(ig,eg,tg,Vm,rg)}catch(Vm){const eg=Vm instanceof Error?Vm.message:"Failed to clone repository";pl(eg),console.error("Error during repository clone:",Vm);try{const tg=`/${qm.GitHubRepo}`;await pathExists(tg)&&(console.log(`Cleaning up failed clone: removing ${tg} from IndexedDB`),await removeDirectory(tg))}catch(tg){console.error("Error cleaning up failed clone:",tg)}}finally{ca(!1)}},[jf,ff,xu,Uf]),np=reactExports.useCallback((qm,Vm,eg,tg,rg)=>{const ig=`/design/${qm?"agents":"data-model"}/${Vm}/${eg}/${tg}`;rg?la(ig,rg):la(ig)},[la]);return{isCloning:aa,error:hl,loadingMessage:ua,cloneAndProcess:rp,navigateToDesign:np,processRepository:Uf}},CLI_URL$1="http://localhost:4000";async function fetchPackageInfo(){const la=await fetch(`${CLI_URL$1}/info`);return la.ok?la.json():{}}async function fetchDependenciesFromLocalServer(la,aa,ca){return console.log("✓ Using dependencies from real filesystem (local mode)"),aa.map(ua=>({appName:ua.appName,success:!0,message:"Using dependency from real filesystem",path:`${la}/node_modules/${ua.appName}`}))}function parsePackageName(la){if(!la?.name)return{org:"file",name:""};const aa=la.name;if(aa.startsWith("@")){const ca=aa.substring(1).split("/");if(ca.length===2)return{org:ca[0],name:ca[1]}}return{org:"file",name:aa}}function isDesignPage(la){return la?["data-model","marketplace-data-model","agents","workflow","security","ui","settings"].includes(la):!1}const useServeMode=()=>{const la=useNavigate(),aa=useMatches(),{processRepository:ca}=useRepositoryClone(),[ua,Sa]=reactExports.useState(""),[hl,pl]=reactExports.useState(null);return{initializeServeMode:reactExports.useCallback(async()=>{Sa("Connecting to local server..."),pl(null);try{Sa("Loading app configuration...");const gl=await fetchPackageInfo(),{org:wc,name:xu}=parsePackageName(gl),ff=`/${xu}`;Sa("Processing project...");const jf=await ca(ff,xu,xu,wc,"main"),Uf=aa[aa.length-1];if(isDesignPage(Uf?.id))return;const rp=`/design/agents/${wc}/${xu}`;la(jf?`${rp}/${jf}`:rp)}catch(gl){const wc=gl instanceof Error?gl.message:"An unknown error occurred";pl(wc),console.error("Failed to initialize serve mode:",gl)}finally{Sa("")}},[ca,la,aa]),loadingMessage:ua,error:hl}},CLI_URL="http://localhost:4000",useDependencyProcessor=()=>{const la=reactExports.useCallback(ca=>{if(!ca.dependencies)return[];const ua=[];for(const[Sa,hl]of Object.entries(ca.dependencies))typeof hl=="string"&&hl.startsWith("git+http")&&ua.push({appName:Sa,url:hl});return ua},[]),aa=reactExports.useCallback(async(ca,ua,Sa,hl)=>{let pl;{const jf=await fetch(`${CLI_URL}/file?path=${encodeURIComponent("package.json")}`);if(!jf.ok)throw new Error(`Failed to fetch package.json from CLI backend at ${CLI_URL}: ${jf.statusText}`);const{content:Uf}=await jf.json();pl=Uf}const ml=JSON.parse(pl),gl=la(ml);if(gl.length===0)return[];hl&&hl(`Installing ${gl.length} dependencies...`,0,gl.length);let wc;wc=await fetchDependenciesFromLocalServer(ca,gl);const xu=wc.filter(jf=>!jf.success),ff=wc.filter(jf=>jf.success);if(ff.length>0&&console.log(`✓ Successfully fetched ${ff.length} dependencies:`,ff.map(jf=>jf.appName).join(", ")),xu.length>0&&console.warn(`⚠ Failed to install ${xu.length} of ${gl.length} dependencies:`,xu.map(jf=>`${jf.appName} (${jf.message})`).join(", ")),ff.length>0){const{createFS:jf}=await __vitePreload(async()=>{const{createFS:rp}=await import("./fs-90i5TvrG.js");return{createFS:rp}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4])),Uf=await jf({name:"studio",useCliBackend:!0});for(const rp of ff)if(rp.path)try{const np=`${rp.path}/package.json`;await Uf.exists(np)?console.log(`✓ ${rp.appName}: Verified package.json exists`):console.error(`✗ ${rp.appName}: package.json missing at ${np}`)}catch(np){console.error(`✗ ${rp.appName}: Verification failed:`,np)}}return wc},[la]);return{extractGitDependencies:la,processDependencies:aa}},IS_LOCAL_MODE$3=!0,integrationAxiosInstance=axiosInstance("connection-manager"),useIntegration=(la="api")=>{const{currentTeam:aa}=useTeams(),ca=aa?.GitHubRepo,ua=useQueryClient(),Sa=useAppStore(qw=>qw.authReady),hl=useAppStore(qw=>qw.isAuthenticated),pl=useAppStore(qw=>qw.user),ml=pl.GitHub.Token,gl=pl.GitHub.Username,{processDependencies:wc}=useDependencyProcessor(),xu=async qw=>{if(la==="config"&&ca)try{const J0=(await readDependencyPackageJsonFromGit(ca,qw))?.agentlang?.config||[];if(J0.length===0)return[];let Hw="";try{Hw=await readProjectFile(ca,"config.al")}catch{return console.log("config.al does not exist yet"),[]}const O1=parseAppConfig(Hw),Y0=[];return J0.forEach(G0=>{let X0=qw;if(!O1[X0]&&isFqName$1(G0)){const f_=nameToPath$1(G0).getModuleName();f_&&O1[f_]&&(X0=f_)}O1[X0]&&O1[X0][G0]&&Y0.push({entityFqn:G0,config:O1[X0][G0]})}),Y0}catch(K0){return console.error(`Error reading configs from config.al for ${qw}:`,K0),y$b.error(`Failed to load configs for ${qw}: ${K0.message}`),[]}return console.log(`[LOCAL_MODE] Skipping integration config fetch for ${qw}`),[]},{data:ff,isLoading:jf,isError:Uf,error:rp,refetch:np}=useQuery({queryKey:["integrations",ca,la],queryFn:async()=>{if(la==="config"&&ca)try{const Y0=(await readPackageJsonFromGit(ca,!0)).dependencies||{};let G0={};try{const f_=await readProjectFile(ca,"config.al");G0=parseAppConfig(f_)}catch{console.log("config.al does not exist yet")}const X0=/(?:git\+)?https:\/\/(?:[^@]+@)?github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,d_=[];return Object.entries(Y0).forEach(([f_,zN])=>{const BN=zN.match(X0);if(BN){const[,iF,yY]=BN;let vQ,Ihe=null;G0[yY]&&G0[yY].isRemoteIntegration!==void 0?(Ihe=G0[yY],vQ=Ihe.isRemoteIntegration):G0[f_]&&typeof G0[f_].isRemoteIntegration=="boolean"&&(Ihe=G0[f_],vQ=Ihe.isRemoteIntegration);const Lhe={name:Ihe?.name||f_,userData:{GitHubOrg:iF,GitHubRepo:yY}};vQ!==void 0&&(Lhe.userData.isRemoteIntegration=vQ),d_.push(Lhe)}else zN.startsWith("file:")}),d_}catch(O1){return console.warn("Failed to read integrations from package.json",O1),[]}const qw=await integrationAxiosInstance.get("/integmanager.core/integration"),{data:K0,status:J0}=qw;if(J0!==200)throw new Error("Failed to fetch integrations");return K0.map(O1=>({...O1.integration,userData:JSON.parse(O1.integration.userData)}))},enabled:Sa&&hl&&!0,staleTime:0,refetchOnWindowFocus:!0});Uf&&rp&&y$b.error(rp?.response?.data?.reason||rp.message);const qm=reactExports.useCallback(async()=>{await np()},[np]),Vm=reactExports.useCallback(async(qw,K0)=>{const J0=`/temp-validation/${qw}/${K0}`;let Hw=!1;try{if(!await pathExists(J0)){const d_=generateGitHubUrl(qw,K0,gl,ml);await cloneRepository(d_,J0,"main",ml||""),Hw=!0}let Y0;if(IS_LOCAL_MODE$3){const{createGitUtils:d_}=await __vitePreload(async()=>{const{createGitUtils:BN}=await Promise.resolve().then(()=>index$6);return{createGitUtils:BN}},void 0),{fs:f_}=await d_({useCliBackend:!1}),zN=`${J0}/package.json`;Y0=(await f_.readFile(zN)).toString()}const G0=JSON.parse(Y0),X0=G0?.agentlang?.config&&Array.isArray(G0.agentlang.config);if(Hw)try{await removeDirectory(J0)}catch(d_){console.warn("Failed to cleanup temporary clone:",d_)}return X0}catch(O1){if(Hw)try{await removeDirectory(J0)}catch(Y0){console.warn("Failed to cleanup temporary clone:",Y0)}throw O1}},[gl,ml]),eg=reactExports.useCallback(async qw=>{if(la==="config"&&ca){const K0=gl&&gl.trim().length>0,J0=ml&&ml.trim().length>0;if(!K0||!J0){const zN=new Error("GitHub credentials are required for local mode");throw zN.code="GITHUB_CREDENTIALS_REQUIRED",zN}const Hw=qw.userData.GitHubRepo,O1=qw.name,Y0=qw.userData.GitHubOrg;if(!Hw||!Y0)throw new Error("GitHub organization and repository name are required");if(!await Vm(Y0,Hw))throw new Error("The repository is not a valid AgentLang project. It must have a package.json with an agentlang.config field.");const X0=await readPackageJsonFromGit(ca);X0.dependencies||(X0.dependencies={});const d_=generateGitHubUrl(Y0,Hw,gl,ml);X0.dependencies[O1]=`git+${d_}#main`,await savePackageJsonToGit(ca,JSON.stringify(X0,null,2),`Add dependency for ${O1}`,gl,ml);const f_=`/${ca}`;try{await wc(f_,gl,ml)}catch(zN){throw console.error(`Failed to process dependencies for ${O1}:`,zN),y$b.error(`Failed to clone dependency: ${zN.message}`),zN}try{const zN=`${f_}/node_modules/${O1}`,BN=await readRepoFile(zN,"package.json"),iF=JSON.parse(BN);if(iF?.agentlang?.config&&Array.isArray(iF.agentlang.config)&&iF.agentlang.config.length>0){let yY="";try{yY=await readProjectFile(ca,"config.al")}catch{}const vQ=yY?parseAppConfig(yY):{};vQ[O1]||(vQ[O1]={}),iF.agentlang.config.forEach(Ihe=>{vQ[O1][Ihe]||(vQ[O1][Ihe]={})}),await saveConfigToGit(ca,formatAppConfig(vQ),`Add config for integration ${O1}`,gl,ml)}}catch(zN){console.warn(`Failed to create config maps for integration ${O1}:`,zN)}try{await flushAllAndLoad(f_,{name:"studio",useCliBackend:IS_LOCAL_MODE$3}),await ua.invalidateQueries({queryKey:["dependencies"]})}catch(zN){console.warn(`Failed to load modules for ${O1}:`,zN)}await ua.invalidateQueries({queryKey:["integrations",ca,la]}),await np(),y$b.success("Integration created successfully");return}try{const K0=await integrationAxiosInstance.post("/integmanager.core/integration",qw);if(K0.status===200||K0.status===201)await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration created successfully");else throw new Error(K0.data?.reason||K0.data?.message||"Failed to create integration")}catch(K0){const J0=K0?.response?.data?.reason||K0?.response?.data?.message||K0?.message||"Failed to create integration";throw new Error(J0)}},[ua,ca,gl,ml,la,Vm,wc,np]),tg=reactExports.useCallback(async qw=>{if(la==="config"&&ca)try{const K0=await readPackageJsonFromGit(ca);if(K0.dependencies&&K0.dependencies[qw]){const J0=K0.dependencies[qw],Hw=/(?:git\+)?https:\/\/github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,O1=J0.match(Hw),Y0=O1?O1[2]:null;let G0=null;if(Y0)try{const X0=await readDependencyPackageJsonFromGit(ca,qw);X0?.name&&(G0=X0.name.split("/").pop()?.split("@").pop()||null)}catch{console.log(`Could not read package.json for ${qw}, will try to remove by repo name`)}delete K0.dependencies[qw],await savePackageJsonToGit(ca,JSON.stringify(K0,null,2),`Remove dependency ${qw}`,gl,ml);try{const X0=await readProjectFile(ca,"config.al"),d_=parseAppConfig(X0);let f_=!1;if(Y0&&d_[Y0]&&(delete d_[Y0],f_=!0),G0&&d_[G0]&&(delete d_[G0],f_=!0),d_[qw]&&(delete d_[qw],f_=!0),f_){const zN=formatAppConfig(d_);await saveConfigToGit(ca,zN,`Remove integration ${qw} from config.al`,gl,ml)}}catch{console.log("config.al does not exist or error reading it")}await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration deleted successfully");return}else{y$b.info("Integration not found in dependencies");return}}catch(K0){throw console.error("Failed to delete integration:",K0),y$b.error(`Failed to delete integration: ${K0.message}`),K0}try{const K0=await integrationAxiosInstance.delete(`/integmanager.core/integration/${qw}`);if(console.log(K0.data),K0.status===200||K0.status===204)await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration deleted successfully");else{const J0=K0.data?.reason||K0.data?.message||`Failed to delete integration (Status: ${K0.status})`;throw y$b.error(J0),new Error(J0)}}catch(K0){const J0=K0?.response?.data?.reason||K0?.response?.data?.message||K0?.message||"Failed to delete integration";throw y$b.error(J0),K0}},[ua,ca,gl,ml,la]),rg=reactExports.useCallback(async(qw,K0)=>{if(la==="config"&&ca)try{const J0=K0.userData?.GitHubRepo,Hw=K0.userData?.GitHubOrg;if(!J0||!Hw)throw new Error("Missing GitHub info for update");const O1=await readPackageJsonFromGit(ca);O1.dependencies||(O1.dependencies={}),O1.dependencies[qw]=`git+https://github.com/${Hw}/${J0}.git#main`,await savePackageJsonToGit(ca,JSON.stringify(O1,null,2),`Update dependency ${qw}`,gl,ml),await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration updated successfully");return}catch(J0){throw console.error("Failed to update integration:",J0),y$b.error(`Failed to update integration: ${J0.message}`),J0}try{const J0=await integrationAxiosInstance.put(`/integmanager.core/integration/${qw}`,K0);if(console.log(J0.data),J0.status===200)ua.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration updated successfully");else{const Hw=J0.data?.reason||J0.data?.message||`Failed to update integration (Status: ${J0.status})`;throw y$b.error(Hw),new Error(Hw)}}catch(J0){const Hw=J0?.response?.data?.reason||J0?.response?.data?.message||J0?.message||"Failed to update integration";throw y$b.error(Hw),J0}},[ua,ca,gl,ml,la]),ig=reactExports.useCallback(async qw=>{if(la!=="api"||!ca){console.warn("addIntegrationToConfig only supported in 'api' mode with a valid githubRepo");return}try{const K0=qw.userData?.GitHubRepo,J0=qw.userData?.GitHubOrg,Hw=qw.name;if(!K0||!J0)throw new Error("GitHub organization and repository name are required");const O1=`git+https://github.com/${J0}/${K0}.git#main`,Y0=await readPackageJsonFromGit(ca);Y0.dependencies||(Y0.dependencies={}),Y0.dependencies[K0]=O1,await savePackageJsonToGit(ca,JSON.stringify(Y0,null,2),`Add integration ${Hw} from API`,gl,ml);const G0=`/${ca}`;try{await wc(G0,gl,ml),await flushAllAndLoad(G0,{name:"studio",useCliBackend:IS_LOCAL_MODE$3}),await ua.invalidateQueries({queryKey:["dependencies"]})}catch(f_){console.warn(`Failed to process dependencies for ${Hw}:`,f_)}let X0={};try{const f_=await readProjectFile(ca,"config.al");X0=parseAppConfig(f_)}catch{console.log("config.al does not exist yet, will create it")}X0[K0]={isRemoteIntegration:!0,name:Hw,url:O1};const d_=formatAppConfig(X0);await saveConfigToGit(ca,d_,`Add integration ${Hw} to config.al`,gl,ml),await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success(`Integration ${Hw} added successfully`)}catch(K0){throw console.error("Error adding integration to config:",K0),y$b.error(`Failed to add integration: ${K0.message}`),K0}},[ca,gl,ml,la,ua,wc]),vv=reactExports.useCallback(async qw=>{if(la!=="api"||!ca){console.warn("removeIntegrationFromConfig only supported in 'api' mode with a valid githubRepo");return}try{const K0=qw.userData?.GitHubRepo,J0=qw.name;if(!K0)throw new Error("GitHub repository name is required");const Hw=await readPackageJsonFromGit(ca);Hw.dependencies&&Hw.dependencies[J0]&&(delete Hw.dependencies[J0],await savePackageJsonToGit(ca,JSON.stringify(Hw,null,2),`Remove integration ${J0} from API`,gl,ml));try{const O1=await readProjectFile(ca,"config.al"),Y0=parseAppConfig(O1);if(Y0[K0]){delete Y0[K0];const G0=formatAppConfig(Y0);await saveConfigToGit(ca,G0,`Remove integration ${J0} from config.al`,gl,ml)}}catch{console.log("config.al does not exist or error reading it")}await ua.invalidateQueries({queryKey:["integrations"]}),y$b.success(`Integration ${J0} removed successfully`)}catch(K0){throw console.error("Error removing integration from config:",K0),y$b.error(`Failed to remove integration: ${K0.message}`),K0}},[ca,gl,ml,la,ua]),k1=reactExports.useCallback(async()=>{if(!ca)return console.warn("readAllConfigsFromPackageJson requires a valid githubRepo"),{};try{const K0=(await readPackageJsonFromGit(ca,!0)).dependencies||{},J0={};for(const[Hw]of Object.entries(K0))try{const O1=await readDependencyPackageJsonFromGit(ca,Hw);O1?.agentlang?.config&&Array.isArray(O1.agentlang.config)&&(J0[Hw]=O1.agentlang.config)}catch(O1){console.warn(`Failed to read package.json for dependency ${Hw}:`,O1.message)}return J0}catch(qw){throw console.error("Failed to read all configs from package.json:",qw),new Error(`Failed to read all configs: ${qw.message}`)}},[ca]);return{integrationData:ff,isLoadingIntegrations:jf,isErrorIntegrations:Uf,integrationsError:rp,fetchIntegrations:qm,fetchIntegrationConnectionConfigs:xu,createIntegration:eg,deleteIntegration:tg,updateIntegration:rg,addIntegrationToConfig:ig,removeIntegrationFromConfig:vv,readAllConfigsFromPackageJson:k1}},IS_PLAYGROUND$6=!1,IS_LOCAL_MODE$2=!0,useDeployments=()=>{const la=useQueryClient(),aa=useAppStore(ff=>ff.authReady),ca=useAppStore(ff=>ff.isAuthenticated),{data:ua,isLoading:Sa,isError:hl,error:pl,refetch:ml}=useQuery({queryKey:["deployments"],queryFn:async()=>(console.log("[SERVE_MODE] Skipping deployments fetch - returning empty object"),{}),enabled:aa&&ca&&!IS_PLAYGROUND$6&&!IS_LOCAL_MODE$2});hl&&pl&&y$b.error(pl?.response?.data?.reason||pl.message);const gl=reactExports.useCallback(async()=>{{console.log("[SERVE_MODE] Skipping deployments fetch");return}},[ml]),wc=reactExports.useCallback(async ff=>{try{if(IS_PLAYGROUND$6||IS_LOCAL_MODE$2)return console.log(`[${IS_PLAYGROUND$6?"PLAYGROUND":"SERVE_MODE"}] Skipping app deployment`),y$b.success(`App deployed successfully! (${IS_PLAYGROUND$6?"playground":"serve"} mode)`),{success:!0};const jf=await axiosInstance("deployment").post("/Deployment/DeployApp",ff);return y$b.success("App deployed successfully!"),la.invalidateQueries({queryKey:["deployments"]}),jf.data}catch(jf){throw y$b.error(jf?.response?.data?.reason||"Failed to deploy app"),jf}},[la]),xu=reactExports.useCallback(async ff=>{try{if(IS_PLAYGROUND$6||IS_LOCAL_MODE$2)return console.log(`[${IS_PLAYGROUND$6?"PLAYGROUND":"SERVE_MODE"}] Skipping app undeployment`),y$b.success(`App undeployed successfully! (${IS_PLAYGROUND$6?"playground":"serve"} mode)`),{success:!0};const jf=await axiosInstance("deployment").post("/Deployment/UndeployApp",ff);return y$b.success("App undeployed successfully!"),la.invalidateQueries({queryKey:["deployments"]}),jf.data}catch(jf){throw y$b.error(jf?.response?.data?.reason||"Failed to undeploy app"),jf}},[la]);return{deploymentsData:ua,isLoadingDeployments:Sa,isErrorDeployments:hl,deploymentsError:pl,fetchDeployments:gl,deployApp:wc,undeployApp:xu}};let globalInitializationState={isInitializing:!1,isInitialized:!1,error:null,retryCount:0,progress:{userLoaded:!1,workspaceLoaded:!1,dataLoaded:!1}};const listeners=new Set,updateGlobalState=la=>{globalInitializationState={...globalInitializationState,...la},listeners.forEach(aa=>aa(globalInitializationState))},useAppInitialization=()=>{const[la,aa]=reactExports.useState(globalInitializationState),ca=reactExports.useRef(!1),{setUser:ua,user:Sa,lastDataFetch:hl,setLastDataFetch:pl}=useAppStore(),ml=axiosInstance("meta"),{fetchWorkspaceApps:gl}=useTeams(),{fetchIntegrations:wc}=useIntegration(),{fetchDeployments:xu}=useDeployments(),{fetchLLMs:ff}=useLLM();reactExports.useEffect(()=>{const ig=vv=>{aa(vv)};return listeners.add(ig),()=>{listeners.delete(ig)}},[]);const jf=reactExports.useCallback(ig=>{const vv={...globalInitializationState,progress:{...globalInitializationState.progress,...ig}};updateGlobalState(vv)},[]),Uf=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ig=localStorage.getItem("agentlang-studio-store");if(!ig)return!1;try{const vv=JSON.parse(ig),k1=vv.state&&vv.state.user&&vv.state.user.Email,qw=vv.state&&vv.state.workspace&&vv.state.workspace.Id,K0=vv.state&&vv.state.lastDataFetch&&vv.state.lastDataFetch>0;return k1&&qw&&K0}catch(vv){return console.warn("Failed to parse cached store:",vv),!1}},[]),rp=reactExports.useCallback(()=>{if(hl===0)return!0;const ig=Date.now()-600*1e3;if(hl>ig)return!1;const vv=Date.now()-300*1e3;return hl<vv},[hl]),np=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ig=localStorage.getItem("agentlang-studio-store");if(!ig)return!1;try{const vv=JSON.parse(ig);if(vv.state&&vv.state.user&&vv.state.user.Email)return jf({userLoaded:!0}),!0}catch(vv){console.warn("Failed to parse cached store:",vv)}return!1},[jf]),qm=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ig=localStorage.getItem("workspace_id"),vv=localStorage.getItem("username");return ig&&vv?(jf({workspaceLoaded:!0}),!0):!1},[jf]),Vm=reactExports.useCallback(async(ig,vv,k1=!1)=>{{console.log("[DEV MODE] Skipping app data initialization - no API calls needed"),jf({dataLoaded:!0});return}},[gl,wc,xu,ff,jf,pl]),eg=reactExports.useCallback(async(ig=0)=>{if(!ca.current){console.log("[DEV MODE] Skipping app initialization - no API calls needed"),pl(Date.now()),updateGlobalState({isInitializing:!1,isInitialized:!0,retryCount:0,progress:{userLoaded:!0,workspaceLoaded:!0,dataLoaded:!0}}),y$b.success("App initialized in dev mode");return}},[ml,ua,Sa,Vm,jf,Uf,np,qm,rp,pl]),tg=reactExports.useCallback(()=>{updateGlobalState({retryCount:0}),ca.current=!1,eg()},[eg]),rg=reactExports.useCallback(()=>{updateGlobalState({isInitializing:!1,isInitialized:!1,error:null,retryCount:0,progress:{userLoaded:!1,workspaceLoaded:!1,dataLoaded:!1}}),ca.current=!1},[]);return reactExports.useEffect(()=>()=>{ca.current=!1},[]),{...la,initializeApp:eg,retryInitialization:tg,resetInitialization:rg}};var t$9=typeof window<"u"?window:void 0,i$a=typeof globalThis<"u"?globalThis:t$9;typeof self>"u"&&(i$a.self=i$a),typeof File>"u"&&(i$a.File=function(){});var e$a=Array.prototype,r$d=e$a.forEach,s$f=e$a.indexOf,n$9=i$a?.navigator,o$d=i$a?.document,a$i=i$a?.location,l$9=i$a?.fetch,u$h=i$a!=null&&i$a.XMLHttpRequest&&"withCredentials"in new i$a.XMLHttpRequest?i$a.XMLHttpRequest:void 0,h$c=i$a?.AbortController,d$6=n$9?.userAgent,v$7=t$9??{},c$e={DEBUG:!1,LIB_VERSION:"1.311.0"};function f$g(la,aa,ca,ua,Sa,hl,pl){try{var ml=la[hl](pl),gl=ml.value}catch(wc){return void ca(wc)}ml.done?aa(gl):Promise.resolve(gl).then(ua,Sa)}function p$c(la){return function(){var aa=this,ca=arguments;return new Promise((function(ua,Sa){var hl=la.apply(aa,ca);function pl(gl){f$g(hl,ua,Sa,pl,ml,"next",gl)}function ml(gl){f$g(hl,ua,Sa,pl,ml,"throw",gl)}pl(void 0)}))}}function g$8(){return g$8=Object.assign?Object.assign.bind():function(la){for(var aa=1;aa<arguments.length;aa++){var ca=arguments[aa];for(var ua in ca)({}).hasOwnProperty.call(ca,ua)&&(la[ua]=ca[ua])}return la},g$8.apply(null,arguments)}function _$7(la,aa){if(la==null)return{};var ca={};for(var ua in la)if({}.hasOwnProperty.call(la,ua)){if(aa.indexOf(ua)!==-1)continue;ca[ua]=la[ua]}return ca}var m$8=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],y$a=function(la,aa){if(aa===void 0&&(aa=[]),!la)return!1;var ca=la.toLowerCase();return m$8.concat(aa).some((ua=>{var Sa=ua.toLowerCase();return ca.indexOf(Sa)!==-1}))},b$8=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function w$9(la,aa){return la.indexOf(aa)!==-1}var x$6=function(la){return la.trim()},E$7=function(la){return la.replace(/^\$/,"")},S$a=Array.isArray,k$a=Object.prototype,P$9=k$a.hasOwnProperty,T$a=k$a.toString,I$8=S$a||function(la){return T$a.call(la)==="[object Array]"},C$c=la=>typeof la=="function",R$3=la=>la===Object(la)&&!I$8(la),F$8=la=>{if(R$3(la)){for(var aa in la)if(P$9.call(la,aa))return!1;return!0}return!1},M$6=la=>la===void 0,O$5=la=>T$a.call(la)=="[object String]",A$7=la=>O$5(la)&&la.trim().length===0,D$b=la=>la===null,j$a=la=>M$6(la)||D$b(la),L$6=la=>T$a.call(la)=="[object Number]",N$6=la=>T$a.call(la)==="[object Boolean]",U$4=la=>la instanceof FormData,z$5=la=>w$9(b$8,la);function H$9(la){return la===null||typeof la!="object"}function B$5(la,aa){return Object.prototype.toString.call(la)==="[object "+aa+"]"}function q$6(la){return!M$6(Event)&&(function(aa,ca){try{return aa instanceof ca}catch{return!1}})(la,Event)}var W$4=[!0,"true",1,"1","yes"],G$5=la=>w$9(W$4,la),V$7=[!1,"false",0,"0","no"];function J$5(la,aa,ca,ua,Sa){return aa>ca&&(ua.warn("min cannot be greater than max."),aa=ca),L$6(la)?la>ca?(ua.warn(" cannot be greater than max: "+ca+". Using max value instead."),ca):la<aa?(ua.warn(" cannot be less than min: "+aa+". Using min value instead."),aa):la:(ua.warn(" must be a number. using max or fallback. max: "+ca+", fallback: "+Sa),J$5(Sa||ca,aa,ca,ua))}let K$6=class{constructor(aa){this.t={},this.i=aa.i,this.o=J$5(aa.bucketSize,0,100,aa.h),this.m=J$5(aa.refillRate,0,this.o,aa.h),this.$=J$5(aa.refillInterval,0,864e5,aa.h)}S(aa,ca){var ua=ca-aa.lastAccess,Sa=Math.floor(ua/this.$);if(Sa>0){var hl=Sa*this.m;aa.tokens=Math.min(aa.tokens+hl,this.o),aa.lastAccess=aa.lastAccess+Sa*this.$}}consumeRateLimit(aa){var ca,ua=Date.now(),Sa=String(aa),hl=this.t[Sa];return hl?this.S(hl,ua):(hl={tokens:this.o,lastAccess:ua},this.t[Sa]=hl),hl.tokens===0||(hl.tokens--,hl.tokens===0&&((ca=this.i)==null||ca.call(this,aa)),hl.tokens===0)}stop(){this.t={}}};var Y$3="Mobile",X$4="iOS",Q$5="Android",Z$4="Tablet",tt$1=Q$5+" "+Z$4,it$1="iPad",et$1="Apple",rt$1=et$1+" Watch",st$1="Safari",nt$1="BlackBerry",ot$1="Samsung",at$1=ot$1+"Browser",lt$1=ot$1+" Internet",ut$1="Chrome",ht$1=ut$1+" OS",dt$2=ut$1+" "+X$4,vt$1="Internet Explorer",ct$1=vt$1+" "+Y$3,ft$1="Opera",pt$1=ft$1+" Mini",gt$2="Edge",_t$1="Microsoft "+gt$2,mt$1="Firefox",yt$1=mt$1+" "+X$4,bt="Nintendo",wt$1="PlayStation",xt="Xbox",Et$2=Q$5+" "+Y$3,$t=Y$3+" "+st$1,St$1="Windows",kt$1=St$1+" Phone",Pt$2="Nokia",Tt$1="Ouya",It$1="Generic",Ct$1=It$1+" "+Y$3.toLowerCase(),Rt$1=It$1+" "+Z$4.toLowerCase(),Ft$2="Konqueror",Mt$2="(\\d+(\\.\\d+)?)",Ot=new RegExp("Version/"+Mt$2),At$1=new RegExp(xt,"i"),Dt$1=new RegExp(wt$1+" \\w+","i"),jt=new RegExp(bt+" \\w+","i"),Lt=new RegExp(nt$1+"|PlayBook|BB10","i"),Nt={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},Ut,zt,Ht,Bt$1=(la,aa)=>aa&&w$9(aa,et$1)||(function(ca){return w$9(ca,st$1)&&!w$9(ca,ut$1)&&!w$9(ca,Q$5)})(la),qt=function(la,aa){return aa=aa||"",w$9(la," OPR/")&&w$9(la,"Mini")?pt$1:w$9(la," OPR/")?ft$1:Lt.test(la)?nt$1:w$9(la,"IE"+Y$3)||w$9(la,"WPDesktop")?ct$1:w$9(la,at$1)?lt$1:w$9(la,gt$2)||w$9(la,"Edg/")?_t$1:w$9(la,"FBIOS")?"Facebook "+Y$3:w$9(la,"UCWEB")||w$9(la,"UCBrowser")?"UC Browser":w$9(la,"CriOS")?dt$2:w$9(la,"CrMo")||w$9(la,ut$1)?ut$1:w$9(la,Q$5)&&w$9(la,st$1)?Et$2:w$9(la,"FxiOS")?yt$1:w$9(la.toLowerCase(),Ft$2.toLowerCase())?Ft$2:Bt$1(la,aa)?w$9(la,Y$3)?$t:st$1:w$9(la,mt$1)?mt$1:w$9(la,"MSIE")||w$9(la,"Trident/")?vt$1:w$9(la,"Gecko")?mt$1:""},Wt={[ct$1]:[new RegExp("rv:"+Mt$2)],[_t$1]:[new RegExp(gt$2+"?\\/"+Mt$2)],[ut$1]:[new RegExp("("+ut$1+"|CrMo)\\/"+Mt$2)],[dt$2]:[new RegExp("CriOS\\/"+Mt$2)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Mt$2)],[st$1]:[Ot],[$t]:[Ot],[ft$1]:[new RegExp("(Opera|OPR)\\/"+Mt$2)],[mt$1]:[new RegExp(mt$1+"\\/"+Mt$2)],[yt$1]:[new RegExp("FxiOS\\/"+Mt$2)],[Ft$2]:[new RegExp("Konqueror[:/]?"+Mt$2,"i")],[nt$1]:[new RegExp(nt$1+" "+Mt$2),Ot],[Et$2]:[new RegExp("android\\s"+Mt$2,"i")],[lt$1]:[new RegExp(at$1+"\\/"+Mt$2)],[vt$1]:[new RegExp("(rv:|MSIE )"+Mt$2)],Mozilla:[new RegExp("rv:"+Mt$2)]},Gt=function(la,aa){var ca=qt(la,aa),ua=Wt[ca];if(M$6(ua))return null;for(var Sa=0;Sa<ua.length;Sa++){var hl=ua[Sa],pl=la.match(hl);if(pl)return parseFloat(pl[pl.length-2])}return null},Vt=[[new RegExp(xt+"; "+xt+" (.*?)[);]","i"),la=>[xt,la&&la[1]||""]],[new RegExp(bt,"i"),[bt,""]],[new RegExp(wt$1,"i"),[wt$1,""]],[Lt,[nt$1,""]],[new RegExp(St$1,"i"),(la,aa)=>{if(/Phone/.test(aa)||/WPDesktop/.test(aa))return[kt$1,""];if(new RegExp(Y$3).test(aa)&&!/IEMobile\b/.test(aa))return[St$1+" "+Y$3,""];var ca=/Windows NT ([0-9.]+)/i.exec(aa);if(ca&&ca[1]){var ua=ca[1],Sa=Nt[ua]||"";return/arm/i.test(aa)&&(Sa="RT"),[St$1,Sa]}return[St$1,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,la=>{if(la&&la[3]){var aa=[la[3],la[4],la[5]||"0"];return[X$4,aa.join(".")]}return[X$4,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,la=>{var aa="";return la&&la.length>=3&&(aa=M$6(la[2])?la[3]:la[2]),["watchOS",aa]}],[new RegExp("("+Q$5+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+Q$5+")","i"),la=>{if(la&&la[2]){var aa=[la[2],la[3],la[4]||"0"];return[Q$5,aa.join(".")]}return[Q$5,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,la=>{var aa=["Mac OS X",""];if(la&&la[1]){var ca=[la[1],la[2],la[3]||"0"];aa[1]=ca.join(".")}return aa}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[ht$1,""]],[/Linux|debian/i,["Linux",""]]],Jt=function(la){return jt.test(la)?bt:Dt$1.test(la)?wt$1:At$1.test(la)?xt:new RegExp(Tt$1,"i").test(la)?Tt$1:new RegExp("("+kt$1+"|WPDesktop)","i").test(la)?kt$1:/iPad/.test(la)?it$1:/iPod/.test(la)?"iPod Touch":/iPhone/.test(la)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(la)?rt$1:Lt.test(la)?nt$1:/(kobo)\s(ereader|touch)/i.test(la)?"Kobo":new RegExp(Pt$2,"i").test(la)?Pt$2:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(la)||/(kf[a-z]+)( bui|\)).+silk\//i.test(la)?"Kindle Fire":/(Android|ZTE)/i.test(la)?new RegExp(Y$3).test(la)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(la)||/pixel[\daxl ]{1,6}/i.test(la)&&!/pixel c/i.test(la)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(la)||/lmy47v/i.test(la)&&!/QTAQZ3/i.test(la)?Q$5:tt$1:new RegExp("(pda|"+Y$3+")","i").test(la)?Ct$1:new RegExp(Z$4,"i").test(la)&&!new RegExp(Z$4+" pc","i").test(la)?Rt$1:""},Kt=la=>la instanceof Error;function Yt(la){var aa=globalThis._posthogChunkIds;if(aa){var ca=Object.keys(aa);return Ht&&ca.length===zt||(zt=ca.length,Ht=ca.reduce(((ua,Sa)=>{Ut||(Ut={});var hl=Ut[Sa];if(hl)ua[hl[0]]=hl[1];else for(var pl=la(Sa),ml=pl.length-1;ml>=0;ml--){var gl=pl[ml],wc=gl?.filename,xu=aa[Sa];if(wc&&xu){ua[wc]=xu,Ut[Sa]=[wc,xu];break}}return ua}),{})),Ht}}class Xt{constructor(aa,ca,ua){ua===void 0&&(ua=[]),this.coercers=aa,this.stackParser=ca,this.modifiers=ua}buildFromUnknown(aa,ca){ca===void 0&&(ca={});var ua=ca&&ca.mechanism||{handled:!0,type:"generic"},Sa=this.buildCoercingContext(ua,ca,0).apply(aa),hl=this.buildParsingContext(),pl=this.parseStacktrace(Sa,hl);return{$exception_list:this.convertToExceptionList(pl,ua),$exception_level:"error"}}modifyFrames(aa){var ca=this;return p$c((function*(){for(var ua of aa)ua.stacktrace&&ua.stacktrace.frames&&I$8(ua.stacktrace.frames)&&(ua.stacktrace.frames=yield ca.applyModifiers(ua.stacktrace.frames));return aa}))()}coerceFallback(aa){var ca;return{type:"Error",value:"Unknown error",stack:(ca=aa.syntheticException)==null?void 0:ca.stack,synthetic:!0}}parseStacktrace(aa,ca){var ua,Sa;return aa.cause!=null&&(ua=this.parseStacktrace(aa.cause,ca)),aa.stack!=""&&aa.stack!=null&&(Sa=this.applyChunkIds(this.stackParser(aa.stack,aa.synthetic?1:0),ca.chunkIdMap)),g$8({},aa,{cause:ua,stack:Sa})}applyChunkIds(aa,ca){return aa.map((ua=>(ua.filename&&ca&&(ua.chunk_id=ca[ua.filename]),ua)))}applyCoercers(aa,ca){for(var ua of this.coercers)if(ua.match(aa))return ua.coerce(aa,ca);return this.coerceFallback(ca)}applyModifiers(aa){var ca=this;return p$c((function*(){var ua=aa;for(var Sa of ca.modifiers)ua=yield Sa(ua);return ua}))()}convertToExceptionList(aa,ca){var ua,Sa,hl,pl={type:aa.type,value:aa.value,mechanism:{type:(ua=ca.type)!==null&&ua!==void 0?ua:"generic",handled:(Sa=ca.handled)===null||Sa===void 0||Sa,synthetic:(hl=aa.synthetic)!==null&&hl!==void 0&&hl}};aa.stack&&(pl.stacktrace={type:"raw",frames:aa.stack});var ml=[pl];return aa.cause!=null&&ml.push(...this.convertToExceptionList(aa.cause,g$8({},ca,{handled:!0}))),ml}buildParsingContext(){return{chunkIdMap:Yt(this.stackParser)}}buildCoercingContext(aa,ca,ua){ua===void 0&&(ua=0);var Sa=(hl,pl)=>{if(pl<=4){var ml=this.buildCoercingContext(aa,ca,pl);return this.applyCoercers(hl,ml)}};return g$8({},ca,{syntheticException:ua==0?ca.syntheticException:void 0,mechanism:aa,apply:hl=>Sa(hl,ua),next:hl=>Sa(hl,ua+1)})}}var Qt="?";function Zt(la,aa,ca,ua,Sa){var hl={platform:la,filename:aa,function:ca==="<anonymous>"?Qt:ca,in_app:!0};return M$6(ua)||(hl.lineno=ua),M$6(Sa)||(hl.colno=Sa),hl}var ti=(la,aa)=>{var ca=la.indexOf("safari-extension")!==-1,ua=la.indexOf("safari-web-extension")!==-1;return ca||ua?[la.indexOf("@")!==-1?la.split("@")[0]:Qt,ca?"safari-extension:"+aa:"safari-web-extension:"+aa]:[la,aa]},ii=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,ei=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,ri=/\((\S*)(?::(\d+))(?::(\d+))\)/,si=(la,aa)=>{var ca=ii.exec(la);if(ca){var[,ua,Sa,hl]=ca;return Zt(aa,ua,Qt,+Sa,+hl)}var pl=ei.exec(la);if(pl){if(pl[2]&&pl[2].indexOf("eval")===0){var ml=ri.exec(pl[2]);ml&&(pl[2]=ml[1],pl[3]=ml[2],pl[4]=ml[3])}var[gl,wc]=ti(pl[1]||Qt,pl[2]);return Zt(aa,wc,gl,pl[3]?+pl[3]:void 0,pl[4]?+pl[4]:void 0)}},ni=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,oi=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,ai=(la,aa)=>{var ca=ni.exec(la);if(ca){if(ca[3]&&ca[3].indexOf(" > eval")>-1){var ua=oi.exec(ca[3]);ua&&(ca[1]=ca[1]||"eval",ca[3]=ua[1],ca[4]=ua[2],ca[5]="")}var Sa=ca[3],hl=ca[1]||Qt;return[hl,Sa]=ti(hl,Sa),Zt(aa,Sa,hl,ca[4]?+ca[4]:void 0,ca[5]?+ca[5]:void 0)}},li=/\(error: (.*)\)/,ui=50;function hi(la){for(var aa=arguments.length,ca=new Array(aa>1?aa-1:0),ua=1;ua<aa;ua++)ca[ua-1]=arguments[ua];return function(Sa,hl){hl===void 0&&(hl=0);for(var pl=[],ml=Sa.split(`
19414
19414
  `),gl=hl;gl<ml.length;gl++){var wc=ml[gl];if(!(wc.length>1024)){var xu=li.test(wc)?wc.replace(li,"$1"):wc;if(!xu.match(/\S*Error: /)){for(var ff of ca){var jf=ff(xu,la);if(jf){pl.push(jf);break}}if(pl.length>=ui)break}}}return(function(Uf){if(!Uf.length)return[];var rp=Array.from(Uf);return rp.reverse(),rp.slice(0,ui).map((np=>{return g$8({},np,{filename:np.filename||(qm=rp,qm[qm.length-1]||{}).filename,function:np.function||Qt});var qm}))})(pl)}}class di{match(aa){return this.isDOMException(aa)||this.isDOMError(aa)}coerce(aa,ca){var ua=O$5(aa.stack);return{type:this.getType(aa),value:this.getValue(aa),stack:ua?aa.stack:void 0,cause:aa.cause?ca.next(aa.cause):void 0,synthetic:!1}}getType(aa){return this.isDOMError(aa)?"DOMError":"DOMException"}getValue(aa){var ca=aa.name||(this.isDOMError(aa)?"DOMError":"DOMException");return aa.message?ca+": "+aa.message:ca}isDOMException(aa){return B$5(aa,"DOMException")}isDOMError(aa){return B$5(aa,"DOMError")}}class vi{match(aa){return(ca=>ca instanceof Error)(aa)}coerce(aa,ca){return{type:this.getType(aa),value:this.getMessage(aa,ca),stack:this.getStack(aa),cause:aa.cause?ca.next(aa.cause):void 0,synthetic:!1}}getType(aa){return aa.name||aa.constructor.name}getMessage(aa,ca){var ua=aa.message;return ua.error&&typeof ua.error.message=="string"?String(ua.error.message):String(ua)}getStack(aa){return aa.stacktrace||aa.stack||void 0}}class ci{constructor(){}match(aa){return B$5(aa,"ErrorEvent")&&aa.error!=null}coerce(aa,ca){var ua,Sa=ca.apply(aa.error);return Sa||{type:"ErrorEvent",value:aa.message,stack:(ua=ca.syntheticException)==null?void 0:ua.stack,synthetic:!0}}}var fi=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;class pi{match(aa){return typeof aa=="string"}coerce(aa,ca){var ua,[Sa,hl]=this.getInfos(aa);return{type:Sa??"Error",value:hl??aa,stack:(ua=ca.syntheticException)==null?void 0:ua.stack,synthetic:!0}}getInfos(aa){var ca="Error",ua=aa,Sa=aa.match(fi);return Sa&&(ca=Sa[1],ua=Sa[2]),[ca,ua]}}var gi=["fatal","error","warning","log","info","debug"];function _i(la,aa){aa===void 0&&(aa=40);var ca=Object.keys(la);if(ca.sort(),!ca.length)return"[object has no keys]";for(var ua=ca.length;ua>0;ua--){var Sa=ca.slice(0,ua).join(", ");if(!(Sa.length>aa))return ua===ca.length||Sa.length<=aa?Sa:Sa.slice(0,aa)+"..."}return""}class mi{match(aa){return typeof aa=="object"&&aa!==null}coerce(aa,ca){var ua,Sa=this.getErrorPropertyFromObject(aa);return Sa?ca.apply(Sa):{type:this.getType(aa),value:this.getValue(aa),stack:(ua=ca.syntheticException)==null?void 0:ua.stack,level:this.isSeverityLevel(aa.level)?aa.level:"error",synthetic:!0}}getType(aa){return q$6(aa)?aa.constructor.name:"Error"}getValue(aa){if("name"in aa&&typeof aa.name=="string"){var ca="'"+aa.name+"' captured as exception";return"message"in aa&&typeof aa.message=="string"&&(ca+=" with message: '"+aa.message+"'"),ca}if("message"in aa&&typeof aa.message=="string")return aa.message;var ua=this.getObjectClassName(aa);return(ua&&ua!=="Object"?"'"+ua+"'":"Object")+" captured as exception with keys: "+_i(aa)}isSeverityLevel(aa){return O$5(aa)&&!A$7(aa)&&gi.indexOf(aa)>=0}getErrorPropertyFromObject(aa){for(var ca in aa)if(Object.prototype.hasOwnProperty.call(aa,ca)){var ua=aa[ca];if(Kt(ua))return ua}}getObjectClassName(aa){try{var ca=Object.getPrototypeOf(aa);return ca?ca.constructor.name:void 0}catch{return}}}class yi{match(aa){return q$6(aa)}coerce(aa,ca){var ua,Sa=aa.constructor.name;return{type:Sa,value:Sa+" captured as exception with keys: "+_i(aa),stack:(ua=ca.syntheticException)==null?void 0:ua.stack,synthetic:!0}}}class bi{match(aa){return H$9(aa)}coerce(aa,ca){var ua;return{type:"Error",value:"Primitive value captured as exception: "+String(aa),stack:(ua=ca.syntheticException)==null?void 0:ua.stack,synthetic:!0}}}class wi{match(aa){return B$5(aa,"PromiseRejectionEvent")}coerce(aa,ca){var ua,Sa=this.getUnhandledRejectionReason(aa);return H$9(Sa)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(Sa),stack:(ua=ca.syntheticException)==null?void 0:ua.stack,synthetic:!0}:ca.apply(Sa)}getUnhandledRejectionReason(aa){if(H$9(aa))return aa;try{if("reason"in aa)return aa.reason;if("detail"in aa&&"reason"in aa.detail)return aa.detail.reason}catch{}return aa}}var xi=function(la,aa){var{debugEnabled:ca}=aa===void 0?{}:aa,ua={k:function(Sa){if(t$9&&(c$e.DEBUG||v$7.POSTHOG_DEBUG||ca)&&!M$6(t$9.console)&&t$9.console){for(var hl=("__rrweb_original__"in t$9.console[Sa])?t$9.console[Sa].__rrweb_original__:t$9.console[Sa],pl=arguments.length,ml=new Array(pl>1?pl-1:0),gl=1;gl<pl;gl++)ml[gl-1]=arguments[gl];hl(la,...ml)}},info:function(){for(var Sa=arguments.length,hl=new Array(Sa),pl=0;pl<Sa;pl++)hl[pl]=arguments[pl];ua.k("log",...hl)},warn:function(){for(var Sa=arguments.length,hl=new Array(Sa),pl=0;pl<Sa;pl++)hl[pl]=arguments[pl];ua.k("warn",...hl)},error:function(){for(var Sa=arguments.length,hl=new Array(Sa),pl=0;pl<Sa;pl++)hl[pl]=arguments[pl];ua.k("error",...hl)},critical:function(){for(var Sa=arguments.length,hl=new Array(Sa),pl=0;pl<Sa;pl++)hl[pl]=arguments[pl];console.error(la,...hl)},uninitializedWarning:Sa=>{ua.error("You must initialize PostHog before calling "+Sa)},createLogger:(Sa,hl)=>xi(la+" "+Sa,hl)};return ua},Ei=xi("[PostHog.js]"),$i=Ei.createLogger,Si=$i("[ExternalScriptsLoader]"),ki=(la,aa,ca)=>{if(la.config.disable_external_dependency_loading)return Si.warn(aa+" was requested but loading of external scripts is disabled."),ca("Loading of external scripts is disabled");var ua=o$d?.querySelectorAll("script");if(ua){for(var Sa,hl=function(){if(ua[pl].src===aa){var gl=ua[pl];return gl.__posthog_loading_callback_fired?{v:ca()}:(gl.addEventListener("load",(wc=>{gl.__posthog_loading_callback_fired=!0,ca(void 0,wc)})),gl.onerror=wc=>ca(wc),{v:void 0})}},pl=0;pl<ua.length;pl++)if(Sa=hl())return Sa.v}var ml=()=>{if(!o$d)return ca("document not found");var gl=o$d.createElement("script");if(gl.type="text/javascript",gl.crossOrigin="anonymous",gl.src=aa,gl.onload=ff=>{gl.__posthog_loading_callback_fired=!0,ca(void 0,ff)},gl.onerror=ff=>ca(ff),la.config.prepare_external_dependency_script&&(gl=la.config.prepare_external_dependency_script(gl)),!gl)return ca("prepare_external_dependency_script returned null");var wc,xu=o$d.querySelectorAll("body > script");xu.length>0?(wc=xu[0].parentNode)==null||wc.insertBefore(gl,xu[0]):o$d.body.appendChild(gl)};o$d!=null&&o$d.body?ml():o$d?.addEventListener("DOMContentLoaded",ml)};v$7.__PosthogExtensions__=v$7.__PosthogExtensions__||{},v$7.__PosthogExtensions__.loadExternalDependency=(la,aa,ca)=>{var ua="/static/"+aa+".js?v="+la.version;if(aa==="remote-config"&&(ua="/array/"+la.config.token+"/config.js"),aa==="toolbar"){var Sa=3e5;ua=ua+"&t="+Math.floor(Date.now()/Sa)*Sa}var hl=la.requestRouter.endpointFor("assets",ua);ki(la,hl,ca)},v$7.__PosthogExtensions__.loadSiteApp=(la,aa,ca)=>{var ua=la.requestRouter.endpointFor("api",aa);ki(la,ua,ca)};var Pi={};function Ti(la,aa,ca){if(I$8(la)){if(r$d&&la.forEach===r$d)la.forEach(aa,ca);else if("length"in la&&la.length===+la.length){for(var ua=0,Sa=la.length;ua<Sa;ua++)if(ua in la&&aa.call(ca,la[ua],ua)===Pi)return}}}function Ii(la,aa,ca){if(!j$a(la)){if(I$8(la))return Ti(la,aa,ca);if(U$4(la)){for(var ua of la.entries())if(aa.call(ca,ua[1],ua[0])===Pi)return}else for(var Sa in la)if(P$9.call(la,Sa)&&aa.call(ca,la[Sa],Sa)===Pi)return}}var Ci=function(la){for(var aa=arguments.length,ca=new Array(aa>1?aa-1:0),ua=1;ua<aa;ua++)ca[ua-1]=arguments[ua];return Ti(ca,(function(Sa){for(var hl in Sa)Sa[hl]!==void 0&&(la[hl]=Sa[hl])})),la},Ri=function(la){for(var aa=arguments.length,ca=new Array(aa>1?aa-1:0),ua=1;ua<aa;ua++)ca[ua-1]=arguments[ua];return Ti(ca,(function(Sa){Ti(Sa,(function(hl){la.push(hl)}))})),la};function Fi(la){for(var aa=Object.keys(la),ca=aa.length,ua=new Array(ca);ca--;)ua[ca]=[aa[ca],la[aa[ca]]];return ua}var Mi=function(la){try{return la()}catch{return}},Oi=function(la){return function(){try{for(var aa=arguments.length,ca=new Array(aa),ua=0;ua<aa;ua++)ca[ua]=arguments[ua];return la.apply(this,ca)}catch(Sa){Ei.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),Ei.critical(Sa)}}},Ai=function(la){var aa={};return Ii(la,(function(ca,ua){(O$5(ca)&&ca.length>0||L$6(ca))&&(aa[ua]=ca)})),aa};function Di(la,aa){return ca=la,ua=hl=>O$5(hl)&&!D$b(aa)?hl.slice(0,aa):hl,Sa=new Set,(function hl(pl,ml){return pl!==Object(pl)?ua?ua(pl,ml):pl:Sa.has(pl)?void 0:(Sa.add(pl),I$8(pl)?(gl=[],Ti(pl,(wc=>{gl.push(hl(wc))}))):(gl={},Ii(pl,((wc,xu)=>{Sa.has(wc)||(gl[xu]=hl(wc,xu))}))),gl);var gl})(ca);var ca,ua,Sa}var ji=["herokuapp.com","vercel.app","netlify.app"];function Li(la){var aa=la?.hostname;if(!O$5(aa))return!1;var ca=aa.split(".").slice(-2).join(".");for(var ua of ji)if(ca===ua)return!1;return!0}function Ni(la,aa){for(var ca=0;ca<la.length;ca++)if(aa(la[ca]))return la[ca]}function Ui(la,aa,ca,ua){var{capture:Sa=!1,passive:hl=!0}=ua??{};la?.addEventListener(aa,ca,{capture:Sa,passive:hl})}var zi="$people_distinct_id",Hi="__alias",Bi="__timers",qi="$autocapture_disabled_server_side",Wi="$heatmaps_enabled_server_side",Gi="$exception_capture_enabled_server_side",Vi="$error_tracking_suppression_rules",Ji="$error_tracking_capture_extension_exceptions",Ki="$web_vitals_enabled_server_side",Yi="$dead_clicks_enabled_server_side",Xi="$product_tours_enabled_server_side",Qi="$web_vitals_allowed_metrics",Zi="$session_recording_remote_config",te$4="$sesid",ie$3="$session_is_sampled",ee$4="$enabled_feature_flags",re$1="$early_access_features",se$3="$feature_flag_details",ne$2="$stored_person_properties",oe$2="$stored_group_properties",ae$3="$surveys",le$2="$flag_call_reported",ue$1="$user_state",he$3="$client_session_props",de$3="$capture_rate_limit",ve$2="$initial_campaign_params",ce$3="$initial_referrer_info",fe$2="$initial_person_info",pe$2="$epp",ge$3="__POSTHOG_TOOLBAR__",_e$1="$posthog_cookieless",me$2=[zi,Hi,"__cmpns",Bi,"$session_recording_enabled_server_side",Wi,te$4,ee$4,Vi,ue$1,re$1,se$3,oe$2,ne$2,ae$3,le$2,he$3,de$3,ve$2,ce$3,pe$2,fe$2,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function ye$3(la){return la instanceof Element&&(la.id===ge$3||!(la.closest==null||!la.closest(".toolbar-global-fade-container")))}function be$4(la){return!!la&&la.nodeType===1}function we$3(la,aa){return!!la&&!!la.tagName&&la.tagName.toLowerCase()===aa.toLowerCase()}function xe$1(la){return!!la&&la.nodeType===3}function Ee$2(la){return!!la&&la.nodeType===11}function $e(la){return la?x$6(la).split(/\s+/):[]}function Se$2(la){var aa=t$9?.location.href;return!!(aa&&la&&la.some((ca=>aa.match(ca))))}function ke$3(la){var aa="";switch(typeof la.className){case"string":aa=la.className;break;case"object":aa=(la.className&&"baseVal"in la.className?la.className.baseVal:null)||la.getAttribute("class")||"";break;default:aa=""}return $e(aa)}function Pe(la){return j$a(la)?null:x$6(la).split(/(\s+)/).filter((aa=>Je(aa))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function Te$2(la){var aa="";return Ue$1(la)&&!ze(la)&&la.childNodes&&la.childNodes.length&&Ii(la.childNodes,(function(ca){var ua;xe$1(ca)&&ca.textContent&&(aa+=(ua=Pe(ca.textContent))!==null&&ua!==void 0?ua:"")})),x$6(aa)}function Ie$1(la){return M$6(la.target)?la.srcElement||null:(aa=la.target)!=null&&aa.shadowRoot?la.composedPath()[0]||null:la.target||null;var aa}var Ce$3=["a","button","form","input","select","textarea","label"];function Re$1(la,aa){if(M$6(aa))return!0;var ca,ua=function(hl){if(aa.some((pl=>hl.matches(pl))))return{v:!0}};for(var Sa of la)if(ca=ua(Sa))return ca.v;return!1}function Fe$2(la){var aa=la.parentNode;return!(!aa||!be$4(aa))&&aa}var Me$2=["next","previous","prev",">","<"],Oe$5=10,Ae$1=[".ph-no-rageclick",".ph-no-capture"];function De$3(la,aa){if(!t$9||je$2(la))return!1;var ca,ua,Sa;if(N$6(aa)?(ca=!!aa&&Ae$1,ua=void 0):(ca=(Sa=aa?.css_selector_ignorelist)!==null&&Sa!==void 0?Sa:Ae$1,ua=aa?.content_ignorelist),ca===!1)return!1;var{targetElementList:hl}=Le$1(la,!1);return!(function(pl,ml){if(pl===!1||M$6(pl))return!1;var gl;if(pl===!0)gl=Me$2;else{if(!I$8(pl))return!1;if(pl.length>Oe$5)return Ei.error("[PostHog] content_ignorelist array cannot exceed "+Oe$5+" items. Use css_selector_ignorelist for more complex matching."),!1;gl=pl.map((wc=>wc.toLowerCase()))}return ml.some((wc=>{var{safeText:xu,ariaLabel:ff}=wc;return gl.some((jf=>xu.includes(jf)||ff.includes(jf)))}))})(ua,hl.map((pl=>{var ml;return{safeText:Te$2(pl).toLowerCase(),ariaLabel:((ml=pl.getAttribute("aria-label"))==null?void 0:ml.toLowerCase().trim())||""}})))&&!Re$1(hl,ca)}var je$2=la=>!la||we$3(la,"html")||!be$4(la),Le$1=(la,aa)=>{if(!t$9||je$2(la))return{parentIsUsefulElement:!1,targetElementList:[]};for(var ca=!1,ua=[la],Sa=la;Sa.parentNode&&!we$3(Sa,"body");)if(Ee$2(Sa.parentNode))ua.push(Sa.parentNode.host),Sa=Sa.parentNode.host;else{var hl=Fe$2(Sa);if(!hl)break;if(aa||Ce$3.indexOf(hl.tagName.toLowerCase())>-1)ca=!0;else{var pl=t$9.getComputedStyle(hl);pl&&pl.getPropertyValue("cursor")==="pointer"&&(ca=!0)}ua.push(hl),Sa=hl}return{parentIsUsefulElement:ca,targetElementList:ua}};function Ne$2(la,aa,ca,ua,Sa){var hl,pl,ml,gl;if(ca===void 0&&(ca=void 0),!t$9||je$2(la)||(hl=ca)!=null&&hl.url_allowlist&&!Se$2(ca.url_allowlist)||(pl=ca)!=null&&pl.url_ignorelist&&Se$2(ca.url_ignorelist))return!1;if((ml=ca)!=null&&ml.dom_event_allowlist){var wc=ca.dom_event_allowlist;if(wc&&!wc.some((rp=>aa.type===rp)))return!1}var{parentIsUsefulElement:xu,targetElementList:ff}=Le$1(la,ua);if(!(function(rp,np){var qm=np?.element_allowlist;if(M$6(qm))return!0;var Vm,eg=function(rg){if(qm.some((ig=>rg.tagName.toLowerCase()===ig)))return{v:!0}};for(var tg of rp)if(Vm=eg(tg))return Vm.v;return!1})(ff,ca)||!Re$1(ff,(gl=ca)==null?void 0:gl.css_selector_allowlist))return!1;var jf=t$9.getComputedStyle(la);if(jf&&jf.getPropertyValue("cursor")==="pointer"&&aa.type==="click")return!0;var Uf=la.tagName.toLowerCase();switch(Uf){case"html":return!1;case"form":return(Sa||["submit"]).indexOf(aa.type)>=0;case"input":case"select":case"textarea":return(Sa||["change","click"]).indexOf(aa.type)>=0;default:return xu?(Sa||["click"]).indexOf(aa.type)>=0:(Sa||["click"]).indexOf(aa.type)>=0&&(Ce$3.indexOf(Uf)>-1||la.getAttribute("contenteditable")==="true")}}function Ue$1(la){for(var aa=la;aa.parentNode&&!we$3(aa,"body");aa=aa.parentNode){var ca=ke$3(aa);if(w$9(ca,"ph-sensitive")||w$9(ca,"ph-no-capture"))return!1}if(w$9(ke$3(la),"ph-include"))return!0;var ua=la.type||"";if(O$5(ua))switch(ua.toLowerCase()){case"hidden":case"password":return!1}var Sa=la.name||la.id||"";return!(O$5(Sa)&&/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(Sa.replace(/[^a-zA-Z0-9]/g,"")))}function ze(la){return!!(we$3(la,"input")&&!["button","checkbox","submit","reset"].includes(la.type)||we$3(la,"select")||we$3(la,"textarea")||la.getAttribute("contenteditable")==="true")}var He$2="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",Be$1=new RegExp("^(?:"+He$2+")$"),qe=new RegExp(He$2),We$1="\\d{3}-?\\d{2}-?\\d{4}",Ge$1=new RegExp("^("+We$1+")$"),Ve$1=new RegExp("("+We$1+")");function Je(la,aa){return aa===void 0&&(aa=!0),!(j$a(la)||O$5(la)&&(la=x$6(la),(aa?Be$1:qe).test((la||"").replace(/[- ]/g,""))||(aa?Ge$1:Ve$1).test(la)))}function Ke$1(la){var aa=Te$2(la);return Je(aa=(aa+" "+Ye(la)).trim())?aa:""}function Ye(la){var aa="";return la&&la.childNodes&&la.childNodes.length&&Ii(la.childNodes,(function(ca){var ua;if(ca&&((ua=ca.tagName)==null?void 0:ua.toLowerCase())==="span")try{var Sa=Te$2(ca);aa=(aa+" "+Sa).trim(),ca.childNodes&&ca.childNodes.length&&(aa=(aa+" "+Ye(ca)).trim())}catch(hl){Ei.error("[AutoCapture]",hl)}})),aa}function Xe(la){return(function(aa){var ca=aa.map((ua=>{var Sa,hl,pl="";if(ua.tag_name&&(pl+=ua.tag_name),ua.attr_class)for(var ml of(ua.attr_class.sort(),ua.attr_class))pl+="."+ml.replace(/"/g,"");var gl=g$8({},ua.text?{text:ua.text}:{},{"nth-child":(Sa=ua.nth_child)!==null&&Sa!==void 0?Sa:0,"nth-of-type":(hl=ua.nth_of_type)!==null&&hl!==void 0?hl:0},ua.href?{href:ua.href}:{},ua.attr_id?{attr_id:ua.attr_id}:{},ua.attributes),wc={};return Fi(gl).sort(((xu,ff)=>{var[jf]=xu,[Uf]=ff;return jf.localeCompare(Uf)})).forEach((xu=>{var[ff,jf]=xu;return wc[Qe(ff.toString())]=Qe(jf.toString())})),pl+=":",pl+=Fi(wc).map((xu=>{var[ff,jf]=xu;return ff+'="'+jf+'"'})).join("")}));return ca.join(";")})((function(aa){return aa.map((ca=>{var ua,Sa,hl={text:(ua=ca.$el_text)==null?void 0:ua.slice(0,400),tag_name:ca.tag_name,href:(Sa=ca.attr__href)==null?void 0:Sa.slice(0,2048),attr_class:Ze$1(ca),attr_id:ca.attr__id,nth_child:ca.nth_child,nth_of_type:ca.nth_of_type,attributes:{}};return Fi(ca).filter((pl=>{var[ml]=pl;return ml.indexOf("attr__")===0})).forEach((pl=>{var[ml,gl]=pl;return hl.attributes[ml]=gl})),hl}))})(la))}function Qe(la){return la.replace(/"|\\"/g,'\\"')}function Ze$1(la){var aa=la.attr__class;return aa?I$8(aa)?aa:$e(aa):void 0}class tr{constructor(aa){this.disabled=aa===!1;var ca=R$3(aa)?aa:{};this.thresholdPx=ca.threshold_px||30,this.timeoutMs=ca.timeout_ms||1e3,this.clickCount=ca.click_count||3,this.clicks=[]}isRageClick(aa,ca,ua){if(this.disabled)return!1;var Sa=this.clicks[this.clicks.length-1];if(Sa&&Math.abs(aa-Sa.x)+Math.abs(ca-Sa.y)<this.thresholdPx&&ua-Sa.timestamp<this.timeoutMs){if(this.clicks.push({x:aa,y:ca,timestamp:ua}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:aa,y:ca,timestamp:ua}];return!1}}var ir="$copy_autocapture",er=(function(la){return la.GZipJS="gzip-js",la.Base64="base64",la})({}),sr=la=>{var aa=o$d?.createElement("a");return M$6(aa)?null:(aa.href=la,aa)},nr=function(la,aa){var ca,ua;aa===void 0&&(aa="&");var Sa=[];return Ii(la,(function(hl,pl){M$6(hl)||M$6(pl)||pl==="undefined"||(ca=encodeURIComponent((ml=>ml instanceof File)(hl)?hl.name:hl.toString()),ua=encodeURIComponent(pl),Sa[Sa.length]=ua+"="+ca)})),Sa.join(aa)},or=function(la,aa){for(var ca,ua=((la.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),Sa=0;Sa<ua.length;Sa++){var hl=ua[Sa].split("=");if(hl[0]===aa){ca=hl;break}}if(!I$8(ca)||ca.length<2)return"";var pl=ca[1];try{pl=decodeURIComponent(pl)}catch{Ei.error("Skipping decoding for malformed query param: "+pl)}return pl.replace(/\+/g," ")},ar=function(la,aa,ca){if(!la||!aa||!aa.length)return la;for(var ua=la.split("#"),Sa=ua[0]||"",hl=ua[1],pl=Sa.split("?"),ml=pl[1],gl=pl[0],wc=(ml||"").split("&"),xu=[],ff=0;ff<wc.length;ff++){var jf=wc[ff].split("=");I$8(jf)&&(aa.includes(jf[0])?xu.push(jf[0]+"="+ca):xu.push(wc[ff]))}var Uf=gl;return ml!=null&&(Uf+="?"+xu.join("&")),hl!=null&&(Uf+="#"+hl),Uf},lr=function(la,aa){var ca=la.match(new RegExp(aa+"=([^&]*)"));return ca?ca[1]:null},ur=$i("[AutoCapture]");function hr(la,aa){return aa.length>la?aa.slice(0,la)+"...":aa}function dr(la){if(la.previousElementSibling)return la.previousElementSibling;var aa=la;do aa=aa.previousSibling;while(aa&&!be$4(aa));return aa}function vr(la,aa,ca,ua){var Sa=la.tagName.toLowerCase(),hl={tag_name:Sa};Ce$3.indexOf(Sa)>-1&&!ca&&(Sa.toLowerCase()==="a"||Sa.toLowerCase()==="button"?hl.$el_text=hr(1024,Ke$1(la)):hl.$el_text=hr(1024,Te$2(la)));var pl=ke$3(la);pl.length>0&&(hl.classes=pl.filter((function(xu){return xu!==""}))),Ii(la.attributes,(function(xu){var ff;if((!ze(la)||["name","id","class","aria-label"].indexOf(xu.name)!==-1)&&(ua==null||!ua.includes(xu.name))&&!aa&&Je(xu.value)&&(ff=xu.name,!O$5(ff)||ff.substring(0,10)!=="_ngcontent"&&ff.substring(0,7)!=="_nghost")){var jf=xu.value;xu.name==="class"&&(jf=$e(jf).join(" ")),hl["attr__"+xu.name]=hr(1024,jf)}}));for(var ml=1,gl=1,wc=la;wc=dr(wc);)ml++,wc.tagName===la.tagName&&gl++;return hl.nth_child=ml,hl.nth_of_type=gl,hl}function cr(la,aa){for(var ca,ua,{e:Sa,maskAllElementAttributes:hl,maskAllText:pl,elementAttributeIgnoreList:ml,elementsChainAsString:gl}=aa,wc=[la],xu=la;xu.parentNode&&!we$3(xu,"body");)Ee$2(xu.parentNode)?(wc.push(xu.parentNode.host),xu=xu.parentNode.host):(wc.push(xu.parentNode),xu=xu.parentNode);var ff,jf=[],Uf={},rp=!1,np=!1;if(Ii(wc,(rg=>{var ig=Ue$1(rg);rg.tagName.toLowerCase()==="a"&&(rp=rg.getAttribute("href"),rp=ig&&rp&&Je(rp)&&rp),w$9(ke$3(rg),"ph-no-capture")&&(np=!0),jf.push(vr(rg,hl,pl,ml));var vv=(function(k1){if(!Ue$1(k1))return{};var qw={};return Ii(k1.attributes,(function(K0){if(K0.name&&K0.name.indexOf("data-ph-capture-attribute")===0){var J0=K0.name.replace("data-ph-capture-attribute-",""),Hw=K0.value;J0&&Hw&&Je(Hw)&&(qw[J0]=Hw)}})),qw})(rg);Ci(Uf,vv)})),np)return{props:{},explicitNoCapture:np};if(pl||(la.tagName.toLowerCase()==="a"||la.tagName.toLowerCase()==="button"?jf[0].$el_text=Ke$1(la):jf[0].$el_text=Te$2(la)),rp){var qm,Vm;jf[0].attr__href=rp;var eg=(qm=sr(rp))==null?void 0:qm.host,tg=t$9==null||(Vm=t$9.location)==null?void 0:Vm.host;eg&&tg&&eg!==tg&&(ff=rp)}return{props:Ci({$event_type:Sa.type,$ce_version:1},gl?{}:{$elements:jf},{$elements_chain:Xe(jf)},(ca=jf[0])!=null&&ca.$el_text?{$el_text:(ua=jf[0])==null?void 0:ua.$el_text}:{},ff&&Sa.type==="click"?{$external_click_url:ff}:{},Uf)}}class fr{constructor(aa){this.P=!1,this.T=null,this.I=!1,this.instance=aa,this.rageclicks=new tr(aa.config.rageclick),this.C=null}get R(){var aa,ca,ua=R$3(this.instance.config.autocapture)?this.instance.config.autocapture:{};return ua.url_allowlist=(aa=ua.url_allowlist)==null?void 0:aa.map((Sa=>new RegExp(Sa))),ua.url_ignorelist=(ca=ua.url_ignorelist)==null?void 0:ca.map((Sa=>new RegExp(Sa))),ua}F(){if(this.isBrowserSupported()){if(t$9&&o$d){var aa=ua=>{ua=ua||t$9?.event;try{this.M(ua)}catch(Sa){ur.error("Failed to capture event",Sa)}};if(Ui(o$d,"submit",aa,{capture:!0}),Ui(o$d,"change",aa,{capture:!0}),Ui(o$d,"click",aa,{capture:!0}),this.R.capture_copied_text){var ca=ua=>{ua=ua||t$9?.event,this.M(ua,ir)};Ui(o$d,"copy",ca,{capture:!0}),Ui(o$d,"cut",ca,{capture:!0})}}}else ur.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.P&&(this.F(),this.P=!0)}onRemoteConfig(aa){aa.elementsChainAsString&&(this.I=aa.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[qi]:!!aa.autocapture_opt_out}),this.T=!!aa.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(aa){this.C=aa}getElementSelectors(aa){var ca,ua=[];return(ca=this.C)==null||ca.forEach((Sa=>{var hl=o$d?.querySelectorAll(Sa);hl?.forEach((pl=>{aa===pl&&ua.push(Sa)}))})),ua}get isEnabled(){var aa,ca,ua=(aa=this.instance.persistence)==null?void 0:aa.props[qi],Sa=this.T;if(D$b(Sa)&&!N$6(ua)&&!this.instance.O())return!1;var hl=(ca=this.T)!==null&&ca!==void 0?ca:!!ua;return!!this.instance.config.autocapture&&!hl}M(aa,ca){if(ca===void 0&&(ca="$autocapture"),this.isEnabled){var ua,Sa=Ie$1(aa);xe$1(Sa)&&(Sa=Sa.parentNode||null),ca==="$autocapture"&&aa.type==="click"&&aa instanceof MouseEvent&&this.instance.config.rageclick&&(ua=this.rageclicks)!=null&&ua.isRageClick(aa.clientX,aa.clientY,aa.timeStamp||new Date().getTime())&&De$3(Sa,this.instance.config.rageclick)&&this.M(aa,"$rageclick");var hl=ca===ir;if(Sa&&Ne$2(Sa,aa,this.R,hl,hl?["copy","cut"]:void 0)){var{props:pl,explicitNoCapture:ml}=cr(Sa,{e:aa,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.R.element_attribute_ignorelist,elementsChainAsString:this.I});if(ml)return!1;var gl=this.getElementSelectors(Sa);if(gl&&gl.length>0&&(pl.$element_selectors=gl),ca===ir){var wc,xu=Pe(t$9==null||(wc=t$9.getSelection())==null?void 0:wc.toString()),ff=aa.type||"clipboard";if(!xu)return!1;pl.$selected_content=xu,pl.$copy_type=ff}return this.instance.capture(ca,pl),!0}}}isBrowserSupported(){return C$c(o$d?.querySelectorAll)}}Math.trunc||(Math.trunc=function(la){return la<0?Math.ceil(la):Math.floor(la)}),Number.isInteger||(Number.isInteger=function(la){return L$6(la)&&isFinite(la)&&Math.floor(la)===la});var pr="0123456789abcdef";class gr{constructor(aa){if(this.bytes=aa,aa.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(aa,ca,ua,Sa){if(!Number.isInteger(aa)||!Number.isInteger(ca)||!Number.isInteger(ua)||!Number.isInteger(Sa)||aa<0||ca<0||ua<0||Sa<0||aa>0xffffffffffff||ca>4095||ua>1073741823||Sa>4294967295)throw new RangeError("invalid field value");var hl=new Uint8Array(16);return hl[0]=aa/Math.pow(2,40),hl[1]=aa/Math.pow(2,32),hl[2]=aa/Math.pow(2,24),hl[3]=aa/Math.pow(2,16),hl[4]=aa/Math.pow(2,8),hl[5]=aa,hl[6]=112|ca>>>8,hl[7]=ca,hl[8]=128|ua>>>24,hl[9]=ua>>>16,hl[10]=ua>>>8,hl[11]=ua,hl[12]=Sa>>>24,hl[13]=Sa>>>16,hl[14]=Sa>>>8,hl[15]=Sa,new gr(hl)}toString(){for(var aa="",ca=0;ca<this.bytes.length;ca++)aa=aa+pr.charAt(this.bytes[ca]>>>4)+pr.charAt(15&this.bytes[ca]),ca!==3&&ca!==5&&ca!==7&&ca!==9||(aa+="-");if(aa.length!==36)throw new Error("Invalid UUIDv7 was generated");return aa}clone(){return new gr(this.bytes.slice(0))}equals(aa){return this.compareTo(aa)===0}compareTo(aa){for(var ca=0;ca<16;ca++){var ua=this.bytes[ca]-aa.bytes[ca];if(ua!==0)return Math.sign(ua)}return 0}}class _r{constructor(){this.A=0,this.D=0,this.j=new br}generate(){var aa=this.generateOrAbort();if(M$6(aa)){this.A=0;var ca=this.generateOrAbort();if(M$6(ca))throw new Error("Could not generate UUID after timestamp reset");return ca}return aa}generateOrAbort(){var aa=Date.now();if(aa>this.A)this.A=aa,this.L();else{if(!(aa+1e4>this.A))return;this.D++,this.D>4398046511103&&(this.A++,this.L())}return gr.fromFieldsV7(this.A,Math.trunc(this.D/Math.pow(2,30)),this.D&Math.pow(2,30)-1,this.j.nextUint32())}L(){this.D=1024*this.j.nextUint32()+(1023&this.j.nextUint32())}}var mr,yr=la=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var aa=0;aa<la.length;aa++)la[aa]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return la};t$9&&!M$6(t$9.crypto)&&crypto.getRandomValues&&(yr=la=>crypto.getRandomValues(la));class br{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(yr(this.N),this.U=0),this.N[this.U++]}}var wr=()=>xr().toString(),xr=()=>(mr||(mr=new _r)).generate(),Er="",$r=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function Sr(la,aa){if(aa){var ca=(function(Sa,hl){if(hl===void 0&&(hl=o$d),Er)return Er;if(!hl||["localhost","127.0.0.1"].includes(Sa))return"";for(var pl=Sa.split("."),ml=Math.min(pl.length,8),gl="dmn_chk_"+wr();!Er&&ml--;){var wc=pl.slice(ml).join("."),xu=gl+"=1;domain=."+wc+";path=/";hl.cookie=xu+";max-age=3",hl.cookie.includes(gl)&&(hl.cookie=xu+";max-age=0",Er=wc)}return Er})(la);if(!ca){var ua=(Sa=>{var hl=Sa.match($r);return hl?hl[0]:""})(la);ua!==ca&&Ei.info("Warning: cookie subdomain discovery mismatch",ua,ca),ca=ua}return ca?"; domain=."+ca:""}return""}var kr={H:()=>!!o$d,B:function(la){Ei.error("cookieStore error: "+la)},q:function(la){if(o$d){try{for(var aa=la+"=",ca=o$d.cookie.split(";").filter((hl=>hl.length)),ua=0;ua<ca.length;ua++){for(var Sa=ca[ua];Sa.charAt(0)==" ";)Sa=Sa.substring(1,Sa.length);if(Sa.indexOf(aa)===0)return decodeURIComponent(Sa.substring(aa.length,Sa.length))}}catch{}return null}},W:function(la){var aa;try{aa=JSON.parse(kr.q(la))||{}}catch{}return aa},G:function(la,aa,ca,ua,Sa){if(o$d)try{var hl="",pl="",ml=Sr(o$d.location.hostname,ua);if(ca){var gl=new Date;gl.setTime(gl.getTime()+24*ca*60*60*1e3),hl="; expires="+gl.toUTCString()}Sa&&(pl="; secure");var wc=la+"="+encodeURIComponent(JSON.stringify(aa))+hl+"; SameSite=Lax; path=/"+ml+pl;return wc.length>3686.4&&Ei.warn("cookieStore warning: large cookie, len="+wc.length),o$d.cookie=wc,wc}catch{return}},V:function(la,aa){if(o$d!=null&&o$d.cookie)try{kr.G(la,"",-1,aa)}catch{return}}},Pr=null,Tr={H:function(){if(!D$b(Pr))return Pr;var la=!0;if(M$6(t$9))la=!1;else try{var aa="__mplssupport__";Tr.G(aa,"xyz"),Tr.q(aa)!=='"xyz"'&&(la=!1),Tr.V(aa)}catch{la=!1}return la||Ei.error("localStorage unsupported; falling back to cookie store"),Pr=la,la},B:function(la){Ei.error("localStorage error: "+la)},q:function(la){try{return t$9?.localStorage.getItem(la)}catch(aa){Tr.B(aa)}return null},W:function(la){try{return JSON.parse(Tr.q(la))||{}}catch{}return null},G:function(la,aa){try{t$9?.localStorage.setItem(la,JSON.stringify(aa))}catch(ca){Tr.B(ca)}},V:function(la){try{t$9?.localStorage.removeItem(la)}catch(aa){Tr.B(aa)}}},Ir=["$device_id","distinct_id",te$4,ie$3,pe$2,fe$2],Cr=g$8({},Tr,{W:function(la){try{var aa={};try{aa=kr.W(la)||{}}catch{}var ca=Ci(aa,JSON.parse(Tr.q(la)||"{}"));return Tr.G(la,ca),ca}catch{}return null},G:function(la,aa,ca,ua,Sa,hl){try{Tr.G(la,aa,void 0,void 0,hl);var pl={};Ir.forEach((ml=>{aa[ml]&&(pl[ml]=aa[ml])})),Object.keys(pl).length&&kr.G(la,pl,ca,ua,Sa,hl)}catch(ml){Tr.B(ml)}},V:function(la,aa){try{t$9?.localStorage.removeItem(la),kr.V(la,aa)}catch(ca){Tr.B(ca)}}}),Rr={},Fr={H:function(){return!0},B:function(la){Ei.error("memoryStorage error: "+la)},q:function(la){return Rr[la]||null},W:function(la){return Rr[la]||null},G:function(la,aa){Rr[la]=aa},V:function(la){delete Rr[la]}},Mr=null,Or={H:function(){if(!D$b(Mr))return Mr;if(Mr=!0,M$6(t$9))Mr=!1;else try{var la="__support__";Or.G(la,"xyz"),Or.q(la)!=='"xyz"'&&(Mr=!1),Or.V(la)}catch{Mr=!1}return Mr},B:function(la){Ei.error("sessionStorage error: ",la)},q:function(la){try{return t$9?.sessionStorage.getItem(la)}catch(aa){Or.B(aa)}return null},W:function(la){try{return JSON.parse(Or.q(la))||null}catch{}return null},G:function(la,aa){try{t$9?.sessionStorage.setItem(la,JSON.stringify(aa))}catch(ca){Or.B(ca)}},V:function(la){try{t$9?.sessionStorage.removeItem(la)}catch(aa){Or.B(aa)}}},Ar=(function(la){return la[la.PENDING=-1]="PENDING",la[la.DENIED=0]="DENIED",la[la.GRANTED=1]="GRANTED",la})({});class Dr{constructor(aa){this._instance=aa}get R(){return this._instance.config}get consent(){return this.J()?Ar.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===Ar.DENIED||this.consent===Ar.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===Ar.DENIED}optInOut(aa){this.Y.G(this.X,aa?1:0,this.R.cookie_expiration,this.R.cross_subdomain_cookie,this.R.secure_cookie)}reset(){this.Y.V(this.X,this.R.cross_subdomain_cookie)}get X(){var{token:aa,opt_out_capturing_cookie_prefix:ca,consent_persistence_name:ua}=this._instance.config;return ua||(ca?ca+aa:"__ph_opt_in_out_"+aa)}get K(){var aa=this.Y.q(this.X);return G$5(aa)?Ar.GRANTED:w$9(V$7,aa)?Ar.DENIED:Ar.PENDING}get Y(){if(!this.Z){var aa=this.R.opt_out_capturing_persistence_type;this.Z=aa==="localStorage"?Tr:kr;var ca=aa==="localStorage"?kr:Tr;ca.q(this.X)&&(this.Z.q(this.X)||this.optInOut(G$5(ca.q(this.X))),ca.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!Ni([n$9?.doNotTrack,n$9?.msDoNotTrack,v$7.doNotTrack],(aa=>G$5(aa)))}}var jr=$i("[Dead Clicks]"),Lr=()=>!0,Nr=la=>{var aa,ca=!((aa=la.instance.persistence)==null||!aa.get_property(Yi)),ua=la.instance.config.capture_dead_clicks;return N$6(ua)?ua:!!R$3(ua)||ca};class Ur{get lazyLoadedDeadClicksAutocapture(){return this.tt}constructor(aa,ca,ua){this.instance=aa,this.isEnabled=ca,this.onCapture=ua,this.startIfEnabled()}onRemoteConfig(aa){this.instance.persistence&&this.instance.persistence.register({[Yi]:aa?.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.it((()=>{this.et()}))}it(aa){var ca,ua;(ca=v$7.__PosthogExtensions__)!=null&&ca.initDeadClicksAutocapture&&aa(),(ua=v$7.__PosthogExtensions__)==null||ua.loadExternalDependency==null||ua.loadExternalDependency(this.instance,"dead-clicks-autocapture",(Sa=>{Sa?jr.error("failed to load script",Sa):aa()}))}et(){var aa;if(o$d){if(!this.tt&&(aa=v$7.__PosthogExtensions__)!=null&&aa.initDeadClicksAutocapture){var ca=R$3(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};ca.__onCapture=this.onCapture,this.tt=v$7.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,ca),this.tt.start(o$d),jr.info("starting...")}}else jr.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,jr.info("stopping..."))}}var zr=$i("[ExceptionAutocapture]");class Hr{constructor(aa){var ca,ua,Sa;this.rt=()=>{var hl;if(t$9&&this.isEnabled&&(hl=v$7.__PosthogExtensions__)!=null&&hl.errorWrappingFunctions){var pl=v$7.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,ml=v$7.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,gl=v$7.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.st&&this.R.capture_unhandled_errors&&(this.st=pl(this.captureException.bind(this))),!this.nt&&this.R.capture_unhandled_rejections&&(this.nt=ml(this.captureException.bind(this))),!this.ot&&this.R.capture_console_errors&&(this.ot=gl(this.captureException.bind(this)))}catch(wc){zr.error("failed to start",wc),this.ut()}}},this._instance=aa,this.ht=!((ca=this._instance.persistence)==null||!ca.props[Gi]),this.dt=new K$6({refillRate:(ua=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&ua!==void 0?ua:1,bucketSize:(Sa=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&Sa!==void 0?Sa:10,refillInterval:1e4,h:zr}),this.R=this.vt(),this.startIfEnabledOrStop()}vt(){var aa=this._instance.config.capture_exceptions,ca={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return R$3(aa)?ca=g$8({},ca,aa):(M$6(aa)?this.ht:aa)&&(ca=g$8({},ca,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),ca}get isEnabled(){return this.R.capture_console_errors||this.R.capture_unhandled_errors||this.R.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(zr.info("enabled"),this.ut(),this.it(this.rt)):this.ut()}it(aa){var ca,ua;(ca=v$7.__PosthogExtensions__)!=null&&ca.errorWrappingFunctions&&aa(),(ua=v$7.__PosthogExtensions__)==null||ua.loadExternalDependency==null||ua.loadExternalDependency(this._instance,"exception-autocapture",(Sa=>{if(Sa)return zr.error("failed to load script",Sa);aa()}))}ut(){var aa,ca,ua;(aa=this.st)==null||aa.call(this),this.st=void 0,(ca=this.nt)==null||ca.call(this),this.nt=void 0,(ua=this.ot)==null||ua.call(this),this.ot=void 0}onRemoteConfig(aa){var ca=aa.autocaptureExceptions;this.ht=!!ca||!1,this._instance.persistence&&this._instance.persistence.register({[Gi]:this.ht}),this.R=this.vt(),this.startIfEnabledOrStop()}onConfigChange(){this.R=this.vt()}captureException(aa){var ca,ua,Sa=(ca=aa==null||(ua=aa.$exception_list)==null||(ua=ua[0])==null?void 0:ua.type)!==null&&ca!==void 0?ca:"Exception";this.dt.consumeRateLimit(Sa)?zr.info("Skipping exception capture because of client rate limiting.",{exception:Sa}):this._instance.exceptions.sendExceptionEvent(aa)}}function Br(la,aa,ca){try{if(!(aa in la))return()=>{};var ua=la[aa],Sa=ca(ua);return C$c(Sa)&&(Sa.prototype=Sa.prototype||{},Object.defineProperties(Sa,{__posthog_wrapped__:{enumerable:!1,value:!0}})),la[aa]=Sa,()=>{la[aa]=ua}}catch{return()=>{}}}class qr{constructor(aa){var ca;this._instance=aa,this.ct=(t$9==null||(ca=t$9.location)==null?void 0:ca.pathname)||""}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&(Ei.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.ft&&this.ft(),this.ft=void 0,Ei.info("History API monitoring stopped")}monitorHistoryChanges(){var aa,ca;if(t$9&&t$9.history){var ua=this;(aa=t$9.history.pushState)!=null&&aa.__posthog_wrapped__||Br(t$9.history,"pushState",(Sa=>function(hl,pl,ml){Sa.call(this,hl,pl,ml),ua._t("pushState")})),(ca=t$9.history.replaceState)!=null&&ca.__posthog_wrapped__||Br(t$9.history,"replaceState",(Sa=>function(hl,pl,ml){Sa.call(this,hl,pl,ml),ua._t("replaceState")})),this.yt()}}_t(aa){try{var ca,ua=t$9==null||(ca=t$9.location)==null?void 0:ca.pathname;if(!ua)return;ua!==this.ct&&this.isEnabled&&this._instance.capture("$pageview",{navigation_type:aa}),this.ct=ua}catch(Sa){Ei.error("Error capturing "+aa+" pageview",Sa)}}yt(){if(!this.ft){var aa=()=>{this._t("popstate")};Ui(t$9,"popstate",aa),this.ft=()=>{t$9&&t$9.removeEventListener("popstate",aa)}}}}var Wr=$i("[SegmentIntegration]");function Gr(la,aa){var ca=la.config.segment;if(!ca)return aa();(function(ua,Sa){var hl=ua.config.segment;if(!hl)return Sa();var pl=gl=>{var wc=()=>gl.anonymousId()||wr();ua.config.get_device_id=wc,gl.id()&&(ua.register({distinct_id:gl.id(),$device_id:wc()}),ua.persistence.set_property(ue$1,"identified")),Sa()},ml=hl.user();"then"in ml&&C$c(ml.then)?ml.then((gl=>pl(gl))):pl(ml)})(la,(()=>{ca.register((ua=>{Promise&&Promise.resolve||Wr.warn("This browser does not have Promise support, and can not use the segment integration");var Sa=(hl,pl)=>{if(!pl)return hl;hl.event.userId||hl.event.anonymousId===ua.get_distinct_id()||(Wr.info("No userId set, resetting PostHog"),ua.reset()),hl.event.userId&&hl.event.userId!==ua.get_distinct_id()&&(Wr.info("UserId set, identifying with PostHog"),ua.identify(hl.event.userId));var ml=ua.calculateEventProperties(pl,hl.event.properties);return hl.event.properties=Object.assign({},ml,hl.event.properties),hl};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:hl=>Sa(hl,hl.event.event),page:hl=>Sa(hl,"$pageview"),identify:hl=>Sa(hl,"$identify"),screen:hl=>Sa(hl,"$screen")}})(la)).then((()=>{aa()}))}))}var Vr="posthog-js";function Jr(la,aa){var{organization:ca,projectId:ua,prefix:Sa,severityAllowList:hl=["error"],sendExceptionsToPostHog:pl=!0}=aa===void 0?{}:aa;return ml=>{var gl,wc,xu,ff,jf;if(!(hl==="*"||hl.includes(ml.level))||!la.__loaded)return ml;ml.tags||(ml.tags={});var Uf=la.requestRouter.endpointFor("ui","/project/"+la.config.token+"/person/"+la.get_distinct_id());ml.tags["PostHog Person URL"]=Uf,la.sessionRecordingStarted()&&(ml.tags["PostHog Recording URL"]=la.get_session_replay_url({withTimestamp:!0}));var rp=((gl=ml.exception)==null?void 0:gl.values)||[],np=rp.map((Vm=>g$8({},Vm,{stacktrace:Vm.stacktrace?g$8({},Vm.stacktrace,{type:"raw",frames:(Vm.stacktrace.frames||[]).map((eg=>g$8({},eg,{platform:"web:javascript"})))}):void 0}))),qm={$exception_message:((wc=rp[0])==null?void 0:wc.value)||ml.message,$exception_type:(xu=rp[0])==null?void 0:xu.type,$exception_level:ml.level,$exception_list:np,$sentry_event_id:ml.event_id,$sentry_exception:ml.exception,$sentry_exception_message:((ff=rp[0])==null?void 0:ff.value)||ml.message,$sentry_exception_type:(jf=rp[0])==null?void 0:jf.type,$sentry_tags:ml.tags};return ca&&ua&&(qm.$sentry_url=(Sa||"https://sentry.io/organizations/")+ca+"/issues/?project="+ua+"&query="+ml.event_id),pl&&la.exceptions.sendExceptionEvent(qm),ml}}class Kr{constructor(aa,ca,ua,Sa,hl,pl){this.name=Vr,this.setupOnce=function(ml){ml(Jr(aa,{organization:ca,projectId:ua,prefix:Sa,severityAllowList:hl,sendExceptionsToPostHog:pl==null||pl}))}}}var Yr=t$9!=null&&t$9.location?lr(t$9.location.hash,"__posthog")||lr(location.hash,"state"):null,Xr="_postHogToolbarParams",Qr=$i("[Toolbar]"),Zr=(function(la){return la[la.UNINITIALIZED=0]="UNINITIALIZED",la[la.LOADING=1]="LOADING",la[la.LOADED=2]="LOADED",la})(Zr||{});class ts{constructor(aa){this.instance=aa}bt(aa){v$7.ph_toolbar_state=aa}wt(){var aa;return(aa=v$7.ph_toolbar_state)!==null&&aa!==void 0?aa:Zr.UNINITIALIZED}maybeLoadToolbar(aa,ca,ua){if(aa===void 0&&(aa=void 0),ca===void 0&&(ca=void 0),ua===void 0&&(ua=void 0),!t$9||!o$d)return!1;aa=aa??t$9.location,ua=ua??t$9.history;try{if(!ca){try{t$9.localStorage.setItem("test","test"),t$9.localStorage.removeItem("test")}catch{return!1}ca=t$9?.localStorage}var Sa,hl=Yr||lr(aa.hash,"__posthog")||lr(aa.hash,"state"),pl=hl?Mi((()=>JSON.parse(atob(decodeURIComponent(hl)))))||Mi((()=>JSON.parse(decodeURIComponent(hl)))):null;return pl&&pl.action==="ph_authorize"?((Sa=pl).source="url",Sa&&Object.keys(Sa).length>0&&(pl.desiredHash?aa.hash=pl.desiredHash:ua?ua.replaceState(ua.state,"",aa.pathname+aa.search):aa.hash="")):((Sa=JSON.parse(ca.getItem(Xr)||"{}")).source="localstorage",delete Sa.userIntent),!(!Sa.token||this.instance.config.token!==Sa.token)&&(this.loadToolbar(Sa),!0)}catch{return!1}}xt(aa){var ca=v$7.ph_load_toolbar||v$7.ph_load_editor;!j$a(ca)&&C$c(ca)?ca(aa,this.instance):Qr.warn("No toolbar load function found")}loadToolbar(aa){var ca=!(o$d==null||!o$d.getElementById(ge$3));if(!t$9||ca)return!1;var ua=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,Sa=g$8({token:this.instance.config.token},aa,{apiURL:this.instance.requestRouter.endpointFor("ui")},ua?{instrument:!1}:{});if(t$9.localStorage.setItem(Xr,JSON.stringify(g$8({},Sa,{source:void 0}))),this.wt()===Zr.LOADED)this.xt(Sa);else if(this.wt()===Zr.UNINITIALIZED){var hl;this.bt(Zr.LOADING),(hl=v$7.__PosthogExtensions__)==null||hl.loadExternalDependency==null||hl.loadExternalDependency(this.instance,"toolbar",(pl=>{if(pl)return Qr.error("[Toolbar] Failed to load",pl),void this.bt(Zr.UNINITIALIZED);this.bt(Zr.LOADED),this.xt(Sa)})),Ui(t$9,"turbolinks:load",(()=>{this.bt(Zr.UNINITIALIZED),this.loadToolbar(Sa)}))}return!0}Et(aa){return this.loadToolbar(aa)}maybeLoadEditor(aa,ca,ua){return aa===void 0&&(aa=void 0),ca===void 0&&(ca=void 0),ua===void 0&&(ua=void 0),this.maybeLoadToolbar(aa,ca,ua)}}var is=$i("[TracingHeaders]");class es{constructor(aa){this.$t=void 0,this.St=void 0,this.rt=()=>{var ca,ua;M$6(this.$t)&&((ca=v$7.__PosthogExtensions__)==null||(ca=ca.tracingHeadersPatchFns)==null||ca._patchXHR(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager)),M$6(this.St)&&((ua=v$7.__PosthogExtensions__)==null||(ua=ua.tracingHeadersPatchFns)==null||ua._patchFetch(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=aa}it(aa){var ca,ua;(ca=v$7.__PosthogExtensions__)!=null&&ca.tracingHeadersPatchFns&&aa(),(ua=v$7.__PosthogExtensions__)==null||ua.loadExternalDependency==null||ua.loadExternalDependency(this._instance,"tracing-headers",(Sa=>{if(Sa)return is.error("failed to load script",Sa);aa()}))}startIfEnabledOrStop(){var aa,ca;this._instance.config.__add_tracing_headers?this.it(this.rt):((aa=this.$t)==null||aa.call(this),(ca=this.St)==null||ca.call(this),this.$t=void 0,this.St=void 0)}}var rs="https?://(.*)",ss=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],ns=Ri(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],ss),os="<masked>",as=["li_fat_id"];function ls(la,aa,ca){if(!o$d)return{};var ua,Sa=aa?Ri([],ss,ca||[]):[],hl=us(ar(o$d.URL,Sa,os),la),pl=(ua={},Ii(as,(function(ml){var gl=kr.q(ml);ua[ml]=gl||null})),ua);return Ci(pl,hl)}function us(la,aa){var ca=ns.concat(aa||[]),ua={};return Ii(ca,(function(Sa){var hl=or(la,Sa);ua[Sa]=hl||null})),ua}function hs(la){var aa=(function(hl){return hl?hl.search(rs+"google.([^/?]*)")===0?"google":hl.search(rs+"bing.com")===0?"bing":hl.search(rs+"yahoo.com")===0?"yahoo":hl.search(rs+"duckduckgo.com")===0?"duckduckgo":null:null})(la),ca=aa!="yahoo"?"q":"p",ua={};if(!D$b(aa)){ua.$search_engine=aa;var Sa=o$d?or(o$d.referrer,ca):"";Sa.length&&(ua.ph_keyword=Sa)}return ua}function ds(){return navigator.language||navigator.userLanguage}function vs(){return o$d?.referrer||"$direct"}function cs(la,aa){var ca=la?Ri([],ss,aa||[]):[],ua=a$i?.href.substring(0,1e3);return{r:vs().substring(0,1e3),u:ua?ar(ua,ca,os):void 0}}function fs(la){var aa,{r:ca,u:ua}=la,Sa={$referrer:ca,$referring_domain:ca==null?void 0:ca=="$direct"?"$direct":(aa=sr(ca))==null?void 0:aa.host};if(ua){Sa.$current_url=ua;var hl=sr(ua);Sa.$host=hl?.host,Sa.$pathname=hl?.pathname;var pl=us(ua);Ci(Sa,pl)}if(ca){var ml=hs(ca);Ci(Sa,ml)}return Sa}function ps(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function gs(){try{return new Date().getTimezoneOffset()}catch{return}}function _s(la,aa){if(!d$6)return{};var ca,ua,Sa,hl=la?Ri([],ss,aa||[]):[],[pl,ml]=(function(gl){for(var wc=0;wc<Vt.length;wc++){var[xu,ff]=Vt[wc],jf=xu.exec(gl),Uf=jf&&(C$c(ff)?ff(jf,gl):ff);if(Uf)return Uf}return["",""]})(d$6);return Ci(Ai({$os:pl,$os_version:ml,$browser:qt(d$6,navigator.vendor),$device:Jt(d$6),$device_type:(ua=d$6,Sa=Jt(ua),Sa===it$1||Sa===tt$1||Sa==="Kobo"||Sa==="Kindle Fire"||Sa===Rt$1?Z$4:Sa===bt||Sa===xt||Sa===wt$1||Sa===Tt$1?"Console":Sa===rt$1?"Wearable":Sa?Y$3:"Desktop"),$timezone:ps(),$timezone_offset:gs()}),{$current_url:ar(a$i?.href,hl,os),$host:a$i?.host,$pathname:a$i?.pathname,$raw_user_agent:d$6.length>1e3?d$6.substring(0,997)+"...":d$6,$browser_version:Gt(d$6,navigator.vendor),$browser_language:ds(),$browser_language_prefix:(ca=ds(),typeof ca=="string"?ca.split("-")[0]:void 0),$screen_height:t$9?.screen.height,$screen_width:t$9?.screen.width,$viewport_height:t$9?.innerHeight,$viewport_width:t$9?.innerWidth,$lib:"web",$lib_version:c$e.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var ms=$i("[Web Vitals]"),ys=9e5;class bs{constructor(aa){var ca;this.kt=!1,this.P=!1,this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Pt=()=>{clearTimeout(this.Tt),this.N.metrics.length!==0&&(this._instance.capture("$web_vitals",this.N.metrics.reduce(((ua,Sa)=>g$8({},ua,{["$web_vitals_"+Sa.name+"_event"]:g$8({},Sa),["$web_vitals_"+Sa.name+"_value"]:Sa.value})),{})),this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.It=ua=>{var Sa,hl=(Sa=this._instance.sessionManager)==null?void 0:Sa.checkAndGetSessionAndWindowId(!0);if(M$6(hl))ms.error("Could not read session ID. Dropping metrics!");else{this.N=this.N||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var pl=this.Ct();M$6(pl)||(j$a(ua?.name)||j$a(ua?.value)?ms.error("Invalid metric received",ua):this.Rt&&ua.value>=this.Rt?ms.error("Ignoring metric with value >= "+this.Rt,ua):(this.N.url!==pl&&(this.Pt(),this.Tt=setTimeout(this.Pt,this.flushToCaptureTimeoutMs)),M$6(this.N.url)&&(this.N.url=pl),this.N.firstMetricTimestamp=M$6(this.N.firstMetricTimestamp)?Date.now():this.N.firstMetricTimestamp,ua.attribution&&ua.attribution.interactionTargetElement&&(ua.attribution.interactionTargetElement=void 0),this.N.metrics.push(g$8({},ua,{$current_url:pl,$session_id:hl.sessionId,$window_id:hl.windowId,timestamp:Date.now()})),this.N.metrics.length===this.allowedMetrics.length&&this.Pt()))}},this.rt=()=>{var ua,Sa,hl,pl,ml=v$7.__PosthogExtensions__;M$6(ml)||M$6(ml.postHogWebVitalsCallbacks)||({onLCP:ua,onCLS:Sa,onFCP:hl,onINP:pl}=ml.postHogWebVitalsCallbacks),ua&&Sa&&hl&&pl?(this.allowedMetrics.indexOf("LCP")>-1&&ua(this.It.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&Sa(this.It.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&hl(this.It.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&pl(this.It.bind(this)),this.P=!0):ms.error("web vitals callbacks not loaded - not starting")},this._instance=aa,this.kt=!((ca=this._instance.persistence)==null||!ca.props[Ki]),this.startIfEnabled()}get allowedMetrics(){var aa,ca,ua=R$3(this._instance.config.capture_performance)?(aa=this._instance.config.capture_performance)==null?void 0:aa.web_vitals_allowed_metrics:void 0;return M$6(ua)?((ca=this._instance.persistence)==null?void 0:ca.props[Qi])||["CLS","FCP","INP","LCP"]:ua}get flushToCaptureTimeoutMs(){return(R$3(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get Rt(){var aa=R$3(this._instance.config.capture_performance)&&L$6(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:ys;return 0<aa&&aa<=6e4?ys:aa}get isEnabled(){var aa=a$i?.protocol;if(aa!=="http:"&&aa!=="https:")return ms.info("Web Vitals are disabled on non-http/https protocols"),!1;var ca=R$3(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:N$6(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return N$6(ca)?ca:this.kt}startIfEnabled(){this.isEnabled&&!this.P&&(ms.info("enabled, starting..."),this.it(this.rt))}onRemoteConfig(aa){var ca=R$3(aa.capturePerformance)&&!!aa.capturePerformance.web_vitals,ua=R$3(aa.capturePerformance)?aa.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[Ki]:ca}),this._instance.persistence.register({[Qi]:ua})),this.kt=ca,this.startIfEnabled()}it(aa){var ca,ua;(ca=v$7.__PosthogExtensions__)!=null&&ca.postHogWebVitalsCallbacks&&aa(),(ua=v$7.__PosthogExtensions__)==null||ua.loadExternalDependency==null||ua.loadExternalDependency(this._instance,"web-vitals",(Sa=>{Sa?ms.error("failed to load script",Sa):aa()}))}Ct(){var aa=t$9?t$9.location.href:void 0;if(aa){var ca=this._instance.config.mask_personal_data_properties,ua=this._instance.config.custom_personal_data_properties,Sa=ca?Ri([],ss,ua||[]):[];return ar(aa,Sa,os)}ms.error("Could not determine current URL")}}var ws=$i("[Heatmaps]");function xs(la){return R$3(la)&&"clientX"in la&&"clientY"in la&&L$6(la.clientX)&&L$6(la.clientY)}class Es{constructor(aa){var ca;this.kt=!1,this.P=!1,this.Ft=null,this.instance=aa,this.kt=!((ca=this.instance.persistence)==null||!ca.props[Wi]),this.rageclicks=new tr(aa.config.rageclick)}get flushIntervalMilliseconds(){var aa=5e3;return R$3(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(aa=this.instance.config.capture_heatmaps.flush_interval_milliseconds),aa}get isEnabled(){return M$6(this.instance.config.capture_heatmaps)?M$6(this.instance.config.enable_heatmaps)?this.kt:this.instance.config.enable_heatmaps:this.instance.config.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.P)return;ws.info("starting..."),this.Mt(),this.Ot()}else{var aa;clearInterval((aa=this.Ft)!==null&&aa!==void 0?aa:void 0),this.At(),this.getAndClearBuffer()}}onRemoteConfig(aa){var ca=!!aa.heatmaps;this.instance.persistence&&this.instance.persistence.register({[Wi]:ca}),this.kt=ca,this.startIfEnabled()}getAndClearBuffer(){var aa=this.N;return this.N=void 0,aa}Dt(aa){this.jt(aa.originalEvent,"deadclick")}Ot(){this.Ft&&clearInterval(this.Ft),this.Ft=(function(aa){return aa?.visibilityState==="visible"})(o$d)?setInterval(this.Lt.bind(this),this.flushIntervalMilliseconds):null}Mt(){t$9&&o$d&&(this.Nt=this.Lt.bind(this),Ui(t$9,"beforeunload",this.Nt),this.Ut=aa=>this.jt(aa||t$9?.event),Ui(o$d,"click",this.Ut,{capture:!0}),this.zt=aa=>this.Ht(aa||t$9?.event),Ui(o$d,"mousemove",this.zt,{capture:!0}),this.Bt=new Ur(this.instance,Lr,this.Dt.bind(this)),this.Bt.startIfEnabled(),this.qt=this.Ot.bind(this),Ui(o$d,"visibilitychange",this.qt),this.P=!0)}At(){var aa;t$9&&o$d&&(this.Nt&&t$9.removeEventListener("beforeunload",this.Nt),this.Ut&&o$d.removeEventListener("click",this.Ut,{capture:!0}),this.zt&&o$d.removeEventListener("mousemove",this.zt,{capture:!0}),this.qt&&o$d.removeEventListener("visibilitychange",this.qt),clearTimeout(this.Wt),(aa=this.Bt)==null||aa.stop(),this.P=!1)}Gt(aa,ca){var ua=this.instance.scrollManager.scrollY(),Sa=this.instance.scrollManager.scrollX(),hl=this.instance.scrollManager.scrollElement(),pl=(function(ml,gl,wc){for(var xu=ml;xu&&be$4(xu)&&!we$3(xu,"body");){if(xu===wc)return!1;if(w$9(gl,t$9?.getComputedStyle(xu).position))return!0;xu=Fe$2(xu)}return!1})(Ie$1(aa),["fixed","sticky"],hl);return{x:aa.clientX+(pl?0:Sa),y:aa.clientY+(pl?0:ua),target_fixed:pl,type:ca}}jt(aa,ca){var ua;if(ca===void 0&&(ca="click"),!ye$3(aa.target)&&xs(aa)){var Sa=this.Gt(aa,ca);(ua=this.rageclicks)!=null&&ua.isRageClick(aa.clientX,aa.clientY,new Date().getTime())&&this.Vt(g$8({},Sa,{type:"rageclick"})),this.Vt(Sa)}}Ht(aa){!ye$3(aa.target)&&xs(aa)&&(clearTimeout(this.Wt),this.Wt=setTimeout((()=>{this.Vt(this.Gt(aa,"mousemove"))}),500))}Vt(aa){if(t$9){var ca=t$9.location.href,ua=this.instance.config.mask_personal_data_properties,Sa=this.instance.config.custom_personal_data_properties,hl=ua?Ri([],ss,Sa||[]):[],pl=ar(ca,hl,os);this.N=this.N||{},this.N[pl]||(this.N[pl]=[]),this.N[pl].push(aa)}}Lt(){this.N&&!F$8(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}}class $s{constructor(aa){this._instance=aa}doPageView(aa,ca){var ua,Sa=this.Jt(aa,ca);return this.Kt={pathname:(ua=t$9?.location.pathname)!==null&&ua!==void 0?ua:"",pageViewId:ca,timestamp:aa},this._instance.scrollManager.resetContext(),Sa}doPageLeave(aa){var ca;return this.Jt(aa,(ca=this.Kt)==null?void 0:ca.pageViewId)}doEvent(){var aa;return{$pageview_id:(aa=this.Kt)==null?void 0:aa.pageViewId}}Jt(aa,ca){var ua=this.Kt;if(!ua)return{$pageview_id:ca};var Sa={$pageview_id:ca,$prev_pageview_id:ua.pageViewId},hl=this._instance.scrollManager.getContext();if(hl&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:pl,lastScrollY:ml,maxScrollY:gl,maxContentHeight:wc,lastContentY:xu,maxContentY:ff}=hl;if(!(M$6(pl)||M$6(ml)||M$6(gl)||M$6(wc)||M$6(xu)||M$6(ff))){pl=Math.ceil(pl),ml=Math.ceil(ml),gl=Math.ceil(gl),wc=Math.ceil(wc),xu=Math.ceil(xu),ff=Math.ceil(ff);var jf=pl<=1?1:J$5(ml/pl,0,1,Ei),Uf=pl<=1?1:J$5(gl/pl,0,1,Ei),rp=wc<=1?1:J$5(xu/wc,0,1,Ei),np=wc<=1?1:J$5(ff/wc,0,1,Ei);Sa=Ci(Sa,{$prev_pageview_last_scroll:ml,$prev_pageview_last_scroll_percentage:jf,$prev_pageview_max_scroll:gl,$prev_pageview_max_scroll_percentage:Uf,$prev_pageview_last_content:xu,$prev_pageview_last_content_percentage:rp,$prev_pageview_max_content:ff,$prev_pageview_max_content_percentage:np})}}return ua.pathname&&(Sa.$prev_pageview_pathname=ua.pathname),ua.timestamp&&(Sa.$prev_pageview_duration=(aa.getTime()-ua.timestamp.getTime())/1e3),Sa}}var Ss=Uint8Array,ks=Uint16Array,Ps=Uint32Array,Ts=new Ss([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Is=new Ss([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Cs=new Ss([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Rs=function(la,aa){for(var ca=new ks(31),ua=0;ua<31;++ua)ca[ua]=aa+=1<<la[ua-1];var Sa=new Ps(ca[30]);for(ua=1;ua<30;++ua)for(var hl=ca[ua];hl<ca[ua+1];++hl)Sa[hl]=hl-ca[ua]<<5|ua;return[ca,Sa]},Fs=Rs(Ts,2),Ms=Fs[0],Os=Fs[1];Ms[28]=258,Os[258]=28;for(var As=Rs(Is,0)[1],Ds=new ks(32768),js=0;js<32768;++js){var Ls=(43690&js)>>>1|(21845&js)<<1;Ls=(61680&(Ls=(52428&Ls)>>>2|(13107&Ls)<<2))>>>4|(3855&Ls)<<4,Ds[js]=((65280&Ls)>>>8|(255&Ls)<<8)>>>1}var Ns=function(la,aa,ca){for(var ua=la.length,Sa=0,hl=new ks(aa);Sa<ua;++Sa)++hl[la[Sa]-1];var pl,ml=new ks(aa);for(Sa=0;Sa<aa;++Sa)ml[Sa]=ml[Sa-1]+hl[Sa-1]<<1;for(pl=new ks(ua),Sa=0;Sa<ua;++Sa)pl[Sa]=Ds[ml[la[Sa]-1]++]>>>15-la[Sa];return pl},Us=new Ss(288);for(js=0;js<144;++js)Us[js]=8;for(js=144;js<256;++js)Us[js]=9;for(js=256;js<280;++js)Us[js]=7;for(js=280;js<288;++js)Us[js]=8;var zs=new Ss(32);for(js=0;js<32;++js)zs[js]=5;var Hs=Ns(Us,9),Bs=Ns(zs,5),qs=function(la){return(la/8>>0)+(7&la&&1)},Ws=function(la,aa,ca){(ca==null||ca>la.length)&&(ca=la.length);var ua=new(la instanceof ks?ks:la instanceof Ps?Ps:Ss)(ca-aa);return ua.set(la.subarray(aa,ca)),ua},Gs=function(la,aa,ca){ca<<=7&aa;var ua=aa/8>>0;la[ua]|=ca,la[ua+1]|=ca>>>8},Vs=function(la,aa,ca){ca<<=7&aa;var ua=aa/8>>0;la[ua]|=ca,la[ua+1]|=ca>>>8,la[ua+2]|=ca>>>16},Js=function(la,aa){for(var ca=[],ua=0;ua<la.length;++ua)la[ua]&&ca.push({s:ua,f:la[ua]});var Sa=ca.length,hl=ca.slice();if(!Sa)return[new Ss(0),0];if(Sa==1){var pl=new Ss(ca[0].s+1);return pl[ca[0].s]=1,[pl,1]}ca.sort((function(ig,vv){return ig.f-vv.f})),ca.push({s:-1,f:25001});var ml=ca[0],gl=ca[1],wc=0,xu=1,ff=2;for(ca[0]={s:-1,f:ml.f+gl.f,l:ml,r:gl};xu!=Sa-1;)ml=ca[ca[wc].f<ca[ff].f?wc++:ff++],gl=ca[wc!=xu&&ca[wc].f<ca[ff].f?wc++:ff++],ca[xu++]={s:-1,f:ml.f+gl.f,l:ml,r:gl};var jf=hl[0].s;for(ua=1;ua<Sa;++ua)hl[ua].s>jf&&(jf=hl[ua].s);var Uf=new ks(jf+1),rp=Ks(ca[xu-1],Uf,0);if(rp>aa){ua=0;var np=0,qm=rp-aa,Vm=1<<qm;for(hl.sort((function(ig,vv){return Uf[vv.s]-Uf[ig.s]||ig.f-vv.f}));ua<Sa;++ua){var eg=hl[ua].s;if(!(Uf[eg]>aa))break;np+=Vm-(1<<rp-Uf[eg]),Uf[eg]=aa}for(np>>>=qm;np>0;){var tg=hl[ua].s;Uf[tg]<aa?np-=1<<aa-Uf[tg]++-1:++ua}for(;ua>=0&&np;--ua){var rg=hl[ua].s;Uf[rg]==aa&&(--Uf[rg],++np)}rp=aa}return[new Ss(Uf),rp]},Ks=function(la,aa,ca){return la.s==-1?Math.max(Ks(la.l,aa,ca+1),Ks(la.r,aa,ca+1)):aa[la.s]=ca},Ys=function(la){for(var aa=la.length;aa&&!la[--aa];);for(var ca=new ks(++aa),ua=0,Sa=la[0],hl=1,pl=function(gl){ca[ua++]=gl},ml=1;ml<=aa;++ml)if(la[ml]==Sa&&ml!=aa)++hl;else{if(!Sa&&hl>2){for(;hl>138;hl-=138)pl(32754);hl>2&&(pl(hl>10?hl-11<<5|28690:hl-3<<5|12305),hl=0)}else if(hl>3){for(pl(Sa),--hl;hl>6;hl-=6)pl(8304);hl>2&&(pl(hl-3<<5|8208),hl=0)}for(;hl--;)pl(Sa);hl=1,Sa=la[ml]}return[ca.subarray(0,ua),aa]},Xs=function(la,aa){for(var ca=0,ua=0;ua<aa.length;++ua)ca+=la[ua]*aa[ua];return ca},Qs=function(la,aa,ca){var ua=ca.length,Sa=qs(aa+2);la[Sa]=255&ua,la[Sa+1]=ua>>>8,la[Sa+2]=255^la[Sa],la[Sa+3]=255^la[Sa+1];for(var hl=0;hl<ua;++hl)la[Sa+hl+4]=ca[hl];return 8*(Sa+4+ua)},Zs=function(la,aa,ca,ua,Sa,hl,pl,ml,gl,wc,xu){Gs(aa,xu++,ca),++Sa[256];for(var ff=Js(Sa,15),jf=ff[0],Uf=ff[1],rp=Js(hl,15),np=rp[0],qm=rp[1],Vm=Ys(jf),eg=Vm[0],tg=Vm[1],rg=Ys(np),ig=rg[0],vv=rg[1],k1=new ks(19),qw=0;qw<eg.length;++qw)k1[31&eg[qw]]++;for(qw=0;qw<ig.length;++qw)k1[31&ig[qw]]++;for(var K0=Js(k1,7),J0=K0[0],Hw=K0[1],O1=19;O1>4&&!J0[Cs[O1-1]];--O1);var Y0,G0,X0,d_,f_=wc+5<<3,zN=Xs(Sa,Us)+Xs(hl,zs)+pl,BN=Xs(Sa,jf)+Xs(hl,np)+pl+14+3*O1+Xs(k1,J0)+(2*k1[16]+3*k1[17]+7*k1[18]);if(f_<=zN&&f_<=BN)return Qs(aa,xu,la.subarray(gl,gl+wc));if(Gs(aa,xu,1+(BN<zN)),xu+=2,BN<zN){Y0=Ns(jf,Uf),G0=jf,X0=Ns(np,qm),d_=np;var iF=Ns(J0,Hw);for(Gs(aa,xu,tg-257),Gs(aa,xu+5,vv-1),Gs(aa,xu+10,O1-4),xu+=14,qw=0;qw<O1;++qw)Gs(aa,xu+3*qw,J0[Cs[qw]]);xu+=3*O1;for(var yY=[eg,ig],vQ=0;vQ<2;++vQ){var Ihe=yY[vQ];for(qw=0;qw<Ihe.length;++qw){var bY=31&Ihe[qw];Gs(aa,xu,iF[bY]),xu+=J0[bY],bY>15&&(Gs(aa,xu,Ihe[qw]>>>5&127),xu+=Ihe[qw]>>>12)}}}else Y0=Hs,G0=Us,X0=Bs,d_=zs;for(qw=0;qw<ml;++qw)if(ua[qw]>255){bY=ua[qw]>>>18&31,Vs(aa,xu,Y0[bY+257]),xu+=G0[bY+257],bY>7&&(Gs(aa,xu,ua[qw]>>>23&31),xu+=Ts[bY]);var Lhe=31&ua[qw];Vs(aa,xu,X0[Lhe]),xu+=d_[Lhe],Lhe>3&&(Vs(aa,xu,ua[qw]>>>5&8191),xu+=Is[Lhe])}else Vs(aa,xu,Y0[ua[qw]]),xu+=G0[ua[qw]];return Vs(aa,xu,Y0[256]),xu+G0[256]},tn=new Ps([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),en$1=(function(){for(var la=new Ps(256),aa=0;aa<256;++aa){for(var ca=aa,ua=9;--ua;)ca=(1&ca&&3988292384)^ca>>>1;la[aa]=ca}return la})(),rn$1=function(la,aa,ca,ua,Sa){return(function(hl,pl,ml,gl,wc,xu){var ff=hl.length,jf=new Ss(gl+ff+5*(1+Math.floor(ff/7e3))+wc),Uf=jf.subarray(gl,jf.length-wc),rp=0;if(!pl||ff<8)for(var np=0;np<=ff;np+=65535){var qm=np+65535;qm<ff?rp=Qs(Uf,rp,hl.subarray(np,qm)):(Uf[np]=xu,rp=Qs(Uf,rp,hl.subarray(np,ff)))}else{for(var Vm=tn[pl-1],eg=Vm>>>13,tg=8191&Vm,rg=(1<<ml)-1,ig=new ks(32768),vv=new ks(rg+1),k1=Math.ceil(ml/3),qw=2*k1,K0=function(Zht){return(hl[Zht]^hl[Zht+1]<<k1^hl[Zht+2]<<qw)&rg},J0=new Ps(25e3),Hw=new ks(288),O1=new ks(32),Y0=0,G0=0,X0=(np=0,0),d_=0,f_=0;np<ff;++np){var zN=K0(np),BN=32767&np,iF=vv[zN];if(ig[BN]=iF,vv[zN]=BN,d_<=np){var yY=ff-np;if((Y0>7e3||X0>24576)&&yY>423){rp=Zs(hl,Uf,0,J0,Hw,O1,G0,X0,f_,np-f_,rp),X0=Y0=G0=0,f_=np;for(var vQ=0;vQ<286;++vQ)Hw[vQ]=0;for(vQ=0;vQ<30;++vQ)O1[vQ]=0}var Ihe=2,bY=0,Lhe=tg,Dhe=BN-iF&32767;if(yY>2&&zN==K0(np-Dhe))for(var kdt=Math.min(eg,yY)-1,eht=Math.min(32767,np),oht=Math.min(258,yY);Dhe<=eht&&--Lhe&&BN!=iF;){if(hl[np+Ihe]==hl[np+Ihe-Dhe]){for(var iht=0;iht<oht&&hl[np+iht]==hl[np+iht-Dhe];++iht);if(iht>Ihe){if(Ihe=iht,bY=Dhe,iht>kdt)break;var Uhe=Math.min(Dhe,iht-2),Bhe=0;for(vQ=0;vQ<Uhe;++vQ){var dht=np-Dhe+vQ+32768&32767,Mdt=dht-ig[dht]+32768&32767;Mdt>Bhe&&(Bhe=Mdt,iF=dht)}}}Dhe+=(BN=iF)-(iF=ig[BN])+32768&32767}if(bY){J0[X0++]=268435456|Os[Ihe]<<18|As[bY];var opt=31&Os[Ihe],gpt=31&As[bY];G0+=Ts[opt]+Is[gpt],++Hw[257+opt],++O1[gpt],d_=np+Ihe,++Y0}else J0[X0++]=hl[np],++Hw[hl[np]]}}rp=Zs(hl,Uf,xu,J0,Hw,O1,G0,X0,f_,np-f_,rp)}return Ws(jf,0,gl+qs(rp)+wc)})(la,aa.level==null?6:aa.level,aa.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(la.length)))):12+aa.mem,ca,ua,!0)},sn$1=function(la,aa,ca){for(;ca;++aa)la[aa]=ca,ca>>>=8};function nn$1(la,aa){aa===void 0&&(aa={});var ca=(function(){var ml=4294967295;return{p:function(gl){for(var wc=ml,xu=0;xu<gl.length;++xu)wc=en$1[255&wc^gl[xu]]^wc>>>8;ml=wc},d:function(){return 4294967295^ml}}})(),ua=la.length;ca.p(la);var Sa,hl=rn$1(la,aa,10+((Sa=aa).filename&&Sa.filename.length+1||0),8),pl=hl.length;return(function(ml,gl){var wc=gl.filename;if(ml[0]=31,ml[1]=139,ml[2]=8,ml[8]=gl.level<2?4:gl.level==9?2:0,ml[9]=3,gl.mtime!=0&&sn$1(ml,4,Math.floor(new Date(gl.mtime||Date.now())/1e3)),wc){ml[3]=8;for(var xu=0;xu<=wc.length;++xu)ml[xu+10]=wc.charCodeAt(xu)}})(hl,aa),sn$1(hl,pl-8,ca.d()),sn$1(hl,pl-4,ua),hl}var on$1=function(la){var aa,ca,ua,Sa,hl="";for(aa=ca=0,ua=(la=(la+"").replace(/\r\n/g,`
19415
19415
  `).replace(/\r/g,`
19416
19416
  `)).length,Sa=0;Sa<ua;Sa++){var pl=la.charCodeAt(Sa),ml=null;pl<128?ca++:ml=pl>127&&pl<2048?String.fromCharCode(pl>>6|192,63&pl|128):String.fromCharCode(pl>>12|224,pl>>6&63|128,63&pl|128),D$b(ml)||(ca>aa&&(hl+=la.substring(aa,ca)),hl+=ml,aa=ca=Sa+1)}return ca>aa&&(hl+=la.substring(aa,la.length)),hl},an$1=!!u$h||!!l$9,ln="text/plain",un$1=function(la,aa,ca){var ua;ca===void 0&&(ca=!0);var[Sa,hl]=la.split("?"),pl=g$8({},aa),ml=(ua=hl?.split("&").map((wc=>{var xu,[ff,jf]=wc.split("="),Uf=ca&&(xu=pl[ff])!==null&&xu!==void 0?xu:jf;return delete pl[ff],ff+"="+Uf})))!==null&&ua!==void 0?ua:[],gl=nr(pl);return gl&&ml.push(gl),Sa+"?"+ml.join("&")},hn=(la,aa)=>JSON.stringify(la,((ca,ua)=>typeof ua=="bigint"?ua.toString():ua),aa),dn=la=>{var{data:aa,compression:ca}=la;if(aa){if(ca===er.GZipJS){var ua=nn$1((function(gl,wc){var xu=gl.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(gl);for(var ff=new Ss(gl.length+(gl.length>>>1)),jf=0,Uf=function(Vm){ff[jf++]=Vm},rp=0;rp<xu;++rp){if(jf+5>ff.length){var np=new Ss(jf+8+(xu-rp<<1));np.set(ff),ff=np}var qm=gl.charCodeAt(rp);qm<128||wc?Uf(qm):qm<2048?(Uf(192|qm>>>6),Uf(128|63&qm)):qm>55295&&qm<57344?(Uf(240|(qm=65536+(1047552&qm)|1023&gl.charCodeAt(++rp))>>>18),Uf(128|qm>>>12&63),Uf(128|qm>>>6&63),Uf(128|63&qm)):(Uf(224|qm>>>12),Uf(128|qm>>>6&63),Uf(128|63&qm))}return Ws(ff,0,jf)})(hn(aa)),{mtime:0}),Sa=new Blob([ua],{type:ln});return{contentType:ln,body:Sa,estimatedSize:Sa.size}}if(ca===er.Base64){var hl=(function(gl){var wc,xu,ff,jf,Uf,rp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",np=0,qm=0,Vm="",eg=[];if(!gl)return gl;gl=on$1(gl);do wc=(Uf=gl.charCodeAt(np++)<<16|gl.charCodeAt(np++)<<8|gl.charCodeAt(np++))>>18&63,xu=Uf>>12&63,ff=Uf>>6&63,jf=63&Uf,eg[qm++]=rp.charAt(wc)+rp.charAt(xu)+rp.charAt(ff)+rp.charAt(jf);while(np<gl.length);switch(Vm=eg.join(""),gl.length%3){case 1:Vm=Vm.slice(0,-2)+"==";break;case 2:Vm=Vm.slice(0,-1)+"="}return Vm})(hn(aa)),pl=(gl=>"data="+encodeURIComponent(typeof gl=="string"?gl:hn(gl)))(hl);return{contentType:"application/x-www-form-urlencoded",body:pl,estimatedSize:new Blob([pl]).size}}var ml=hn(aa);return{contentType:"application/json",body:ml,estimatedSize:new Blob([ml]).size}}},vn=[];l$9&&vn.push({transport:"fetch",method:la=>{var aa,ca,{contentType:ua,body:Sa,estimatedSize:hl}=(aa=dn(la))!==null&&aa!==void 0?aa:{},pl=new Headers;Ii(la.headers,(function(xu,ff){pl.append(ff,xu)})),ua&&pl.append("Content-Type",ua);var ml=la.url,gl=null;if(h$c){var wc=new h$c;gl={signal:wc.signal,timeout:setTimeout((()=>wc.abort()),la.timeout)}}l$9(ml,g$8({method:la?.method||"GET",headers:pl,keepalive:la.method==="POST"&&(hl||0)<52428.8,body:Sa,signal:(ca=gl)==null?void 0:ca.signal},la.fetchOptions)).then((xu=>xu.text().then((ff=>{var jf={statusCode:xu.status,text:ff};if(xu.status===200)try{jf.json=JSON.parse(ff)}catch(Uf){Ei.error(Uf)}la.callback==null||la.callback(jf)})))).catch((xu=>{Ei.error(xu),la.callback==null||la.callback({statusCode:0,text:xu})})).finally((()=>gl?clearTimeout(gl.timeout):null))}}),u$h&&vn.push({transport:"XHR",method:la=>{var aa,ca=new u$h;ca.open(la.method||"GET",la.url,!0);var{contentType:ua,body:Sa}=(aa=dn(la))!==null&&aa!==void 0?aa:{};Ii(la.headers,(function(hl,pl){ca.setRequestHeader(pl,hl)})),ua&&ca.setRequestHeader("Content-Type",ua),la.timeout&&(ca.timeout=la.timeout),la.disableXHRCredentials||(ca.withCredentials=!0),ca.onreadystatechange=()=>{if(ca.readyState===4){var hl={statusCode:ca.status,text:ca.responseText};if(ca.status===200)try{hl.json=JSON.parse(ca.responseText)}catch{}la.callback==null||la.callback(hl)}},ca.send(Sa)}}),n$9!=null&&n$9.sendBeacon&&vn.push({transport:"sendBeacon",method:la=>{var aa=un$1(la.url,{beacon:"1"});try{var ca,{contentType:ua,body:Sa}=(ca=dn(la))!==null&&ca!==void 0?ca:{},hl=typeof Sa=="string"?new Blob([Sa],{type:ua}):Sa;n$9.sendBeacon(aa,hl)}catch{}}});var cn$1=function(la,aa){if(!(function(ca){try{new RegExp(ca)}catch{return!1}return!0})(aa))return!1;try{return new RegExp(aa).test(la)}catch{return!1}};function fn$1(la,aa,ca){return hn({distinct_id:la,userPropertiesToSet:aa,userPropertiesToSetOnce:ca})}var pn={exact:(la,aa)=>aa.some((ca=>la.some((ua=>ca===ua)))),is_not:(la,aa)=>aa.every((ca=>la.every((ua=>ca!==ua)))),regex:(la,aa)=>aa.some((ca=>la.some((ua=>cn$1(ca,ua))))),not_regex:(la,aa)=>aa.every((ca=>la.every((ua=>!cn$1(ca,ua))))),icontains:(la,aa)=>aa.map(gn).some((ca=>la.map(gn).some((ua=>ca.includes(ua))))),not_icontains:(la,aa)=>aa.map(gn).every((ca=>la.map(gn).every((ua=>!ca.includes(ua))))),gt:(la,aa)=>aa.some((ca=>{var ua=parseFloat(ca);return!isNaN(ua)&&la.some((Sa=>ua>parseFloat(Sa)))})),lt:(la,aa)=>aa.some((ca=>{var ua=parseFloat(ca);return!isNaN(ua)&&la.some((Sa=>ua<parseFloat(Sa)))}))},gn=la=>la.toLowerCase();function _n(la,aa){return!la||Object.entries(la).every((ca=>{var[ua,Sa]=ca,hl=aa?.[ua];if(M$6(hl)||D$b(hl))return!1;var pl=[String(hl)],ml=pn[Sa.operator];return!!ml&&ml(Sa.values,pl)}))}var mn=$i("[Error tracking]");class yn{constructor(aa){var ca,ua;this.Yt=[],this.Xt=new Xt([new di,new wi,new ci,new vi,new yi,new mi,new pi,new bi],hi("web:javascript",si,ai)),this._instance=aa,this.Yt=(ca=(ua=this._instance.persistence)==null?void 0:ua.get_property(Vi))!==null&&ca!==void 0?ca:[]}onRemoteConfig(aa){var ca,ua,Sa,hl=(ca=(ua=aa.errorTracking)==null?void 0:ua.suppressionRules)!==null&&ca!==void 0?ca:[],pl=(Sa=aa.errorTracking)==null?void 0:Sa.captureExtensionExceptions;this.Yt=hl,this._instance.persistence&&this._instance.persistence.register({[Vi]:this.Yt,[Ji]:pl})}get Qt(){var aa,ca=!!this._instance.get_property(Ji),ua=this._instance.config.error_tracking.captureExtensionExceptions;return(aa=ua??ca)!==null&&aa!==void 0&&aa}buildProperties(aa,ca){return this.Xt.buildFromUnknown(aa,{syntheticException:ca?.syntheticException,mechanism:{handled:ca?.handled}})}sendExceptionEvent(aa){var ca=aa.$exception_list;if(this.Zt(ca)){if(this.ti(ca))return void mn.info("Skipping exception capture because a suppression rule matched");if(!this.Qt&&this.ii(ca))return void mn.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ei(ca))return void mn.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",aa,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ti(aa){if(aa.length===0)return!1;var ca=aa.reduce(((ua,Sa)=>{var{type:hl,value:pl}=Sa;return O$5(hl)&&hl.length>0&&ua.$exception_types.push(hl),O$5(pl)&&pl.length>0&&ua.$exception_values.push(pl),ua}),{$exception_types:[],$exception_values:[]});return this.Yt.some((ua=>{var Sa=ua.values.map((hl=>{var pl,ml=pn[hl.operator],gl=I$8(hl.value)?hl.value:[hl.value],wc=(pl=ca[hl.key])!==null&&pl!==void 0?pl:[];return gl.length>0&&ml(gl,wc)}));return ua.type==="OR"?Sa.some(Boolean):Sa.every(Boolean)}))}ii(aa){return aa.flatMap((ca=>{var ua,Sa;return(ua=(Sa=ca.stacktrace)==null?void 0:Sa.frames)!==null&&ua!==void 0?ua:[]})).some((ca=>ca.filename&&ca.filename.startsWith("chrome-extension://")))}ei(aa){if(aa.length>0){var ca,ua,Sa,hl,pl=(ca=(ua=aa[0].stacktrace)==null?void 0:ua.frames)!==null&&ca!==void 0?ca:[],ml=pl[pl.length-1];return(Sa=ml==null||(hl=ml.filename)==null?void 0:hl.includes("posthog.com/static"))!==null&&Sa!==void 0&&Sa}return!1}Zt(aa){return!j$a(aa)&&I$8(aa)}}var bn=$i("[FeatureFlags]"),wn=$i("[FeatureFlags]",{debugEnabled:!0}),xn="$active_feature_flags",En="$override_feature_flags",$n="$feature_flag_payloads",Sn="$override_feature_flag_payloads",kn="$feature_flag_request_id",Pn="$feature_flag_evaluated_at",Tn=la=>{var aa={};for(var[ca,ua]of Fi(la||{}))ua&&(aa[ca]=ua);return aa},In=la=>{var aa=la.flags;return aa?(la.featureFlags=Object.fromEntries(Object.keys(aa).map((ca=>{var ua;return[ca,(ua=aa[ca].variant)!==null&&ua!==void 0?ua:aa[ca].enabled]}))),la.featureFlagPayloads=Object.fromEntries(Object.keys(aa).filter((ca=>aa[ca].enabled)).filter((ca=>{var ua;return(ua=aa[ca].metadata)==null?void 0:ua.payload})).map((ca=>{var ua;return[ca,(ua=aa[ca].metadata)==null?void 0:ua.payload]})))):bn.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),la},Cn=(function(la){return la.FeatureFlags="feature_flags",la.Recordings="recordings",la})({});class Rn{constructor(aa){this.ri=!1,this.si=!1,this.ni=!1,this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this._instance=aa,this.featureFlagEventHandlers=[]}hi(){var aa=this._instance.config.evaluation_environments;return aa!=null&&aa.length?aa.filter((ca=>{var ua=ca&&typeof ca=="string"&&ca.trim().length>0;return ua||bn.error("Invalid evaluation environment found:",ca,"Expected non-empty string"),ua})):[]}di(){return this.hi().length>0}flags(){if(this._instance.config.__preview_remote_config)this.li=!0;else{var aa=!this.vi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.ci({disableFlags:aa})}}get hasLoadedFlags(){return this.si}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var aa=this._instance.get_property(se$3),ca=this._instance.get_property(En),ua=this._instance.get_property(Sn);if(!ua&&!ca)return aa||{};var Sa=Ci({},aa||{}),hl=[...new Set([...Object.keys(ua||{}),...Object.keys(ca||{})])];for(var pl of hl){var ml,gl,wc=Sa[pl],xu=ca?.[pl],ff=M$6(xu)?(ml=wc?.enabled)!==null&&ml!==void 0&&ml:!!xu,jf=M$6(xu)?wc.variant:typeof xu=="string"?xu:void 0,Uf=ua?.[pl],rp=g$8({},wc,{enabled:ff,variant:ff?jf??wc?.variant:void 0});ff!==wc?.enabled&&(rp.original_enabled=wc?.enabled),jf!==wc?.variant&&(rp.original_variant=wc?.variant),Uf&&(rp.metadata=g$8({},wc?.metadata,{payload:Uf,original_payload:wc==null||(gl=wc.metadata)==null?void 0:gl.payload})),Sa[pl]=rp}return this.ri||(bn.warn(" Overriding feature flag details!",{flagDetails:aa,overriddenPayloads:ua,finalDetails:Sa}),this.ri=!0),Sa}getFlagVariants(){var aa=this._instance.get_property(ee$4),ca=this._instance.get_property(En);if(!ca)return aa||{};for(var ua=Ci({},aa),Sa=Object.keys(ca),hl=0;hl<Sa.length;hl++)ua[Sa[hl]]=ca[Sa[hl]];return this.ri||(bn.warn(" Overriding feature flags!",{enabledFlags:aa,overriddenFlags:ca,finalFlags:ua}),this.ri=!0),ua}getFlagPayloads(){var aa=this._instance.get_property($n),ca=this._instance.get_property(Sn);if(!ca)return aa||{};for(var ua=Ci({},aa||{}),Sa=Object.keys(ca),hl=0;hl<Sa.length;hl++)ua[Sa[hl]]=ca[Sa[hl]];return this.ri||(bn.warn(" Overriding feature flag payloads!",{flagPayloads:aa,overriddenPayloads:ca,finalPayloads:ua}),this.ri=!0),ua}reloadFeatureFlags(){this.oi||this._instance.config.advanced_disable_feature_flags||this.vi||(this.vi=setTimeout((()=>{this.ci()}),5))}fi(){clearTimeout(this.vi),this.vi=void 0}ensureFlagsLoaded(){this.si||this.ni||this.vi||this.reloadFeatureFlags()}setAnonymousDistinctId(aa){this.$anon_distinct_id=aa}setReloadingPaused(aa){this.oi=aa}ci(aa){var ca;if(this.fi(),!this._instance.O())if(this.ni)this.ai=!0;else{var ua=this._instance.config.token,Sa=this._instance.get_property("$device_id"),hl={token:ua,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:g$8({},((ca=this._instance.persistence)==null?void 0:ca.get_initial_props())||{},this._instance.get_property(ne$2)||{}),group_properties:this._instance.get_property(oe$2)};D$b(Sa)||M$6(Sa)||(hl.$device_id=Sa),(aa!=null&&aa.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(hl.disable_flags=!0),this.di()&&(hl.evaluation_environments=this.hi());var pl=this._instance.config.__preview_remote_config,ml=pl?"/flags/?v=2":"/flags/?v=2&config=true",gl=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",wc=this._instance.requestRouter.endpointFor("flags",ml+gl);pl&&(hl.timezone=ps()),this.ni=!0,this._instance._send_request({method:"POST",url:wc,data:hl,compression:this._instance.config.disable_compression?void 0:er.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:xu=>{var ff,jf,Uf=!0;if(xu.statusCode===200&&(this.ai||(this.$anon_distinct_id=void 0),Uf=!1),this.ni=!1,this.li||(this.li=!0,this._instance.pi((jf=xu.json)!==null&&jf!==void 0?jf:{})),!hl.disable_flags||this.ai)if(this.ui=!Uf,xu.json&&(ff=xu.json.quotaLimited)!=null&&ff.includes(Cn.FeatureFlags))bn.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var rp;hl.disable_flags||this.receivedFeatureFlags((rp=xu.json)!==null&&rp!==void 0?rp:{},Uf),this.ai&&(this.ai=!1,this.ci())}}})}}getFeatureFlag(aa,ca){if(ca===void 0&&(ca={}),this.si||this.getFlags()&&this.getFlags().length>0){var ua=this.getFlagVariants()[aa],Sa=""+ua,hl=this._instance.get_property(kn)||void 0,pl=this._instance.get_property(Pn)||void 0,ml=this._instance.get_property(le$2)||{};if((ca.send_event||!("send_event"in ca))&&(!(aa in ml)||!ml[aa].includes(Sa))){var gl,wc,xu,ff,jf,Uf,rp,np,qm;I$8(ml[aa])?ml[aa].push(Sa):ml[aa]=[Sa],(gl=this._instance.persistence)==null||gl.register({[le$2]:ml});var Vm=this.getFeatureFlagDetails(aa),eg={$feature_flag:aa,$feature_flag_response:ua,$feature_flag_payload:this.getFeatureFlagPayload(aa)||null,$feature_flag_request_id:hl,$feature_flag_evaluated_at:pl,$feature_flag_bootstrapped_response:((wc=this._instance.config.bootstrap)==null||(wc=wc.featureFlags)==null?void 0:wc[aa])||null,$feature_flag_bootstrapped_payload:((xu=this._instance.config.bootstrap)==null||(xu=xu.featureFlagPayloads)==null?void 0:xu[aa])||null,$used_bootstrap_value:!this.ui};M$6(Vm==null||(ff=Vm.metadata)==null?void 0:ff.version)||(eg.$feature_flag_version=Vm.metadata.version);var tg,rg=(jf=Vm==null||(Uf=Vm.reason)==null?void 0:Uf.description)!==null&&jf!==void 0?jf:Vm==null||(rp=Vm.reason)==null?void 0:rp.code;rg&&(eg.$feature_flag_reason=rg),Vm!=null&&(np=Vm.metadata)!=null&&np.id&&(eg.$feature_flag_id=Vm.metadata.id),M$6(Vm?.original_variant)&&M$6(Vm?.original_enabled)||(eg.$feature_flag_original_response=M$6(Vm.original_variant)?Vm.original_enabled:Vm.original_variant),Vm!=null&&(qm=Vm.metadata)!=null&&qm.original_payload&&(eg.$feature_flag_original_payload=Vm==null||(tg=Vm.metadata)==null?void 0:tg.original_payload),this._instance.capture("$feature_flag_called",eg)}return ua}bn.warn('getFeatureFlag for key "'+aa+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(aa){return this.getFlagsWithDetails()[aa]}getFeatureFlagPayload(aa){return this.getFlagPayloads()[aa]}getRemoteConfigPayload(aa,ca){var ua=this._instance.config.token,Sa={distinct_id:this._instance.get_distinct_id(),token:ua};this.di()&&(Sa.evaluation_environments=this.hi()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:Sa,compression:this._instance.config.disable_compression?void 0:er.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:hl=>{var pl,ml=(pl=hl.json)==null?void 0:pl.featureFlagPayloads;ca(ml?.[aa]||void 0)}})}isFeatureEnabled(aa,ca){if(ca===void 0&&(ca={}),this.si||this.getFlags()&&this.getFlags().length>0){var ua=this.getFeatureFlag(aa,ca);return M$6(ua)?void 0:!!ua}bn.warn('isFeatureEnabled for key "'+aa+`" failed. Feature flags didn't load in time.`)}addFeatureFlagsHandler(aa){this.featureFlagEventHandlers.push(aa)}removeFeatureFlagsHandler(aa){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((ca=>ca!==aa))}receivedFeatureFlags(aa,ca){if(this._instance.persistence){this.si=!0;var ua=this.getFlagVariants(),Sa=this.getFlagPayloads(),hl=this.getFlagsWithDetails();(function(pl,ml,gl,wc,xu){gl===void 0&&(gl={}),wc===void 0&&(wc={}),xu===void 0&&(xu={});var ff=In(pl),jf=ff.flags,Uf=ff.featureFlags,rp=ff.featureFlagPayloads;if(Uf){var np=pl.requestId,qm=pl.evaluatedAt;if(I$8(Uf)){bn.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var Vm={};if(Uf)for(var eg=0;eg<Uf.length;eg++)Vm[Uf[eg]]=!0;ml&&ml.register({[xn]:Uf,[ee$4]:Vm})}else{var tg=Uf,rg=rp,ig=jf;pl.errorsWhileComputingFlags&&(tg=g$8({},gl,tg),rg=g$8({},wc,rg),ig=g$8({},xu,ig)),ml&&ml.register(g$8({[xn]:Object.keys(Tn(tg)),[ee$4]:tg||{},[$n]:rg||{},[se$3]:ig||{}},np?{[kn]:np}:{},qm?{[Pn]:qm}:{}))}}})(aa,this._instance.persistence,ua,Sa,hl),this.gi(ca)}}override(aa,ca){ca===void 0&&(ca=!1),bn.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:aa,suppressWarning:ca})}overrideFeatureFlags(aa){if(!this._instance.__loaded||!this._instance.persistence)return bn.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(aa===!1)return this._instance.persistence.unregister(En),this._instance.persistence.unregister(Sn),this.gi(),wn.info("All overrides cleared");if(aa&&typeof aa=="object"&&("flags"in aa||"payloads"in aa)){var ca,ua=aa;if(this.ri=!!((ca=ua.suppressWarning)!==null&&ca!==void 0&&ca),"flags"in ua){if(ua.flags===!1)this._instance.persistence.unregister(En),wn.info("Flag overrides cleared");else if(ua.flags){if(I$8(ua.flags)){for(var Sa={},hl=0;hl<ua.flags.length;hl++)Sa[ua.flags[hl]]=!0;this._instance.persistence.register({[En]:Sa})}else this._instance.persistence.register({[En]:ua.flags});wn.info("Flag overrides set",{flags:ua.flags})}}return"payloads"in ua&&(ua.payloads===!1?(this._instance.persistence.unregister(Sn),wn.info("Payload overrides cleared")):ua.payloads&&(this._instance.persistence.register({[Sn]:ua.payloads}),wn.info("Payload overrides set",{payloads:ua.payloads}))),void this.gi()}this.gi()}onFeatureFlags(aa){if(this.addFeatureFlagsHandler(aa),this.si){var{flags:ca,flagVariants:ua}=this.mi();aa(ca,ua)}return()=>this.removeFeatureFlagsHandler(aa)}updateEarlyAccessFeatureEnrollment(aa,ca,ua){var Sa,hl=(this._instance.get_property(re$1)||[]).find((wc=>wc.flagKey===aa)),pl={["$feature_enrollment/"+aa]:ca},ml={$feature_flag:aa,$feature_enrollment:ca,$set:pl};hl&&(ml.$early_access_feature_name=hl.name),ua&&(ml.$feature_enrollment_stage=ua),this._instance.capture("$feature_enrollment_update",ml),this.setPersonPropertiesForFlags(pl,!1);var gl=g$8({},this.getFlagVariants(),{[aa]:ca});(Sa=this._instance.persistence)==null||Sa.register({[xn]:Object.keys(Tn(gl)),[ee$4]:gl}),this.gi()}getEarlyAccessFeatures(aa,ca,ua){ca===void 0&&(ca=!1);var Sa=this._instance.get_property(re$1),hl=ua?"&"+ua.map((pl=>"stage="+pl)).join("&"):"";if(Sa&&!ca)return aa(Sa);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+hl),method:"GET",callback:pl=>{var ml,gl;if(pl.json){var wc=pl.json.earlyAccessFeatures;return(ml=this._instance.persistence)==null||ml.unregister(re$1),(gl=this._instance.persistence)==null||gl.register({[re$1]:wc}),aa(wc)}}})}mi(){var aa=this.getFlags(),ca=this.getFlagVariants();return{flags:aa.filter((ua=>ca[ua])),flagVariants:Object.keys(ca).filter((ua=>ca[ua])).reduce(((ua,Sa)=>(ua[Sa]=ca[Sa],ua)),{})}}gi(aa){var{flags:ca,flagVariants:ua}=this.mi();this.featureFlagEventHandlers.forEach((Sa=>Sa(ca,ua,{errorsLoading:aa})))}setPersonPropertiesForFlags(aa,ca){ca===void 0&&(ca=!0);var ua=this._instance.get_property(ne$2)||{};this._instance.register({[ne$2]:g$8({},ua,aa)}),ca&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(ne$2)}setGroupPropertiesForFlags(aa,ca){ca===void 0&&(ca=!0);var ua=this._instance.get_property(oe$2)||{};Object.keys(ua).length!==0&&Object.keys(ua).forEach((Sa=>{ua[Sa]=g$8({},ua[Sa],aa[Sa]),delete aa[Sa]})),this._instance.register({[oe$2]:g$8({},ua,aa)}),ca&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(aa){if(aa){var ca=this._instance.get_property(oe$2)||{};this._instance.register({[oe$2]:g$8({},ca,{[aa]:{}})})}else this._instance.unregister(oe$2)}reset(){this.si=!1,this.ni=!1,this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.$anon_distinct_id=void 0,this.fi(),this.ri=!1}}var Fn=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"];class Mn{constructor(aa,ca){this.R=aa,this.props={},this.yi=!1,this.bi=(ua=>{var Sa="";return ua.token&&(Sa=ua.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),ua.persistence_name?"ph_"+ua.persistence_name:"ph_"+Sa+"_posthog"})(aa),this.Y=this.wi(aa),this.load(),aa.debug&&Ei.info("Persistence loaded",aa.persistence,g$8({},this.props)),this.update_config(aa,aa,ca),this.save()}isDisabled(){return!!this.xi}wi(aa){Fn.indexOf(aa.persistence.toLowerCase())===-1&&(Ei.critical("Unknown persistence type "+aa.persistence+"; falling back to localStorage+cookie"),aa.persistence="localStorage+cookie");var ca=aa.persistence.toLowerCase();return ca==="localstorage"&&Tr.H()?Tr:ca==="localstorage+cookie"&&Cr.H()?Cr:ca==="sessionstorage"&&Or.H()?Or:ca==="memory"?Fr:ca==="cookie"?kr:Cr.H()?Cr:kr}properties(){var aa={};return Ii(this.props,(function(ca,ua){if(ua===ee$4&&R$3(ca))for(var Sa=Object.keys(ca),hl=0;hl<Sa.length;hl++)aa["$feature/"+Sa[hl]]=ca[Sa[hl]];else ml=ua,gl=!1,(D$b(pl=me$2)?gl:s$f&&pl.indexOf===s$f?pl.indexOf(ml)!=-1:(Ii(pl,(function(wc){if(gl||(gl=wc===ml))return Pi})),gl))||(aa[ua]=ca);var pl,ml,gl})),aa}load(){if(!this.xi){var aa=this.Y.W(this.bi);aa&&(this.props=Ci({},aa))}}save(){this.xi||this.Y.G(this.bi,this.props,this.Ei,this.$i,this.Si,this.R.debug)}remove(){this.Y.V(this.bi,!1),this.Y.V(this.bi,!0)}clear(){this.remove(),this.props={}}register_once(aa,ca,ua){if(R$3(aa)){M$6(ca)&&(ca="None"),this.Ei=M$6(ua)?this.ki:ua;var Sa=!1;if(Ii(aa,((hl,pl)=>{this.props.hasOwnProperty(pl)&&this.props[pl]!==ca||(this.props[pl]=hl,Sa=!0)})),Sa)return this.save(),!0}return!1}register(aa,ca){if(R$3(aa)){this.Ei=M$6(ca)?this.ki:ca;var ua=!1;if(Ii(aa,((Sa,hl)=>{aa.hasOwnProperty(hl)&&this.props[hl]!==Sa&&(this.props[hl]=Sa,ua=!0)})),ua)return this.save(),!0}return!1}unregister(aa){aa in this.props&&(delete this.props[aa],this.save())}update_campaign_params(){if(!this.yi){var aa=ls(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);F$8(Ai(aa))||this.register(aa),this.yi=!0}}update_search_keyword(){var aa;this.register((aa=o$d?.referrer)?hs(aa):{})}update_referrer_info(){var aa;this.register_once({$referrer:vs(),$referring_domain:o$d!=null&&o$d.referrer&&((aa=sr(o$d.referrer))==null?void 0:aa.host)||"$direct"},void 0)}set_initial_person_info(){this.props[ve$2]||this.props[ce$3]||this.register_once({[fe$2]:cs(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var aa={};Ii([ce$3,ve$2],(pl=>{var ml=this.props[pl];ml&&Ii(ml,(function(gl,wc){aa["$initial_"+E$7(wc)]=gl}))}));var ca,ua,Sa=this.props[fe$2];if(Sa){var hl=(ca=fs(Sa),ua={},Ii(ca,(function(pl,ml){ua["$initial_"+E$7(ml)]=pl})),ua);Ci(aa,hl)}return aa}safe_merge(aa){return Ii(this.props,(function(ca,ua){ua in aa||(aa[ua]=ca)})),aa}update_config(aa,ca,ua){if(this.ki=this.Ei=aa.cookie_expiration,this.set_disabled(aa.disable_persistence||!!ua),this.set_cross_subdomain(aa.cross_subdomain_cookie),this.set_secure(aa.secure_cookie),aa.persistence!==ca.persistence){var Sa=this.wi(aa),hl=this.props;this.clear(),this.Y=Sa,this.props=hl,this.save()}}set_disabled(aa){this.xi=aa,this.xi?this.remove():this.save()}set_cross_subdomain(aa){aa!==this.$i&&(this.$i=aa,this.remove(),this.save())}set_secure(aa){aa!==this.Si&&(this.Si=aa,this.remove(),this.save())}set_event_timer(aa,ca){var ua=this.props[Bi]||{};ua[aa]=ca,this.props[Bi]=ua,this.save()}remove_event_timer(aa){var ca=(this.props[Bi]||{})[aa];return M$6(ca)||(delete this.props[Bi][aa],this.save()),ca}get_property(aa){return this.props[aa]}set_property(aa,ca){this.props[aa]=ca,this.save()}}var On=$i("[Product Tours]"),An="ph_product_tours";class Dn{constructor(aa){this.Pi=null,this.Ti=null,this._instance=aa}onRemoteConfig(aa){this._instance.persistence&&this._instance.persistence.register({[Xi]:!(aa==null||!aa.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var aa,ca;this.Pi||(aa=this._instance).config.disable_product_tours||(ca=aa.persistence)==null||!ca.get_property(Xi)||this.it((()=>this.Ii()))}it(aa){var ca,ua;(ca=v$7.__PosthogExtensions__)!=null&&ca.generateProductTours?aa():(ua=v$7.__PosthogExtensions__)==null||ua.loadExternalDependency==null||ua.loadExternalDependency(this._instance,"product-tours",(Sa=>{Sa?On.error("Could not load product tours script",Sa):aa()}))}Ii(){var aa;!this.Pi&&(aa=v$7.__PosthogExtensions__)!=null&&aa.generateProductTours&&(this.Pi=v$7.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(aa,ca){if(ca===void 0&&(ca=!1),!I$8(this.Ti)||ca){var ua=this._instance.persistence;if(ua){var Sa=ua.props[An];if(I$8(Sa)&&!ca)return this.Ti=Sa,void aa(Sa,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:hl=>{var pl=hl.statusCode;if(pl!==200||!hl.json){var ml="Product Tours API could not be loaded, status: "+pl;return On.error(ml),void aa([],{isLoaded:!1,error:ml})}var gl=I$8(hl.json.product_tours)?hl.json.product_tours:[];this.Ti=gl,ua&&ua.register({[An]:gl}),aa(gl,{isLoaded:!0})}})}else aa(this.Ti,{isLoaded:!0})}getActiveProductTours(aa){j$a(this.Pi)?aa([],{isLoaded:!1,error:"Product tours not loaded"}):this.Pi.getActiveProductTours(aa)}showProductTour(aa){var ca;(ca=this.Pi)==null||ca.showTourById(aa)}previewTour(aa){this.Pi?this.Pi.previewTour(aa):this.it((()=>{var ca;this.Ii(),(ca=this.Pi)==null||ca.previewTour(aa)}))}dismissProductTour(){var aa;(aa=this.Pi)==null||aa.dismissTour("user_clicked_skip")}nextStep(){var aa;(aa=this.Pi)==null||aa.nextStep()}previousStep(){var aa;(aa=this.Pi)==null||aa.previousStep()}clearCache(){var aa;this.Ti=null,(aa=this._instance.persistence)==null||aa.unregister(An)}resetTour(aa){var ca;(ca=this.Pi)==null||ca.resetTour(aa)}resetAllTours(){var aa;(aa=this.Pi)==null||aa.resetAllTours()}cancelPendingTour(aa){var ca;(ca=this.Pi)==null||ca.cancelPendingTour(aa)}}var jn=(function(la){return la.Activation="events",la.Cancellation="cancelEvents",la})({});(function(la){return la.Button="button",la.Tab="tab",la.Selector="selector",la})({});(function(la){return la.TopLeft="top_left",la.TopRight="top_right",la.TopCenter="top_center",la.MiddleLeft="middle_left",la.MiddleRight="middle_right",la.MiddleCenter="middle_center",la.Left="left",la.Center="center",la.Right="right",la.NextToTrigger="next_to_trigger",la})({});(function(la){return la.Top="top",la.Left="left",la.Right="right",la.Bottom="bottom",la})({});var zn=(function(la){return la.Popover="popover",la.API="api",la.Widget="widget",la.ExternalSurvey="external_survey",la})({});(function(la){return la.Open="open",la.MultipleChoice="multiple_choice",la.SingleChoice="single_choice",la.Rating="rating",la.Link="link",la})({});(function(la){return la.NextQuestion="next_question",la.End="end",la.ResponseBased="response_based",la.SpecificQuestion="specific_question",la})({});(function(la){return la.Once="once",la.Recurring="recurring",la.Always="always",la})({});var Wn=(function(la){return la.SHOWN="survey shown",la.DISMISSED="survey dismissed",la.SENT="survey sent",la.ABANDONED="survey abandoned",la})({}),Gn=(function(la){return la.SURVEY_ID="$survey_id",la.SURVEY_NAME="$survey_name",la.SURVEY_RESPONSE="$survey_response",la.SURVEY_ITERATION="$survey_iteration",la.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",la.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",la.SURVEY_SUBMISSION_ID="$survey_submission_id",la.SURVEY_QUESTIONS="$survey_questions",la.SURVEY_COMPLETED="$survey_completed",la.PRODUCT_TOUR_ID="$product_tour_id",la})({}),Vn=(function(la){return la.Popover="popover",la.Inline="inline",la})({}),Jn=$i("[Surveys]"),Kn="seenSurvey_",Yn=(la,aa)=>{var ca="$survey_"+aa+"/"+la.id;return la.current_iteration&&la.current_iteration>0&&(ca="$survey_"+aa+"/"+la.id+"/"+la.current_iteration),ca},Xn=la=>((aa,ca)=>{var ua=""+aa+ca.id;return ca.current_iteration&&ca.current_iteration>0&&(ua=""+aa+ca.id+"_"+ca.current_iteration),ua})(Kn,la),Qn=[zn.Popover,zn.Widget,zn.API],Zn={ignoreConditions:!1,ignoreDelay:!1,displayType:Vn.Popover};class to{constructor(){this.Ci={},this.Ci={}}on(aa,ca){return this.Ci[aa]||(this.Ci[aa]=[]),this.Ci[aa].push(ca),()=>{this.Ci[aa]=this.Ci[aa].filter((ua=>ua!==ca))}}emit(aa,ca){for(var ua of this.Ci[aa]||[])ua(ca);for(var Sa of this.Ci["*"]||[])Sa(aa,ca)}}function io(la,aa,ca){if(j$a(la))return!1;switch(ca){case"exact":return la===aa;case"contains":var ua=aa.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(ua,"i").test(la);case"regex":try{return new RegExp(aa).test(la)}catch{return!1}default:return!1}}class eo{constructor(aa){this.Ri=new to,this.Fi=(ca,ua)=>this.Mi(ca,ua)&&this.Oi(ca,ua)&&this.Ai(ca,ua)&&this.Di(ca,ua),this.Mi=(ca,ua)=>ua==null||!ua.event||ca?.event===ua?.event,this._instance=aa,this.ji=new Set,this.Li=new Set}init(){var aa;if(!M$6((aa=this._instance)==null?void 0:aa.Ni)){var ca;(ca=this._instance)==null||ca.Ni(((ua,Sa)=>{this.on(ua,Sa)}))}}register(aa){var ca,ua;if(!M$6((ca=this._instance)==null?void 0:ca.Ni)&&(aa.forEach((pl=>{var ml,gl;(ml=this.Li)==null||ml.add(pl),(gl=pl.steps)==null||gl.forEach((wc=>{var xu;(xu=this.ji)==null||xu.add(wc?.event||"")}))})),(ua=this._instance)!=null&&ua.autocapture)){var Sa,hl=new Set;aa.forEach((pl=>{var ml;(ml=pl.steps)==null||ml.forEach((gl=>{gl!=null&&gl.selector&&hl.add(gl?.selector)}))})),(Sa=this._instance)==null||Sa.autocapture.setElementSelectors(hl)}}on(aa,ca){var ua;ca!=null&&aa.length!=0&&(this.ji.has(aa)||this.ji.has(ca?.event))&&this.Li&&((ua=this.Li)==null?void 0:ua.size)>0&&this.Li.forEach((Sa=>{this.Ui(ca,Sa)&&this.Ri.emit("actionCaptured",Sa.name)}))}zi(aa){this.onAction("actionCaptured",(ca=>aa(ca)))}Ui(aa,ca){if(ca?.steps==null)return!1;for(var ua of ca.steps)if(this.Fi(aa,ua))return!0;return!1}onAction(aa,ca){return this.Ri.on(aa,ca)}Oi(aa,ca){if(ca!=null&&ca.url){var ua,Sa=aa==null||(ua=aa.properties)==null?void 0:ua.$current_url;if(!Sa||typeof Sa!="string"||!io(Sa,ca.url,ca.url_matching||"contains"))return!1}return!0}Ai(aa,ca){return!!this.Hi(aa,ca)&&!!this.Bi(aa,ca)&&!!this.qi(aa,ca)}Hi(aa,ca){var ua;if(ca==null||!ca.href)return!0;var Sa=this.Wi(aa);if(Sa.length>0)return Sa.some((ml=>io(ml.href,ca.href,ca.href_matching||"exact")));var hl,pl=(aa==null||(ua=aa.properties)==null?void 0:ua.$elements_chain)||"";return!!pl&&io((hl=pl.match(/(?::|")href="(.*?)"/))?hl[1]:"",ca.href,ca.href_matching||"exact")}Bi(aa,ca){var ua;if(ca==null||!ca.text)return!0;var Sa=this.Wi(aa);if(Sa.length>0)return Sa.some((wc=>io(wc.text,ca.text,ca.text_matching||"exact")||io(wc.$el_text,ca.text,ca.text_matching||"exact")));var hl,pl,ml,gl=(aa==null||(ua=aa.properties)==null?void 0:ua.$elements_chain)||"";return!!gl&&(hl=(function(wc){for(var xu,ff=[],jf=/(?::|")text="(.*?)"/g;!j$a(xu=jf.exec(wc));)ff.includes(xu[1])||ff.push(xu[1]);return ff})(gl),pl=ca.text,ml=ca.text_matching||"exact",hl.some((wc=>io(wc,pl,ml))))}qi(aa,ca){var ua,Sa;if(ca==null||!ca.selector)return!0;var hl=aa==null||(ua=aa.properties)==null?void 0:ua.$element_selectors;if(hl!=null&&hl.includes(ca.selector))return!0;var pl=(aa==null||(Sa=aa.properties)==null?void 0:Sa.$elements_chain)||"";if(ca.selector_regex&&pl)try{return new RegExp(ca.selector_regex).test(pl)}catch{return!1}return!1}Wi(aa){var ca;return(aa==null||(ca=aa.properties)==null?void 0:ca.$elements)==null?[]:aa?.properties.$elements}Di(aa,ca){return ca==null||!ca.properties||ca.properties.length===0||_n(ca.properties.reduce(((ua,Sa)=>{var hl=I$8(Sa.value)?Sa.value.map(String):Sa.value!=null?[String(Sa.value)]:[];return ua[Sa.key]={values:hl,operator:Sa.operator||"exact"},ua}),{}),aa?.properties)}}class ro{constructor(aa){this._instance=aa,this.Gi=new Map,this.Vi=new Map,this.Ji=new Map}Ki(aa,ca){return!!aa&&_n(aa.propertyFilters,ca?.properties)}Yi(aa,ca){var ua=new Map;return aa.forEach((Sa=>{var hl;(hl=Sa.conditions)==null||(hl=hl[ca])==null||(hl=hl.values)==null||hl.forEach((pl=>{if(pl!=null&&pl.name){var ml=ua.get(pl.name)||[];ml.push(Sa.id),ua.set(pl.name,ml)}}))})),ua}Xi(aa,ca,ua){var Sa=(ua===jn.Activation?this.Gi:this.Vi).get(aa),hl=[];return this.Qi((pl=>{hl=pl.filter((ml=>Sa?.includes(ml.id)))})),hl.filter((pl=>{var ml,gl=(ml=pl.conditions)==null||(ml=ml[ua])==null||(ml=ml.values)==null?void 0:ml.find((wc=>wc.name===aa));return this.Ki(gl,ca)}))}register(aa){var ca;M$6((ca=this._instance)==null?void 0:ca.Ni)||(this.Zi(aa),this.te(aa))}te(aa){var ca=aa.filter((ua=>{var Sa,hl;return((Sa=ua.conditions)==null?void 0:Sa.actions)&&((hl=ua.conditions)==null||(hl=hl.actions)==null||(hl=hl.values)==null?void 0:hl.length)>0}));ca.length!==0&&(this.ie==null&&(this.ie=new eo(this._instance),this.ie.init(),this.ie.zi((ua=>{this.onAction(ua)}))),ca.forEach((ua=>{var Sa,hl,pl,ml,gl;ua.conditions&&(Sa=ua.conditions)!=null&&Sa.actions&&(hl=ua.conditions)!=null&&(hl=hl.actions)!=null&&hl.values&&((pl=ua.conditions)==null||(pl=pl.actions)==null||(pl=pl.values)==null?void 0:pl.length)>0&&((ml=this.ie)==null||ml.register(ua.conditions.actions.values),(gl=ua.conditions)==null||(gl=gl.actions)==null||(gl=gl.values)==null||gl.forEach((wc=>{if(wc&&wc.name){var xu=this.Ji.get(wc.name);xu&&xu.push(ua.id),this.Ji.set(wc.name,xu||[ua.id])}})))})))}Zi(aa){var ca,ua=aa.filter((hl=>{var pl,ml;return((pl=hl.conditions)==null?void 0:pl.events)&&((ml=hl.conditions)==null||(ml=ml.events)==null||(ml=ml.values)==null?void 0:ml.length)>0})),Sa=aa.filter((hl=>{var pl,ml;return((pl=hl.conditions)==null?void 0:pl.cancelEvents)&&((ml=hl.conditions)==null||(ml=ml.cancelEvents)==null||(ml=ml.values)==null?void 0:ml.length)>0}));(ua.length!==0||Sa.length!==0)&&((ca=this._instance)==null||ca.Ni(((hl,pl)=>{this.onEvent(hl,pl)})),this.Gi=this.Yi(aa,jn.Activation),this.Vi=this.Yi(aa,jn.Cancellation))}onEvent(aa,ca){var ua,Sa=this.ee(),hl=this.re(),pl=this.se(),ml=((ua=this._instance)==null||(ua=ua.persistence)==null?void 0:ua.props[hl])||[];if(pl===aa&&ca&&ml.length>0){var gl,wc;Sa.info("event matched, removing item from activated items",{event:aa,eventPayload:ca,existingActivatedItems:ml});var xu=(ca==null||(gl=ca.properties)==null?void 0:gl.$survey_id)||(ca==null||(wc=ca.properties)==null?void 0:wc.$product_tour_id);if(xu){var ff=ml.indexOf(xu);ff>=0&&(ml.splice(ff,1),this.ne(ml))}}else{if(this.Vi.has(aa)){var jf=this.Xi(aa,ca,jn.Cancellation);jf.length>0&&(Sa.info("cancel event matched, cancelling items",{event:aa,itemsToCancel:jf.map((rp=>rp.id))}),jf.forEach((rp=>{var np=ml.indexOf(rp.id);np>=0&&ml.splice(np,1),this.oe(rp.id)})),this.ne(ml))}if(this.Gi.has(aa)){Sa.info("event name matched",{event:aa,eventPayload:ca,items:this.Gi.get(aa)});var Uf=this.Xi(aa,ca,jn.Activation);this.ne(ml.concat(Uf.map((rp=>rp.id))||[]))}}}onAction(aa){var ca,ua=this.re(),Sa=((ca=this._instance)==null||(ca=ca.persistence)==null?void 0:ca.props[ua])||[];this.Ji.has(aa)&&this.ne(Sa.concat(this.Ji.get(aa)||[]))}ne(aa){var ca,ua=this.ee(),Sa=this.re(),hl=[...new Set(aa)].filter((pl=>!this.ae(pl)));ua.info("updating activated items",{activatedItems:hl}),(ca=this._instance)==null||(ca=ca.persistence)==null||ca.register({[Sa]:hl})}getActivatedIds(){var aa,ca=this.re(),ua=(aa=this._instance)==null||(aa=aa.persistence)==null?void 0:aa.props[ca];return ua||[]}getEventToItemsMap(){return this.Gi}le(){return this.ie}}class so extends ro{constructor(aa){super(aa)}re(){return"$surveys_activated"}se(){return Wn.SHOWN}Qi(aa){var ca;(ca=this._instance)==null||ca.getSurveys(aa)}oe(aa){var ca;(ca=this._instance)==null||ca.cancelPendingSurvey(aa)}ee(){return Jn}ae(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}}class no{constructor(aa){this.ue=void 0,this._surveyManager=null,this.he=!1,this.de=[],this.ve=null,this._instance=aa,this._surveyEventReceiver=null}onRemoteConfig(aa){if(!this._instance.config.disable_surveys){var ca=aa.surveys;if(j$a(ca))return Jn.warn("Flags not loaded yet. Not loading surveys.");var ua=I$8(ca);this.ue=ua?ca.length>0:ca,Jn.info("flags response received, isSurveysEnabled: "+this.ue),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var aa=[],ca=0;ca<localStorage.length;ca++){var ua=localStorage.key(ca);(ua!=null&&ua.startsWith(Kn)||ua!=null&&ua.startsWith("inProgressSurvey_"))&&aa.push(ua)}aa.forEach((Sa=>localStorage.removeItem(Sa)))}loadIfEnabled(){if(!this._surveyManager)if(this.he)Jn.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)Jn.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())Jn.info("Not loading surveys in cookieless mode without consent.");else{var aa=v$7?.__PosthogExtensions__;if(aa){if(!M$6(this.ue)||this._instance.config.advanced_enable_surveys){var ca=this.ue||this._instance.config.advanced_enable_surveys;this.he=!0;try{var ua=aa.generateSurveys;if(ua)return void this.ce(ua,ca);var Sa=aa.loadExternalDependency;if(!Sa)return void this.fe("PostHog loadExternalDependency extension not found.");Sa(this._instance,"surveys",(hl=>{hl||!aa.generateSurveys?this.fe("Could not load surveys script",hl):this.ce(aa.generateSurveys,ca)}))}catch(hl){throw this.fe("Error initializing surveys",hl),hl}finally{this.he=!1}}}else Jn.error("PostHog Extensions not found.")}}ce(aa,ca){this._surveyManager=aa(this._instance,ca),this._surveyEventReceiver=new so(this._instance),Jn.info("Surveys loaded successfully"),this.pe({isLoaded:!0})}fe(aa,ca){Jn.error(aa,ca),this.pe({isLoaded:!1,error:aa})}onSurveysLoaded(aa){return this.de.push(aa),this._surveyManager&&this.pe({isLoaded:!0}),()=>{this.de=this.de.filter((ca=>ca!==aa))}}getSurveys(aa,ca){if(ca===void 0&&(ca=!1),this._instance.config.disable_surveys)return Jn.info("Disabled. Not loading surveys."),aa([]);var ua,Sa=this._instance.get_property(ae$3);if(Sa&&!ca)return aa(Sa,{isLoaded:!0});typeof Promise<"u"&&this.ve?this.ve.then((hl=>{var{surveys:pl,context:ml}=hl;return aa(pl,ml)})):(typeof Promise<"u"&&(this.ve=new Promise((hl=>{ua=hl}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:hl=>{var pl;this.ve=null;var ml=hl.statusCode;if(ml!==200||!hl.json){var gl="Surveys API could not be loaded, status: "+ml;Jn.error(gl);var wc={isLoaded:!1,error:gl};return aa([],wc),void(ua==null||ua({surveys:[],context:wc}))}var xu,ff=hl.json.surveys||[],jf=ff.filter((rp=>(function(np){return!(!np.start_date||np.end_date)})(rp)&&((function(np){var qm;return!((qm=np.conditions)==null||(qm=qm.events)==null||(qm=qm.values)==null||!qm.length)})(rp)||(function(np){var qm;return!((qm=np.conditions)==null||(qm=qm.actions)==null||(qm=qm.values)==null||!qm.length)})(rp))));jf.length>0&&((xu=this._surveyEventReceiver)==null||xu.register(jf)),(pl=this._instance.persistence)==null||pl.register({[ae$3]:ff});var Uf={isLoaded:!0};aa(ff,Uf),ua?.({surveys:ff,context:Uf})}}))}pe(aa){for(var ca of this.de)try{if(!aa.isLoaded)return ca([],aa);this.getSurveys(ca)}catch(ua){Jn.error("Error in survey callback",ua)}}getActiveMatchingSurveys(aa,ca){if(ca===void 0&&(ca=!1),!j$a(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(aa,ca);Jn.warn("init was not called")}ge(aa){var ca=null;return this.getSurveys((ua=>{var Sa;ca=(Sa=ua.find((hl=>hl.id===aa)))!==null&&Sa!==void 0?Sa:null})),ca}_e(aa){if(j$a(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var ca=typeof aa=="string"?this.ge(aa):aa;return ca?this._surveyManager.checkSurveyEligibility(ca):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(aa){if(j$a(this._surveyManager))return Jn.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var ca=this._e(aa);return{visible:ca.eligible,disabledReason:ca.reason}}canRenderSurveyAsync(aa,ca){return j$a(this._surveyManager)?(Jn.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((ua=>{this.getSurveys((Sa=>{var hl,pl=(hl=Sa.find((gl=>gl.id===aa)))!==null&&hl!==void 0?hl:null;if(pl){var ml=this._e(pl);ua({visible:ml.eligible,disabledReason:ml.reason})}else ua({visible:!1,disabledReason:"Survey not found"})}),ca)}))}renderSurvey(aa,ca){var ua;if(j$a(this._surveyManager))Jn.warn("init was not called");else{var Sa=typeof aa=="string"?this.ge(aa):aa;if(Sa!=null&&Sa.id)if(Qn.includes(Sa.type)){var hl=o$d?.querySelector(ca);if(hl)return(ua=Sa.appearance)!=null&&ua.surveyPopupDelaySeconds?(Jn.info("Rendering survey "+Sa.id+" with delay of "+Sa.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var pl,ml;Jn.info("Rendering survey "+Sa.id+" with delay of "+((pl=Sa.appearance)==null?void 0:pl.surveyPopupDelaySeconds)+" seconds"),(ml=this._surveyManager)==null||ml.renderSurvey(Sa,hl),Jn.info("Survey "+Sa.id+" rendered")}),1e3*Sa.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(Sa,hl);Jn.warn("Survey element not found")}else Jn.warn("Surveys of type "+Sa.type+" cannot be rendered in the app");else Jn.warn("Survey not found")}}displaySurvey(aa,ca){var ua;if(j$a(this._surveyManager))Jn.warn("init was not called");else{var Sa=this.ge(aa);if(Sa){var hl=Sa;if((ua=Sa.appearance)!=null&&ua.surveyPopupDelaySeconds&&ca.ignoreDelay&&(hl=g$8({},Sa,{appearance:g$8({},Sa.appearance,{surveyPopupDelaySeconds:0})})),ca.ignoreConditions===!1){var pl=this.canRenderSurvey(Sa);if(!pl.visible)return void Jn.warn("Survey is not eligible to be displayed: ",pl.disabledReason)}ca.displayType!==Vn.Inline?this._surveyManager.handlePopoverSurvey(hl):this.renderSurvey(hl,ca.selector)}else Jn.warn("Survey not found")}}cancelPendingSurvey(aa){j$a(this._surveyManager)?Jn.warn("init was not called"):this._surveyManager.cancelSurvey(aa)}handlePageUnload(){var aa;(aa=this._surveyManager)==null||aa.handlePageUnload()}}var oo=$i("[Conversations]");class ao{constructor(aa){this.me=void 0,this._conversationsManager=null,this.ye=!1,this.be=null,this._instance=aa}onRemoteConfig(aa){if(!this._instance.config.disable_conversations){var ca=aa.conversations;j$a(ca)||(N$6(ca)?this.me=ca:(this.me=ca.enabled,this.be=ca),this.loadIfEnabled())}}reset(){var aa;(aa=this._conversationsManager)==null||aa.reset(),this._conversationsManager=null,this.me=void 0,this.be=null}loadIfEnabled(){if(!this._conversationsManager&&!this.ye&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var aa=v$7?.__PosthogExtensions__;if(aa&&!M$6(this.me)&&this.me)if(this.be&&this.be.token){if((function(Sa){var hl;if(!Sa||Sa.length===0)return!0;var pl=t$9==null||(hl=t$9.location)==null?void 0:hl.hostname;return!pl||Sa.some((ml=>{var gl=(function(xu){var ff=xu.replace(/^https?:\/\//,"");return(ff=ff.split("/")[0].split("?")[0].split(":")[0])||null})(ml);if(!gl)return!1;if(gl.startsWith("*.")){var wc=gl.slice(2);return pl.endsWith("."+wc)||pl===wc}return pl===gl}))})(this.be.domains)){this.ye=!0;try{var ca=aa.initConversations;if(ca)return this.we(ca),void(this.ye=!1);var ua=aa.loadExternalDependency;if(!ua)return void this.xe("PostHog loadExternalDependency extension not found.");ua(this._instance,"conversations",(Sa=>{Sa||!aa.initConversations?this.xe("Could not load conversations script",Sa):this.we(aa.initConversations),this.ye=!1}))}catch(Sa){this.xe("Error initializing conversations",Sa),this.ye=!1}}}else oo.error("Conversations enabled but missing token in remote config.")}}we(aa){if(this.be)try{this._conversationsManager=aa(this.be,this._instance),oo.info("Conversations loaded successfully")}catch(ca){this.xe("Error completing conversations initialization",ca)}else oo.error("Cannot complete initialization: remote config is null")}xe(aa,ca){oo.error(aa,ca),this._conversationsManager=null,this.ye=!1}enable(){this._conversationsManager?this._conversationsManager.enable():oo.warn("Conversations not loaded yet.")}disable(){this._conversationsManager&&this._conversationsManager.disable()}isLoaded(){return!D$b(this._conversationsManager)}isEnabled(){return this.me===!0}}var lo$1=$i("[RateLimiter]");class uo{constructor(aa){var ca,ua;this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=Sa=>{var hl=Sa.text;if(hl&&hl.length)try{(JSON.parse(hl).quota_limited||[]).forEach((pl=>{lo$1.info((pl||"events")+" is quota limited."),this.serverLimits[pl]=new Date().getTime()+6e4}))}catch(pl){return void lo$1.warn('could not rate limit - continuing. Error: "'+pl?.message+'"',{text:hl})}},this.instance=aa,this.captureEventsPerSecond=((ca=aa.config.rate_limiting)==null?void 0:ca.events_per_second)||10,this.captureEventsBurstLimit=Math.max(((ua=aa.config.rate_limiting)==null?void 0:ua.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond),this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}clientRateLimitContext(aa){var ca,ua,Sa;aa===void 0&&(aa=!1);var hl=new Date().getTime(),pl=(ca=(ua=this.instance.persistence)==null?void 0:ua.get_property(de$3))!==null&&ca!==void 0?ca:{tokens:this.captureEventsBurstLimit,last:hl};pl.tokens+=(hl-pl.last)/1e3*this.captureEventsPerSecond,pl.last=hl,pl.tokens>this.captureEventsBurstLimit&&(pl.tokens=this.captureEventsBurstLimit);var ml=pl.tokens<1;return ml||aa||(pl.tokens=Math.max(0,pl.tokens-1)),!ml||this.lastEventRateLimited||aa||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+this.captureEventsPerSecond+" events per second and "+this.captureEventsBurstLimit+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=ml,(Sa=this.instance.persistence)==null||Sa.set_property(de$3,pl),{isRateLimited:ml,remainingTokens:pl.tokens}}isServerRateLimited(aa){var ca=this.serverLimits[aa||"events"]||!1;return ca!==!1&&new Date().getTime()<ca}}var ho=$i("[RemoteConfig]");class vo{constructor(aa){this._instance=aa}get remoteConfig(){var aa;return(aa=v$7._POSTHOG_REMOTE_CONFIG)==null||(aa=aa[this._instance.config.token])==null?void 0:aa.config}Ee(aa){var ca,ua;(ca=v$7.__PosthogExtensions__)!=null&&ca.loadExternalDependency?(ua=v$7.__PosthogExtensions__)==null||ua.loadExternalDependency==null||ua.loadExternalDependency(this._instance,"remote-config",(()=>aa(this.remoteConfig))):(ho.error("PostHog Extensions not found. Cannot load remote config."),aa())}$e(aa){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:ca=>{aa(ca.json)}})}load(){try{if(this.remoteConfig)return ho.info("Using preloaded remote config",this.remoteConfig),void this.pi(this.remoteConfig);if(this._instance.O())return void ho.warn("Remote config is disabled. Falling back to local config.");this.Ee((aa=>{if(!aa)return ho.info("No config found after loading remote JS config. Falling back to JSON."),void this.$e((ca=>{this.pi(ca)}));this.pi(aa)}))}catch(aa){ho.error("Error loading remote config",aa)}}pi(aa){aa?this._instance.config.__preview_remote_config?(this._instance.pi(aa),aa.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):ho.info("__preview_remote_config is disabled. Logging config instead",aa):ho.error("Failed to fetch remote config from PostHog.")}}var co=3e3;class fo{constructor(aa,ca){this.Se=!0,this.ke=[],this.Pe=J$5(ca?.flush_interval_ms||co,250,5e3,Ei.createLogger("flush interval"),co),this.Te=aa}enqueue(aa){this.ke.push(aa),this.Ie||this.Ce()}unload(){this.Re();var aa=this.ke.length>0?this.Fe():{},ca=Object.values(aa);[...ca.filter((ua=>ua.url.indexOf("/e")===0)),...ca.filter((ua=>ua.url.indexOf("/e")!==0))].map((ua=>{this.Te(g$8({},ua,{transport:"sendBeacon"}))}))}enable(){this.Se=!1,this.Ce()}Ce(){var aa=this;this.Se||(this.Ie=setTimeout((()=>{if(this.Re(),this.ke.length>0){var ca=this.Fe(),ua=function(){var hl=ca[Sa],pl=new Date().getTime();hl.data&&I$8(hl.data)&&Ii(hl.data,(ml=>{ml.offset=Math.abs(ml.timestamp-pl),delete ml.timestamp})),aa.Te(hl)};for(var Sa in ca)ua()}}),this.Pe))}Re(){clearTimeout(this.Ie),this.Ie=void 0}Fe(){var aa={};return Ii(this.ke,(ca=>{var ua,Sa=ca,hl=(Sa?Sa.batchKey:null)||Sa.url;M$6(aa[hl])&&(aa[hl]=g$8({},Sa,{data:[]})),(ua=aa[hl].data)==null||ua.push(Sa.data)})),this.ke=[],aa}}var po=["retriesPerformedSoFar"];class go{constructor(aa){this.Me=!1,this.Oe=3e3,this.ke=[],this._instance=aa,this.ke=[],this.Ae=!0,!M$6(t$9)&&"onLine"in t$9.navigator&&(this.Ae=t$9.navigator.onLine,this.De=()=>{this.Ae=!0,this.Lt()},this.je=()=>{this.Ae=!1},Ui(t$9,"online",this.De),Ui(t$9,"offline",this.je))}get length(){return this.ke.length}retriableRequest(aa){var{retriesPerformedSoFar:ca}=aa,ua=_$7(aa,po);L$6(ca)&&ca>0&&(ua.url=un$1(ua.url,{retry_count:ca})),this._instance._send_request(g$8({},ua,{callback:Sa=>{Sa.statusCode!==200&&(Sa.statusCode<400||Sa.statusCode>=500)&&(ca??0)<10?this.Le(g$8({retriesPerformedSoFar:ca},ua)):ua.callback==null||ua.callback(Sa)}}))}Le(aa){var ca=aa.retriesPerformedSoFar||0;aa.retriesPerformedSoFar=ca+1;var ua=(function(pl){var ml=3e3*Math.pow(2,pl),gl=ml/2,wc=Math.min(18e5,ml),xu=(Math.random()-.5)*(wc-gl);return Math.ceil(wc+xu)})(ca),Sa=Date.now()+ua;this.ke.push({retryAt:Sa,requestOptions:aa});var hl="Enqueued failed request for retry in "+ua;navigator.onLine||(hl+=" (Browser is offline)"),Ei.warn(hl),this.Me||(this.Me=!0,this.Ne())}Ne(){if(this.Ue&&clearTimeout(this.Ue),this.ke.length===0)return this.Me=!1,void(this.Ue=void 0);this.Ue=setTimeout((()=>{this.Ae&&this.ke.length>0&&this.Lt(),this.Ne()}),this.Oe)}Lt(){var aa=Date.now(),ca=[],ua=this.ke.filter((hl=>hl.retryAt<aa||(ca.push(hl),!1)));if(this.ke=ca,ua.length>0)for(var{requestOptions:Sa}of ua)this.retriableRequest(Sa)}unload(){for(var{requestOptions:aa}of(this.Ue&&(clearTimeout(this.Ue),this.Ue=void 0),this.Me=!1,M$6(t$9)||(this.De&&(t$9.removeEventListener("online",this.De),this.De=void 0),this.je&&(t$9.removeEventListener("offline",this.je),this.je=void 0)),this.ke))try{this._instance._send_request(g$8({},aa,{transport:"sendBeacon"}))}catch(ca){Ei.error(ca)}this.ke=[]}}class _o{constructor(aa){this.ze=()=>{var ca,ua,Sa,hl;this.He||(this.He={});var pl=this.scrollElement(),ml=this.scrollY(),gl=pl?Math.max(0,pl.scrollHeight-pl.clientHeight):0,wc=ml+(pl?.clientHeight||0),xu=pl?.scrollHeight||0;this.He.lastScrollY=Math.ceil(ml),this.He.maxScrollY=Math.max(ml,(ca=this.He.maxScrollY)!==null&&ca!==void 0?ca:0),this.He.maxScrollHeight=Math.max(gl,(ua=this.He.maxScrollHeight)!==null&&ua!==void 0?ua:0),this.He.lastContentY=wc,this.He.maxContentY=Math.max(wc,(Sa=this.He.maxContentY)!==null&&Sa!==void 0?Sa:0),this.He.maxContentHeight=Math.max(xu,(hl=this.He.maxContentHeight)!==null&&hl!==void 0?hl:0)},this._instance=aa}getContext(){return this.He}resetContext(){var aa=this.He;return setTimeout(this.ze,0),aa}startMeasuringScrollPosition(){Ui(t$9,"scroll",this.ze,{capture:!0}),Ui(t$9,"scrollend",this.ze,{capture:!0}),Ui(t$9,"resize",this.ze)}scrollElement(){if(!this._instance.config.scroll_root_selector)return t$9?.document.documentElement;var aa=I$8(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var ca of aa){var ua=t$9?.document.querySelector(ca);if(ua)return ua}}scrollY(){if(this._instance.config.scroll_root_selector){var aa=this.scrollElement();return aa&&aa.scrollTop||0}return t$9&&(t$9.scrollY||t$9.pageYOffset||t$9.document.documentElement.scrollTop)||0}scrollX(){if(this._instance.config.scroll_root_selector){var aa=this.scrollElement();return aa&&aa.scrollLeft||0}return t$9&&(t$9.scrollX||t$9.pageXOffset||t$9.document.documentElement.scrollLeft)||0}}var mo=la=>cs(la?.config.mask_personal_data_properties,la?.config.custom_personal_data_properties);class yo{constructor(aa,ca,ua,Sa){this.Be=hl=>{var pl=this.qe();if(!pl||pl.sessionId!==hl){var ml={sessionId:hl,props:this.We(this._instance)};this.Ge.register({[he$3]:ml})}},this._instance=aa,this.Ve=ca,this.Ge=ua,this.We=Sa||mo,this.Ve.onSessionId(this.Be)}qe(){return this.Ge.props[he$3]}getSetOnceProps(){var aa,ca=(aa=this.qe())==null?void 0:aa.props;return ca?"r"in ca?fs(ca):{$referring_domain:ca.referringDomain,$pathname:ca.initialPathName,utm_source:ca.utm_source,utm_campaign:ca.utm_campaign,utm_medium:ca.utm_medium,utm_content:ca.utm_content,utm_term:ca.utm_term}:{}}getSessionProps(){var aa={};return Ii(Ai(this.getSetOnceProps()),((ca,ua)=>{ua==="$current_url"&&(ua="url"),aa["$session_entry_"+E$7(ua)]=ca})),aa}}var bo=$i("[SessionId]");class wo{on(aa,ca){return this.Je.on(aa,ca)}constructor(aa,ca,ua){var Sa;if(this.Ke=[],this.Ye=void 0,this.Je=new to,this.Xe=(xu,ff)=>Math.abs(xu-ff)>this.sessionTimeoutMs,!aa.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(aa.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=aa.config,this.Ge=aa.persistence,this.Qe=void 0,this.Ze=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.tr=ca||wr,this.ir=ua||wr;var hl=this.R.persistence_name||this.R.token,pl=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*J$5(pl,60,36e3,bo.createLogger("session_idle_timeout_seconds"),1800),aa.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.er(),this.rr="ph_"+hl+"_window_id",this.sr="ph_"+hl+"_primary_window_exists",this.nr()){var ml=Or.W(this.rr),gl=Or.W(this.sr);ml&&!gl?this.Qe=ml:Or.V(this.rr),Or.G(this.sr,!0)}if((Sa=this.R.bootstrap)!=null&&Sa.sessionID)try{var wc=(xu=>{var ff=xu.replace(/-/g,"");if(ff.length!==32)throw new Error("Not a valid UUID");if(ff[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(ff.substring(0,12),16)})(this.R.bootstrap.sessionID);this.ar(this.R.bootstrap.sessionID,new Date().getTime(),wc)}catch(xu){bo.error("Invalid sessionID in bootstrap",xu)}this.lr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(aa){return M$6(this.Ke)&&(this.Ke=[]),this.Ke.push(aa),this.Ze&&aa(this.Ze,this.Qe),()=>{this.Ke=this.Ke.filter((ca=>ca!==aa))}}nr(){return this.R.persistence!=="memory"&&!this.Ge.xi&&Or.H()}ur(aa){aa!==this.Qe&&(this.Qe=aa,this.nr()&&Or.G(this.rr,aa))}hr(){return this.Qe?this.Qe:this.nr()?Or.W(this.rr):null}ar(aa,ca,ua){aa===this.Ze&&ca===this._sessionActivityTimestamp&&ua===this._sessionStartTimestamp||(this._sessionStartTimestamp=ua,this._sessionActivityTimestamp=ca,this.Ze=aa,this.Ge.register({[te$4]:[ca,aa,ua]}))}dr(){var aa=this.Ge.props[te$4];return I$8(aa)&&aa.length===2&&aa.push(aa[0]),aa||[0,null,0]}resetSessionId(){this.ar(null,null,null)}destroy(){clearTimeout(this.vr),this.vr=void 0,this.Ye&&t$9&&(t$9.removeEventListener("beforeunload",this.Ye,{capture:!1}),this.Ye=void 0),this.Ke=[]}lr(){this.Ye=()=>{this.nr()&&Or.V(this.sr)},Ui(t$9,"beforeunload",this.Ye,{capture:!1})}checkAndGetSessionAndWindowId(aa,ca){if(aa===void 0&&(aa=!1),ca===void 0&&(ca=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var ua=ca||new Date().getTime(),[Sa,hl,pl]=this.dr(),ml=this.hr(),gl=L$6(pl)&&pl>0&&Math.abs(ua-pl)>864e5,wc=!1,xu=!hl,ff=!xu&&!aa&&this.Xe(ua,Sa);xu||ff||gl?(hl=this.tr(),ml=this.ir(),bo.info("new session ID generated",{sessionId:hl,windowId:ml,changeReason:{noSessionId:xu,activityTimeout:ff,sessionPastMaximumLength:gl}}),pl=ua,wc=!0):ml||(ml=this.ir(),wc=!0);var jf=Sa===0||!aa||gl?ua:Sa,Uf=pl===0?new Date().getTime():pl;return this.ur(ml),this.ar(hl,jf,Uf),aa||this.er(),wc&&this.Ke.forEach((rp=>rp(hl,ml,wc?{noSessionId:xu,activityTimeout:ff,sessionPastMaximumLength:gl}:void 0))),{sessionId:hl,windowId:ml,sessionStartTimestamp:Uf,changeReason:wc?{noSessionId:xu,activityTimeout:ff,sessionPastMaximumLength:gl}:void 0,lastActivityTimestamp:Sa}}er(){clearTimeout(this.vr),this.vr=setTimeout((()=>{var[aa]=this.dr();if(this.Xe(new Date().getTime(),aa)){var ca=this.Ze;this.resetSessionId(),this.Je.emit("forcedIdleReset",{idleSessionId:ca})}}),1.1*this.sessionTimeoutMs)}}var xo=["$set_once","$set"],Eo=$i("[SiteApps]");class $o{constructor(aa){this._instance=aa,this.cr=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}pr(aa,ca){if(ca){var ua=this.globalsForEvent(ca);this.cr.push(ua),this.cr.length>1e3&&(this.cr=this.cr.slice(10))}}get siteAppLoaders(){var aa;return(aa=v$7._POSTHOG_REMOTE_CONFIG)==null||(aa=aa[this._instance.config.token])==null?void 0:aa.siteApps}init(){if(this.isEnabled){var aa=this._instance.Ni(this.pr.bind(this));this.gr=()=>{aa(),this.cr=[],this.gr=void 0}}}globalsForEvent(aa){var ca,ua,Sa,hl,pl,ml,gl;if(!aa)throw new Error("Event payload is required");var wc={},xu=this._instance.get_property("$groups")||[],ff=this._instance.get_property("$stored_group_properties")||{};for(var[jf,Uf]of Object.entries(ff))wc[jf]={id:xu[jf],type:jf,properties:Uf};var{$set_once:rp,$set:np}=aa;return{event:g$8({},_$7(aa,xo),{properties:g$8({},aa.properties,np?{$set:g$8({},(ca=(ua=aa.properties)==null?void 0:ua.$set)!==null&&ca!==void 0?ca:{},np)}:{},rp?{$set_once:g$8({},(Sa=(hl=aa.properties)==null?void 0:hl.$set_once)!==null&&Sa!==void 0?Sa:{},rp)}:{}),elements_chain:(pl=(ml=aa.properties)==null?void 0:ml.$elements_chain)!==null&&pl!==void 0?pl:"",distinct_id:(gl=aa.properties)==null?void 0:gl.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:wc}}setupSiteApp(aa){var ca=this.apps[aa.id],ua=()=>{var ml;!ca.errored&&this.cr.length&&(Eo.info("Processing "+this.cr.length+" events for site app with id "+aa.id),this.cr.forEach((gl=>ca.processEvent==null?void 0:ca.processEvent(gl))),ca.processedBuffer=!0),Object.values(this.apps).every((gl=>gl.processedBuffer||gl.errored))&&((ml=this.gr)==null||ml.call(this))},Sa=!1,hl=ml=>{ca.errored=!ml,ca.loaded=!0,Eo.info("Site app with id "+aa.id+" "+(ml?"loaded":"errored")),Sa&&ua()};try{var{processEvent:pl}=aa.init({posthog:this._instance,callback:ml=>{hl(ml)}});pl&&(ca.processEvent=pl),Sa=!0}catch(ml){Eo.error("Error while initializing PostHog app with config id "+aa.id,ml),hl(!1)}if(Sa&&ca.loaded)try{ua()}catch(ml){Eo.error("Error while processing buffered events PostHog app with config id "+aa.id,ml),ca.errored=!0}}_r(){var aa=this.siteAppLoaders||[];for(var ca of aa)this.apps[ca.id]={id:ca.id,loaded:!1,errored:!1,processedBuffer:!1};for(var ua of aa)this.setupSiteApp(ua)}mr(aa){if(Object.keys(this.apps).length!==0){var ca=this.globalsForEvent(aa);for(var ua of Object.values(this.apps))try{ua.processEvent==null||ua.processEvent(ca)}catch(Sa){Eo.error("Error while processing event "+aa.event+" for site app "+ua.id,Sa)}}}onRemoteConfig(aa){var ca,ua,Sa,hl=this;if((ca=this.siteAppLoaders)!=null&&ca.length)return this.isEnabled?(this._r(),void this._instance.on("eventCaptured",(wc=>this.mr(wc)))):void Eo.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((ua=this.gr)==null||ua.call(this),(Sa=aa.siteApps)!=null&&Sa.length)if(this.isEnabled){var pl=function(wc){var xu;v$7["__$$ph_site_app_"+wc]=hl._instance,(xu=v$7.__PosthogExtensions__)==null||xu.loadSiteApp==null||xu.loadSiteApp(hl._instance,gl,(ff=>{if(ff)return Eo.error("Error while initializing PostHog app with config id "+wc,ff)}))};for(var{id:ml,url:gl}of aa.siteApps)pl(ml)}else Eo.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}}var So=function(la,aa){if(!la)return!1;var ca=la.userAgent;if(ca&&y$a(ca,aa))return!0;try{var ua=la?.userAgentData;if(ua!=null&&ua.brands&&ua.brands.some((Sa=>y$a(Sa?.brand,aa))))return!0}catch{}return!!la.webdriver},ko=(function(la){return la.US="us",la.EU="eu",la.CUSTOM="custom",la})({}),Po="i.posthog.com";class To{constructor(aa){this.yr={},this.instance=aa}get apiHost(){var aa=this.instance.config.api_host.trim().replace(/\/$/,"");return aa==="https://app.posthog.com"?"https://us.i.posthog.com":aa}get flagsApiHost(){var aa=this.instance.config.flags_api_host;return aa?aa.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var aa,ca=(aa=this.instance.config.ui_host)==null?void 0:aa.replace(/\/$/,"");return ca||(ca=this.apiHost.replace("."+Po,".posthog.com")),ca==="https://app.posthog.com"?"https://us.posthog.com":ca}get region(){return this.yr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.yr[this.apiHost]=ko.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.yr[this.apiHost]=ko.EU:this.yr[this.apiHost]=ko.CUSTOM),this.yr[this.apiHost]}endpointFor(aa,ca){if(ca===void 0&&(ca=""),ca&&(ca=ca[0]==="/"?ca:"/"+ca),aa==="ui")return this.uiHost+ca;if(aa==="flags")return this.flagsApiHost+ca;if(this.region===ko.CUSTOM)return this.apiHost+ca;var ua=Po+ca;switch(aa){case"assets":return"https://"+this.region+"-assets."+ua;case"api":return"https://"+this.region+"."+ua}}}var Io={icontains:(la,aa)=>!!t$9&&aa.href.toLowerCase().indexOf(la.toLowerCase())>-1,not_icontains:(la,aa)=>!!t$9&&aa.href.toLowerCase().indexOf(la.toLowerCase())===-1,regex:(la,aa)=>!!t$9&&cn$1(aa.href,la),not_regex:(la,aa)=>!!t$9&&!cn$1(aa.href,la),exact:(la,aa)=>aa.href===la,is_not:(la,aa)=>aa.href!==la};class Co{constructor(aa){var ca=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(ua){ua===void 0&&(ua=!1),ca.getWebExperiments((Sa=>{Co.br("retrieved web experiments from the server"),ca.wr=new Map,Sa.forEach((hl=>{if(hl.feature_flag_key){var pl;ca.wr&&(Co.br("setting flag key ",hl.feature_flag_key," to web experiment ",hl),(pl=ca.wr)==null||pl.set(hl.feature_flag_key,hl));var ml=ca._instance.getFeatureFlag(hl.feature_flag_key);O$5(ml)&&hl.variants[ml]&&ca.Er(hl.name,ml,hl.variants[ml].transforms)}else if(hl.variants)for(var gl in hl.variants){var wc=hl.variants[gl];Co.$r(wc)&&ca.Er(hl.name,gl,wc.transforms)}}))}),ua)},this._instance=aa,this._instance.onFeatureFlags((ua=>{this.onFeatureFlags(ua)}))}onFeatureFlags(aa){if(this._is_bot())Co.br("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(j$a(this.wr))return this.wr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();Co.br("applying feature flags",aa),aa.forEach((ca=>{var ua;if(this.wr&&(ua=this.wr)!=null&&ua.has(ca)){var Sa,hl=this._instance.getFeatureFlag(ca),pl=(Sa=this.wr)==null?void 0:Sa.get(ca);hl&&pl!=null&&pl.variants[hl]&&this.Er(pl.name,hl,pl.variants[hl].transforms)}}))}}previewWebExperiment(){var aa=Co.getWindowLocation();if(aa!=null&&aa.search){var ca=or(aa?.search,"__experiment_id"),ua=or(aa?.search,"__experiment_variant");ca&&ua&&(Co.br("previewing web experiments "+ca+" && "+ua),this.getWebExperiments((Sa=>{this.Sr(parseInt(ca),ua,Sa)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(aa,ca,ua){if(this._instance.config.disable_web_experiments&&!ua)return aa([]);var Sa=this._instance.get_property("$web_experiments");if(Sa&&!ca)return aa(Sa);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:hl=>{if(hl.statusCode!==200||!hl.json)return aa([]);var pl=hl.json.experiments||[];return aa(pl)}})}Sr(aa,ca,ua){var Sa=ua.filter((hl=>hl.id===aa));Sa&&Sa.length>0&&(Co.br("Previewing web experiment ["+Sa[0].name+"] with variant ["+ca+"]"),this.Er(Sa[0].name,ca,Sa[0].variants[ca].transforms))}static $r(aa){return!j$a(aa.conditions)&&Co.kr(aa)&&Co.Pr(aa)}static kr(aa){var ca;if(j$a(aa.conditions)||j$a((ca=aa.conditions)==null?void 0:ca.url))return!0;var ua,Sa,hl,pl=Co.getWindowLocation();return!!pl&&((ua=aa.conditions)==null||!ua.url||Io[(Sa=(hl=aa.conditions)==null?void 0:hl.urlMatchType)!==null&&Sa!==void 0?Sa:"icontains"](aa.conditions.url,pl))}static getWindowLocation(){return t$9?.location}static Pr(aa){var ca;if(j$a(aa.conditions)||j$a((ca=aa.conditions)==null?void 0:ca.utm))return!0;var ua=ls();if(ua.utm_source){var Sa,hl,pl,ml,gl,wc,xu,ff,jf=(Sa=aa.conditions)==null||(Sa=Sa.utm)==null||!Sa.utm_campaign||((hl=aa.conditions)==null||(hl=hl.utm)==null?void 0:hl.utm_campaign)==ua.utm_campaign,Uf=(pl=aa.conditions)==null||(pl=pl.utm)==null||!pl.utm_source||((ml=aa.conditions)==null||(ml=ml.utm)==null?void 0:ml.utm_source)==ua.utm_source,rp=(gl=aa.conditions)==null||(gl=gl.utm)==null||!gl.utm_medium||((wc=aa.conditions)==null||(wc=wc.utm)==null?void 0:wc.utm_medium)==ua.utm_medium,np=(xu=aa.conditions)==null||(xu=xu.utm)==null||!xu.utm_term||((ff=aa.conditions)==null||(ff=ff.utm)==null?void 0:ff.utm_term)==ua.utm_term;return jf&&rp&&np&&Uf}return!1}static br(aa){for(var ca=arguments.length,ua=new Array(ca>1?ca-1:0),Sa=1;Sa<ca;Sa++)ua[Sa-1]=arguments[Sa];Ei.info("[WebExperiments] "+aa,ua)}Er(aa,ca,ua){this._is_bot()?Co.br("Refusing to render web experiment since the viewer is a likely bot"):ca!=="control"?ua.forEach((Sa=>{if(Sa.selector){var hl;Co.br("applying transform of variant "+ca+" for experiment "+aa+" ",Sa);var pl=(hl=document)==null?void 0:hl.querySelectorAll(Sa.selector);pl?.forEach((ml=>{var gl=ml;Sa.html&&(gl.innerHTML=Sa.html),Sa.css&&gl.setAttribute("style",Sa.css)}))}})):Co.br("Control variants leave the page unmodified.")}_is_bot(){return n$9&&this._instance?So(n$9,this._instance.config.custom_blocked_useragents):void 0}}var Ro=$i("[PostHog ExternalIntegrations]"),Fo={intercom:"intercom-integration",crispChat:"crisp-chat-integration"};let Mo$1=class{constructor(aa){this._instance=aa}it(aa,ca){var ua;(ua=v$7.__PosthogExtensions__)==null||ua.loadExternalDependency==null||ua.loadExternalDependency(this._instance,aa,(Sa=>{if(Sa)return Ro.error("failed to load script",Sa);ca()}))}startIfEnabledOrStop(){var aa=this,ca=function(pl){var ml,gl,wc;!Sa||(ml=v$7.__PosthogExtensions__)!=null&&(ml=ml.integrations)!=null&&ml[pl]||aa.it(Fo[pl],(()=>{var xu;(xu=v$7.__PosthogExtensions__)==null||(xu=xu.integrations)==null||(xu=xu[pl])==null||xu.start(aa._instance)})),!Sa&&(gl=v$7.__PosthogExtensions__)!=null&&(gl=gl.integrations)!=null&&gl[pl]&&((wc=v$7.__PosthogExtensions__)==null||(wc=wc.integrations)==null||(wc=wc[pl])==null||wc.stop())};for(var[ua,Sa]of Object.entries((hl=this._instance.config.integrations)!==null&&hl!==void 0?hl:{})){var hl;ca(ua)}}};var Oo="[SessionRecording]",Ao=$i(Oo);class Do{get started(){var aa;return!((aa=this.Tr)==null||!aa.isStarted)}get status(){return this.Tr?this.Tr.status:this.Ir&&!this.Cr?"disabled":"lazy_loading"}constructor(aa){if(this._forceAllowLocalhostNetworkCapture=!1,this.Ir=!1,this.Rr=void 0,this._instance=aa,!this._instance.sessionManager)throw Ao.error("started without valid sessionManager"),new Error(Oo+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(Oo+' cannot be used with cookieless_mode="always"')}get Cr(){var aa,ca=!((aa=this._instance.get_property(Zi))==null||!aa.enabled),ua=!this._instance.config.disable_session_recording,Sa=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return t$9&&ca&&ua&&!Sa}startIfEnabledOrStop(aa){var ca;if(!this.Cr||(ca=this.Tr)==null||!ca.isStarted){var ua=!M$6(Object.assign)&&!M$6(Array.from);this.Cr&&ua?(this.Fr(aa),Ao.info("starting")):this.stopRecording()}}Fr(aa){var ca,ua,Sa;this.Cr&&(v$7!=null&&(ca=v$7.__PosthogExtensions__)!=null&&(ca=ca.rrweb)!=null&&ca.record&&(ua=v$7.__PosthogExtensions__)!=null&&ua.initSessionRecording?this.Mr(aa):(Sa=v$7.__PosthogExtensions__)==null||Sa.loadExternalDependency==null||Sa.loadExternalDependency(this._instance,this.Or,(hl=>{if(hl)return Ao.error("could not load recorder",hl);this.Mr(aa)})))}stopRecording(){var aa,ca;(aa=this.Rr)==null||aa.call(this),this.Rr=void 0,(ca=this.Tr)==null||ca.stop()}Ar(){var aa;(aa=this._instance.persistence)==null||aa.unregister(ie$3)}Dr(aa){if(this._instance.persistence){var ca,ua,Sa=this._instance.persistence,hl=()=>{var pl=aa.sessionRecording===!1?void 0:aa.sessionRecording,ml=pl?.sampleRate,gl=j$a(ml)?null:parseFloat(ml);j$a(gl)&&this.Ar();var wc=pl?.minimumDurationMilliseconds;Sa.register({[Zi]:g$8({enabled:!!pl},pl,{networkPayloadCapture:g$8({capturePerformance:aa.capturePerformance},pl?.networkPayloadCapture),canvasRecording:{enabled:pl?.recordCanvas,fps:pl?.canvasFps,quality:pl?.canvasQuality},sampleRate:gl,minimumDurationMilliseconds:M$6(wc)?null:wc,endpoint:pl?.endpoint,triggerMatchType:pl?.triggerMatchType,masking:pl?.masking,urlTriggers:pl?.urlTriggers})})};hl(),(ca=this.Rr)==null||ca.call(this),this.Rr=(ua=this._instance.sessionManager)==null?void 0:ua.onSessionId(hl)}}onRemoteConfig(aa){"sessionRecording"in aa?aa.sessionRecording!==!1?(this.Dr(aa),this.Ir=!0,this.startIfEnabledOrStop()):this.Ir=!0:Ao.info("skipping remote config with no sessionRecording",aa)}log(aa,ca){var ua;ca===void 0&&(ca="log"),(ua=this.Tr)!=null&&ua.log?this.Tr.log(aa,ca):Ao.warn("log called before recorder was ready")}get Or(){var aa,ca,ua=(aa=this._instance)==null||(aa=aa.persistence)==null?void 0:aa.get_property(Zi);return(ua==null||(ca=ua.scriptConfig)==null?void 0:ca.script)||"lazy-recorder"}Mr(aa){var ca,ua;if((ca=v$7.__PosthogExtensions__)==null||!ca.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Tr||(this.Tr=(ua=v$7.__PosthogExtensions__)==null?void 0:ua.initSessionRecording(this._instance),this.Tr._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Tr.start(aa)}onRRwebEmit(aa){var ca;(ca=this.Tr)==null||ca.onRRwebEmit==null||ca.onRRwebEmit(aa)}overrideLinkedFlag(){var aa,ca;this.Tr||(ca=this._instance.persistence)==null||ca.register({$replay_override_linked_flag:!0}),(aa=this.Tr)==null||aa.overrideLinkedFlag()}overrideSampling(){var aa,ca;this.Tr||(ca=this._instance.persistence)==null||ca.register({$replay_override_sampling:!0}),(aa=this.Tr)==null||aa.overrideSampling()}overrideTrigger(aa){var ca,ua;this.Tr||(ua=this._instance.persistence)==null||ua.register({[aa==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(ca=this.Tr)==null||ca.overrideTrigger(aa)}get sdkDebugProperties(){var aa;return((aa=this.Tr)==null?void 0:aa.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(aa,ca){var ua;return!((ua=this.Tr)==null||!ua.tryAddCustomEvent(aa,ca))}}var jo={},Lo=()=>{},No="posthog",Uo=!an$1&&d$6?.indexOf("MSIE")===-1&&d$6?.indexOf("Mozilla")===-1,zo=la=>{var aa;return g$8({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:Li(o$d?.location),persistence:"localStorage+cookie",persistence_name:"",loaded:Lo,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:la??"unset",__preview_deferred_init_extensions:!1,debug:a$i&&O$5(a$i?.search)&&a$i.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(t$9==null||(aa=t$9.location)==null?void 0:aa.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:ca=>{var ua="Bad HTTP status: "+ca.statusCode+" "+ca.text;Ei.error(ua)},get_device_id:ca=>ca,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:co},error_tracking:{},_onCapture:Lo,__preview_eager_load_replay:!1},(ca=>({rageclick:!(ca&&ca>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(ca&&ca>="2025-05-24")||"history_change",session_recording:ca&&ca>="2025-11-30"?{strictMinimumDuration:!0}:{}}))(la))},Ho=la=>{var aa={};M$6(la.process_person)||(aa.person_profiles=la.process_person),M$6(la.xhr_headers)||(aa.request_headers=la.xhr_headers),M$6(la.cookie_name)||(aa.persistence_name=la.cookie_name),M$6(la.disable_cookie)||(aa.disable_persistence=la.disable_cookie),M$6(la.store_google)||(aa.save_campaign_params=la.store_google),M$6(la.verbose)||(aa.debug=la.verbose);var ca=Ci({},aa,la);return I$8(la.property_blacklist)&&(M$6(la.property_denylist)?ca.property_denylist=la.property_blacklist:I$8(la.property_denylist)?ca.property_denylist=[...la.property_blacklist,...la.property_denylist]:Ei.error("Invalid value for property_denylist config: "+la.property_denylist)),ca};class Bo{constructor(){this.__forceAllowLocalhost=!1}get jr(){return this.__forceAllowLocalhost}set jr(aa){Ei.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=aa}}class qo{get decideEndpointWasHit(){var aa,ca;return(aa=(ca=this.featureFlags)==null?void 0:ca.hasLoadedFlags)!==null&&aa!==void 0&&aa}get flagsEndpointWasHit(){var aa,ca;return(aa=(ca=this.featureFlags)==null?void 0:ca.hasLoadedFlags)!==null&&aa!==void 0&&aa}constructor(){this.webPerformance=new Bo,this.Lr=!1,this.version=c$e.LIB_VERSION,this.Nr=new to,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=zo(),this.SentryIntegration=Kr,this.sentryIntegration=aa=>(function(ca,ua){var Sa=Jr(ca,ua);return{name:Vr,processEvent:hl=>Sa(hl)}})(this,aa),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Ur=!1,this.zr=null,this.Hr=null,this.Br=null,this.featureFlags=new Rn(this),this.toolbar=new ts(this),this.scrollManager=new _o(this),this.pageViewManager=new $s(this),this.surveys=new no(this),this.conversations=new ao(this),this.experiments=new Co(this),this.exceptions=new yn(this),this.rateLimiter=new uo(this),this.requestRouter=new To(this),this.consent=new Dr(this),this.externalIntegrations=new Mo$1(this),this.people={set:(aa,ca,ua)=>{var Sa=O$5(aa)?{[aa]:ca}:aa;this.setPersonProperties(Sa),ua?.({})},set_once:(aa,ca,ua)=>{var Sa=O$5(aa)?{[aa]:ca}:aa;this.setPersonProperties(void 0,Sa),ua?.({})}},this.on("eventCaptured",(aa=>Ei.info('send "'+aa?.event+'"',aa)))}init(aa,ca,ua){if(ua&&ua!==No){var Sa,hl=(Sa=jo[ua])!==null&&Sa!==void 0?Sa:new qo;return hl._init(aa,ca,ua),jo[ua]=hl,jo[No][ua]=hl,hl}return this._init(aa,ca,ua)}_init(aa,ca,ua){var Sa;if(ca===void 0&&(ca={}),M$6(aa)||A$7(aa))return Ei.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},ca.debug=this.qr(ca.debug),this.Wr=ca,this.Gr=[],ca.person_profiles&&(this.Hr=ca.person_profiles),this.set_config(Ci({},zo(ca.defaults),Ho(ca),{name:ua,token:aa})),this.config.on_xhr_error&&Ei.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=ca.disable_compression?void 0:er.GZipJS;var hl=this.Vr();this.persistence=new Mn(this.config,hl),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new Mn(g$8({},this.config,{persistence:"sessionStorage"}),hl);var pl=g$8({},this.persistence.props),ml=g$8({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Jr=new fo((eg=>this.Kr(eg)),this.config.request_queue_config),this.Yr=new go(this),this.__request_queue=[];var gl=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(gl||(this.sessionManager=new wo(this),this.sessionPropsManager=new yo(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(Ei.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.Xr(gl)}),0)):(Ei.info("Initializing extensions synchronously"),this.Xr(gl)),c$e.DEBUG=c$e.DEBUG||this.config.debug,c$e.DEBUG&&Ei.info("Starting in debug mode",{this:this,config:ca,thisC:g$8({},this.config),p:pl,s:ml}),((Sa=ca.bootstrap)==null?void 0:Sa.distinctID)!==void 0){var wc,xu,ff=this.config.get_device_id(wr()),jf=(wc=ca.bootstrap)!=null&&wc.isIdentifiedID?ff:ca.bootstrap.distinctID;this.persistence.set_property(ue$1,(xu=ca.bootstrap)!=null&&xu.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:ca.bootstrap.distinctID,$device_id:jf})}if(this.Qr()){var Uf,rp,np=Object.keys(((Uf=ca.bootstrap)==null?void 0:Uf.featureFlags)||{}).filter((eg=>{var tg;return!((tg=ca.bootstrap)==null||(tg=tg.featureFlags)==null||!tg[eg])})).reduce(((eg,tg)=>{var rg;return eg[tg]=((rg=ca.bootstrap)==null||(rg=rg.featureFlags)==null?void 0:rg[tg])||!1,eg}),{}),qm=Object.keys(((rp=ca.bootstrap)==null?void 0:rp.featureFlagPayloads)||{}).filter((eg=>np[eg])).reduce(((eg,tg)=>{var rg,ig;return(rg=ca.bootstrap)!=null&&(rg=rg.featureFlagPayloads)!=null&&rg[tg]&&(eg[tg]=(ig=ca.bootstrap)==null||(ig=ig.featureFlagPayloads)==null?void 0:ig[tg]),eg}),{});this.featureFlags.receivedFeatureFlags({featureFlags:np,featureFlagPayloads:qm})}if(gl)this.register_once({distinct_id:_e$1,$device_id:null},"");else if(!this.get_distinct_id()){var Vm=this.config.get_device_id(wr());this.register_once({distinct_id:Vm,$device_id:Vm},""),this.persistence.set_property(ue$1,"anonymous")}return Ui(t$9,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),ca.segment?Gr(this,(()=>this.Zr())):this.Zr(),C$c(this.config._onCapture)&&this.config._onCapture!==Lo&&(Ei.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(eg=>this.config._onCapture(eg.event,eg)))),this.config.ip&&Ei.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}Xr(aa){var ca=performance.now();this.historyAutocapture=new qr(this),this.historyAutocapture.startIfEnabled();var ua=[];ua.push((()=>{new es(this).startIfEnabledOrStop()})),ua.push((()=>{var Sa;this.siteApps=new $o(this),(Sa=this.siteApps)==null||Sa.init()})),aa||ua.push((()=>{this.sessionRecording=new Do(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||ua.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),ua.push((()=>{this.autocapture=new fr(this),this.autocapture.startIfEnabled()})),ua.push((()=>{this.surveys.loadIfEnabled()})),ua.push((()=>{this.conversations.loadIfEnabled()})),ua.push((()=>{this.productTours=new Dn(this),this.productTours.loadIfEnabled()})),ua.push((()=>{this.heatmaps=new Es(this),this.heatmaps.startIfEnabled()})),ua.push((()=>{this.webVitalsAutocapture=new bs(this)})),ua.push((()=>{this.exceptionObserver=new Hr(this),this.exceptionObserver.startIfEnabledOrStop()})),ua.push((()=>{this.deadClicksAutocapture=new Ur(this,Nr),this.deadClicksAutocapture.startIfEnabled()})),ua.push((()=>{if(this.ts){var Sa=this.ts;this.ts=void 0,this.pi(Sa)}})),this.es(ua,ca)}es(aa,ca){for(;aa.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-ca>=30&&aa.length>0)return void setTimeout((()=>{this.es(aa,ca)}),0);var ua=aa.shift();if(ua)try{ua()}catch(hl){Ei.error("Error initializing extension:",hl)}}var Sa=Math.round(performance.now()-ca);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:Sa}),this.config.__preview_deferred_init_extensions&&Ei.info("PostHog extensions initialized ("+Sa+"ms)")}pi(aa){var ca,ua,Sa,hl,pl,ml,gl,wc,xu;if(!o$d||!o$d.body)return Ei.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.pi(aa)}),500);this.config.__preview_deferred_init_extensions&&(this.ts=aa),this.compression=void 0,aa.supportedCompression&&!this.config.disable_compression&&(this.compression=w$9(aa.supportedCompression,er.GZipJS)?er.GZipJS:w$9(aa.supportedCompression,er.Base64)?er.Base64:void 0),(ca=aa.analytics)!=null&&ca.endpoint&&(this.analyticsDefaultEndpoint=aa.analytics.endpoint),this.set_config({person_profiles:this.Hr?this.Hr:"identified_only"}),(ua=this.siteApps)==null||ua.onRemoteConfig(aa),(Sa=this.sessionRecording)==null||Sa.onRemoteConfig(aa),(hl=this.autocapture)==null||hl.onRemoteConfig(aa),(pl=this.heatmaps)==null||pl.onRemoteConfig(aa),this.surveys.onRemoteConfig(aa),this.conversations.onRemoteConfig(aa),(ml=this.productTours)==null||ml.onRemoteConfig(aa),(gl=this.webVitalsAutocapture)==null||gl.onRemoteConfig(aa),(wc=this.exceptionObserver)==null||wc.onRemoteConfig(aa),this.exceptions.onRemoteConfig(aa),(xu=this.deadClicksAutocapture)==null||xu.onRemoteConfig(aa)}Zr(){try{this.config.loaded(this)}catch(aa){Ei.critical("`loaded` function failed",aa)}this.rs(),this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.ss()}),1),new vo(this).load(),this.featureFlags.flags()}rs(){var aa;this.is_capturing()&&this.config.request_batching&&((aa=this.Jr)==null||aa.enable())}_dom_loaded(){this.is_capturing()&&Ti(this.__request_queue,(aa=>this.Kr(aa))),this.__request_queue=[],this.rs()}_handle_unload(){var aa,ca;this.surveys.handlePageUnload(),this.config.request_batching?(this.ns()&&this.capture("$pageleave"),(aa=this.Jr)==null||aa.unload(),(ca=this.Yr)==null||ca.unload()):this.ns()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(aa){this.__loaded&&(Uo?this.__request_queue.push(aa):this.rateLimiter.isServerRateLimited(aa.batchKey)||(aa.transport=aa.transport||this.config.api_transport,aa.url=un$1(aa.url,{ip:this.config.ip?1:0}),aa.headers=g$8({},this.config.request_headers,aa.headers),aa.compression=aa.compression==="best-available"?this.compression:aa.compression,aa.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(aa.disableTransport=["sendBeacon"]),aa.fetchOptions=aa.fetchOptions||this.config.fetch_options,(ca=>{var ua,Sa,hl,pl=g$8({},ca);pl.timeout=pl.timeout||6e4,pl.url=un$1(pl.url,{_:new Date().getTime().toString(),ver:c$e.LIB_VERSION,compression:pl.compression});var ml=(ua=pl.transport)!==null&&ua!==void 0?ua:"fetch",gl=vn.filter((xu=>!pl.disableTransport||!xu.transport||!pl.disableTransport.includes(xu.transport))),wc=(Sa=(hl=Ni(gl,(xu=>xu.transport===ml)))==null?void 0:hl.method)!==null&&Sa!==void 0?Sa:gl[0].method;if(!wc)throw new Error("No available transport method");wc(pl)})(g$8({},aa,{callback:ca=>{var ua,Sa;this.rateLimiter.checkForLimiting(ca),ca.statusCode>=400&&((ua=(Sa=this.config).on_request_error)==null||ua.call(Sa,ca)),aa.callback==null||aa.callback(ca)}}))))}Kr(aa){this.Yr?this.Yr.retriableRequest(aa):this._send_request(aa)}_execute_array(aa){var ca,ua=[],Sa=[],hl=[];Ti(aa,(ml=>{ml&&(ca=ml[0],I$8(ca)?hl.push(ml):C$c(ml)?ml.call(this):I$8(ml)&&ca==="alias"?ua.push(ml):I$8(ml)&&ca.indexOf("capture")!==-1&&C$c(this[ca])?hl.push(ml):Sa.push(ml))}));var pl=function(ml,gl){Ti(ml,(function(wc){if(I$8(wc[0])){var xu=gl;Ii(wc,(function(ff){xu=xu[ff[0]].apply(xu,ff.slice(1))}))}else this[wc[0]].apply(this,wc.slice(1))}),gl)};pl(ua,this),pl(Sa,this),pl(hl,this)}Qr(){var aa,ca;return((aa=this.config.bootstrap)==null?void 0:aa.featureFlags)&&Object.keys((ca=this.config.bootstrap)==null?void 0:ca.featureFlags).length>0||!1}push(aa){this._execute_array([aa])}capture(aa,ca,ua){var Sa;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Jr){if(this.is_capturing())if(!M$6(aa)&&O$5(aa)){var hl=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(hl&&!this.config.__preview_capture_bot_pageviews)){var pl=ua!=null&&ua.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(pl==null||!pl.isRateLimited){ca!=null&&ca.$current_url&&!O$5(ca?.$current_url)&&(Ei.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),ca==null||delete ca.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var ml=new Date,gl=ua?.timestamp||ml,wc=wr(),xu={uuid:wc,event:aa,properties:this.calculateEventProperties(aa,ca||{},gl,wc)};aa==="$pageview"&&this.config.__preview_capture_bot_pageviews&&hl&&(xu.event="$bot_pageview",xu.properties.$browser_type="bot"),pl&&(xu.properties.$lib_rate_limit_remaining_tokens=pl.remainingTokens),ua?.$set&&(xu.$set=ua?.$set);var ff,jf=aa!=="$groupidentify",Uf=this.os(ua?.$set_once,jf);if(Uf&&(xu.$set_once=Uf),(xu=Di(xu,ua!=null&&ua._noTruncate?null:this.config.properties_string_max_length)).timestamp=gl,M$6(ua?.timestamp)||(xu.properties.$event_time_override_provided=!0,xu.properties.$event_time_override_system_time=ml),aa===Wn.DISMISSED||aa===Wn.SENT){var rp=ca?.[Gn.SURVEY_ID],np=ca?.[Gn.SURVEY_ITERATION];ff={id:rp,current_iteration:np},localStorage.getItem(Xn(ff))||localStorage.setItem(Xn(ff),"true"),xu.$set=g$8({},xu.$set,{[Yn({id:rp,current_iteration:np},aa===Wn.SENT?"responded":"dismissed")]:!0})}var qm=g$8({},xu.properties.$set,xu.$set);if(F$8(qm)||this.setPersonPropertiesForFlags(qm),!j$a(this.config.before_send)){var Vm=this.ls(xu);if(!Vm)return;xu=Vm}this.Nr.emit("eventCaptured",xu);var eg={method:"POST",url:(Sa=ua?._url)!==null&&Sa!==void 0?Sa:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:xu,compression:"best-available",batchKey:ua?._batchKey};return!this.config.request_batching||ua&&(ua==null||!ua._batchKey)||ua!=null&&ua.send_instantly?this.Kr(eg):this.Jr.enqueue(eg),xu}Ei.critical("This capture call is ignored due to client rate limiting.")}}else Ei.error("No event name provided to posthog.capture")}else Ei.uninitializedWarning("posthog.capture")}Ni(aa){return this.on("eventCaptured",(ca=>aa(ca.event,ca)))}calculateEventProperties(aa,ca,ua,Sa,hl){if(ua=ua||new Date,!this.persistence||!this.sessionPersistence)return ca;var pl=hl?void 0:this.persistence.remove_event_timer(aa),ml=g$8({},ca);if(ml.token=this.config.token,ml.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(ml.$cookieless_mode=!0),aa==="$snapshot"){var gl=g$8({},this.persistence.properties(),this.sessionPersistence.properties());return ml.distinct_id=gl.distinct_id,(!O$5(ml.distinct_id)&&!L$6(ml.distinct_id)||A$7(ml.distinct_id))&&Ei.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),ml}var wc,xu=_s(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:ff,windowId:jf}=this.sessionManager.checkAndGetSessionAndWindowId(hl,ua.getTime());ml.$session_id=ff,ml.$window_id=jf}this.sessionPropsManager&&Ci(ml,this.sessionPropsManager.getSessionProps());try{var Uf;this.sessionRecording&&Ci(ml,this.sessionRecording.sdkDebugProperties),ml.$sdk_debug_retry_queue_size=(Uf=this.Yr)==null?void 0:Uf.length}catch(Vm){ml.$sdk_debug_error_capturing_properties=String(Vm)}if(this.requestRouter.region===ko.CUSTOM&&(ml.$lib_custom_api_host=this.config.api_host),wc=aa!=="$pageview"||hl?aa!=="$pageleave"||hl?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(ua):this.pageViewManager.doPageView(ua,Sa),ml=Ci(ml,wc),aa==="$pageview"&&o$d&&(ml.title=o$d.title),!M$6(pl)){var rp=ua.getTime()-pl;ml.$duration=parseFloat((rp/1e3).toFixed(3))}d$6&&this.config.opt_out_useragent_filter&&(ml.$browser_type=this._is_bot()?"bot":"browser"),(ml=Ci({},xu,this.persistence.properties(),this.sessionPersistence.properties(),ml)).$is_identified=this._isIdentified(),I$8(this.config.property_denylist)?Ii(this.config.property_denylist,(function(Vm){delete ml[Vm]})):Ei.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var np=this.config.sanitize_properties;np&&(Ei.error("sanitize_properties is deprecated. Use before_send instead"),ml=np(ml,aa));var qm=this.us();return ml.$process_person_profile=qm,qm&&!hl&&this.hs("_calculate_event_properties"),ml}os(aa,ca){var ua;if(ca===void 0&&(ca=!0),!this.persistence||!this.us()||this.Lr)return aa;var Sa=this.persistence.get_initial_props(),hl=(ua=this.sessionPropsManager)==null?void 0:ua.getSetOnceProps(),pl=Ci({},Sa,hl||{},aa||{}),ml=this.config.sanitize_properties;return ml&&(Ei.error("sanitize_properties is deprecated. Use before_send instead"),pl=ml(pl,"$set_once")),ca&&(this.Lr=!0),F$8(pl)?void 0:pl}register(aa,ca){var ua;(ua=this.persistence)==null||ua.register(aa,ca)}register_once(aa,ca,ua){var Sa;(Sa=this.persistence)==null||Sa.register_once(aa,ca,ua)}register_for_session(aa){var ca;(ca=this.sessionPersistence)==null||ca.register(aa)}unregister(aa){var ca;(ca=this.persistence)==null||ca.unregister(aa)}unregister_for_session(aa){var ca;(ca=this.sessionPersistence)==null||ca.unregister(aa)}ds(aa,ca){this.register({[aa]:ca})}getFeatureFlag(aa,ca){return this.featureFlags.getFeatureFlag(aa,ca)}getFeatureFlagPayload(aa){var ca=this.featureFlags.getFeatureFlagPayload(aa);try{return JSON.parse(ca)}catch{return ca}}isFeatureEnabled(aa,ca){return this.featureFlags.isFeatureEnabled(aa,ca)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(aa,ca,ua){var Sa=ua!=null&&ua.merge?this.featureFlags.getFlagVariants():{},hl=ua!=null&&ua.merge?this.featureFlags.getFlagPayloads():{},pl=g$8({},Sa,aa),ml=g$8({},hl,ca),gl={};for(var[wc,xu]of Object.entries(pl)){var ff=typeof xu=="string";gl[wc]={key:wc,enabled:!!ff||!!xu,variant:ff?xu:void 0,reason:void 0,metadata:M$6(ml?.[wc])?void 0:{id:0,version:void 0,description:void 0,payload:ml[wc]}}}this.featureFlags.receivedFeatureFlags({flags:gl})}updateEarlyAccessFeatureEnrollment(aa,ca,ua){this.featureFlags.updateEarlyAccessFeatureEnrollment(aa,ca,ua)}getEarlyAccessFeatures(aa,ca,ua){return ca===void 0&&(ca=!1),this.featureFlags.getEarlyAccessFeatures(aa,ca,ua)}on(aa,ca){return this.Nr.on(aa,ca)}onFeatureFlags(aa){return this.featureFlags.onFeatureFlags(aa)}onSurveysLoaded(aa){return this.surveys.onSurveysLoaded(aa)}onSessionId(aa){var ca,ua;return(ca=(ua=this.sessionManager)==null?void 0:ua.onSessionId(aa))!==null&&ca!==void 0?ca:()=>{}}getSurveys(aa,ca){ca===void 0&&(ca=!1),this.surveys.getSurveys(aa,ca)}getActiveMatchingSurveys(aa,ca){ca===void 0&&(ca=!1),this.surveys.getActiveMatchingSurveys(aa,ca)}renderSurvey(aa,ca){this.surveys.renderSurvey(aa,ca)}displaySurvey(aa,ca){ca===void 0&&(ca=Zn),this.surveys.displaySurvey(aa,ca)}cancelPendingSurvey(aa){this.surveys.cancelPendingSurvey(aa)}canRenderSurvey(aa){return this.surveys.canRenderSurvey(aa)}canRenderSurveyAsync(aa,ca){return ca===void 0&&(ca=!1),this.surveys.canRenderSurveyAsync(aa,ca)}identify(aa,ca,ua){if(!this.__loaded||!this.persistence)return Ei.uninitializedWarning("posthog.identify");if(L$6(aa)&&(aa=aa.toString(),Ei.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),aa)if(["distinct_id","distinctid"].includes(aa.toLowerCase()))Ei.critical('The string "'+aa+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(aa!==_e$1){if(this.hs("posthog.identify")){var Sa=this.get_distinct_id();if(this.register({$user_id:aa}),!this.get_property("$device_id")){var hl=Sa;this.register_once({$had_persisted_distinct_id:!0,$device_id:hl},"")}aa!==Sa&&aa!==this.get_property(Hi)&&(this.unregister(Hi),this.register({distinct_id:aa}));var pl=(this.persistence.get_property(ue$1)||"anonymous")==="anonymous";aa!==Sa&&pl?(this.persistence.set_property(ue$1,"identified"),this.setPersonPropertiesForFlags(g$8({},ua||{},ca||{}),!1),this.capture("$identify",{distinct_id:aa,$anon_distinct_id:Sa},{$set:ca||{},$set_once:ua||{}}),this.Br=fn$1(aa,ca,ua),this.featureFlags.setAnonymousDistinctId(Sa)):(ca||ua)&&this.setPersonProperties(ca,ua),aa!==Sa&&(this.reloadFeatureFlags(),this.unregister(le$2))}}else Ei.critical('The string "'+_e$1+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else Ei.error("Unique user id has not been set in posthog.identify")}setPersonProperties(aa,ca){if((aa||ca)&&this.hs("posthog.setPersonProperties")){var ua=fn$1(this.get_distinct_id(),aa,ca);this.Br!==ua?(this.setPersonPropertiesForFlags(g$8({},ca||{},aa||{})),this.capture("$set",{$set:aa||{},$set_once:ca||{}}),this.Br=ua):Ei.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(aa,ca,ua){if(aa&&ca){var Sa=this.getGroups();Sa[aa]!==ca&&this.resetGroupPropertiesForFlags(aa),this.register({$groups:g$8({},Sa,{[aa]:ca})}),ua&&(this.capture("$groupidentify",{$group_type:aa,$group_key:ca,$group_set:ua}),this.setGroupPropertiesForFlags({[aa]:ua})),Sa[aa]===ca||ua||this.reloadFeatureFlags()}else Ei.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(aa,ca){ca===void 0&&(ca=!0),this.featureFlags.setPersonPropertiesForFlags(aa,ca)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(aa,ca){ca===void 0&&(ca=!0),this.hs("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(aa,ca)}resetGroupPropertiesForFlags(aa){this.featureFlags.resetGroupPropertiesForFlags(aa)}reset(aa){var ca,ua,Sa,hl;if(Ei.info("reset"),!this.__loaded)return Ei.uninitializedWarning("posthog.reset");var pl=this.get_property("$device_id");if(this.consent.reset(),(ca=this.persistence)==null||ca.clear(),(ua=this.sessionPersistence)==null||ua.clear(),this.surveys.reset(),this.featureFlags.reset(),(Sa=this.persistence)==null||Sa.set_property(ue$1,"anonymous"),(hl=this.sessionManager)==null||hl.resetSessionId(),this.Br=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:_e$1,$device_id:null},"");else{var ml=this.config.get_device_id(wr());this.register_once({distinct_id:ml,$device_id:aa?ml:pl},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var aa,ca;return(aa=(ca=this.sessionManager)==null?void 0:ca.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&aa!==void 0?aa:""}get_session_replay_url(aa){if(!this.sessionManager)return"";var{sessionId:ca,sessionStartTimestamp:ua}=this.sessionManager.checkAndGetSessionAndWindowId(!0),Sa=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+ca);if(aa!=null&&aa.withTimestamp&&ua){var hl,pl=(hl=aa.timestampLookBack)!==null&&hl!==void 0?hl:10;if(!ua)return Sa;Sa+="?t="+Math.max(Math.floor((new Date().getTime()-ua)/1e3)-pl,0)}return Sa}alias(aa,ca){return aa===this.get_property(zi)?(Ei.critical("Attempting to create alias for existing People user - aborting."),-2):this.hs("posthog.alias")?(M$6(ca)&&(ca=this.get_distinct_id()),aa!==ca?(this.ds(Hi,aa),this.capture("$create_alias",{alias:aa,distinct_id:ca})):(Ei.warn("alias matches current distinct_id - skipping api call."),this.identify(aa),-1)):void 0}set_config(aa){var ca=g$8({},this.config);if(R$3(aa)){var ua,Sa,hl,pl,ml,gl,wc;Ci(this.config,Ho(aa));var xu=this.Vr();(ua=this.persistence)==null||ua.update_config(this.config,ca,xu),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new Mn(g$8({},this.config,{persistence:"sessionStorage"}),xu);var ff=this.qr(this.config.debug);N$6(ff)&&(this.config.debug=ff),N$6(this.config.debug)&&(this.config.debug?(c$e.DEBUG=!0,Tr.H()&&Tr.G("ph_debug","true"),Ei.info("set_config",{config:aa,oldConfig:ca,newConfig:g$8({},this.config)})):(c$e.DEBUG=!1,Tr.H()&&Tr.V("ph_debug"))),(Sa=this.exceptionObserver)==null||Sa.onConfigChange(),(hl=this.sessionRecording)==null||hl.startIfEnabledOrStop(),(pl=this.autocapture)==null||pl.startIfEnabled(),(ml=this.heatmaps)==null||ml.startIfEnabled(),(gl=this.exceptionObserver)==null||gl.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this.vs(),(wc=this.externalIntegrations)==null||wc.startIfEnabledOrStop()}}startSessionRecording(aa){var ca=aa===!0,ua={sampling:ca||!(aa==null||!aa.sampling),linked_flag:ca||!(aa==null||!aa.linked_flag),url_trigger:ca||!(aa==null||!aa.url_trigger),event_trigger:ca||!(aa==null||!aa.event_trigger)};if(Object.values(ua).some(Boolean)){var Sa,hl,pl,ml,gl;(Sa=this.sessionManager)==null||Sa.checkAndGetSessionAndWindowId(),ua.sampling&&((hl=this.sessionRecording)==null||hl.overrideSampling()),ua.linked_flag&&((pl=this.sessionRecording)==null||pl.overrideLinkedFlag()),ua.url_trigger&&((ml=this.sessionRecording)==null||ml.overrideTrigger("url")),ua.event_trigger&&((gl=this.sessionRecording)==null||gl.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var aa;return!((aa=this.sessionRecording)==null||!aa.started)}captureException(aa,ca){var ua=new Error("PostHog syntheticException"),Sa=this.exceptions.buildProperties(aa,{handled:!0,syntheticException:ua});return this.exceptions.sendExceptionEvent(g$8({},Sa,ca))}startExceptionAutocapture(aa){this.set_config({capture_exceptions:aa==null||aa})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(aa){return this.toolbar.loadToolbar(aa)}get_property(aa){var ca;return(ca=this.persistence)==null?void 0:ca.props[aa]}getSessionProperty(aa){var ca;return(ca=this.sessionPersistence)==null?void 0:ca.props[aa]}toString(){var aa,ca=(aa=this.config.name)!==null&&aa!==void 0?aa:No;return ca!==No&&(ca=No+"."+ca),ca}_isIdentified(){var aa,ca;return((aa=this.persistence)==null?void 0:aa.get_property(ue$1))==="identified"||((ca=this.sessionPersistence)==null?void 0:ca.get_property(ue$1))==="identified"}us(){var aa,ca;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&F$8(this.getGroups())&&((aa=this.persistence)==null||(aa=aa.props)==null||!aa[Hi])&&((ca=this.persistence)==null||(ca=ca.props)==null||!ca[pe$2]))}ns(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.us()||this.hs("posthog.createPersonProfile")&&this.setPersonProperties({},{})}hs(aa){return this.config.person_profiles==="never"?(Ei.error(aa+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.ds(pe$2,!0),!0)}Vr(){if(this.config.cookieless_mode==="always")return!0;var aa=this.consent.isOptedOut(),ca=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||aa&&!!ca}vs(){var aa,ca,ua,Sa,hl=this.Vr();return((aa=this.persistence)==null?void 0:aa.xi)!==hl&&((ua=this.persistence)==null||ua.set_disabled(hl)),((ca=this.sessionPersistence)==null?void 0:ca.xi)!==hl&&((Sa=this.sessionPersistence)==null||Sa.set_disabled(hl)),hl}opt_in_capturing(aa){var ca;if(this.config.cookieless_mode!=="always"){var ua,Sa;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(ua=this.sessionManager)==null||ua.destroy(),this.sessionManager=new wo(this),this.persistence&&(this.sessionPropsManager=new yo(this,this.sessionManager,this.persistence)),this.sessionRecording=new Do(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this.vs(),this.rs(),(ca=this.sessionRecording)==null||ca.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(M$6(aa?.captureEventName)||aa!=null&&aa.captureEventName)&&this.capture((Sa=aa?.captureEventName)!==null&&Sa!==void 0?Sa:"$opt_in",aa?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.ss()}else Ei.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var aa,ca;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this.vs(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:_e$1,$device_id:null}),(aa=this.sessionManager)==null||aa.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(ca=this.sessionRecording)==null||ca.stopRecording(),this.sessionRecording=void 0,this.ss())):Ei.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var aa=this.consent.consent;return aa===Ar.GRANTED?"granted":aa===Ar.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this.vs()}_is_bot(){return n$9?So(n$9,this.config.custom_blocked_useragents):void 0}ss(){o$d&&(o$d.visibilityState==="visible"?this.Ur||(this.Ur=!0,this.capture("$pageview",{title:o$d.title},{send_instantly:!0}),this.zr&&(o$d.removeEventListener("visibilitychange",this.zr),this.zr=null)):this.zr||(this.zr=this.ss.bind(this),Ui(o$d,"visibilitychange",this.zr)))}debug(aa){aa===!1?(t$9?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(t$9?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}O(){var aa,ca,ua,Sa,hl,pl,ml,gl=this.Wr||{};return"advanced_disable_flags"in gl?!!gl.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(Ei.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(ua="advanced_disable_decide",Sa=!1,hl=Ei,pl=(ca="advanced_disable_flags")in(aa=gl)&&!M$6(aa[ca]),ml=ua in aa&&!M$6(aa[ua]),pl?aa[ca]:ml?(hl&&hl.warn("Config field '"+ua+"' is deprecated. Please use '"+ca+"' instead. The old field will be removed in a future major version."),aa[ua]):Sa)}ls(aa){if(j$a(this.config.before_send))return aa;var ca=I$8(this.config.before_send)?this.config.before_send:[this.config.before_send],ua=aa;for(var Sa of ca){if(ua=Sa(ua),j$a(ua)){var hl="Event '"+aa.event+"' was rejected in beforeSend function";return z$5(aa.event)?Ei.warn(hl+". This can cause unexpected behavior."):Ei.info(hl),null}ua.properties&&!F$8(ua.properties)||Ei.warn("Event '"+aa.event+"' has no properties after beforeSend function, this is likely an error.")}return ua}getPageViewId(){var aa;return(aa=this.pageViewManager.Kt)==null?void 0:aa.pageViewId}captureTraceFeedback(aa,ca){this.capture("$ai_feedback",{$ai_trace_id:String(aa),$ai_feedback_text:ca})}captureTraceMetric(aa,ca,ua){this.capture("$ai_metric",{$ai_trace_id:String(aa),$ai_metric_name:ca,$ai_metric_value:String(ua)})}qr(aa){var ca=N$6(aa)&&!aa,ua=Tr.H()&&Tr.q("ph_debug")==="true";return!ca&&(!!ua||aa)}}(function(la,aa){for(var ca=0;ca<aa.length;ca++)la.prototype[aa[ca]]=Oi(la.prototype[aa[ca]])})(qo,["identify"]);var Wo,Vo=(Wo=jo[No]=new qo,(function(){function la(){la.done||(la.done=!0,Uo=!1,Ii(jo,(function(aa){aa._dom_loaded()})))}o$d!=null&&o$d.addEventListener?o$d.readyState==="complete"?la():Ui(o$d,"DOMContentLoaded",la,{capture:!1}):t$9&&Ei.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),Wo);const IS_PLAYGROUND$5=!1,metaAxiosInstance$1=axiosInstance("meta"),useAuth=()=>{const la=useNavigate(),aa=useAppStore(k1=>k1.resetStore),ca=useAppStore(k1=>k1.user),ua=useAppStore(k1=>k1.setUser),{initializeApp:Sa,resetInitialization:hl}=useAppInitialization(),[pl,ml]=reactExports.useState(!1),[gl,wc]=reactExports.useState(!1),[xu,ff]=reactExports.useState(null),jf=useAppStore(k1=>k1.clearAuth),Uf=useAppStore(k1=>k1.setAuthState),rp=useAppStore(k1=>k1.setAuthError),np=useAppStore(k1=>k1.setAuthData),qm=k1=>{try{const qw=k1.split(".")[1];return JSON.parse(atob(qw)).email||null}catch(qw){console.warn(`Failed to decode JWT token: ${qw}`)}},Vm=async(k1,qw)=>{try{Uf("loading"),rp(null);const K0=localStorage.getItem("username");if(K0&&K0!==k1){console.log("Switching accounts - clearing previous user data"),localStorage.removeItem("id_token"),localStorage.removeItem("access_token"),localStorage.removeItem("refresh_token"),localStorage.removeItem("user_id"),localStorage.removeItem("session_id"),localStorage.removeItem("username"),localStorage.removeItem("user_profile_id"),localStorage.removeItem("workspace_id"),localStorage.removeItem("agentlang-studio-store"),aa(),jf();const{setLastDataFetch:Y0}=useAppStore.getState();Y0(0)}const{data:J0}=await metaAxiosInstance$1.post("/agentlang_auth/login",{email:k1,password:qw}),Hw=J0;if(Hw&&typeof Hw=="object"&&Hw.id_token){const G0=qm(Hw.id_token)||k1;np({token:Hw.id_token,accessToken:Hw.access_token,refreshToken:Hw.refresh_token,userId:Hw.userId,sessionId:Hw.sessionId,username:G0});const{setLastDataFetch:X0}=useAppStore.getState();X0(0);try{const d_=String(Hw.userId||G0);Vo.identify(d_,{email:G0,sessionId:Hw.sessionId,authMethod:"password"})}catch(d_){console.warn("PostHog identify failed:",d_)}}else if(typeof Hw=="string"&&Hw.includes("/")){if(console.log("Processing legacy login format:",Hw),typeof Hw.split!="function")throw console.error("loginResult.split is not a function:",{loginResult:Hw,type:typeof Hw}),new Error("Invalid login result format - split method not available");const[Y0,G0]=Hw.split("/");if(!Y0||!G0)throw console.error("Invalid userId/sessionId format:",{userId:Y0,sessionId:G0,loginResult:Hw}),new Error("Invalid login result format - missing userId or sessionId");np({userId:Y0,sessionId:G0,username:k1});const{setLastDataFetch:X0}=useAppStore.getState();X0(0);try{const d_=String(Y0||k1);Vo.identify(d_,{email:k1,sessionId:G0,authMethod:"password"})}catch(d_){console.warn("PostHog identify failed (legacy):",d_)}}else throw console.error("Login failed - invalid response format:",{loginResult:Hw,type:typeof Hw,isObject:typeof Hw=="object",isString:typeof Hw=="string",hasIdToken:Hw?.id_token,includesSlash:typeof Hw=="string"&&Hw.includes("/")}),new Error(`Login failed due to invalid response format. Expected object with id_token or string with '/', got: ${typeof Hw}`);y$b.success("Login successful");const{authData:O1}=useAppStore.getState();if(O1.userId)try{const Y0=await metaAxiosInstance$1.get(`/agentlang_auth/User/${O1.userId}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile`);if(Y0.data&&Array.isArray(Y0.data)&&Y0.data.length>0){const G0=Y0.data[Y0.data.length-1].UserProfile;if(G0.id){localStorage.setItem("user_profile_id",G0.id),np({userProfileId:G0.id});try{const X0=String(O1.userId||O1.username||"unknown");Vo.group("user_profile",G0.id,{email:G0.userEmail||O1.username}),Vo.identify(X0,{email:G0.userEmail||O1.username,userProfileId:G0.id})}catch(X0){console.warn("PostHog person/group update failed:",X0)}}}}catch(Y0){console.warn("Failed to fetch user profile after login:",Y0)}Sa(),la("/home")}catch(K0){console.error("Login error:",K0),y$b.error(K0?.response?.data?.reason||"Login failed"),y$b.error(K0?.response?.data?.message||K0?.message||"Login failed")}},eg=async()=>{if(!pl){ml(!0);try{typeof window<"u"&&window.dispatchEvent(new CustomEvent("userLoggingOut")),IS_PLAYGROUND$5||await metaAxiosInstance$1.post("/agentlang_auth/logout")}catch(k1){console.warn("Logout API call failed, but clearing local data:",k1)}finally{try{Vo.reset()}catch(J0){console.warn("PostHog reset failed:",J0)}jf(),localStorage.removeItem("workspace_id"),localStorage.removeItem("user_profile_id"),localStorage.removeItem("id_token"),localStorage.removeItem("access_token"),localStorage.removeItem("refresh_token"),localStorage.removeItem("user_id"),localStorage.removeItem("session_id"),localStorage.removeItem("username"),aa(),hl(),localStorage.removeItem("agentlang-studio-store"),localStorage.removeItem("chatbotMessages");const{setAuthData:k1,setWorkspace:qw,setUser:K0}=useAppStore.getState();k1({token:"",userId:"",sessionId:"",username:"",userProfileId:"",accessToken:"",refreshToken:""}),qw(""),K0({Email:"",CurrentWorkspace:{Id:""},Anthropic:{Key:""},OpenAI:{Key:"",FinetunedModel:""},GitHub:{Username:"",Org:"",Token:""}}),ml(!1),la("/")}}},tg=async(k1,qw)=>{try{const{authData:K0}=useAppStore.getState();if(!K0.token){y$b.error("Authentication token not found. Please login again.");return}await metaAxiosInstance$1.post("/agentlang_auth/changePassword",{newPassword:qw,password:k1}),y$b.success("Password changed successfully")}catch(K0){y$b.error(K0?.response?.data?.reason||"Failed to change password")}},rg=async k1=>{try{const{authData:qw}=useAppStore.getState(),{username:K0,userId:J0,userProfileId:Hw}=qw;if(!J0||!Hw){y$b.error("User ID not found. Please re-login.");return}await metaAxiosInstance$1.put(`/agentlang_auth/User/${J0}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile/${Hw}`,{userEmail:K0,userKeys:{OpenAI:k1.OpenAI,Anthropic:k1.Anthropic,GitHub:k1.GitHub}}),ua(k1),y$b.success("Profile updated successfully")}catch(qw){y$b.error(qw?.response?.data?.reason||"Failed to update profile")}},ig=reactExports.useCallback(async(k1=!1)=>{const{authData:qw}=useAppStore.getState();let{userId:K0,userProfileId:J0,username:Hw}=qw;const{token:O1}=qw;if(J0||(J0=localStorage.getItem("user_profile_id")||""),K0||(K0=localStorage.getItem("user_id")||""),Hw||(Hw=localStorage.getItem("username")||""),!!!(K0&&Hw&&O1)){console.log("Auth not ready for profile fetch:",{userId:K0,username:Hw,hasToken:!!O1});return}if(!(!k1&&ca.Email&&!gl))try{if(wc(!0),ff(null),!J0){const X0=await metaAxiosInstance$1.get(`/agentlang_auth/User/${K0}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile`);if(X0.data&&Array.isArray(X0.data)&&X0.data.length>0){const d_=X0.data[X0.data.length-1].UserProfile;if(d_.id){localStorage.setItem("user_profile_id",d_.id);const zN=useAppStore.getState().authData;np({...zN,userProfileId:d_.id}),console.log("Set userProfileId in auth store:",d_.id)}let f_;try{f_=typeof d_.userKeys=="string"?JSON.parse(d_.userKeys):d_.userKeys}catch{f_={OpenAI:{Key:"",FinetunedModel:""},Anthropic:{Key:""},GitHub:{Username:"",Org:"",Token:""}}}ua({Email:d_.userEmail||Hw,CurrentWorkspace:{Id:""},...f_});return}console.warn("No user profiles found. User needs to complete signup process to create profile."),ff("No user profile found. Please contact support if this persists.");return}const G0=await metaAxiosInstance$1.get(`/agentlang_auth/User/${K0}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile/${J0}`);if(!G0.data||Array.isArray(G0.data)&&G0.data.length===0){const X0=await metaAxiosInstance$1.get(`/agentlang_auth/User/${K0}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile`);if(X0.data&&Array.isArray(X0.data)&&X0.data.length>0){const d_=X0.data[X0.data.length-1].UserProfile;if(d_.id){localStorage.setItem("user_profile_id",d_.id);const zN=useAppStore.getState().authData;np({...zN,userProfileId:d_.id}),console.log("Set userProfileId in auth store (fallback):",d_.id);try{const BN=String(zN.userId||zN.username||"unknown");Vo.group("user_profile",d_.id,{email:d_.userEmail||zN.username}),Vo.identify(BN,{email:d_.userEmail||zN.username,userProfileId:d_.id})}catch(BN){console.warn("PostHog person/group update failed (fallback):",BN)}}let f_;try{f_=typeof d_.userKeys=="string"?JSON.parse(d_.userKeys):d_.userKeys}catch{f_={OpenAI:{Key:"",FinetunedModel:""},Anthropic:{Key:""},GitHub:{Username:"",Org:"",Token:""}}}ua({Email:d_.userEmail||Hw,CurrentWorkspace:{Id:""},...f_});return}console.warn("No profiles found for user. User needs to complete signup process."),ff("No user profile found. Please contact support if this persists.");return}if(G0.data&&Array.isArray(G0.data)&&G0.data.length>0){const X0=G0.data[0].UserProfile;let d_;try{d_=typeof X0.userKeys=="string"?JSON.parse(X0.userKeys):X0.userKeys}catch(zN){console.warn("Failed to parse userKeys JSON:",zN),d_={OpenAI:{Key:"",FinetunedModel:""},Anthropic:{Key:""},GitHub:{Username:"",Org:"",Token:""}}}const f_={Email:X0.userEmail||Hw||"",CurrentWorkspace:ca.CurrentWorkspace||{Id:""},Anthropic:d_.Anthropic||{Key:""},OpenAI:d_.OpenAI||{Key:"",FinetunedModel:""},GitHub:d_.GitHub||{Username:"",Org:"",Token:""}};ua(f_)}else throw new Error("Unexpected response format")}catch(G0){console.error("useAuth: Failed to fetch user profile:",G0),ff(G0?.response?.data?.reason||G0?.message||"Failed to fetch user profile")}finally{wc(!1)}},[ca.CurrentWorkspace,ca.Email,gl,ua,np]),vv=useAppStore(k1=>k1.authReady);return reactExports.useEffect(()=>{vv&&ig()},[vv,ig]),{login:Vm,logoutHandler:eg,changePassword:tg,setUserProfile:rg,isLoggingOut:pl,fetchUserProfile:ig,profileLoading:gl,profileError:xu,userProfile:ca}},IS_PLAYGROUND$4=!1,metaAxiosInstance=axiosInstance("meta"),useSignUp=()=>{const la=useNavigate(),[aa,ca]=reactExports.useState(!1),ua=useAppStore(ml=>ml.setAuthData),Sa=useAppStore(ml=>ml.setUser),{initializeApp:hl}=useAppInitialization();return{signUp:reactExports.useCallback(async ml=>{if(aa)return{success:!1,error:"Sign up already in progress"};ca(!0);try{console.log("Registering new user:",ml.email);const gl=await metaAxiosInstance.post("/agentlang_auth/register",{email:ml.email,password:ml.password,firstName:ml.firstName,lastName:ml.lastName});if(!gl.data)throw new Error("Registration failed - no response received");const{userId:wc,email:xu}=gl.data;if(!wc)throw new Error("Registration failed - no userId received");console.log("Creating user profile and workspace...");const ff=await metaAxiosInstance.post("/AgentMeta/PostSignUp",{userId:wc,userEmail:xu||ml.email,userKeys:{OpenAI:{Key:"",FinetunedModel:""},Anthropic:{Key:""},GitHub:{Username:"",Org:"",Token:""}}});if(!ff.data||!Array.isArray(ff.data)||ff.data.length===0)throw new Error("Failed to create user profile and workspace");const jf=ff.data[0];let Uf=null,rp=null;if(jf?.User?.["AgentMeta/UserHasUserProfile"]?.[0]?.UserProfile){const Vm=jf.User["AgentMeta/UserHasUserProfile"][0].UserProfile;Uf=Vm.id,Vm["AgentMeta/UserWorkspace"]?.[0]?.Workspace&&(rp=Vm["AgentMeta/UserWorkspace"][0].Workspace.id)}if(!Uf)throw new Error("Failed to create user profile");console.log("User profile and workspace created successfully:",{userProfileId:Uf,workspaceId:rp}),console.log("Performing automatic login...");const qm=(await metaAxiosInstance.post("/agentlang_auth/login",{email:ml.email,password:ml.password})).data;return qm&&typeof qm=="object"&&qm.id_token?(ua({token:qm.id_token,accessToken:qm.access_token,refreshToken:qm.refresh_token,userId:qm.userId||wc,sessionId:qm.sessionId,username:ml.email,userProfileId:Uf}),localStorage.setItem("user_profile_id",Uf),rp&&localStorage.setItem("workspace_id",rp),Sa({Email:ml.email,user_profile_id:Uf,CurrentWorkspace:{Id:rp||""},Anthropic:{Key:""},OpenAI:{Key:"",FinetunedModel:""},GitHub:{Username:"",Org:"",Token:""}}),y$b.success("Account created successfully! Welcome!"),IS_PLAYGROUND$4||await hl(),la("/home"),{success:!0,message:"Account created and logged in successfully"}):(y$b.success("Account created successfully! Please login with your credentials."),la("/"),{success:!0,message:"Account created successfully. Please login."})}catch(gl){console.error("Sign up failed:",gl);const wc=gl?.response?.data?.reason||gl?.response?.data?.message||gl?.message||"Sign up failed. Please try again.";return y$b.error(wc),{success:!1,error:wc}}finally{ca(!1)}},[la,ua,Sa,hl,aa]),isSigningUp:aa}},getEntities=la=>{if(!la)return[];try{return fetchModule$2(la).getEntityNames()}catch(aa){return console.error("Error fetching module:",aa),[]}},getRecords=la=>{if(!la)return[];try{return fetchModule$2(la).getRecordNames()}catch(aa){return console.error("Error fetching records:",aa),[]}},getEvents=la=>{if(!la)return[];try{const aa=fetchModule$2(la);return aa.getEventNames().filter(ua=>!aa.isPrePostEvent(ua))}catch(aa){return console.error("Error fetching events:",aa),[]}},getAgents=la=>{if(!la)return[];try{return fetchModule$2(la).getAgentNames()}catch(aa){return console.error("Error fetching agents:",aa),[]}},getDecisions=la=>{if(!la)return[];try{return fetchModule$2(la).getAllDecisions().map(ua=>ua.name)}catch(aa){return console.error("Error fetching decisions:",aa),[]}},getRelationships=la=>{if(!la)return[];try{return fetchModule$2(la).getRelationshipNames()}catch(aa){return console.error("Error fetching relationships:",aa),[]}},isAgent=(la,aa)=>!!fetchModule$2(la).getAgent(aa),isEvent=(la,aa)=>fetchModule$2(la).getEventNames().includes(aa),isRecord=(la,aa)=>fetchModule$2(la).getRecordNames().includes(aa),isEntity=(la,aa)=>fetchModule$2(la).getEntityNames().includes(aa),isRelationship=(la,aa)=>fetchModule$2(la).getRelationshipNames().includes(aa),getAgent=(la,aa)=>fetchModule$2(la).getAgent(aa),useEntity=()=>{const{zoomHandler:la}=useZoomHandler(),aa=useMatches(),{id:ca}=aa[aa.length-1]||{},{teamName:ua,moduleName:Sa}=useParams(),hl=useAppStore(ig=>ig.user),{incrementModuleDbChangeCount:pl}=useAppStore(),ml=hl.GitHub.Token,gl=hl.GitHub.Username,wc=Un(),{saveUISpec:xu}=useSaveUISpec(),ff=async ig=>{if(!ua)throw new Error("teamName is undefined");if(!Sa)throw new Error("moduleName is undefined");addEntity(ig,Sa);const vv=fetchModule$2(Sa).toString();if(saveModuleToGit(ua,Sa,vv,`Add entity ${ig}`,gl,ml),pl(),wc&&xu)try{const k1=`${Sa}/${ig}`,qw=repopulateUISchemaForNewEntity(wc,k1);xu(qw,`Update UI schema for new entity ${ig}`)}catch(k1){console.error("[useEntity] Failed to repopulate UI schema for new entity:",k1)}setTimeout(()=>{la(`${Sa}/${ig}`)},100)},jf=async ig=>{if(!ua)throw new Error("teamName is undefined");if(!Sa)throw new Error("moduleName is undefined");addRecord$1(ig,Sa);const vv=fetchModule$2(Sa).toString();saveModuleToGit(ua,Sa,vv,`Add record ${ig}`,gl,ml),pl(),setTimeout(()=>{la(`${Sa}/${ig}`)},100)},Uf=async ig=>{if(!ua)throw new Error("teamName is undefined");if(!Sa)throw new Error("moduleName is undefined");addEvent(ig,Sa),addWorkflow(ig,Sa);const vv=fetchModule$2(Sa).toString();saveModuleToGit(ua,Sa,vv,`Add event ${ig}`,gl,ml),pl(),setTimeout(()=>{la(ig)},200)},rp=(ig,vv)=>{let k1;isFqName$1(vv)?k1=nameToPath$1(vv).getEntryName():k1=vv;const qw=k1.replace(/--workflow$/,"");if(isEvent(Sa||"",qw))removeEvent(k1,Sa||"");else{if(!isEvent(Sa||"",qw)&&!isRelationship(Sa||"",qw)){const K0=isFqName$1(vv)?vv:`${Sa}/${qw}`;getRelationships(Sa||"").forEach(Hw=>{try{const O1=getRelationship$1(Hw,Sa||"");if(O1){const Y0=O1.getParentFqName(),G0=O1.getChildFqName();(Y0===K0||G0===K0)&&ig.removeEntry(Hw)}}catch(O1){console.warn(`Failed to check relationship ${Hw} for entity ${K0}:`,O1)}})}ig.removeEntry(k1)}};return{addEntity:ff,addRecord:jf,addEvent:Uf,deleteHandler:async ig=>{if(!ua)throw new Error("teamName is undefined");if(!Sa)throw new Error("moduleName is undefined");const vv=fetchModule$2(Sa||"");ig.forEach(K0=>{rp(vv,K0)});const k1=vv.toString(),qw=`Delete entries ${ig.join(", ")}`;if(saveModuleToGit(ua,Sa,k1,qw,gl,ml),pl(),setTimeout(()=>{const K0=getEntities(Sa),J0=getRecords(Sa),Hw=getEvents(Sa),O1=getAgents(Sa);if(ca==="data-model"||ca==="marketplace-data-model"){if(K0.length>0){la(`${Sa}/${K0[0]}`);return}if(J0.length>0){la(`${Sa}/${J0[0]}`);return}}if(ca==="agents"&&O1.length>0){la(O1[0]);return}if(ca==="workflow"&&Hw.length>0){la(Hw[0]);return}},200),wc&&xu&&Sa)try{let K0=wc;const J0=[],Hw=[];if(ig.forEach(O1=>{let Y0;isFqName$1(O1)?Y0=nameToPath$1(O1).getEntryName():Y0=O1;const G0=Y0.replace(/--workflow$/,"");if(isRelationship(Sa,G0))J0.push(G0);else if(!isEvent(Sa,G0)){const X0=isFqName$1(O1)?O1:`${Sa}/${Y0}`;Hw.push(X0)}}),J0.length>0&&(K0=repopulateUISchemaAfterRelationshipDeletion(K0,J0[0],Sa)),Hw.length>0&&Hw.forEach(O1=>{K0=repopulateUISchemaAfterEntityDeletion(K0,O1)}),J0.length>0||Hw.length>0){const O1=[...J0.length>0?[`relationships: ${J0.join(", ")}`]:[],...Hw.length>0?[`entities: ${Hw.join(", ")}`]:[]];xu(K0,`Update UI schema after deleting ${O1.join(" and ")}`)}}catch(K0){console.error("[useEntity] Failed to repopulate UI schema after entry deletion:",K0)}},addAttribute:async(ig,vv,k1,qw,K0="type",J0=[],Hw="",O1)=>{if(!Sa)throw new Error("moduleName is undefined");if(!ua)throw new Error("teamName is undefined");const Y0=fetchModule$2(Sa),G0=Y0.getEntry(ig),X0=K0==="Entity"||K0==="Record",d_=K0==="@oneof",f_=K0==="@enum";let zN;if(f_&&J0.length>0)zN=enumAttributeSpec(new Set(J0)),Hw&&(zN=setDefaultAttributeValue(zN,Hw));else if(d_){if(!O1)throw new Error("Compound type info is required for Entity or Record types");const BN=`${O1.module}/${O1.entity}`;zN=oneOfAttributeSpec(BN)}else if(X0){if(!O1)throw new Error("Compound type info is required for Entity or Record types");zN={type:`${O1.module}/${O1.entity}`,properties:new Map},qw.forEach(BN=>{zN.properties?.set(BN,!0)})}else zN={type:k1,properties:new Map},qw.forEach(BN=>{zN.properties?.set(BN,!0)}),Hw&&(zN=setDefaultAttributeValue(zN,Hw));if(G0.addAttribute(vv,zN),saveModuleToGit(ua,Sa,Y0.toString(),`Add attribute ${vv} to ${ig}`,gl,ml),pl(),wc&&xu)try{const BN=`${Sa}/${ig}`,iF=repopulateUISchemaForNewAttribute(wc,BN,vv);xu(iF,`Update UI schema for new attribute ${vv} in ${ig}`)}catch(BN){console.error(" Failed to repopulate UI schema for new attribute:",BN)}},deleteAttributes:async(ig,vv)=>{if(!Sa)throw new Error("moduleName is undefined");if(!ua)throw new Error("teamName is undefined");const k1=isFqName$1(ig)?nameToPath$1(ig).getEntryName():ig,qw=fetchModule$2(Sa),K0=qw.getEntry(k1);if(vv.forEach(J0=>{K0.removeAttribute(J0)}),pl(),saveModuleToGit(ua,Sa,qw.toString(),`Delete attributes ${vv.join(", ")} from ${ig}`,gl,ml),wc&&xu)try{const J0=isFqName$1(ig)?ig:`${Sa}/${k1}`,Hw=repopulateUISchemaAfterAttributeDeletion(wc,J0,vv);xu(Hw,`Update UI schema after deleting attributes ${vv.join(", ")} from ${ig}`)}catch(J0){console.error("[useEntity] Failed to repopulate UI schema after attribute deletion:",J0)}},reorderAttributes:async(ig,vv)=>{if(!Sa)throw new Error("moduleName is undefined");if(!ua)throw new Error("teamName is undefined");const k1=isFqName$1(ig)?nameToPath$1(ig).getEntryName():ig,qw=fetchModule$2(Sa);qw.getEntry(k1).reorderAttributes(vv),pl(),await saveModuleToGit(ua,Sa,qw.toString(),`Reorder attributes in ${ig}`,gl,ml)},setEventPublic:async(ig,vv)=>{if(!ua)throw new Error("teamName is undefined");if(!Sa)throw new Error("moduleName is undefined");const k1=isFqName$1(ig)?nameToPath$1(ig).getEntryName():ig,qw=fetchModule$2(Sa);getEvent$1(k1,Sa).setPublic(vv);const J0=qw.toString();pl(),await saveModuleToGit(ua,Sa,J0,`Set Public status for Event ${ig}`,gl,ml)},getEventPublic:ig=>{if(!Sa)throw new Error("moduleName is undefined");const vv=isFqName$1(ig)?nameToPath$1(ig).getEntryName():ig;return getEvent$1(vv,Sa).isPublic()}}},useEntityDetailsChange=la=>{const aa=Un();return{onEntityDetailsChange:(ua,Sa)=>{if(la&&aa){const hl={...aa,[ua]:{...aa?.[ua]||{},...Sa}};la(hl,`Update ${ua} entity details`)}}}},useModule=()=>{const{incrementModuleDbChangeCount:la}=useAppStore(),aa=useNavigate(),{pathname:ca}=useLocation(),ua=ca.split("/"),Sa=getUserModuleNames(),{teamName:hl}=useParams(),pl=useAppStore(Uf=>Uf.user),ml=pl.GitHub.Token,gl=pl.GitHub.Username,wc=Uf=>{aa([...ua.slice(0,-1),Uf].join("/"))};return{navigateModule:wc,addModuleHandler:Uf=>{addModule$1(Uf),saveModuleToGit(hl||"local-user",Uf,fetchModule$2(Uf).toString(),`Add module ${Uf} to ${hl||"local-user"}`,gl,ml),la(),wc(Uf)},deleteModuleHandler:Uf=>{if(Sa.length===1){y$b.error("Cannot delete the last module");return}removeModule(Uf),saveModuleToGit(hl||"local-user",Uf,fetchModule$2(Uf).toString(),`Delete module ${Uf} from ${hl||"local-user"}`,gl,ml);const rp=Sa.filter(np=>Uf!==np);wc(rp.length>0?rp[rp.length-1]:""),la()},getModuleCode:Uf=>{try{return isModule$1(Uf)?fetchModule$2(Uf).toString():""}catch(rp){return console.error(rp),""}}}},useOutsideClickHandler=la=>{const aa=reactExports.useRef(null);return reactExports.useEffect(()=>{const ca=ua=>{const Sa=ua.target,hl=Sa.closest('[role="option"]')||Sa.closest(".dropdown-options")||Sa.closest("[data-headlessui-state]")||Sa.closest("[data-radix-dropdown-menu-content]")||Sa.closest("[data-radix-dropdown-menu-sub-content]")||Sa.closest("[data-query-attribute-menu]")||Sa.closest("[data-radix-portal]")||Sa.closest("[data-radix-popper-content-wrapper]"),pl=Sa.closest(".chatbot-fab-button");aa.current&&!aa.current.contains(Sa)&&!hl&&!pl&&la()};return document.addEventListener("click",ca,!0),()=>{document.removeEventListener("click",ca,!0)}},[la]),aa},useRelationship$1=()=>{const{incrementModuleDbChangeCount:la}=useAppStore(),{teamName:aa,moduleName:ca}=useParams(),ua=useAppStore(Uf=>Uf.user),Sa=ua.GitHub.Token,hl=ua.GitHub.Username,pl=Un(),{saveUISpec:ml}=useSaveUISpec();return{addRelationship:async(Uf,rp,np,qm)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const Vm=new Path$1(rp.module,rp.entity),eg=new Path$1(np.module,np.entity),tg={path:Vm,alias:rp.entity,origName:Vm.asFqName(),origAlias:rp.entity},rg={path:eg,alias:np.entity,origName:eg.asFqName(),origAlias:np.entity};qm==="contains"&&addContainsRelationship(Uf,ca,[tg,rg]),qm==="between"&&addBetweenRelationship(Uf,ca,[tg,rg]);const vv=fetchModule$2(ca).toString();if(saveModuleToGit(aa,ca,vv,`Add ${qm} relationship ${Uf} between ${rp.entity} and ${np.entity}`,hl,Sa),la(),pl&&ml&&ca)try{const k1=repopulateUISchemaForNewRelationship(pl,ca);ml(k1,`Update UI schema for new relationship ${Uf}`)}catch(k1){console.error("[useRelationship] Failed to repopulate UI schema for new relationship:",k1)}},setOneToOne:Uf=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");getRelationship$1(Uf,ca).setOneToOne(!0);const np=fetchModule$2(ca).toString();if(console.log("moduleData",np),la(),saveModuleToGit(aa,ca,np,`Set ${Uf} to One-to-One relationship`,hl,Sa),pl&&ml&&ca)try{const qm=repopulateUISchemaForNewRelationship(pl,ca);ml(qm,`Update UI schema for relationship ${Uf} change`)}catch(qm){console.error("[useRelationship] Failed to repopulate UI schema for relationship change:",qm)}},setOneToMany:Uf=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");getRelationship$1(Uf,ca).setOneToMany(!0);const np=fetchModule$2(ca).toString();if(la(),saveModuleToGit(aa,ca,np,`Set ${Uf} to One-to-Many relationship`,hl,Sa),pl&&ml&&ca)try{const qm=repopulateUISchemaForNewRelationship(pl,ca);ml(qm,`Update UI schema for relationship ${Uf} change`)}catch(qm){console.error("[useRelationship] Failed to repopulate UI schema for relationship change:",qm)}},setManyToMany:Uf=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");getRelationship$1(Uf,ca).setManyToMany(!0);const np=fetchModule$2(ca).toString();if(la(),saveModuleToGit(aa,ca,np,`Set ${Uf} to Many-to-Many relationship`,hl,Sa),pl&&ml&&ca)try{const qm=repopulateUISchemaForNewRelationship(pl,ca);ml(qm,`Update UI schema for relationship ${Uf} change`)}catch(qm){console.error("[useRelationship] Failed to repopulate UI schema for relationship change:",qm)}},getRelationshipType:Uf=>{if(!ca)return null;try{const rp=getRelationship$1(Uf,ca);return rp.isOneToOne()?"one-to-one":rp.isOneToMany()?"one-to-many":rp.isManyToMany()?"many-to-many":"contains"}catch(rp){return console.error("Error getting relationship type:",rp),null}}}},useRouteDataFetching=({routePattern:la,fetchFunction:aa,requiresAuth:ca=!0,dependencies:ua=[]})=>{const Sa=useLocation(),hl=reactExports.useRef(new Set),pl=reactExports.useRef(null),ml=useAppStore(qm=>qm.authData),{token:gl,userId:wc,userProfileId:xu,username:ff}=ml,jf=wc,Uf=Sa.pathname.includes(la),rp=reactExports.useCallback(qm=>`${la}-${qm}`,[la]),np=reactExports.useCallback(async(qm,Vm,eg=!1)=>{const tg=rp(qm);try{await aa(qm,Vm,eg),hl.current.add(tg)}catch(rg){console.error(`useRouteDataFetching: Failed to fetch data for route ${la}:`,rg)}},[aa,rp,la]);return reactExports.useEffect(()=>{if(!Uf)return;if(pl.current!==jf&&(hl.current.clear(),pl.current=jf),ca&&!gl){console.log(`useRouteDataFetching: Authentication required for route ${la}, but no token found`);return}if(!jf||!ff||ca&&!xu){console.log(`useRouteDataFetching: Missing required data for route ${la}`,{hasWorkspaceId:!!jf,hasUsername:!!ff,hasUserProfileId:!!xu,hasAuthToken:!!gl});return}const qm=rp(jf);if(hl.current.has(qm)){console.log(`useRouteDataFetching: Data already fetched for route ${la} and workspace ${jf}`);return}np(jf,ff)},[Uf,jf,ff,xu,gl,ca,np,rp,la,...ua]),{refetch:reactExports.useCallback((qm=!1)=>{if(jf&&ff&&(!ca||xu&&gl)){const Vm=rp(jf);hl.current.delete(Vm),np(jf,ff,qm)}},[jf,ff,xu,gl,ca,np,rp,la]),clearCache:reactExports.useCallback(()=>{hl.current.clear()},[]),isMatchingRoute:Uf,hasRequiredData:!!(jf&&ff&&(!ca||xu&&gl))}},useStore=()=>{const{moduleName:la}=useParams(),aa=getModuleNames().filter(hl=>hl!=="agentlang"),{currentTeam:ca}=useTeams();if(!la)throw new Error("Module name is undefined");let ua;try{ua=fetchModule$2(la)}catch(hl){console.error(hl)}const Sa=ua?ua.getEntityNames():[];return{modules:aa,currentModule:ua,entities:Sa,currentTeam:ca}},useRbac=()=>{const{teamName:la,moduleName:aa}=useParams(),ca=useAppStore(BN=>BN.setSelectedRole),ua=useAppStore(BN=>BN.setAppConfig),Sa=useAppStore(BN=>BN.appConfig),hl=useAppStore(BN=>BN.user),pl=hl.GitHub.Token,ml=hl.GitHub.Username,{incrementModuleDbChangeCount:gl}=useAppStore(),wc=()=>{if(!la)throw new Error("Team name is required to save RBAC roles");if(!aa)throw new Error("Module name is required for RBAC operations")},xu=BN=>{if(!aa)throw new Error("Module name is required for RBAC operations");const iF=getEntity$1(BN,aa);if(!iF)throw new Error(`Entity instance for "${BN}" in module "${aa}" is undefined.`);return iF},ff=BN=>{if(!aa||!la)throw new Error("Module name and team name are required for RBAC operations");const yY=fetchModule$2(aa).toString();gl(),saveModuleToGit(la,aa,yY,BN,ml,pl)},jf=(BN,iF,yY,vQ="Toggle")=>{try{wc();for(const bY of BN){const Lhe=xu(bY),Dhe=Lhe.getRbacSpecifications()||[],kdt=yY([...Dhe],iF);Lhe.setRbacSpecifications(kdt)}const Ihe=`${vQ} all RBAC permissions for role: ${iF}`;ff(Ihe)}catch(Ihe){throw console.error("Error toggling all RBAC permissions:",Ihe),Ihe}},Uf=(BN,iF,yY,vQ,Ihe="Toggle")=>{try{wc();for(const Lhe of BN){const Dhe=xu(Lhe),kdt=Dhe.getRbacSpecifications()||[],eht=yY([...kdt],iF,vQ);Dhe.setRbacSpecifications(eht)}const bY=`${Ihe} ${vQ} RBAC permission for role: ${iF}`;ff(bY)}catch(bY){throw console.error(`Error toggling ${vQ} RBAC permission:`,bY),bY}},rp=(BN,iF,yY,vQ="Toggle")=>{try{wc();const Ihe=xu(BN),bY=Ihe.getRbacSpecifications()||[],Lhe=yY([...bY],iF);Ihe.setRbacSpecifications(Lhe);const Dhe=`${vQ} all RBAC permissions for role: ${iF} on entity: ${BN}`;ff(Dhe)}catch(Ihe){throw console.error("Error toggling all RBAC permissions for entity:",Ihe),Ihe}},np=(BN,iF,yY,vQ,Ihe="Toggle")=>{try{wc();const bY=xu(BN),Lhe=bY.getRbacSpecifications()||[],Dhe=yY([...Lhe],iF,vQ);bY.setRbacSpecifications(Dhe);const kdt=`${Ihe} ${vQ} RBAC permission for role: ${iF} on entity: ${BN}`;ff(kdt)}catch(bY){throw console.error(`Error toggling ${vQ} RBAC permission for entity:`,bY),bY}},qm=(BN,iF="Save RBAC roles")=>{wc();const yY={...Sa,rbac:{roles:BN}};if(ua(yY),!la)throw new Error("Team name is required to save RBAC roles");saveConfigToGit(la,JSON.stringify(yY,null,2),iF,ml,pl)},Vm=BN=>{const iF=Sa?.rbac?.roles||[];qm([...iF,BN],"Add RBAC role"),ca(BN)},eg=BN=>{const yY=(Sa?.rbac?.roles||[]).filter(vQ=>vQ!==BN);qm(yY,"Delete RBAC role"),ca(yY.at(-1)||"")},tg=(BN,iF)=>{const yY=BN.find(vQ=>vQ.roles.has(iF));if(yY){if(yY.hasCreatePermission()&&yY.hasReadPermission()&&yY.hasUpdatePermission()&&yY.hasDeletePermission())return BN.filter(Ihe=>Ihe!==yY);yY.setPermissions(["create","read","update","delete"])}else{const vQ=new RbacSpecification;vQ.setRoles([iF]),vQ.setPermissions(["create","read","update","delete"]),BN.push(vQ)}return BN},rg=(BN,iF,yY)=>{const vQ=BN.find(Ihe=>Ihe.roles.has(iF));if(vQ)if((()=>{switch(yY){case"create":return vQ.hasCreatePermission();case"read":return vQ.hasReadPermission();case"update":return vQ.hasUpdatePermission();case"delete":return vQ.hasDeletePermission()}})()){const Dhe=Array.from(vQ.permissions).map(kdt=>RbacPermissionFlag$1[kdt].toLowerCase()).filter(kdt=>kdt!==yY);if(Dhe.length===0)return BN.filter(kdt=>kdt!==vQ);vQ.setPermissions(Dhe)}else{const bY=Array.from(vQ.permissions).map(Lhe=>RbacPermissionFlag$1[Lhe].toLowerCase());bY.push(yY),vQ.setPermissions(bY)}else{const Ihe=new RbacSpecification;Ihe.setRoles([iF]),Ihe.setPermissions([yY]),BN.push(Ihe)}return BN};return{saveRbacRoles:qm,addRole:Vm,deleteRole:eg,allHandler:BN=>{if(!aa)return;const iF=getEntities(aa);jf(iF,BN,tg)},createHandler:BN=>{if(!aa)return;const iF=getEntities(aa);Uf(iF,BN,rg,"create")},readHandler:BN=>{if(!aa)return;const iF=getEntities(aa);Uf(iF,BN,rg,"read")},updateHandler:BN=>{if(!aa)return;const iF=getEntities(aa);Uf(iF,BN,rg,"update")},deleteHandler:BN=>{if(!aa)return;const iF=getEntities(aa);Uf(iF,BN,rg,"delete")},entityAllHandler:(BN,iF)=>{rp(BN,iF,tg)},entityCreateHandler:(BN,iF)=>{np(BN,iF,rg,"create")},entityReadHandler:(BN,iF)=>{np(BN,iF,rg,"read")},entityUpdateHandler:(BN,iF)=>{np(BN,iF,rg,"update")},entityDeleteHandler:(BN,iF)=>{np(BN,iF,rg,"delete")},addExpression:(BN,iF,yY)=>{try{wc();const vQ=xu(BN),Ihe=vQ.getRbacSpecifications()||[],bY=Ihe.find(Dhe=>Dhe.expression),Lhe=Object.entries(yY).filter(([Dhe,kdt])=>kdt).map(([Dhe])=>Dhe);if(bY)bY.setPermissions(Lhe),bY.setExpression("auth.user",`this.${iF}`);else{const Dhe=new RbacSpecification;Dhe.setPermissions(Lhe),Dhe.setExpression("auth.user",`this.${iF}`),Ihe.push(Dhe)}vQ.setRbacSpecifications(Ihe),ff(`Add RBAC expression for entity: ${BN}`)}catch(vQ){throw console.error("Error setting expression for entity:",vQ),vQ}},removeExpression:BN=>{try{wc();const iF=xu(BN),vQ=(iF.getRbacSpecifications()||[]).filter(Ihe=>!Ihe.expression);iF.setRbacSpecifications(vQ),ff(`Remove RBAC expression for entity: ${BN}`)}catch(iF){throw console.error("Error removing expression for entity:",iF),iF}},getRoleRbacSpec:(BN,iF)=>(wc(),(xu(BN).getRbacSpecifications()||[]).find(bY=>bY.roles.has(iF))),getRBACExpression:BN=>(wc(),(xu(BN).getRbacSpecifications()||[]).find(Ihe=>Ihe.expression))}},useWorkflow=la=>{const{teamName:aa,moduleName:ca}=useParams(),ua=useAppStore(Uf=>Uf.user),Sa=ua.GitHub.Token,hl=ua.GitHub.Username,{incrementModuleDbChangeCount:pl}=useAppStore();return{onCreateCrudStatement:async(Uf,rp,np)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const qm=fetchModule$2(ca||""),Vm=qm.getWorkflowForEvent(la);let eg;if(rp==="create"?eg=newCreatePattern(Uf):rp==="read"?eg=newQueryPattern(Uf):rp==="delete"?eg=newDeletePattern(Uf):rp==="update"&&(eg=newQueryUpdatePattern(Uf)),rp==="loop"?eg=new ForEachPattern$1:rp==="if-else"&&(eg=new IfPattern$1().setElse()),eg&&Vm)await Vm.setStatementAt(eg.toString(),np).then(async()=>{pl(),saveModuleToGit(aa,ca,qm.toString(),`Add ${rp} pattern for ${la}`,hl,Sa)});else throw new Error(`Unknown type: ${rp}`)},onDeleteStatementHandler:async Uf=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const rp=fetchModule$2(ca||"");rp.getWorkflowForEvent(la)?.removeStatementAt(Uf),pl(),saveModuleToGit(aa,ca,rp.toString(),`Delete pattern for ${la} at index ${Uf}`,hl,Sa)},updateStatementHandler:async(Uf,rp)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const np=fetchModule$2(ca||"");await np.getWorkflowForEvent(la)?.setStatementAt(rp,Uf).then(async()=>{pl(),saveModuleToGit(aa,ca,np.toString(),`Update pattern for ${la} at index ${Uf}`,hl,Sa)})},onCreateFunctionCall:async(Uf,rp)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const np=fetchModule$2(ca||""),qm=np.getWorkflowForEvent(la),Vm=new FunctionCallPattern$1(rp,[]);await qm?.setStatementAt(Vm.toString(),Uf).then(async()=>{pl(),saveModuleToGit(aa,ca,np.toString(),`Add function call pattern for ${la}`,hl,Sa)})},onCreateExpression:async(Uf,rp,np)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const qm=fetchModule$2(ca||""),Vm=qm.getWorkflowForEvent(la),eg=new ExpressionPattern$1(rp);np&&eg.setAlias(np),await Vm?.setStatementAt(eg.toString(),Uf).then(async()=>{pl(),saveModuleToGit(aa,ca,qm.toString(),`Add expression pattern for ${la}`,hl,Sa)})},addTrigger:(Uf,rp,np)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");if(np==="after")if(rp==="create")addAfterCreateWorkflow(Uf,ca);else if(rp==="delete")addAfterDeleteWorkflow(Uf,ca);else if(rp==="update")addAfterUpdateWorkflow(Uf,ca);else throw new Error("Invalid trigger type");else if(np==="before")if(rp==="create")addBeforeCreateWorkflow(Uf);else if(rp==="delete")addBeforeDeleteWorkflow(Uf);else if(rp==="update")addBeforeUpdateWorkflow(Uf,ca);else throw new Error("Invalid trigger type");else throw new Error("Invalid trigger time");const qm=fetchModule$2(ca||"");pl(),saveModuleToGit(aa,ca,qm.toString(),`Add ${np} ${rp} trigger for ${Uf}`,hl,Sa)}}},useAppConfig=()=>{const{teamName:la}=useParams(),aa=useAppStore(ml=>ml.appConfig),ca=useAppStore(ml=>ml.setAppConfig),ua=useAppStore(ml=>ml.user),Sa=ua.GitHub.Token,hl=ua.GitHub.Username;return{saveAppConfig:ml=>{if(!la)throw new Error("Team name is required to save app integrations");const gl={...aa,...ml};ca(gl);const wc=formatAppConfig(gl);saveConfigToGit(la,wc,"Save App Configuration",hl,Sa)}}},useFlow=()=>{const{zoomHandler:la}=useZoomHandler(),{teamName:aa,moduleName:ca}=useParams(),ua=useAppStore(np=>np.user),{incrementModuleDbChangeCount:Sa,setSelectedDecisionId:hl}=useAppStore(),pl=ua.GitHub.Token,ml=ua.GitHub.Username;return{addFlow:np=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const qm=fetchModule$2(ca);qm.addFlow(np);const Vm=qm.toString();saveModuleToGit(aa,ca,Vm,`Add flow ${np}`,ml,pl),Sa(),setTimeout(()=>{la(np)},100)},removeFlow:(np,qm)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const Vm=fetchModule$2(ca);Vm.removeFlow(np);const eg=Vm.toString();saveModuleToGit(aa,ca,eg,`Remove flow ${np}`,ml,pl),Sa(),qm&&setTimeout(()=>{la(qm)},100)},updateFlow:(np,qm)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const Vm=fetchModule$2(ca);Vm.removeFlow(np),Vm.addFlow(np);const eg=Vm.getFlow(np);if(!eg)throw new Error("Flow could not be recreated");qm.forEach(rg=>{const ig=new FlowStepPattern$1(rg.source,rg.target,rg.label);eg.appendStep(ig.toString())});const tg=Vm.toString();saveModuleToGit(aa,ca,tg,`Update flow ${np}`,ml,pl)},addDecision:np=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const qm=fetchModule$2(ca);if(qm.getDecision(np))return;const eg=new Decision$1(np,qm.name,[]);qm.addDecision(eg);const tg=qm.toString();saveModuleToGit(aa,ca,tg,`Add decision ${np}`,ml,pl),Sa(),setTimeout(()=>{hl(np),la(`decision-node-${np}`,{openForm:!0})},200)},removeDecision:np=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const qm=fetchModule$2(ca);if(!qm.getDecision(np))return;qm.removeDecision(np);const eg=qm.toString();saveModuleToGit(aa,ca,eg,`Remove decision ${np}`,ml,pl)},updateDecision:(np,qm)=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");const Vm=fetchModule$2(ca);if(!Vm.getDecision(np))return;Vm.removeDecision(np);const tg=new Decision$1(np,Vm.name,qm);Vm.addDecision(tg);const rg=Vm.toString();saveModuleToGit(aa,ca,rg,`Update decision ${np}`,ml,pl)},getDecision:np=>{if(!aa)throw new Error("teamName is undefined");if(!ca)throw new Error("moduleName is undefined");return fetchModule$2(ca).getDecision(np)}}},useMobile=()=>{const[la,aa]=reactExports.useState(!1);return reactExports.useEffect(()=>{const ca=()=>{aa(window.innerWidth<768)};return ca(),window.addEventListener("resize",ca),()=>window.removeEventListener("resize",ca)},[]),la};function transformApiResponseToMarketplaceModel(la){return{Id:la.id||"",Name:la.name||"",Type:la.type||"",Description:la.description||"",Version:la.version||"",Owner:la.owner||"",GitHubOrg:la.gitHubOrg||"",GitHubRepo:la.gitHubRepo||"",Branch:la.gitHubBranch||la.branch||"main",CreatedAt:la.createdAt||"",LastUpdatedAt:la.lastUpdatedAt||"",Icon:la.icon||"",MarketPlaceUrl:la.marketPlaceUrl||"",ExtraDetails:la.extraDetails||{},GithubOrg:la.gitHubOrg||"",Config:{},Dependencies:{FractlModels:[],ClojureLibraries:[]},EntityType:"Model",GithubUrl:la.githubUrl||`https://github.com/${la.gitHubOrg}/${la.gitHubRepo}`,__Id__:la.id||"",Tags:la.tags||null,isEditable:!1,isPin:!1,isLoading:!1,isError:!1,ErrorMessage:""}}const useMarketplace=()=>{const{error:la,refetch:aa}=useQuery({queryKey:["marketplace","models"],enabled:!1,queryFn:async()=>{const hl=await axiosInstance("marketplace").get("/MarketplaceMeta/Model");console.log("The response of marketplace model is:",hl.data);let pl=[];return Array.isArray(hl.data)?hl.data.length===0?pl=[]:pl=hl.data.map(ml=>ml.Model||ml).map(ml=>transformApiResponseToMarketplaceModel(ml)):hl.data?.result&&Array.isArray(hl.data.result)&&(pl=hl.data.result.map(ml=>ml.Model||ml).map(ml=>transformApiResponseToMarketplaceModel(ml))),pl},staleTime:3e5,gcTime:6e5,retry:(hl,pl)=>pl?.response?.status===401||pl?.response?.status===403?!1:hl<2}),ca=reactExports.useCallback(async()=>{await aa()},[aa]),ua=reactExports.useCallback(async hl=>{try{const pl=await axiosInstance("marketplace").post("/MarketplaceMeta/Model",hl);return y$b.success("Model published successfully!"),pl.data}catch(pl){const ml=pl?.response?.data?.reason||"Failed to publish model";throw y$b.error(ml),pl}},[]),Sa=reactExports.useCallback(async hl=>{try{await axiosInstance("marketplace").delete(`/MarketplaceMeta/Model/${hl}`),y$b.success("Model deleted successfully!"),await aa()}catch(pl){const ml=pl?.response?.data?.reason||"Failed to delete model";throw y$b.error(ml),pl}},[aa]);return{fetchMarketplaceModels:ca,publishModel:ua,deleteModel:Sa,refetchMarketplaceModels:aa}},useAddTeam=()=>{const{addWorkspaceApp:la}=useTeams(),aa=useAppStore(rp=>rp.user),ca=aa.GitHub.Token,ua=aa.GitHub.Org,Sa=aa.GitHub.Username,hl=useNavigate(),[pl,ml]=React.useState(!1),[gl,wc]=React.useState("creating-repo"),[xu,ff]=React.useState("");return{addTeam:async({name:rp})=>{ml(!0),wc("creating-repo"),ff("Creating GitHub repository...");try{const qm=(await createGitHubRepo(ca,rp.toLowerCase(),{private:!0,auto_init:!0},ua)).name;wc("cloning-repo"),ff("Cloning repository...");try{const Vm=`/${qm}`,eg="main",tg=Sa&&Sa.trim().length>0,rg=ca&&ca.trim().length>0;if(!tg||!rg){alert("⚠️ GitHub credentials missing. Please set your GitHub username and token in Settings.");return}const ig=generateGitHubUrl(ua,qm,Sa,ca),vv=async()=>{try{await pathExists(Vm)&&(console.log(`Cleaning up failed clone: removing ${Vm} from IndexedDB`),await removeDirectory(Vm))}catch(J0){console.error("Error cleaning up failed clone:",J0)}};try{await cloneRepository(ig,Vm,eg,ca)}catch(J0){throw console.error("Failed to clone repository:",J0),await vv(),J0}wc("adding-files"),ff("Adding initial files...");const k1={name:qm,version:"0.0.1"},qw=await openRepository(Vm);await writeRepoFile(Vm,"package.json",JSON.stringify(k1)),await commitChanges(qw,"package.json","Add package.json",{name:Sa,email:Sa}),await writeRepoFile(Vm,"config.al",JSON.stringify({agentlang:{service:{port:8080},rbac:{enabled:!1},auth:{enabled:!1},auditTrail:{enabled:!0},monitoring:{enabled:!0}},"agentlang.ai":[{"agentlang.ai/LLM":{name:"llm01",service:"openai",config:{model:"gpt-4o"}}}]},null,2)),await commitChanges(qw,"config.al","Add config.al",{name:Sa,email:Sa});const K0="src/core.al";await writeRepoFile(Vm,K0,`module ${qm.toLowerCase()}.core`),await commitChanges(qw,K0,"Add core.al ",{name:Sa,email:Sa}),wc("pushing-changes"),ff("Pushing changes to GitHub..."),await pushChanges(qw,"origin",eg,ca),wc("loading-module"),ff("Loading module...");try{await flushAllAndLoad(`/${qm}`,{name:"studio"});const J0=getUserModuleNames();wc("adding-workspace"),ff("Adding to workspace...");const Hw={name:rp,type:"App",gitHubOrg:ua,gitHubRepo:qm,branch:eg,description:"",owner:localStorage.getItem("username")||"",version:"0.0.1",isEditable:!0};await la(Hw),ml(!1),hl(`/design/data-model/${ua}/${qm}/${J0[0]}`,{state:{isNewTeam:!0}})}catch(J0){console.error(`Failed to load ${qm}:`,J0);try{await pathExists(Vm)&&(console.log(`Cleaning up failed clone: removing ${Vm} from IndexedDB`),await removeDirectory(Vm))}catch(Hw){console.error("Error cleaning up failed clone:",Hw)}ml(!1)}}catch(Vm){console.error(`Failed to clone repository: ${Vm}`);try{const eg=`/${qm}`;await pathExists(eg)&&(console.log(`Cleaning up failed clone: removing ${eg} from IndexedDB`),await removeDirectory(eg))}catch(eg){console.error("Error cleaning up failed clone:",eg)}ml(!1)}}catch(np){console.error("Failed to create GitHub Repository:",np),ml(!1)}},isLoading:pl,currentStep:gl,statusMessage:xu,loadingSteps:[{id:"creating-repo",label:"Creating GitHub repository"},{id:"cloning-repo",label:"Cloning repository"},{id:"adding-files",label:"Adding initial files"},{id:"committing-changes",label:"Committing changes"},{id:"pushing-changes",label:"Pushing to GitHub"},{id:"loading-module",label:"Loading module"},{id:"adding-workspace",label:"Adding to workspace"}]}},extractRepoNameFromGitUrl=la=>{const aa=/(?:git\+)?https:\/\/(?:[^@]+@)?github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,ca=la.match(aa);if(ca){const[,,ua]=ca;return ua}return null},getDependenciesRecursive=async(la,aa,ca=new Set)=>{const ua=Object.entries(aa).filter(([hl,pl])=>{if(!(typeof pl=="string"&&pl.startsWith("git+http")))return!1;const wc=(typeof pl=="string"?extractRepoNameFromGitUrl(pl):null)||hl.split(".")[0],xu=!ca.has(wc);return xu&&ca.add(wc),xu});return ua.length===0?[]:(await Promise.all(ua.map(async([hl,pl])=>{const gl=(typeof pl=="string"?extractRepoNameFromGitUrl(pl):null)||hl.split(".")[0],wc=[gl];try{const xu=await readDependencyPackageJsonFromGit(la,gl);if(xu.dependencies){const ff=await getDependenciesRecursive(la,xu.dependencies,ca);wc.push(...ff)}}catch(xu){console.error(`Failed to process dependency ${gl}:`,xu)}return wc}))).flat()},fetchDependencies=async la=>{const ca=(await readPackageJsonFromGit(la)).dependencies||{},ua=Object.entries(ca).filter(([,hl])=>typeof hl=="string"&&hl.startsWith("git+http")).map(([hl,pl])=>(typeof pl=="string"?extractRepoNameFromGitUrl(pl):null)||hl.split(".")[0]),Sa=await getDependenciesRecursive(la,ca,new Set(ua));return Array.from(new Set([...ua,...Sa]))},filterModulesForDependency=(la,aa)=>{const ca=aa.toLowerCase(),ua=ca.replace(/_/g,"");return la.filter(Sa=>{const hl=Sa.toLowerCase(),pl=hl.split(".")[0];return hl.startsWith(ca)||pl===ua})},useDependencies=()=>{const{currentTeam:la}=useTeams(),aa=la?.GitHubRepo,ca=useQueryClient(),{data:ua=[],isLoading:Sa,refetch:hl}=useQuery({queryKey:["dependencies",aa],queryFn:()=>fetchDependencies(aa),enabled:!!aa}),pl=getUserModuleNames(),ml=[aa,...ua].map(Uf=>({label:Uf||"",value:Uf||""})),gl=Uf=>filterModulesForDependency(pl,Uf),wc=()=>getTeamModules(aa),xu=async()=>{await ca.invalidateQueries({queryKey:["dependencies",aa]}),await hl()},ff=aa||"",jf=ff?gl(ff)[0]:"";return{dependencies:ua,dependenciesOptions:ml,loading:Sa,getDependenciesModule:gl,getTeamModules:wc,defaultDependency:ff,defaultModule:jf,refetchDependencies:xu}},useDoubleClick=(la,aa,ca=300)=>{const ua=reactExports.useRef(null),Sa=reactExports.useRef(0),hl=reactExports.useCallback(pl=>{pl.stopPropagation(),pl.preventDefault(),Sa.current+=1,Sa.current===1?ua.current=setTimeout(()=>{Sa.current===1&&la(pl),Sa.current=0,ua.current=null},ca):Sa.current===2&&(ua.current&&(clearTimeout(ua.current),ua.current=null),aa(pl),Sa.current=0)},[la,aa,ca]);return reactExports.useEffect(()=>()=>{ua.current&&clearTimeout(ua.current)},[]),hl},validationScehma=create$3().shape({email:create$6().email("Invalid email").required("Email is required"),password:create$6().required("Password is required")}),SignIn=()=>{const{login:la}=useAuth(),aa=useNavigate();return reactExports.useEffect(()=>{{aa("/design/dashboard");return}},[aa]),jsxRuntimeExports.jsx(Formik,{initialValues:{email:"",password:""},validationSchema:validationScehma,onSubmit:ca=>{const{email:ua,password:Sa}=ca;la(ua,Sa)},children:jsxRuntimeExports.jsxs(Form$6,{className:"auth-input-container",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 items-center",children:[jsxRuntimeExports.jsx("h1",{className:"text-center",children:"Sign In"}),jsxRuntimeExports.jsx("p",{className:"text-center",children:"Get started with building your team of AI Agents"})]}),jsxRuntimeExports.jsx(nht,{name:"email",placeholder:"Email",type:"email"}),jsxRuntimeExports.jsx(sht,{name:"password",placeholder:"Password"}),jsxRuntimeExports.jsx("div",{className:"auth-link text-right",onClick:()=>aa("/forgot-password"),children:"Forgot password?"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"submit-button",children:"Sign in"}),jsxRuntimeExports.jsxs("p",{className:"flex justify-center items-center gap-2",children:[jsxRuntimeExports.jsx("span",{children:"No account ?"}),jsxRuntimeExports.jsx(Link,{className:"auth-link font-bold",to:"/signup",children:"Sign Up"})]})]})})},uppercaseRegex=/[A-Z]/,lowercaseRegex=/[a-z]/,numberRegex=/[0-9]/,specialCharRegex=/[!@#$%^&*(),.?":{}|<>]/,validationSchema$e=create$3().shape({firstName:create$6().required("First Name is required").min(2,"First Name must be at least 2 characters").max(50,"First Name must be less than 50 characters"),lastName:create$6().required("Last Name is required").min(2,"Last Name must be at least 2 characters").max(50,"Last Name must be less than 50 characters"),email:create$6().required("Email is required").email("Invalid email address"),password:create$6().required("Password is required").min(8,"Password must be at least 8 characters").matches(uppercaseRegex,"Password must contain at least one uppercase letter").matches(lowercaseRegex,"Password must contain at least one lowercase letter").matches(numberRegex,"Password must contain at least one number").matches(specialCharRegex,"Password must contain at least one special character"),confirmPassword:create$6().required("Confirm Password is required").oneOf([create$9("password")],"Passwords don't match")}),SignUp=()=>{const la=useNavigate(),{signUp:aa,isSigningUp:ca}=useSignUp(),[ua,Sa]=reactExports.useState(null);return jsxRuntimeExports.jsx(Formik,{initialValues:{firstName:"",lastName:"",email:"",password:"",confirmPassword:""},validationSchema:validationSchema$e,onSubmit:async(hl,{setSubmitting:pl})=>{Sa(null);try{const ml=await aa({firstName:hl.firstName,lastName:hl.lastName,email:hl.email,password:hl.password});!ml.success&&ml.error&&Sa(ml.error)}catch{Sa("An unexpected error occurred. Please try again.")}finally{pl(!1)}},children:jsxRuntimeExports.jsxs(Form$6,{className:"auth-input-container",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 items-center",children:[jsxRuntimeExports.jsx("h1",{className:"text-center",children:"Sign Up"}),jsxRuntimeExports.jsx("p",{className:"text-center",children:"Get started with building your team of AI Agents"})]}),jsxRuntimeExports.jsxs("div",{className:"md:grid flex flex-col md:grid-cols-2 gap-2",children:[jsxRuntimeExports.jsx(nht,{name:"firstName",placeholder:"First Name"}),jsxRuntimeExports.jsx(nht,{name:"lastName",placeholder:"Last Name"}),jsxRuntimeExports.jsx("div",{className:"col-span-2",children:jsxRuntimeExports.jsx(nht,{name:"email",placeholder:"Email",type:"email"})}),jsxRuntimeExports.jsx(sht,{name:"password",placeholder:"Password"}),jsxRuntimeExports.jsx(sht,{name:"confirmPassword",placeholder:"Confirm Password"})]}),ua&&jsxRuntimeExports.jsx("div",{className:"text-red-500 text-sm text-center p-2",children:ua}),jsxRuntimeExports.jsx("button",{type:"submit",className:"submit-button",disabled:ca,children:ca?"Creating Account...":"Create Account"}),jsxRuntimeExports.jsxs("p",{className:"flex justify-center items-center gap-2",children:[jsxRuntimeExports.jsx("span",{children:"Already have an account ?"}),jsxRuntimeExports.jsx("span",{className:"auth-link font-bold",onClick:()=>la("/"),children:"Sign In"})]})]})})},validationSchema$d=create$3().shape({email:create$6().required("Email is required").email("Invalid email address")}),ForgotPassword=()=>{const la=useNavigate();return jsxRuntimeExports.jsx(Formik,{initialValues:{email:""},validationSchema:validationSchema$d,onSubmit:aa=>{const{email:ca}=aa;console.log(ca)},children:jsxRuntimeExports.jsxs(Form$6,{className:"auth-input-container",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center",children:[jsxRuntimeExports.jsx("h1",{className:"text-center",children:"Reset Password"}),jsxRuntimeExports.jsx("p",{className:"text-center",children:"Send confirmation code to your email"})]}),jsxRuntimeExports.jsx(nht,{name:"email",placeholder:"Email",type:"email"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"submit-button",children:"Send confirmation code"}),jsxRuntimeExports.jsxs("p",{className:"flex flex-col md:flex-row justify-center items-center gap-2",children:[jsxRuntimeExports.jsx("span",{children:"Already recovered your password ?"}),jsxRuntimeExports.jsx("span",{className:"auth-link font-bold",onClick:()=>la("/"),children:"Sign In"})]})]})})},numberOnlyRegex=/^[0-9]+$/,validationSchema$c=create$3().shape({email:create$6().required("Email is required").email("Invalid email address"),password:create$6().required("Password is required"),code:create$6().matches(numberOnlyRegex,"Code must contain only numbers")}),RecoverPassword=()=>{const la=useNavigate();return jsxRuntimeExports.jsx(Formik,{validationSchema:validationSchema$c,initialValues:{email:"",password:"",code:""},onSubmit:aa=>{const{email:ca,password:ua,code:Sa}=aa;console.log(ca,ua,Sa)},children:jsxRuntimeExports.jsxs(Form$6,{className:"auth-input-container",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center",children:[jsxRuntimeExports.jsx("h1",{className:"text-center",children:"Reset Password"}),jsxRuntimeExports.jsx("p",{className:"text-center",children:"Set new password"})]}),jsxRuntimeExports.jsx(nht,{name:"email",placeholder:"Email",type:"email"}),jsxRuntimeExports.jsx(sht,{name:"password",placeholder:"Password"}),jsxRuntimeExports.jsx(sht,{name:"code",placeholder:"Code"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"submit-button",children:"Set new password"}),jsxRuntimeExports.jsxs("p",{className:"flex flex-col md:flex-row justify-center items-center gap-2",children:[jsxRuntimeExports.jsx("span",{children:"Already recovered your password ?"}),jsxRuntimeExports.jsx("span",{className:"auth-link font-bold",onClick:()=>la("/"),children:"Sign In"})]})]})})};var classnames={exports:{}};/*!
@@ -19578,7 +19578,7 @@ export default theme;`}function coefficientToPercentage(la){return typeof la=="n
19578
19578
  }
19579
19579
  `),()=>{qm.contains(np)&&qm.removeChild(np)}},[aa]),jsxRuntimeExports.jsx(PopChildMeasure,{isPresent:aa,childRef:hl,sizeRef:pl,children:reactExports.cloneElement(la,{ref:gl})})}const PresenceChild=({children:la,initial:aa,isPresent:ca,onExitComplete:ua,custom:Sa,presenceAffectsLayout:hl,mode:pl,anchorX:ml,root:gl})=>{const wc=useConstant(newChildrenMap),xu=reactExports.useId();let ff=!0,jf=reactExports.useMemo(()=>(ff=!1,{id:xu,initial:aa,isPresent:ca,custom:Sa,onExitComplete:Uf=>{wc.set(Uf,!0);for(const rp of wc.values())if(!rp)return;ua&&ua()},register:Uf=>(wc.set(Uf,!1),()=>wc.delete(Uf))}),[ca,wc,ua]);return hl&&ff&&(jf={...jf}),reactExports.useMemo(()=>{wc.forEach((Uf,rp)=>wc.set(rp,!1))},[ca]),reactExports.useEffect(()=>{!ca&&!wc.size&&ua&&ua()},[ca]),pl==="popLayout"&&(la=jsxRuntimeExports.jsx(PopChild,{isPresent:ca,anchorX:ml,root:gl,children:la})),jsxRuntimeExports.jsx(PresenceContext.Provider,{value:jf,children:la})};function newChildrenMap(){return new Map}function usePresence$1(la=!0){const aa=reactExports.useContext(PresenceContext);if(aa===null)return[!0,null];const{isPresent:ca,onExitComplete:ua,register:Sa}=aa,hl=reactExports.useId();reactExports.useEffect(()=>{if(la)return Sa(hl)},[la]);const pl=reactExports.useCallback(()=>la&&ua&&ua(hl),[hl,ua,la]);return!ca&&ua?[!1,pl]:[!0]}const getChildKey=la=>la.key||"";function onlyElements(la){const aa=[];return reactExports.Children.forEach(la,ca=>{reactExports.isValidElement(ca)&&aa.push(ca)}),aa}const AnimatePresence=({children:la,custom:aa,initial:ca=!0,onExitComplete:ua,presenceAffectsLayout:Sa=!0,mode:hl="sync",propagate:pl=!1,anchorX:ml="left",root:gl})=>{const[wc,xu]=usePresence$1(pl),ff=reactExports.useMemo(()=>onlyElements(la),[la]),jf=pl&&!wc?[]:ff.map(getChildKey),Uf=reactExports.useRef(!0),rp=reactExports.useRef(ff),np=useConstant(()=>new Map),[qm,Vm]=reactExports.useState(ff),[eg,tg]=reactExports.useState(ff);useIsomorphicLayoutEffect$2(()=>{Uf.current=!1,rp.current=ff;for(let vv=0;vv<eg.length;vv++){const k1=getChildKey(eg[vv]);jf.includes(k1)?np.delete(k1):np.get(k1)!==!0&&np.set(k1,!1)}},[eg,jf.length,jf.join("-")]);const rg=[];if(ff!==qm){let vv=[...ff];for(let k1=0;k1<eg.length;k1++){const qw=eg[k1],K0=getChildKey(qw);jf.includes(K0)||(vv.splice(k1,0,qw),rg.push(qw))}return hl==="wait"&&rg.length&&(vv=rg),tg(onlyElements(vv)),Vm(ff),null}const{forceRender:ig}=reactExports.useContext(LayoutGroupContext);return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:eg.map(vv=>{const k1=getChildKey(vv),qw=pl&&!wc?!1:ff===eg||jf.includes(k1),K0=()=>{if(np.has(k1))np.set(k1,!0);else return;let J0=!0;np.forEach(Hw=>{Hw||(J0=!1)}),J0&&(ig?.(),tg(rp.current),pl&&xu?.(),ua&&ua())};return jsxRuntimeExports.jsx(PresenceChild,{isPresent:qw,initial:!Uf.current||ca?void 0:!1,custom:aa,presenceAffectsLayout:Sa,mode:hl,root:gl,onExitComplete:qw?void 0:K0,anchorX:ml,children:vv},k1)})})},LazyContext=reactExports.createContext({strict:!1}),featureProps={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},featureDefinitions={};for(const la in featureProps)featureDefinitions[la]={isEnabled:aa=>featureProps[la].some(ca=>!!aa[ca])};function loadFeatures(la){for(const aa in la)featureDefinitions[aa]={...featureDefinitions[aa],...la[aa]}}const validMotionProps=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function isValidMotionProp(la){return la.startsWith("while")||la.startsWith("drag")&&la!=="draggable"||la.startsWith("layout")||la.startsWith("onTap")||la.startsWith("onPan")||la.startsWith("onLayout")||validMotionProps.has(la)}let shouldForward=la=>!isValidMotionProp(la);function loadExternalIsValidProp(la){typeof la=="function"&&(shouldForward=aa=>aa.startsWith("on")?!isValidMotionProp(aa):la(aa))}try{loadExternalIsValidProp(require("@emotion/is-prop-valid").default)}catch{}function filterProps(la,aa,ca){const ua={};for(const Sa in la)Sa==="values"&&typeof la.values=="object"||(shouldForward(Sa)||ca===!0&&isValidMotionProp(Sa)||!aa&&!isValidMotionProp(Sa)||la.draggable&&Sa.startsWith("onDrag"))&&(ua[Sa]=la[Sa]);return ua}const MotionContext=reactExports.createContext({});function isAnimationControls(la){return la!==null&&typeof la=="object"&&typeof la.start=="function"}function isVariantLabel(la){return typeof la=="string"||Array.isArray(la)}const variantPriorityOrder=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],variantProps=["initial",...variantPriorityOrder];function isControllingVariants(la){return isAnimationControls(la.animate)||variantProps.some(aa=>isVariantLabel(la[aa]))}function isVariantNode(la){return!!(isControllingVariants(la)||la.variants)}function getCurrentTreeVariants(la,aa){if(isControllingVariants(la)){const{initial:ca,animate:ua}=la;return{initial:ca===!1||isVariantLabel(ca)?ca:void 0,animate:isVariantLabel(ua)?ua:void 0}}return la.inherit!==!1?aa:{}}function useCreateMotionContext(la){const{initial:aa,animate:ca}=getCurrentTreeVariants(la,reactExports.useContext(MotionContext));return reactExports.useMemo(()=>({initial:aa,animate:ca}),[variantLabelsAsDependency(aa),variantLabelsAsDependency(ca)])}function variantLabelsAsDependency(la){return Array.isArray(la)?la.join(" "):la}function pixelsToPercent(la,aa){return aa.max===aa.min?0:la/(aa.max-aa.min)*100}const correctBorderRadius={correct:(la,aa)=>{if(!aa.target)return la;if(typeof la=="string")if(px.test(la))la=parseFloat(la);else return la;const ca=pixelsToPercent(la,aa.target.x),ua=pixelsToPercent(la,aa.target.y);return`${ca}% ${ua}%`}},correctBoxShadow={correct:(la,{treeScale:aa,projectionDelta:ca})=>{const ua=la,Sa=complex.parse(la);if(Sa.length>5)return ua;const hl=complex.createTransformer(la),pl=typeof Sa[0]!="number"?1:0,ml=ca.x.scale*aa.x,gl=ca.y.scale*aa.y;Sa[0+pl]/=ml,Sa[1+pl]/=gl;const wc=mixNumber$1(ml,gl,.5);return typeof Sa[2+pl]=="number"&&(Sa[2+pl]/=wc),typeof Sa[3+pl]=="number"&&(Sa[3+pl]/=wc),hl(Sa)}},scaleCorrectors={borderRadius:{...correctBorderRadius,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:correctBorderRadius,borderTopRightRadius:correctBorderRadius,borderBottomLeftRadius:correctBorderRadius,borderBottomRightRadius:correctBorderRadius,boxShadow:correctBoxShadow};function isForcedMotionValue(la,{layout:aa,layoutId:ca}){return transformProps.has(la)||la.startsWith("origin")||(aa||ca!==void 0)&&(!!scaleCorrectors[la]||la==="opacity")}const translateAlias={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},numTransforms=transformPropOrder.length;function buildTransform(la,aa,ca){let ua="",Sa=!0;for(let hl=0;hl<numTransforms;hl++){const pl=transformPropOrder[hl],ml=la[pl];if(ml===void 0)continue;let gl=!0;if(typeof ml=="number"?gl=ml===(pl.startsWith("scale")?1:0):gl=parseFloat(ml)===0,!gl||ca){const wc=getValueAsType(ml,numberValueTypes[pl]);if(!gl){Sa=!1;const xu=translateAlias[pl]||pl;ua+=`${xu}(${wc}) `}ca&&(aa[pl]=wc)}}return ua=ua.trim(),ca?ua=ca(aa,Sa?"":ua):Sa&&(ua="none"),ua}function buildHTMLStyles(la,aa,ca){const{style:ua,vars:Sa,transformOrigin:hl}=la;let pl=!1,ml=!1;for(const gl in aa){const wc=aa[gl];if(transformProps.has(gl)){pl=!0;continue}else if(isCSSVariableName(gl)){Sa[gl]=wc;continue}else{const xu=getValueAsType(wc,numberValueTypes[gl]);gl.startsWith("origin")?(ml=!0,hl[gl]=xu):ua[gl]=xu}}if(aa.transform||(pl||ca?ua.transform=buildTransform(aa,la.transform,ca):ua.transform&&(ua.transform="none")),ml){const{originX:gl="50%",originY:wc="50%",originZ:xu=0}=hl;ua.transformOrigin=`${gl} ${wc} ${xu}`}}const createHtmlRenderState=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function copyRawValuesOnly(la,aa,ca){for(const ua in aa)!isMotionValue(aa[ua])&&!isForcedMotionValue(ua,ca)&&(la[ua]=aa[ua])}function useInitialMotionValues({transformTemplate:la},aa){return reactExports.useMemo(()=>{const ca=createHtmlRenderState();return buildHTMLStyles(ca,aa,la),Object.assign({},ca.vars,ca.style)},[aa])}function useStyle(la,aa){const ca=la.style||{},ua={};return copyRawValuesOnly(ua,ca,la),Object.assign(ua,useInitialMotionValues(la,aa)),ua}function useHTMLProps(la,aa){const ca={},ua=useStyle(la,aa);return la.drag&&la.dragListener!==!1&&(ca.draggable=!1,ua.userSelect=ua.WebkitUserSelect=ua.WebkitTouchCallout="none",ua.touchAction=la.drag===!0?"none":`pan-${la.drag==="x"?"y":"x"}`),la.tabIndex===void 0&&(la.onTap||la.onTapStart||la.whileTap)&&(ca.tabIndex=0),ca.style=ua,ca}const dashKeys={offset:"stroke-dashoffset",array:"stroke-dasharray"},camelKeys={offset:"strokeDashoffset",array:"strokeDasharray"};function buildSVGPath(la,aa,ca=1,ua=0,Sa=!0){la.pathLength=1;const hl=Sa?dashKeys:camelKeys;la[hl.offset]=px.transform(-ua);const pl=px.transform(aa),ml=px.transform(ca);la[hl.array]=`${pl} ${ml}`}function buildSVGAttrs(la,{attrX:aa,attrY:ca,attrScale:ua,pathLength:Sa,pathSpacing:hl=1,pathOffset:pl=0,...ml},gl,wc,xu){if(buildHTMLStyles(la,ml,wc),gl){la.style.viewBox&&(la.attrs.viewBox=la.style.viewBox);return}la.attrs=la.style,la.style={};const{attrs:ff,style:jf}=la;ff.transform&&(jf.transform=ff.transform,delete ff.transform),(jf.transform||ff.transformOrigin)&&(jf.transformOrigin=ff.transformOrigin??"50% 50%",delete ff.transformOrigin),jf.transform&&(jf.transformBox=xu?.transformBox??"fill-box",delete ff.transformBox),aa!==void 0&&(ff.x=aa),ca!==void 0&&(ff.y=ca),ua!==void 0&&(ff.scale=ua),Sa!==void 0&&buildSVGPath(ff,Sa,hl,pl,!1)}const createSvgRenderState=()=>({...createHtmlRenderState(),attrs:{}}),isSVGTag=la=>typeof la=="string"&&la.toLowerCase()==="svg";function useSVGProps(la,aa,ca,ua){const Sa=reactExports.useMemo(()=>{const hl=createSvgRenderState();return buildSVGAttrs(hl,aa,isSVGTag(ua),la.transformTemplate,la.style),{...hl.attrs,style:{...hl.style}}},[aa]);if(la.style){const hl={};copyRawValuesOnly(hl,la.style,la),Sa.style={...hl,...Sa.style}}return Sa}const lowercaseSVGElements=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function isSVGComponent(la){return typeof la!="string"||la.includes("-")?!1:!!(lowercaseSVGElements.indexOf(la)>-1||/[A-Z]/u.test(la))}function useRender(la,aa,ca,{latestValues:ua},Sa,hl=!1){const ml=(isSVGComponent(la)?useSVGProps:useHTMLProps)(aa,ua,Sa,la),gl=filterProps(aa,typeof la=="string",hl),wc=la!==reactExports.Fragment?{...gl,...ml,ref:ca}:{},{children:xu}=aa,ff=reactExports.useMemo(()=>isMotionValue(xu)?xu.get():xu,[xu]);return reactExports.createElement(la,{...wc,children:ff})}function getValueState(la){const aa=[{},{}];return la?.values.forEach((ca,ua)=>{aa[0][ua]=ca.get(),aa[1][ua]=ca.getVelocity()}),aa}function resolveVariantFromProps(la,aa,ca,ua){if(typeof aa=="function"){const[Sa,hl]=getValueState(ua);aa=aa(ca!==void 0?ca:la.custom,Sa,hl)}if(typeof aa=="string"&&(aa=la.variants&&la.variants[aa]),typeof aa=="function"){const[Sa,hl]=getValueState(ua);aa=aa(ca!==void 0?ca:la.custom,Sa,hl)}return aa}function resolveMotionValue(la){return isMotionValue(la)?la.get():la}function makeState({scrapeMotionValuesFromProps:la,createRenderState:aa},ca,ua,Sa){return{latestValues:makeLatestValues(ca,ua,Sa,la),renderState:aa()}}function makeLatestValues(la,aa,ca,ua){const Sa={},hl=ua(la,{});for(const jf in hl)Sa[jf]=resolveMotionValue(hl[jf]);let{initial:pl,animate:ml}=la;const gl=isControllingVariants(la),wc=isVariantNode(la);aa&&wc&&!gl&&la.inherit!==!1&&(pl===void 0&&(pl=aa.initial),ml===void 0&&(ml=aa.animate));let xu=ca?ca.initial===!1:!1;xu=xu||pl===!1;const ff=xu?ml:pl;if(ff&&typeof ff!="boolean"&&!isAnimationControls(ff)){const jf=Array.isArray(ff)?ff:[ff];for(let Uf=0;Uf<jf.length;Uf++){const rp=resolveVariantFromProps(la,jf[Uf]);if(rp){const{transitionEnd:np,transition:qm,...Vm}=rp;for(const eg in Vm){let tg=Vm[eg];if(Array.isArray(tg)){const rg=xu?tg.length-1:0;tg=tg[rg]}tg!==null&&(Sa[eg]=tg)}for(const eg in np)Sa[eg]=np[eg]}}}return Sa}const makeUseVisualState=la=>(aa,ca)=>{const ua=reactExports.useContext(MotionContext),Sa=reactExports.useContext(PresenceContext),hl=()=>makeState(la,aa,ua,Sa);return ca?hl():useConstant(hl)};function scrapeMotionValuesFromProps$1(la,aa,ca){const{style:ua}=la,Sa={};for(const hl in ua)(isMotionValue(ua[hl])||aa.style&&isMotionValue(aa.style[hl])||isForcedMotionValue(hl,la)||ca?.getValue(hl)?.liveStyle!==void 0)&&(Sa[hl]=ua[hl]);return Sa}const useHTMLVisualState=makeUseVisualState({scrapeMotionValuesFromProps:scrapeMotionValuesFromProps$1,createRenderState:createHtmlRenderState});function scrapeMotionValuesFromProps(la,aa,ca){const ua=scrapeMotionValuesFromProps$1(la,aa,ca);for(const Sa in la)if(isMotionValue(la[Sa])||isMotionValue(aa[Sa])){const hl=transformPropOrder.indexOf(Sa)!==-1?"attr"+Sa.charAt(0).toUpperCase()+Sa.substring(1):Sa;ua[hl]=la[Sa]}return ua}const useSVGVisualState=makeUseVisualState({scrapeMotionValuesFromProps,createRenderState:createSvgRenderState}),motionComponentSymbol=Symbol.for("motionComponentSymbol");function isRefObject(la){return la&&typeof la=="object"&&Object.prototype.hasOwnProperty.call(la,"current")}function useMotionRef(la,aa,ca){return reactExports.useCallback(ua=>{ua&&la.onMount&&la.onMount(ua),aa&&(ua?aa.mount(ua):aa.unmount()),ca&&(typeof ca=="function"?ca(ua):isRefObject(ca)&&(ca.current=ua))},[aa])}const camelToDash=la=>la.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),optimizedAppearDataId="framerAppearId",optimizedAppearDataAttribute="data-"+camelToDash(optimizedAppearDataId),SwitchLayoutGroupContext=reactExports.createContext({});function useVisualElement(la,aa,ca,ua,Sa){const{visualElement:hl}=reactExports.useContext(MotionContext),pl=reactExports.useContext(LazyContext),ml=reactExports.useContext(PresenceContext),gl=reactExports.useContext(MotionConfigContext).reducedMotion,wc=reactExports.useRef(null);ua=ua||pl.renderer,!wc.current&&ua&&(wc.current=ua(la,{visualState:aa,parent:hl,props:ca,presenceContext:ml,blockInitialAnimation:ml?ml.initial===!1:!1,reducedMotionConfig:gl}));const xu=wc.current,ff=reactExports.useContext(SwitchLayoutGroupContext);xu&&!xu.projection&&Sa&&(xu.type==="html"||xu.type==="svg")&&createProjectionNode$1(wc.current,ca,Sa,ff);const jf=reactExports.useRef(!1);reactExports.useInsertionEffect(()=>{xu&&jf.current&&xu.update(ca,ml)});const Uf=ca[optimizedAppearDataAttribute],rp=reactExports.useRef(!!Uf&&!window.MotionHandoffIsComplete?.(Uf)&&window.MotionHasOptimisedAnimation?.(Uf));return useIsomorphicLayoutEffect$2(()=>{xu&&(jf.current=!0,window.MotionIsMounted=!0,xu.updateFeatures(),xu.scheduleRenderMicrotask(),rp.current&&xu.animationState&&xu.animationState.animateChanges())}),reactExports.useEffect(()=>{xu&&(!rp.current&&xu.animationState&&xu.animationState.animateChanges(),rp.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(Uf)}),rp.current=!1),xu.enteringChildren=void 0)}),xu}function createProjectionNode$1(la,aa,ca,ua){const{layoutId:Sa,layout:hl,drag:pl,dragConstraints:ml,layoutScroll:gl,layoutRoot:wc,layoutCrossfade:xu}=aa;la.projection=new ca(la.latestValues,aa["data-framer-portal-id"]?void 0:getClosestProjectingNode(la.parent)),la.projection.setOptions({layoutId:Sa,layout:hl,alwaysMeasureLayout:!!pl||ml&&isRefObject(ml),visualElement:la,animationType:typeof hl=="string"?hl:"both",initialPromotionConfig:ua,crossfade:xu,layoutScroll:gl,layoutRoot:wc})}function getClosestProjectingNode(la){if(la)return la.options.allowProjection!==!1?la.projection:getClosestProjectingNode(la.parent)}function createMotionComponent(la,{forwardMotionProps:aa=!1}={},ca,ua){ca&&loadFeatures(ca);const Sa=isSVGComponent(la)?useSVGVisualState:useHTMLVisualState;function hl(ml,gl){let wc;const xu={...reactExports.useContext(MotionConfigContext),...ml,layoutId:useLayoutId(ml)},{isStatic:ff}=xu,jf=useCreateMotionContext(ml),Uf=Sa(ml,ff);if(!ff&&isBrowser){useStrictMode();const rp=getProjectionFunctionality(xu);wc=rp.MeasureLayout,jf.visualElement=useVisualElement(la,Uf,xu,ua,rp.ProjectionNode)}return jsxRuntimeExports.jsxs(MotionContext.Provider,{value:jf,children:[wc&&jf.visualElement?jsxRuntimeExports.jsx(wc,{visualElement:jf.visualElement,...xu}):null,useRender(la,ml,useMotionRef(Uf,jf.visualElement,gl),Uf,ff,aa)]})}hl.displayName=`motion.${typeof la=="string"?la:`create(${la.displayName??la.name??""})`}`;const pl=reactExports.forwardRef(hl);return pl[motionComponentSymbol]=la,pl}function useLayoutId({layoutId:la}){const aa=reactExports.useContext(LayoutGroupContext).id;return aa&&la!==void 0?aa+"-"+la:la}function useStrictMode(la,aa){reactExports.useContext(LazyContext).strict}function getProjectionFunctionality(la){const{drag:aa,layout:ca}=featureDefinitions;if(!aa&&!ca)return{};const ua={...aa,...ca};return{MeasureLayout:aa?.isEnabled(la)||ca?.isEnabled(la)?ua.MeasureLayout:void 0,ProjectionNode:ua.ProjectionNode}}function createMotionProxy(la,aa){if(typeof Proxy>"u")return createMotionComponent;const ca=new Map,ua=(hl,pl)=>createMotionComponent(hl,pl,la,aa),Sa=(hl,pl)=>ua(hl,pl);return new Proxy(Sa,{get:(hl,pl)=>pl==="create"?ua:(ca.has(pl)||ca.set(pl,createMotionComponent(pl,void 0,la,aa)),ca.get(pl))})}function convertBoundingBoxToBox({top:la,left:aa,right:ca,bottom:ua}){return{x:{min:aa,max:ca},y:{min:la,max:ua}}}function convertBoxToBoundingBox({x:la,y:aa}){return{top:aa.min,right:la.max,bottom:aa.max,left:la.min}}function transformBoxPoints(la,aa){if(!aa)return la;const ca=aa({x:la.left,y:la.top}),ua=aa({x:la.right,y:la.bottom});return{top:ca.y,left:ca.x,bottom:ua.y,right:ua.x}}function isIdentityScale(la){return la===void 0||la===1}function hasScale({scale:la,scaleX:aa,scaleY:ca}){return!isIdentityScale(la)||!isIdentityScale(aa)||!isIdentityScale(ca)}function hasTransform(la){return hasScale(la)||has2DTranslate(la)||la.z||la.rotate||la.rotateX||la.rotateY||la.skewX||la.skewY}function has2DTranslate(la){return is2DTranslate(la.x)||is2DTranslate(la.y)}function is2DTranslate(la){return la&&la!=="0%"}function scalePoint(la,aa,ca){const ua=la-ca,Sa=aa*ua;return ca+Sa}function applyPointDelta(la,aa,ca,ua,Sa){return Sa!==void 0&&(la=scalePoint(la,Sa,ua)),scalePoint(la,ca,ua)+aa}function applyAxisDelta(la,aa=0,ca=1,ua,Sa){la.min=applyPointDelta(la.min,aa,ca,ua,Sa),la.max=applyPointDelta(la.max,aa,ca,ua,Sa)}function applyBoxDelta(la,{x:aa,y:ca}){applyAxisDelta(la.x,aa.translate,aa.scale,aa.originPoint),applyAxisDelta(la.y,ca.translate,ca.scale,ca.originPoint)}const TREE_SCALE_SNAP_MIN=.999999999999,TREE_SCALE_SNAP_MAX=1.0000000000001;function applyTreeDeltas(la,aa,ca,ua=!1){const Sa=ca.length;if(!Sa)return;aa.x=aa.y=1;let hl,pl;for(let ml=0;ml<Sa;ml++){hl=ca[ml],pl=hl.projectionDelta;const{visualElement:gl}=hl.options;gl&&gl.props.style&&gl.props.style.display==="contents"||(ua&&hl.options.layoutScroll&&hl.scroll&&hl!==hl.root&&transformBox(la,{x:-hl.scroll.offset.x,y:-hl.scroll.offset.y}),pl&&(aa.x*=pl.x.scale,aa.y*=pl.y.scale,applyBoxDelta(la,pl)),ua&&hasTransform(hl.latestValues)&&transformBox(la,hl.latestValues))}aa.x<TREE_SCALE_SNAP_MAX&&aa.x>TREE_SCALE_SNAP_MIN&&(aa.x=1),aa.y<TREE_SCALE_SNAP_MAX&&aa.y>TREE_SCALE_SNAP_MIN&&(aa.y=1)}function translateAxis(la,aa){la.min=la.min+aa,la.max=la.max+aa}function transformAxis(la,aa,ca,ua,Sa=.5){const hl=mixNumber$1(la.min,la.max,Sa);applyAxisDelta(la,aa,ca,hl,ua)}function transformBox(la,aa){transformAxis(la.x,aa.x,aa.scaleX,aa.scale,aa.originX),transformAxis(la.y,aa.y,aa.scaleY,aa.scale,aa.originY)}function measureViewportBox(la,aa){return convertBoundingBoxToBox(transformBoxPoints(la.getBoundingClientRect(),aa))}function measurePageBox(la,aa,ca){const ua=measureViewportBox(la,ca),{scroll:Sa}=aa;return Sa&&(translateAxis(ua.x,Sa.offset.x),translateAxis(ua.y,Sa.offset.y)),ua}const createAxisDelta=()=>({translate:0,scale:1,origin:0,originPoint:0}),createDelta=()=>({x:createAxisDelta(),y:createAxisDelta()}),createAxis=()=>({min:0,max:0}),createBox=()=>({x:createAxis(),y:createAxis()}),prefersReducedMotion={current:null},hasReducedMotionListener={current:!1};function initPrefersReducedMotion(){if(hasReducedMotionListener.current=!0,!!isBrowser)if(window.matchMedia){const la=window.matchMedia("(prefers-reduced-motion)"),aa=()=>prefersReducedMotion.current=la.matches;la.addEventListener("change",aa),aa()}else prefersReducedMotion.current=!1}const visualElementStore=new WeakMap;function updateMotionValuesFromProps(la,aa,ca){for(const ua in aa){const Sa=aa[ua],hl=ca[ua];if(isMotionValue(Sa))la.addValue(ua,Sa);else if(isMotionValue(hl))la.addValue(ua,motionValue(Sa,{owner:la}));else if(hl!==Sa)if(la.hasValue(ua)){const pl=la.getValue(ua);pl.liveStyle===!0?pl.jump(Sa):pl.hasAnimated||pl.set(Sa)}else{const pl=la.getStaticValue(ua);la.addValue(ua,motionValue(pl!==void 0?pl:Sa,{owner:la}))}}for(const ua in ca)aa[ua]===void 0&&la.removeValue(ua);return aa}const propEventHandlers=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class VisualElement{scrapeMotionValuesFromProps(aa,ca,ua){return{}}constructor({parent:aa,props:ca,presenceContext:ua,reducedMotionConfig:Sa,blockInitialAnimation:hl,visualState:pl},ml={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=KeyframeResolver,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const jf=time.now();this.renderScheduledAt<jf&&(this.renderScheduledAt=jf,frame.render(this.render,!1,!0))};const{latestValues:gl,renderState:wc}=pl;this.latestValues=gl,this.baseTarget={...gl},this.initialValues=ca.initial?{...gl}:{},this.renderState=wc,this.parent=aa,this.props=ca,this.presenceContext=ua,this.depth=aa?aa.depth+1:0,this.reducedMotionConfig=Sa,this.options=ml,this.blockInitialAnimation=!!hl,this.isControllingVariants=isControllingVariants(ca),this.isVariantNode=isVariantNode(ca),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(aa&&aa.current);const{willChange:xu,...ff}=this.scrapeMotionValuesFromProps(ca,{},this);for(const jf in ff){const Uf=ff[jf];gl[jf]!==void 0&&isMotionValue(Uf)&&Uf.set(gl[jf])}}mount(aa){this.current=aa,visualElementStore.set(aa,this),this.projection&&!this.projection.instance&&this.projection.mount(aa),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((ca,ua)=>this.bindToMotionValue(ua,ca)),hasReducedMotionListener.current||initPrefersReducedMotion(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:prefersReducedMotion.current,this.parent?.addChild(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),cancelFrame(this.notifyUpdate),cancelFrame(this.render),this.valueSubscriptions.forEach(aa=>aa()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const aa in this.events)this.events[aa].clear();for(const aa in this.features){const ca=this.features[aa];ca&&(ca.unmount(),ca.isMounted=!1)}this.current=null}addChild(aa){this.children.add(aa),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(aa)}removeChild(aa){this.children.delete(aa),this.enteringChildren&&this.enteringChildren.delete(aa)}bindToMotionValue(aa,ca){this.valueSubscriptions.has(aa)&&this.valueSubscriptions.get(aa)();const ua=transformProps.has(aa);ua&&this.onBindTransform&&this.onBindTransform();const Sa=ca.on("change",pl=>{this.latestValues[aa]=pl,this.props.onUpdate&&frame.preRender(this.notifyUpdate),ua&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let hl;window.MotionCheckAppearSync&&(hl=window.MotionCheckAppearSync(this,aa,ca)),this.valueSubscriptions.set(aa,()=>{Sa(),hl&&hl(),ca.owner&&ca.stop()})}sortNodePosition(aa){return!this.current||!this.sortInstanceNodePosition||this.type!==aa.type?0:this.sortInstanceNodePosition(this.current,aa.current)}updateFeatures(){let aa="animation";for(aa in featureDefinitions){const ca=featureDefinitions[aa];if(!ca)continue;const{isEnabled:ua,Feature:Sa}=ca;if(!this.features[aa]&&Sa&&ua(this.props)&&(this.features[aa]=new Sa(this)),this.features[aa]){const hl=this.features[aa];hl.isMounted?hl.update():(hl.mount(),hl.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):createBox()}getStaticValue(aa){return this.latestValues[aa]}setStaticValue(aa,ca){this.latestValues[aa]=ca}update(aa,ca){(aa.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=aa,this.prevPresenceContext=this.presenceContext,this.presenceContext=ca;for(let ua=0;ua<propEventHandlers.length;ua++){const Sa=propEventHandlers[ua];this.propEventSubscriptions[Sa]&&(this.propEventSubscriptions[Sa](),delete this.propEventSubscriptions[Sa]);const hl="on"+Sa,pl=aa[hl];pl&&(this.propEventSubscriptions[Sa]=this.on(Sa,pl))}this.prevMotionValues=updateMotionValuesFromProps(this,this.scrapeMotionValuesFromProps(aa,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(aa){return this.props.variants?this.props.variants[aa]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(aa){const ca=this.getClosestVariantNode();if(ca)return ca.variantChildren&&ca.variantChildren.add(aa),()=>ca.variantChildren.delete(aa)}addValue(aa,ca){const ua=this.values.get(aa);ca!==ua&&(ua&&this.removeValue(aa),this.bindToMotionValue(aa,ca),this.values.set(aa,ca),this.latestValues[aa]=ca.get())}removeValue(aa){this.values.delete(aa);const ca=this.valueSubscriptions.get(aa);ca&&(ca(),this.valueSubscriptions.delete(aa)),delete this.latestValues[aa],this.removeValueFromRenderState(aa,this.renderState)}hasValue(aa){return this.values.has(aa)}getValue(aa,ca){if(this.props.values&&this.props.values[aa])return this.props.values[aa];let ua=this.values.get(aa);return ua===void 0&&ca!==void 0&&(ua=motionValue(ca===null?void 0:ca,{owner:this}),this.addValue(aa,ua)),ua}readValue(aa,ca){let ua=this.latestValues[aa]!==void 0||!this.current?this.latestValues[aa]:this.getBaseTargetFromProps(this.props,aa)??this.readValueFromInstance(this.current,aa,this.options);return ua!=null&&(typeof ua=="string"&&(isNumericalString(ua)||isZeroValueString(ua))?ua=parseFloat(ua):!findValueType(ua)&&complex.test(ca)&&(ua=getAnimatableNone(aa,ca)),this.setBaseTarget(aa,isMotionValue(ua)?ua.get():ua)),isMotionValue(ua)?ua.get():ua}setBaseTarget(aa,ca){this.baseTarget[aa]=ca}getBaseTarget(aa){const{initial:ca}=this.props;let ua;if(typeof ca=="string"||typeof ca=="object"){const hl=resolveVariantFromProps(this.props,ca,this.presenceContext?.custom);hl&&(ua=hl[aa])}if(ca&&ua!==void 0)return ua;const Sa=this.getBaseTargetFromProps(this.props,aa);return Sa!==void 0&&!isMotionValue(Sa)?Sa:this.initialValues[aa]!==void 0&&ua===void 0?void 0:this.baseTarget[aa]}on(aa,ca){return this.events[aa]||(this.events[aa]=new SubscriptionManager),this.events[aa].add(ca)}notify(aa,...ca){this.events[aa]&&this.events[aa].notify(...ca)}scheduleRenderMicrotask(){microtask.render(this.render)}}class DOMVisualElement extends VisualElement{constructor(){super(...arguments),this.KeyframeResolver=DOMKeyframesResolver}sortInstanceNodePosition(aa,ca){return aa.compareDocumentPosition(ca)&2?1:-1}getBaseTargetFromProps(aa,ca){return aa.style?aa.style[ca]:void 0}removeValueFromRenderState(aa,{vars:ca,style:ua}){delete ca[aa],delete ua[aa]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:aa}=this.props;isMotionValue(aa)&&(this.childSubscription=aa.on("change",ca=>{this.current&&(this.current.textContent=`${ca}`)}))}}function renderHTML(la,{style:aa,vars:ca},ua,Sa){const hl=la.style;let pl;for(pl in aa)hl[pl]=aa[pl];Sa?.applyProjectionStyles(hl,ua);for(pl in ca)hl.setProperty(pl,ca[pl])}function getComputedStyle$2(la){return window.getComputedStyle(la)}class HTMLVisualElement extends DOMVisualElement{constructor(){super(...arguments),this.type="html",this.renderInstance=renderHTML}readValueFromInstance(aa,ca){if(transformProps.has(ca))return this.projection?.isProjecting?defaultTransformValue(ca):readTransformValue(aa,ca);{const ua=getComputedStyle$2(aa),Sa=(isCSSVariableName(ca)?ua.getPropertyValue(ca):ua[ca])||0;return typeof Sa=="string"?Sa.trim():Sa}}measureInstanceViewportBox(aa,{transformPagePoint:ca}){return measureViewportBox(aa,ca)}build(aa,ca,ua){buildHTMLStyles(aa,ca,ua.transformTemplate)}scrapeMotionValuesFromProps(aa,ca,ua){return scrapeMotionValuesFromProps$1(aa,ca,ua)}}const camelCaseAttributes=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function renderSVG(la,aa,ca,ua){renderHTML(la,aa,void 0,ua);for(const Sa in aa.attrs)la.setAttribute(camelCaseAttributes.has(Sa)?Sa:camelToDash(Sa),aa.attrs[Sa])}class SVGVisualElement extends DOMVisualElement{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=createBox}getBaseTargetFromProps(aa,ca){return aa[ca]}readValueFromInstance(aa,ca){if(transformProps.has(ca)){const ua=getDefaultValueType(ca);return ua&&ua.default||0}return ca=camelCaseAttributes.has(ca)?ca:camelToDash(ca),aa.getAttribute(ca)}scrapeMotionValuesFromProps(aa,ca,ua){return scrapeMotionValuesFromProps(aa,ca,ua)}build(aa,ca,ua){buildSVGAttrs(aa,ca,this.isSVGTag,ua.transformTemplate,ua.style)}renderInstance(aa,ca,ua,Sa){renderSVG(aa,ca,ua,Sa)}mount(aa){this.isSVGTag=isSVGTag(aa.tagName),super.mount(aa)}}const createDomVisualElement=(la,aa)=>isSVGComponent(la)?new SVGVisualElement(aa):new HTMLVisualElement(aa,{allowProjection:la!==reactExports.Fragment});function resolveVariant(la,aa,ca){const ua=la.getProps();return resolveVariantFromProps(ua,aa,ca!==void 0?ca:ua.custom,la)}const isKeyframesTarget=la=>Array.isArray(la);function setMotionValue(la,aa,ca){la.hasValue(aa)?la.getValue(aa).set(ca):la.addValue(aa,motionValue(ca))}function resolveFinalValueInKeyframes(la){return isKeyframesTarget(la)?la[la.length-1]||0:la}function setTarget(la,aa){const ca=resolveVariant(la,aa);let{transitionEnd:ua={},transition:Sa={},...hl}=ca||{};hl={...hl,...ua};for(const pl in hl){const ml=resolveFinalValueInKeyframes(hl[pl]);setMotionValue(la,pl,ml)}}function isWillChangeMotionValue(la){return!!(isMotionValue(la)&&la.add)}function addValueToWillChange(la,aa){const ca=la.getValue("willChange");if(isWillChangeMotionValue(ca))return ca.add(aa);if(!ca&&MotionGlobalConfig.WillChange){const ua=new MotionGlobalConfig.WillChange("auto");la.addValue("willChange",ua),ua.add(aa)}}function getOptimisedAppearId(la){return la.props[optimizedAppearDataAttribute]}const isNotNull$1=la=>la!==null;function getFinalKeyframe(la,{repeat:aa,repeatType:ca="loop"},ua){const Sa=la.filter(isNotNull$1),hl=aa&&ca!=="loop"&&aa%2===1?0:Sa.length-1;return Sa[hl]}const underDampedSpring={type:"spring",stiffness:500,damping:25,restSpeed:10},criticallyDampedSpring=la=>({type:"spring",stiffness:550,damping:la===0?2*Math.sqrt(550):30,restSpeed:10}),keyframesTransition={type:"keyframes",duration:.8},ease={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},getDefaultTransition=(la,{keyframes:aa})=>aa.length>2?keyframesTransition:transformProps.has(la)?la.startsWith("scale")?criticallyDampedSpring(aa[1]):underDampedSpring:ease;function isTransitionDefined({when:la,delay:aa,delayChildren:ca,staggerChildren:ua,staggerDirection:Sa,repeat:hl,repeatType:pl,repeatDelay:ml,from:gl,elapsed:wc,...xu}){return!!Object.keys(xu).length}const animateMotionValue=(la,aa,ca,ua={},Sa,hl)=>pl=>{const ml=getValueTransition(ua,la)||{},gl=ml.delay||ua.delay||0;let{elapsed:wc=0}=ua;wc=wc-secondsToMilliseconds(gl);const xu={keyframes:Array.isArray(ca)?ca:[null,ca],ease:"easeOut",velocity:aa.getVelocity(),...ml,delay:-wc,onUpdate:jf=>{aa.set(jf),ml.onUpdate&&ml.onUpdate(jf)},onComplete:()=>{pl(),ml.onComplete&&ml.onComplete()},name:la,motionValue:aa,element:hl?void 0:Sa};isTransitionDefined(ml)||Object.assign(xu,getDefaultTransition(la,xu)),xu.duration&&(xu.duration=secondsToMilliseconds(xu.duration)),xu.repeatDelay&&(xu.repeatDelay=secondsToMilliseconds(xu.repeatDelay)),xu.from!==void 0&&(xu.keyframes[0]=xu.from);let ff=!1;if((xu.type===!1||xu.duration===0&&!xu.repeatDelay)&&(makeAnimationInstant(xu),xu.delay===0&&(ff=!0)),(MotionGlobalConfig.instantAnimations||MotionGlobalConfig.skipAnimations)&&(ff=!0,makeAnimationInstant(xu),xu.delay=0),xu.allowFlatten=!ml.type&&!ml.ease,ff&&!hl&&aa.get()!==void 0){const jf=getFinalKeyframe(xu.keyframes,ml);if(jf!==void 0){frame.update(()=>{xu.onUpdate(jf),xu.onComplete()});return}}return ml.isSync?new JSAnimation(xu):new AsyncMotionValueAnimation(xu)};function shouldBlockAnimation({protectedKeys:la,needsAnimating:aa},ca){const ua=la.hasOwnProperty(ca)&&aa[ca]!==!0;return aa[ca]=!1,ua}function animateTarget(la,aa,{delay:ca=0,transitionOverride:ua,type:Sa}={}){let{transition:hl=la.getDefaultTransition(),transitionEnd:pl,...ml}=aa;ua&&(hl=ua);const gl=[],wc=Sa&&la.animationState&&la.animationState.getState()[Sa];for(const xu in ml){const ff=la.getValue(xu,la.latestValues[xu]??null),jf=ml[xu];if(jf===void 0||wc&&shouldBlockAnimation(wc,xu))continue;const Uf={delay:ca,...getValueTransition(hl||{},xu)},rp=ff.get();if(rp!==void 0&&!ff.isAnimating&&!Array.isArray(jf)&&jf===rp&&!Uf.velocity)continue;let np=!1;if(window.MotionHandoffAnimation){const Vm=getOptimisedAppearId(la);if(Vm){const eg=window.MotionHandoffAnimation(Vm,xu,frame);eg!==null&&(Uf.startTime=eg,np=!0)}}addValueToWillChange(la,xu),ff.start(animateMotionValue(xu,ff,jf,la.shouldReduceMotion&&positionalKeys.has(xu)?{type:!1}:Uf,la,np));const qm=ff.animation;qm&&gl.push(qm)}return pl&&Promise.all(gl).then(()=>{frame.update(()=>{pl&&setTarget(la,pl)})}),gl}function calcChildStagger(la,aa,ca,ua=0,Sa=1){const hl=Array.from(la).sort((wc,xu)=>wc.sortNodePosition(xu)).indexOf(aa),pl=la.size,ml=(pl-1)*ua;return typeof ca=="function"?ca(hl,pl):Sa===1?hl*ua:ml-hl*ua}function animateVariant(la,aa,ca={}){const ua=resolveVariant(la,aa,ca.type==="exit"?la.presenceContext?.custom:void 0);let{transition:Sa=la.getDefaultTransition()||{}}=ua||{};ca.transitionOverride&&(Sa=ca.transitionOverride);const hl=ua?()=>Promise.all(animateTarget(la,ua,ca)):()=>Promise.resolve(),pl=la.variantChildren&&la.variantChildren.size?(gl=0)=>{const{delayChildren:wc=0,staggerChildren:xu,staggerDirection:ff}=Sa;return animateChildren(la,aa,gl,wc,xu,ff,ca)}:()=>Promise.resolve(),{when:ml}=Sa;if(ml){const[gl,wc]=ml==="beforeChildren"?[hl,pl]:[pl,hl];return gl().then(()=>wc())}else return Promise.all([hl(),pl(ca.delay)])}function animateChildren(la,aa,ca=0,ua=0,Sa=0,hl=1,pl){const ml=[];for(const gl of la.variantChildren)gl.notify("AnimationStart",aa),ml.push(animateVariant(gl,aa,{...pl,delay:ca+(typeof ua=="function"?0:ua)+calcChildStagger(la.variantChildren,gl,ua,Sa,hl)}).then(()=>gl.notify("AnimationComplete",aa)));return Promise.all(ml)}function animateVisualElement(la,aa,ca={}){la.notify("AnimationStart",aa);let ua;if(Array.isArray(aa)){const Sa=aa.map(hl=>animateVariant(la,hl,ca));ua=Promise.all(Sa)}else if(typeof aa=="string")ua=animateVariant(la,aa,ca);else{const Sa=typeof aa=="function"?resolveVariant(la,aa,ca.custom):aa;ua=Promise.all(animateTarget(la,Sa,ca))}return ua.then(()=>{la.notify("AnimationComplete",aa)})}function shallowCompare(la,aa){if(!Array.isArray(aa))return!1;const ca=aa.length;if(ca!==la.length)return!1;for(let ua=0;ua<ca;ua++)if(aa[ua]!==la[ua])return!1;return!0}const numVariantProps=variantProps.length;function getVariantContext(la){if(!la)return;if(!la.isControllingVariants){const ca=la.parent?getVariantContext(la.parent)||{}:{};return la.props.initial!==void 0&&(ca.initial=la.props.initial),ca}const aa={};for(let ca=0;ca<numVariantProps;ca++){const ua=variantProps[ca],Sa=la.props[ua];(isVariantLabel(Sa)||Sa===!1)&&(aa[ua]=Sa)}return aa}const reversePriorityOrder=[...variantPriorityOrder].reverse(),numAnimationTypes=variantPriorityOrder.length;function animateList(la){return aa=>Promise.all(aa.map(({animation:ca,options:ua})=>animateVisualElement(la,ca,ua)))}function createAnimationState(la){let aa=animateList(la),ca=createState(),ua=!0;const Sa=gl=>(wc,xu)=>{const ff=resolveVariant(la,xu,gl==="exit"?la.presenceContext?.custom:void 0);if(ff){const{transition:jf,transitionEnd:Uf,...rp}=ff;wc={...wc,...rp,...Uf}}return wc};function hl(gl){aa=gl(la)}function pl(gl){const{props:wc}=la,xu=getVariantContext(la.parent)||{},ff=[],jf=new Set;let Uf={},rp=1/0;for(let qm=0;qm<numAnimationTypes;qm++){const Vm=reversePriorityOrder[qm],eg=ca[Vm],tg=wc[Vm]!==void 0?wc[Vm]:xu[Vm],rg=isVariantLabel(tg),ig=Vm===gl?eg.isActive:null;ig===!1&&(rp=qm);let vv=tg===xu[Vm]&&tg!==wc[Vm]&&rg;if(vv&&ua&&la.manuallyAnimateOnMount&&(vv=!1),eg.protectedKeys={...Uf},!eg.isActive&&ig===null||!tg&&!eg.prevProp||isAnimationControls(tg)||typeof tg=="boolean")continue;const k1=checkVariantsDidChange(eg.prevProp,tg);let qw=k1||Vm===gl&&eg.isActive&&!vv&&rg||qm>rp&&rg,K0=!1;const J0=Array.isArray(tg)?tg:[tg];let Hw=J0.reduce(Sa(Vm),{});ig===!1&&(Hw={});const{prevResolvedValues:O1={}}=eg,Y0={...O1,...Hw},G0=f_=>{qw=!0,jf.has(f_)&&(K0=!0,jf.delete(f_)),eg.needsAnimating[f_]=!0;const zN=la.getValue(f_);zN&&(zN.liveStyle=!1)};for(const f_ in Y0){const zN=Hw[f_],BN=O1[f_];if(Uf.hasOwnProperty(f_))continue;let iF=!1;isKeyframesTarget(zN)&&isKeyframesTarget(BN)?iF=!shallowCompare(zN,BN):iF=zN!==BN,iF?zN!=null?G0(f_):jf.add(f_):zN!==void 0&&jf.has(f_)?G0(f_):eg.protectedKeys[f_]=!0}eg.prevProp=tg,eg.prevResolvedValues=Hw,eg.isActive&&(Uf={...Uf,...Hw}),ua&&la.blockInitialAnimation&&(qw=!1);const X0=vv&&k1;qw&&(!X0||K0)&&ff.push(...J0.map(f_=>{const zN={type:Vm};if(typeof f_=="string"&&ua&&!X0&&la.manuallyAnimateOnMount&&la.parent){const{parent:BN}=la,iF=resolveVariant(BN,f_);if(BN.enteringChildren&&iF){const{delayChildren:yY}=iF.transition||{};zN.delay=calcChildStagger(BN.enteringChildren,la,yY)}}return{animation:f_,options:zN}}))}if(jf.size){const qm={};if(typeof wc.initial!="boolean"){const Vm=resolveVariant(la,Array.isArray(wc.initial)?wc.initial[0]:wc.initial);Vm&&Vm.transition&&(qm.transition=Vm.transition)}jf.forEach(Vm=>{const eg=la.getBaseTarget(Vm),tg=la.getValue(Vm);tg&&(tg.liveStyle=!0),qm[Vm]=eg??null}),ff.push({animation:qm})}let np=!!ff.length;return ua&&(wc.initial===!1||wc.initial===wc.animate)&&!la.manuallyAnimateOnMount&&(np=!1),ua=!1,np?aa(ff):Promise.resolve()}function ml(gl,wc){if(ca[gl].isActive===wc)return Promise.resolve();la.variantChildren?.forEach(ff=>ff.animationState?.setActive(gl,wc)),ca[gl].isActive=wc;const xu=pl(gl);for(const ff in ca)ca[ff].protectedKeys={};return xu}return{animateChanges:pl,setActive:ml,setAnimateFunction:hl,getState:()=>ca,reset:()=>{ca=createState()}}}function checkVariantsDidChange(la,aa){return typeof aa=="string"?aa!==la:Array.isArray(aa)?!shallowCompare(aa,la):!1}function createTypeState(la=!1){return{isActive:la,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function createState(){return{animate:createTypeState(!0),whileInView:createTypeState(),whileHover:createTypeState(),whileTap:createTypeState(),whileDrag:createTypeState(),whileFocus:createTypeState(),exit:createTypeState()}}class Feature{constructor(aa){this.isMounted=!1,this.node=aa}update(){}}class AnimationFeature extends Feature{constructor(aa){super(aa),aa.animationState||(aa.animationState=createAnimationState(aa))}updateAnimationControlsSubscription(){const{animate:aa}=this.node.getProps();isAnimationControls(aa)&&(this.unmountControls=aa.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:aa}=this.node.getProps(),{animate:ca}=this.node.prevProps||{};aa!==ca&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let id$1=0;class ExitAnimationFeature extends Feature{constructor(){super(...arguments),this.id=id$1++}update(){if(!this.node.presenceContext)return;const{isPresent:aa,onExitComplete:ca}=this.node.presenceContext,{isPresent:ua}=this.node.prevPresenceContext||{};if(!this.node.animationState||aa===ua)return;const Sa=this.node.animationState.setActive("exit",!aa);ca&&!aa&&Sa.then(()=>{ca(this.id)})}mount(){const{register:aa,onExitComplete:ca}=this.node.presenceContext||{};ca&&ca(this.id),aa&&(this.unmount=aa(this.id))}unmount(){}}const animations={animation:{Feature:AnimationFeature},exit:{Feature:ExitAnimationFeature}};function addDomEvent(la,aa,ca,ua={passive:!0}){return la.addEventListener(aa,ca,ua),()=>la.removeEventListener(aa,ca)}function extractEventInfo(la){return{point:{x:la.pageX,y:la.pageY}}}const addPointerInfo=la=>aa=>isPrimaryPointer(aa)&&la(aa,extractEventInfo(aa));function addPointerEvent(la,aa,ca,ua){return addDomEvent(la,aa,addPointerInfo(ca),ua)}const SCALE_PRECISION=1e-4,SCALE_MIN=1-SCALE_PRECISION,SCALE_MAX=1+SCALE_PRECISION,TRANSLATE_PRECISION=.01,TRANSLATE_MIN=0-TRANSLATE_PRECISION,TRANSLATE_MAX=0+TRANSLATE_PRECISION;function calcLength(la){return la.max-la.min}function isNear(la,aa,ca){return Math.abs(la-aa)<=ca}function calcAxisDelta(la,aa,ca,ua=.5){la.origin=ua,la.originPoint=mixNumber$1(aa.min,aa.max,la.origin),la.scale=calcLength(ca)/calcLength(aa),la.translate=mixNumber$1(ca.min,ca.max,la.origin)-la.originPoint,(la.scale>=SCALE_MIN&&la.scale<=SCALE_MAX||isNaN(la.scale))&&(la.scale=1),(la.translate>=TRANSLATE_MIN&&la.translate<=TRANSLATE_MAX||isNaN(la.translate))&&(la.translate=0)}function calcBoxDelta(la,aa,ca,ua){calcAxisDelta(la.x,aa.x,ca.x,ua?ua.originX:void 0),calcAxisDelta(la.y,aa.y,ca.y,ua?ua.originY:void 0)}function calcRelativeAxis(la,aa,ca){la.min=ca.min+aa.min,la.max=la.min+calcLength(aa)}function calcRelativeBox(la,aa,ca){calcRelativeAxis(la.x,aa.x,ca.x),calcRelativeAxis(la.y,aa.y,ca.y)}function calcRelativeAxisPosition(la,aa,ca){la.min=aa.min-ca.min,la.max=la.min+calcLength(aa)}function calcRelativePosition(la,aa,ca){calcRelativeAxisPosition(la.x,aa.x,ca.x),calcRelativeAxisPosition(la.y,aa.y,ca.y)}function eachAxis(la){return[la("x"),la("y")]}const getContextWindow=({current:la})=>la?la.ownerDocument.defaultView:null,distance=(la,aa)=>Math.abs(la-aa);function distance2D(la,aa){const ca=distance(la.x,aa.x),ua=distance(la.y,aa.y);return Math.sqrt(ca**2+ua**2)}class PanSession{constructor(aa,ca,{transformPagePoint:ua,contextWindow:Sa=window,dragSnapToOrigin:hl=!1,distanceThreshold:pl=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const jf=getPanInfo(this.lastMoveEventInfo,this.history),Uf=this.startEvent!==null,rp=distance2D(jf.offset,{x:0,y:0})>=this.distanceThreshold;if(!Uf&&!rp)return;const{point:np}=jf,{timestamp:qm}=frameData;this.history.push({...np,timestamp:qm});const{onStart:Vm,onMove:eg}=this.handlers;Uf||(Vm&&Vm(this.lastMoveEvent,jf),this.startEvent=this.lastMoveEvent),eg&&eg(this.lastMoveEvent,jf)},this.handlePointerMove=(jf,Uf)=>{this.lastMoveEvent=jf,this.lastMoveEventInfo=transformPoint(Uf,this.transformPagePoint),frame.update(this.updatePoint,!0)},this.handlePointerUp=(jf,Uf)=>{this.end();const{onEnd:rp,onSessionEnd:np,resumeAnimation:qm}=this.handlers;if(this.dragSnapToOrigin&&qm&&qm(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const Vm=getPanInfo(jf.type==="pointercancel"?this.lastMoveEventInfo:transformPoint(Uf,this.transformPagePoint),this.history);this.startEvent&&rp&&rp(jf,Vm),np&&np(jf,Vm)},!isPrimaryPointer(aa))return;this.dragSnapToOrigin=hl,this.handlers=ca,this.transformPagePoint=ua,this.distanceThreshold=pl,this.contextWindow=Sa||window;const ml=extractEventInfo(aa),gl=transformPoint(ml,this.transformPagePoint),{point:wc}=gl,{timestamp:xu}=frameData;this.history=[{...wc,timestamp:xu}];const{onSessionStart:ff}=ca;ff&&ff(aa,getPanInfo(gl,this.history)),this.removeListeners=pipe(addPointerEvent(this.contextWindow,"pointermove",this.handlePointerMove),addPointerEvent(this.contextWindow,"pointerup",this.handlePointerUp),addPointerEvent(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(aa){this.handlers=aa}end(){this.removeListeners&&this.removeListeners(),cancelFrame(this.updatePoint)}}function transformPoint(la,aa){return aa?{point:aa(la.point)}:la}function subtractPoint(la,aa){return{x:la.x-aa.x,y:la.y-aa.y}}function getPanInfo({point:la},aa){return{point:la,delta:subtractPoint(la,lastDevicePoint(aa)),offset:subtractPoint(la,startDevicePoint(aa)),velocity:getVelocity(aa,.1)}}function startDevicePoint(la){return la[0]}function lastDevicePoint(la){return la[la.length-1]}function getVelocity(la,aa){if(la.length<2)return{x:0,y:0};let ca=la.length-1,ua=null;const Sa=lastDevicePoint(la);for(;ca>=0&&(ua=la[ca],!(Sa.timestamp-ua.timestamp>secondsToMilliseconds(aa)));)ca--;if(!ua)return{x:0,y:0};const hl=millisecondsToSeconds(Sa.timestamp-ua.timestamp);if(hl===0)return{x:0,y:0};const pl={x:(Sa.x-ua.x)/hl,y:(Sa.y-ua.y)/hl};return pl.x===1/0&&(pl.x=0),pl.y===1/0&&(pl.y=0),pl}function applyConstraints(la,{min:aa,max:ca},ua){return aa!==void 0&&la<aa?la=ua?mixNumber$1(aa,la,ua.min):Math.max(la,aa):ca!==void 0&&la>ca&&(la=ua?mixNumber$1(ca,la,ua.max):Math.min(la,ca)),la}function calcRelativeAxisConstraints(la,aa,ca){return{min:aa!==void 0?la.min+aa:void 0,max:ca!==void 0?la.max+ca-(la.max-la.min):void 0}}function calcRelativeConstraints(la,{top:aa,left:ca,bottom:ua,right:Sa}){return{x:calcRelativeAxisConstraints(la.x,ca,Sa),y:calcRelativeAxisConstraints(la.y,aa,ua)}}function calcViewportAxisConstraints(la,aa){let ca=aa.min-la.min,ua=aa.max-la.max;return aa.max-aa.min<la.max-la.min&&([ca,ua]=[ua,ca]),{min:ca,max:ua}}function calcViewportConstraints(la,aa){return{x:calcViewportAxisConstraints(la.x,aa.x),y:calcViewportAxisConstraints(la.y,aa.y)}}function calcOrigin(la,aa){let ca=.5;const ua=calcLength(la),Sa=calcLength(aa);return Sa>ua?ca=progress(aa.min,aa.max-ua,la.min):ua>Sa&&(ca=progress(la.min,la.max-Sa,aa.min)),clamp$1(0,1,ca)}function rebaseAxisConstraints(la,aa){const ca={};return aa.min!==void 0&&(ca.min=aa.min-la.min),aa.max!==void 0&&(ca.max=aa.max-la.min),ca}const defaultElastic=.35;function resolveDragElastic(la=defaultElastic){return la===!1?la=0:la===!0&&(la=defaultElastic),{x:resolveAxisElastic(la,"left","right"),y:resolveAxisElastic(la,"top","bottom")}}function resolveAxisElastic(la,aa,ca){return{min:resolvePointElastic(la,aa),max:resolvePointElastic(la,ca)}}function resolvePointElastic(la,aa){return typeof la=="number"?la:la[aa]||0}const elementDragControls=new WeakMap;class VisualElementDragControls{constructor(aa){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=createBox(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=aa}start(aa,{snapToCursor:ca=!1,distanceThreshold:ua}={}){const{presenceContext:Sa}=this.visualElement;if(Sa&&Sa.isPresent===!1)return;const hl=ff=>{const{dragSnapToOrigin:jf}=this.getProps();jf?this.pauseAnimation():this.stopAnimation(),ca&&this.snapToCursor(extractEventInfo(ff).point)},pl=(ff,jf)=>{const{drag:Uf,dragPropagation:rp,onDragStart:np}=this.getProps();if(Uf&&!rp&&(this.openDragLock&&this.openDragLock(),this.openDragLock=setDragLock(Uf),!this.openDragLock))return;this.latestPointerEvent=ff,this.latestPanInfo=jf,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),eachAxis(Vm=>{let eg=this.getAxisMotionValue(Vm).get()||0;if(percent.test(eg)){const{projection:tg}=this.visualElement;if(tg&&tg.layout){const rg=tg.layout.layoutBox[Vm];rg&&(eg=calcLength(rg)*(parseFloat(eg)/100))}}this.originPoint[Vm]=eg}),np&&frame.postRender(()=>np(ff,jf)),addValueToWillChange(this.visualElement,"transform");const{animationState:qm}=this.visualElement;qm&&qm.setActive("whileDrag",!0)},ml=(ff,jf)=>{this.latestPointerEvent=ff,this.latestPanInfo=jf;const{dragPropagation:Uf,dragDirectionLock:rp,onDirectionLock:np,onDrag:qm}=this.getProps();if(!Uf&&!this.openDragLock)return;const{offset:Vm}=jf;if(rp&&this.currentDirection===null){this.currentDirection=getCurrentDirection(Vm),this.currentDirection!==null&&np&&np(this.currentDirection);return}this.updateAxis("x",jf.point,Vm),this.updateAxis("y",jf.point,Vm),this.visualElement.render(),qm&&qm(ff,jf)},gl=(ff,jf)=>{this.latestPointerEvent=ff,this.latestPanInfo=jf,this.stop(ff,jf),this.latestPointerEvent=null,this.latestPanInfo=null},wc=()=>eachAxis(ff=>this.getAnimationState(ff)==="paused"&&this.getAxisMotionValue(ff).animation?.play()),{dragSnapToOrigin:xu}=this.getProps();this.panSession=new PanSession(aa,{onSessionStart:hl,onStart:pl,onMove:ml,onSessionEnd:gl,resumeAnimation:wc},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:xu,distanceThreshold:ua,contextWindow:getContextWindow(this.visualElement)})}stop(aa,ca){const ua=aa||this.latestPointerEvent,Sa=ca||this.latestPanInfo,hl=this.isDragging;if(this.cancel(),!hl||!Sa||!ua)return;const{velocity:pl}=Sa;this.startAnimation(pl);const{onDragEnd:ml}=this.getProps();ml&&frame.postRender(()=>ml(ua,Sa))}cancel(){this.isDragging=!1;const{projection:aa,animationState:ca}=this.visualElement;aa&&(aa.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:ua}=this.getProps();!ua&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),ca&&ca.setActive("whileDrag",!1)}updateAxis(aa,ca,ua){const{drag:Sa}=this.getProps();if(!ua||!shouldDrag(aa,Sa,this.currentDirection))return;const hl=this.getAxisMotionValue(aa);let pl=this.originPoint[aa]+ua[aa];this.constraints&&this.constraints[aa]&&(pl=applyConstraints(pl,this.constraints[aa],this.elastic[aa])),hl.set(pl)}resolveConstraints(){const{dragConstraints:aa,dragElastic:ca}=this.getProps(),ua=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,Sa=this.constraints;aa&&isRefObject(aa)?this.constraints||(this.constraints=this.resolveRefConstraints()):aa&&ua?this.constraints=calcRelativeConstraints(ua.layoutBox,aa):this.constraints=!1,this.elastic=resolveDragElastic(ca),Sa!==this.constraints&&ua&&this.constraints&&!this.hasMutatedConstraints&&eachAxis(hl=>{this.constraints!==!1&&this.getAxisMotionValue(hl)&&(this.constraints[hl]=rebaseAxisConstraints(ua.layoutBox[hl],this.constraints[hl]))})}resolveRefConstraints(){const{dragConstraints:aa,onMeasureDragConstraints:ca}=this.getProps();if(!aa||!isRefObject(aa))return!1;const ua=aa.current,{projection:Sa}=this.visualElement;if(!Sa||!Sa.layout)return!1;const hl=measurePageBox(ua,Sa.root,this.visualElement.getTransformPagePoint());let pl=calcViewportConstraints(Sa.layout.layoutBox,hl);if(ca){const ml=ca(convertBoxToBoundingBox(pl));this.hasMutatedConstraints=!!ml,ml&&(pl=convertBoundingBoxToBox(ml))}return pl}startAnimation(aa){const{drag:ca,dragMomentum:ua,dragElastic:Sa,dragTransition:hl,dragSnapToOrigin:pl,onDragTransitionEnd:ml}=this.getProps(),gl=this.constraints||{},wc=eachAxis(xu=>{if(!shouldDrag(xu,ca,this.currentDirection))return;let ff=gl&&gl[xu]||{};pl&&(ff={min:0,max:0});const jf=Sa?200:1e6,Uf=Sa?40:1e7,rp={type:"inertia",velocity:ua?aa[xu]:0,bounceStiffness:jf,bounceDamping:Uf,timeConstant:750,restDelta:1,restSpeed:10,...hl,...ff};return this.startAxisValueAnimation(xu,rp)});return Promise.all(wc).then(ml)}startAxisValueAnimation(aa,ca){const ua=this.getAxisMotionValue(aa);return addValueToWillChange(this.visualElement,aa),ua.start(animateMotionValue(aa,ua,0,ca,this.visualElement,!1))}stopAnimation(){eachAxis(aa=>this.getAxisMotionValue(aa).stop())}pauseAnimation(){eachAxis(aa=>this.getAxisMotionValue(aa).animation?.pause())}getAnimationState(aa){return this.getAxisMotionValue(aa).animation?.state}getAxisMotionValue(aa){const ca=`_drag${aa.toUpperCase()}`,ua=this.visualElement.getProps(),Sa=ua[ca];return Sa||this.visualElement.getValue(aa,(ua.initial?ua.initial[aa]:void 0)||0)}snapToCursor(aa){eachAxis(ca=>{const{drag:ua}=this.getProps();if(!shouldDrag(ca,ua,this.currentDirection))return;const{projection:Sa}=this.visualElement,hl=this.getAxisMotionValue(ca);if(Sa&&Sa.layout){const{min:pl,max:ml}=Sa.layout.layoutBox[ca];hl.set(aa[ca]-mixNumber$1(pl,ml,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:aa,dragConstraints:ca}=this.getProps(),{projection:ua}=this.visualElement;if(!isRefObject(ca)||!ua||!this.constraints)return;this.stopAnimation();const Sa={x:0,y:0};eachAxis(pl=>{const ml=this.getAxisMotionValue(pl);if(ml&&this.constraints!==!1){const gl=ml.get();Sa[pl]=calcOrigin({min:gl,max:gl},this.constraints[pl])}});const{transformTemplate:hl}=this.visualElement.getProps();this.visualElement.current.style.transform=hl?hl({},""):"none",ua.root&&ua.root.updateScroll(),ua.updateLayout(),this.resolveConstraints(),eachAxis(pl=>{if(!shouldDrag(pl,aa,null))return;const ml=this.getAxisMotionValue(pl),{min:gl,max:wc}=this.constraints[pl];ml.set(mixNumber$1(gl,wc,Sa[pl]))})}addListeners(){if(!this.visualElement.current)return;elementDragControls.set(this.visualElement,this);const aa=this.visualElement.current,ca=addPointerEvent(aa,"pointerdown",gl=>{const{drag:wc,dragListener:xu=!0}=this.getProps();wc&&xu&&this.start(gl)}),ua=()=>{const{dragConstraints:gl}=this.getProps();isRefObject(gl)&&gl.current&&(this.constraints=this.resolveRefConstraints())},{projection:Sa}=this.visualElement,hl=Sa.addEventListener("measure",ua);Sa&&!Sa.layout&&(Sa.root&&Sa.root.updateScroll(),Sa.updateLayout()),frame.read(ua);const pl=addDomEvent(window,"resize",()=>this.scalePositionWithinConstraints()),ml=Sa.addEventListener("didUpdate",(({delta:gl,hasLayoutChanged:wc})=>{this.isDragging&&wc&&(eachAxis(xu=>{const ff=this.getAxisMotionValue(xu);ff&&(this.originPoint[xu]+=gl[xu].translate,ff.set(ff.get()+gl[xu].translate))}),this.visualElement.render())}));return()=>{pl(),ca(),hl(),ml&&ml()}}getProps(){const aa=this.visualElement.getProps(),{drag:ca=!1,dragDirectionLock:ua=!1,dragPropagation:Sa=!1,dragConstraints:hl=!1,dragElastic:pl=defaultElastic,dragMomentum:ml=!0}=aa;return{...aa,drag:ca,dragDirectionLock:ua,dragPropagation:Sa,dragConstraints:hl,dragElastic:pl,dragMomentum:ml}}}function shouldDrag(la,aa,ca){return(aa===!0||aa===la)&&(ca===null||ca===la)}function getCurrentDirection(la,aa=10){let ca=null;return Math.abs(la.y)>aa?ca="y":Math.abs(la.x)>aa&&(ca="x"),ca}class DragGesture extends Feature{constructor(aa){super(aa),this.removeGroupControls=noop$3,this.removeListeners=noop$3,this.controls=new VisualElementDragControls(aa)}mount(){const{dragControls:aa}=this.node.getProps();aa&&(this.removeGroupControls=aa.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||noop$3}unmount(){this.removeGroupControls(),this.removeListeners()}}const asyncHandler=la=>(aa,ca)=>{la&&frame.postRender(()=>la(aa,ca))};class PanGesture extends Feature{constructor(){super(...arguments),this.removePointerDownListener=noop$3}onPointerDown(aa){this.session=new PanSession(aa,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:getContextWindow(this.node)})}createPanHandlers(){const{onPanSessionStart:aa,onPanStart:ca,onPan:ua,onPanEnd:Sa}=this.node.getProps();return{onSessionStart:asyncHandler(aa),onStart:asyncHandler(ca),onMove:ua,onEnd:(hl,pl)=>{delete this.session,Sa&&frame.postRender(()=>Sa(hl,pl))}}}mount(){this.removePointerDownListener=addPointerEvent(this.node.current,"pointerdown",aa=>this.onPointerDown(aa))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const globalProjectionState={hasAnimatedSinceResize:!0,hasEverUpdated:!1};let hasTakenAnySnapshot=!1;class MeasureLayoutWithContext extends reactExports.Component{componentDidMount(){const{visualElement:aa,layoutGroup:ca,switchLayoutGroup:ua,layoutId:Sa}=this.props,{projection:hl}=aa;hl&&(ca.group&&ca.group.add(hl),ua&&ua.register&&Sa&&ua.register(hl),hasTakenAnySnapshot&&hl.root.didUpdate(),hl.addEventListener("animationComplete",()=>{this.safeToRemove()}),hl.setOptions({...hl.options,onExitComplete:()=>this.safeToRemove()})),globalProjectionState.hasEverUpdated=!0}getSnapshotBeforeUpdate(aa){const{layoutDependency:ca,visualElement:ua,drag:Sa,isPresent:hl}=this.props,{projection:pl}=ua;return pl&&(pl.isPresent=hl,hasTakenAnySnapshot=!0,Sa||aa.layoutDependency!==ca||ca===void 0||aa.isPresent!==hl?pl.willUpdate():this.safeToRemove(),aa.isPresent!==hl&&(hl?pl.promote():pl.relegate()||frame.postRender(()=>{const ml=pl.getStack();(!ml||!ml.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:aa}=this.props.visualElement;aa&&(aa.root.didUpdate(),microtask.postRender(()=>{!aa.currentAnimation&&aa.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:aa,layoutGroup:ca,switchLayoutGroup:ua}=this.props,{projection:Sa}=aa;hasTakenAnySnapshot=!0,Sa&&(Sa.scheduleCheckAfterUnmount(),ca&&ca.group&&ca.group.remove(Sa),ua&&ua.deregister&&ua.deregister(Sa))}safeToRemove(){const{safeToRemove:aa}=this.props;aa&&aa()}render(){return null}}function MeasureLayout(la){const[aa,ca]=usePresence$1(),ua=reactExports.useContext(LayoutGroupContext);return jsxRuntimeExports.jsx(MeasureLayoutWithContext,{...la,layoutGroup:ua,switchLayoutGroup:reactExports.useContext(SwitchLayoutGroupContext),isPresent:aa,safeToRemove:ca})}function animateSingleValue(la,aa,ca){const ua=isMotionValue(la)?la:motionValue(la);return ua.start(animateMotionValue("",ua,aa,ca)),ua.animation}const compareByDepth=(la,aa)=>la.depth-aa.depth;class FlatTree{constructor(){this.children=[],this.isDirty=!1}add(aa){addUniqueItem(this.children,aa),this.isDirty=!0}remove(aa){removeItem$1(this.children,aa),this.isDirty=!0}forEach(aa){this.isDirty&&this.children.sort(compareByDepth),this.isDirty=!1,this.children.forEach(aa)}}function delay(la,aa){const ca=time.now(),ua=({timestamp:Sa})=>{const hl=Sa-ca;hl>=aa&&(cancelFrame(ua),la(hl-aa))};return frame.setup(ua,!0),()=>cancelFrame(ua)}const borders=["TopLeft","TopRight","BottomLeft","BottomRight"],numBorders=borders.length,asNumber=la=>typeof la=="string"?parseFloat(la):la,isPx=la=>typeof la=="number"||px.test(la);function mixValues(la,aa,ca,ua,Sa,hl){Sa?(la.opacity=mixNumber$1(0,ca.opacity??1,easeCrossfadeIn(ua)),la.opacityExit=mixNumber$1(aa.opacity??1,0,easeCrossfadeOut(ua))):hl&&(la.opacity=mixNumber$1(aa.opacity??1,ca.opacity??1,ua));for(let pl=0;pl<numBorders;pl++){const ml=`border${borders[pl]}Radius`;let gl=getRadius(aa,ml),wc=getRadius(ca,ml);if(gl===void 0&&wc===void 0)continue;gl||(gl=0),wc||(wc=0),gl===0||wc===0||isPx(gl)===isPx(wc)?(la[ml]=Math.max(mixNumber$1(asNumber(gl),asNumber(wc),ua),0),(percent.test(wc)||percent.test(gl))&&(la[ml]+="%")):la[ml]=wc}(aa.rotate||ca.rotate)&&(la.rotate=mixNumber$1(aa.rotate||0,ca.rotate||0,ua))}function getRadius(la,aa){return la[aa]!==void 0?la[aa]:la.borderRadius}const easeCrossfadeIn=compress(0,.5,circOut),easeCrossfadeOut=compress(.5,.95,noop$3);function compress(la,aa,ca){return ua=>ua<la?0:ua>aa?1:ca(progress(la,aa,ua))}function copyAxisInto(la,aa){la.min=aa.min,la.max=aa.max}function copyBoxInto(la,aa){copyAxisInto(la.x,aa.x),copyAxisInto(la.y,aa.y)}function copyAxisDeltaInto(la,aa){la.translate=aa.translate,la.scale=aa.scale,la.originPoint=aa.originPoint,la.origin=aa.origin}function removePointDelta(la,aa,ca,ua,Sa){return la-=aa,la=scalePoint(la,1/ca,ua),Sa!==void 0&&(la=scalePoint(la,1/Sa,ua)),la}function removeAxisDelta(la,aa=0,ca=1,ua=.5,Sa,hl=la,pl=la){if(percent.test(aa)&&(aa=parseFloat(aa),aa=mixNumber$1(pl.min,pl.max,aa/100)-pl.min),typeof aa!="number")return;let ml=mixNumber$1(hl.min,hl.max,ua);la===hl&&(ml-=aa),la.min=removePointDelta(la.min,aa,ca,ml,Sa),la.max=removePointDelta(la.max,aa,ca,ml,Sa)}function removeAxisTransforms(la,aa,[ca,ua,Sa],hl,pl){removeAxisDelta(la,aa[ca],aa[ua],aa[Sa],aa.scale,hl,pl)}const xKeys=["x","scaleX","originX"],yKeys=["y","scaleY","originY"];function removeBoxTransforms(la,aa,ca,ua){removeAxisTransforms(la.x,aa,xKeys,ca?ca.x:void 0,ua?ua.x:void 0),removeAxisTransforms(la.y,aa,yKeys,ca?ca.y:void 0,ua?ua.y:void 0)}function isAxisDeltaZero(la){return la.translate===0&&la.scale===1}function isDeltaZero(la){return isAxisDeltaZero(la.x)&&isAxisDeltaZero(la.y)}function axisEquals(la,aa){return la.min===aa.min&&la.max===aa.max}function boxEquals(la,aa){return axisEquals(la.x,aa.x)&&axisEquals(la.y,aa.y)}function axisEqualsRounded(la,aa){return Math.round(la.min)===Math.round(aa.min)&&Math.round(la.max)===Math.round(aa.max)}function boxEqualsRounded(la,aa){return axisEqualsRounded(la.x,aa.x)&&axisEqualsRounded(la.y,aa.y)}function aspectRatio(la){return calcLength(la.x)/calcLength(la.y)}function axisDeltaEquals(la,aa){return la.translate===aa.translate&&la.scale===aa.scale&&la.originPoint===aa.originPoint}class NodeStack{constructor(){this.members=[]}add(aa){addUniqueItem(this.members,aa),aa.scheduleRender()}remove(aa){if(removeItem$1(this.members,aa),aa===this.prevLead&&(this.prevLead=void 0),aa===this.lead){const ca=this.members[this.members.length-1];ca&&this.promote(ca)}}relegate(aa){const ca=this.members.findIndex(Sa=>aa===Sa);if(ca===0)return!1;let ua;for(let Sa=ca;Sa>=0;Sa--){const hl=this.members[Sa];if(hl.isPresent!==!1){ua=hl;break}}return ua?(this.promote(ua),!0):!1}promote(aa,ca){const ua=this.lead;if(aa!==ua&&(this.prevLead=ua,this.lead=aa,aa.show(),ua)){ua.instance&&ua.scheduleRender(),aa.scheduleRender(),aa.resumeFrom=ua,ca&&(aa.resumeFrom.preserveOpacity=!0),ua.snapshot&&(aa.snapshot=ua.snapshot,aa.snapshot.latestValues=ua.animationValues||ua.latestValues),aa.root&&aa.root.isUpdating&&(aa.isLayoutDirty=!0);const{crossfade:Sa}=aa.options;Sa===!1&&ua.hide()}}exitAnimationComplete(){this.members.forEach(aa=>{const{options:ca,resumingFrom:ua}=aa;ca.onExitComplete&&ca.onExitComplete(),ua&&ua.options.onExitComplete&&ua.options.onExitComplete()})}scheduleRender(){this.members.forEach(aa=>{aa.instance&&aa.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function buildProjectionTransform(la,aa,ca){let ua="";const Sa=la.x.translate/aa.x,hl=la.y.translate/aa.y,pl=ca?.z||0;if((Sa||hl||pl)&&(ua=`translate3d(${Sa}px, ${hl}px, ${pl}px) `),(aa.x!==1||aa.y!==1)&&(ua+=`scale(${1/aa.x}, ${1/aa.y}) `),ca){const{transformPerspective:wc,rotate:xu,rotateX:ff,rotateY:jf,skewX:Uf,skewY:rp}=ca;wc&&(ua=`perspective(${wc}px) ${ua}`),xu&&(ua+=`rotate(${xu}deg) `),ff&&(ua+=`rotateX(${ff}deg) `),jf&&(ua+=`rotateY(${jf}deg) `),Uf&&(ua+=`skewX(${Uf}deg) `),rp&&(ua+=`skewY(${rp}deg) `)}const ml=la.x.scale*aa.x,gl=la.y.scale*aa.y;return(ml!==1||gl!==1)&&(ua+=`scale(${ml}, ${gl})`),ua||"none"}const transformAxes=["","X","Y","Z"],animationTarget=1e3;let id=0;function resetDistortingTransform(la,aa,ca,ua){const{latestValues:Sa}=aa;Sa[la]&&(ca[la]=Sa[la],aa.setStaticValue(la,0),ua&&(ua[la]=0))}function cancelTreeOptimisedTransformAnimations(la){if(la.hasCheckedOptimisedAppear=!0,la.root===la)return;const{visualElement:aa}=la.options;if(!aa)return;const ca=getOptimisedAppearId(aa);if(window.MotionHasOptimisedAnimation(ca,"transform")){const{layout:Sa,layoutId:hl}=la.options;window.MotionCancelOptimisedAnimation(ca,"transform",frame,!(Sa||hl))}const{parent:ua}=la;ua&&!ua.hasCheckedOptimisedAppear&&cancelTreeOptimisedTransformAnimations(ua)}function createProjectionNode({attachResizeListener:la,defaultParent:aa,measureScroll:ca,checkIsScrollRoot:ua,resetTransform:Sa}){return class{constructor(pl={},ml=aa?.()){this.id=id++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(propagateDirtyNodes),this.nodes.forEach(resolveTargetDelta),this.nodes.forEach(calcProjection),this.nodes.forEach(cleanDirtyNodes)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=pl,this.root=ml?ml.root||ml:this,this.path=ml?[...ml.path,ml]:[],this.parent=ml,this.depth=ml?ml.depth+1:0;for(let gl=0;gl<this.path.length;gl++)this.path[gl].shouldResetTransform=!0;this.root===this&&(this.nodes=new FlatTree)}addEventListener(pl,ml){return this.eventHandlers.has(pl)||this.eventHandlers.set(pl,new SubscriptionManager),this.eventHandlers.get(pl).add(ml)}notifyListeners(pl,...ml){const gl=this.eventHandlers.get(pl);gl&&gl.notify(...ml)}hasListeners(pl){return this.eventHandlers.has(pl)}mount(pl){if(this.instance)return;this.isSVG=isSVGElement$1(pl)&&!isSVGSVGElement(pl),this.instance=pl;const{layoutId:ml,layout:gl,visualElement:wc}=this.options;if(wc&&!wc.current&&wc.mount(pl),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(gl||ml)&&(this.isLayoutDirty=!0),la){let xu,ff=0;const jf=()=>this.root.updateBlockedByResize=!1;frame.read(()=>{ff=window.innerWidth}),la(pl,()=>{const Uf=window.innerWidth;Uf!==ff&&(ff=Uf,this.root.updateBlockedByResize=!0,xu&&xu(),xu=delay(jf,250),globalProjectionState.hasAnimatedSinceResize&&(globalProjectionState.hasAnimatedSinceResize=!1,this.nodes.forEach(finishAnimation)))})}ml&&this.root.registerSharedNode(ml,this),this.options.animate!==!1&&wc&&(ml||gl)&&this.addEventListener("didUpdate",({delta:xu,hasLayoutChanged:ff,hasRelativeLayoutChanged:jf,layout:Uf})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const rp=this.options.transition||wc.getDefaultTransition()||defaultLayoutTransition,{onLayoutAnimationStart:np,onLayoutAnimationComplete:qm}=wc.getProps(),Vm=!this.targetLayout||!boxEqualsRounded(this.targetLayout,Uf),eg=!ff&&jf;if(this.options.layoutRoot||this.resumeFrom||eg||ff&&(Vm||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const tg={...getValueTransition(rp,"layout"),onPlay:np,onComplete:qm};(wc.shouldReduceMotion||this.options.layoutRoot)&&(tg.delay=0,tg.type=!1),this.startAnimation(tg),this.setAnimationOrigin(xu,eg)}else ff||finishAnimation(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=Uf})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const pl=this.getStack();pl&&pl.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),cancelFrame(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(resetSkewAndRotation),this.animationId++)}getTransformTemplate(){const{visualElement:pl}=this.options;return pl&&pl.getProps().transformTemplate}willUpdate(pl=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&cancelTreeOptimisedTransformAnimations(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let xu=0;xu<this.path.length;xu++){const ff=this.path[xu];ff.shouldResetTransform=!0,ff.updateScroll("snapshot"),ff.options.layoutRoot&&ff.willUpdate(!1)}const{layoutId:ml,layout:gl}=this.options;if(ml===void 0&&!gl)return;const wc=this.getTransformTemplate();this.prevTransformTemplateValue=wc?wc(this.latestValues,""):void 0,this.updateSnapshot(),pl&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(clearMeasurements);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(clearIsLayoutDirty);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(resetTransformStyle),this.nodes.forEach(updateLayout),this.nodes.forEach(notifyLayoutUpdate)):this.nodes.forEach(clearIsLayoutDirty),this.clearAllSnapshots();const ml=time.now();frameData.delta=clamp$1(0,1e3/60,ml-frameData.timestamp),frameData.timestamp=ml,frameData.isProcessing=!0,frameSteps.update.process(frameData),frameSteps.preRender.process(frameData),frameSteps.render.process(frameData),frameData.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,microtask.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(clearSnapshot),this.sharedNodes.forEach(removeLeadSnapshots)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,frame.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){frame.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!calcLength(this.snapshot.measuredBox.x)&&!calcLength(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let gl=0;gl<this.path.length;gl++)this.path[gl].updateScroll();const pl=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected=createBox(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:ml}=this.options;ml&&ml.notify("LayoutMeasure",this.layout.layoutBox,pl?pl.layoutBox:void 0)}updateScroll(pl="measure"){let ml=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===pl&&(ml=!1),ml&&this.instance){const gl=ua(this.instance);this.scroll={animationId:this.root.animationId,phase:pl,isRoot:gl,offset:ca(this.instance),wasRoot:this.scroll?this.scroll.isRoot:gl}}}resetTransform(){if(!Sa)return;const pl=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,ml=this.projectionDelta&&!isDeltaZero(this.projectionDelta),gl=this.getTransformTemplate(),wc=gl?gl(this.latestValues,""):void 0,xu=wc!==this.prevTransformTemplateValue;pl&&this.instance&&(ml||hasTransform(this.latestValues)||xu)&&(Sa(this.instance,wc),this.shouldResetTransform=!1,this.scheduleRender())}measure(pl=!0){const ml=this.measurePageBox();let gl=this.removeElementScroll(ml);return pl&&(gl=this.removeTransform(gl)),roundBox(gl),{animationId:this.root.animationId,measuredBox:ml,layoutBox:gl,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:pl}=this.options;if(!pl)return createBox();const ml=pl.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(checkNodeWasScrollRoot))){const{scroll:wc}=this.root;wc&&(translateAxis(ml.x,wc.offset.x),translateAxis(ml.y,wc.offset.y))}return ml}removeElementScroll(pl){const ml=createBox();if(copyBoxInto(ml,pl),this.scroll?.wasRoot)return ml;for(let gl=0;gl<this.path.length;gl++){const wc=this.path[gl],{scroll:xu,options:ff}=wc;wc!==this.root&&xu&&ff.layoutScroll&&(xu.wasRoot&&copyBoxInto(ml,pl),translateAxis(ml.x,xu.offset.x),translateAxis(ml.y,xu.offset.y))}return ml}applyTransform(pl,ml=!1){const gl=createBox();copyBoxInto(gl,pl);for(let wc=0;wc<this.path.length;wc++){const xu=this.path[wc];!ml&&xu.options.layoutScroll&&xu.scroll&&xu!==xu.root&&transformBox(gl,{x:-xu.scroll.offset.x,y:-xu.scroll.offset.y}),hasTransform(xu.latestValues)&&transformBox(gl,xu.latestValues)}return hasTransform(this.latestValues)&&transformBox(gl,this.latestValues),gl}removeTransform(pl){const ml=createBox();copyBoxInto(ml,pl);for(let gl=0;gl<this.path.length;gl++){const wc=this.path[gl];if(!wc.instance||!hasTransform(wc.latestValues))continue;hasScale(wc.latestValues)&&wc.updateSnapshot();const xu=createBox(),ff=wc.measurePageBox();copyBoxInto(xu,ff),removeBoxTransforms(ml,wc.latestValues,wc.snapshot?wc.snapshot.layoutBox:void 0,xu)}return hasTransform(this.latestValues)&&removeBoxTransforms(ml,this.latestValues),ml}setTargetDelta(pl){this.targetDelta=pl,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(pl){this.options={...this.options,...pl,crossfade:pl.crossfade!==void 0?pl.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==frameData.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(pl=!1){const ml=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=ml.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=ml.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=ml.isSharedProjectionDirty);const gl=!!this.resumingFrom||this!==ml;if(!(pl||gl&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:xu,layoutId:ff}=this.options;if(!this.layout||!(xu||ff))return;this.resolvedRelativeTargetAt=frameData.timestamp;const jf=this.getClosestProjectingParent();jf&&this.linkedParentVersion!==jf.layoutVersion&&!jf.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(jf&&jf.layout?this.createRelativeTarget(jf,this.layout.layoutBox,jf.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=createBox(),this.targetWithTransforms=createBox()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),calcRelativeBox(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):copyBoxInto(this.target,this.layout.layoutBox),applyBoxDelta(this.target,this.targetDelta)):copyBoxInto(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,jf&&!!jf.resumingFrom==!!this.resumingFrom&&!jf.options.layoutScroll&&jf.target&&this.animationProgress!==1?this.createRelativeTarget(jf,this.target,jf.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||hasScale(this.parent.latestValues)||has2DTranslate(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(pl,ml,gl){this.relativeParent=pl,this.linkedParentVersion=pl.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=createBox(),this.relativeTargetOrigin=createBox(),calcRelativePosition(this.relativeTargetOrigin,ml,gl),copyBoxInto(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){const pl=this.getLead(),ml=!!this.resumingFrom||this!==pl;let gl=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(gl=!1),ml&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(gl=!1),this.resolvedRelativeTargetAt===frameData.timestamp&&(gl=!1),gl)return;const{layout:wc,layoutId:xu}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(wc||xu))return;copyBoxInto(this.layoutCorrected,this.layout.layoutBox);const ff=this.treeScale.x,jf=this.treeScale.y;applyTreeDeltas(this.layoutCorrected,this.treeScale,this.path,ml),pl.layout&&!pl.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(pl.target=pl.layout.layoutBox,pl.targetWithTransforms=createBox());const{target:Uf}=pl;if(!Uf){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(copyAxisDeltaInto(this.prevProjectionDelta.x,this.projectionDelta.x),copyAxisDeltaInto(this.prevProjectionDelta.y,this.projectionDelta.y)),calcBoxDelta(this.projectionDelta,this.layoutCorrected,Uf,this.latestValues),(this.treeScale.x!==ff||this.treeScale.y!==jf||!axisDeltaEquals(this.projectionDelta.x,this.prevProjectionDelta.x)||!axisDeltaEquals(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",Uf))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(pl=!0){if(this.options.visualElement?.scheduleRender(),pl){const ml=this.getStack();ml&&ml.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=createDelta(),this.projectionDelta=createDelta(),this.projectionDeltaWithTransform=createDelta()}setAnimationOrigin(pl,ml=!1){const gl=this.snapshot,wc=gl?gl.latestValues:{},xu={...this.latestValues},ff=createDelta();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!ml;const jf=createBox(),Uf=gl?gl.source:void 0,rp=this.layout?this.layout.source:void 0,np=Uf!==rp,qm=this.getStack(),Vm=!qm||qm.members.length<=1,eg=!!(np&&!Vm&&this.options.crossfade===!0&&!this.path.some(hasOpacityCrossfade));this.animationProgress=0;let tg;this.mixTargetDelta=rg=>{const ig=rg/1e3;mixAxisDelta(ff.x,pl.x,ig),mixAxisDelta(ff.y,pl.y,ig),this.setTargetDelta(ff),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(calcRelativePosition(jf,this.layout.layoutBox,this.relativeParent.layout.layoutBox),mixBox(this.relativeTarget,this.relativeTargetOrigin,jf,ig),tg&&boxEquals(this.relativeTarget,tg)&&(this.isProjectionDirty=!1),tg||(tg=createBox()),copyBoxInto(tg,this.relativeTarget)),np&&(this.animationValues=xu,mixValues(xu,wc,this.latestValues,ig,eg,Vm)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=ig},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(pl){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(cancelFrame(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=frame.update(()=>{globalProjectionState.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=motionValue(0)),this.currentAnimation=animateSingleValue(this.motionValue,[0,1e3],{...pl,velocity:0,isSync:!0,onUpdate:ml=>{this.mixTargetDelta(ml),pl.onUpdate&&pl.onUpdate(ml)},onStop:()=>{},onComplete:()=>{pl.onComplete&&pl.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const pl=this.getStack();pl&&pl.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(animationTarget),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const pl=this.getLead();let{targetWithTransforms:ml,target:gl,layout:wc,latestValues:xu}=pl;if(!(!ml||!gl||!wc)){if(this!==pl&&this.layout&&wc&&shouldAnimatePositionOnly(this.options.animationType,this.layout.layoutBox,wc.layoutBox)){gl=this.target||createBox();const ff=calcLength(this.layout.layoutBox.x);gl.x.min=pl.target.x.min,gl.x.max=gl.x.min+ff;const jf=calcLength(this.layout.layoutBox.y);gl.y.min=pl.target.y.min,gl.y.max=gl.y.min+jf}copyBoxInto(ml,gl),transformBox(ml,xu),calcBoxDelta(this.projectionDeltaWithTransform,this.layoutCorrected,ml,xu)}}registerSharedNode(pl,ml){this.sharedNodes.has(pl)||this.sharedNodes.set(pl,new NodeStack),this.sharedNodes.get(pl).add(ml);const wc=ml.options.initialPromotionConfig;ml.promote({transition:wc?wc.transition:void 0,preserveFollowOpacity:wc&&wc.shouldPreserveFollowOpacity?wc.shouldPreserveFollowOpacity(ml):void 0})}isLead(){const pl=this.getStack();return pl?pl.lead===this:!0}getLead(){const{layoutId:pl}=this.options;return pl?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:pl}=this.options;return pl?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:pl}=this.options;if(pl)return this.root.sharedNodes.get(pl)}promote({needsReset:pl,transition:ml,preserveFollowOpacity:gl}={}){const wc=this.getStack();wc&&wc.promote(this,gl),pl&&(this.projectionDelta=void 0,this.needsReset=!0),ml&&this.setOptions({transition:ml})}relegate(){const pl=this.getStack();return pl?pl.relegate(this):!1}resetSkewAndRotation(){const{visualElement:pl}=this.options;if(!pl)return;let ml=!1;const{latestValues:gl}=pl;if((gl.z||gl.rotate||gl.rotateX||gl.rotateY||gl.rotateZ||gl.skewX||gl.skewY)&&(ml=!0),!ml)return;const wc={};gl.z&&resetDistortingTransform("z",pl,wc,this.animationValues);for(let xu=0;xu<transformAxes.length;xu++)resetDistortingTransform(`rotate${transformAxes[xu]}`,pl,wc,this.animationValues),resetDistortingTransform(`skew${transformAxes[xu]}`,pl,wc,this.animationValues);pl.render();for(const xu in wc)pl.setStaticValue(xu,wc[xu]),this.animationValues&&(this.animationValues[xu]=wc[xu]);pl.scheduleRender()}applyProjectionStyles(pl,ml){if(!this.instance||this.isSVG)return;if(!this.isVisible){pl.visibility="hidden";return}const gl=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,pl.visibility="",pl.opacity="",pl.pointerEvents=resolveMotionValue(ml?.pointerEvents)||"",pl.transform=gl?gl(this.latestValues,""):"none";return}const wc=this.getLead();if(!this.projectionDelta||!this.layout||!wc.target){this.options.layoutId&&(pl.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,pl.pointerEvents=resolveMotionValue(ml?.pointerEvents)||""),this.hasProjected&&!hasTransform(this.latestValues)&&(pl.transform=gl?gl({},""):"none",this.hasProjected=!1);return}pl.visibility="";const xu=wc.animationValues||wc.latestValues;this.applyTransformsToTarget();let ff=buildProjectionTransform(this.projectionDeltaWithTransform,this.treeScale,xu);gl&&(ff=gl(xu,ff)),pl.transform=ff;const{x:jf,y:Uf}=this.projectionDelta;pl.transformOrigin=`${jf.origin*100}% ${Uf.origin*100}% 0`,wc.animationValues?pl.opacity=wc===this?xu.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:xu.opacityExit:pl.opacity=wc===this?xu.opacity!==void 0?xu.opacity:"":xu.opacityExit!==void 0?xu.opacityExit:0;for(const rp in scaleCorrectors){if(xu[rp]===void 0)continue;const{correct:np,applyTo:qm,isCSSVariable:Vm}=scaleCorrectors[rp],eg=ff==="none"?xu[rp]:np(xu[rp],wc);if(qm){const tg=qm.length;for(let rg=0;rg<tg;rg++)pl[qm[rg]]=eg}else Vm?this.options.visualElement.renderState.vars[rp]=eg:pl[rp]=eg}this.options.layoutId&&(pl.pointerEvents=wc===this?resolveMotionValue(ml?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(pl=>pl.currentAnimation?.stop()),this.root.nodes.forEach(clearMeasurements),this.root.sharedNodes.clear()}}}function updateLayout(la){la.updateLayout()}function notifyLayoutUpdate(la){const aa=la.resumeFrom?.snapshot||la.snapshot;if(la.isLead()&&la.layout&&aa&&la.hasListeners("didUpdate")){const{layoutBox:ca,measuredBox:ua}=la.layout,{animationType:Sa}=la.options,hl=aa.source!==la.layout.source;Sa==="size"?eachAxis(xu=>{const ff=hl?aa.measuredBox[xu]:aa.layoutBox[xu],jf=calcLength(ff);ff.min=ca[xu].min,ff.max=ff.min+jf}):shouldAnimatePositionOnly(Sa,aa.layoutBox,ca)&&eachAxis(xu=>{const ff=hl?aa.measuredBox[xu]:aa.layoutBox[xu],jf=calcLength(ca[xu]);ff.max=ff.min+jf,la.relativeTarget&&!la.currentAnimation&&(la.isProjectionDirty=!0,la.relativeTarget[xu].max=la.relativeTarget[xu].min+jf)});const pl=createDelta();calcBoxDelta(pl,ca,aa.layoutBox);const ml=createDelta();hl?calcBoxDelta(ml,la.applyTransform(ua,!0),aa.measuredBox):calcBoxDelta(ml,ca,aa.layoutBox);const gl=!isDeltaZero(pl);let wc=!1;if(!la.resumeFrom){const xu=la.getClosestProjectingParent();if(xu&&!xu.resumeFrom){const{snapshot:ff,layout:jf}=xu;if(ff&&jf){const Uf=createBox();calcRelativePosition(Uf,aa.layoutBox,ff.layoutBox);const rp=createBox();calcRelativePosition(rp,ca,jf.layoutBox),boxEqualsRounded(Uf,rp)||(wc=!0),xu.options.layoutRoot&&(la.relativeTarget=rp,la.relativeTargetOrigin=Uf,la.relativeParent=xu)}}}la.notifyListeners("didUpdate",{layout:ca,snapshot:aa,delta:ml,layoutDelta:pl,hasLayoutChanged:gl,hasRelativeLayoutChanged:wc})}else if(la.isLead()){const{onExitComplete:ca}=la.options;ca&&ca()}la.options.transition=void 0}function propagateDirtyNodes(la){la.parent&&(la.isProjecting()||(la.isProjectionDirty=la.parent.isProjectionDirty),la.isSharedProjectionDirty||(la.isSharedProjectionDirty=!!(la.isProjectionDirty||la.parent.isProjectionDirty||la.parent.isSharedProjectionDirty)),la.isTransformDirty||(la.isTransformDirty=la.parent.isTransformDirty))}function cleanDirtyNodes(la){la.isProjectionDirty=la.isSharedProjectionDirty=la.isTransformDirty=!1}function clearSnapshot(la){la.clearSnapshot()}function clearMeasurements(la){la.clearMeasurements()}function clearIsLayoutDirty(la){la.isLayoutDirty=!1}function resetTransformStyle(la){const{visualElement:aa}=la.options;aa&&aa.getProps().onBeforeLayoutMeasure&&aa.notify("BeforeLayoutMeasure"),la.resetTransform()}function finishAnimation(la){la.finishAnimation(),la.targetDelta=la.relativeTarget=la.target=void 0,la.isProjectionDirty=!0}function resolveTargetDelta(la){la.resolveTargetDelta()}function calcProjection(la){la.calcProjection()}function resetSkewAndRotation(la){la.resetSkewAndRotation()}function removeLeadSnapshots(la){la.removeLeadSnapshot()}function mixAxisDelta(la,aa,ca){la.translate=mixNumber$1(aa.translate,0,ca),la.scale=mixNumber$1(aa.scale,1,ca),la.origin=aa.origin,la.originPoint=aa.originPoint}function mixAxis(la,aa,ca,ua){la.min=mixNumber$1(aa.min,ca.min,ua),la.max=mixNumber$1(aa.max,ca.max,ua)}function mixBox(la,aa,ca,ua){mixAxis(la.x,aa.x,ca.x,ua),mixAxis(la.y,aa.y,ca.y,ua)}function hasOpacityCrossfade(la){return la.animationValues&&la.animationValues.opacityExit!==void 0}const defaultLayoutTransition={duration:.45,ease:[.4,0,.1,1]},userAgentContains=la=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(la),roundPoint=userAgentContains("applewebkit/")&&!userAgentContains("chrome/")?Math.round:noop$3;function roundAxis(la){la.min=roundPoint(la.min),la.max=roundPoint(la.max)}function roundBox(la){roundAxis(la.x),roundAxis(la.y)}function shouldAnimatePositionOnly(la,aa,ca){return la==="position"||la==="preserve-aspect"&&!isNear(aspectRatio(aa),aspectRatio(ca),.2)}function checkNodeWasScrollRoot(la){return la!==la.root&&la.scroll?.wasRoot}const DocumentProjectionNode=createProjectionNode({attachResizeListener:(la,aa)=>addDomEvent(la,"resize",aa),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),rootProjectionNode={current:void 0},HTMLProjectionNode=createProjectionNode({measureScroll:la=>({x:la.scrollLeft,y:la.scrollTop}),defaultParent:()=>{if(!rootProjectionNode.current){const la=new DocumentProjectionNode({});la.mount(window),la.setOptions({layoutScroll:!0}),rootProjectionNode.current=la}return rootProjectionNode.current},resetTransform:(la,aa)=>{la.style.transform=aa!==void 0?aa:"none"},checkIsScrollRoot:la=>window.getComputedStyle(la).position==="fixed"}),drag={pan:{Feature:PanGesture},drag:{Feature:DragGesture,ProjectionNode:HTMLProjectionNode,MeasureLayout}};function handleHoverEvent(la,aa,ca){const{props:ua}=la;la.animationState&&ua.whileHover&&la.animationState.setActive("whileHover",ca==="Start");const Sa="onHover"+ca,hl=ua[Sa];hl&&frame.postRender(()=>hl(aa,extractEventInfo(aa)))}class HoverGesture extends Feature{mount(){const{current:aa}=this.node;aa&&(this.unmount=hover(aa,(ca,ua)=>(handleHoverEvent(this.node,ua,"Start"),Sa=>handleHoverEvent(this.node,Sa,"End"))))}unmount(){}}class FocusGesture extends Feature{constructor(){super(...arguments),this.isActive=!1}onFocus(){let aa=!1;try{aa=this.node.current.matches(":focus-visible")}catch{aa=!0}!aa||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=pipe(addDomEvent(this.node.current,"focus",()=>this.onFocus()),addDomEvent(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function handlePressEvent(la,aa,ca){const{props:ua}=la;if(la.current instanceof HTMLButtonElement&&la.current.disabled)return;la.animationState&&ua.whileTap&&la.animationState.setActive("whileTap",ca==="Start");const Sa="onTap"+(ca==="End"?"":ca),hl=ua[Sa];hl&&frame.postRender(()=>hl(aa,extractEventInfo(aa)))}class PressGesture extends Feature{mount(){const{current:aa}=this.node;aa&&(this.unmount=press(aa,(ca,ua)=>(handlePressEvent(this.node,ua,"Start"),(Sa,{success:hl})=>handlePressEvent(this.node,Sa,hl?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const observerCallbacks=new WeakMap,observers=new WeakMap,fireObserverCallback=la=>{const aa=observerCallbacks.get(la.target);aa&&aa(la)},fireAllObserverCallbacks=la=>{la.forEach(fireObserverCallback)};function initIntersectionObserver({root:la,...aa}){const ca=la||document;observers.has(ca)||observers.set(ca,{});const ua=observers.get(ca),Sa=JSON.stringify(aa);return ua[Sa]||(ua[Sa]=new IntersectionObserver(fireAllObserverCallbacks,{root:la,...aa})),ua[Sa]}function observeIntersection(la,aa,ca){const ua=initIntersectionObserver(aa);return observerCallbacks.set(la,ca),ua.observe(la),()=>{observerCallbacks.delete(la),ua.unobserve(la)}}const thresholdNames={some:0,all:1};class InViewFeature extends Feature{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:aa={}}=this.node.getProps(),{root:ca,margin:ua,amount:Sa="some",once:hl}=aa,pl={root:ca?ca.current:void 0,rootMargin:ua,threshold:typeof Sa=="number"?Sa:thresholdNames[Sa]},ml=gl=>{const{isIntersecting:wc}=gl;if(this.isInView===wc||(this.isInView=wc,hl&&!wc&&this.hasEnteredView))return;wc&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",wc);const{onViewportEnter:xu,onViewportLeave:ff}=this.node.getProps(),jf=wc?xu:ff;jf&&jf(gl)};return observeIntersection(this.node.current,pl,ml)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:aa,prevProps:ca}=this.node;["amount","margin","root"].some(hasViewportOptionChanged(aa,ca))&&this.startObserver()}unmount(){}}function hasViewportOptionChanged({viewport:la={}},{viewport:aa={}}={}){return ca=>la[ca]!==aa[ca]}const gestureAnimations={inView:{Feature:InViewFeature},tap:{Feature:PressGesture},focus:{Feature:FocusGesture},hover:{Feature:HoverGesture}},layout={layout:{ProjectionNode:HTMLProjectionNode,MeasureLayout}},featureBundle={...animations,...gestureAnimations,...drag,...layout},motion=createMotionProxy(featureBundle,createDomVisualElement),LoadingOverlay=({steps:la,currentStep:aa,isVisible:ca,statusMessage:ua,isSuccess:Sa,isError:hl,title:pl="Importing Team",subtitle:ml="Please wait while we import your team from GitHub..."})=>{const gl=jf=>{const Uf=la.findIndex(np=>np.id===aa),rp=la.findIndex(np=>np.id===jf);return hl&&jf===aa?"error":rp<Uf?"completed":rp===Uf?"loading":"pending"},wc=jf=>{switch(jf){case"completed":return jsxRuntimeExports.jsx(Icon,{icon:"material-symbols:check-circle",className:"w-5 h-5 text-green-500"});case"loading":return jsxRuntimeExports.jsx(motion.div,{animate:{rotate:360},transition:{duration:1,repeat:1/0,ease:"linear"},children:jsxRuntimeExports.jsx(Icon,{icon:"eos-icons:loading",className:"w-5 h-5 text-blue-500"})});case"error":return jsxRuntimeExports.jsx(Icon,{icon:"material-symbols:error",className:"w-5 h-5 text-red-500"});default:return jsxRuntimeExports.jsx("div",{className:"w-5 h-5 rounded-full border-2 border-gray-400"})}},xu=la.filter(jf=>gl(jf.id)==="completed").length,ff=xu/la.length*100;return jsxRuntimeExports.jsx(AnimatePresence,{children:ca&&jsxRuntimeExports.jsx(motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"absolute inset-0 bg-black/80 backdrop-blur-sm flex items-center justify-center z-[999] rounded-lg",children:jsxRuntimeExports.jsxs(motion.div,{initial:{scale:.9,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.9,opacity:0},className:"bg-secondary p-6 rounded-lg max-w-md w-full mx-4",children:[jsxRuntimeExports.jsxs("div",{className:"text-center mb-6",children:[jsxRuntimeExports.jsx(motion.div,{animate:{rotate:360},transition:{duration:2,repeat:1/0,ease:"linear"},className:"inline-block mb-3",children:jsxRuntimeExports.jsx(Icon,{icon:icons.github,className:"w-8 h-8 text-blue-500"})}),jsxRuntimeExports.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:pl}),jsxRuntimeExports.jsx("p",{className:"text-sm text-gray-400",children:ml})]}),jsxRuntimeExports.jsx("div",{className:"space-y-3 mb-4",children:la.map((jf,Uf)=>{const rp=gl(jf.id);return jsxRuntimeExports.jsxs(motion.div,{initial:{x:-20,opacity:0},animate:{x:0,opacity:1},transition:{delay:Uf*.1,duration:.3},className:`flex items-center space-x-3 p-2 rounded transition-colors ${rp==="loading"?"bg-blue-500/20 border border-blue-500/30":rp==="completed"?"bg-green-500/20 border border-green-500/30":rp==="error"?"bg-red-500/20 border border-red-500/30":"bg-gray-500/20 border border-gray-500/30"}`,children:[wc(rp),jsxRuntimeExports.jsx("span",{className:`flex-1 text-sm ${rp==="completed"?"text-green-400":rp==="loading"?"text-blue-400":rp==="error"?"text-red-400":"text-gray-400"}`,children:jf.label})]},jf.id)})}),jsxRuntimeExports.jsx("div",{className:"w-full h-2 bg-gray-700 rounded-full overflow-hidden mb-2",children:jsxRuntimeExports.jsx(motion.div,{className:`h-full ${hl?"bg-red-500":"bg-blue-500"}`,initial:{width:"0%"},animate:{width:`${ff}%`},transition:{duration:.5,ease:"easeInOut"}})}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-center text-gray-400 mb-4",children:[xu," of ",la.length," steps completed"]}),ua&&jsxRuntimeExports.jsx(motion.div,{initial:{y:10,opacity:0},animate:{y:0,opacity:1},transition:{delay:.2},className:`p-3 rounded text-sm text-center ${Sa?"bg-green-500/20 text-green-400":hl?"bg-red-500/20 text-red-400":"bg-blue-500/20 text-blue-400"}`,children:ua})]})})})},initialValues$1={name:""},getValidationSchema=la=>create$3().shape({name:create$6().required("Team's Name is required").max(50,"Team's Name must be less than 50 characters").matches(/^\S*$/,"Team's Name cannot contain space").matches(/^[a-zA-Z0-9_-]+$/,"Team's Name cannot contain special character").test("unique-name","Team with same name already exists",aa=>aa?!la.includes(aa.toLowerCase()):!0)}),NewTeam=({closeHandler:la})=>{const{workspaceApps:aa}=useTeams(),{addTeam:ca,isLoading:ua,currentStep:Sa,statusMessage:hl,loadingSteps:pl}=useAddTeam(),ml=(aa||[]).map(xu=>(xu?.Name||"").toLowerCase()),gl=getValidationSchema(ml),wc=useOutsideClickHandler(la);return jsxRuntimeExports.jsxs("div",{className:"modal-container",children:[jsxRuntimeExports.jsx(LoadingOverlay,{steps:pl,currentStep:Sa,isVisible:ua,statusMessage:hl,title:"Creating Team",subtitle:"Please wait while we create your new team..."}),jsxRuntimeExports.jsx(Formik,{initialValues:initialValues$1,onSubmit:async xu=>{await ca({name:xu.name})},validationSchema:gl,children:jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:wc,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Team"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(nht,{name:"name",placeholder:"Team Name"})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add Team",closeHandler:la})]})})]})},GithubUrl=()=>jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center m-auto flex-wrap justify-center",children:[jsxRuntimeExports.jsx("span",{children:"https://github.com/"}),jsxRuntimeExports.jsx(nht,{name:"githubOrg",placeholder:"GitHub Organization"}),jsxRuntimeExports.jsx("span",{children:"/"}),jsxRuntimeExports.jsx(nht,{name:"githubRepo",placeholder:"GitHub Repository"})]}),validationSchema$b=create$3().shape({modelName:create$6().required("Name is required").max(50,"Name must be less than 50 characters").test("no-spaces","Name cannot contain space",la=>la?!/\s/.test(la):!0).test("no-special-characters","Name cannot contain special character",la=>la?/^[a-zA-Z0-9_-]+$/.test(la):!0),githubOrg:create$6().required("GitHub Org is required").max(50,"GitHub Org must be less than 50 characters"),githubRepo:create$6().required("GitHub Repo is required").max(350,"GitHub Repo name must be less than 350 characters"),githubBranch:create$6().when("branchSelected",{is:!0,then:la=>la.required("GitHub Branch name is required and must be less than 100 characters").max(100,"GitHub Branch name must be less than 100 characters"),otherwise:la=>la.notRequired()}),branchSelected:create$7()}),IS_PLAYGROUND$3=!1,initialValues={modelName:"",githubOrg:"",githubRepo:"",githubBranch:"",branchSelected:!1},importLoadingSteps=[{id:"validating",label:"Validating repository access"},{id:"checking",label:"Checking for remote updates"},{id:"updating",label:"Fetching latest changes"},{id:"cloning",label:"Cloning repository"},{id:"processing",label:"Processing team structure"},{id:"creating",label:"Creating workspace app"},{id:"complete",label:"Import completed"},{id:"error",label:"Error during import"}],publishLoadingSteps=[{id:"validating",label:"Validating repository access"},{id:"checking",label:"Checking for remote updates"},{id:"updating",label:"Fetching latest changes"},{id:"cloning",label:"Cloning repository"},{id:"processing",label:"Processing model structure"},{id:"publishing",label:"Publishing to marketplace"},{id:"complete",label:"Publish completed"},{id:"error",label:"Error during publish"}],CustomBranch=()=>{const[la,,aa]=useField("branchSelected"),ca=la.value,ua=()=>{aa.setValue(!ca)};return jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center cursor-pointer",onClick:ua,children:[jsxRuntimeExports.jsx(Icon,{icon:ca?icons.checkboxSelected:icons.checkbox,className:classNames(["text-xl",ca?"text-checkbox-selected":"text-secondary-font"])}),"Use custom GitHub branch name?"]})},ImportTeam=({type:la,closeHandler:aa})=>{const{addWorkspaceApp:ca}=useTeams(),{publishModel:ua,fetchMarketplaceModels:Sa}=useMarketplace(),hl=useNavigate(),pl=useAppStore(vv=>vv.user),ml=useAppStore(vv=>vv.authData.username),gl=pl.GitHub?.Token,wc=pl.GitHub?.Username,[xu,ff]=reactExports.useState(!1),[jf,Uf]=reactExports.useState(""),[rp,np]=reactExports.useState(""),[qm,Vm]=reactExports.useState(void 0),[eg,tg]=reactExports.useState(void 0),rg=()=>{xu||aa()},ig=useOutsideClickHandler(rg);return jsxRuntimeExports.jsxs("div",{className:"modal-container relative",style:{opacity:xu?.5:1},children:[" ",reactDomExports.createPortal(jsxRuntimeExports.jsx(LoadingOverlay,{steps:la==="marketplace"?publishLoadingSteps:importLoadingSteps,currentStep:jf,isVisible:xu,statusMessage:rp,isSuccess:qm,isError:eg}),document.body),jsxRuntimeExports.jsx(Formik,{initialValues,validationSchema:validationSchema$b,onSubmit:async(vv,{setSubmitting:k1,setStatus:qw})=>{const K0=(Hw,O1,Y0)=>{qw({message:Hw,success:O1,error:Y0}),np(Hw),Vm(O1),tg(Y0)};ff(!0),K0(`Starting ${la==="marketplace"?"publish":"import"} process...`,!1,!1),Uf("validating");try{if(la==="marketplace"){const Hw=ml||"";Uf("publishing"),K0("Publishing to marketplace...",!1,!1);const O1={name:vv.modelName,type:"Team",owner:Hw,gitHubOrg:vv.githubOrg,gitHubRepo:vv.githubRepo,gitHubBranch:vv.branchSelected?vv.githubBranch:"main"};await ua(O1),await Sa(),K0("Model published successfully!",!0,!1),Uf("complete"),K0("Publish completed successfully!",!0,!1),await new Promise(Y0=>setTimeout(Y0,500)),setTimeout(()=>{aa()},1500)}else{const Hw=wc&&wc.trim().length>0,O1=gl&&gl.trim().length>0;(!Hw||!O1)&&console.warn("GitHub credentials missing - clone may fail for private repositories"),Uf("cloning"),K0("Cloning repository...",!1,!1);const Y0=`/${vv.githubRepo}`,G0=vv.branchSelected?vv.githubBranch:"main",X0=generateGitHubUrl(vv.githubOrg,vv.githubRepo,wc||"",gl||"");try{await cloneRepository(X0,Y0,G0,gl||""),Uf("processing"),K0("Processing repository...",!1,!1),await readRepoFile(Y0,"package.json"),await flushAllAndLoad(Y0,{name:"studio"})}catch(zN){try{await pathExists(Y0)&&(console.log(`Cleaning up failed clone: removing ${Y0} from IndexedDB`),await removeDirectory(Y0))}catch(BN){console.error("Error cleaning up failed clone:",BN)}throw zN}const d_=getUserModuleNames();Uf("creating"),K0("Creating workspace app...",!1,!1);const f_={name:vv.modelName,type:"App",gitHubOrg:vv.githubOrg,gitHubRepo:vv.githubRepo,branch:G0,description:"",owner:ml||"",version:"0.0.1",isEditable:!1};await ca(f_),K0(IS_PLAYGROUND$3?"Team added to workspace.":"Workspace app created.",!0,!1),Uf("complete"),K0("Import completed successfully!",!0,!1),await new Promise(zN=>setTimeout(zN,500)),hl(`/design/data-model/${vv.githubOrg}/${vv.modelName}/${d_[0]}`)}}catch(Hw){console.error("Unhandled error:",Hw),Uf("error"),K0(`An unexpected error occurred: ${Hw.message}`,!1,!0)}finally{k1(!1),jf!=="error"&&setTimeout(()=>{ff(!1),Uf(""),np(""),Vm(void 0),tg(void 0)},1500)}},children:vv=>{const k1=vv.values.branchSelected;return jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ig,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsxs("div",{className:"modal-title",children:[la==="team"&&"Import Team",la==="marketplace"&&"Publish Model"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:rg})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsx(nht,{name:"modelName",placeholder:"Team Name"}),jsxRuntimeExports.jsx(GithubUrl,{}),jsxRuntimeExports.jsx(CustomBranch,{}),k1&&jsxRuntimeExports.jsx(nht,{name:"githubBranch",placeholder:"GitHub Branch Name"})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:la==="team"?"Import":"Publish",closeHandler:rg,isLoading:xu})]})}})]})},LLM_SERVICES=[{label:"OpenAI",value:"openai"},{label:"Anthropic",value:"anthropic"}],getLLMVaidtionSchema=la=>create$3().shape({name:create$6().required("Name is required").max(50,"Name must be less than 50 characters").test("unique-name","Language Model with same name already exists",aa=>aa?!la.includes(aa):!0),type:create$6().required("Type is required")}),CreateLLM=({closeHandler:la})=>{const{createLLM:aa,llmData:ca}=useLLM(),ua=ca?.map(pl=>pl.name)??[],Sa=getLLMVaidtionSchema(ua),hl=useOutsideClickHandler(la);return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{name:"",type:"openai",config:{apiKey:"",model:"",maxTokens:4096,temperature:.7}},onSubmit:pl=>{aa({id:v4$2(),name:pl.name,type:pl.type,config:pl.config}),la()},validationSchema:Sa,children:jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:hl,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Language Model"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body flex flex-col gap-4",children:[jsxRuntimeExports.jsx(nht,{name:"name",label:"Name",placeholder:"e.g. llm01"}),jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1",children:jsxRuntimeExports.jsx(q$e,{fieldName:"type",options:LLM_SERVICES,placeholder:"LLM Service"})}),jsxRuntimeExports.jsx(nht,{name:"config.apiKey",label:"API Key",placeholder:"Enter API Key",type:"password"}),jsxRuntimeExports.jsx(nht,{name:"config.model",label:"Model",placeholder:"e.g. gpt-4o"}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[jsxRuntimeExports.jsx(nht,{name:"config.maxTokens",label:"Max Tokens",placeholder:"e.g. 4096",type:"number"}),jsxRuntimeExports.jsx(nht,{name:"config.temperature",label:"Temperature",placeholder:"e.g. 0.7",type:"number"})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add LLM",closeHandler:la})]})})})},getIntegrationValidationSchema=la=>create$3().shape({name:create$6().required("Name is required").max(50,"Name must be less than 50 characters").test("unique-name","Integration with same name already exists",aa=>aa?!la.includes(aa):!0),githubOrg:create$6().required("GitHub Organization is required").max(50,"GitHub Organization must be less than 50 characters"),githubRepo:create$6().required("GitHub Repository is required").max(350,"GitHub Repository name must be less than 350 characters")}),githubCredentialsValidationSchema=create$3().shape({username:create$6().required("GitHub username is required"),token:create$6().matches(/^ghp_[A-Za-z0-9]{36}$/,"Invalid GitHub token format").required("GitHub token is required")}),AddIntegration=({closeHandler:la,source:aa})=>{const{createIntegration:ca,integrationData:ua}=useIntegration(aa),Sa=ua?.map(ig=>ig.name)??[],hl=useOutsideClickHandler(la),[pl,ml]=React.useState(!1),[gl,wc]=React.useState(""),[xu,ff]=React.useState(null),[jf,Uf]=React.useState(!1),[rp,np]=React.useState(null),qm=React.useRef({name:"",githubOrg:"",githubRepo:""}),Vm=useAppStore(ig=>ig.user),eg=useAppStore(ig=>ig.setUser),tg=async ig=>{ml(!0),ff(null),wc("");try{const vv={name:ig.name,userData:{GitHubOrg:ig.githubOrg,GitHubRepo:ig.githubRepo}};await ca(vv),la()}catch(vv){if(vv?.code==="GITHUB_CREDENTIALS_REQUIRED"){np({name:ig.name,userData:{GitHubOrg:ig.githubOrg,GitHubRepo:ig.githubRepo}}),Uf(!0),ml(!1);return}const k1=vv?.message||"Failed to create integration. Please try again.";ff(k1),console.error("Failed to create integration:",vv)}finally{ml(!1),wc("")}},rg=async ig=>{ml(!0),ff(null),wc("");try{const vv={...Vm,GitHub:{...Vm.GitHub,Username:ig.username,Token:ig.token}};eg(vv),rp&&(await ca(rp),np(null),Uf(!1),la())}catch(vv){const k1=vv?.message||"Failed to create integration. Please try again.";ff(k1),console.error("Failed to create integration after credentials update:",vv)}finally{ml(!1),wc("")}};return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jf?jsxRuntimeExports.jsx(Formik,{initialValues:{username:Vm.GitHub?.Username||"",token:Vm.GitHub?.Token||""},validationSchema:githubCredentialsValidationSchema,onSubmit:rg,children:()=>jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:hl,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"GitHub Credentials Required"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:()=>{Uf(!1),np(null),la()}})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-secondary-font mb-4",children:"To create an integration in local mode, you need to provide your GitHub username and personal access token. These credentials will be stored in your user profile."}),jsxRuntimeExports.jsx(nht,{name:"username",placeholder:"GitHub Username"}),jsxRuntimeExports.jsx(sht,{name:"token",placeholder:"GitHub Personal Access Token"}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-secondary-font mt-2",children:["Don't have a token?"," ",jsxRuntimeExports.jsx("a",{href:"https://github.com/settings/tokens",target:"_blank",rel:"noopener noreferrer",className:"text-blue hover:text-blue-hover underline",children:"Create one here"})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Save & Continue",closeHandler:()=>{Uf(!1),np(null),la()},isLoading:pl,error:xu||void 0,statusMessage:gl})]})}):jsxRuntimeExports.jsx(Formik,{initialValues:{name:"",githubOrg:"",githubRepo:""},validationSchema:getIntegrationValidationSchema(Sa),onSubmit:tg,children:({values:ig})=>((qm.current.name!==ig.name||qm.current.githubOrg!==ig.githubOrg||qm.current.githubRepo!==ig.githubRepo)&&(xu&&ff(null),qm.current={name:ig.name,githubOrg:ig.githubOrg,githubRepo:ig.githubRepo}),jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:hl,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Integration"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsx(nht,{name:"name",placeholder:"Integration Name"}),jsxRuntimeExports.jsx(GithubUrl,{})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add Integration",closeHandler:la,isLoading:pl,error:xu||void 0,statusMessage:gl})]}))})})},AddEntity=({type:la="Entity",closeHandler:aa})=>{const ca=reactExports.useRef(null),{addEntity:ua,addEvent:Sa,addRecord:hl}=useEntity(),{addAgent:pl}=useAgent(),{addModuleHandler:ml}=useModule(),{moduleName:gl}=useParams(),wc=useOutsideClickHandler(aa),xu=()=>{switch(la){case"Module":return"Add Module";case"Entity":return"Add Entity";case"Record":return"Add Record";case"Agent":return"Add Agent";default:return"Add Event"}},ff=()=>create$3().shape({name:create$6().required(`${la}'s Name is required`).max(50,`${la}'s Name must be less than 50 characters`).matches(/^\S*$/,`${la}'s Name cannot contain space`).matches(/^[a-zA-Z0-9_-]+$/,`${la}'s Name cannot contain special character`).test("unique-name",`${la} with this name already exists`,function(jf){if(!jf||!gl)return!0;const Uf=getEntities(gl),rp=getRecords(gl),np=getEvents(gl),qm=getAgents(gl);return![...Uf,...rp,...np,...qm].includes(jf)})});return reactExports.useEffect(()=>{ca.current&&ca.current.focus()},[]),jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{name:""},onSubmit:jf=>{la==="Module"&&ml(jf.name),la==="Entity"&&ua(jf.name),la==="Record"&&hl(jf.name),la==="Event"&&Sa(jf.name),la==="Agent"&&pl(jf.name),aa()},validationSchema:ff(),children:jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:wc,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:xu()}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:aa})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(nht,{name:"name",placeholder:`${la} Name`,ref:ca})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:aa})]})})})},AddDecision=({closeHandler:la})=>{const aa=reactExports.useRef(null),{addDecision:ca}=useFlow(),ua=useOutsideClickHandler(la),Sa=create$3().shape({name:create$6().required("Decision's Name is required").max(50,"Decision's Name must be less than 50 characters").matches(/^\S*$/,"Decision's Name cannot contain space").matches(/^[a-zA-Z0-9_-]+$/,"Decision's Name cannot contain special character")});return reactExports.useEffect(()=>{aa.current&&aa.current.focus()},[]),jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{name:""},onSubmit:hl=>{ca(hl.name),la()},validationSchema:Sa,children:jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ua,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Decision"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(nht,{name:"name",placeholder:"Decision Name",ref:aa})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:la})]})})})},validationSchema$a=create$3().shape({relationshipName:create$6().required("Relationship Name is required").max(50,"Relationship Name must be less than 50 characters").matches(/^\S*$/,"Relationship Name cannot contain space").matches(/^[a-zA-Z0-9_-]+$/,"Relationship Name cannot contain special character").test("unique-relationship-name","Relationship with this name already exists",function(la){if(!la)return!0;const{fromModule:aa}=this.parent;return aa?!getRelationships(aa).includes(la):!0}),fromEntity:create$6().required("From Entity is required"),toEntity:create$6().required("To Entity is required"),fromModule:create$6().required("From Module is required"),toModule:create$6().required("To Module is required")}),AddRelationship=({closeHandler:la})=>{const{addRelationship:aa}=useRelationship$1(),{zoomHandler:ca}=useZoomHandler(),ua=useOutsideClickHandler(la),{teamName:Sa,moduleName:hl}=useParams(),pl=[{label:Sa??"",value:Sa??""}],ml=getUserModuleNames().map(gl=>({label:gl,value:gl}));return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{relationshipName:"",fromEntity:"",toEntity:"",fromModel:Sa,toModel:Sa,fromModule:hl,toModule:hl,relationshipType:"contains"},validationSchema:validationSchema$a,onSubmit:async gl=>{const wc=gl.fromModule||"",xu=gl.toModule||"",ff=gl.fromEntity||"",jf=gl.toEntity||"";await aa(gl.relationshipName,{module:wc,entity:ff},{module:xu,entity:jf},gl.relationshipType),la(),setTimeout(()=>{const Uf=`${hl}/${gl.relationshipName}`;ca(Uf)},500)},children:gl=>{const{values:wc,setValues:xu}=gl,ff=wc.relationshipType;return jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ua,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Relationship"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsx(nht,{name:"relationshipName",placeholder:"Relationship Name"}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[jsxRuntimeExports.jsx("p",{className:"font-semibold",children:"From"}),jsxRuntimeExports.jsx("p",{className:"font-semibold",children:"To"}),jsxRuntimeExports.jsx(q$e,{fieldName:"fromModel",placeholder:"From Model",options:pl}),jsxRuntimeExports.jsx(q$e,{fieldName:"toModel",placeholder:"To Model",options:pl}),jsxRuntimeExports.jsx(q$e,{fieldName:"fromModule",placeholder:"From Module",options:ml}),jsxRuntimeExports.jsx(q$e,{fieldName:"toModule",placeholder:"To Module",options:ml}),jsxRuntimeExports.jsx(q$e,{fieldName:"fromEntity",placeholder:"From Entity",options:getEntities(wc.fromModule??"").map(jf=>({label:jf,value:jf}))}),jsxRuntimeExports.jsx(q$e,{fieldName:"toEntity",placeholder:"To Entity",options:getEntities(wc.toModule??"").map(jf=>({label:jf,value:jf}))}),jsxRuntimeExports.jsxs("div",{className:"flex gap-4 col-span-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 cursor-pointer",onClick:()=>xu({...wc,relationshipType:"contains"}),children:[jsxRuntimeExports.jsx(Icon,{icon:ff==="contains"?icons.radioSelected:icons.radio,className:classNames([ff==="contains"?"text-checkbox-selected":"text-secondary-font","text-lg"])}),"Contains"]}),jsxRuntimeExports.jsxs("div",{onClick:()=>xu({...wc,relationshipType:"between"}),className:"flex items-center gap-2 cursor-pointer",children:[jsxRuntimeExports.jsx(Icon,{icon:ff==="between"?icons.radioSelected:icons.radio,className:classNames([ff==="between"?"text-checkbox-selected":"text-secondary-font","text-lg"])}),"Between"]})]})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:la})]})}})})},compoundTypes=["Entity","Event","Relationship"],validationSchema$9=create$3().shape({name:create$6().required("Attribute Name is required").max(50,"Attribute Name must be less than 50 characters").matches(/^\S*$/,"Attribute Name cannot contain space").matches(/^[a-zA-Z0-9_-]+$/,"Attribute Name cannot contain special character"),valueType:create$6().required(),attributeType:create$6().when("valueType",{is:"type",then:la=>la.required("Type is required"),otherwise:la=>la.notRequired()}),model:create$6().when("attributeType",{is:la=>compoundTypes.includes(la),then:la=>la.required("Model is required"),otherwise:la=>la.notRequired()}),module:create$6().when("attributeType",{is:la=>compoundTypes.includes(la),then:la=>la.required("Module is required"),otherwise:la=>la.notRequired()}),entity:create$6().when("attributeType",{is:la=>compoundTypes.includes(la),then:la=>la.required("Entity is required"),otherwise:la=>la.notRequired()})}),TagInput=({value:la,onChangeHandler:aa,label:ca,className:ua,readOnly:Sa=!1})=>{const[hl,pl]=reactExports.useState(la),[ml,gl]=reactExports.useState(""),wc=Uf=>{const rp=Uf.trim();if(rp&&!hl.includes(rp)){const np=[...hl,rp];pl(np),aa?.(np)}},xu=Uf=>{const rp=hl.filter((np,qm)=>qm!==Uf);pl(rp),aa?.(rp)},ff=Uf=>{gl(Uf.target.value)},jf=Uf=>{Uf.key==="Enter"||Uf.key===","||Uf.key==="Tab"||Uf.key===" "?(Uf.preventDefault(),ml.trim()&&(wc(ml),gl(""))):Uf.key==="Backspace"&&ml===""&&hl.length>0&&xu(hl.length-1)};return jsxRuntimeExports.jsxs("div",{className:`grow rounded-lg flex gap-2 flex-wrap bg-secondary px-1 py-0.5 ${ua}`,children:[hl.map((Uf,rp)=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-2 py-0.5 bg-blue/20 border border-blue rounded-lg text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-medium",children:Uf}),jsxRuntimeExports.jsx("button",{type:"button",className:"cursor-pointer duration-300 hover:text-maroon",onClick:()=>xu(rp),style:{display:Sa?"none":"block"},children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,width:12,height:12})})]},rp)),jsxRuntimeExports.jsx("input",{type:"text",placeholder:ca||"Add a tag",value:ml,onChange:ff,onKeyDown:jf,className:"w-max! border-none outline-none text-sm bg-transparent! no-underline",readOnly:Sa})]})},EntitySelector$1=({type:la="Entity",entryName:aa})=>{const[ca,,ua]=useField("model"),[Sa,,hl]=useField("module"),{dependenciesOptions:pl,getDependenciesModule:ml}=useDependencies(),gl=ml(ca.value),wc=getEntities(Sa.value),xu=getRecords(Sa.value);return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 ",children:[jsxRuntimeExports.jsx(q$e,{fieldName:"model",options:pl,placeholder:"Model",onChangeHandler:ff=>{ua.setValue(ff),hl.setValue(ml(ff)[0])}}),jsxRuntimeExports.jsx(q$e,{fieldName:"module",options:gl.map(ff=>({label:ff,value:ff})),placeholder:"Module"})]}),jsxRuntimeExports.jsx(q$e,{fieldName:"entity",options:la==="Record"?xu.filter(ff=>ff!==aa).map(ff=>({label:ff,value:ff})):wc.filter(ff=>ff!==aa).map(ff=>({label:ff,value:ff})),placeholder:la})]})},getPropertyLabel=la=>{const aa=la.startsWith("@")?la:`@${la}`;return{"@id":"Primary Key","@optional":"Optional","@autoincrement":"Auto Increment","@fk":"Foreign Key","@comment":"Comment","@indexed":"Indexed","@check":"Check Constraint","@array":"Array","@ref":"Reference","@default":"Default Value","@unique":"Unique","@object":"Object","@readonly":"Read Only","@enum":"Enum","@oneof":"One Of"}[aa]||la},valueTypes=[{value:"type",label:"Type"},{value:"@enum",label:"Enum"},{value:"@oneof",label:"One of"},{value:"Entity",label:"Entity"},{value:"Record",label:"Record"}],AddAttribute=({entryName:la,closeHandler:aa})=>{const{addAttribute:ca}=useEntity(),ua=useOutsideClickHandler(aa),Sa=[...Array.from(builtInTypes$1)].map(xu=>({label:xu,value:xu})).sort((xu,ff)=>xu.label.localeCompare(ff.label)),hl=Array.from(propertyNames$1).filter(xu=>xu!=="@oneof"&&xu!=="@enum").map(xu=>({label:getPropertyLabel(xu),value:xu})),{currentTeam:pl}=useTeams(),ml=pl?.GitHubRepo,{getDependenciesModule:gl}=useDependencies(),wc=gl(ml);return jsxRuntimeExports.jsx("div",{className:"modal-container",onClick:xu=>xu.stopPropagation(),children:jsxRuntimeExports.jsx(Formik,{initialValues:{name:"",attributeType:"String",valueType:"type",oneOf:[],defaultValue:"",properties:[],model:ml||"",module:wc[0]||"",entity:""},onSubmit:xu=>{const ff=xu.valueType==="Entity"||xu.valueType==="Record",jf=xu.valueType==="@oneof",Uf=ff||jf?{model:xu.model,module:xu.module,entity:xu.entity}:void 0;ca(la,xu.name,xu.attributeType,xu.properties,xu.valueType,xu.oneOf,xu.defaultValue,Uf),aa()},validationSchema:validationSchema$9,children:xu=>{const{values:ff,setValues:jf}=xu,{valueType:Uf}=ff,rp=Uf==="Entity"||Uf==="Record",np=Uf==="@oneof",qm=Uf==="@enum",Vm=!np&&!rp;return jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ua,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Attribute"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:aa})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsx(nht,{name:"name",placeholder:"Attribute Name"}),jsxRuntimeExports.jsx("div",{className:"grid grid-cols-3 gap-4",children:valueTypes.map(({value:eg,label:tg})=>{const rg=ff.valueType===eg;return jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center cursor-pointer",onClick:()=>{const ig={...ff,valueType:eg};eg==="Entity"||eg==="Record"?ig.attributeType=eg:eg==="type"&&(ig.attributeType="String"),jf(ig)},children:[jsxRuntimeExports.jsx(Icon,{icon:rg?"mdi:radiobox-marked":"mdi:radiobox-blank",className:classNames(["text-xl",rg?"text-checkbox-selected":"text-secondary-font"])}),tg]},eg)})}),qm&&jsxRuntimeExports.jsx(TagInput,{value:ff.oneOf,label:`Enter ${qm?"enum":"one of"} values`,onChangeHandler:eg=>jf({...ff,oneOf:eg})}),Uf==="type"&&jsxRuntimeExports.jsx(q$e,{fieldName:"attributeType",placeholder:"Type",options:Sa}),(rp||np)&&jsxRuntimeExports.jsx(EntitySelector$1,{type:Uf,entryName:la}),Vm&&jsxRuntimeExports.jsx(nht,{name:"defaultValue",placeholder:"Default Value"}),jsxRuntimeExports.jsx("div",{className:"grid grid-cols-3 gap-4",children:hl.map(({value:eg,label:tg})=>{const rg=ff.properties.includes(eg);return jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center cursor-pointer",onClick:()=>{const ig=rg?ff.properties.filter(vv=>vv!==eg):[...ff.properties,eg];jf({...ff,properties:ig})},children:[jsxRuntimeExports.jsx(Icon,{icon:rg?icons.checkboxSelected:icons.checkbox,className:classNames(["text-xl",rg?"text-checkbox-selected":"text-secondary-font"])}),tg]},eg)})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:aa})]})}})})},Spinner=({width:la,height:aa})=>jsxRuntimeExports.jsx("div",{style:{width:la,height:aa},className:"border-2 border-white/30 border-t-white rounded-full animate-spin"}),TeamOrDepIcon=({name:la,width:aa=16,height:ca=16,className:ua=""})=>{const[Sa,hl]=reactExports.useState(icons.loading),[pl,ml]=reactExports.useState(!0),gl=reactExports.useRef(!1),{currentTeam:wc}=useTeams(),xu=wc?.GitHubRepo,ff=reactExports.useCallback(async()=>{if(gl.current)return;const jf=la.split(".")[0].toLowerCase();if(!xu){const Uf=serviceIcons[jf]||icons.agent;hl(Uf),ml(!1);return}gl.current=!0,ml(!0);try{let Uf;jf===xu?Uf=await readPackageJsonFromGit(jf,!1):Uf=await readDependencyPackageJsonFromGit(xu,jf,!1);const rp=Uf?.icon??serviceIcons[jf]??icons.agent;hl(rp)}catch{const rp=serviceIcons[jf]||icons.agent;hl(rp)}finally{ml(!1),gl.current=!1}},[la,xu]);return reactExports.useEffect(()=>{ff()},[ff]),pl?jsxRuntimeExports.jsx(Spinner,{width:aa,height:ca}):jsxRuntimeExports.jsx(Icon,{icon:Sa,width:aa,height:ca,className:ua})},ModelIcon$1=({model:la,size:aa})=>{const ca=la.Name,ua=la.Type,Sa=la.Icon,hl=!!Sa&&ca!=="Jira"&&ca!=="Slack"&&ca!=="Odoo"&&ua!=="Team";let pl;if(hl){const ml=`custom-${ca.toLowerCase()}-icon`;registerBase64Icon(ml,Sa),pl=ml}else ca==="Jira"?pl="logos:jira":ca==="Slack"?pl="logos:slack-icon":ca==="Odoo"?pl="simple-icons:odoo":pl=icons.agent;return hl?jsxRuntimeExports.jsx("img",{src:Sa,width:aa,height:aa,alt:`${ca} icon`,style:{width:`${aa}px`,height:`${aa}px`}}):jsxRuntimeExports.jsx(Icon,{icon:pl,width:aa,height:aa})},ActionOption=({model:la,isLoading:aa,onClick:ca})=>{const ua=la.Type==="Team",Sa=ua&&la.GitHubRepo||la.Name;return jsxRuntimeExports.jsxs("div",{className:"option group",onClick:ca,children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[ua?jsxRuntimeExports.jsx(TeamOrDepIcon,{name:Sa,width:20,height:20}):jsxRuntimeExports.jsx(ModelIcon$1,{model:la,size:20}),la.Name]}),aa?jsxRuntimeExports.jsx(Icon,{icon:"eos-icons:loading"}):jsxRuntimeExports.jsx(Icon,{icon:"tabler:chevron-right",className:"hidden group-hover:inline"})]})},ActionsList=({onCreateCrudStatement:la,selectedModel:aa})=>{const{moduleName:ca}=useParams(),{currentTeam:ua}=useTeams(),{getDependenciesModule:Sa}=useDependencies();let hl=[];aa?.GitHubRepo?ua?.GitHubRepo!==aa.GitHubRepo?hl=Sa(aa.GitHubRepo):hl=getTeamModules(aa.GitHubRepo):hl=ca?[ca]:[];const pl=hl.flatMap(gl=>getEntities(gl)),ml=hl.flatMap(gl=>getEvents(gl));return jsxRuntimeExports.jsxs("div",{className:"actions-list",children:[jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font",children:"Actions"}),jsxRuntimeExports.jsxs("div",{className:"actions-list",children:[pl.map(gl=>jsxRuntimeExports.jsxs("div",{className:"action-item",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-4",children:[jsxRuntimeExports.jsx("div",{className:"context-menu-icon bg-[#025cd4]/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.entity})}),jsxRuntimeExports.jsx("div",{children:gl})]}),jsxRuntimeExports.jsxs("div",{className:"flex gap-1 items-center",children:[jsxRuntimeExports.jsx("div",{className:"rounded-checkbox",onClick:()=>la(gl,"create"),children:"C"}),jsxRuntimeExports.jsx("div",{className:"rounded-checkbox",onClick:()=>la(gl,"read"),children:"R"}),jsxRuntimeExports.jsx("div",{className:"rounded-checkbox",onClick:()=>la(gl,"update"),children:"U"}),jsxRuntimeExports.jsx("div",{className:"rounded-checkbox",onClick:()=>la(gl,"delete"),children:"D"})]})]},gl)),ml.map(gl=>jsxRuntimeExports.jsx("div",{className:"action-item cursor-pointer",onClick:()=>la(gl,"create"),children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-4",children:[jsxRuntimeExports.jsx("div",{className:"context-menu-icon bg-[#025cd4]/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.action})}),jsxRuntimeExports.jsx("div",{children:gl})]})},gl))]})]})},Actions=({onCreateCrudStatement:la,closeHandler:aa})=>{const{currentTeam:ca}=useStore(),{dependenciesOptions:ua}=useDependencies(),[Sa,hl]=reactExports.useState(),[pl,ml]=reactExports.useState(0),[gl,wc]=reactExports.useState(""),ff=useAppStore(rp=>rp.marketplaceModels).result.filter(rp=>rp.Name.toLowerCase().includes(gl.toLowerCase())),jf=reactExports.useMemo(()=>{const rp=ca?.GitHubRepo;return ua.filter(np=>rp&&np.value===rp?!1:np.label.toLowerCase().includes(gl.toLowerCase())).map(np=>({Name:np.label,Type:"Team",GitHubRepo:np.value,GitHubOrg:"",Description:"",Version:"0.0.1",Branch:"main",Config:{},CreatedAt:"",Dependencies:{FractlModels:[],ClojureLibraries:[]},EntityType:"",GithubUrl:"",Id:np.value,__Id__:np.value,LastUpdatedAt:"",Owner:"",Tags:null,isEditable:!1,isPin:!1}))},[ua,ca?.GitHubRepo,gl]),Uf=useOutsideClickHandler(()=>{aa()});return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content",ref:Uf,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title leading-none",children:pl===0?"Add Action":jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{onClick:()=>ml(0),icon:"tabler:chevron-left",className:" text-secondary-font text-xl cursor-pointer"}),Sa&&jsxRuntimeExports.jsx(TeamOrDepIcon,{name:Sa.GitHubRepo||Sa.Name,width:20,height:20}),jsxRuntimeExports.jsx("div",{children:Sa?.Name})]})}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:aa})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:pl===0?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("input",{type:"text",value:gl,onChange:rp=>wc(rp.target.value),placeholder:"Search by name"}),jsxRuntimeExports.jsxs("div",{className:"max-h-[600px] overflow-auto",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 py-2",children:[jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font",children:"Current Team and its dependencies"}),jsxRuntimeExports.jsxs("div",{className:"action-option-grid",children:[ca&&jsxRuntimeExports.jsx(ActionOption,{model:ca,isLoading:!1,onClick:()=>{hl(ca),ml(1)}}),jf.map(rp=>jsxRuntimeExports.jsx(ActionOption,{model:rp,isLoading:!1,onClick:()=>{hl(rp),ml(1)}},rp.Id))]})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 py-2",children:[jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font",children:"Integrations and Agents"}),jsxRuntimeExports.jsx("div",{className:"action-option-grid",children:ff.map(rp=>jsxRuntimeExports.jsx(ActionOption,{model:rp,isLoading:!1,onClick:()=>{y$b.info("Under Progress")}},rp.Name))})]})]})]}):jsxRuntimeExports.jsx(ActionsList,{onCreateCrudStatement:la,selectedModel:Sa})})]})})},ModelIcon=({model:la,size:aa})=>{const ca=la.Name,ua=la.Type,Sa=la.Icon,hl=!!Sa&&ca!=="Jira"&&ca!=="Slack"&&ca!=="Odoo"&&ua!=="Team";let pl;if(hl){const ml=`custom-${ca.toLowerCase()}-icon`;registerBase64Icon(ml,Sa),pl=ml}else ca==="Jira"?pl="logos:jira":ca==="Slack"?pl="logos:slack-icon":ca==="Odoo"?pl="simple-icons:odoo":pl=icons.agent;return hl?jsxRuntimeExports.jsx("img",{src:Sa,width:aa,height:aa,alt:`${ca} icon`,style:{width:`${aa}px`,height:`${aa}px`}}):jsxRuntimeExports.jsx(Icon,{icon:pl,width:aa,height:aa})},AgentOption=({model:la,isLoading:aa,onClick:ca})=>{const ua=la.Type==="Team",Sa=ua&&la.GitHubRepo||la.Name;return jsxRuntimeExports.jsxs("div",{className:"option group",onClick:ca,children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[ua?jsxRuntimeExports.jsx(TeamOrDepIcon,{name:Sa,width:20,height:20}):jsxRuntimeExports.jsx(ModelIcon,{model:la,size:20}),la.Name]}),aa?jsxRuntimeExports.jsx(Icon,{icon:"eos-icons:loading"}):jsxRuntimeExports.jsx(Icon,{icon:"tabler:chevron-right",className:"hidden group-hover:inline"})]})},AgentsList=({onAgentSelect:la,showEvents:aa,showDecisions:ca,selectedModel:ua})=>{const{moduleName:Sa}=useParams(),{currentTeam:hl}=useTeams(),{getDependenciesModule:pl}=useDependencies();let ml=[];ua?.GitHubRepo?hl?.GitHubRepo!==ua.GitHubRepo?ml=pl(ua.GitHubRepo):ml=getTeamModules(ua.GitHubRepo):ml=Sa?[Sa]:[];const gl=ml.flatMap(ff=>getAgents(ff)),wc=ml.flatMap(ff=>getEvents(ff)),xu=ml.flatMap(ff=>getDecisions(ff));return ca?jsxRuntimeExports.jsxs("div",{className:"actions-list",children:[jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font",children:"Available Decisions"}),jsxRuntimeExports.jsx("div",{className:"actions-list",children:xu.length>0?xu.map(ff=>jsxRuntimeExports.jsx("div",{className:"action-item cursor-pointer",onClick:()=>la(ff),children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-4",children:[jsxRuntimeExports.jsx("div",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.decision})}),jsxRuntimeExports.jsx("div",{children:ff})]})},ff)):jsxRuntimeExports.jsxs("div",{className:"text-center py-8",children:[jsxRuntimeExports.jsx("div",{className:"w-16 h-16 bg-secondary rounded-full flex items-center justify-center mx-auto mb-3",children:jsxRuntimeExports.jsx(Icon,{icon:icons.decision,className:"text-3xl text-secondary-font opacity-50"})}),jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font text-base mb-1",children:"No decisions found in this module"})]})})]}):jsxRuntimeExports.jsxs("div",{className:"actions-list",children:[jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font",children:"Available Agents"}),jsxRuntimeExports.jsx("div",{className:"actions-list",children:gl.length>0?gl.map(ff=>jsxRuntimeExports.jsx("div",{className:"action-item cursor-pointer",onClick:()=>la(ff),children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-4",children:[jsxRuntimeExports.jsx("div",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.agent})}),jsxRuntimeExports.jsx("div",{children:ff})]})},ff)):jsxRuntimeExports.jsxs("div",{className:"text-center py-8",children:[jsxRuntimeExports.jsx("div",{className:"w-16 h-16 bg-secondary rounded-full flex items-center justify-center mx-auto mb-3",children:jsxRuntimeExports.jsx(Icon,{icon:icons.agent,className:"text-3xl text-secondary-font opacity-50"})}),jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font text-base mb-1",children:"No agents found in this module"}),jsxRuntimeExports.jsx("div",{className:"text-secondary-font text-sm opacity-70",children:"Create agents first to use them in patterns"})]})}),aa&&wc.length>0&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font",children:"Available Events"}),jsxRuntimeExports.jsx("div",{className:"actions-list",children:wc.map(ff=>jsxRuntimeExports.jsx("div",{className:"action-item cursor-pointer",onClick:()=>la(ff),children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-4",children:[jsxRuntimeExports.jsx("div",{className:"context-menu-icon bg-action-bg text-action-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.action})}),jsxRuntimeExports.jsx("div",{children:ff})]})},ff))})]})]})},Agents$1=({onCreatePattern:la,closeHandler:aa,showEvents:ca=!1,showDecisions:ua=!1})=>{const{currentTeam:Sa}=useStore(),{dependenciesOptions:hl}=useDependencies(),[pl,ml]=reactExports.useState(),[gl,wc]=reactExports.useState(0),[xu,ff]=reactExports.useState(""),Uf=useAppStore(qm=>qm.marketplaceModels).result.filter(qm=>qm.Name.toLowerCase().includes(xu.toLowerCase())),rp=reactExports.useMemo(()=>{const qm=Sa?.GitHubRepo;return hl.filter(Vm=>qm&&Vm.value===qm?!1:Vm.label.toLowerCase().includes(xu.toLowerCase())).map(Vm=>({Name:Vm.label,Type:"Team",GitHubRepo:Vm.value,GitHubOrg:"",Description:"",Version:"0.0.1",Branch:"main",Config:{},CreatedAt:"",Dependencies:{FractlModels:[],ClojureLibraries:[]},EntityType:"",GithubUrl:"",Id:Vm.value,__Id__:Vm.value,LastUpdatedAt:"",Owner:"",Tags:null,isEditable:!1,isPin:!1}))},[hl,Sa?.GitHubRepo,xu]),np=useOutsideClickHandler(()=>{aa()});return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content",ref:np,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title leading-none",children:gl===0?ca?"Add Agent or Event":"Add Agent":jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{onClick:()=>wc(0),icon:"tabler:chevron-left",className:" text-secondary-font text-xl cursor-pointer"}),pl&&jsxRuntimeExports.jsx(TeamOrDepIcon,{name:pl.GitHubRepo||pl.Name,width:20,height:20}),jsxRuntimeExports.jsx("div",{children:pl?.Name})]})}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:aa})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:gl===0?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("input",{type:"text",value:xu,onChange:qm=>ff(qm.target.value),placeholder:"Search by name"}),jsxRuntimeExports.jsxs("div",{className:"max-h-[600px] overflow-auto",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 py-2",children:[jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font",children:"Current Team and its dependencies"}),jsxRuntimeExports.jsxs("div",{className:"action-option-grid",children:[Sa&&jsxRuntimeExports.jsx(AgentOption,{model:Sa,isLoading:!1,onClick:()=>{ml(Sa),wc(1)}}),rp.map(qm=>jsxRuntimeExports.jsx(AgentOption,{model:qm,isLoading:!1,onClick:()=>{ml(qm),wc(1)}},qm.Id))]})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 py-2",children:[jsxRuntimeExports.jsx("div",{className:"font-medium text-secondary-font",children:"Integrations and Agents"}),jsxRuntimeExports.jsx("div",{className:"action-option-grid",children:Uf.map(qm=>jsxRuntimeExports.jsx(AgentOption,{model:qm,isLoading:!1,onClick:()=>{y$b.info("Under Progress")}},qm.Name))})]})]})]}):jsxRuntimeExports.jsx(AgentsList,{showDecisions:ua,showEvents:ca,selectedModel:pl,onAgentSelect:qm=>{la(qm)}})})]})})},ConfirmDelete=({closeHandler:la,onConfirm:aa,title:ca="Confirm Delete",message:ua="Are you sure you want to delete this item?",confirmText:Sa="Delete",cancelText:hl="Cancel",isLoading:pl=!1,itemName:ml})=>{const gl=useOutsideClickHandler(la),wc=async()=>{try{await aa(),la()}catch(xu){console.error("Error during deletion:",xu)}};return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content",ref:gl,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:ca}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[jsxRuntimeExports.jsx("div",{className:"w-12 h-12 bg-red-500/20 rounded-full flex items-center justify-center",children:jsxRuntimeExports.jsx(Icon,{icon:"material-symbols:delete-outline",className:"text-red-500 text-xl"})}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"text-lg font-medium text-white",children:ca}),ml&&jsxRuntimeExports.jsx("p",{className:"text-sm text-gray-400",children:`"${ml}"`})]})]}),jsxRuntimeExports.jsx("p",{className:"text-gray-300 text-sm leading-relaxed",children:ua}),jsxRuntimeExports.jsx("div",{className:"mt-4 p-3 bg-red-500/10 border border-red-500/20 rounded-lg",children:jsxRuntimeExports.jsxs("p",{className:"text-red-400 text-xs",children:[jsxRuntimeExports.jsx(Icon,{icon:"material-symbols:warning-outline",className:"inline mr-1"}),"This action cannot be undone."]})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[jsxRuntimeExports.jsx("div",{className:"cancel-button w-[150px]",onClick:la,children:hl}),jsxRuntimeExports.jsx("button",{type:"button",className:"sure-button w-[150px] bg-red-600 hover:bg-red-700 disabled:bg-red-600/50",onClick:wc,disabled:pl,children:pl?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx(CircularProgress,{size:16,color:"inherit"}),"Deleting..."]}):Sa})]})]})})},AddRole=({closeHandler:la})=>{const aa=useOutsideClickHandler(la),{addRole:ca}=useRbac(),ua=create$3().shape({roleName:create$6().required("Role Name is required").min(2,"Role Name must be at least 2 characters").matches(/^[a-zA-Z]+$/,"Role Name can only contain alphabets").test("not-reserved",'Role Name cannot be "admin" or "all"',function(hl){if(!hl)return!0;const pl=hl.toLowerCase();return pl!=="admin"&&pl!=="all"})}),Sa=hl=>{try{const pl=hl.roleName;ca(pl),la()}catch(pl){console.error("Error adding role:",pl)}};return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{roleName:""},onSubmit:Sa,validationSchema:ua,children:jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:aa,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Role"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(nht,{name:"roleName",placeholder:"Role Name"})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:la})]})})})},AddTrigger=({closeHandler:la})=>{const{addTrigger:aa}=useWorkflow(""),ca=useOutsideClickHandler(la),{currentTeam:ua}=useTeams(),Sa=ua?.GitHubRepo,{dependenciesOptions:hl,getDependenciesModule:pl}=useDependencies(),ml=pl(Sa),gl=[{label:"Before",value:"before"},{label:"After",value:"after"}],wc=[{label:"Create",value:"create"},{label:"Update",value:"update"},{label:"Delete",value:"delete"}],xu=create$3().shape({model:create$6().required("Model is required"),module:create$6().required("Module is required"),entity:create$6().required("Entity is required"),triggerType:create$6().required("Trigger type is required"),triggerTime:create$6().required("Trigger time is required")});return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{model:Sa||"",module:ml[0]||"",entity:"",triggerType:"create",triggerTime:"after"},onSubmit:ff=>{console.log(ff),aa(ff.entity,ff.triggerType,ff.triggerTime),la()},validationSchema:xu,children:ff=>{const{values:jf,setValues:Uf}=ff,rp=pl(jf.model),qm=getEntities(jf.module).map(Vm=>({label:Vm,value:Vm}));return jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ca,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Trigger"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body ",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[jsxRuntimeExports.jsx(q$e,{fieldName:"model",options:hl,placeholder:"Model",onChangeHandler:Vm=>{Uf({...jf,model:Vm,module:pl(Vm)[0]||"",entity:""})}}),jsxRuntimeExports.jsx(q$e,{fieldName:"module",options:rp.map(Vm=>({label:Vm,value:Vm})),placeholder:"Module"})]}),jsxRuntimeExports.jsx(q$e,{fieldName:"entity",placeholder:"Select Entity",options:qm}),jsxRuntimeExports.jsx(q$e,{fieldName:"triggerType",placeholder:"Select Trigger Type",options:wc}),jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsx("label",{className:"font-bold text-xs text-secondary-font",children:"Trigger Time"}),jsxRuntimeExports.jsx("div",{className:"grid grid-cols-2 gap-2",children:gl.map(Vm=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 cursor-pointer p-2 rounded-md hover:bg-secondary/20 transition-colors",onClick:()=>Uf({...jf,triggerTime:Vm.value}),children:[jsxRuntimeExports.jsx(Icon,{icon:jf.triggerTime===Vm.value?icons.radioSelected:icons.radio,className:classNames([jf.triggerTime===Vm.value?"text-checkbox-selected":"text-secondary-font","text-lg"])}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:Vm.label})]},Vm.value))})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add Trigger",closeHandler:la})]})}})})},AddFunctionCall=({closeHandler:la,onSubmit:aa})=>{const ca=reactExports.useRef(null),ua=useOutsideClickHandler(la),Sa=create$3().shape({functionName:create$6().required("Function name is required").matches(/^\S*$/,"Function name cannot contain space")});return reactExports.useEffect(()=>{ca.current&&ca.current.focus()},[]),jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{functionName:""},onSubmit:hl=>{aa(hl.functionName),la()},validationSchema:Sa,children:jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ua,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Function Call"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(nht,{name:"functionName",placeholder:"Function Name",ref:ca})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:la})]})})})},operators$1={Arithmetic:[{value:"+",label:"Add"},{value:"-",label:"Subtract"},{value:"*",label:"Multiply"},{value:"/",label:"Divide"}],Comparison:[{value:"==",label:"Equal"},{value:"<>",label:"Not Equal"},{value:"<",label:"Less Than"},{value:">",label:"Greater Than"},{value:"<=",label:"Less Than or Equal"},{value:">=",label:"Greater Than or Equal"}],Logical:[{value:"or",label:"OR"},{value:"and",label:"AND"}]},PRECEDENCE={or:1,and:2,"==":3,"<>":3,"<":3,">":3,"<=":3,">=":3,"+":4,"-":4,"*":5,"/":5};function parseExpressionString(la){if(!la||la.trim()==="")return null;const aa=ua(la);let ca=0;function ua(xu){const ff=/\s*("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|[A-Za-z0-9_.]+|==|<=|>=|<>|[()+\-*/<>=!&|])\s*/g,jf=[];let Uf;for(;(Uf=ff.exec(xu))!==null;)jf.push(Uf[1]);return jf}const Sa=xu=>Object.prototype.hasOwnProperty.call(PRECEDENCE,xu),hl=()=>aa[ca],pl=xu=>{const ff=aa[ca];if(xu&&ff!==xu)throw new Error(`Expected '${xu}', got '${ff}'`);return ca++,ff};function ml(){if(ca>=aa.length)return null;if(hl()==="("){pl("(");const jf=wc();if(hl()!==")")throw new Error("Expected closing parenthesis");return pl(")"),jf}const ff=pl();return{id:generateId(),type:"variable",value:ff}}function gl(xu){let ff=ml();for(;ca<aa.length;){const jf=hl();if(!Sa(jf)||PRECEDENCE[jf]<xu)break;const Uf=PRECEDENCE[jf];pl();let rp=ml();for(;ca<aa.length;){const np=hl();if(!Sa(np))break;const qm=PRECEDENCE[np];if(qm>Uf)rp=gl(qm);else break}ff={id:generateId(),type:"operator",value:jf,left:ff??void 0,right:rp??void 0}}return ff}function wc(){return gl(1)}try{if(aa.length===1)return{id:generateId(),type:"variable",value:aa[0]};if(aa.includes("+")){const ff=aa.findIndex(jf=>jf==="+");if(ff>0&&ff<aa.length-1){const jf=aa.slice(0,ff),Uf=aa.slice(ff+1);return{id:generateId(),type:"operator",value:"+",left:{id:generateId(),type:"variable",value:jf.join(" ")},right:{id:generateId(),type:"variable",value:Uf.join(" ")}}}}const xu=wc();return console.log("Parsed result:",xu),xu}catch(xu){return console.error("Parse error:",xu),{id:generateId(),type:"variable",value:la.trim()}}}function getPrecedence(la){return PRECEDENCE[la]??0}function buildExpressionString(la,aa=0,ca=!0){if(!la)return"";if(la.type==="operator"&&la.left&&la.right){const ua=getPrecedence(la.value),Sa=buildExpressionString(la.left,ua,!1),hl=buildExpressionString(la.right,ua,!1),pl=la.value==="and"||la.value==="or",ml=la.left.type==="operator",gl=la.right.type==="operator",wc=ml&&(la.left.value==="and"||la.left.value==="or"),xu=gl&&(la.right.value==="and"||la.right.value==="or"),ff=pl&&ml&&(!wc||getPrecedence(la.left.value)>ua),jf=pl&&gl&&(!xu||getPrecedence(la.right.value)>ua),Uf=ff?`(${Sa})`:Sa,rp=jf?`(${hl})`:hl,np=`${Uf} ${la.value} ${rp}`;return!ca&&ua<aa?`(${np})`:np}return la.value||""}function generateId(){return Math.random().toString(36).substring(2,9)}const getContextMenuProps=(la,aa)=>{const Sa=window.innerWidth,hl=window.innerHeight;let pl=la,ml=aa;return la+500>Sa&&(pl=la-500),aa+300>hl&&(ml=aa-300),pl=Math.max(0,pl),ml=Math.max(0,ml),{x:pl,y:ml}},ContextMenu=({x:la,y:aa,onSelect:ca,onDeleteVariable:ua,onDeleteExpression:Sa,showDeleteVariable:hl=!1,showDeleteExpression:pl=!1})=>jsxRuntimeExports.jsxs("div",{className:"fixed z-50 flex flex-col min-w-[300px] gap-2 p-2 bg-primary border border-border rounded-xl overflow-auto shadow-lg",style:{left:la,top:aa},children:[hl&&ua&&jsxRuntimeExports.jsxs("button",{className:"text-center px-3 py-2 hover:bg-secondary border border-border items-center text-xs rounded-md cursor-pointer duration-300 font-semibold flex justify-center gap-2",onClick:ua,children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon text-del-icon bg-del-bg",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete})}),"Delete Variable"]}),pl&&Sa&&jsxRuntimeExports.jsxs("button",{className:"text-center px-3 py-2 hover:bg-secondary border border-border items-center text-xs rounded-md cursor-pointer duration-300 font-semibold flex justify-center gap-2",onClick:Sa,children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon text-del-icon bg-del-bg",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete})}),"Delete Expression"]}),(hl||pl)&&jsxRuntimeExports.jsx("div",{className:"border-t border-border my-1"}),Object.entries(operators$1).map(([ml,gl])=>jsxRuntimeExports.jsx(reactExports.Fragment,{children:jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center col-span-3 justify-center gap-2 bg-secondary border border-secondary p-3 rounded-md text-sm font-semibold",children:ml}),gl.map(wc=>jsxRuntimeExports.jsx("button",{className:"w-full text-center px-3 py-2 hover:bg-secondary border border-border text-sm rounded-md cursor-pointer duration-300",onClick:()=>ca(wc.value),children:wc.label},wc.value))]})},ml))]}),ExpressionBuilder=({expression:la,onExpressionChange:aa,defaultEmptyVariable:ca=!1,isSimpleMode:ua=!1})=>{const[Sa,hl]=reactExports.useState(()=>{const G0=parseExpressionString(la);return G0||(ca?{id:generateId(),type:"variable",value:""}:null)}),[pl,ml]=reactExports.useState(null),[gl,wc]=reactExports.useState(null),[xu,ff]=reactExports.useState(""),[jf,Uf]=reactExports.useState(ua),rp=useOutsideClickHandler(()=>{ml(null)});reactExports.useEffect(()=>{if(aa&&Sa){const G0=buildExpressionString(Sa);aa(G0)}},[Sa]),reactExports.useEffect(()=>{if(la&&la!==buildExpressionString(Sa)){console.log("ExpressionBuilder: Updating from parent expression:",la);const G0=parseExpressionString(la);console.log("ExpressionBuilder: Parsed result:",G0),hl(G0)}},[la]),reactExports.useEffect(()=>{Uf(ua)},[ua]);const np=reactExports.useMemo(()=>la?la.includes(" + ")||la.includes(" +")||la.includes("+ ")||la.split(".").length>2||la.includes('"')||la.includes("'"):!1,[la]),qm=(G0,X0,d_)=>{if(G0.id===X0)return d_(G0);const f_={...G0};return f_.left&&(f_.left=qm(f_.left,X0,d_)),f_.right&&(f_.right=qm(f_.right,X0,d_)),f_},Vm=(G0,X0)=>{Sa&&hl(qm(Sa,G0,d_=>({...d_,value:X0})))},eg=(G0,X0)=>{Sa&&(hl(qm(Sa,G0,d_=>({...d_,value:X0}))),ml(null))},tg=(G0,X0)=>{if(!Sa)return;const d_=generateId(),f_=generateId();hl(qm(Sa,G0,zN=>({id:f_,type:"operator",value:X0,left:{id:zN.id,type:zN.type,value:zN.value,left:zN.left,right:zN.right},right:{id:d_,type:"variable",value:""}}))),ml(null)},rg=G0=>{if(!Sa)return;if(Sa.id===G0&&Sa.type==="variable"){hl(null),ml(null);return}const X0=f_=>{if(f_.type==="operator"&&f_.left&&f_.right){if(f_.left.id===G0&&f_.left.type==="variable")return f_.right??null;if(f_.right.id===G0&&f_.right.type==="variable")return f_.left??null;const zN={...f_};if(zN.left){const BN=X0(zN.left);if(BN===null)return zN.right??null;zN.left=BN}if(zN.right){const BN=X0(zN.right);if(BN===null)return zN.left??null;zN.right=BN}return zN}return f_},d_=X0(Sa);hl(d_),ml(null)},ig=G0=>{if(!Sa)return;if(Sa.id===G0){hl(null);return}const X0=f_=>{if(!f_.left&&!f_.right)return f_;if(f_.left?.id===G0&&f_.left.type==="operator")return f_.right||null;if(f_.right?.id===G0&&f_.right.type==="operator")return f_.left||null;const zN={...f_};if(zN.left){const BN=X0(zN.left);if(BN===null)return zN.right||null;zN.left=BN}if(zN.right){const BN=X0(zN.right);if(BN===null)return zN.left||null;zN.right=BN}return zN};ml(null);const d_=X0(Sa);hl(d_)},vv=(G0,X0,d_)=>{const{x:f_,y:zN}=getContextMenuProps(G0.clientX,G0.clientY);G0.preventDefault(),ml({x:f_,y:zN,nodeId:X0,type:d_})},k1=(G0,X0)=>{wc(G0),ff(X0)},qw=G0=>{if(!Sa){wc(null),ff("");return}hl(qm(Sa,G0,X0=>({...X0,value:xu.trim()||X0.value}))),wc(null),ff("")},K0=(G0,X0)=>{G0.key==="Enter"?qw(X0):G0.key==="Escape"&&(wc(null),ff(""))},J0=G0=>Sa?(Sa.id===G0&&Sa.type==="variable",!0):!1,Hw=(G0,X0=!1)=>G0.type==="operator"&&G0.left&&G0.right?X0?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Hw(G0.left),jsxRuntimeExports.jsx("span",{className:"inline-flex items-center justify-center w-8 h-8 rounded-md border border-blue-500/40 bg-blue-500/10 text-blue-300 font-bold text-sm cursor-pointer hover:bg-blue-500/20 hover:text-blue-200 transition-colors select-none",onContextMenu:f_=>vv(f_,G0.id,"operator"),onDoubleClick:()=>k1(G0.id,G0.value),title:"Right-click to change operator, double-click to edit",children:gl===G0.id?jsxRuntimeExports.jsx("input",{value:xu,onChange:f_=>ff(f_.target.value),onBlur:()=>qw(G0.id),onKeyDown:f_=>K0(f_,G0.id),className:"w-8 h-8 text-center p-0 text-sm font-bold bg-gray-900 rounded-md border border-blue-500/40",autoFocus:!0}):G0.value}),Hw(G0.right)]}):jsxRuntimeExports.jsxs("div",{className:"bg-gray-700 rounded-full flex items-center gap-2 p-2 shadow-2xl relative",children:[Hw(G0.left),jsxRuntimeExports.jsx("span",{className:"inline-flex items-center justify-center w-8 h-8 rounded-md border border-blue-500/40 bg-blue-500/10 text-blue-300 font-bold text-sm cursor-pointer hover:bg-blue-500/20 hover:text-blue-200 transition-colors select-none",onContextMenu:f_=>vv(f_,G0.id,"operator"),onDoubleClick:()=>k1(G0.id,G0.value),title:"Right-click to change operator, double-click to edit",children:gl===G0.id?jsxRuntimeExports.jsx("input",{value:xu,onChange:f_=>ff(f_.target.value),onBlur:()=>qw(G0.id),onKeyDown:f_=>K0(f_,G0.id),className:"w-8 h-8 text-center p-0 text-sm font-bold bg-gray-900 rounded-md border border-blue-500/40",autoFocus:!0}):G0.value}),Hw(G0.right)]}):jsxRuntimeExports.jsx("div",{className:classNames(["relative h-10 bg-gray-900 rounded-full flex items-center justify-center shadow-md",G0.value.length>2?"w-1/3":"w-10"]),onContextMenu:d_=>vv(d_,G0.id,"variable"),title:"Right-click to add operator or delete variable",children:jsxRuntimeExports.jsx("input",{value:G0.value||"",onChange:d_=>Vm(G0.id,d_.target.value),className:"max-w-[200px]absolute inset-0 text-center text-xs font-semibold flex items-center justify-center shadow-md focus:ring-1 focus:ring-outline-[#ffffff66] rounded-full!",placeholder:"?"})}),O1=()=>Sa?jsxRuntimeExports.jsx("div",{className:classNames([ca?"highlight-color":"","rounded-2xl px-4 py-0.5 flex items-center justify-center flex-wrap gap-2 shadow-lg w-full"]),children:Hw(Sa,!0)}):null,Y0=()=>jsxRuntimeExports.jsxs("div",{className:"w-full",children:[jsxRuntimeExports.jsx("div",{className:"relative",children:jsxRuntimeExports.jsx("input",{type:"text",value:la,onChange:G0=>aa?.(G0.target.value),className:"w-full px-3 py-2 bg-gray-800 border border-gray-600 rounded-lg text-white placeholder-gray-400 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all duration-200 text-sm",placeholder:"Enter expression..."})}),np&&jsxRuntimeExports.jsxs("div",{className:"mt-2 text-xs text-blue-400 bg-blue-900/20 px-2 py-1 rounded border border-blue-700/30",children:[jsxRuntimeExports.jsx("span",{role:"img","aria-label":"lightbulb",children:"💡"})," ","Complex expression detected - Simple mode is recommended"]})]});return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",onContextMenu:G0=>{if(G0.preventDefault(),Sa)return;const{x:X0,y:d_}=getContextMenuProps(G0.clientX,G0.clientY);ml({type:"root",nodeId:"",x:X0,y:d_})},children:jf?Y0():Sa?O1():jsxRuntimeExports.jsx("div",{className:"bg-gray-800/50 rounded-lg p-4 w-full text-center border-2 border-dashed border-gray-600 hover:border-blue-500 transition-all duration-200 cursor-pointer group",onClick:G0=>{const{x:X0,y:d_}=getContextMenuProps(G0.clientX,G0.clientY);ml({type:"root",nodeId:"",x:X0,y:d_})},title:"Click to show operator menu",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center gap-2",children:[jsxRuntimeExports.jsx("div",{className:"w-8 h-8 bg-blue-600/20 rounded-full flex items-center justify-center border border-blue-500/30 group-hover:bg-blue-600/30 transition-colors",children:jsxRuntimeExports.jsx(Icon,{icon:icons.expression,className:"text-lg text-blue-400"})}),jsxRuntimeExports.jsx("div",{className:"text-gray-400 group-hover:text-gray-300 transition-colors text-sm",children:"Click to build expression"})]})})}),pl&&jsxRuntimeExports.jsx("div",{ref:rp,children:jsxRuntimeExports.jsx(ContextMenu,{x:pl.x,y:pl.y,onSelect:G0=>{if(pl.type==="operator")eg(pl.nodeId,G0);else if(pl.type==="root"){const X0=generateId(),d_=generateId(),f_=generateId();hl({id:X0,type:"operator",value:G0,left:{id:d_,type:"variable",value:""},right:{id:f_,type:"variable",value:""}}),ml(null)}else tg(pl.nodeId,G0)},onDeleteVariable:pl.type==="variable"&&J0(pl.nodeId)?()=>rg(pl.nodeId):void 0,onDeleteExpression:(pl.type==="operator"||pl.type==="root")&&Sa?()=>ig(pl.nodeId):void 0,onClose:()=>ml(null),showDeleteVariable:pl.type==="variable"&&J0(pl.nodeId),showDeleteExpression:pl.type==="operator"||pl.type==="root"})})]})},AddExpression=({closeHandler:la,onSubmit:aa})=>{const ca=useOutsideClickHandler(la),ua=create$3().shape({expression:create$6().required("Expression is required").min(1,"Expression cannot be empty"),alias:create$6().optional()});return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{expression:"",alias:""},onSubmit:Sa=>{aa(Sa.expression,Sa.alias||void 0),la()},validationSchema:ua,children:({values:Sa,setFieldValue:hl})=>jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ca,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Expression"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx("label",{className:"text-secondary-font text-sm font-medium",children:"Expression:"}),jsxRuntimeExports.jsx(ExpressionBuilder,{expression:Sa.expression,onExpressionChange:pl=>{hl("expression",pl)},defaultEmptyVariable:!0}),Sa.expression&&jsxRuntimeExports.jsxs("div",{className:"text-xs text-gray-400 bg-gray-800 p-2 rounded",children:["Current expression:"," ",jsxRuntimeExports.jsx("code",{className:"text-blue-300",children:Sa.expression})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx("label",{className:"text-secondary-font text-sm font-medium",children:"Alias (optional):"}),jsxRuntimeExports.jsx(nht,{name:"alias",placeholder:"Enter alias for the expression result"})]})]})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:la})]})})})},fetchGitHubFiles=async(la,aa,ca,ua)=>{const Sa=`https://api.github.com/repos/${la}/${aa}/git/trees/${ca}?recursive=1`,hl={Accept:"application/vnd.github.v3+json","User-Agent":"Fractl-Studio-Architect"};ua&&(hl.Authorization=`Bearer ${ua}`);const pl=await fetch(Sa,{headers:hl});if(!pl.ok){let wc=`GitHub API request failed: ${pl.status} ${pl.statusText}`;switch(pl.status){case 401:wc="Authentication failed. Please check your GitHub token.";break;case 403:wc="Access forbidden. Your token may not have sufficient permissions for this repository.";break;case 404:ua?wc="Repository not found. Please check the organization, repository name, and branch.":wc="Repository not found or is private. Please provide GitHub credentials.";break;case 422:wc="Branch not found. Please check the branch name.";break;default:try{const xu=await pl.json();xu.message&&(wc+=`: ${xu.message}`)}catch{}}throw new Error(wc)}const ml=await pl.json();if(!ml.tree||!Array.isArray(ml.tree))throw new Error("Invalid response from GitHub API");return ml.tree.filter(wc=>wc.type==="blob").map(wc=>wc.path).filter(wc=>!wc.startsWith(".git/")&&!wc.startsWith(".github/"))},readGitHubFile=async(la,aa,ca,ua)=>{const Sa=`https://api.github.com/repos/${la}/${aa}/contents/${ca}`,hl={Accept:"application/vnd.github.v3+json","User-Agent":"Fractl-Studio-Architect"};ua&&(hl.Authorization=`Bearer ${ua}`);const pl=await fetch(Sa,{headers:hl});if(!pl.ok){let wc=`Failed to read file: ${pl.status} ${pl.statusText}`;switch(pl.status){case 401:wc="Authentication failed. Please check your GitHub token.";break;case 403:wc="Access forbidden. Your token may not have sufficient permissions.";break;case 404:wc=`File not found: ${ca}`;break;default:try{const xu=await pl.json();xu.message&&(wc+=`: ${xu.message}`)}catch{}}throw new Error(wc)}const ml=await pl.json();if(ml.type!=="file"||!ml.content)throw new Error("Invalid file response from GitHub API");return atob(ml.content.replace(/\s/g,""))},createAndPushRepository=async(la,aa,ca,ua,Sa)=>{try{const pl=ca&&ca.trim()!==""?`https://api.github.com/orgs/${ca}/repos`:"https://api.github.com/user/repos",ml=await fetch(pl,{method:"POST",headers:{Authorization:`token ${ua}`,"Content-Type":"application/json"},body:JSON.stringify({name:la,description:"Generated with Fractl Studio Architect",private:!0,auto_init:!0})});if(!ml.ok){const ff=await ml.text();throw new Error(`Failed to create GitHub repository: ${ml.status} ${ff}`)}const gl=await ml.json(),xu=await fetch(`https://api.github.com/repos/${ca}/${la}/contents/src/core.al`,{method:"PUT",headers:{Authorization:`token ${ua}`,"Content-Type":"application/json"},body:JSON.stringify({message:"Initialize application with Fractl Studio Architect",content:btoa(aa)})});if(!xu.ok){const ff=await xu.text();throw new Error(`Failed to create AgentLang file: ${xu.status} ${ff}`)}return{success:!0,repoUrl:gl.html_url}}catch(hl){return{success:!1,error:hl.message}}},validationSchema$8=create$3().shape({apiKey:create$6().required("API key is required").min(10,"API key must be at least 10 characters")}),AnthropicApiKeyModal=({closeHandler:la,onSubmit:aa})=>{const ca=useOutsideClickHandler(la);return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{apiKey:""},validationSchema:validationSchema$8,onSubmit:ua=>{aa(ua.apiKey)},children:()=>jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ca,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Anthropic API Key Required"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-secondary-font mb-4",children:"To use the Architect in playground mode, you need to provide your Anthropic API key. This key will be stored locally in your browser."}),jsxRuntimeExports.jsx(nht,{name:"apiKey",placeholder:"Enter your Anthropic API key",type:"password"}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-secondary-font mt-2",children:["Don't have an API key?"," ",jsxRuntimeExports.jsx("a",{href:"https://console.anthropic.com/settings/keys",target:"_blank",rel:"noopener noreferrer",className:"text-blue hover:text-blue-hover underline",children:"Get one here"})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Save",closeHandler:la})]})})})},validationSchema$7=create$3().shape({openaiApiKey:create$6().min(10,"API key must be at least 10 characters"),anthropicApiKey:create$6().min(10,"API key must be at least 10 characters")}),PlaygroundLLMConfigModal=({closeHandler:la,onSubmit:aa})=>{const ca=useOutsideClickHandler(la),ua=localStorage.getItem("openai-api-key")||"",Sa=localStorage.getItem("anthropic-api-key")||"";return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{openaiApiKey:ua,anthropicApiKey:Sa},validationSchema:validationSchema$7,onSubmit:hl=>{aa(hl.openaiApiKey,hl.anthropicApiKey)},children:()=>jsxRuntimeExports.jsxs(Form$6,{className:"modal-content",ref:ca,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsxs("div",{className:"modal-title flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.llm,className:"w-5 h-5"}),"LLM Configuration"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-secondary-font mb-6",children:"Configure your LLM API keys for playground mode. These keys will be stored locally in your browser for this session only."}),jsxRuntimeExports.jsxs("div",{className:"mb-6",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.generativeAI,className:"w-5 h-5"}),jsxRuntimeExports.jsx("h4",{className:"text-sm font-medium",children:"llm_openai"})]}),jsxRuntimeExports.jsx(nht,{name:"openaiApiKey",placeholder:"Enter your OpenAI API key",type:"password"}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-secondary-font mt-2",children:["Don't have an API key?"," ",jsxRuntimeExports.jsx("a",{href:"https://platform.openai.com/api-keys",target:"_blank",rel:"noopener noreferrer",className:"text-blue hover:text-blue-hover underline",children:"Get one here"})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"mt-6",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.agent,className:"w-5 h-5"}),jsxRuntimeExports.jsx("h4",{className:"text-sm font-medium",children:"llm_anthropic"})]}),jsxRuntimeExports.jsx(nht,{name:"anthropicApiKey",placeholder:"Enter your Anthropic API key",type:"password"}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-secondary-font mt-2",children:["Don't have an API key?"," ",jsxRuntimeExports.jsx("a",{href:"https://console.anthropic.com/settings/keys",target:"_blank",rel:"noopener noreferrer",className:"text-blue hover:text-blue-hover underline",children:"Get one here"})]})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Save",closeHandler:la})]})})})},EnvironmentKeysModal=({closeHandler:la})=>{const aa=useOutsideClickHandler(la),[ca,ua]=reactExports.useState([]),[Sa,hl]=reactExports.useState(null),[pl,ml]=reactExports.useState(""),[gl,wc]=reactExports.useState(""),[xu,ff]=reactExports.useState(""),[jf,Uf]=reactExports.useState(!1),[rp,np]=reactExports.useState(new Set),[qm,Vm]=reactExports.useState({});reactExports.useEffect(()=>{eg()},[]);const eg=()=>{const J0=getEnvironmentKeys();ua(J0)},tg=()=>{const J0={};if(pl.trim()?/^[A-Z_][A-Z0-9_]*$/.test(pl)?ca.some(Hw=>Hw.name===pl)&&(J0.name="Key name already exists"):J0.name="Key name must be uppercase with underscores (e.g., API_KEY)":J0.name="Key name is required",gl.trim()||(J0.value="Key value is required"),Object.keys(J0).length>0){Vm(J0);return}setEnvironmentKey(pl,gl),eg(),typeof window<"u"&&window.inBrowserREPL?.refreshEnvironmentKeys&&window.inBrowserREPL.refreshEnvironmentKeys().catch(Hw=>{console.error("Failed to refresh environment keys in runtime:",Hw)}),ml(""),wc(""),Uf(!1),Vm({})},rg=J0=>{if(!xu.trim()){Vm({value:"Key value is required"});return}setEnvironmentKey(J0,xu),eg(),typeof window<"u"&&window.inBrowserREPL?.refreshEnvironmentKeys&&window.inBrowserREPL.refreshEnvironmentKeys().catch(Hw=>{console.error("Failed to refresh environment keys in runtime:",Hw)}),hl(null),ff(""),Vm({})},ig=J0=>{window.confirm(`Are you sure you want to delete "${J0}"?`)&&(deleteEnvironmentKey(J0),eg(),typeof window<"u"&&window.inBrowserREPL?.refreshEnvironmentKeys&&window.inBrowserREPL.refreshEnvironmentKeys().catch(Hw=>{console.error("Failed to refresh environment keys in runtime:",Hw)}))},vv=J0=>{hl(J0.name),ff(J0.value),Vm({})},k1=()=>{hl(null),ff(""),Vm({})},qw=J0=>{np(Hw=>{const O1=new Set(Hw);return O1.has(J0)?O1.delete(J0):O1.add(J0),O1})},K0=[{name:"ANTHROPIC_API_KEY",placeholder:"sk-ant-..."},{name:"OPENAI_API_KEY",placeholder:"sk-..."},{name:"GOOGLE_API_KEY",placeholder:"AIza..."},{name:"GROQ_API_KEY",placeholder:"gsk_..."},{name:"HUBSPOT_ACCESS_TOKEN",placeholder:"pat-..."}];return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content w-full max-w-3xl",ref:aa,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsxs("div",{className:"modal-title flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.settings,className:"w-5 h-5"}),"Environment Keys"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body max-h-[60vh] overflow-y-auto",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-secondary-font mb-6",children:"Manage environment variables for your projects. These keys are stored securely in your browser's local storage and are only accessible from this device. In playground mode, they are automatically injected into the runtime. For local development, export them to your shell or reference them in config.al."}),ca.length>0&&jsxRuntimeExports.jsxs("div",{className:"mb-6",children:[jsxRuntimeExports.jsxs("h4",{className:"text-sm font-medium mb-3 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.key,className:"w-4 h-4"}),"Your Keys (",ca.length,")"]}),jsxRuntimeExports.jsx("div",{className:"space-y-2",children:ca.map(J0=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 p-3 bg-gray-800/30 rounded border border-border",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsx("div",{className:"text-sm font-medium text-white mb-1",children:J0.name}),Sa===J0.name?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:rp.has(J0.name)?"text":"password",value:xu,onChange:Hw=>ff(Hw.target.value),placeholder:"Enter key value",className:"flex-1 text-sm px-2 py-1 bg-gray-900 border border-border rounded",autoFocus:!0}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>qw(J0.name),children:jsxRuntimeExports.jsx(Icon,{icon:rp.has(J0.name)?icons.eyeOff:icons.eye,className:"w-4 h-4"})})]}):jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:rp.has(J0.name)?"text":"password",value:J0.value,readOnly:!0,className:"flex-1 text-sm px-2 py-1 bg-gray-900/50 border border-border/50 rounded cursor-default"}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>qw(J0.name),children:jsxRuntimeExports.jsx(Icon,{icon:rp.has(J0.name)?icons.eyeOff:icons.eye,className:"w-4 h-4"})})]}),qm.value&&Sa===J0.name&&jsxRuntimeExports.jsx("p",{className:"text-xs text-red-500 mt-1",children:qm.value})]}),jsxRuntimeExports.jsx("div",{className:"flex items-center gap-1",children:Sa===J0.name?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>rg(J0.name),className:"text-green-500 hover:text-green-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.check,className:"w-4 h-4"})}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:k1,className:"text-secondary-font hover:text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"w-4 h-4"})})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>vv(J0),className:"text-blue hover:text-blue-hover",children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,className:"w-4 h-4"})}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>ig(J0.name),className:"text-maroon hover:text-red-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"w-4 h-4"})})]})})]},J0.name))})]}),ca.length>0&&jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2,my:3}}),jsxRuntimeExports.jsx("div",{children:jf?jsxRuntimeExports.jsxs("div",{className:"bg-gray-800/30 rounded border border-border p-4",children:[jsxRuntimeExports.jsx("h4",{className:"text-sm font-medium mb-3",children:"Add New Key"}),jsxRuntimeExports.jsxs("div",{className:"mb-4",children:[jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font mb-2",children:"Common keys:"}),jsxRuntimeExports.jsx("div",{className:"flex flex-wrap gap-2",children:K0.filter(J0=>!ca.some(Hw=>Hw.name===J0.name)).map(J0=>jsxRuntimeExports.jsx("button",{onClick:()=>{ml(J0.name),Vm({})},className:"text-xs px-2 py-1 bg-gray-700 hover:bg-gray-600 rounded border border-border transition-colors",children:J0.name},J0.name))})]}),jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"Key Name"}),jsxRuntimeExports.jsx("input",{type:"text",value:pl,onChange:J0=>{ml(J0.target.value.toUpperCase()),Vm(Hw=>({...Hw,name:void 0}))},placeholder:"e.g., ANTHROPIC_API_KEY",className:"w-full text-sm px-3 py-2 bg-gray-900 border border-border rounded"}),qm.name&&jsxRuntimeExports.jsx("p",{className:"text-xs text-red-500 mt-1",children:qm.name})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"Key Value"}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:rp.has("__new__")?"text":"password",value:gl,onChange:J0=>{wc(J0.target.value),Vm(Hw=>({...Hw,value:void 0}))},placeholder:"Enter the API key value",className:"flex-1 text-sm px-3 py-2 bg-gray-900 border border-border rounded"}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>qw("__new__"),children:jsxRuntimeExports.jsx(Icon,{icon:rp.has("__new__")?icons.eyeOff:icons.eye,className:"w-4 h-4"})})]}),qm.value&&jsxRuntimeExports.jsx("p",{className:"text-xs text-red-500 mt-1",children:qm.value})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex justify-end gap-2 mt-4",children:[jsxRuntimeExports.jsx("button",{onClick:()=>{Uf(!1),ml(""),wc(""),Vm({}),np(J0=>{const Hw=new Set(J0);return Hw.delete("__new__"),Hw})},className:"px-3 py-1.5 text-sm text-secondary-font hover:text-white transition-colors",children:"Cancel"}),jsxRuntimeExports.jsx("button",{onClick:tg,className:"px-3 py-1.5 text-sm bg-blue hover:bg-blue-hover text-white rounded transition-colors",children:"Add Key"})]})]}):jsxRuntimeExports.jsxs("button",{onClick:()=>Uf(!0),className:"flex items-center gap-2 text-sm text-blue hover:text-blue-hover transition-colors",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.add,className:"w-4 h-4"}),"Add New Key"]})}),jsxRuntimeExports.jsx("div",{className:"mt-6 p-4 bg-blue/10 border border-blue/30 rounded",children:jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.info,className:"w-4 h-4 text-blue mt-0.5"}),jsxRuntimeExports.jsxs("div",{className:"text-xs text-secondary-font space-y-2",children:[jsxRuntimeExports.jsxs("p",{children:[jsxRuntimeExports.jsx("strong",{className:"text-white",children:"Security Note:"})," Keys are stored in your browser's local storage and never leave your device."]}),jsxRuntimeExports.jsxs("p",{children:[jsxRuntimeExports.jsx("strong",{className:"text-white",children:"For Local Development:"})," ","Export these as shell variables before running agentlang, or reference them in config.al using"," ",jsxRuntimeExports.jsx("code",{className:"text-xs bg-gray-800 px-1 py-0.5 rounded",children:"#js process.env.VAR_NAME"})]}),jsxRuntimeExports.jsx("p",{children:"Key names should be in uppercase with underscores (e.g., MY_API_KEY)."})]})]})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[ca.length>0&&jsxRuntimeExports.jsx("button",{onClick:()=>{const J0=ca.map(Hw=>`export ${Hw.name}="${Hw.value}"`).join(`
19580
19580
  `);navigator.clipboard.writeText(J0),alert("Environment variables copied to clipboard!")},className:"px-4 py-2 text-sm bg-gray-700 hover:bg-gray-600 text-white rounded transition-colors",children:"Export for Shell"}),jsxRuntimeExports.jsx("button",{onClick:la,className:"px-4 py-2 text-sm bg-blue hover:bg-blue-hover text-white rounded transition-colors",children:"Done"})]})]})})};function extractEnvKeysFromConfigAl(la){const aa=[],ca=/getLocalEnv\s*\(\s*['"]([^'"]+)['"]\s*,\s*(?:['"]([^'"]*)['"]|(\d+)|([^)]+))\s*\)/g;let ua;for(;(ua=ca.exec(la))!==null;){const Sa=ua[1],hl=ua[2]!==void 0?ua[2]:ua[3]!==void 0?ua[3]:ua[4]!==void 0?ua[4].trim():"",pl=la.substring(0,ua.index),ml=/"([^"]+)"\s*:\s*"#js[^"]*$/,gl=pl.match(ml),wc=gl?gl[1]:"unknown",xu=/"([a-zA-Z0-9]+\/[a-zA-Z0-9]+)"\s*:\s*\{[^}]*$/,ff=pl.match(xu),jf=ff?ff[1]:void 0,Uf=hl===""||hl==="''";aa.push({name:Sa,defaultValue:hl,field:wc,configEntity:jf,isRequired:Uf})}return aa}async function detectKeysFromConfig(la,aa){try{const ca=await readRepoFile(la,aa);return extractEnvKeysFromConfigAl(ca)}catch{return[]}}async function detectEnvKeysFromApp(la){const aa={requiredKeys:[],optionalKeys:[]};try{const ca=[],ua=[];try{const ml=await readRepoFile(la,"package.json"),gl=JSON.parse(ml);if(gl.dependencies)for(const[wc,xu]of Object.entries(gl.dependencies)){if(wc==="agentlang")continue;const ff=wc.includes("-studio")||wc.includes("studio-"),jf=typeof xu=="string"&&xu.startsWith("git+");!ff&&!jf&&!(xu==="*")||ua.push({name:wc,path:`${la}/node_modules/${wc}`})}}catch{}const Sa=await detectKeysFromConfig(la,"config.al");Sa.length>0&&ca.push(...Sa);for(const ml of ua){const gl=await detectKeysFromConfig(ml.path,"config.al");gl.length>0&&ca.push(...gl)}if(ca.length===0)return{...aa,error:"No config.al files found in this app or its dependencies"};const hl=new Map;for(const ml of ca)hl.has(ml.name)||hl.set(ml.name,ml);const pl=Array.from(hl.values());return aa.requiredKeys=pl.filter(ml=>ml.isRequired),aa.optionalKeys=pl.filter(ml=>!ml.isRequired),aa}catch(ca){return{...aa,error:ca.message||"Failed to detect environment keys"}}}function getEnvKeyDescription(la){return{HUBSPOT_ACCESS_TOKEN:"HubSpot Private App access token",GMAIL_CLIENT_ID:"Gmail OAuth2 client ID from Google Cloud Console",GMAIL_CLIENT_SECRET:"Gmail OAuth2 client secret from Google Cloud Console",GMAIL_REFRESH_TOKEN:"Gmail OAuth2 refresh token for accessing Gmail API",GMAIL_ACCESS_TOKEN:"Gmail direct access token (testing only)",ANTHROPIC_API_KEY:"Anthropic API key for Claude models",OPENAI_API_KEY:"OpenAI API key for GPT models",GOOGLE_API_KEY:"Google API key for various Google services",GROQ_API_KEY:"Groq API key for fast inference",PORT:"Service port number",HUBSPOT_POLL_INTERVAL_MINUTES:"How often to poll HubSpot for updates (minutes)",HUBSPOT_SEARCH_RESULT_LIMIT:"Maximum number of search results from HubSpot",GMAIL_POLL_INTERVAL_MINUTES:"How often to check for new emails (minutes)",GMAIL_POLL_MINUTES:"How far back to search for emails (minutes)"}[la]||`Environment variable: ${la}`}function getEnvKeyPlaceholder(la){return{HUBSPOT_ACCESS_TOKEN:"pat-na1-...",GMAIL_CLIENT_ID:"your-app.apps.googleusercontent.com",GMAIL_CLIENT_SECRET:"GOCSPX-...",GMAIL_REFRESH_TOKEN:"1//...",GMAIL_ACCESS_TOKEN:"ya29....",ANTHROPIC_API_KEY:"sk-ant-...",OPENAI_API_KEY:"sk-...",GOOGLE_API_KEY:"AIza...",GROQ_API_KEY:"gsk_...",PORT:"8080",HUBSPOT_POLL_INTERVAL_MINUTES:"15",HUBSPOT_SEARCH_RESULT_LIMIT:"100",GMAIL_POLL_INTERVAL_MINUTES:"15",GMAIL_POLL_MINUTES:"10"}[la]||"Enter value..."}const AppEnvironmentKeysModal=({closeHandler:la,repoPath:aa,appName:ca,isLocalMode:ua=!1})=>{const Sa=useOutsideClickHandler(la),[hl,pl]=reactExports.useState([]),[ml,gl]=reactExports.useState([]),[wc,xu]=reactExports.useState([]),[ff,jf]=reactExports.useState(!0),[Uf,rp]=reactExports.useState(null),[np,qm]=reactExports.useState(null),[Vm,eg]=reactExports.useState(""),[tg,rg]=reactExports.useState(""),[ig,vv]=reactExports.useState(""),[k1,qw]=reactExports.useState(!1),[K0,J0]=reactExports.useState(new Set),[Hw,O1]=reactExports.useState({});reactExports.useEffect(()=>{Y0()},[]),reactExports.useEffect(()=>{(async()=>{jf(!0),rp(null);try{const Lhe=await detectEnvKeysFromApp(aa);Lhe.error?rp(Lhe.error):(gl(Lhe.requiredKeys),xu(Lhe.optionalKeys))}catch(Lhe){rp(Lhe.message||"Failed to detect environment keys")}finally{jf(!1)}})()},[aa]);const Y0=()=>{const bY=getEnvironmentKeys();pl(bY)},G0=bY=>hl.find(Lhe=>Lhe.name===bY)?.value,X0=bY=>{const Lhe=G0(bY);return Lhe!==void 0&&Lhe.trim()!==""},d_=(bY,Lhe)=>{if(!Lhe.trim()){O1({value:"Value is required"});return}setEnvironmentKey(bY,Lhe),Y0(),typeof window<"u"&&window.inBrowserREPL?.refreshEnvironmentKeys&&window.inBrowserREPL.refreshEnvironmentKeys().catch(Dhe=>{console.error("Failed to refresh environment keys in runtime:",Dhe)}),O1({}),qm(null),vv("")},f_=()=>{const bY={};if(Vm.trim()?/^[A-Z_][A-Z0-9_]*$/.test(Vm)?hl.some(Lhe=>Lhe.name===Vm)&&(bY.name="Key name already exists"):bY.name="Key name must be uppercase with underscores (e.g., API_KEY)":bY.name="Key name is required",tg.trim()||(bY.value="Key value is required"),Object.keys(bY).length>0){O1(bY);return}setEnvironmentKey(Vm,tg),Y0(),typeof window<"u"&&window.inBrowserREPL?.refreshEnvironmentKeys&&window.inBrowserREPL.refreshEnvironmentKeys().catch(Lhe=>{console.error("Failed to refresh environment keys in runtime:",Lhe)}),eg(""),rg(""),qw(!1),O1({})},zN=bY=>{window.confirm(`Are you sure you want to delete "${bY}"?`)&&(deleteEnvironmentKey(bY),Y0(),typeof window<"u"&&window.inBrowserREPL?.refreshEnvironmentKeys&&window.inBrowserREPL.refreshEnvironmentKeys().catch(Lhe=>{console.error("Failed to refresh environment keys in runtime:",Lhe)}))},BN=(bY,Lhe)=>{qm(bY),vv(Lhe||""),O1({})},iF=()=>{qm(null),vv(""),O1({})},yY=bY=>{J0(Lhe=>{const Dhe=new Set(Lhe);return Dhe.has(bY)?Dhe.delete(bY):Dhe.add(bY),Dhe})},vQ=new Set([...ml.map(bY=>bY.name),...wc.map(bY=>bY.name)]),Ihe=hl.filter(bY=>!vQ.has(bY.name));return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content w-full max-w-4xl",ref:Sa,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsxs("div",{className:"modal-title flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.key,className:"w-5 h-5"}),"Environment Keys",ca&&jsxRuntimeExports.jsxs("span",{className:"text-sm text-secondary-font",children:["· ",ca]})]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:la})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body max-h-[70vh] overflow-y-auto",children:[ua?jsxRuntimeExports.jsx("div",{className:"mb-6 p-4 bg-yellow-900/20 border border-yellow-500/40 rounded",children:jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.info,className:"w-5 h-5 text-yellow-500 mt-0.5"}),jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-white font-medium mb-2",children:"Local Mode - Backend Environment Variables Required"}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-secondary-font",children:["The following environment variables are required by"," ",jsxRuntimeExports.jsx("strong",{children:ca||"this app"})," and its dependencies. Since execution happens on the backend server (port 8080), you must set these in your"," ",jsxRuntimeExports.jsx("code",{className:"px-1 py-0.5 bg-gray-800 rounded",children:".env"})," ","file or system environment before running the app."]})]})]})}):jsxRuntimeExports.jsxs("p",{className:"text-sm text-secondary-font mb-6",children:["Configure environment variables for"," ",jsxRuntimeExports.jsx("strong",{children:ca||"this app"}),". Required keys are detected from config.al and must be set for the app to function properly."]}),ff&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-sm text-secondary-font mb-4",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:loading",className:"w-4 h-4 animate-spin"}),"Detecting required environment keys..."]}),Uf&&jsxRuntimeExports.jsx("div",{className:"mb-4 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded",children:jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.info,className:"w-4 h-4 text-yellow-500 mt-0.5"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font",children:Uf})]})}),!ff&&ml.length>0&&jsxRuntimeExports.jsxs("div",{className:"mb-6",children:[jsxRuntimeExports.jsxs("h4",{className:"text-sm font-medium mb-3 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:alert-circle",className:"w-4 h-4 text-yellow-500"}),"Required Keys (",ml.length,")"]}),jsxRuntimeExports.jsx("div",{className:"space-y-2",children:ml.map(bY=>{const Lhe=G0(bY.name),Dhe=X0(bY.name);return ua?jsxRuntimeExports.jsxs("div",{className:"p-3 bg-yellow-900/10 border border-yellow-500/30 rounded",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[jsxRuntimeExports.jsx("span",{className:"px-3 py-1 bg-yellow-500/20 border border-yellow-500/40 rounded-full text-xs font-mono font-medium text-yellow-400",children:bY.name}),jsxRuntimeExports.jsx(Icon,{icon:"mdi:alert-circle",className:"w-3.5 h-3.5 text-yellow-500"})]}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font ml-1",children:getEnvKeyDescription(bY.name)}),bY.configEntity&&jsxRuntimeExports.jsxs("p",{className:"text-xs text-secondary-font/70 mt-1 ml-1",children:["Used in: ",bY.configEntity,".",bY.field]})]},bY.name):jsxRuntimeExports.jsxs("div",{className:`flex items-center gap-2 p-3 rounded border ${Dhe?"bg-green-900/10 border-green-500/30":"bg-yellow-900/10 border-yellow-500/30"}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[jsxRuntimeExports.jsx("div",{className:"text-sm font-medium text-white",children:bY.name}),Dhe&&jsxRuntimeExports.jsx(Icon,{icon:"mdi:check-circle",className:"w-4 h-4 text-green-500"})]}),jsxRuntimeExports.jsxs("div",{className:"text-xs text-secondary-font mb-2",children:[getEnvKeyDescription(bY.name),bY.configEntity&&jsxRuntimeExports.jsxs("span",{className:"ml-1 opacity-70",children:["(",bY.configEntity,".",bY.field,")"]})]}),np===bY.name?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:K0.has(bY.name)?"text":"password",value:ig,onChange:kdt=>vv(kdt.target.value),placeholder:getEnvKeyPlaceholder(bY.name),className:"flex-1 text-sm px-2 py-1 bg-gray-900 border border-border rounded",autoFocus:!0}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>yY(bY.name),children:jsxRuntimeExports.jsx(Icon,{icon:K0.has(bY.name)?icons.eyeOff:icons.eye,className:"w-4 h-4"})})]}):Lhe?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:K0.has(bY.name)?"text":"password",value:Lhe,readOnly:!0,className:"flex-1 text-sm px-2 py-1 bg-gray-900/50 border border-border/50 rounded cursor-default"}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>yY(bY.name),children:jsxRuntimeExports.jsx(Icon,{icon:K0.has(bY.name)?icons.eyeOff:icons.eye,className:"w-4 h-4"})})]}):jsxRuntimeExports.jsx("div",{className:"text-xs text-yellow-500",children:"Not set - click Edit to add value"}),Hw.value&&np===bY.name&&jsxRuntimeExports.jsx("p",{className:"text-xs text-red-500 mt-1",children:Hw.value})]}),jsxRuntimeExports.jsx("div",{className:"flex items-center gap-1",children:np===bY.name?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>d_(bY.name,ig),className:"text-green-500 hover:text-green-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.check,className:"w-4 h-4"})}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:iF,className:"text-secondary-font hover:text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"w-4 h-4"})})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>BN(bY.name,Lhe),className:"text-blue hover:text-blue-hover",children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,className:"w-4 h-4"})}),Lhe&&jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>zN(bY.name),className:"text-maroon hover:text-red-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"w-4 h-4"})})]})})]},bY.name)})})]}),!ff&&wc.length>0&&jsxRuntimeExports.jsxs("div",{className:"mb-6",children:[jsxRuntimeExports.jsxs("h4",{className:"text-sm font-medium mb-3 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:information",className:"w-4 h-4 text-blue"}),"Optional Keys (",wc.length,")"]}),jsxRuntimeExports.jsx("div",{className:"space-y-2",children:wc.map(bY=>{const Lhe=G0(bY.name);return ua?jsxRuntimeExports.jsxs("div",{className:"p-3 bg-blue/5 border border-blue/20 rounded",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[jsxRuntimeExports.jsx("span",{className:"px-3 py-1 bg-blue/20 border border-blue/40 rounded-full text-xs font-mono font-medium text-blue-300",children:bY.name}),jsxRuntimeExports.jsx(Icon,{icon:"mdi:information",className:"w-3.5 h-3.5 text-blue"})]}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font ml-1",children:getEnvKeyDescription(bY.name)}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-green-400/80 mt-1 ml-1",children:["Default: ",bY.defaultValue||"None"]})]},bY.name):jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 p-3 bg-gray-800/30 rounded border border-border",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsx("div",{className:"text-sm font-medium text-white mb-1",children:bY.name}),jsxRuntimeExports.jsxs("div",{className:"text-xs text-secondary-font mb-2",children:[getEnvKeyDescription(bY.name)," ","(Default: ",bY.defaultValue,")"]}),np===bY.name?jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:jsxRuntimeExports.jsx("input",{type:"text",value:ig,onChange:Dhe=>vv(Dhe.target.value),placeholder:getEnvKeyPlaceholder(bY.name),className:"flex-1 text-sm px-2 py-1 bg-gray-900 border border-border rounded",autoFocus:!0})}):Lhe?jsxRuntimeExports.jsx("input",{type:"text",value:Lhe,readOnly:!0,className:"flex-1 text-sm px-2 py-1 bg-gray-900/50 border border-border/50 rounded cursor-default w-full"}):jsxRuntimeExports.jsx("div",{className:"text-xs text-secondary-font",children:"Using default value"})]}),jsxRuntimeExports.jsx("div",{className:"flex items-center gap-1",children:np===bY.name?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>d_(bY.name,ig),className:"text-green-500 hover:text-green-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.check,className:"w-4 h-4"})}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:iF,className:"text-secondary-font hover:text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"w-4 h-4"})})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>BN(bY.name,Lhe),className:"text-blue hover:text-blue-hover",children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,className:"w-4 h-4"})}),Lhe&&jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>zN(bY.name),className:"text-maroon hover:text-red-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"w-4 h-4"})})]})})]},bY.name)})})]}),!ua&&Ihe.length>0&&jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2,my:3}}),!ua&&Ihe.length>0&&jsxRuntimeExports.jsxs("div",{className:"mb-6",children:[jsxRuntimeExports.jsxs("h4",{className:"text-sm font-medium mb-3 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.key,className:"w-4 h-4"}),"Custom Keys (",Ihe.length,")"]}),jsxRuntimeExports.jsx("div",{className:"space-y-2",children:Ihe.map(bY=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 p-3 bg-gray-800/30 rounded border border-border",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsx("div",{className:"text-sm font-medium text-white mb-1",children:bY.name}),jsxRuntimeExports.jsx("input",{type:K0.has(bY.name)?"text":"password",value:bY.value,readOnly:!0,className:"flex-1 text-sm px-2 py-1 bg-gray-900/50 border border-border/50 rounded cursor-default w-full"})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>yY(bY.name),children:jsxRuntimeExports.jsx(Icon,{icon:K0.has(bY.name)?icons.eyeOff:icons.eye,className:"w-4 h-4"})}),jsxRuntimeExports.jsx(IconButton,{size:"small",onClick:()=>zN(bY.name),className:"text-maroon hover:text-red-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"w-4 h-4"})})]})]},bY.name))})]}),!ua&&jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2,my:3}}),!ua&&jsxRuntimeExports.jsx("div",{children:k1?jsxRuntimeExports.jsxs("div",{className:"bg-gray-800/30 rounded border border-border p-4",children:[jsxRuntimeExports.jsx("h4",{className:"text-sm font-medium mb-3",children:"Add Custom Key"}),jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"Key Name"}),jsxRuntimeExports.jsx("input",{type:"text",value:Vm,onChange:bY=>{eg(bY.target.value.toUpperCase()),O1(Lhe=>({...Lhe,name:void 0}))},placeholder:"e.g., CUSTOM_API_KEY",className:"w-full text-sm px-3 py-2 bg-gray-900 border border-border rounded"}),Hw.name&&jsxRuntimeExports.jsx("p",{className:"text-xs text-red-500 mt-1",children:Hw.name})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"Key Value"}),jsxRuntimeExports.jsx("input",{type:"password",value:tg,onChange:bY=>{rg(bY.target.value),O1(Lhe=>({...Lhe,value:void 0}))},placeholder:"Enter the value",className:"w-full text-sm px-3 py-2 bg-gray-900 border border-border rounded"}),Hw.value&&jsxRuntimeExports.jsx("p",{className:"text-xs text-red-500 mt-1",children:Hw.value})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex justify-end gap-2 mt-4",children:[jsxRuntimeExports.jsx("button",{onClick:()=>{qw(!1),eg(""),rg(""),O1({})},className:"px-3 py-1.5 text-sm text-secondary-font hover:text-white transition-colors",children:"Cancel"}),jsxRuntimeExports.jsx("button",{onClick:f_,className:"px-3 py-1.5 text-sm bg-blue hover:bg-blue-hover text-white rounded transition-colors",children:"Add Key"})]})]}):jsxRuntimeExports.jsxs("button",{onClick:()=>qw(!0),className:"flex items-center gap-2 text-sm text-blue hover:text-blue-hover transition-colors",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.add,className:"w-4 h-4"}),"Add Custom Key"]})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-footer",children:jsxRuntimeExports.jsx("button",{onClick:la,className:"px-4 py-2 text-sm bg-blue hover:bg-blue-hover text-white rounded transition-colors",children:"Done"})})]})})};create$3().shape({username:create$6().required("GitHub username is required"),token:create$6().matches(/^ghp_[A-Za-z0-9]{36}$/,"Invalid GitHub token format").required("GitHub token is required")});const TooltipComponent=({text:la,position:aa="bottom",children:ca})=>jsxRuntimeExports.jsx(Tooltip,{placement:aa,arrow:!1,title:la,children:ca}),MarkeplaceCard=la=>{const[aa,ca]=reactExports.useState(!1),[ua,Sa]=reactExports.useState(!1),[hl,pl]=reactExports.useState(""),[ml,gl]=reactExports.useState(!1),wc=useAppStore(yY=>yY.user),{setAppConfig:xu,setSelectedRole:ff}=useAppStore(),{deleteModel:jf}=useMarketplace(),Uf=Fdt(),rp=useNavigate(),np=wc.GitHub?.Username,qm=wc.GitHub?.Token,{Name:Vm,Icon:eg,isError:tg,isLoading:rg,Type:ig,Owner:vv,GithubUrl:k1,GithubOrg:qw,GitHubRepo:K0,Branch:J0,ExtraDetails:Hw,ErrorMessage:O1}=la,Y0=`custom-${Vm}-icon`;eg&&Vm!=="Jira"&&Vm!=="Slack"&&Vm!=="Odoo"&&ig!=="Team"&&ig!=="OpenAPI"&&registerBase64Icon(Y0,eg);const G0=Vm==="Jira"?"logos:jira":Vm==="Slack"?"logos:slack-icon":Vm==="Odoo"?"simple-icons:odoo":ig==="Team"?icons.team:ig==="OpenAPI"?eg:eg?Y0:"material-symbols:code",X0=()=>tg?jsxRuntimeExports.jsx(Icon,{icon:"material-symbols:error-outline",id:"model-error",width:"24",height:"24",color:"red"}):eg&&Vm!=="Jira"&&Vm!=="Slack"&&Vm!=="Odoo"&&ig!=="Team"?jsxRuntimeExports.jsx("img",{src:eg,alt:`${Vm} icon`,className:"w-6 h-6"}):jsxRuntimeExports.jsx(Icon,{icon:G0,width:"24",height:"24"}),d_=()=>{switch(ig){case"Camel-XML":return Hw?.["kamelet.group"];case"OpenAPI":return Hw?.["x-providerName"];default:return`${qw}/${extractRepoNameFromUrl(k1||"")}`}},f_=yY=>{if(!yY)return"";const vQ=getDate(yY);return vQ.includes("ago")?vQ:`Updated ${vQ}`},zN=wc.Email===vv,BN=async()=>{if(!(aa||rg)){if(ig!=="Team"){console.log("Open functionality only available for Team type models");return}ca(!0),Sa(!1),pl("");try{const yY=K0||Vm,vQ=`/${yY}`,Ihe=J0||"main",bY=np&&np.trim().length>0,Lhe=qm&&qm.trim().length>0;if(!bY||!Lhe){pl("⚠️ GitHub credentials missing. Please set your GitHub username and token in Settings."),Sa(!0),ca(!1);return}const Dhe=generateGitHubUrl(qw,yY,np,qm),kdt=async()=>{try{await pathExists(vQ)&&(console.log(`Cleaning up failed clone: removing ${vQ} from IndexedDB`),await removeDirectory(vQ))}catch(eht){console.error("Error cleaning up failed clone:",eht)}};try{await cloneRepository(Dhe,vQ,Ihe,qm),await readRepoFile(vQ,"package.json").then(async()=>{try{await flushAllAndLoad(vQ,{name:"studio"}),await readRepoFile(vQ,"ui-spec.json").then(oht=>{const iht=JSON.parse(oht);Uf(iht)}).catch(()=>{Uf(null)}),await readRepoFile(vQ,"app.config.json").then(oht=>{const iht=JSON.parse(oht);console.log("Loaded app.config.json:",iht);const Uhe=iht.rbac.roles||[];ff(Uhe.length>0?Uhe[0]:""),xu(iht)}).catch(oht=>{console.error("Failed to read app.config.json:",oht),xu({})});const eht=getUserModuleNames();rp(`/design/marketplace/${qw}/${Vm}/${eht[0]}`)}catch(eht){Sa(!0),pl("Failed to load package.json"),console.error("Failed to load package.json:",eht),await kdt()}}).catch(async()=>{Sa(!0),pl("Failed to read package.json"),console.error("Failed to read package.json"),await kdt()})}catch(eht){Sa(!0),pl("Failed to clone repository"),console.error("Error during repository clone:",eht),await kdt()}finally{ca(!1)}}catch(yY){console.error("Unexpected error in handleCardClick:",yY),ca(!1)}}},iF=async()=>{try{await jf(la.Id),gl(!1)}catch(yY){console.error("Failed to delete model:",yY)}};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{onClick:BN,className:classNames("hf-style-card group cursor-pointer",(rg||aa)&&"relative"),children:[(rg||aa)&&jsxRuntimeExports.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 rounded-lg z-10",children:jsxRuntimeExports.jsx(CircularProgress,{color:"inherit",size:24,id:"app-loading"})}),jsxRuntimeExports.jsxs("div",{className:"flex items-start justify-between mb-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[jsxRuntimeExports.jsx("div",{className:"shrink-0 mt-0.5",children:X0()}),jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsx("h3",{className:"text-base font-semibold text-white mb-1 line-clamp-1 group-hover:text-blue-400 transition-colors",children:Vm}),la.Description&&jsxRuntimeExports.jsx("p",{className:"text-xs text-gray-400 line-clamp-2 mb-2",children:la.Description})]})]}),zN&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2 ml-2 shrink-0",children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Delete",children:jsxRuntimeExports.jsx("button",{onClick:yY=>{yY.stopPropagation(),gl(!0)},className:"p-1.5 rounded-md text-gray-500 hover:text-red-400 hover:bg-red-400/10 transition-all opacity-0 group-hover:opacity-100 cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"w-4 h-4"})})})})]}),(tg||ua)&&jsxRuntimeExports.jsx("div",{className:"text-xs line-clamp-2 text-red-500 mb-3",children:ua?hl:O1}),!(tg||ua)&&jsxRuntimeExports.jsxs("div",{className:"flex flex-wrap gap-1.5 mb-3",children:[ig&&jsxRuntimeExports.jsx("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-500/20 text-blue-400 rounded border border-blue-500/30",children:ig}),la.Version&&jsxRuntimeExports.jsxs("span",{className:"px-2 py-0.5 text-xs font-medium bg-gray-700/50 text-gray-300 rounded border border-gray-600/50",children:["v",la.Version]}),la.Tags&&la.Tags.length>0&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[la.Tags.slice(0,2).map((yY,vQ)=>jsxRuntimeExports.jsx("span",{className:"px-2 py-0.5 text-xs font-medium bg-gray-700/50 text-gray-300 rounded border border-gray-600/50",children:yY},vQ)),la.Tags.length>2&&jsxRuntimeExports.jsxs("span",{className:"px-2 py-0.5 text-xs font-medium text-gray-500",children:["+",la.Tags.length-2]})]})]}),!(tg||ua)&&jsxRuntimeExports.jsx("div",{className:"flex items-center justify-between text-xs text-gray-500 pt-3 border-t border-gray-700/50",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between w-full",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:github",className:"w-4 h-4"}),jsxRuntimeExports.jsx("span",{className:"line-clamp-1 leading-none!",children:d_()})]}),la.LastUpdatedAt&&jsxRuntimeExports.jsx("span",{children:f_(la.LastUpdatedAt)})]})})]}),ml&&jsxRuntimeExports.jsx(ConfirmDelete,{closeHandler:()=>gl(!1),onConfirm:iF,title:"Delete Marketplace Model",message:`Are you sure you want to delete "${Vm}"? This action cannot be undone.`})]})},FormikMarketplaceCard=la=>{const{Name:aa,Icon:ca,isError:ua,Type:Sa,GithubUrl:hl,GithubOrg:pl,ExtraDetails:ml}=la,[gl,,wc]=useField("applicationName"),ff=gl.value===aa,jf=()=>{ff?wc.setValue(""):wc.setValue(aa)},Uf=`custom-${aa}-icon`;ca&&aa!=="Jira"&&aa!=="Slack"&&aa!=="Odoo"&&Sa!=="Team"&&Sa!=="OpenAPI"&&registerBase64Icon(Uf,ca);const rp=aa==="Jira"?"logos:jira":aa==="Slack"?"logos:slack-icon":aa==="Odoo"?"simple-icons:odoo":Sa==="Team"?icons.team:Sa==="OpenAPI"?ca:ca?Uf:"material-symbols:code",np=()=>ua?jsxRuntimeExports.jsx(Icon,{icon:"material-symbols:error-outline",id:"model-error",width:"32",height:"32",color:"red"}):ca&&aa!=="Jira"&&aa!=="Slack"&&aa!=="Odoo"&&Sa!=="Team"?jsxRuntimeExports.jsx("img",{src:ca,alt:`${aa} icon`,style:{width:"32px",height:"32px"}}):jsxRuntimeExports.jsx(Icon,{icon:rp,width:"32",height:"32"}),qm=()=>{switch(Sa){case"Camel-XML":return ml?.["kamelet.group"];case"OpenAPI":return ml?.["x-providerName"];default:return`${pl}/${extractRepoNameFromUrl(hl||"")}`}};return jsxRuntimeExports.jsxs("div",{className:"dashboard-card",onClick:jf,children:[jsxRuntimeExports.jsxs("div",{className:"dashboard-card-header",children:[jsxRuntimeExports.jsx("div",{className:"dashboard-model-icon",children:np()}),jsxRuntimeExports.jsx(Icon,{icon:icons.checkboxCircle,className:classNames([ff?"opacity-100":"opacity-20","w-6 h-6"])})]}),jsxRuntimeExports.jsxs("div",{className:"dashboard-card-body",children:[jsxRuntimeExports.jsx("div",{children:aa}),jsxRuntimeExports.jsx("div",{className:"flex justify-between items-center gap-2",children:jsxRuntimeExports.jsx("div",{className:"opacity-70 text-xs line-clamp-1",children:qm()})})]})]})};function stringIncludes(la,aa){return la?la.toLowerCase().includes(aa.toLowerCase()):!1}function inArray(la,aa){return la.includes(aa)}function filterMarketplaceModels(la,aa,ca,ua){const Sa=aa.toLowerCase();return(ca.length===0?la:la.filter(pl=>inArray(ca,pl.Type||""))).filter(pl=>{const ml=typeof pl.Name=="string"?pl.Name:String(pl.Name),gl=pl.ExtraDetails?.["x-providerName"],wc=pl.Description;return stringIncludes(ml,Sa)||stringIncludes(gl,Sa)||stringIncludes(wc,Sa)})}const MODEL_FILTERS=[{value:"Team",label:"Teams",icon:icons.team},{value:"Connector",label:"Connectors",icon:icons.integration},{value:"LLM",label:"LLMs",icon:icons.llm},{value:"Camel-XML",label:"Camel-XML",icon:icons.camel},{value:"OpenAPI",label:"OpenAPI",icon:icons.openApi}],Filter=({showFilter:la,selectedFilters:aa,setSelectedFilters:ca})=>jsxRuntimeExports.jsx(motion.div,{initial:!1,animate:{height:la?"auto":"0px",marginTop:la?"8px":"0px"},className:"marketplace-filters",children:MODEL_FILTERS.map(ua=>{const Sa=aa.includes(ua.value);return jsxRuntimeExports.jsxs("div",{"data-selected":Sa,className:"marketplace-filter",onClick:hl=>{const pl=hl.metaKey||hl.ctrlKey;ca(pl?Sa?aa.filter(ml=>ml!==ua.value):[...aa,ua.value]:[ua.value])},children:[jsxRuntimeExports.jsx(Icon,{icon:ua.icon,className:"w-4.5 h-4.5"}),ua.label]},ua.value)})}),Header$3=({selectedFilters:la,setSelectedFilters:aa,search:ca,setSearch:ua,isLoading:Sa,count:hl,isModal:pl=!1})=>{const[ml,gl]=reactExports.useState(!1),[wc,xu]=reactExports.useState(!1),ff=()=>gl(!1);return jsxRuntimeExports.jsxs("div",{className:"dashboard-content-header",children:[!pl&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"dashboard-buttons",children:[ml&&reactDomExports.createPortal(jsxRuntimeExports.jsx(ImportTeam,{type:"marketplace",closeHandler:ff}),document.body),jsxRuntimeExports.jsxs("button",{onClick:()=>gl(!0),className:"dashboard-button border-t-[2px] border-t-solid border-t-[#8949ef]",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.publish,className:"w-6 h-6"}),jsxRuntimeExports.jsx("div",{className:"heading",children:jsxRuntimeExports.jsx("div",{className:"title",children:"Publish Integration and Agent"})})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsxs("div",{className:"dashboard-search-panel",children:[jsxRuntimeExports.jsxs("h4",{className:"col-span-2 flex gap-2 items-end",children:[jsxRuntimeExports.jsx(Icon,{icon:"icon-park-outline:more-app",className:"w-6 h-6"}),jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-end",children:["Integrations and Agents",Sa?jsxRuntimeExports.jsx(Count,{}):jsxRuntimeExports.jsxs("span",{children:["(",hl,")"]})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntimeExports.jsx("input",{type:"text",placeholder:"Search",value:ca,className:"grow",onChange:jf=>ua(jf.target.value)}),jsxRuntimeExports.jsx("div",{onClick:()=>xu(!wc),className:`text-primary-font hover:bg-white hover:text-[#02050d]
19581
- text-sm rounded-full duration-300 w-6 h-6 flex items-center justify-center cursor-pointer`,children:jsxRuntimeExports.jsx(Icon,{icon:wc?icons.cross:"tabler:filter"})})]})]}),jsxRuntimeExports.jsx(Filter,{showFilter:wc,selectedFilters:la,setSelectedFilters:aa})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}})]})},MarketplaceDashboard=({isModal:la=!1,models:aa})=>{const[ca,ua]=reactExports.useState(""),[Sa,hl]=reactExports.useState([]);return jsxRuntimeExports.jsxs("div",{className:`dashboard-content ${la?"!py-0":""}`,children:[jsxRuntimeExports.jsx(Header$3,{selectedFilters:Sa,setSelectedFilters:hl,search:ca,setSearch:ua,isLoading:aa.isLoading,count:aa.result.length,isModal:la}),jsxRuntimeExports.jsx("div",{className:"dashboard-grid",children:aa.isLoading?jsxRuntimeExports.jsx(CardsGrid,{}):aa.isError?jsxRuntimeExports.jsxs("div",{className:"formik-error-message",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.error}),"Failed to fetch marketplace models"]}):filterMarketplaceModels(aa.result,ca,Sa).map(pl=>la?jsxRuntimeExports.jsx(FormikMarketplaceCard,{...pl},pl.Id):jsxRuntimeExports.jsx(MarkeplaceCard,{...pl},pl.Id))})]})},Marketplace=()=>{const la=useAppStore(aa=>aa.marketplaceModels);return useMarketplace(),console.log("marketplace models",la),jsxRuntimeExports.jsx(MarketplaceDashboard,{models:la})},ConfigEntityForm=({entityFqn:la,appConfig:aa,showHeader:ca=!0,onSave:ua})=>{let Sa="",hl=la;if(isFqName$1(la)){const jf=nameToPath$1(la);Sa=jf.getModuleName(),hl=jf.getEntryName()}const pl=hl.split(".").pop()||hl,ml=getEntity$1(hl,Sa),gl=ml?.getUserAttributes(),wc={},xu=[];gl&&gl.forEach((jf,Uf)=>{xu.push(Uf);let rp="";aa?.[Sa]?.[la]?.[Uf]?rp=aa[Sa][la][Uf]:aa?.[la]?.[Uf]&&(rp=aa[la][Uf]),wc[Uf]=rp});const ff=jf=>{const Uf={...aa[Sa]||{},[la]:jf};ua({[Sa]:Uf})};return!ml||!gl?jsxRuntimeExports.jsx("div",{className:"p-2 border border-dashed border-gray-600 rounded",children:jsxRuntimeExports.jsxs("div",{className:"text-yellow-500 mb-2",children:["Could not load schema for ",la,". Ensure the module is loaded."]})}):jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4",children:[ca&&jsxRuntimeExports.jsxs("h5",{className:"text-lg font-medium text-primary-font border-b border-gray-700 pb-2",children:[pl," Configuration"]}),jsxRuntimeExports.jsx(Formik,{enableReinitialize:!0,initialValues:wc,onSubmit:ff,children:({dirty:jf,isSubmitting:Uf})=>jsxRuntimeExports.jsxs(Form$6,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:xu.map(rp=>jsxRuntimeExports.jsx("div",{className:"space-y-1",children:jsxRuntimeExports.jsx(nht,{name:rp,label:rp,placeholder:`Enter ${rp}`})},rp))}),jf&&jsxRuntimeExports.jsx("div",{className:"flex justify-end pt-2",children:jsxRuntimeExports.jsx("button",{type:"submit",className:`px-4 py-2 bg-table-header hover:bg-[rgba(255,255,255,0.15)] border border-[rgba(255,255,255,0.2)] hover:border-[rgba(255,255,255,0.3)] rounded-lg text-[rgba(255,255,255,0.9)] text-sm font-medium cursor-pointer ${jf?"":"opacity-50 cursor-not-allowed"}`,disabled:Uf,children:Uf?"Updating...":"Update Configuration"})})]})})]})},IntegrationConfig=({integration:la,source:aa="api"})=>{const{teamName:ca}=useParams(),[ua,Sa]=reactExports.useState([]),[hl,pl]=reactExports.useState(!1),[ml,gl]=reactExports.useState(null),{saveAppConfig:wc}=useAppConfig(),xu=useAppStore(rp=>rp.appConfig),ff=useAppStore(rp=>rp.user),jf=ff.GitHub.Token,Uf=ff.GitHub.Username;return reactExports.useEffect(()=>{(async()=>{pl(!0),gl(null);try{if(aa==="api"){const{GitHubOrg:np,GitHubRepo:qm}=la.userData,Vm=`/integrations/${np}/${qm}`;if(!await pathExists(Vm)){const ig=generateGitHubUrl(np,qm,Uf,jf);await cloneRepository(ig,Vm,"main",jf||"")}await flushAllAndLoad(Vm,{name:"studio"});const tg=await readRepoFile(Vm,"package.json"),rg=JSON.parse(tg);rg?.agentlang?.config&&Array.isArray(rg.agentlang.config)?Sa(rg.agentlang.config):Sa([])}else{if(!ca)return;const np=la.name.split(".")[0].toLowerCase(),qm=await readDependencyPackageJsonFromGit(ca,np);qm?.agentlang?.config&&Array.isArray(qm.agentlang.config)?Sa(qm.agentlang.config):Sa([])}}catch(np){console.error(`Failed to load config for ${la.name}:`,np),gl(`Failed to load configuration: ${np.message}`)}finally{pl(!1)}})()},[ca,la.name,la.userData,aa,Uf,jf]),hl?jsxRuntimeExports.jsx("div",{className:"p-4 text-center text-gray-400",children:"Loading configuration..."}):ml?jsxRuntimeExports.jsx("div",{className:"p-4 text-center text-red-400",children:ml}):ua.length===0?jsxRuntimeExports.jsx("div",{className:"p-4 text-center text-gray-400",children:"No configuration available for this integration."}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-6 p-4 bg-primary/30 rounded-lg",children:ua.map(rp=>jsxRuntimeExports.jsx(ConfigEntityForm,{entityFqn:rp,appConfig:xu,onSave:wc},rp))})},Checkbox=({isSelected:la,label:aa,onClick:ca})=>jsxRuntimeExports.jsxs("div",{className:"flex items-center !leading-none gap-2 cursor-pointer",onClick:ca,children:[jsxRuntimeExports.jsx(Icon,{icon:la?"mdi:checkbox-marked":"mdi:checkbox-blank-outline",color:la?"#1976d2":"",width:"20px",height:"20px"}),aa]}),IntegrationRow=({integration:la,source:aa,isSelected:ca,onToggleSelection:ua})=>{const{deleteIntegration:Sa}=useIntegration(aa),[hl,pl]=reactExports.useState(!1),[ml,gl]=reactExports.useState(!1),[wc,xu]=reactExports.useState(!1),ff=np=>{np.stopPropagation(),gl(!0)},jf=async()=>{xu(!0);try{await Sa(la.name),gl(!1)}catch(np){console.error("Failed to delete integration:",np)}finally{xu(!1)}},Uf=aa==="api"&&!!ua,rp=()=>{Uf||pl(!hl)};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsxs("div",{className:classNames("grid grid-cols-1 sm:grid-cols-12 p-3 gap-2 sm:gap-4 bg-secondary items-center transition-colors",hl?"rounded-t-lg":"rounded-lg",Uf?"":"cursor-pointer hover:bg-white/5"),onClick:rp,children:[jsxRuntimeExports.jsxs("div",{className:"col-span-1 sm:col-span-10 mb-2 sm:mb-0 flex items-center gap-2",children:[aa==="api"&&ua&&jsxRuntimeExports.jsx("div",{onClick:np=>np.stopPropagation(),children:jsxRuntimeExports.jsx(Checkbox,{isSelected:ca||!1,label:"",onClick:()=>ua(la)})}),(aa==="config"||!Uf)&&jsxRuntimeExports.jsx("div",{className:"p-1 hover:bg-white/10 rounded-full transition-colors",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:chevron-right",className:`transition-transform duration-200 text-gray-400 ${hl?"rotate-90":""}`,width:20,height:20})}),jsxRuntimeExports.jsx("span",{className:"font-medium",children:la.name})]}),jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-2 flex justify-end items-center",children:jsxRuntimeExports.jsxs("button",{className:"table-delete-button w-full sm:w-auto px-3 py-2 text-xs sm:text-sm",onClick:ff,children:[jsxRuntimeExports.jsx(Icon,{icon:"tabler:trash",width:16,height:16}),"Delete"]})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:hl&&jsxRuntimeExports.jsx(motion.div,{className:"bg-secondary rounded-b-lg overflow-hidden px-3 pb-3",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},children:jsxRuntimeExports.jsx(IntegrationConfig,{integration:la,source:aa})})}),ml&&reactDomExports.createPortal(jsxRuntimeExports.jsx(ConfirmDelete,{closeHandler:()=>gl(!1),onConfirm:jf,title:"Delete Integration",message:`Are you sure you want to delete the integration "${la.name}"? This will remove it from package.json and config.al.`,itemName:la.name,isLoading:wc}),document.body)]})},DashboardHistoryNavigationButtons=()=>{const la=useNavigate(),aa=useLocation(),ca=useNavigationType(),[ua,Sa]=reactExports.useState(!1),[hl,pl]=reactExports.useState(!1);return reactExports.useEffect(()=>{const ml=window.history.state&&window.history.state.idx||0,gl="rr_max_idx",wc=sessionStorage.getItem(gl);let xu=wc?parseInt(wc,10):ml;(ca==="PUSH"||ml>xu)&&(xu=ml),sessionStorage.setItem(gl,String(xu)),Sa(ml>0),pl(ml<xu)},[aa,ca]),jsxRuntimeExports.jsxs("div",{className:"flex gap-2",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ua&&la(-1),className:`header-action-icon ${ua?"":"opacity-40 cursor-not-allowed pointer-events-none"}`,disabled:!ua,title:ua?"Back":"No previous page",children:jsxRuntimeExports.jsx(Icon,{icon:icons.back})}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>hl&&la(1),className:`header-action-icon ${hl?"":"opacity-40 cursor-not-allowed pointer-events-none"}`,disabled:!hl,title:hl?"Forward":"No next page",children:jsxRuntimeExports.jsx(Icon,{icon:icons.forward})})]})},IntegrationsDasboard=({integrations:la,isModal:aa,source:ca="api",selectedIntegrations:ua,onToggleIntegration:Sa})=>{const{isLoading:hl,isError:pl,result:ml}=la,[gl,wc]=reactExports.useState(""),[xu,ff]=reactExports.useState("");return jsxRuntimeExports.jsxs("div",{className:`dashboard-content ${aa?"p-0! m-0! max-w-none! overflow-auto grow":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"dashboard-content-header",children:[jsxRuntimeExports.jsxs("div",{className:"grid gap-2 sm:gap-3 md:gap-4 lg:gap-6 items-center grid-cols-2 lg:grid-cols-12 px-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1 col-span-1 lg:col-span-3 row-start-1 col-start-1 lg:row-start-1 lg:col-start-1",children:[jsxRuntimeExports.jsxs("h4",{className:"flex items-end gap-2 text-sm sm:text-base",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.integration,className:"w-5 h-5 sm:w-6 sm:h-6"}),jsxRuntimeExports.jsxs("div",{className:"flex items-end gap-2",children:["Integrations",hl?jsxRuntimeExports.jsx(Count,{}):jsxRuntimeExports.jsxs("span",{children:["(",ml.length,")"]})]})]}),jsxRuntimeExports.jsx("div",{className:"font-normal text-secondary-font text-left line-clamp-1 text-xs sm:text-sm",children:"Search and manage your integrations."})]}),jsxRuntimeExports.jsxs("div",{className:"col-span-2 lg:col-span-7 row-start-2 col-start-1 lg:row-start-1 lg:col-start-4 flex gap-2 items-center",children:[jsxRuntimeExports.jsx(DashboardHistoryNavigationButtons,{}),jsxRuntimeExports.jsx("input",{type:"text",placeholder:"Search Integrations",value:gl,onChange:jf=>wc(jf.target.value),className:"w-full text-sm sm:text-base"})]}),!(aa&&ca==="api")&&jsxRuntimeExports.jsx("div",{className:"col-span-1 row-start-1 col-start-2 lg:row-start-1 lg:col-start-11 lg:col-span-2 flex gap-2 justify-end lg:justify-end",children:jsxRuntimeExports.jsx(TooltipComponent,{text:"New Integration",children:jsxRuntimeExports.jsx("div",{onClick:()=>ff("addIntegration"),className:"header-action-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.integration})})})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),xu==="addIntegration"&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddIntegration,{closeHandler:()=>ff(""),source:ca}),document.body)]}),jsxRuntimeExports.jsxs("div",{className:"overflow-auto flex flex-col gap-4 scrollbar-none",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-12 px-3 justify-between",children:[jsxRuntimeExports.jsx("div",{className:"col-span-10",children:"Name"}),jsxRuntimeExports.jsx("div",{className:"col-span-2 flex justify-end",children:"Actions"})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),hl?jsxRuntimeExports.jsx(Integrations$1,{}):pl?jsxRuntimeExports.jsxs("div",{className:"formik-error-message",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.error}),"Failed to fetch Integrations"]}):ml.filter(jf=>jf.name.toLowerCase().includes(gl.toLowerCase())).map(jf=>jsxRuntimeExports.jsx(reactExports.Fragment,{children:jsxRuntimeExports.jsx(IntegrationRow,{integration:jf,source:ca,isSelected:ua?.includes(jf.name)||!1,onToggleSelection:Sa},jf.name)},jf.name))]})]})},Integrations=({isModal:la,source:aa="api",selectedIntegrations:ca,onToggleIntegration:ua})=>{const{integrationData:Sa,isLoadingIntegrations:hl,isErrorIntegrations:pl}=useIntegration(aa),ml=aa==="config"?(Sa??[]).filter(wc=>!wc.userData?.isRemoteIntegration):Sa??[],gl={isLoading:!!hl,isError:!!pl,result:ml};return jsxRuntimeExports.jsx(IntegrationsDasboard,{integrations:gl,isModal:la,source:aa,selectedIntegrations:ca,onToggleIntegration:ua})};function insertReplacement(la,aa,ca){const ua=[];return la.forEach(Sa=>typeof Sa!="string"?ua.push(Sa):aa[Symbol.split](Sa).forEach((hl,pl,ml)=>{hl!==""&&ua.push(hl),pl<ml.length-1&&ua.push(ca)})),ua}/**
19581
+ text-sm rounded-full duration-300 w-6 h-6 flex items-center justify-center cursor-pointer`,children:jsxRuntimeExports.jsx(Icon,{icon:wc?icons.cross:"tabler:filter"})})]})]}),jsxRuntimeExports.jsx(Filter,{showFilter:wc,selectedFilters:la,setSelectedFilters:aa})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}})]})},MarketplaceDashboard=({isModal:la=!1,models:aa})=>{const[ca,ua]=reactExports.useState(""),[Sa,hl]=reactExports.useState([]);return jsxRuntimeExports.jsxs("div",{className:`dashboard-content ${la?"!py-0":""}`,children:[jsxRuntimeExports.jsx(Header$3,{selectedFilters:Sa,setSelectedFilters:hl,search:ca,setSearch:ua,isLoading:aa.isLoading,count:aa.result.length,isModal:la}),jsxRuntimeExports.jsx("div",{className:"dashboard-grid",children:aa.isLoading?jsxRuntimeExports.jsx(CardsGrid,{}):aa.isError?jsxRuntimeExports.jsxs("div",{className:"formik-error-message",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.error}),"Failed to fetch marketplace models"]}):filterMarketplaceModels(aa.result,ca,Sa).map(pl=>la?jsxRuntimeExports.jsx(FormikMarketplaceCard,{...pl},pl.Id):jsxRuntimeExports.jsx(MarkeplaceCard,{...pl},pl.Id))})]})},Marketplace=()=>{const la=useAppStore(aa=>aa.marketplaceModels);return useMarketplace(),console.log("marketplace models",la),jsxRuntimeExports.jsx(MarketplaceDashboard,{models:la})},ConfigEntityForm=({entityFqn:la,appConfig:aa,showHeader:ca=!0,onSave:ua})=>{let Sa="",hl=la;if(isFqName$1(la)){const jf=nameToPath$1(la);Sa=jf.getModuleName(),hl=jf.getEntryName()}const pl=hl.split(".").pop()||hl,ml=getEntity$1(hl,Sa),gl=ml?.getUserAttributes(),wc={},xu=[];gl&&gl.forEach((jf,Uf)=>{xu.push(Uf);let rp="";aa?.[Sa]?.[la]?.[Uf]?rp=aa[Sa][la][Uf]:aa?.[la]?.[Uf]&&(rp=aa[la][Uf]),wc[Uf]=rp});const ff=jf=>{const Uf={...aa[Sa]||{},[la]:jf};ua({[Sa]:Uf})};return!ml||!gl?jsxRuntimeExports.jsx("div",{className:"p-2 border border-dashed border-gray-600 rounded",children:jsxRuntimeExports.jsxs("div",{className:"text-yellow-500 mb-2",children:["Could not load schema for ",la,". Ensure the module is loaded."]})}):jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4",children:[ca&&jsxRuntimeExports.jsxs("h5",{className:"text-lg font-medium text-primary-font border-b border-gray-700 pb-2",children:[pl," Configuration"]}),jsxRuntimeExports.jsx(Formik,{enableReinitialize:!0,initialValues:wc,onSubmit:ff,children:({dirty:jf,isSubmitting:Uf})=>jsxRuntimeExports.jsxs(Form$6,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:xu.map(rp=>jsxRuntimeExports.jsx("div",{className:"space-y-1",children:jsxRuntimeExports.jsx(nht,{name:rp,label:rp,placeholder:`Enter ${rp}`})},rp))}),jf&&jsxRuntimeExports.jsx("div",{className:"flex justify-end pt-2",children:jsxRuntimeExports.jsx("button",{type:"submit",className:`px-4 py-2 bg-table-header hover:bg-[rgba(255,255,255,0.15)] border border-[rgba(255,255,255,0.2)] hover:border-[rgba(255,255,255,0.3)] rounded-lg text-[rgba(255,255,255,0.9)] text-sm font-medium cursor-pointer ${jf?"":"opacity-50 cursor-not-allowed"}`,disabled:Uf,children:Uf?"Updating...":"Update Configuration"})})]})})]})},IntegrationConfig=({integration:la,source:aa="api"})=>{const{teamName:ca}=useParams(),[ua,Sa]=reactExports.useState([]),[hl,pl]=reactExports.useState(!1),[ml,gl]=reactExports.useState(null),{saveAppConfig:wc}=useAppConfig(),xu=useAppStore(rp=>rp.appConfig),ff=useAppStore(rp=>rp.user),jf=ff.GitHub.Token,Uf=ff.GitHub.Username;return console.log("appConfig",xu),reactExports.useEffect(()=>{(async()=>{pl(!0),gl(null);try{if(aa==="api"){const{GitHubOrg:np,GitHubRepo:qm}=la.userData,Vm=`/integrations/${np}/${qm}`;if(!await pathExists(Vm)){const ig=generateGitHubUrl(np,qm,Uf,jf);await cloneRepository(ig,Vm,"main",jf||"")}await flushAllAndLoad(Vm,{name:"studio"});const tg=await readRepoFile(Vm,"package.json"),rg=JSON.parse(tg);rg?.agentlang?.config&&Array.isArray(rg.agentlang.config)?Sa(rg.agentlang.config):Sa([])}else{if(!ca)return;const np=la.name.split(".")[0].toLowerCase(),qm=await readDependencyPackageJsonFromGit(ca,np);qm?.agentlang?.config&&Array.isArray(qm.agentlang.config)?Sa(qm.agentlang.config):Sa([])}}catch(np){console.error(`Failed to load config for ${la.name}:`,np),gl(`Failed to load configuration: ${np.message}`)}finally{pl(!1)}})()},[ca,la.name,la.userData,aa,Uf,jf]),hl?jsxRuntimeExports.jsx("div",{className:"p-4 text-center text-gray-400",children:"Loading configuration..."}):ml?jsxRuntimeExports.jsx("div",{className:"p-4 text-center text-red-400",children:ml}):ua.length===0?jsxRuntimeExports.jsx("div",{className:"p-4 text-center text-gray-400",children:"No configuration available for this integration."}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-6 p-4 bg-primary/30 rounded-lg",children:ua.map(rp=>jsxRuntimeExports.jsx(ConfigEntityForm,{entityFqn:rp,appConfig:xu,onSave:wc},rp))})},Checkbox=({isSelected:la,label:aa,onClick:ca})=>jsxRuntimeExports.jsxs("div",{className:"flex items-center !leading-none gap-2 cursor-pointer",onClick:ca,children:[jsxRuntimeExports.jsx(Icon,{icon:la?"mdi:checkbox-marked":"mdi:checkbox-blank-outline",color:la?"#1976d2":"",width:"20px",height:"20px"}),aa]}),IntegrationRow=({integration:la,source:aa,isSelected:ca,onToggleSelection:ua})=>{const{deleteIntegration:Sa}=useIntegration(aa),[hl,pl]=reactExports.useState(!1),[ml,gl]=reactExports.useState(!1),[wc,xu]=reactExports.useState(!1),ff=np=>{np.stopPropagation(),gl(!0)},jf=async()=>{xu(!0);try{await Sa(la.name),gl(!1)}catch(np){console.error("Failed to delete integration:",np)}finally{xu(!1)}},Uf=aa==="api"&&!!ua,rp=()=>{Uf||pl(!hl)};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsxs("div",{className:classNames("grid grid-cols-1 sm:grid-cols-12 p-3 gap-2 sm:gap-4 bg-secondary items-center transition-colors",hl?"rounded-t-lg":"rounded-lg",Uf?"":"cursor-pointer hover:bg-white/5"),onClick:rp,children:[jsxRuntimeExports.jsxs("div",{className:"col-span-1 sm:col-span-10 mb-2 sm:mb-0 flex items-center gap-2",children:[aa==="api"&&ua&&jsxRuntimeExports.jsx("div",{onClick:np=>np.stopPropagation(),children:jsxRuntimeExports.jsx(Checkbox,{isSelected:ca||!1,label:"",onClick:()=>ua(la)})}),(aa==="config"||!Uf)&&jsxRuntimeExports.jsx("div",{className:"p-1 hover:bg-white/10 rounded-full transition-colors",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:chevron-right",className:`transition-transform duration-200 text-gray-400 ${hl?"rotate-90":""}`,width:20,height:20})}),jsxRuntimeExports.jsx("span",{className:"font-medium",children:la.name})]}),jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-2 flex justify-end items-center",children:jsxRuntimeExports.jsxs("button",{className:"table-delete-button w-full sm:w-auto px-3 py-2 text-xs sm:text-sm",onClick:ff,children:[jsxRuntimeExports.jsx(Icon,{icon:"tabler:trash",width:16,height:16}),"Delete"]})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:hl&&jsxRuntimeExports.jsx(motion.div,{className:"bg-secondary rounded-b-lg overflow-hidden px-3 pb-3",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},children:jsxRuntimeExports.jsx(IntegrationConfig,{integration:la,source:aa})})}),ml&&reactDomExports.createPortal(jsxRuntimeExports.jsx(ConfirmDelete,{closeHandler:()=>gl(!1),onConfirm:jf,title:"Delete Integration",message:`Are you sure you want to delete the integration "${la.name}"? This will remove it from package.json and config.al.`,itemName:la.name,isLoading:wc}),document.body)]})},DashboardHistoryNavigationButtons=()=>{const la=useNavigate(),aa=useLocation(),ca=useNavigationType(),[ua,Sa]=reactExports.useState(!1),[hl,pl]=reactExports.useState(!1);return reactExports.useEffect(()=>{const ml=window.history.state&&window.history.state.idx||0,gl="rr_max_idx",wc=sessionStorage.getItem(gl);let xu=wc?parseInt(wc,10):ml;(ca==="PUSH"||ml>xu)&&(xu=ml),sessionStorage.setItem(gl,String(xu)),Sa(ml>0),pl(ml<xu)},[aa,ca]),jsxRuntimeExports.jsxs("div",{className:"flex gap-2",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ua&&la(-1),className:`header-action-icon ${ua?"":"opacity-40 cursor-not-allowed pointer-events-none"}`,disabled:!ua,title:ua?"Back":"No previous page",children:jsxRuntimeExports.jsx(Icon,{icon:icons.back})}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>hl&&la(1),className:`header-action-icon ${hl?"":"opacity-40 cursor-not-allowed pointer-events-none"}`,disabled:!hl,title:hl?"Forward":"No next page",children:jsxRuntimeExports.jsx(Icon,{icon:icons.forward})})]})},IntegrationsDasboard=({integrations:la,isModal:aa,source:ca="api",selectedIntegrations:ua,onToggleIntegration:Sa})=>{const{isLoading:hl,isError:pl,result:ml}=la,[gl,wc]=reactExports.useState(""),[xu,ff]=reactExports.useState("");return jsxRuntimeExports.jsxs("div",{className:`dashboard-content ${aa?"p-0! m-0! max-w-none! overflow-auto grow":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"dashboard-content-header",children:[jsxRuntimeExports.jsxs("div",{className:"grid gap-2 sm:gap-3 md:gap-4 lg:gap-6 items-center grid-cols-2 lg:grid-cols-12 px-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1 col-span-1 lg:col-span-3 row-start-1 col-start-1 lg:row-start-1 lg:col-start-1",children:[jsxRuntimeExports.jsxs("h4",{className:"flex items-end gap-2 text-sm sm:text-base",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.integration,className:"w-5 h-5 sm:w-6 sm:h-6"}),jsxRuntimeExports.jsxs("div",{className:"flex items-end gap-2",children:["Integrations",hl?jsxRuntimeExports.jsx(Count,{}):jsxRuntimeExports.jsxs("span",{children:["(",ml.length,")"]})]})]}),jsxRuntimeExports.jsx("div",{className:"font-normal text-secondary-font text-left line-clamp-1 text-xs sm:text-sm",children:"Search and manage your integrations."})]}),jsxRuntimeExports.jsxs("div",{className:"col-span-2 lg:col-span-7 row-start-2 col-start-1 lg:row-start-1 lg:col-start-4 flex gap-2 items-center",children:[jsxRuntimeExports.jsx(DashboardHistoryNavigationButtons,{}),jsxRuntimeExports.jsx("input",{type:"text",placeholder:"Search Integrations",value:gl,onChange:jf=>wc(jf.target.value),className:"w-full text-sm sm:text-base"})]}),!(aa&&ca==="api")&&jsxRuntimeExports.jsx("div",{className:"col-span-1 row-start-1 col-start-2 lg:row-start-1 lg:col-start-11 lg:col-span-2 flex gap-2 justify-end lg:justify-end",children:jsxRuntimeExports.jsx(TooltipComponent,{text:"New Integration",children:jsxRuntimeExports.jsx("div",{onClick:()=>ff("addIntegration"),className:"header-action-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.integration})})})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),xu==="addIntegration"&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddIntegration,{closeHandler:()=>ff(""),source:ca}),document.body)]}),jsxRuntimeExports.jsxs("div",{className:"overflow-auto flex flex-col gap-4 scrollbar-none",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-12 px-3 justify-between",children:[jsxRuntimeExports.jsx("div",{className:"col-span-10",children:"Name"}),jsxRuntimeExports.jsx("div",{className:"col-span-2 flex justify-end",children:"Actions"})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),hl?jsxRuntimeExports.jsx(Integrations$1,{}):pl?jsxRuntimeExports.jsxs("div",{className:"formik-error-message",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.error}),"Failed to fetch Integrations"]}):ml.filter(jf=>jf.name.toLowerCase().includes(gl.toLowerCase())).map(jf=>jsxRuntimeExports.jsx(reactExports.Fragment,{children:jsxRuntimeExports.jsx(IntegrationRow,{integration:jf,source:ca,isSelected:ua?.includes(jf.name)||!1,onToggleSelection:Sa},jf.name)},jf.name))]})]})},Integrations=({isModal:la,source:aa="api",selectedIntegrations:ca,onToggleIntegration:ua})=>{const{integrationData:Sa,isLoadingIntegrations:hl,isErrorIntegrations:pl}=useIntegration(aa),ml=aa==="config"?(Sa??[]).filter(wc=>!wc.userData?.isRemoteIntegration):Sa??[],gl={isLoading:!!hl,isError:!!pl,result:ml};return jsxRuntimeExports.jsx(IntegrationsDasboard,{integrations:gl,isModal:la,source:aa,selectedIntegrations:ca,onToggleIntegration:ua})};function insertReplacement(la,aa,ca){const ua=[];return la.forEach(Sa=>typeof Sa!="string"?ua.push(Sa):aa[Symbol.split](Sa).forEach((hl,pl,ml)=>{hl!==""&&ua.push(hl),pl<ml.length-1&&ua.push(ca)})),ua}/**
19582
19582
  * Takes a string with placeholder variables like `%{smart_count} file selected`
19583
19583
  * and replaces it with values from options `{smart_count: 5}`
19584
19584
  *