@agentlang/lstudio 0.3.4 → 0.3.5

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-BfD7lZKA.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/winston-N-ZyUyR9.js","assets/util-BK_kXI_A.js","assets/_commonjs-dynamic-modules-B7n8ZNar.js","assets/__vite-browser-external-DLjrMatA.js","assets/winston-CwDMVyed.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-CMD8cq9r.js","assets/winston-1qzyIKCb-DoqGljq5.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-BYqRCiI3.js","assets/index-LKjSxjRA-C7aA0iuy.js","assets/index-KGBiLwKE-Doz2tX9S.js","assets/index-Bto-kj6R-C0A_3Pwb.js","assets/index.browser-DiEKGzll.js","assets/normalizeProvider-EC8cbfMc.js","assets/index-CZOJflkl.js","assets/index-B1YezDoF.js","assets/AwsJson1_1Protocol-DaQiXmia.js","assets/index-BHDiPh0o.js","assets/index-3_2F9LQx.js","assets/fs-zDRyh4Qd.js","assets/replService-DqLyvCZY.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DI1IW8Iz.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/winston-DQd-ZvTl.js","assets/util-CxZAtT13.js","assets/_commonjs-dynamic-modules-B7n8ZNar.js","assets/__vite-browser-external-DLjrMatA.js","assets/winston-DnWXlpHO.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-CxJhywsh.js","assets/winston-1qzyIKCb-NUbYViBc.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-CSJQEO1L.js","assets/index-LKjSxjRA-C7aA0iuy.js","assets/index-KGBiLwKE-Doz2tX9S.js","assets/index-Bto-kj6R-C0A_3Pwb.js","assets/index.browser-BVdx1GK8.js","assets/normalizeProvider-EC8cbfMc.js","assets/index-CPgyIhh1.js","assets/index-Bv_84CuN.js","assets/AwsJson1_1Protocol-BXIJ4DkX.js","assets/index-BHDiPh0o.js","assets/index-3_2F9LQx.js","assets/fs-Do7YaMLp.js","assets/replService-C1_ibN45.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$b,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$2}from"./index-DsIu-45t-Bejjlpz4.js";import{F as Ft$5,G as Gt$2,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$f}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(ya,ma){for(var ba=0;ba<ma.length;ba++){const va=ma[ba];if(typeof va!="string"&&!Array.isArray(va)){for(const Ma in va)if(Ma!=="default"&&!(Ma in ya)){const El=Object.getOwnPropertyDescriptor(va,Ma);El&&Object.defineProperty(ya,Ma,El.get?El:{enumerable:!0,get:()=>va[Ma]})}}}return Object.freeze(Object.defineProperty(ya,Symbol.toStringTag,{value:"Module"}))}(function(){const ma=document.createElement("link").relList;if(ma&&ma.supports&&ma.supports("modulepreload"))return;for(const Ma of document.querySelectorAll('link[rel="modulepreload"]'))va(Ma);new MutationObserver(Ma=>{for(const El of Ma)if(El.type==="childList")for(const wl of El.addedNodes)wl.tagName==="LINK"&&wl.rel==="modulepreload"&&va(wl)}).observe(document,{childList:!0,subtree:!0});function ba(Ma){const El={};return Ma.integrity&&(El.integrity=Ma.integrity),Ma.referrerPolicy&&(El.referrerPolicy=Ma.referrerPolicy),Ma.crossOrigin==="use-credentials"?El.credentials="include":Ma.crossOrigin==="anonymous"?El.credentials="omit":El.credentials="same-origin",El}function va(Ma){if(Ma.ep)return;Ma.ep=!0;const El=ba(Ma);fetch(Ma.href,El)}})();var jsxRuntime={exports:{}},reactJsxRuntime_production={};/**
3
3
  * @license React
4
4
  * react-jsx-runtime.production.js
@@ -8132,7 +8132,7 @@ workflow TempEvent { ${ya} }`);if(isWorkflowDefinition$1(ba.defs[0]))ma=ba.defs[
8132
8132
  *
8133
8133
  * @author Feross Aboukhadijeh <https://feross.org>
8134
8134
  * @license MIT
8135
- */var hasRequiredBuffer;function requireBuffer(){return hasRequiredBuffer||(hasRequiredBuffer=1,(function(ya){const ma=requireBase64Js(),ba=requireIeee754(),va=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ya.Buffer=Sl,ya.SlowBuffer=mg,ya.INSPECT_MAX_BYTES=50;const Ma=2147483647;ya.kMaxLength=Ma,Sl.TYPED_ARRAY_SUPPORT=El(),!Sl.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 El(){try{const Hpt=new Uint8Array(1),XY={foo:function(){return 42}};return Object.setPrototypeOf(XY,Uint8Array.prototype),Object.setPrototypeOf(Hpt,XY),Hpt.foo()===42}catch{return!1}}Object.defineProperty(Sl.prototype,"parent",{enumerable:!0,get:function(){if(Sl.isBuffer(this))return this.buffer}}),Object.defineProperty(Sl.prototype,"offset",{enumerable:!0,get:function(){if(Sl.isBuffer(this))return this.byteOffset}});function wl(Hpt){if(Hpt>Ma)throw new RangeError('The value "'+Hpt+'" is invalid for option "size"');const XY=new Uint8Array(Hpt);return Object.setPrototypeOf(XY,Sl.prototype),XY}function Sl(Hpt,XY,Epe){if(typeof Hpt=="number"){if(typeof XY=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Zf(Hpt)}return Cl(Hpt,XY,Epe)}Sl.poolSize=8192;function Cl(Hpt,XY,Epe){if(typeof Hpt=="string")return Jf(Hpt,XY);if(ArrayBuffer.isView(Hpt))return hp(Hpt);if(Hpt==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Hpt);if(Xht(Hpt,ArrayBuffer)||Hpt&&Xht(Hpt.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Xht(Hpt,SharedArrayBuffer)||Hpt&&Xht(Hpt.buffer,SharedArrayBuffer)))return dg(Hpt,XY,Epe);if(typeof Hpt=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Zpt=Hpt.valueOf&&Hpt.valueOf();if(Zpt!=null&&Zpt!==Hpt)return Sl.from(Zpt,XY,Epe);const Q_e=pg(Hpt);if(Q_e)return Q_e;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Hpt[Symbol.toPrimitive]=="function")return Sl.from(Hpt[Symbol.toPrimitive]("string"),XY,Epe);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Hpt)}Sl.from=function(Hpt,XY,Epe){return Cl(Hpt,XY,Epe)},Object.setPrototypeOf(Sl.prototype,Uint8Array.prototype),Object.setPrototypeOf(Sl,Uint8Array);function Mc(Hpt){if(typeof Hpt!="number")throw new TypeError('"size" argument must be of type number');if(Hpt<0)throw new RangeError('The value "'+Hpt+'" is invalid for option "size"')}function Ef(Hpt,XY,Epe){return Mc(Hpt),Hpt<=0?wl(Hpt):XY!==void 0?typeof Epe=="string"?wl(Hpt).fill(XY,Epe):wl(Hpt).fill(XY):wl(Hpt)}Sl.alloc=function(Hpt,XY,Epe){return Ef(Hpt,XY,Epe)};function Zf(Hpt){return Mc(Hpt),wl(Hpt<0?0:hg(Hpt)|0)}Sl.allocUnsafe=function(Hpt){return Zf(Hpt)},Sl.allocUnsafeSlow=function(Hpt){return Zf(Hpt)};function Jf(Hpt,XY){if((typeof XY!="string"||XY==="")&&(XY="utf8"),!Sl.isEncoding(XY))throw new TypeError("Unknown encoding: "+XY);const Epe=gg(Hpt,XY)|0;let Zpt=wl(Epe);const Q_e=Zpt.write(Hpt,XY);return Q_e!==Epe&&(Zpt=Zpt.slice(0,Q_e)),Zpt}function dp(Hpt){const XY=Hpt.length<0?0:hg(Hpt.length)|0,Epe=wl(XY);for(let Zpt=0;Zpt<XY;Zpt+=1)Epe[Zpt]=Hpt[Zpt]&255;return Epe}function hp(Hpt){if(Xht(Hpt,Uint8Array)){const XY=new Uint8Array(Hpt);return dg(XY.buffer,XY.byteOffset,XY.byteLength)}return dp(Hpt)}function dg(Hpt,XY,Epe){if(XY<0||Hpt.byteLength<XY)throw new RangeError('"offset" is outside of buffer bounds');if(Hpt.byteLength<XY+(Epe||0))throw new RangeError('"length" is outside of buffer bounds');let Zpt;return XY===void 0&&Epe===void 0?Zpt=new Uint8Array(Hpt):Epe===void 0?Zpt=new Uint8Array(Hpt,XY):Zpt=new Uint8Array(Hpt,XY,Epe),Object.setPrototypeOf(Zpt,Sl.prototype),Zpt}function pg(Hpt){if(Sl.isBuffer(Hpt)){const XY=hg(Hpt.length)|0,Epe=wl(XY);return Epe.length===0||Hpt.copy(Epe,0,0,XY),Epe}if(Hpt.length!==void 0)return typeof Hpt.length!="number"||bmt(Hpt.length)?wl(0):dp(Hpt);if(Hpt.type==="Buffer"&&Array.isArray(Hpt.data))return dp(Hpt.data)}function hg(Hpt){if(Hpt>=Ma)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ma.toString(16)+" bytes");return Hpt|0}function mg(Hpt){return+Hpt!=Hpt&&(Hpt=0),Sl.alloc(+Hpt)}Sl.isBuffer=function(XY){return XY!=null&&XY._isBuffer===!0&&XY!==Sl.prototype},Sl.compare=function(XY,Epe){if(Xht(XY,Uint8Array)&&(XY=Sl.from(XY,XY.offset,XY.byteLength)),Xht(Epe,Uint8Array)&&(Epe=Sl.from(Epe,Epe.offset,Epe.byteLength)),!Sl.isBuffer(XY)||!Sl.isBuffer(Epe))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(XY===Epe)return 0;let Zpt=XY.length,Q_e=Epe.length;for(let Ppe=0,Ape=Math.min(Zpt,Q_e);Ppe<Ape;++Ppe)if(XY[Ppe]!==Epe[Ppe]){Zpt=XY[Ppe],Q_e=Epe[Ppe];break}return Zpt<Q_e?-1:Q_e<Zpt?1:0},Sl.isEncoding=function(XY){switch(String(XY).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}},Sl.concat=function(XY,Epe){if(!Array.isArray(XY))throw new TypeError('"list" argument must be an Array of Buffers');if(XY.length===0)return Sl.alloc(0);let Zpt;if(Epe===void 0)for(Epe=0,Zpt=0;Zpt<XY.length;++Zpt)Epe+=XY[Zpt].length;const Q_e=Sl.allocUnsafe(Epe);let Ppe=0;for(Zpt=0;Zpt<XY.length;++Zpt){let Ape=XY[Zpt];if(Xht(Ape,Uint8Array))Ppe+Ape.length>Q_e.length?(Sl.isBuffer(Ape)||(Ape=Sl.from(Ape)),Ape.copy(Q_e,Ppe)):Uint8Array.prototype.set.call(Q_e,Ape,Ppe);else if(Sl.isBuffer(Ape))Ape.copy(Q_e,Ppe);else throw new TypeError('"list" argument must be an Array of Buffers');Ppe+=Ape.length}return Q_e};function gg(Hpt,XY){if(Sl.isBuffer(Hpt))return Hpt.length;if(ArrayBuffer.isView(Hpt)||Xht(Hpt,ArrayBuffer))return Hpt.byteLength;if(typeof Hpt!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Hpt);const Epe=Hpt.length,Zpt=arguments.length>2&&arguments[2]===!0;if(!Zpt&&Epe===0)return 0;let Q_e=!1;for(;;)switch(XY){case"ascii":case"latin1":case"binary":return Epe;case"utf8":case"utf-8":return Aht(Hpt).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Epe*2;case"hex":return Epe>>>1;case"base64":return Dmt(Hpt).length;default:if(Q_e)return Zpt?-1:Aht(Hpt).length;XY=(""+XY).toLowerCase(),Q_e=!0}}Sl.byteLength=gg;function sy(Hpt,XY,Epe){let Zpt=!1;if((XY===void 0||XY<0)&&(XY=0),XY>this.length||((Epe===void 0||Epe>this.length)&&(Epe=this.length),Epe<=0)||(Epe>>>=0,XY>>>=0,Epe<=XY))return"";for(Hpt||(Hpt="utf8");;)switch(Hpt){case"hex":return lN(this,XY,Epe);case"utf8":case"utf-8":return aE(this,XY,Epe);case"ascii":return sN(this,XY,Epe);case"latin1":case"binary":return uN(this,XY,Epe);case"base64":return n0(this,XY,Epe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _F(this,XY,Epe);default:if(Zpt)throw new TypeError("Unknown encoding: "+Hpt);Hpt=(Hpt+"").toLowerCase(),Zpt=!0}}Sl.prototype._isBuffer=!0;function ly(Hpt,XY,Epe){const Zpt=Hpt[XY];Hpt[XY]=Hpt[Epe],Hpt[Epe]=Zpt}Sl.prototype.swap16=function(){const XY=this.length;if(XY%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Epe=0;Epe<XY;Epe+=2)ly(this,Epe,Epe+1);return this},Sl.prototype.swap32=function(){const XY=this.length;if(XY%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let Epe=0;Epe<XY;Epe+=4)ly(this,Epe,Epe+3),ly(this,Epe+1,Epe+2);return this},Sl.prototype.swap64=function(){const XY=this.length;if(XY%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let Epe=0;Epe<XY;Epe+=8)ly(this,Epe,Epe+7),ly(this,Epe+1,Epe+6),ly(this,Epe+2,Epe+5),ly(this,Epe+3,Epe+4);return this},Sl.prototype.toString=function(){const XY=this.length;return XY===0?"":arguments.length===0?aE(this,0,XY):sy.apply(this,arguments)},Sl.prototype.toLocaleString=Sl.prototype.toString,Sl.prototype.equals=function(XY){if(!Sl.isBuffer(XY))throw new TypeError("Argument must be a Buffer");return this===XY?!0:Sl.compare(this,XY)===0},Sl.prototype.inspect=function(){let XY="";const Epe=ya.INSPECT_MAX_BYTES;return XY=this.toString("hex",0,Epe).replace(/(.{2})/g,"$1 ").trim(),this.length>Epe&&(XY+=" ... "),"<Buffer "+XY+">"},va&&(Sl.prototype[va]=Sl.prototype.inspect),Sl.prototype.compare=function(XY,Epe,Zpt,Q_e,Ppe){if(Xht(XY,Uint8Array)&&(XY=Sl.from(XY,XY.offset,XY.byteLength)),!Sl.isBuffer(XY))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof XY);if(Epe===void 0&&(Epe=0),Zpt===void 0&&(Zpt=XY?XY.length:0),Q_e===void 0&&(Q_e=0),Ppe===void 0&&(Ppe=this.length),Epe<0||Zpt>XY.length||Q_e<0||Ppe>this.length)throw new RangeError("out of range index");if(Q_e>=Ppe&&Epe>=Zpt)return 0;if(Q_e>=Ppe)return-1;if(Epe>=Zpt)return 1;if(Epe>>>=0,Zpt>>>=0,Q_e>>>=0,Ppe>>>=0,this===XY)return 0;let Ape=Ppe-Q_e,qpt=Zpt-Epe;const Vpt=Math.min(Ape,qpt),Tht=this.slice(Q_e,Ppe),ipt=XY.slice(Epe,Zpt);for(let smt=0;smt<Vpt;++smt)if(Tht[smt]!==ipt[smt]){Ape=Tht[smt],qpt=ipt[smt];break}return Ape<qpt?-1:qpt<Ape?1:0};function cy(Hpt,XY,Epe,Zpt,Q_e){if(Hpt.length===0)return-1;if(typeof Epe=="string"?(Zpt=Epe,Epe=0):Epe>2147483647?Epe=2147483647:Epe<-2147483648&&(Epe=-2147483648),Epe=+Epe,bmt(Epe)&&(Epe=Q_e?0:Hpt.length-1),Epe<0&&(Epe=Hpt.length+Epe),Epe>=Hpt.length){if(Q_e)return-1;Epe=Hpt.length-1}else if(Epe<0)if(Q_e)Epe=0;else return-1;if(typeof XY=="string"&&(XY=Sl.from(XY,Zpt)),Sl.isBuffer(XY))return XY.length===0?-1:uy(Hpt,XY,Epe,Zpt,Q_e);if(typeof XY=="number")return XY=XY&255,typeof Uint8Array.prototype.indexOf=="function"?Q_e?Uint8Array.prototype.indexOf.call(Hpt,XY,Epe):Uint8Array.prototype.lastIndexOf.call(Hpt,XY,Epe):uy(Hpt,[XY],Epe,Zpt,Q_e);throw new TypeError("val must be string, number or Buffer")}function uy(Hpt,XY,Epe,Zpt,Q_e){let Ppe=1,Ape=Hpt.length,qpt=XY.length;if(Zpt!==void 0&&(Zpt=String(Zpt).toLowerCase(),Zpt==="ucs2"||Zpt==="ucs-2"||Zpt==="utf16le"||Zpt==="utf-16le")){if(Hpt.length<2||XY.length<2)return-1;Ppe=2,Ape/=2,qpt/=2,Epe/=2}function Vpt(ipt,smt){return Ppe===1?ipt[smt]:ipt.readUInt16BE(smt*Ppe)}let Tht;if(Q_e){let ipt=-1;for(Tht=Epe;Tht<Ape;Tht++)if(Vpt(Hpt,Tht)===Vpt(XY,ipt===-1?0:Tht-ipt)){if(ipt===-1&&(ipt=Tht),Tht-ipt+1===qpt)return ipt*Ppe}else ipt!==-1&&(Tht-=Tht-ipt),ipt=-1}else for(Epe+qpt>Ape&&(Epe=Ape-qpt),Tht=Epe;Tht>=0;Tht--){let ipt=!0;for(let smt=0;smt<qpt;smt++)if(Vpt(Hpt,Tht+smt)!==Vpt(XY,smt)){ipt=!1;break}if(ipt)return Tht}return-1}Sl.prototype.includes=function(XY,Epe,Zpt){return this.indexOf(XY,Epe,Zpt)!==-1},Sl.prototype.indexOf=function(XY,Epe,Zpt){return cy(this,XY,Epe,Zpt,!0)},Sl.prototype.lastIndexOf=function(XY,Epe,Zpt){return cy(this,XY,Epe,Zpt,!1)};function H1(Hpt,XY,Epe,Zpt){Epe=Number(Epe)||0;const Q_e=Hpt.length-Epe;Zpt?(Zpt=Number(Zpt),Zpt>Q_e&&(Zpt=Q_e)):Zpt=Q_e;const Ppe=XY.length;Zpt>Ppe/2&&(Zpt=Ppe/2);let Ape;for(Ape=0;Ape<Zpt;++Ape){const qpt=parseInt(XY.substr(Ape*2,2),16);if(bmt(qpt))return Ape;Hpt[Epe+Ape]=qpt}return Ape}function lE(Hpt,XY,Epe,Zpt){return wmt(Aht(XY,Hpt.length-Epe),Hpt,Epe,Zpt)}function R_(Hpt,XY,Epe,Zpt){return wmt(Smt(XY),Hpt,Epe,Zpt)}function V1(Hpt,XY,Epe,Zpt){return wmt(Dmt(XY),Hpt,Epe,Zpt)}function q1(Hpt,XY,Epe,Zpt){return wmt(Nmt(XY,Hpt.length-Epe),Hpt,Epe,Zpt)}Sl.prototype.write=function(XY,Epe,Zpt,Q_e){if(Epe===void 0)Q_e="utf8",Zpt=this.length,Epe=0;else if(Zpt===void 0&&typeof Epe=="string")Q_e=Epe,Zpt=this.length,Epe=0;else if(isFinite(Epe))Epe=Epe>>>0,isFinite(Zpt)?(Zpt=Zpt>>>0,Q_e===void 0&&(Q_e="utf8")):(Q_e=Zpt,Zpt=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Ppe=this.length-Epe;if((Zpt===void 0||Zpt>Ppe)&&(Zpt=Ppe),XY.length>0&&(Zpt<0||Epe<0)||Epe>this.length)throw new RangeError("Attempt to write outside buffer bounds");Q_e||(Q_e="utf8");let Ape=!1;for(;;)switch(Q_e){case"hex":return H1(this,XY,Epe,Zpt);case"utf8":case"utf-8":return lE(this,XY,Epe,Zpt);case"ascii":case"latin1":case"binary":return R_(this,XY,Epe,Zpt);case"base64":return V1(this,XY,Epe,Zpt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q1(this,XY,Epe,Zpt);default:if(Ape)throw new TypeError("Unknown encoding: "+Q_e);Q_e=(""+Q_e).toLowerCase(),Ape=!0}},Sl.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function n0(Hpt,XY,Epe){return XY===0&&Epe===Hpt.length?ma.fromByteArray(Hpt):ma.fromByteArray(Hpt.slice(XY,Epe))}function aE(Hpt,XY,Epe){Epe=Math.min(Hpt.length,Epe);const Zpt=[];let Q_e=XY;for(;Q_e<Epe;){const Ppe=Hpt[Q_e];let Ape=null,qpt=Ppe>239?4:Ppe>223?3:Ppe>191?2:1;if(Q_e+qpt<=Epe){let Vpt,Tht,ipt,smt;switch(qpt){case 1:Ppe<128&&(Ape=Ppe);break;case 2:Vpt=Hpt[Q_e+1],(Vpt&192)===128&&(smt=(Ppe&31)<<6|Vpt&63,smt>127&&(Ape=smt));break;case 3:Vpt=Hpt[Q_e+1],Tht=Hpt[Q_e+2],(Vpt&192)===128&&(Tht&192)===128&&(smt=(Ppe&15)<<12|(Vpt&63)<<6|Tht&63,smt>2047&&(smt<55296||smt>57343)&&(Ape=smt));break;case 4:Vpt=Hpt[Q_e+1],Tht=Hpt[Q_e+2],ipt=Hpt[Q_e+3],(Vpt&192)===128&&(Tht&192)===128&&(ipt&192)===128&&(smt=(Ppe&15)<<18|(Vpt&63)<<12|(Tht&63)<<6|ipt&63,smt>65535&&smt<1114112&&(Ape=smt))}}Ape===null?(Ape=65533,qpt=1):Ape>65535&&(Ape-=65536,Zpt.push(Ape>>>10&1023|55296),Ape=56320|Ape&1023),Zpt.push(Ape),Q_e+=qpt}return O_(Zpt)}const P_=4096;function O_(Hpt){const XY=Hpt.length;if(XY<=P_)return String.fromCharCode.apply(String,Hpt);let Epe="",Zpt=0;for(;Zpt<XY;)Epe+=String.fromCharCode.apply(String,Hpt.slice(Zpt,Zpt+=P_));return Epe}function sN(Hpt,XY,Epe){let Zpt="";Epe=Math.min(Hpt.length,Epe);for(let Q_e=XY;Q_e<Epe;++Q_e)Zpt+=String.fromCharCode(Hpt[Q_e]&127);return Zpt}function uN(Hpt,XY,Epe){let Zpt="";Epe=Math.min(Hpt.length,Epe);for(let Q_e=XY;Q_e<Epe;++Q_e)Zpt+=String.fromCharCode(Hpt[Q_e]);return Zpt}function lN(Hpt,XY,Epe){const Zpt=Hpt.length;(!XY||XY<0)&&(XY=0),(!Epe||Epe<0||Epe>Zpt)&&(Epe=Zpt);let Q_e="";for(let Ppe=XY;Ppe<Epe;++Ppe)Q_e+=kmt[Hpt[Ppe]];return Q_e}function _F(Hpt,XY,Epe){const Zpt=Hpt.slice(XY,Epe);let Q_e="";for(let Ppe=0;Ppe<Zpt.length-1;Ppe+=2)Q_e+=String.fromCharCode(Zpt[Ppe]+Zpt[Ppe+1]*256);return Q_e}Sl.prototype.slice=function(XY,Epe){const Zpt=this.length;XY=~~XY,Epe=Epe===void 0?Zpt:~~Epe,XY<0?(XY+=Zpt,XY<0&&(XY=0)):XY>Zpt&&(XY=Zpt),Epe<0?(Epe+=Zpt,Epe<0&&(Epe=0)):Epe>Zpt&&(Epe=Zpt),Epe<XY&&(Epe=XY);const Q_e=this.subarray(XY,Epe);return Object.setPrototypeOf(Q_e,Sl.prototype),Q_e};function eee(Hpt,XY,Epe){if(Hpt%1!==0||Hpt<0)throw new RangeError("offset is not uint");if(Hpt+XY>Epe)throw new RangeError("Trying to access beyond buffer length")}Sl.prototype.readUintLE=Sl.prototype.readUIntLE=function(XY,Epe,Zpt){XY=XY>>>0,Epe=Epe>>>0,Zpt||eee(XY,Epe,this.length);let Q_e=this[XY],Ppe=1,Ape=0;for(;++Ape<Epe&&(Ppe*=256);)Q_e+=this[XY+Ape]*Ppe;return Q_e},Sl.prototype.readUintBE=Sl.prototype.readUIntBE=function(XY,Epe,Zpt){XY=XY>>>0,Epe=Epe>>>0,Zpt||eee(XY,Epe,this.length);let Q_e=this[XY+--Epe],Ppe=1;for(;Epe>0&&(Ppe*=256);)Q_e+=this[XY+--Epe]*Ppe;return Q_e},Sl.prototype.readUint8=Sl.prototype.readUInt8=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,1,this.length),this[XY]},Sl.prototype.readUint16LE=Sl.prototype.readUInt16LE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,2,this.length),this[XY]|this[XY+1]<<8},Sl.prototype.readUint16BE=Sl.prototype.readUInt16BE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,2,this.length),this[XY]<<8|this[XY+1]},Sl.prototype.readUint32LE=Sl.prototype.readUInt32LE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),(this[XY]|this[XY+1]<<8|this[XY+2]<<16)+this[XY+3]*16777216},Sl.prototype.readUint32BE=Sl.prototype.readUInt32BE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),this[XY]*16777216+(this[XY+1]<<16|this[XY+2]<<8|this[XY+3])},Sl.prototype.readBigUInt64LE=Cmt(function(XY){XY=XY>>>0,_ht(XY,"offset");const Epe=this[XY],Zpt=this[XY+7];(Epe===void 0||Zpt===void 0)&&Wpt(XY,this.length-8);const Q_e=Epe+this[++XY]*2**8+this[++XY]*2**16+this[++XY]*2**24,Ppe=this[++XY]+this[++XY]*2**8+this[++XY]*2**16+Zpt*2**24;return BigInt(Q_e)+(BigInt(Ppe)<<BigInt(32))}),Sl.prototype.readBigUInt64BE=Cmt(function(XY){XY=XY>>>0,_ht(XY,"offset");const Epe=this[XY],Zpt=this[XY+7];(Epe===void 0||Zpt===void 0)&&Wpt(XY,this.length-8);const Q_e=Epe*2**24+this[++XY]*2**16+this[++XY]*2**8+this[++XY],Ppe=this[++XY]*2**24+this[++XY]*2**16+this[++XY]*2**8+Zpt;return(BigInt(Q_e)<<BigInt(32))+BigInt(Ppe)}),Sl.prototype.readIntLE=function(XY,Epe,Zpt){XY=XY>>>0,Epe=Epe>>>0,Zpt||eee(XY,Epe,this.length);let Q_e=this[XY],Ppe=1,Ape=0;for(;++Ape<Epe&&(Ppe*=256);)Q_e+=this[XY+Ape]*Ppe;return Ppe*=128,Q_e>=Ppe&&(Q_e-=Math.pow(2,8*Epe)),Q_e},Sl.prototype.readIntBE=function(XY,Epe,Zpt){XY=XY>>>0,Epe=Epe>>>0,Zpt||eee(XY,Epe,this.length);let Q_e=Epe,Ppe=1,Ape=this[XY+--Q_e];for(;Q_e>0&&(Ppe*=256);)Ape+=this[XY+--Q_e]*Ppe;return Ppe*=128,Ape>=Ppe&&(Ape-=Math.pow(2,8*Epe)),Ape},Sl.prototype.readInt8=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,1,this.length),this[XY]&128?(255-this[XY]+1)*-1:this[XY]},Sl.prototype.readInt16LE=function(XY,Epe){XY=XY>>>0,Epe||eee(XY,2,this.length);const Zpt=this[XY]|this[XY+1]<<8;return Zpt&32768?Zpt|4294901760:Zpt},Sl.prototype.readInt16BE=function(XY,Epe){XY=XY>>>0,Epe||eee(XY,2,this.length);const Zpt=this[XY+1]|this[XY]<<8;return Zpt&32768?Zpt|4294901760:Zpt},Sl.prototype.readInt32LE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),this[XY]|this[XY+1]<<8|this[XY+2]<<16|this[XY+3]<<24},Sl.prototype.readInt32BE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),this[XY]<<24|this[XY+1]<<16|this[XY+2]<<8|this[XY+3]},Sl.prototype.readBigInt64LE=Cmt(function(XY){XY=XY>>>0,_ht(XY,"offset");const Epe=this[XY],Zpt=this[XY+7];(Epe===void 0||Zpt===void 0)&&Wpt(XY,this.length-8);const Q_e=this[XY+4]+this[XY+5]*2**8+this[XY+6]*2**16+(Zpt<<24);return(BigInt(Q_e)<<BigInt(32))+BigInt(Epe+this[++XY]*2**8+this[++XY]*2**16+this[++XY]*2**24)}),Sl.prototype.readBigInt64BE=Cmt(function(XY){XY=XY>>>0,_ht(XY,"offset");const Epe=this[XY],Zpt=this[XY+7];(Epe===void 0||Zpt===void 0)&&Wpt(XY,this.length-8);const Q_e=(Epe<<24)+this[++XY]*2**16+this[++XY]*2**8+this[++XY];return(BigInt(Q_e)<<BigInt(32))+BigInt(this[++XY]*2**24+this[++XY]*2**16+this[++XY]*2**8+Zpt)}),Sl.prototype.readFloatLE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),ba.read(this,XY,!0,23,4)},Sl.prototype.readFloatBE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),ba.read(this,XY,!1,23,4)},Sl.prototype.readDoubleLE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,8,this.length),ba.read(this,XY,!0,52,8)},Sl.prototype.readDoubleBE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,8,this.length),ba.read(this,XY,!1,52,8)};function JY(Hpt,XY,Epe,Zpt,Q_e,Ppe){if(!Sl.isBuffer(Hpt))throw new TypeError('"buffer" argument must be a Buffer instance');if(XY>Q_e||XY<Ppe)throw new RangeError('"value" argument is out of bounds');if(Epe+Zpt>Hpt.length)throw new RangeError("Index out of range")}Sl.prototype.writeUintLE=Sl.prototype.writeUIntLE=function(XY,Epe,Zpt,Q_e){if(XY=+XY,Epe=Epe>>>0,Zpt=Zpt>>>0,!Q_e){const qpt=Math.pow(2,8*Zpt)-1;JY(this,XY,Epe,Zpt,qpt,0)}let Ppe=1,Ape=0;for(this[Epe]=XY&255;++Ape<Zpt&&(Ppe*=256);)this[Epe+Ape]=XY/Ppe&255;return Epe+Zpt},Sl.prototype.writeUintBE=Sl.prototype.writeUIntBE=function(XY,Epe,Zpt,Q_e){if(XY=+XY,Epe=Epe>>>0,Zpt=Zpt>>>0,!Q_e){const qpt=Math.pow(2,8*Zpt)-1;JY(this,XY,Epe,Zpt,qpt,0)}let Ppe=Zpt-1,Ape=1;for(this[Epe+Ppe]=XY&255;--Ppe>=0&&(Ape*=256);)this[Epe+Ppe]=XY/Ape&255;return Epe+Zpt},Sl.prototype.writeUint8=Sl.prototype.writeUInt8=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,1,255,0),this[Epe]=XY&255,Epe+1},Sl.prototype.writeUint16LE=Sl.prototype.writeUInt16LE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,2,65535,0),this[Epe]=XY&255,this[Epe+1]=XY>>>8,Epe+2},Sl.prototype.writeUint16BE=Sl.prototype.writeUInt16BE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,2,65535,0),this[Epe]=XY>>>8,this[Epe+1]=XY&255,Epe+2},Sl.prototype.writeUint32LE=Sl.prototype.writeUInt32LE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,4,4294967295,0),this[Epe+3]=XY>>>24,this[Epe+2]=XY>>>16,this[Epe+1]=XY>>>8,this[Epe]=XY&255,Epe+4},Sl.prototype.writeUint32BE=Sl.prototype.writeUInt32BE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,4,4294967295,0),this[Epe]=XY>>>24,this[Epe+1]=XY>>>16,this[Epe+2]=XY>>>8,this[Epe+3]=XY&255,Epe+4};function _pe(Hpt,XY,Epe,Zpt,Q_e){Mpe(XY,Zpt,Q_e,Hpt,Epe,7);let Ppe=Number(XY&BigInt(4294967295));Hpt[Epe++]=Ppe,Ppe=Ppe>>8,Hpt[Epe++]=Ppe,Ppe=Ppe>>8,Hpt[Epe++]=Ppe,Ppe=Ppe>>8,Hpt[Epe++]=Ppe;let Ape=Number(XY>>BigInt(32)&BigInt(4294967295));return Hpt[Epe++]=Ape,Ape=Ape>>8,Hpt[Epe++]=Ape,Ape=Ape>>8,Hpt[Epe++]=Ape,Ape=Ape>>8,Hpt[Epe++]=Ape,Epe}function _Q(Hpt,XY,Epe,Zpt,Q_e){Mpe(XY,Zpt,Q_e,Hpt,Epe,7);let Ppe=Number(XY&BigInt(4294967295));Hpt[Epe+7]=Ppe,Ppe=Ppe>>8,Hpt[Epe+6]=Ppe,Ppe=Ppe>>8,Hpt[Epe+5]=Ppe,Ppe=Ppe>>8,Hpt[Epe+4]=Ppe;let Ape=Number(XY>>BigInt(32)&BigInt(4294967295));return Hpt[Epe+3]=Ape,Ape=Ape>>8,Hpt[Epe+2]=Ape,Ape=Ape>>8,Hpt[Epe+1]=Ape,Ape=Ape>>8,Hpt[Epe]=Ape,Epe+8}Sl.prototype.writeBigUInt64LE=Cmt(function(XY,Epe=0){return _pe(this,XY,Epe,BigInt(0),BigInt("0xffffffffffffffff"))}),Sl.prototype.writeBigUInt64BE=Cmt(function(XY,Epe=0){return _Q(this,XY,Epe,BigInt(0),BigInt("0xffffffffffffffff"))}),Sl.prototype.writeIntLE=function(XY,Epe,Zpt,Q_e){if(XY=+XY,Epe=Epe>>>0,!Q_e){const Vpt=Math.pow(2,8*Zpt-1);JY(this,XY,Epe,Zpt,Vpt-1,-Vpt)}let Ppe=0,Ape=1,qpt=0;for(this[Epe]=XY&255;++Ppe<Zpt&&(Ape*=256);)XY<0&&qpt===0&&this[Epe+Ppe-1]!==0&&(qpt=1),this[Epe+Ppe]=(XY/Ape>>0)-qpt&255;return Epe+Zpt},Sl.prototype.writeIntBE=function(XY,Epe,Zpt,Q_e){if(XY=+XY,Epe=Epe>>>0,!Q_e){const Vpt=Math.pow(2,8*Zpt-1);JY(this,XY,Epe,Zpt,Vpt-1,-Vpt)}let Ppe=Zpt-1,Ape=1,qpt=0;for(this[Epe+Ppe]=XY&255;--Ppe>=0&&(Ape*=256);)XY<0&&qpt===0&&this[Epe+Ppe+1]!==0&&(qpt=1),this[Epe+Ppe]=(XY/Ape>>0)-qpt&255;return Epe+Zpt},Sl.prototype.writeInt8=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,1,127,-128),XY<0&&(XY=255+XY+1),this[Epe]=XY&255,Epe+1},Sl.prototype.writeInt16LE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,2,32767,-32768),this[Epe]=XY&255,this[Epe+1]=XY>>>8,Epe+2},Sl.prototype.writeInt16BE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,2,32767,-32768),this[Epe]=XY>>>8,this[Epe+1]=XY&255,Epe+2},Sl.prototype.writeInt32LE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,4,2147483647,-2147483648),this[Epe]=XY&255,this[Epe+1]=XY>>>8,this[Epe+2]=XY>>>16,this[Epe+3]=XY>>>24,Epe+4},Sl.prototype.writeInt32BE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,4,2147483647,-2147483648),XY<0&&(XY=4294967295+XY+1),this[Epe]=XY>>>24,this[Epe+1]=XY>>>16,this[Epe+2]=XY>>>8,this[Epe+3]=XY&255,Epe+4},Sl.prototype.writeBigInt64LE=Cmt(function(XY,Epe=0){return _pe(this,XY,Epe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),Sl.prototype.writeBigInt64BE=Cmt(function(XY,Epe=0){return _Q(this,XY,Epe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Cpe(Hpt,XY,Epe,Zpt,Q_e,Ppe){if(Epe+Zpt>Hpt.length)throw new RangeError("Index out of range");if(Epe<0)throw new RangeError("Index out of range")}function Tpe(Hpt,XY,Epe,Zpt,Q_e){return XY=+XY,Epe=Epe>>>0,Q_e||Cpe(Hpt,XY,Epe,4),ba.write(Hpt,XY,Epe,Zpt,23,4),Epe+4}Sl.prototype.writeFloatLE=function(XY,Epe,Zpt){return Tpe(this,XY,Epe,!0,Zpt)},Sl.prototype.writeFloatBE=function(XY,Epe,Zpt){return Tpe(this,XY,Epe,!1,Zpt)};function opt(Hpt,XY,Epe,Zpt,Q_e){return XY=+XY,Epe=Epe>>>0,Q_e||Cpe(Hpt,XY,Epe,8),ba.write(Hpt,XY,Epe,Zpt,52,8),Epe+8}Sl.prototype.writeDoubleLE=function(XY,Epe,Zpt){return opt(this,XY,Epe,!0,Zpt)},Sl.prototype.writeDoubleBE=function(XY,Epe,Zpt){return opt(this,XY,Epe,!1,Zpt)},Sl.prototype.copy=function(XY,Epe,Zpt,Q_e){if(!Sl.isBuffer(XY))throw new TypeError("argument should be a Buffer");if(Zpt||(Zpt=0),!Q_e&&Q_e!==0&&(Q_e=this.length),Epe>=XY.length&&(Epe=XY.length),Epe||(Epe=0),Q_e>0&&Q_e<Zpt&&(Q_e=Zpt),Q_e===Zpt||XY.length===0||this.length===0)return 0;if(Epe<0)throw new RangeError("targetStart out of bounds");if(Zpt<0||Zpt>=this.length)throw new RangeError("Index out of range");if(Q_e<0)throw new RangeError("sourceEnd out of bounds");Q_e>this.length&&(Q_e=this.length),XY.length-Epe<Q_e-Zpt&&(Q_e=XY.length-Epe+Zpt);const Ppe=Q_e-Zpt;return this===XY&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(Epe,Zpt,Q_e):Uint8Array.prototype.set.call(XY,this.subarray(Zpt,Q_e),Epe),Ppe},Sl.prototype.fill=function(XY,Epe,Zpt,Q_e){if(typeof XY=="string"){if(typeof Epe=="string"?(Q_e=Epe,Epe=0,Zpt=this.length):typeof Zpt=="string"&&(Q_e=Zpt,Zpt=this.length),Q_e!==void 0&&typeof Q_e!="string")throw new TypeError("encoding must be a string");if(typeof Q_e=="string"&&!Sl.isEncoding(Q_e))throw new TypeError("Unknown encoding: "+Q_e);if(XY.length===1){const Ape=XY.charCodeAt(0);(Q_e==="utf8"&&Ape<128||Q_e==="latin1")&&(XY=Ape)}}else typeof XY=="number"?XY=XY&255:typeof XY=="boolean"&&(XY=Number(XY));if(Epe<0||this.length<Epe||this.length<Zpt)throw new RangeError("Out of range index");if(Zpt<=Epe)return this;Epe=Epe>>>0,Zpt=Zpt===void 0?this.length:Zpt>>>0,XY||(XY=0);let Ppe;if(typeof XY=="number")for(Ppe=Epe;Ppe<Zpt;++Ppe)this[Ppe]=XY;else{const Ape=Sl.isBuffer(XY)?XY:Sl.from(XY,Q_e),qpt=Ape.length;if(qpt===0)throw new TypeError('The value "'+XY+'" is invalid for argument "value"');for(Ppe=0;Ppe<Zpt-Epe;++Ppe)this[Ppe+Epe]=Ape[Ppe%qpt]}return this};const Kpt={};function Eht(Hpt,XY,Epe){Kpt[Hpt]=class extends Epe{constructor(){super(),Object.defineProperty(this,"message",{value:XY.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${Hpt}]`,this.stack,delete this.name}get code(){return Hpt}set code(Q_e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Q_e,writable:!0})}toString(){return`${this.name} [${Hpt}]: ${this.message}`}}}Eht("ERR_BUFFER_OUT_OF_BOUNDS",function(Hpt){return Hpt?`${Hpt} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Eht("ERR_INVALID_ARG_TYPE",function(Hpt,XY){return`The "${Hpt}" argument must be of type number. Received type ${typeof XY}`},TypeError),Eht("ERR_OUT_OF_RANGE",function(Hpt,XY,Epe){let Zpt=`The value of "${Hpt}" is out of range.`,Q_e=Epe;return Number.isInteger(Epe)&&Math.abs(Epe)>2**32?Q_e=Jpt(String(Epe)):typeof Epe=="bigint"&&(Q_e=String(Epe),(Epe>BigInt(2)**BigInt(32)||Epe<-(BigInt(2)**BigInt(32)))&&(Q_e=Jpt(Q_e)),Q_e+="n"),Zpt+=` It must be ${XY}. Received ${Q_e}`,Zpt},RangeError);function Jpt(Hpt){let XY="",Epe=Hpt.length;const Zpt=Hpt[0]==="-"?1:0;for(;Epe>=Zpt+4;Epe-=3)XY=`_${Hpt.slice(Epe-3,Epe)}${XY}`;return`${Hpt.slice(0,Epe)}${XY}`}function kpe(Hpt,XY,Epe){_ht(XY,"offset"),(Hpt[XY]===void 0||Hpt[XY+Epe]===void 0)&&Wpt(XY,Hpt.length-(Epe+1))}function Mpe(Hpt,XY,Epe,Zpt,Q_e,Ppe){if(Hpt>Epe||Hpt<XY){const Ape=typeof XY=="bigint"?"n":"";let qpt;throw XY===0||XY===BigInt(0)?qpt=`>= 0${Ape} and < 2${Ape} ** ${(Ppe+1)*8}${Ape}`:qpt=`>= -(2${Ape} ** ${(Ppe+1)*8-1}${Ape}) and < 2 ** ${(Ppe+1)*8-1}${Ape}`,new Kpt.ERR_OUT_OF_RANGE("value",qpt,Hpt)}kpe(Zpt,Q_e,Ppe)}function _ht(Hpt,XY){if(typeof Hpt!="number")throw new Kpt.ERR_INVALID_ARG_TYPE(XY,"number",Hpt)}function Wpt(Hpt,XY,Epe){throw Math.floor(Hpt)!==Hpt?(_ht(Hpt,Epe),new Kpt.ERR_OUT_OF_RANGE("offset","an integer",Hpt)):XY<0?new Kpt.ERR_BUFFER_OUT_OF_BOUNDS:new Kpt.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${XY}`,Hpt)}const rmt=/[^+/0-9A-Za-z-_]/g;function dmt(Hpt){if(Hpt=Hpt.split("=")[0],Hpt=Hpt.trim().replace(rmt,""),Hpt.length<2)return"";for(;Hpt.length%4!==0;)Hpt=Hpt+"=";return Hpt}function Aht(Hpt,XY){XY=XY||1/0;let Epe;const Zpt=Hpt.length;let Q_e=null;const Ppe=[];for(let Ape=0;Ape<Zpt;++Ape){if(Epe=Hpt.charCodeAt(Ape),Epe>55295&&Epe<57344){if(!Q_e){if(Epe>56319){(XY-=3)>-1&&Ppe.push(239,191,189);continue}else if(Ape+1===Zpt){(XY-=3)>-1&&Ppe.push(239,191,189);continue}Q_e=Epe;continue}if(Epe<56320){(XY-=3)>-1&&Ppe.push(239,191,189),Q_e=Epe;continue}Epe=(Q_e-55296<<10|Epe-56320)+65536}else Q_e&&(XY-=3)>-1&&Ppe.push(239,191,189);if(Q_e=null,Epe<128){if((XY-=1)<0)break;Ppe.push(Epe)}else if(Epe<2048){if((XY-=2)<0)break;Ppe.push(Epe>>6|192,Epe&63|128)}else if(Epe<65536){if((XY-=3)<0)break;Ppe.push(Epe>>12|224,Epe>>6&63|128,Epe&63|128)}else if(Epe<1114112){if((XY-=4)<0)break;Ppe.push(Epe>>18|240,Epe>>12&63|128,Epe>>6&63|128,Epe&63|128)}else throw new Error("Invalid code point")}return Ppe}function Smt(Hpt){const XY=[];for(let Epe=0;Epe<Hpt.length;++Epe)XY.push(Hpt.charCodeAt(Epe)&255);return XY}function Nmt(Hpt,XY){let Epe,Zpt,Q_e;const Ppe=[];for(let Ape=0;Ape<Hpt.length&&!((XY-=2)<0);++Ape)Epe=Hpt.charCodeAt(Ape),Zpt=Epe>>8,Q_e=Epe%256,Ppe.push(Q_e),Ppe.push(Zpt);return Ppe}function Dmt(Hpt){return ma.toByteArray(dmt(Hpt))}function wmt(Hpt,XY,Epe,Zpt){let Q_e;for(Q_e=0;Q_e<Zpt&&!(Q_e+Epe>=XY.length||Q_e>=Hpt.length);++Q_e)XY[Q_e+Epe]=Hpt[Q_e];return Q_e}function Xht(Hpt,XY){return Hpt instanceof XY||Hpt!=null&&Hpt.constructor!=null&&Hpt.constructor.name!=null&&Hpt.constructor.name===XY.name}function bmt(Hpt){return Hpt!==Hpt}const kmt=(function(){const Hpt="0123456789abcdef",XY=new Array(256);for(let Epe=0;Epe<16;++Epe){const Zpt=Epe*16;for(let Q_e=0;Q_e<16;++Q_e)XY[Zpt+Q_e]=Hpt[Epe]+Hpt[Q_e]}return XY})();function Cmt(Hpt){return typeof BigInt>"u"?qmt:Hpt}function qmt(){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(ya,ma){var ba=requireBuffer(),va=ba.Buffer;function Ma(wl,Sl){for(var Cl in wl)Sl[Cl]=wl[Cl]}va.from&&va.alloc&&va.allocUnsafe&&va.allocUnsafeSlow?ya.exports=ba:(Ma(ba,ma),ma.Buffer=El);function El(wl,Sl,Cl){return va(wl,Sl,Cl)}El.prototype=Object.create(va.prototype),Ma(va,El),El.from=function(wl,Sl,Cl){if(typeof wl=="number")throw new TypeError("Argument must not be a number");return va(wl,Sl,Cl)},El.alloc=function(wl,Sl,Cl){if(typeof wl!="number")throw new TypeError("Argument must be a number");var Mc=va(wl);return Sl!==void 0?typeof Cl=="string"?Mc.fill(Sl,Cl):Mc.fill(Sl):Mc.fill(0),Mc},El.allocUnsafe=function(wl){if(typeof wl!="number")throw new TypeError("Argument must be a number");return va(wl)},El.allocUnsafeSlow=function(wl){if(typeof wl!="number")throw new TypeError("Argument must be a number");return ba.SlowBuffer(wl)}})(safeBuffer,safeBuffer.exports)),safeBuffer.exports}var define_process_env_default$8={};let DailyRotateFile$1,winston$1;isNodeEnv$1&&(await __vitePreload(()=>import("./index-BfD7lZKA.js").then(ya=>ya.i),__vite__mapDeps([0,1,2,3,4,5])).then(ya=>{DailyRotateFile$1=ya.default}),await __vitePreload(()=>import("./winston-CwDMVyed.js").then(ya=>ya.w),__vite__mapDeps([6,1,2,3,4,5])).then(ya=>{winston$1=ya.default}));let logger$3;function getLogLevel$1(){var ya;return isNodeEnv$1&&define_process_env_default$8&&define_process_env_default$8.DEBUG?"debug":((ya=AppConfig?.logging)===null||ya===void 0?void 0:ya.level)||"info"}function initializeLogger$1(){const ya=getLogLevel$1();if(isNodeEnv$1){const ma=new DailyRotateFile$1({level:ya,filename:"logs/app-%DATE%.log",datePattern:"YYYY-MM-DD",maxSize:"20m",maxFiles:"7d"});logger$3=winston$1.createLogger({level:ya,format:winston$1.format.combine(winston$1.format.timestamp(),winston$1.format.printf(({timestamp:ba,level:va,message:Ma})=>`[${ba}] ${va}: ${Ma}`)),transports:[ma]})}else{let ma=function(ba){return va=>{console.log(`${ba}: ${va}`)}};logger$3={debug:ma("DEBUG"),info:ma("INFO"),warn:ma("WARN"),error:ma("ERROR")}}}initializeLogger$1();const PlannerInstructions$1=`Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.
8135
+ */var hasRequiredBuffer;function requireBuffer(){return hasRequiredBuffer||(hasRequiredBuffer=1,(function(ya){const ma=requireBase64Js(),ba=requireIeee754(),va=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ya.Buffer=Sl,ya.SlowBuffer=mg,ya.INSPECT_MAX_BYTES=50;const Ma=2147483647;ya.kMaxLength=Ma,Sl.TYPED_ARRAY_SUPPORT=El(),!Sl.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 El(){try{const Hpt=new Uint8Array(1),XY={foo:function(){return 42}};return Object.setPrototypeOf(XY,Uint8Array.prototype),Object.setPrototypeOf(Hpt,XY),Hpt.foo()===42}catch{return!1}}Object.defineProperty(Sl.prototype,"parent",{enumerable:!0,get:function(){if(Sl.isBuffer(this))return this.buffer}}),Object.defineProperty(Sl.prototype,"offset",{enumerable:!0,get:function(){if(Sl.isBuffer(this))return this.byteOffset}});function wl(Hpt){if(Hpt>Ma)throw new RangeError('The value "'+Hpt+'" is invalid for option "size"');const XY=new Uint8Array(Hpt);return Object.setPrototypeOf(XY,Sl.prototype),XY}function Sl(Hpt,XY,Epe){if(typeof Hpt=="number"){if(typeof XY=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Zf(Hpt)}return Cl(Hpt,XY,Epe)}Sl.poolSize=8192;function Cl(Hpt,XY,Epe){if(typeof Hpt=="string")return Jf(Hpt,XY);if(ArrayBuffer.isView(Hpt))return hp(Hpt);if(Hpt==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Hpt);if(Xht(Hpt,ArrayBuffer)||Hpt&&Xht(Hpt.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Xht(Hpt,SharedArrayBuffer)||Hpt&&Xht(Hpt.buffer,SharedArrayBuffer)))return dg(Hpt,XY,Epe);if(typeof Hpt=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Zpt=Hpt.valueOf&&Hpt.valueOf();if(Zpt!=null&&Zpt!==Hpt)return Sl.from(Zpt,XY,Epe);const Q_e=pg(Hpt);if(Q_e)return Q_e;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Hpt[Symbol.toPrimitive]=="function")return Sl.from(Hpt[Symbol.toPrimitive]("string"),XY,Epe);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Hpt)}Sl.from=function(Hpt,XY,Epe){return Cl(Hpt,XY,Epe)},Object.setPrototypeOf(Sl.prototype,Uint8Array.prototype),Object.setPrototypeOf(Sl,Uint8Array);function Mc(Hpt){if(typeof Hpt!="number")throw new TypeError('"size" argument must be of type number');if(Hpt<0)throw new RangeError('The value "'+Hpt+'" is invalid for option "size"')}function Ef(Hpt,XY,Epe){return Mc(Hpt),Hpt<=0?wl(Hpt):XY!==void 0?typeof Epe=="string"?wl(Hpt).fill(XY,Epe):wl(Hpt).fill(XY):wl(Hpt)}Sl.alloc=function(Hpt,XY,Epe){return Ef(Hpt,XY,Epe)};function Zf(Hpt){return Mc(Hpt),wl(Hpt<0?0:hg(Hpt)|0)}Sl.allocUnsafe=function(Hpt){return Zf(Hpt)},Sl.allocUnsafeSlow=function(Hpt){return Zf(Hpt)};function Jf(Hpt,XY){if((typeof XY!="string"||XY==="")&&(XY="utf8"),!Sl.isEncoding(XY))throw new TypeError("Unknown encoding: "+XY);const Epe=gg(Hpt,XY)|0;let Zpt=wl(Epe);const Q_e=Zpt.write(Hpt,XY);return Q_e!==Epe&&(Zpt=Zpt.slice(0,Q_e)),Zpt}function dp(Hpt){const XY=Hpt.length<0?0:hg(Hpt.length)|0,Epe=wl(XY);for(let Zpt=0;Zpt<XY;Zpt+=1)Epe[Zpt]=Hpt[Zpt]&255;return Epe}function hp(Hpt){if(Xht(Hpt,Uint8Array)){const XY=new Uint8Array(Hpt);return dg(XY.buffer,XY.byteOffset,XY.byteLength)}return dp(Hpt)}function dg(Hpt,XY,Epe){if(XY<0||Hpt.byteLength<XY)throw new RangeError('"offset" is outside of buffer bounds');if(Hpt.byteLength<XY+(Epe||0))throw new RangeError('"length" is outside of buffer bounds');let Zpt;return XY===void 0&&Epe===void 0?Zpt=new Uint8Array(Hpt):Epe===void 0?Zpt=new Uint8Array(Hpt,XY):Zpt=new Uint8Array(Hpt,XY,Epe),Object.setPrototypeOf(Zpt,Sl.prototype),Zpt}function pg(Hpt){if(Sl.isBuffer(Hpt)){const XY=hg(Hpt.length)|0,Epe=wl(XY);return Epe.length===0||Hpt.copy(Epe,0,0,XY),Epe}if(Hpt.length!==void 0)return typeof Hpt.length!="number"||bmt(Hpt.length)?wl(0):dp(Hpt);if(Hpt.type==="Buffer"&&Array.isArray(Hpt.data))return dp(Hpt.data)}function hg(Hpt){if(Hpt>=Ma)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ma.toString(16)+" bytes");return Hpt|0}function mg(Hpt){return+Hpt!=Hpt&&(Hpt=0),Sl.alloc(+Hpt)}Sl.isBuffer=function(XY){return XY!=null&&XY._isBuffer===!0&&XY!==Sl.prototype},Sl.compare=function(XY,Epe){if(Xht(XY,Uint8Array)&&(XY=Sl.from(XY,XY.offset,XY.byteLength)),Xht(Epe,Uint8Array)&&(Epe=Sl.from(Epe,Epe.offset,Epe.byteLength)),!Sl.isBuffer(XY)||!Sl.isBuffer(Epe))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(XY===Epe)return 0;let Zpt=XY.length,Q_e=Epe.length;for(let Ppe=0,Ape=Math.min(Zpt,Q_e);Ppe<Ape;++Ppe)if(XY[Ppe]!==Epe[Ppe]){Zpt=XY[Ppe],Q_e=Epe[Ppe];break}return Zpt<Q_e?-1:Q_e<Zpt?1:0},Sl.isEncoding=function(XY){switch(String(XY).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}},Sl.concat=function(XY,Epe){if(!Array.isArray(XY))throw new TypeError('"list" argument must be an Array of Buffers');if(XY.length===0)return Sl.alloc(0);let Zpt;if(Epe===void 0)for(Epe=0,Zpt=0;Zpt<XY.length;++Zpt)Epe+=XY[Zpt].length;const Q_e=Sl.allocUnsafe(Epe);let Ppe=0;for(Zpt=0;Zpt<XY.length;++Zpt){let Ape=XY[Zpt];if(Xht(Ape,Uint8Array))Ppe+Ape.length>Q_e.length?(Sl.isBuffer(Ape)||(Ape=Sl.from(Ape)),Ape.copy(Q_e,Ppe)):Uint8Array.prototype.set.call(Q_e,Ape,Ppe);else if(Sl.isBuffer(Ape))Ape.copy(Q_e,Ppe);else throw new TypeError('"list" argument must be an Array of Buffers');Ppe+=Ape.length}return Q_e};function gg(Hpt,XY){if(Sl.isBuffer(Hpt))return Hpt.length;if(ArrayBuffer.isView(Hpt)||Xht(Hpt,ArrayBuffer))return Hpt.byteLength;if(typeof Hpt!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Hpt);const Epe=Hpt.length,Zpt=arguments.length>2&&arguments[2]===!0;if(!Zpt&&Epe===0)return 0;let Q_e=!1;for(;;)switch(XY){case"ascii":case"latin1":case"binary":return Epe;case"utf8":case"utf-8":return Aht(Hpt).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Epe*2;case"hex":return Epe>>>1;case"base64":return Dmt(Hpt).length;default:if(Q_e)return Zpt?-1:Aht(Hpt).length;XY=(""+XY).toLowerCase(),Q_e=!0}}Sl.byteLength=gg;function sy(Hpt,XY,Epe){let Zpt=!1;if((XY===void 0||XY<0)&&(XY=0),XY>this.length||((Epe===void 0||Epe>this.length)&&(Epe=this.length),Epe<=0)||(Epe>>>=0,XY>>>=0,Epe<=XY))return"";for(Hpt||(Hpt="utf8");;)switch(Hpt){case"hex":return lN(this,XY,Epe);case"utf8":case"utf-8":return aE(this,XY,Epe);case"ascii":return sN(this,XY,Epe);case"latin1":case"binary":return uN(this,XY,Epe);case"base64":return n0(this,XY,Epe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _F(this,XY,Epe);default:if(Zpt)throw new TypeError("Unknown encoding: "+Hpt);Hpt=(Hpt+"").toLowerCase(),Zpt=!0}}Sl.prototype._isBuffer=!0;function ly(Hpt,XY,Epe){const Zpt=Hpt[XY];Hpt[XY]=Hpt[Epe],Hpt[Epe]=Zpt}Sl.prototype.swap16=function(){const XY=this.length;if(XY%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Epe=0;Epe<XY;Epe+=2)ly(this,Epe,Epe+1);return this},Sl.prototype.swap32=function(){const XY=this.length;if(XY%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let Epe=0;Epe<XY;Epe+=4)ly(this,Epe,Epe+3),ly(this,Epe+1,Epe+2);return this},Sl.prototype.swap64=function(){const XY=this.length;if(XY%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let Epe=0;Epe<XY;Epe+=8)ly(this,Epe,Epe+7),ly(this,Epe+1,Epe+6),ly(this,Epe+2,Epe+5),ly(this,Epe+3,Epe+4);return this},Sl.prototype.toString=function(){const XY=this.length;return XY===0?"":arguments.length===0?aE(this,0,XY):sy.apply(this,arguments)},Sl.prototype.toLocaleString=Sl.prototype.toString,Sl.prototype.equals=function(XY){if(!Sl.isBuffer(XY))throw new TypeError("Argument must be a Buffer");return this===XY?!0:Sl.compare(this,XY)===0},Sl.prototype.inspect=function(){let XY="";const Epe=ya.INSPECT_MAX_BYTES;return XY=this.toString("hex",0,Epe).replace(/(.{2})/g,"$1 ").trim(),this.length>Epe&&(XY+=" ... "),"<Buffer "+XY+">"},va&&(Sl.prototype[va]=Sl.prototype.inspect),Sl.prototype.compare=function(XY,Epe,Zpt,Q_e,Ppe){if(Xht(XY,Uint8Array)&&(XY=Sl.from(XY,XY.offset,XY.byteLength)),!Sl.isBuffer(XY))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof XY);if(Epe===void 0&&(Epe=0),Zpt===void 0&&(Zpt=XY?XY.length:0),Q_e===void 0&&(Q_e=0),Ppe===void 0&&(Ppe=this.length),Epe<0||Zpt>XY.length||Q_e<0||Ppe>this.length)throw new RangeError("out of range index");if(Q_e>=Ppe&&Epe>=Zpt)return 0;if(Q_e>=Ppe)return-1;if(Epe>=Zpt)return 1;if(Epe>>>=0,Zpt>>>=0,Q_e>>>=0,Ppe>>>=0,this===XY)return 0;let Ape=Ppe-Q_e,qpt=Zpt-Epe;const Vpt=Math.min(Ape,qpt),Tht=this.slice(Q_e,Ppe),ipt=XY.slice(Epe,Zpt);for(let smt=0;smt<Vpt;++smt)if(Tht[smt]!==ipt[smt]){Ape=Tht[smt],qpt=ipt[smt];break}return Ape<qpt?-1:qpt<Ape?1:0};function cy(Hpt,XY,Epe,Zpt,Q_e){if(Hpt.length===0)return-1;if(typeof Epe=="string"?(Zpt=Epe,Epe=0):Epe>2147483647?Epe=2147483647:Epe<-2147483648&&(Epe=-2147483648),Epe=+Epe,bmt(Epe)&&(Epe=Q_e?0:Hpt.length-1),Epe<0&&(Epe=Hpt.length+Epe),Epe>=Hpt.length){if(Q_e)return-1;Epe=Hpt.length-1}else if(Epe<0)if(Q_e)Epe=0;else return-1;if(typeof XY=="string"&&(XY=Sl.from(XY,Zpt)),Sl.isBuffer(XY))return XY.length===0?-1:uy(Hpt,XY,Epe,Zpt,Q_e);if(typeof XY=="number")return XY=XY&255,typeof Uint8Array.prototype.indexOf=="function"?Q_e?Uint8Array.prototype.indexOf.call(Hpt,XY,Epe):Uint8Array.prototype.lastIndexOf.call(Hpt,XY,Epe):uy(Hpt,[XY],Epe,Zpt,Q_e);throw new TypeError("val must be string, number or Buffer")}function uy(Hpt,XY,Epe,Zpt,Q_e){let Ppe=1,Ape=Hpt.length,qpt=XY.length;if(Zpt!==void 0&&(Zpt=String(Zpt).toLowerCase(),Zpt==="ucs2"||Zpt==="ucs-2"||Zpt==="utf16le"||Zpt==="utf-16le")){if(Hpt.length<2||XY.length<2)return-1;Ppe=2,Ape/=2,qpt/=2,Epe/=2}function Vpt(ipt,smt){return Ppe===1?ipt[smt]:ipt.readUInt16BE(smt*Ppe)}let Tht;if(Q_e){let ipt=-1;for(Tht=Epe;Tht<Ape;Tht++)if(Vpt(Hpt,Tht)===Vpt(XY,ipt===-1?0:Tht-ipt)){if(ipt===-1&&(ipt=Tht),Tht-ipt+1===qpt)return ipt*Ppe}else ipt!==-1&&(Tht-=Tht-ipt),ipt=-1}else for(Epe+qpt>Ape&&(Epe=Ape-qpt),Tht=Epe;Tht>=0;Tht--){let ipt=!0;for(let smt=0;smt<qpt;smt++)if(Vpt(Hpt,Tht+smt)!==Vpt(XY,smt)){ipt=!1;break}if(ipt)return Tht}return-1}Sl.prototype.includes=function(XY,Epe,Zpt){return this.indexOf(XY,Epe,Zpt)!==-1},Sl.prototype.indexOf=function(XY,Epe,Zpt){return cy(this,XY,Epe,Zpt,!0)},Sl.prototype.lastIndexOf=function(XY,Epe,Zpt){return cy(this,XY,Epe,Zpt,!1)};function H1(Hpt,XY,Epe,Zpt){Epe=Number(Epe)||0;const Q_e=Hpt.length-Epe;Zpt?(Zpt=Number(Zpt),Zpt>Q_e&&(Zpt=Q_e)):Zpt=Q_e;const Ppe=XY.length;Zpt>Ppe/2&&(Zpt=Ppe/2);let Ape;for(Ape=0;Ape<Zpt;++Ape){const qpt=parseInt(XY.substr(Ape*2,2),16);if(bmt(qpt))return Ape;Hpt[Epe+Ape]=qpt}return Ape}function lE(Hpt,XY,Epe,Zpt){return wmt(Aht(XY,Hpt.length-Epe),Hpt,Epe,Zpt)}function R_(Hpt,XY,Epe,Zpt){return wmt(Smt(XY),Hpt,Epe,Zpt)}function V1(Hpt,XY,Epe,Zpt){return wmt(Dmt(XY),Hpt,Epe,Zpt)}function q1(Hpt,XY,Epe,Zpt){return wmt(Nmt(XY,Hpt.length-Epe),Hpt,Epe,Zpt)}Sl.prototype.write=function(XY,Epe,Zpt,Q_e){if(Epe===void 0)Q_e="utf8",Zpt=this.length,Epe=0;else if(Zpt===void 0&&typeof Epe=="string")Q_e=Epe,Zpt=this.length,Epe=0;else if(isFinite(Epe))Epe=Epe>>>0,isFinite(Zpt)?(Zpt=Zpt>>>0,Q_e===void 0&&(Q_e="utf8")):(Q_e=Zpt,Zpt=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Ppe=this.length-Epe;if((Zpt===void 0||Zpt>Ppe)&&(Zpt=Ppe),XY.length>0&&(Zpt<0||Epe<0)||Epe>this.length)throw new RangeError("Attempt to write outside buffer bounds");Q_e||(Q_e="utf8");let Ape=!1;for(;;)switch(Q_e){case"hex":return H1(this,XY,Epe,Zpt);case"utf8":case"utf-8":return lE(this,XY,Epe,Zpt);case"ascii":case"latin1":case"binary":return R_(this,XY,Epe,Zpt);case"base64":return V1(this,XY,Epe,Zpt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q1(this,XY,Epe,Zpt);default:if(Ape)throw new TypeError("Unknown encoding: "+Q_e);Q_e=(""+Q_e).toLowerCase(),Ape=!0}},Sl.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function n0(Hpt,XY,Epe){return XY===0&&Epe===Hpt.length?ma.fromByteArray(Hpt):ma.fromByteArray(Hpt.slice(XY,Epe))}function aE(Hpt,XY,Epe){Epe=Math.min(Hpt.length,Epe);const Zpt=[];let Q_e=XY;for(;Q_e<Epe;){const Ppe=Hpt[Q_e];let Ape=null,qpt=Ppe>239?4:Ppe>223?3:Ppe>191?2:1;if(Q_e+qpt<=Epe){let Vpt,Tht,ipt,smt;switch(qpt){case 1:Ppe<128&&(Ape=Ppe);break;case 2:Vpt=Hpt[Q_e+1],(Vpt&192)===128&&(smt=(Ppe&31)<<6|Vpt&63,smt>127&&(Ape=smt));break;case 3:Vpt=Hpt[Q_e+1],Tht=Hpt[Q_e+2],(Vpt&192)===128&&(Tht&192)===128&&(smt=(Ppe&15)<<12|(Vpt&63)<<6|Tht&63,smt>2047&&(smt<55296||smt>57343)&&(Ape=smt));break;case 4:Vpt=Hpt[Q_e+1],Tht=Hpt[Q_e+2],ipt=Hpt[Q_e+3],(Vpt&192)===128&&(Tht&192)===128&&(ipt&192)===128&&(smt=(Ppe&15)<<18|(Vpt&63)<<12|(Tht&63)<<6|ipt&63,smt>65535&&smt<1114112&&(Ape=smt))}}Ape===null?(Ape=65533,qpt=1):Ape>65535&&(Ape-=65536,Zpt.push(Ape>>>10&1023|55296),Ape=56320|Ape&1023),Zpt.push(Ape),Q_e+=qpt}return O_(Zpt)}const P_=4096;function O_(Hpt){const XY=Hpt.length;if(XY<=P_)return String.fromCharCode.apply(String,Hpt);let Epe="",Zpt=0;for(;Zpt<XY;)Epe+=String.fromCharCode.apply(String,Hpt.slice(Zpt,Zpt+=P_));return Epe}function sN(Hpt,XY,Epe){let Zpt="";Epe=Math.min(Hpt.length,Epe);for(let Q_e=XY;Q_e<Epe;++Q_e)Zpt+=String.fromCharCode(Hpt[Q_e]&127);return Zpt}function uN(Hpt,XY,Epe){let Zpt="";Epe=Math.min(Hpt.length,Epe);for(let Q_e=XY;Q_e<Epe;++Q_e)Zpt+=String.fromCharCode(Hpt[Q_e]);return Zpt}function lN(Hpt,XY,Epe){const Zpt=Hpt.length;(!XY||XY<0)&&(XY=0),(!Epe||Epe<0||Epe>Zpt)&&(Epe=Zpt);let Q_e="";for(let Ppe=XY;Ppe<Epe;++Ppe)Q_e+=kmt[Hpt[Ppe]];return Q_e}function _F(Hpt,XY,Epe){const Zpt=Hpt.slice(XY,Epe);let Q_e="";for(let Ppe=0;Ppe<Zpt.length-1;Ppe+=2)Q_e+=String.fromCharCode(Zpt[Ppe]+Zpt[Ppe+1]*256);return Q_e}Sl.prototype.slice=function(XY,Epe){const Zpt=this.length;XY=~~XY,Epe=Epe===void 0?Zpt:~~Epe,XY<0?(XY+=Zpt,XY<0&&(XY=0)):XY>Zpt&&(XY=Zpt),Epe<0?(Epe+=Zpt,Epe<0&&(Epe=0)):Epe>Zpt&&(Epe=Zpt),Epe<XY&&(Epe=XY);const Q_e=this.subarray(XY,Epe);return Object.setPrototypeOf(Q_e,Sl.prototype),Q_e};function eee(Hpt,XY,Epe){if(Hpt%1!==0||Hpt<0)throw new RangeError("offset is not uint");if(Hpt+XY>Epe)throw new RangeError("Trying to access beyond buffer length")}Sl.prototype.readUintLE=Sl.prototype.readUIntLE=function(XY,Epe,Zpt){XY=XY>>>0,Epe=Epe>>>0,Zpt||eee(XY,Epe,this.length);let Q_e=this[XY],Ppe=1,Ape=0;for(;++Ape<Epe&&(Ppe*=256);)Q_e+=this[XY+Ape]*Ppe;return Q_e},Sl.prototype.readUintBE=Sl.prototype.readUIntBE=function(XY,Epe,Zpt){XY=XY>>>0,Epe=Epe>>>0,Zpt||eee(XY,Epe,this.length);let Q_e=this[XY+--Epe],Ppe=1;for(;Epe>0&&(Ppe*=256);)Q_e+=this[XY+--Epe]*Ppe;return Q_e},Sl.prototype.readUint8=Sl.prototype.readUInt8=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,1,this.length),this[XY]},Sl.prototype.readUint16LE=Sl.prototype.readUInt16LE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,2,this.length),this[XY]|this[XY+1]<<8},Sl.prototype.readUint16BE=Sl.prototype.readUInt16BE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,2,this.length),this[XY]<<8|this[XY+1]},Sl.prototype.readUint32LE=Sl.prototype.readUInt32LE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),(this[XY]|this[XY+1]<<8|this[XY+2]<<16)+this[XY+3]*16777216},Sl.prototype.readUint32BE=Sl.prototype.readUInt32BE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),this[XY]*16777216+(this[XY+1]<<16|this[XY+2]<<8|this[XY+3])},Sl.prototype.readBigUInt64LE=Cmt(function(XY){XY=XY>>>0,_ht(XY,"offset");const Epe=this[XY],Zpt=this[XY+7];(Epe===void 0||Zpt===void 0)&&Wpt(XY,this.length-8);const Q_e=Epe+this[++XY]*2**8+this[++XY]*2**16+this[++XY]*2**24,Ppe=this[++XY]+this[++XY]*2**8+this[++XY]*2**16+Zpt*2**24;return BigInt(Q_e)+(BigInt(Ppe)<<BigInt(32))}),Sl.prototype.readBigUInt64BE=Cmt(function(XY){XY=XY>>>0,_ht(XY,"offset");const Epe=this[XY],Zpt=this[XY+7];(Epe===void 0||Zpt===void 0)&&Wpt(XY,this.length-8);const Q_e=Epe*2**24+this[++XY]*2**16+this[++XY]*2**8+this[++XY],Ppe=this[++XY]*2**24+this[++XY]*2**16+this[++XY]*2**8+Zpt;return(BigInt(Q_e)<<BigInt(32))+BigInt(Ppe)}),Sl.prototype.readIntLE=function(XY,Epe,Zpt){XY=XY>>>0,Epe=Epe>>>0,Zpt||eee(XY,Epe,this.length);let Q_e=this[XY],Ppe=1,Ape=0;for(;++Ape<Epe&&(Ppe*=256);)Q_e+=this[XY+Ape]*Ppe;return Ppe*=128,Q_e>=Ppe&&(Q_e-=Math.pow(2,8*Epe)),Q_e},Sl.prototype.readIntBE=function(XY,Epe,Zpt){XY=XY>>>0,Epe=Epe>>>0,Zpt||eee(XY,Epe,this.length);let Q_e=Epe,Ppe=1,Ape=this[XY+--Q_e];for(;Q_e>0&&(Ppe*=256);)Ape+=this[XY+--Q_e]*Ppe;return Ppe*=128,Ape>=Ppe&&(Ape-=Math.pow(2,8*Epe)),Ape},Sl.prototype.readInt8=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,1,this.length),this[XY]&128?(255-this[XY]+1)*-1:this[XY]},Sl.prototype.readInt16LE=function(XY,Epe){XY=XY>>>0,Epe||eee(XY,2,this.length);const Zpt=this[XY]|this[XY+1]<<8;return Zpt&32768?Zpt|4294901760:Zpt},Sl.prototype.readInt16BE=function(XY,Epe){XY=XY>>>0,Epe||eee(XY,2,this.length);const Zpt=this[XY+1]|this[XY]<<8;return Zpt&32768?Zpt|4294901760:Zpt},Sl.prototype.readInt32LE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),this[XY]|this[XY+1]<<8|this[XY+2]<<16|this[XY+3]<<24},Sl.prototype.readInt32BE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),this[XY]<<24|this[XY+1]<<16|this[XY+2]<<8|this[XY+3]},Sl.prototype.readBigInt64LE=Cmt(function(XY){XY=XY>>>0,_ht(XY,"offset");const Epe=this[XY],Zpt=this[XY+7];(Epe===void 0||Zpt===void 0)&&Wpt(XY,this.length-8);const Q_e=this[XY+4]+this[XY+5]*2**8+this[XY+6]*2**16+(Zpt<<24);return(BigInt(Q_e)<<BigInt(32))+BigInt(Epe+this[++XY]*2**8+this[++XY]*2**16+this[++XY]*2**24)}),Sl.prototype.readBigInt64BE=Cmt(function(XY){XY=XY>>>0,_ht(XY,"offset");const Epe=this[XY],Zpt=this[XY+7];(Epe===void 0||Zpt===void 0)&&Wpt(XY,this.length-8);const Q_e=(Epe<<24)+this[++XY]*2**16+this[++XY]*2**8+this[++XY];return(BigInt(Q_e)<<BigInt(32))+BigInt(this[++XY]*2**24+this[++XY]*2**16+this[++XY]*2**8+Zpt)}),Sl.prototype.readFloatLE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),ba.read(this,XY,!0,23,4)},Sl.prototype.readFloatBE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,4,this.length),ba.read(this,XY,!1,23,4)},Sl.prototype.readDoubleLE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,8,this.length),ba.read(this,XY,!0,52,8)},Sl.prototype.readDoubleBE=function(XY,Epe){return XY=XY>>>0,Epe||eee(XY,8,this.length),ba.read(this,XY,!1,52,8)};function JY(Hpt,XY,Epe,Zpt,Q_e,Ppe){if(!Sl.isBuffer(Hpt))throw new TypeError('"buffer" argument must be a Buffer instance');if(XY>Q_e||XY<Ppe)throw new RangeError('"value" argument is out of bounds');if(Epe+Zpt>Hpt.length)throw new RangeError("Index out of range")}Sl.prototype.writeUintLE=Sl.prototype.writeUIntLE=function(XY,Epe,Zpt,Q_e){if(XY=+XY,Epe=Epe>>>0,Zpt=Zpt>>>0,!Q_e){const qpt=Math.pow(2,8*Zpt)-1;JY(this,XY,Epe,Zpt,qpt,0)}let Ppe=1,Ape=0;for(this[Epe]=XY&255;++Ape<Zpt&&(Ppe*=256);)this[Epe+Ape]=XY/Ppe&255;return Epe+Zpt},Sl.prototype.writeUintBE=Sl.prototype.writeUIntBE=function(XY,Epe,Zpt,Q_e){if(XY=+XY,Epe=Epe>>>0,Zpt=Zpt>>>0,!Q_e){const qpt=Math.pow(2,8*Zpt)-1;JY(this,XY,Epe,Zpt,qpt,0)}let Ppe=Zpt-1,Ape=1;for(this[Epe+Ppe]=XY&255;--Ppe>=0&&(Ape*=256);)this[Epe+Ppe]=XY/Ape&255;return Epe+Zpt},Sl.prototype.writeUint8=Sl.prototype.writeUInt8=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,1,255,0),this[Epe]=XY&255,Epe+1},Sl.prototype.writeUint16LE=Sl.prototype.writeUInt16LE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,2,65535,0),this[Epe]=XY&255,this[Epe+1]=XY>>>8,Epe+2},Sl.prototype.writeUint16BE=Sl.prototype.writeUInt16BE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,2,65535,0),this[Epe]=XY>>>8,this[Epe+1]=XY&255,Epe+2},Sl.prototype.writeUint32LE=Sl.prototype.writeUInt32LE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,4,4294967295,0),this[Epe+3]=XY>>>24,this[Epe+2]=XY>>>16,this[Epe+1]=XY>>>8,this[Epe]=XY&255,Epe+4},Sl.prototype.writeUint32BE=Sl.prototype.writeUInt32BE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,4,4294967295,0),this[Epe]=XY>>>24,this[Epe+1]=XY>>>16,this[Epe+2]=XY>>>8,this[Epe+3]=XY&255,Epe+4};function _pe(Hpt,XY,Epe,Zpt,Q_e){Mpe(XY,Zpt,Q_e,Hpt,Epe,7);let Ppe=Number(XY&BigInt(4294967295));Hpt[Epe++]=Ppe,Ppe=Ppe>>8,Hpt[Epe++]=Ppe,Ppe=Ppe>>8,Hpt[Epe++]=Ppe,Ppe=Ppe>>8,Hpt[Epe++]=Ppe;let Ape=Number(XY>>BigInt(32)&BigInt(4294967295));return Hpt[Epe++]=Ape,Ape=Ape>>8,Hpt[Epe++]=Ape,Ape=Ape>>8,Hpt[Epe++]=Ape,Ape=Ape>>8,Hpt[Epe++]=Ape,Epe}function _Q(Hpt,XY,Epe,Zpt,Q_e){Mpe(XY,Zpt,Q_e,Hpt,Epe,7);let Ppe=Number(XY&BigInt(4294967295));Hpt[Epe+7]=Ppe,Ppe=Ppe>>8,Hpt[Epe+6]=Ppe,Ppe=Ppe>>8,Hpt[Epe+5]=Ppe,Ppe=Ppe>>8,Hpt[Epe+4]=Ppe;let Ape=Number(XY>>BigInt(32)&BigInt(4294967295));return Hpt[Epe+3]=Ape,Ape=Ape>>8,Hpt[Epe+2]=Ape,Ape=Ape>>8,Hpt[Epe+1]=Ape,Ape=Ape>>8,Hpt[Epe]=Ape,Epe+8}Sl.prototype.writeBigUInt64LE=Cmt(function(XY,Epe=0){return _pe(this,XY,Epe,BigInt(0),BigInt("0xffffffffffffffff"))}),Sl.prototype.writeBigUInt64BE=Cmt(function(XY,Epe=0){return _Q(this,XY,Epe,BigInt(0),BigInt("0xffffffffffffffff"))}),Sl.prototype.writeIntLE=function(XY,Epe,Zpt,Q_e){if(XY=+XY,Epe=Epe>>>0,!Q_e){const Vpt=Math.pow(2,8*Zpt-1);JY(this,XY,Epe,Zpt,Vpt-1,-Vpt)}let Ppe=0,Ape=1,qpt=0;for(this[Epe]=XY&255;++Ppe<Zpt&&(Ape*=256);)XY<0&&qpt===0&&this[Epe+Ppe-1]!==0&&(qpt=1),this[Epe+Ppe]=(XY/Ape>>0)-qpt&255;return Epe+Zpt},Sl.prototype.writeIntBE=function(XY,Epe,Zpt,Q_e){if(XY=+XY,Epe=Epe>>>0,!Q_e){const Vpt=Math.pow(2,8*Zpt-1);JY(this,XY,Epe,Zpt,Vpt-1,-Vpt)}let Ppe=Zpt-1,Ape=1,qpt=0;for(this[Epe+Ppe]=XY&255;--Ppe>=0&&(Ape*=256);)XY<0&&qpt===0&&this[Epe+Ppe+1]!==0&&(qpt=1),this[Epe+Ppe]=(XY/Ape>>0)-qpt&255;return Epe+Zpt},Sl.prototype.writeInt8=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,1,127,-128),XY<0&&(XY=255+XY+1),this[Epe]=XY&255,Epe+1},Sl.prototype.writeInt16LE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,2,32767,-32768),this[Epe]=XY&255,this[Epe+1]=XY>>>8,Epe+2},Sl.prototype.writeInt16BE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,2,32767,-32768),this[Epe]=XY>>>8,this[Epe+1]=XY&255,Epe+2},Sl.prototype.writeInt32LE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,4,2147483647,-2147483648),this[Epe]=XY&255,this[Epe+1]=XY>>>8,this[Epe+2]=XY>>>16,this[Epe+3]=XY>>>24,Epe+4},Sl.prototype.writeInt32BE=function(XY,Epe,Zpt){return XY=+XY,Epe=Epe>>>0,Zpt||JY(this,XY,Epe,4,2147483647,-2147483648),XY<0&&(XY=4294967295+XY+1),this[Epe]=XY>>>24,this[Epe+1]=XY>>>16,this[Epe+2]=XY>>>8,this[Epe+3]=XY&255,Epe+4},Sl.prototype.writeBigInt64LE=Cmt(function(XY,Epe=0){return _pe(this,XY,Epe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),Sl.prototype.writeBigInt64BE=Cmt(function(XY,Epe=0){return _Q(this,XY,Epe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Cpe(Hpt,XY,Epe,Zpt,Q_e,Ppe){if(Epe+Zpt>Hpt.length)throw new RangeError("Index out of range");if(Epe<0)throw new RangeError("Index out of range")}function Tpe(Hpt,XY,Epe,Zpt,Q_e){return XY=+XY,Epe=Epe>>>0,Q_e||Cpe(Hpt,XY,Epe,4),ba.write(Hpt,XY,Epe,Zpt,23,4),Epe+4}Sl.prototype.writeFloatLE=function(XY,Epe,Zpt){return Tpe(this,XY,Epe,!0,Zpt)},Sl.prototype.writeFloatBE=function(XY,Epe,Zpt){return Tpe(this,XY,Epe,!1,Zpt)};function opt(Hpt,XY,Epe,Zpt,Q_e){return XY=+XY,Epe=Epe>>>0,Q_e||Cpe(Hpt,XY,Epe,8),ba.write(Hpt,XY,Epe,Zpt,52,8),Epe+8}Sl.prototype.writeDoubleLE=function(XY,Epe,Zpt){return opt(this,XY,Epe,!0,Zpt)},Sl.prototype.writeDoubleBE=function(XY,Epe,Zpt){return opt(this,XY,Epe,!1,Zpt)},Sl.prototype.copy=function(XY,Epe,Zpt,Q_e){if(!Sl.isBuffer(XY))throw new TypeError("argument should be a Buffer");if(Zpt||(Zpt=0),!Q_e&&Q_e!==0&&(Q_e=this.length),Epe>=XY.length&&(Epe=XY.length),Epe||(Epe=0),Q_e>0&&Q_e<Zpt&&(Q_e=Zpt),Q_e===Zpt||XY.length===0||this.length===0)return 0;if(Epe<0)throw new RangeError("targetStart out of bounds");if(Zpt<0||Zpt>=this.length)throw new RangeError("Index out of range");if(Q_e<0)throw new RangeError("sourceEnd out of bounds");Q_e>this.length&&(Q_e=this.length),XY.length-Epe<Q_e-Zpt&&(Q_e=XY.length-Epe+Zpt);const Ppe=Q_e-Zpt;return this===XY&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(Epe,Zpt,Q_e):Uint8Array.prototype.set.call(XY,this.subarray(Zpt,Q_e),Epe),Ppe},Sl.prototype.fill=function(XY,Epe,Zpt,Q_e){if(typeof XY=="string"){if(typeof Epe=="string"?(Q_e=Epe,Epe=0,Zpt=this.length):typeof Zpt=="string"&&(Q_e=Zpt,Zpt=this.length),Q_e!==void 0&&typeof Q_e!="string")throw new TypeError("encoding must be a string");if(typeof Q_e=="string"&&!Sl.isEncoding(Q_e))throw new TypeError("Unknown encoding: "+Q_e);if(XY.length===1){const Ape=XY.charCodeAt(0);(Q_e==="utf8"&&Ape<128||Q_e==="latin1")&&(XY=Ape)}}else typeof XY=="number"?XY=XY&255:typeof XY=="boolean"&&(XY=Number(XY));if(Epe<0||this.length<Epe||this.length<Zpt)throw new RangeError("Out of range index");if(Zpt<=Epe)return this;Epe=Epe>>>0,Zpt=Zpt===void 0?this.length:Zpt>>>0,XY||(XY=0);let Ppe;if(typeof XY=="number")for(Ppe=Epe;Ppe<Zpt;++Ppe)this[Ppe]=XY;else{const Ape=Sl.isBuffer(XY)?XY:Sl.from(XY,Q_e),qpt=Ape.length;if(qpt===0)throw new TypeError('The value "'+XY+'" is invalid for argument "value"');for(Ppe=0;Ppe<Zpt-Epe;++Ppe)this[Ppe+Epe]=Ape[Ppe%qpt]}return this};const Kpt={};function Eht(Hpt,XY,Epe){Kpt[Hpt]=class extends Epe{constructor(){super(),Object.defineProperty(this,"message",{value:XY.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${Hpt}]`,this.stack,delete this.name}get code(){return Hpt}set code(Q_e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Q_e,writable:!0})}toString(){return`${this.name} [${Hpt}]: ${this.message}`}}}Eht("ERR_BUFFER_OUT_OF_BOUNDS",function(Hpt){return Hpt?`${Hpt} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Eht("ERR_INVALID_ARG_TYPE",function(Hpt,XY){return`The "${Hpt}" argument must be of type number. Received type ${typeof XY}`},TypeError),Eht("ERR_OUT_OF_RANGE",function(Hpt,XY,Epe){let Zpt=`The value of "${Hpt}" is out of range.`,Q_e=Epe;return Number.isInteger(Epe)&&Math.abs(Epe)>2**32?Q_e=Jpt(String(Epe)):typeof Epe=="bigint"&&(Q_e=String(Epe),(Epe>BigInt(2)**BigInt(32)||Epe<-(BigInt(2)**BigInt(32)))&&(Q_e=Jpt(Q_e)),Q_e+="n"),Zpt+=` It must be ${XY}. Received ${Q_e}`,Zpt},RangeError);function Jpt(Hpt){let XY="",Epe=Hpt.length;const Zpt=Hpt[0]==="-"?1:0;for(;Epe>=Zpt+4;Epe-=3)XY=`_${Hpt.slice(Epe-3,Epe)}${XY}`;return`${Hpt.slice(0,Epe)}${XY}`}function kpe(Hpt,XY,Epe){_ht(XY,"offset"),(Hpt[XY]===void 0||Hpt[XY+Epe]===void 0)&&Wpt(XY,Hpt.length-(Epe+1))}function Mpe(Hpt,XY,Epe,Zpt,Q_e,Ppe){if(Hpt>Epe||Hpt<XY){const Ape=typeof XY=="bigint"?"n":"";let qpt;throw XY===0||XY===BigInt(0)?qpt=`>= 0${Ape} and < 2${Ape} ** ${(Ppe+1)*8}${Ape}`:qpt=`>= -(2${Ape} ** ${(Ppe+1)*8-1}${Ape}) and < 2 ** ${(Ppe+1)*8-1}${Ape}`,new Kpt.ERR_OUT_OF_RANGE("value",qpt,Hpt)}kpe(Zpt,Q_e,Ppe)}function _ht(Hpt,XY){if(typeof Hpt!="number")throw new Kpt.ERR_INVALID_ARG_TYPE(XY,"number",Hpt)}function Wpt(Hpt,XY,Epe){throw Math.floor(Hpt)!==Hpt?(_ht(Hpt,Epe),new Kpt.ERR_OUT_OF_RANGE("offset","an integer",Hpt)):XY<0?new Kpt.ERR_BUFFER_OUT_OF_BOUNDS:new Kpt.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${XY}`,Hpt)}const rmt=/[^+/0-9A-Za-z-_]/g;function dmt(Hpt){if(Hpt=Hpt.split("=")[0],Hpt=Hpt.trim().replace(rmt,""),Hpt.length<2)return"";for(;Hpt.length%4!==0;)Hpt=Hpt+"=";return Hpt}function Aht(Hpt,XY){XY=XY||1/0;let Epe;const Zpt=Hpt.length;let Q_e=null;const Ppe=[];for(let Ape=0;Ape<Zpt;++Ape){if(Epe=Hpt.charCodeAt(Ape),Epe>55295&&Epe<57344){if(!Q_e){if(Epe>56319){(XY-=3)>-1&&Ppe.push(239,191,189);continue}else if(Ape+1===Zpt){(XY-=3)>-1&&Ppe.push(239,191,189);continue}Q_e=Epe;continue}if(Epe<56320){(XY-=3)>-1&&Ppe.push(239,191,189),Q_e=Epe;continue}Epe=(Q_e-55296<<10|Epe-56320)+65536}else Q_e&&(XY-=3)>-1&&Ppe.push(239,191,189);if(Q_e=null,Epe<128){if((XY-=1)<0)break;Ppe.push(Epe)}else if(Epe<2048){if((XY-=2)<0)break;Ppe.push(Epe>>6|192,Epe&63|128)}else if(Epe<65536){if((XY-=3)<0)break;Ppe.push(Epe>>12|224,Epe>>6&63|128,Epe&63|128)}else if(Epe<1114112){if((XY-=4)<0)break;Ppe.push(Epe>>18|240,Epe>>12&63|128,Epe>>6&63|128,Epe&63|128)}else throw new Error("Invalid code point")}return Ppe}function Smt(Hpt){const XY=[];for(let Epe=0;Epe<Hpt.length;++Epe)XY.push(Hpt.charCodeAt(Epe)&255);return XY}function Nmt(Hpt,XY){let Epe,Zpt,Q_e;const Ppe=[];for(let Ape=0;Ape<Hpt.length&&!((XY-=2)<0);++Ape)Epe=Hpt.charCodeAt(Ape),Zpt=Epe>>8,Q_e=Epe%256,Ppe.push(Q_e),Ppe.push(Zpt);return Ppe}function Dmt(Hpt){return ma.toByteArray(dmt(Hpt))}function wmt(Hpt,XY,Epe,Zpt){let Q_e;for(Q_e=0;Q_e<Zpt&&!(Q_e+Epe>=XY.length||Q_e>=Hpt.length);++Q_e)XY[Q_e+Epe]=Hpt[Q_e];return Q_e}function Xht(Hpt,XY){return Hpt instanceof XY||Hpt!=null&&Hpt.constructor!=null&&Hpt.constructor.name!=null&&Hpt.constructor.name===XY.name}function bmt(Hpt){return Hpt!==Hpt}const kmt=(function(){const Hpt="0123456789abcdef",XY=new Array(256);for(let Epe=0;Epe<16;++Epe){const Zpt=Epe*16;for(let Q_e=0;Q_e<16;++Q_e)XY[Zpt+Q_e]=Hpt[Epe]+Hpt[Q_e]}return XY})();function Cmt(Hpt){return typeof BigInt>"u"?qmt:Hpt}function qmt(){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(ya,ma){var ba=requireBuffer(),va=ba.Buffer;function Ma(wl,Sl){for(var Cl in wl)Sl[Cl]=wl[Cl]}va.from&&va.alloc&&va.allocUnsafe&&va.allocUnsafeSlow?ya.exports=ba:(Ma(ba,ma),ma.Buffer=El);function El(wl,Sl,Cl){return va(wl,Sl,Cl)}El.prototype=Object.create(va.prototype),Ma(va,El),El.from=function(wl,Sl,Cl){if(typeof wl=="number")throw new TypeError("Argument must not be a number");return va(wl,Sl,Cl)},El.alloc=function(wl,Sl,Cl){if(typeof wl!="number")throw new TypeError("Argument must be a number");var Mc=va(wl);return Sl!==void 0?typeof Cl=="string"?Mc.fill(Sl,Cl):Mc.fill(Sl):Mc.fill(0),Mc},El.allocUnsafe=function(wl){if(typeof wl!="number")throw new TypeError("Argument must be a number");return va(wl)},El.allocUnsafeSlow=function(wl){if(typeof wl!="number")throw new TypeError("Argument must be a number");return ba.SlowBuffer(wl)}})(safeBuffer,safeBuffer.exports)),safeBuffer.exports}var define_process_env_default$8={};let DailyRotateFile$1,winston$1;isNodeEnv$1&&(await __vitePreload(()=>import("./index-DI1IW8Iz.js").then(ya=>ya.i),__vite__mapDeps([0,1,2,3,4,5])).then(ya=>{DailyRotateFile$1=ya.default}),await __vitePreload(()=>import("./winston-DnWXlpHO.js").then(ya=>ya.w),__vite__mapDeps([6,1,2,3,4,5])).then(ya=>{winston$1=ya.default}));let logger$3;function getLogLevel$1(){var ya;return isNodeEnv$1&&define_process_env_default$8&&define_process_env_default$8.DEBUG?"debug":((ya=AppConfig?.logging)===null||ya===void 0?void 0:ya.level)||"info"}function initializeLogger$1(){const ya=getLogLevel$1();if(isNodeEnv$1){const ma=new DailyRotateFile$1({level:ya,filename:"logs/app-%DATE%.log",datePattern:"YYYY-MM-DD",maxSize:"20m",maxFiles:"7d"});logger$3=winston$1.createLogger({level:ya,format:winston$1.format.combine(winston$1.format.timestamp(),winston$1.format.printf(({timestamp:ba,level:va,message:Ma})=>`[${ba}] ${va}: ${Ma}`)),transports:[ma]})}else{let ma=function(ba){return va=>{console.log(`${ba}: ${va}`)}};logger$3={debug:ma("DEBUG"),info:ma("INFO"),warn:ma("WARN"),error:ma("ERROR")}}}initializeLogger$1();const PlannerInstructions$1=`Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.
8136
8136
  The model of a business application consists of entity definitions and workflows defined in "modules".
8137
8137
  A module is be encoded in a syntax inspired by JavaScript and JSON. Example of a simple module follows:
8138
8138
 
@@ -16234,7 +16234,7 @@ workflow TempEvent { ${ya} }`);if(isWorkflowDefinition(ba.defs[0]))ma=ba.defs[0]
16234
16234
  `));const va=((ba=ya.diagnostics)!==null&&ba!==void 0?ba:[]).filter(wl=>wl.severity===1),Ma=new Set,El=new Set;if(va.length>0){for(const wl of va)if(!Ma.has(wl.range.start.line)&&!El.has(wl.range.start.character)){const Sl=ya.textDocument.getText(wl.range),Cl=`(${wl.range.start.line+1}:${wl.range.start.character+1}) unexpected token(s) '${Sl}'`,Mc=ma[wl.range.start.line];Mc.indexOf(ErrorIndicator)>0?ma[wl.range.start.line]=`${Mc}, ${Cl}`:ma[wl.range.start.line]=`${Mc} ${ErrorIndicator} ${Cl}`,Ma.add(wl.range.start.line),El.add(wl.range.start.character)}return trimErrorLines(ma)}else return}function trimErrorLines(ya){let ma=0;for(let va=0;va<ya.length;++va)if(ya[va].indexOf(ErrorIndicator)>0){ma=va;break}let ba=ma;for(let va=ma+1;va<ya.length;++va)if(ya[va].indexOf(ErrorIndicator)>0){ba=va;break}return ma>0&&--ma,ba!=ya.length&&++ba,ya.slice(ma,ba)}function trimErrorMessage(ya){if(ya.indexOf("Expecting:")>=0){const ma=ya.indexOf("but found:");if(ma>0)return`Expecting a valid token sequence, ${ya.substring(ma)}`}return ya}function maybeRaiseParserErrors(ya){const ma=ya.textDocument.getText().split(`
16235
16235
  `);let ba=!1;const va=new Set;ya.parseResult.lexerErrors.length>0&&(ya.parseResult.lexerErrors.forEach(El=>{if(!va.has(El.line)){const wl=trimErrorMessage(El.message),Sl=`${ErrorIndicator} (${El.line}:${El.column}) ${wl}`;ma[El.line-1]=`${ma[El.line-1]} ${Sl}`,va.add(El.line)}}),ba=!0),ya.parseResult.parserErrors.length>0&&(ya.parseResult.parserErrors.forEach(El=>{const wl=trimErrorMessage(El.message);if(El.token.startLine&&El.token.endLine){if(!va.has(El.token.startLine)){const Sl=`${ErrorIndicator} (${El.token.startLine}:${El.token.startColumn}) ${wl}`;ma[El.token.endLine-1]=`${ma[El.token.endLine-1]} ${Sl}`,ma.join(`
16236
16236
  `),va.add(El.token.startLine)}}else ma.push(`ERROR: ${wl}`)}),ba=!0);const Ma=maybeGetValidationErrors(ya,ma);if(ba||Ma!==void 0)throw new Error(ma.join(`
16237
- `))}async function introspect(ya){let ma=[];const ba=await parse$2$1(`module Temp workflow Test {${ya}}`);if(maybeRaiseParserErrors(ba),isWorkflowDefinition(ba.parseResult.value.defs[0]))ma=introspectHelper(ba.parseResult.value.defs[0].statements);else throw new Error("Failed to parse statements");return ma}function introspectHelper(ya){const ma=[];return ya.forEach(ba=>{ma.push(introspectStatement(ba))}),ma}function introspectStatement(ya){const ma=introspectPattern(ya.pattern),ba=firstAliasSpec(ya);ba&&(ba.alias?ma.setAlias(ba.alias):ba.aliases.length>0&&ma.setAliases(ba.aliases));const va=firstCatchSpec(ya);return va&&va.handlers.forEach(Ma=>{ma.addHandler(Ma.except,introspectStatement(Ma.stmt))}),ma}function introspectPattern(ya){let ma;if(ya.crudMap?(isQueryPattern(ya)?ma=introspectQueryPattern(ya.crudMap):ma=introspectCreatePattern(ya.crudMap),ya.crudMap.into&&(ma=introspectInto(ya.crudMap.into,ma))):ya.expr?ma=introspectExpression(ya.expr):ya.forEach?ma=introspectForEach(ya.forEach):ya.if?ma=introspectIf(ya.if):ya.delete?ma=introspectDelete(ya.delete):ya.return?ma=introspectReturn(ya.return):ya.fullTextSearch&&(ma=introspectFullTextSearch(ya.fullTextSearch)),ma)return ma;throw new Error(`Failed to introspect pattern: ${ya}`)}function introspectInto(ya,ma){return ya.entries.forEach(ba=>{ba.attribute&&ma.addInto(ba.alias,ba.attribute)}),ma}function isQueryPattern(ya){if(ya.crudMap){const ma=ya.crudMap,ba=ma.name.endsWith(QuerySuffix);return!ba&&ma.body?ma.body.attributes.length>0&&ma.body.attributes.every(va=>va.name.endsWith(QuerySuffix)):ba}return!1}function introspectGroup(ya){return new GroupExpressionPattern(introspectExpression(ya.ge))}function introspectNegExpr(ya){return new NegExpressionPattern(introspectExpression(ya.ne))}function introspectNotExpr(ya){return new NotExpressionPattern(introspectExpression(ya.ne))}function introspectPrimExpr(ya){if(isLiteral(ya))return introspectLiteral(ya);if(isGroup(ya))return introspectGroup(ya);if(isNegExpr(ya))return introspectNegExpr(ya);if(isNotExpr(ya))return introspectNotExpr(ya);throw new Error(`Not a PrimExpr - ${ya}`)}function introspectExpression(ya){if(ya!==void 0){if(isPrimExpr(ya))return introspectPrimExpr(ya);if(ya.$cstNode)return new ExpressionPattern(ya.$cstNode.text)}throw new Error("Failed to introspect expression - "+ya)}function introspectQueryPattern(ya){var ma;if(ya){const ba=new CrudPattern(ya.name);return(ma=ya.body)===null||ma===void 0||ma.attributes.forEach(va=>{ba.addAttribute(va.name,introspectExpression(va.value),va.op)}),ya.relationships.forEach(va=>{ba.addRelationship(va.name,introspectPattern(va.pattern))}),ba.isCreate=!1,ba.isQueryUpdate=!1,ba.isQuery=!0,ba}throw new Error(`Failed to introspect query-pattern: ${ya}`)}function introspectCreatePattern(ya){var ma;if(ya){const ba=new CrudPattern(ya.name);ba.isCreate=!1,ba.isQuery=!1;let va=!1;return(ma=ya.body)===null||ma===void 0||ma.attributes.forEach(Ma=>{!va&&Ma.name.endsWith(QuerySuffix)&&(va=!0),ba.addAttribute(Ma.name,introspectExpression(Ma.value),Ma.op)}),ya.relationships.forEach(Ma=>{ba.addRelationship(Ma.name,introspectPattern(Ma.pattern))}),ba.isQueryUpdate=va,va?(ba.isCreate=!1,ba.isQuery=!1):(ba.isCreate=!0,ba.isQuery=!1),ba}throw new Error(`Failed to introspect create-pattern: ${ya}`)}function asFnCallPattern(ya){return new FunctionCallPattern(ya.name,ya.args.map(ma=>isExpr(ma)?introspectExpression(ma):introspectLiteral(ma)))}function introspectLiteral(ya){if(ya.id)return LiteralPattern.Id(ya.id);if(ya.num)return LiteralPattern.Number(ya.num);if(ya.ref)return LiteralPattern.Reference(ya.ref);if(ya.str!==void 0)return LiteralPattern.String(ya.str);if(ya.bool)return LiteralPattern.Boolean(ya.bool=="true");if(ya.fnCall)return asFnCallPattern(ya.fnCall);if(ya.asyncFnCall)return asFnCallPattern(ya.asyncFnCall.fnCall).asAsync();if(ya.array)return LiteralPattern.Array(ya.array.vals.map(ma=>introspectStatement(ma)));if(ya.map)return introspectMapLiteral(ya.map);throw new Error(`Invalid literal - ${ya}`)}function introspectMapLiteral(ya){const ma=new Map;return ya.entries.forEach(ba=>{ma.set(ba.key,introspectExpression(ba.value))}),LiteralPattern.Map(ma)}function introspectForEach(ya){const ma=new ForEachPattern(ya.var,introspectPattern(ya.src));return ya.statements.forEach(ba=>{ma.addPattern(introspectStatement(ba))}),ma}function introspectIf(ya){const ma=new IfPattern(introspectExpression(ya.cond));return ya.statements.forEach(ba=>{ma.addPattern(introspectStatement(ba))}),ya.else&&ma.setElse(ya.else.statements.map(ba=>introspectStatement(ba))),ma}function introspectDelete(ya){return new DeletePattern(introspectPattern(ya.pattern))}function introspectReturn(ya){return new ReturnPattern(introspectPattern(ya.pattern))}function introspectFullTextSearch(ya){let ma;return ya.options&&(ma=introspectMapLiteral(ya.options)),new FullTextSearchPattern(ya.name,introspectLiteral(ya.query),ma)}var util$1$1;(function(ya){ya.assertEqual=Ma=>{};function ma(Ma){}ya.assertIs=ma;function ba(Ma){throw new Error}ya.assertNever=ba,ya.arrayToEnum=Ma=>{const El={};for(const wl of Ma)El[wl]=wl;return El},ya.getValidEnumValues=Ma=>{const El=ya.objectKeys(Ma).filter(Sl=>typeof Ma[Ma[Sl]]!="number"),wl={};for(const Sl of El)wl[Sl]=Ma[Sl];return ya.objectValues(wl)},ya.objectValues=Ma=>ya.objectKeys(Ma).map(function(El){return Ma[El]}),ya.objectKeys=typeof Object.keys=="function"?Ma=>Object.keys(Ma):Ma=>{const El=[];for(const wl in Ma)Object.prototype.hasOwnProperty.call(Ma,wl)&&El.push(wl);return El},ya.find=(Ma,El)=>{for(const wl of Ma)if(El(wl))return wl},ya.isInteger=typeof Number.isInteger=="function"?Ma=>Number.isInteger(Ma):Ma=>typeof Ma=="number"&&Number.isFinite(Ma)&&Math.floor(Ma)===Ma;function va(Ma,El=" | "){return Ma.map(wl=>typeof wl=="string"?`'${wl}'`:wl).join(El)}ya.joinValues=va,ya.jsonStringifyReplacer=(Ma,El)=>typeof El=="bigint"?El.toString():El})(util$1$1||(util$1$1={}));var objectUtil;(function(ya){ya.mergeShapes=(ma,ba)=>({...ma,...ba})})(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=ya=>{switch(typeof ya){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return Number.isNaN(ya)?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(ya)?ZodParsedType.array:ya===null?ZodParsedType.null:ya.then&&typeof ya.then=="function"&&ya.catch&&typeof ya.catch=="function"?ZodParsedType.promise:typeof Map<"u"&&ya instanceof Map?ZodParsedType.map:typeof Set<"u"&&ya instanceof Set?ZodParsedType.set:typeof Date<"u"&&ya 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(ma){super(),this.issues=[],this.addIssue=va=>{this.issues=[...this.issues,va]},this.addIssues=(va=[])=>{this.issues=[...this.issues,...va]};const ba=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,ba):this.__proto__=ba,this.name="ZodError",this.issues=ma}format(ma){const ba=ma||function(El){return El.message},va={_errors:[]},Ma=El=>{for(const wl of El.issues)if(wl.code==="invalid_union")wl.unionErrors.map(Ma);else if(wl.code==="invalid_return_type")Ma(wl.returnTypeError);else if(wl.code==="invalid_arguments")Ma(wl.argumentsError);else if(wl.path.length===0)va._errors.push(ba(wl));else{let Sl=va,Cl=0;for(;Cl<wl.path.length;){const Mc=wl.path[Cl];Cl===wl.path.length-1?(Sl[Mc]=Sl[Mc]||{_errors:[]},Sl[Mc]._errors.push(ba(wl))):Sl[Mc]=Sl[Mc]||{_errors:[]},Sl=Sl[Mc],Cl++}}};return Ma(this),va}static assert(ma){if(!(ma instanceof ZodError))throw new Error(`Not a ZodError: ${ma}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,util$1$1.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(ma=ba=>ba.message){const ba={},va=[];for(const Ma of this.issues)if(Ma.path.length>0){const El=Ma.path[0];ba[El]=ba[El]||[],ba[El].push(ma(Ma))}else va.push(ma(Ma));return{formErrors:va,fieldErrors:ba}}get formErrors(){return this.flatten()}}ZodError.create=ya=>new ZodError(ya);const errorMap=(ya,ma)=>{let ba;switch(ya.code){case ZodIssueCode.invalid_type:ya.received===ZodParsedType.undefined?ba="Required":ba=`Expected ${ya.expected}, received ${ya.received}`;break;case ZodIssueCode.invalid_literal:ba=`Invalid literal value, expected ${JSON.stringify(ya.expected,util$1$1.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:ba=`Unrecognized key(s) in object: ${util$1$1.joinValues(ya.keys,", ")}`;break;case ZodIssueCode.invalid_union:ba="Invalid input";break;case ZodIssueCode.invalid_union_discriminator:ba=`Invalid discriminator value. Expected ${util$1$1.joinValues(ya.options)}`;break;case ZodIssueCode.invalid_enum_value:ba=`Invalid enum value. Expected ${util$1$1.joinValues(ya.options)}, received '${ya.received}'`;break;case ZodIssueCode.invalid_arguments:ba="Invalid function arguments";break;case ZodIssueCode.invalid_return_type:ba="Invalid function return type";break;case ZodIssueCode.invalid_date:ba="Invalid date";break;case ZodIssueCode.invalid_string:typeof ya.validation=="object"?"includes"in ya.validation?(ba=`Invalid input: must include "${ya.validation.includes}"`,typeof ya.validation.position=="number"&&(ba=`${ba} at one or more positions greater than or equal to ${ya.validation.position}`)):"startsWith"in ya.validation?ba=`Invalid input: must start with "${ya.validation.startsWith}"`:"endsWith"in ya.validation?ba=`Invalid input: must end with "${ya.validation.endsWith}"`:util$1$1.assertNever(ya.validation):ya.validation!=="regex"?ba=`Invalid ${ya.validation}`:ba="Invalid";break;case ZodIssueCode.too_small:ya.type==="array"?ba=`Array must contain ${ya.exact?"exactly":ya.inclusive?"at least":"more than"} ${ya.minimum} element(s)`:ya.type==="string"?ba=`String must contain ${ya.exact?"exactly":ya.inclusive?"at least":"over"} ${ya.minimum} character(s)`:ya.type==="number"?ba=`Number must be ${ya.exact?"exactly equal to ":ya.inclusive?"greater than or equal to ":"greater than "}${ya.minimum}`:ya.type==="bigint"?ba=`Number must be ${ya.exact?"exactly equal to ":ya.inclusive?"greater than or equal to ":"greater than "}${ya.minimum}`:ya.type==="date"?ba=`Date must be ${ya.exact?"exactly equal to ":ya.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(ya.minimum))}`:ba="Invalid input";break;case ZodIssueCode.too_big:ya.type==="array"?ba=`Array must contain ${ya.exact?"exactly":ya.inclusive?"at most":"less than"} ${ya.maximum} element(s)`:ya.type==="string"?ba=`String must contain ${ya.exact?"exactly":ya.inclusive?"at most":"under"} ${ya.maximum} character(s)`:ya.type==="number"?ba=`Number must be ${ya.exact?"exactly":ya.inclusive?"less than or equal to":"less than"} ${ya.maximum}`:ya.type==="bigint"?ba=`BigInt must be ${ya.exact?"exactly":ya.inclusive?"less than or equal to":"less than"} ${ya.maximum}`:ya.type==="date"?ba=`Date must be ${ya.exact?"exactly":ya.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(ya.maximum))}`:ba="Invalid input";break;case ZodIssueCode.custom:ba="Invalid input";break;case ZodIssueCode.invalid_intersection_types:ba="Intersection results could not be merged";break;case ZodIssueCode.not_multiple_of:ba=`Number must be a multiple of ${ya.multipleOf}`;break;case ZodIssueCode.not_finite:ba="Number must be finite";break;default:ba=ma.defaultError,util$1$1.assertNever(ya)}return{message:ba}};let overrideErrorMap=errorMap;function getErrorMap(){return overrideErrorMap}const makeIssue=ya=>{const{data:ma,path:ba,errorMaps:va,issueData:Ma}=ya,El=[...ba,...Ma.path||[]],wl={...Ma,path:El};if(Ma.message!==void 0)return{...Ma,path:El,message:Ma.message};let Sl="";const Cl=va.filter(Mc=>!!Mc).slice().reverse();for(const Mc of Cl)Sl=Mc(wl,{data:ma,defaultError:Sl}).message;return{...Ma,path:El,message:Sl}};function addIssueToContext(ya,ma){const ba=getErrorMap(),va=makeIssue({issueData:ma,data:ya.data,path:ya.path,errorMaps:[ya.common.contextualErrorMap,ya.schemaErrorMap,ba,ba===errorMap?void 0:errorMap].filter(Ma=>!!Ma)});ya.common.issues.push(va)}class ParseStatus{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(ma,ba){const va=[];for(const Ma of ba){if(Ma.status==="aborted")return INVALID;Ma.status==="dirty"&&ma.dirty(),va.push(Ma.value)}return{status:ma.value,value:va}}static async mergeObjectAsync(ma,ba){const va=[];for(const Ma of ba){const El=await Ma.key,wl=await Ma.value;va.push({key:El,value:wl})}return ParseStatus.mergeObjectSync(ma,va)}static mergeObjectSync(ma,ba){const va={};for(const Ma of ba){const{key:El,value:wl}=Ma;if(El.status==="aborted"||wl.status==="aborted")return INVALID;El.status==="dirty"&&ma.dirty(),wl.status==="dirty"&&ma.dirty(),El.value!=="__proto__"&&(typeof wl.value<"u"||Ma.alwaysSet)&&(va[El.value]=wl.value)}return{status:ma.value,value:va}}}const INVALID=Object.freeze({status:"aborted"}),DIRTY=ya=>({status:"dirty",value:ya}),OK=ya=>({status:"valid",value:ya}),isAborted=ya=>ya.status==="aborted",isDirty=ya=>ya.status==="dirty",isValid=ya=>ya.status==="valid",isAsync=ya=>typeof Promise<"u"&&ya instanceof Promise;var errorUtil;(function(ya){ya.errToObj=ma=>typeof ma=="string"?{message:ma}:ma||{},ya.toString=ma=>typeof ma=="string"?ma:ma?.message})(errorUtil||(errorUtil={}));class ParseInputLazyPath{constructor(ma,ba,va,Ma){this._cachedPath=[],this.parent=ma,this.data=ba,this._path=va,this._key=Ma}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=(ya,ma)=>{if(isValid(ma))return{success:!0,data:ma.value};if(!ya.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const ba=new ZodError(ya.common.issues);return this._error=ba,this._error}}};function processCreateParams(ya){if(!ya)return{};const{errorMap:ma,invalid_type_error:ba,required_error:va,description:Ma}=ya;if(ma&&(ba||va))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return ma?{errorMap:ma,description:Ma}:{errorMap:(El,wl)=>{const{message:Sl}=ya;return El.code==="invalid_enum_value"?{message:Sl??wl.defaultError}:typeof wl.data>"u"?{message:Sl??va??wl.defaultError}:El.code!=="invalid_type"?{message:wl.defaultError}:{message:Sl??ba??wl.defaultError}},description:Ma}}class ZodType{get description(){return this._def.description}_getType(ma){return getParsedType(ma.data)}_getOrReturnCtx(ma,ba){return ba||{common:ma.parent.common,data:ma.data,parsedType:getParsedType(ma.data),schemaErrorMap:this._def.errorMap,path:ma.path,parent:ma.parent}}_processInputParams(ma){return{status:new ParseStatus,ctx:{common:ma.parent.common,data:ma.data,parsedType:getParsedType(ma.data),schemaErrorMap:this._def.errorMap,path:ma.path,parent:ma.parent}}}_parseSync(ma){const ba=this._parse(ma);if(isAsync(ba))throw new Error("Synchronous parse encountered promise.");return ba}_parseAsync(ma){const ba=this._parse(ma);return Promise.resolve(ba)}parse(ma,ba){const va=this.safeParse(ma,ba);if(va.success)return va.data;throw va.error}safeParse(ma,ba){const va={common:{issues:[],async:ba?.async??!1,contextualErrorMap:ba?.errorMap},path:ba?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:ma,parsedType:getParsedType(ma)},Ma=this._parseSync({data:ma,path:va.path,parent:va});return handleResult(va,Ma)}"~validate"(ma){const ba={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:ma,parsedType:getParsedType(ma)};if(!this["~standard"].async)try{const va=this._parseSync({data:ma,path:[],parent:ba});return isValid(va)?{value:va.value}:{issues:ba.common.issues}}catch(va){va?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),ba.common={issues:[],async:!0}}return this._parseAsync({data:ma,path:[],parent:ba}).then(va=>isValid(va)?{value:va.value}:{issues:ba.common.issues})}async parseAsync(ma,ba){const va=await this.safeParseAsync(ma,ba);if(va.success)return va.data;throw va.error}async safeParseAsync(ma,ba){const va={common:{issues:[],contextualErrorMap:ba?.errorMap,async:!0},path:ba?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:ma,parsedType:getParsedType(ma)},Ma=this._parse({data:ma,path:va.path,parent:va}),El=await(isAsync(Ma)?Ma:Promise.resolve(Ma));return handleResult(va,El)}refine(ma,ba){const va=Ma=>typeof ba=="string"||typeof ba>"u"?{message:ba}:typeof ba=="function"?ba(Ma):ba;return this._refinement((Ma,El)=>{const wl=ma(Ma),Sl=()=>El.addIssue({code:ZodIssueCode.custom,...va(Ma)});return typeof Promise<"u"&&wl instanceof Promise?wl.then(Cl=>Cl?!0:(Sl(),!1)):wl?!0:(Sl(),!1)})}refinement(ma,ba){return this._refinement((va,Ma)=>ma(va)?!0:(Ma.addIssue(typeof ba=="function"?ba(va,Ma):ba),!1))}_refinement(ma){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement:ma}})}superRefine(ma){return this._refinement(ma)}constructor(ma){this.spa=this.safeParseAsync,this._def=ma,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:ba=>this["~validate"](ba)}}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(ma){return ZodUnion.create([this,ma],this._def)}and(ma){return ZodIntersection.create(this,ma,this._def)}transform(ma){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:ma}})}default(ma){const ba=typeof ma=="function"?ma:()=>ma;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:ba,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(ma){const ba=typeof ma=="function"?ma:()=>ma;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:ba,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(ma){const ba=this.constructor;return new ba({...this._def,description:ma})}pipe(ma){return ZodPipeline.create(this,ma)}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(ya){let ma="[0-5]\\d";ya.precision?ma=`${ma}\\.\\d{${ya.precision}}`:ya.precision==null&&(ma=`${ma}(\\.\\d+)?`);const ba=ya.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${ma})${ba}`}function timeRegex(ya){return new RegExp(`^${timeRegexSource(ya)}$`)}function datetimeRegex(ya){let ma=`${dateRegexSource}T${timeRegexSource(ya)}`;const ba=[];return ba.push(ya.local?"Z?":"Z"),ya.offset&&ba.push("([+-]\\d{2}:?\\d{2})"),ma=`${ma}(${ba.join("|")})`,new RegExp(`^${ma}$`)}function isValidIP(ya,ma){return!!((ma==="v4"||!ma)&&ipv4Regex.test(ya)||(ma==="v6"||!ma)&&ipv6Regex.test(ya))}function isValidJWT(ya,ma){if(!jwtRegex.test(ya))return!1;try{const[ba]=ya.split(".");if(!ba)return!1;const va=ba.replace(/-/g,"+").replace(/_/g,"/").padEnd(ba.length+(4-ba.length%4)%4,"="),Ma=JSON.parse(atob(va));return!(typeof Ma!="object"||Ma===null||"typ"in Ma&&Ma?.typ!=="JWT"||!Ma.alg||ma&&Ma.alg!==ma)}catch{return!1}}function isValidCidr(ya,ma){return!!((ma==="v4"||!ma)&&ipv4CidrRegex.test(ya)||(ma==="v6"||!ma)&&ipv6CidrRegex.test(ya))}class ZodString extends ZodType{_parse(ma){if(this._def.coerce&&(ma.data=String(ma.data)),this._getType(ma)!==ZodParsedType.string){const Ma=this._getOrReturnCtx(ma);return addIssueToContext(Ma,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:Ma.parsedType}),INVALID}const ba=new ParseStatus;let va;for(const Ma of this._def.checks)if(Ma.kind==="min")ma.data.length<Ma.value&&(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.too_small,minimum:Ma.value,type:"string",inclusive:!0,exact:!1,message:Ma.message}),ba.dirty());else if(Ma.kind==="max")ma.data.length>Ma.value&&(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.too_big,maximum:Ma.value,type:"string",inclusive:!0,exact:!1,message:Ma.message}),ba.dirty());else if(Ma.kind==="length"){const El=ma.data.length>Ma.value,wl=ma.data.length<Ma.value;(El||wl)&&(va=this._getOrReturnCtx(ma,va),El?addIssueToContext(va,{code:ZodIssueCode.too_big,maximum:Ma.value,type:"string",inclusive:!0,exact:!0,message:Ma.message}):wl&&addIssueToContext(va,{code:ZodIssueCode.too_small,minimum:Ma.value,type:"string",inclusive:!0,exact:!0,message:Ma.message}),ba.dirty())}else if(Ma.kind==="email")emailRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"email",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="emoji")emojiRegex$2||(emojiRegex$2=new RegExp(_emojiRegex,"u")),emojiRegex$2.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"emoji",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="uuid")uuidRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"uuid",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="nanoid")nanoidRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"nanoid",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="cuid")cuidRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"cuid",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="cuid2")cuid2Regex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"cuid2",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="ulid")ulidRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"ulid",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="url")try{new URL(ma.data)}catch{va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"url",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()}else Ma.kind==="regex"?(Ma.regex.lastIndex=0,Ma.regex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"regex",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty())):Ma.kind==="trim"?ma.data=ma.data.trim():Ma.kind==="includes"?ma.data.includes(Ma.value,Ma.position)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:{includes:Ma.value,position:Ma.position},message:Ma.message}),ba.dirty()):Ma.kind==="toLowerCase"?ma.data=ma.data.toLowerCase():Ma.kind==="toUpperCase"?ma.data=ma.data.toUpperCase():Ma.kind==="startsWith"?ma.data.startsWith(Ma.value)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:{startsWith:Ma.value},message:Ma.message}),ba.dirty()):Ma.kind==="endsWith"?ma.data.endsWith(Ma.value)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:{endsWith:Ma.value},message:Ma.message}),ba.dirty()):Ma.kind==="datetime"?datetimeRegex(Ma).test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:"datetime",message:Ma.message}),ba.dirty()):Ma.kind==="date"?dateRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:"date",message:Ma.message}),ba.dirty()):Ma.kind==="time"?timeRegex(Ma).test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:"time",message:Ma.message}),ba.dirty()):Ma.kind==="duration"?durationRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"duration",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="ip"?isValidIP(ma.data,Ma.version)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"ip",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="jwt"?isValidJWT(ma.data,Ma.alg)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"jwt",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="cidr"?isValidCidr(ma.data,Ma.version)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"cidr",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="base64"?base64Regex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"base64",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="base64url"?base64urlRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"base64url",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):util$1$1.assertNever(Ma);return{status:ba.value,value:ma.data}}_regex(ma,ba,va){return this.refinement(Ma=>ma.test(Ma),{validation:ba,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(va)})}_addCheck(ma){return new ZodString({...this._def,checks:[...this._def.checks,ma]})}email(ma){return this._addCheck({kind:"email",...errorUtil.errToObj(ma)})}url(ma){return this._addCheck({kind:"url",...errorUtil.errToObj(ma)})}emoji(ma){return this._addCheck({kind:"emoji",...errorUtil.errToObj(ma)})}uuid(ma){return this._addCheck({kind:"uuid",...errorUtil.errToObj(ma)})}nanoid(ma){return this._addCheck({kind:"nanoid",...errorUtil.errToObj(ma)})}cuid(ma){return this._addCheck({kind:"cuid",...errorUtil.errToObj(ma)})}cuid2(ma){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(ma)})}ulid(ma){return this._addCheck({kind:"ulid",...errorUtil.errToObj(ma)})}base64(ma){return this._addCheck({kind:"base64",...errorUtil.errToObj(ma)})}base64url(ma){return this._addCheck({kind:"base64url",...errorUtil.errToObj(ma)})}jwt(ma){return this._addCheck({kind:"jwt",...errorUtil.errToObj(ma)})}ip(ma){return this._addCheck({kind:"ip",...errorUtil.errToObj(ma)})}cidr(ma){return this._addCheck({kind:"cidr",...errorUtil.errToObj(ma)})}datetime(ma){return typeof ma=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:ma}):this._addCheck({kind:"datetime",precision:typeof ma?.precision>"u"?null:ma?.precision,offset:ma?.offset??!1,local:ma?.local??!1,...errorUtil.errToObj(ma?.message)})}date(ma){return this._addCheck({kind:"date",message:ma})}time(ma){return typeof ma=="string"?this._addCheck({kind:"time",precision:null,message:ma}):this._addCheck({kind:"time",precision:typeof ma?.precision>"u"?null:ma?.precision,...errorUtil.errToObj(ma?.message)})}duration(ma){return this._addCheck({kind:"duration",...errorUtil.errToObj(ma)})}regex(ma,ba){return this._addCheck({kind:"regex",regex:ma,...errorUtil.errToObj(ba)})}includes(ma,ba){return this._addCheck({kind:"includes",value:ma,position:ba?.position,...errorUtil.errToObj(ba?.message)})}startsWith(ma,ba){return this._addCheck({kind:"startsWith",value:ma,...errorUtil.errToObj(ba)})}endsWith(ma,ba){return this._addCheck({kind:"endsWith",value:ma,...errorUtil.errToObj(ba)})}min(ma,ba){return this._addCheck({kind:"min",value:ma,...errorUtil.errToObj(ba)})}max(ma,ba){return this._addCheck({kind:"max",value:ma,...errorUtil.errToObj(ba)})}length(ma,ba){return this._addCheck({kind:"length",value:ma,...errorUtil.errToObj(ba)})}nonempty(ma){return this.min(1,errorUtil.errToObj(ma))}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(ma=>ma.kind==="datetime")}get isDate(){return!!this._def.checks.find(ma=>ma.kind==="date")}get isTime(){return!!this._def.checks.find(ma=>ma.kind==="time")}get isDuration(){return!!this._def.checks.find(ma=>ma.kind==="duration")}get isEmail(){return!!this._def.checks.find(ma=>ma.kind==="email")}get isURL(){return!!this._def.checks.find(ma=>ma.kind==="url")}get isEmoji(){return!!this._def.checks.find(ma=>ma.kind==="emoji")}get isUUID(){return!!this._def.checks.find(ma=>ma.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(ma=>ma.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(ma=>ma.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(ma=>ma.kind==="cuid2")}get isULID(){return!!this._def.checks.find(ma=>ma.kind==="ulid")}get isIP(){return!!this._def.checks.find(ma=>ma.kind==="ip")}get isCIDR(){return!!this._def.checks.find(ma=>ma.kind==="cidr")}get isBase64(){return!!this._def.checks.find(ma=>ma.kind==="base64")}get isBase64url(){return!!this._def.checks.find(ma=>ma.kind==="base64url")}get minLength(){let ma=null;for(const ba of this._def.checks)ba.kind==="min"&&(ma===null||ba.value>ma)&&(ma=ba.value);return ma}get maxLength(){let ma=null;for(const ba of this._def.checks)ba.kind==="max"&&(ma===null||ba.value<ma)&&(ma=ba.value);return ma}}ZodString.create=ya=>new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:ya?.coerce??!1,...processCreateParams(ya)});function floatSafeRemainder(ya,ma){const ba=(ya.toString().split(".")[1]||"").length,va=(ma.toString().split(".")[1]||"").length,Ma=ba>va?ba:va,El=Number.parseInt(ya.toFixed(Ma).replace(".","")),wl=Number.parseInt(ma.toFixed(Ma).replace(".",""));return El%wl/10**Ma}class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(ma){if(this._def.coerce&&(ma.data=Number(ma.data)),this._getType(ma)!==ZodParsedType.number){const Ma=this._getOrReturnCtx(ma);return addIssueToContext(Ma,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:Ma.parsedType}),INVALID}let ba;const va=new ParseStatus;for(const Ma of this._def.checks)Ma.kind==="int"?util$1$1.isInteger(ma.data)||(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:Ma.message}),va.dirty()):Ma.kind==="min"?(Ma.inclusive?ma.data<Ma.value:ma.data<=Ma.value)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.too_small,minimum:Ma.value,type:"number",inclusive:Ma.inclusive,exact:!1,message:Ma.message}),va.dirty()):Ma.kind==="max"?(Ma.inclusive?ma.data>Ma.value:ma.data>=Ma.value)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.too_big,maximum:Ma.value,type:"number",inclusive:Ma.inclusive,exact:!1,message:Ma.message}),va.dirty()):Ma.kind==="multipleOf"?floatSafeRemainder(ma.data,Ma.value)!==0&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.not_multiple_of,multipleOf:Ma.value,message:Ma.message}),va.dirty()):Ma.kind==="finite"?Number.isFinite(ma.data)||(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.not_finite,message:Ma.message}),va.dirty()):util$1$1.assertNever(Ma);return{status:va.value,value:ma.data}}gte(ma,ba){return this.setLimit("min",ma,!0,errorUtil.toString(ba))}gt(ma,ba){return this.setLimit("min",ma,!1,errorUtil.toString(ba))}lte(ma,ba){return this.setLimit("max",ma,!0,errorUtil.toString(ba))}lt(ma,ba){return this.setLimit("max",ma,!1,errorUtil.toString(ba))}setLimit(ma,ba,va,Ma){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:ma,value:ba,inclusive:va,message:errorUtil.toString(Ma)}]})}_addCheck(ma){return new ZodNumber({...this._def,checks:[...this._def.checks,ma]})}int(ma){return this._addCheck({kind:"int",message:errorUtil.toString(ma)})}positive(ma){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(ma)})}negative(ma){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(ma)})}nonpositive(ma){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(ma)})}nonnegative(ma){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(ma)})}multipleOf(ma,ba){return this._addCheck({kind:"multipleOf",value:ma,message:errorUtil.toString(ba)})}finite(ma){return this._addCheck({kind:"finite",message:errorUtil.toString(ma)})}safe(ma){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(ma)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(ma)})}get minValue(){let ma=null;for(const ba of this._def.checks)ba.kind==="min"&&(ma===null||ba.value>ma)&&(ma=ba.value);return ma}get maxValue(){let ma=null;for(const ba of this._def.checks)ba.kind==="max"&&(ma===null||ba.value<ma)&&(ma=ba.value);return ma}get isInt(){return!!this._def.checks.find(ma=>ma.kind==="int"||ma.kind==="multipleOf"&&util$1$1.isInteger(ma.value))}get isFinite(){let ma=null,ba=null;for(const va of this._def.checks){if(va.kind==="finite"||va.kind==="int"||va.kind==="multipleOf")return!0;va.kind==="min"?(ba===null||va.value>ba)&&(ba=va.value):va.kind==="max"&&(ma===null||va.value<ma)&&(ma=va.value)}return Number.isFinite(ba)&&Number.isFinite(ma)}}ZodNumber.create=ya=>new ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:ya?.coerce||!1,...processCreateParams(ya)});class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(ma){if(this._def.coerce)try{ma.data=BigInt(ma.data)}catch{return this._getInvalidInput(ma)}if(this._getType(ma)!==ZodParsedType.bigint)return this._getInvalidInput(ma);let ba;const va=new ParseStatus;for(const Ma of this._def.checks)Ma.kind==="min"?(Ma.inclusive?ma.data<Ma.value:ma.data<=Ma.value)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.too_small,type:"bigint",minimum:Ma.value,inclusive:Ma.inclusive,message:Ma.message}),va.dirty()):Ma.kind==="max"?(Ma.inclusive?ma.data>Ma.value:ma.data>=Ma.value)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.too_big,type:"bigint",maximum:Ma.value,inclusive:Ma.inclusive,message:Ma.message}),va.dirty()):Ma.kind==="multipleOf"?ma.data%Ma.value!==BigInt(0)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.not_multiple_of,multipleOf:Ma.value,message:Ma.message}),va.dirty()):util$1$1.assertNever(Ma);return{status:va.value,value:ma.data}}_getInvalidInput(ma){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:ba.parsedType}),INVALID}gte(ma,ba){return this.setLimit("min",ma,!0,errorUtil.toString(ba))}gt(ma,ba){return this.setLimit("min",ma,!1,errorUtil.toString(ba))}lte(ma,ba){return this.setLimit("max",ma,!0,errorUtil.toString(ba))}lt(ma,ba){return this.setLimit("max",ma,!1,errorUtil.toString(ba))}setLimit(ma,ba,va,Ma){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:ma,value:ba,inclusive:va,message:errorUtil.toString(Ma)}]})}_addCheck(ma){return new ZodBigInt({...this._def,checks:[...this._def.checks,ma]})}positive(ma){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:errorUtil.toString(ma)})}negative(ma){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:errorUtil.toString(ma)})}nonpositive(ma){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:errorUtil.toString(ma)})}nonnegative(ma){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:errorUtil.toString(ma)})}multipleOf(ma,ba){return this._addCheck({kind:"multipleOf",value:ma,message:errorUtil.toString(ba)})}get minValue(){let ma=null;for(const ba of this._def.checks)ba.kind==="min"&&(ma===null||ba.value>ma)&&(ma=ba.value);return ma}get maxValue(){let ma=null;for(const ba of this._def.checks)ba.kind==="max"&&(ma===null||ba.value<ma)&&(ma=ba.value);return ma}}ZodBigInt.create=ya=>new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:ya?.coerce??!1,...processCreateParams(ya)});class ZodBoolean extends ZodType{_parse(ma){if(this._def.coerce&&(ma.data=!!ma.data),this._getType(ma)!==ZodParsedType.boolean){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodBoolean.create=ya=>new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:ya?.coerce||!1,...processCreateParams(ya)});class ZodDate extends ZodType{_parse(ma){if(this._def.coerce&&(ma.data=new Date(ma.data)),this._getType(ma)!==ZodParsedType.date){const Ma=this._getOrReturnCtx(ma);return addIssueToContext(Ma,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:Ma.parsedType}),INVALID}if(Number.isNaN(ma.data.getTime())){const Ma=this._getOrReturnCtx(ma);return addIssueToContext(Ma,{code:ZodIssueCode.invalid_date}),INVALID}const ba=new ParseStatus;let va;for(const Ma of this._def.checks)Ma.kind==="min"?ma.data.getTime()<Ma.value&&(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.too_small,message:Ma.message,inclusive:!0,exact:!1,minimum:Ma.value,type:"date"}),ba.dirty()):Ma.kind==="max"?ma.data.getTime()>Ma.value&&(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.too_big,message:Ma.message,inclusive:!0,exact:!1,maximum:Ma.value,type:"date"}),ba.dirty()):util$1$1.assertNever(Ma);return{status:ba.value,value:new Date(ma.data.getTime())}}_addCheck(ma){return new ZodDate({...this._def,checks:[...this._def.checks,ma]})}min(ma,ba){return this._addCheck({kind:"min",value:ma.getTime(),message:errorUtil.toString(ba)})}max(ma,ba){return this._addCheck({kind:"max",value:ma.getTime(),message:errorUtil.toString(ba)})}get minDate(){let ma=null;for(const ba of this._def.checks)ba.kind==="min"&&(ma===null||ba.value>ma)&&(ma=ba.value);return ma!=null?new Date(ma):null}get maxDate(){let ma=null;for(const ba of this._def.checks)ba.kind==="max"&&(ma===null||ba.value<ma)&&(ma=ba.value);return ma!=null?new Date(ma):null}}ZodDate.create=ya=>new ZodDate({checks:[],coerce:ya?.coerce||!1,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(ya)});class ZodSymbol extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.symbol){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodSymbol.create=ya=>new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(ya)});class ZodUndefined extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.undefined){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodUndefined.create=ya=>new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(ya)});class ZodNull extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.null){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodNull.create=ya=>new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(ya)});class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(ma){return OK(ma.data)}}ZodAny.create=ya=>new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(ya)});class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(ma){return OK(ma.data)}}ZodUnknown.create=ya=>new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(ya)});class ZodNever extends ZodType{_parse(ma){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:ba.parsedType}),INVALID}}ZodNever.create=ya=>new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(ya)});class ZodVoid extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.undefined){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodVoid.create=ya=>new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(ya)});class ZodArray extends ZodType{_parse(ma){const{ctx:ba,status:va}=this._processInputParams(ma),Ma=this._def;if(ba.parsedType!==ZodParsedType.array)return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ba.parsedType}),INVALID;if(Ma.exactLength!==null){const wl=ba.data.length>Ma.exactLength.value,Sl=ba.data.length<Ma.exactLength.value;(wl||Sl)&&(addIssueToContext(ba,{code:wl?ZodIssueCode.too_big:ZodIssueCode.too_small,minimum:Sl?Ma.exactLength.value:void 0,maximum:wl?Ma.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Ma.exactLength.message}),va.dirty())}if(Ma.minLength!==null&&ba.data.length<Ma.minLength.value&&(addIssueToContext(ba,{code:ZodIssueCode.too_small,minimum:Ma.minLength.value,type:"array",inclusive:!0,exact:!1,message:Ma.minLength.message}),va.dirty()),Ma.maxLength!==null&&ba.data.length>Ma.maxLength.value&&(addIssueToContext(ba,{code:ZodIssueCode.too_big,maximum:Ma.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Ma.maxLength.message}),va.dirty()),ba.common.async)return Promise.all([...ba.data].map((wl,Sl)=>Ma.type._parseAsync(new ParseInputLazyPath(ba,wl,ba.path,Sl)))).then(wl=>ParseStatus.mergeArray(va,wl));const El=[...ba.data].map((wl,Sl)=>Ma.type._parseSync(new ParseInputLazyPath(ba,wl,ba.path,Sl)));return ParseStatus.mergeArray(va,El)}get element(){return this._def.type}min(ma,ba){return new ZodArray({...this._def,minLength:{value:ma,message:errorUtil.toString(ba)}})}max(ma,ba){return new ZodArray({...this._def,maxLength:{value:ma,message:errorUtil.toString(ba)}})}length(ma,ba){return new ZodArray({...this._def,exactLength:{value:ma,message:errorUtil.toString(ba)}})}nonempty(ma){return this.min(1,ma)}}ZodArray.create=(ya,ma)=>new ZodArray({type:ya,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(ma)});function deepPartialify(ya){if(ya instanceof ZodObject){const ma={};for(const ba in ya.shape){const va=ya.shape[ba];ma[ba]=ZodOptional.create(deepPartialify(va))}return new ZodObject({...ya._def,shape:()=>ma})}else return ya instanceof ZodArray?new ZodArray({...ya._def,type:deepPartialify(ya.element)}):ya instanceof ZodOptional?ZodOptional.create(deepPartialify(ya.unwrap())):ya instanceof ZodNullable?ZodNullable.create(deepPartialify(ya.unwrap())):ya instanceof ZodTuple?ZodTuple.create(ya.items.map(ma=>deepPartialify(ma))):ya}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 ma=this._def.shape(),ba=util$1$1.objectKeys(ma);return this._cached={shape:ma,keys:ba},this._cached}_parse(ma){if(this._getType(ma)!==ZodParsedType.object){const Cl=this._getOrReturnCtx(ma);return addIssueToContext(Cl,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:Cl.parsedType}),INVALID}const{status:ba,ctx:va}=this._processInputParams(ma),{shape:Ma,keys:El}=this._getCached(),wl=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip"))for(const Cl in va.data)El.includes(Cl)||wl.push(Cl);const Sl=[];for(const Cl of El){const Mc=Ma[Cl],Ef=va.data[Cl];Sl.push({key:{status:"valid",value:Cl},value:Mc._parse(new ParseInputLazyPath(va,Ef,va.path,Cl)),alwaysSet:Cl in va.data})}if(this._def.catchall instanceof ZodNever){const Cl=this._def.unknownKeys;if(Cl==="passthrough")for(const Mc of wl)Sl.push({key:{status:"valid",value:Mc},value:{status:"valid",value:va.data[Mc]}});else if(Cl==="strict")wl.length>0&&(addIssueToContext(va,{code:ZodIssueCode.unrecognized_keys,keys:wl}),ba.dirty());else if(Cl!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const Cl=this._def.catchall;for(const Mc of wl){const Ef=va.data[Mc];Sl.push({key:{status:"valid",value:Mc},value:Cl._parse(new ParseInputLazyPath(va,Ef,va.path,Mc)),alwaysSet:Mc in va.data})}}return va.common.async?Promise.resolve().then(async()=>{const Cl=[];for(const Mc of Sl){const Ef=await Mc.key,Zf=await Mc.value;Cl.push({key:Ef,value:Zf,alwaysSet:Mc.alwaysSet})}return Cl}).then(Cl=>ParseStatus.mergeObjectSync(ba,Cl)):ParseStatus.mergeObjectSync(ba,Sl)}get shape(){return this._def.shape()}strict(ma){return errorUtil.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...ma!==void 0?{errorMap:(ba,va)=>{const Ma=this._def.errorMap?.(ba,va).message??va.defaultError;return ba.code==="unrecognized_keys"?{message:errorUtil.errToObj(ma).message??Ma}:{message:Ma}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(ma){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...ma})})}merge(ma){return new ZodObject({unknownKeys:ma._def.unknownKeys,catchall:ma._def.catchall,shape:()=>({...this._def.shape(),...ma._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject})}setKey(ma,ba){return this.augment({[ma]:ba})}catchall(ma){return new ZodObject({...this._def,catchall:ma})}pick(ma){const ba={};for(const va of util$1$1.objectKeys(ma))ma[va]&&this.shape[va]&&(ba[va]=this.shape[va]);return new ZodObject({...this._def,shape:()=>ba})}omit(ma){const ba={};for(const va of util$1$1.objectKeys(this.shape))ma[va]||(ba[va]=this.shape[va]);return new ZodObject({...this._def,shape:()=>ba})}deepPartial(){return deepPartialify(this)}partial(ma){const ba={};for(const va of util$1$1.objectKeys(this.shape)){const Ma=this.shape[va];ma&&!ma[va]?ba[va]=Ma:ba[va]=Ma.optional()}return new ZodObject({...this._def,shape:()=>ba})}required(ma){const ba={};for(const va of util$1$1.objectKeys(this.shape))if(ma&&!ma[va])ba[va]=this.shape[va];else{let Ma=this.shape[va];for(;Ma instanceof ZodOptional;)Ma=Ma._def.innerType;ba[va]=Ma}return new ZodObject({...this._def,shape:()=>ba})}keyof(){return createZodEnum(util$1$1.objectKeys(this.shape))}}ZodObject.create=(ya,ma)=>new ZodObject({shape:()=>ya,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(ma)});ZodObject.strictCreate=(ya,ma)=>new ZodObject({shape:()=>ya,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(ma)});ZodObject.lazycreate=(ya,ma)=>new ZodObject({shape:ya,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(ma)});class ZodUnion extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma),va=this._def.options;function Ma(El){for(const Sl of El)if(Sl.result.status==="valid")return Sl.result;for(const Sl of El)if(Sl.result.status==="dirty")return ba.common.issues.push(...Sl.ctx.common.issues),Sl.result;const wl=El.map(Sl=>new ZodError(Sl.ctx.common.issues));return addIssueToContext(ba,{code:ZodIssueCode.invalid_union,unionErrors:wl}),INVALID}if(ba.common.async)return Promise.all(va.map(async El=>{const wl={...ba,common:{...ba.common,issues:[]},parent:null};return{result:await El._parseAsync({data:ba.data,path:ba.path,parent:wl}),ctx:wl}})).then(Ma);{let El;const wl=[];for(const Cl of va){const Mc={...ba,common:{...ba.common,issues:[]},parent:null},Ef=Cl._parseSync({data:ba.data,path:ba.path,parent:Mc});if(Ef.status==="valid")return Ef;Ef.status==="dirty"&&!El&&(El={result:Ef,ctx:Mc}),Mc.common.issues.length&&wl.push(Mc.common.issues)}if(El)return ba.common.issues.push(...El.ctx.common.issues),El.result;const Sl=wl.map(Cl=>new ZodError(Cl));return addIssueToContext(ba,{code:ZodIssueCode.invalid_union,unionErrors:Sl}),INVALID}}get options(){return this._def.options}}ZodUnion.create=(ya,ma)=>new ZodUnion({options:ya,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(ma)});const getDiscriminator=ya=>ya instanceof ZodLazy?getDiscriminator(ya.schema):ya instanceof ZodEffects?getDiscriminator(ya.innerType()):ya instanceof ZodLiteral?[ya.value]:ya instanceof ZodEnum?ya.options:ya instanceof ZodNativeEnum?util$1$1.objectValues(ya.enum):ya instanceof ZodDefault?getDiscriminator(ya._def.innerType):ya instanceof ZodUndefined?[void 0]:ya instanceof ZodNull?[null]:ya instanceof ZodOptional?[void 0,...getDiscriminator(ya.unwrap())]:ya instanceof ZodNullable?[null,...getDiscriminator(ya.unwrap())]:ya instanceof ZodBranded||ya instanceof ZodReadonly?getDiscriminator(ya.unwrap()):ya instanceof ZodCatch?getDiscriminator(ya._def.innerType):[];class ZodDiscriminatedUnion extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma);if(ba.parsedType!==ZodParsedType.object)return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ba.parsedType}),INVALID;const va=this.discriminator,Ma=ba.data[va],El=this.optionsMap.get(Ma);return El?ba.common.async?El._parseAsync({data:ba.data,path:ba.path,parent:ba}):El._parseSync({data:ba.data,path:ba.path,parent:ba}):(addIssueToContext(ba,{code:ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[va]}),INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(ma,ba,va){const Ma=new Map;for(const El of ba){const wl=getDiscriminator(El.shape[ma]);if(!wl.length)throw new Error(`A discriminator value for key \`${ma}\` could not be extracted from all schema options`);for(const Sl of wl){if(Ma.has(Sl))throw new Error(`Discriminator property ${String(ma)} has duplicate value ${String(Sl)}`);Ma.set(Sl,El)}}return new ZodDiscriminatedUnion({typeName:ZodFirstPartyTypeKind.ZodDiscriminatedUnion,discriminator:ma,options:ba,optionsMap:Ma,...processCreateParams(va)})}}function mergeValues(ya,ma){const ba=getParsedType(ya),va=getParsedType(ma);if(ya===ma)return{valid:!0,data:ya};if(ba===ZodParsedType.object&&va===ZodParsedType.object){const Ma=util$1$1.objectKeys(ma),El=util$1$1.objectKeys(ya).filter(Sl=>Ma.indexOf(Sl)!==-1),wl={...ya,...ma};for(const Sl of El){const Cl=mergeValues(ya[Sl],ma[Sl]);if(!Cl.valid)return{valid:!1};wl[Sl]=Cl.data}return{valid:!0,data:wl}}else if(ba===ZodParsedType.array&&va===ZodParsedType.array){if(ya.length!==ma.length)return{valid:!1};const Ma=[];for(let El=0;El<ya.length;El++){const wl=ya[El],Sl=ma[El],Cl=mergeValues(wl,Sl);if(!Cl.valid)return{valid:!1};Ma.push(Cl.data)}return{valid:!0,data:Ma}}else return ba===ZodParsedType.date&&va===ZodParsedType.date&&+ya==+ma?{valid:!0,data:ya}:{valid:!1}}class ZodIntersection extends ZodType{_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma),Ma=(El,wl)=>{if(isAborted(El)||isAborted(wl))return INVALID;const Sl=mergeValues(El.value,wl.value);return Sl.valid?((isDirty(El)||isDirty(wl))&&ba.dirty(),{status:ba.value,value:Sl.data}):(addIssueToContext(va,{code:ZodIssueCode.invalid_intersection_types}),INVALID)};return va.common.async?Promise.all([this._def.left._parseAsync({data:va.data,path:va.path,parent:va}),this._def.right._parseAsync({data:va.data,path:va.path,parent:va})]).then(([El,wl])=>Ma(El,wl)):Ma(this._def.left._parseSync({data:va.data,path:va.path,parent:va}),this._def.right._parseSync({data:va.data,path:va.path,parent:va}))}}ZodIntersection.create=(ya,ma,ba)=>new ZodIntersection({left:ya,right:ma,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(ba)});class ZodTuple extends ZodType{_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.parsedType!==ZodParsedType.array)return addIssueToContext(va,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:va.parsedType}),INVALID;if(va.data.length<this._def.items.length)return addIssueToContext(va,{code:ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),INVALID;!this._def.rest&&va.data.length>this._def.items.length&&(addIssueToContext(va,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ba.dirty());const Ma=[...va.data].map((El,wl)=>{const Sl=this._def.items[wl]||this._def.rest;return Sl?Sl._parse(new ParseInputLazyPath(va,El,va.path,wl)):null}).filter(El=>!!El);return va.common.async?Promise.all(Ma).then(El=>ParseStatus.mergeArray(ba,El)):ParseStatus.mergeArray(ba,Ma)}get items(){return this._def.items}rest(ma){return new ZodTuple({...this._def,rest:ma})}}ZodTuple.create=(ya,ma)=>{if(!Array.isArray(ya))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:ya,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(ma)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.parsedType!==ZodParsedType.object)return addIssueToContext(va,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:va.parsedType}),INVALID;const Ma=[],El=this._def.keyType,wl=this._def.valueType;for(const Sl in va.data)Ma.push({key:El._parse(new ParseInputLazyPath(va,Sl,va.path,Sl)),value:wl._parse(new ParseInputLazyPath(va,va.data[Sl],va.path,Sl)),alwaysSet:Sl in va.data});return va.common.async?ParseStatus.mergeObjectAsync(ba,Ma):ParseStatus.mergeObjectSync(ba,Ma)}get element(){return this._def.valueType}static create(ma,ba,va){return ba instanceof ZodType?new ZodRecord({keyType:ma,valueType:ba,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(va)}):new ZodRecord({keyType:ZodString.create(),valueType:ma,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(ba)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.parsedType!==ZodParsedType.map)return addIssueToContext(va,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:va.parsedType}),INVALID;const Ma=this._def.keyType,El=this._def.valueType,wl=[...va.data.entries()].map(([Sl,Cl],Mc)=>({key:Ma._parse(new ParseInputLazyPath(va,Sl,va.path,[Mc,"key"])),value:El._parse(new ParseInputLazyPath(va,Cl,va.path,[Mc,"value"]))}));if(va.common.async){const Sl=new Map;return Promise.resolve().then(async()=>{for(const Cl of wl){const Mc=await Cl.key,Ef=await Cl.value;if(Mc.status==="aborted"||Ef.status==="aborted")return INVALID;(Mc.status==="dirty"||Ef.status==="dirty")&&ba.dirty(),Sl.set(Mc.value,Ef.value)}return{status:ba.value,value:Sl}})}else{const Sl=new Map;for(const Cl of wl){const Mc=Cl.key,Ef=Cl.value;if(Mc.status==="aborted"||Ef.status==="aborted")return INVALID;(Mc.status==="dirty"||Ef.status==="dirty")&&ba.dirty(),Sl.set(Mc.value,Ef.value)}return{status:ba.value,value:Sl}}}}ZodMap.create=(ya,ma,ba)=>new ZodMap({valueType:ma,keyType:ya,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(ba)});class ZodSet extends ZodType{_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.parsedType!==ZodParsedType.set)return addIssueToContext(va,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:va.parsedType}),INVALID;const Ma=this._def;Ma.minSize!==null&&va.data.size<Ma.minSize.value&&(addIssueToContext(va,{code:ZodIssueCode.too_small,minimum:Ma.minSize.value,type:"set",inclusive:!0,exact:!1,message:Ma.minSize.message}),ba.dirty()),Ma.maxSize!==null&&va.data.size>Ma.maxSize.value&&(addIssueToContext(va,{code:ZodIssueCode.too_big,maximum:Ma.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Ma.maxSize.message}),ba.dirty());const El=this._def.valueType;function wl(Cl){const Mc=new Set;for(const Ef of Cl){if(Ef.status==="aborted")return INVALID;Ef.status==="dirty"&&ba.dirty(),Mc.add(Ef.value)}return{status:ba.value,value:Mc}}const Sl=[...va.data.values()].map((Cl,Mc)=>El._parse(new ParseInputLazyPath(va,Cl,va.path,Mc)));return va.common.async?Promise.all(Sl).then(Cl=>wl(Cl)):wl(Sl)}min(ma,ba){return new ZodSet({...this._def,minSize:{value:ma,message:errorUtil.toString(ba)}})}max(ma,ba){return new ZodSet({...this._def,maxSize:{value:ma,message:errorUtil.toString(ba)}})}size(ma,ba){return this.min(ma,ba).max(ma,ba)}nonempty(ma){return this.min(1,ma)}}ZodSet.create=(ya,ma)=>new ZodSet({valueType:ya,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(ma)});class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(ma){const{ctx:ba}=this._processInputParams(ma);return this._def.getter()._parse({data:ba.data,path:ba.path,parent:ba})}}ZodLazy.create=(ya,ma)=>new ZodLazy({getter:ya,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(ma)});class ZodLiteral extends ZodType{_parse(ma){if(ma.data!==this._def.value){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{received:ba.data,code:ZodIssueCode.invalid_literal,expected:this._def.value}),INVALID}return{status:"valid",value:ma.data}}get value(){return this._def.value}}ZodLiteral.create=(ya,ma)=>new ZodLiteral({value:ya,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(ma)});function createZodEnum(ya,ma){return new ZodEnum({values:ya,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(ma)})}class ZodEnum extends ZodType{_parse(ma){if(typeof ma.data!="string"){const ba=this._getOrReturnCtx(ma),va=this._def.values;return addIssueToContext(ba,{expected:util$1$1.joinValues(va),received:ba.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(ma.data)){const ba=this._getOrReturnCtx(ma),va=this._def.values;return addIssueToContext(ba,{received:ba.data,code:ZodIssueCode.invalid_enum_value,options:va}),INVALID}return OK(ma.data)}get options(){return this._def.values}get enum(){const ma={};for(const ba of this._def.values)ma[ba]=ba;return ma}get Values(){const ma={};for(const ba of this._def.values)ma[ba]=ba;return ma}get Enum(){const ma={};for(const ba of this._def.values)ma[ba]=ba;return ma}extract(ma,ba=this._def){return ZodEnum.create(ma,{...this._def,...ba})}exclude(ma,ba=this._def){return ZodEnum.create(this.options.filter(va=>!ma.includes(va)),{...this._def,...ba})}}ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{_parse(ma){const ba=util$1$1.getValidEnumValues(this._def.values),va=this._getOrReturnCtx(ma);if(va.parsedType!==ZodParsedType.string&&va.parsedType!==ZodParsedType.number){const Ma=util$1$1.objectValues(ba);return addIssueToContext(va,{expected:util$1$1.joinValues(Ma),received:va.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(util$1$1.getValidEnumValues(this._def.values))),!this._cache.has(ma.data)){const Ma=util$1$1.objectValues(ba);return addIssueToContext(va,{received:va.data,code:ZodIssueCode.invalid_enum_value,options:Ma}),INVALID}return OK(ma.data)}get enum(){return this._def.values}}ZodNativeEnum.create=(ya,ma)=>new ZodNativeEnum({values:ya,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(ma)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(ma){const{ctx:ba}=this._processInputParams(ma);if(ba.parsedType!==ZodParsedType.promise&&ba.common.async===!1)return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:ba.parsedType}),INVALID;const va=ba.parsedType===ZodParsedType.promise?ba.data:Promise.resolve(ba.data);return OK(va.then(Ma=>this._def.type.parseAsync(Ma,{path:ba.path,errorMap:ba.common.contextualErrorMap})))}}ZodPromise.create=(ya,ma)=>new ZodPromise({type:ya,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(ma)});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(ma){const{status:ba,ctx:va}=this._processInputParams(ma),Ma=this._def.effect||null,El={addIssue:wl=>{addIssueToContext(va,wl),wl.fatal?ba.abort():ba.dirty()},get path(){return va.path}};if(El.addIssue=El.addIssue.bind(El),Ma.type==="preprocess"){const wl=Ma.transform(va.data,El);if(va.common.async)return Promise.resolve(wl).then(async Sl=>{if(ba.value==="aborted")return INVALID;const Cl=await this._def.schema._parseAsync({data:Sl,path:va.path,parent:va});return Cl.status==="aborted"?INVALID:Cl.status==="dirty"||ba.value==="dirty"?DIRTY(Cl.value):Cl});{if(ba.value==="aborted")return INVALID;const Sl=this._def.schema._parseSync({data:wl,path:va.path,parent:va});return Sl.status==="aborted"?INVALID:Sl.status==="dirty"||ba.value==="dirty"?DIRTY(Sl.value):Sl}}if(Ma.type==="refinement"){const wl=Sl=>{const Cl=Ma.refinement(Sl,El);if(va.common.async)return Promise.resolve(Cl);if(Cl instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Sl};if(va.common.async===!1){const Sl=this._def.schema._parseSync({data:va.data,path:va.path,parent:va});return Sl.status==="aborted"?INVALID:(Sl.status==="dirty"&&ba.dirty(),wl(Sl.value),{status:ba.value,value:Sl.value})}else return this._def.schema._parseAsync({data:va.data,path:va.path,parent:va}).then(Sl=>Sl.status==="aborted"?INVALID:(Sl.status==="dirty"&&ba.dirty(),wl(Sl.value).then(()=>({status:ba.value,value:Sl.value}))))}if(Ma.type==="transform")if(va.common.async===!1){const wl=this._def.schema._parseSync({data:va.data,path:va.path,parent:va});if(!isValid(wl))return INVALID;const Sl=Ma.transform(wl.value,El);if(Sl instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:ba.value,value:Sl}}else return this._def.schema._parseAsync({data:va.data,path:va.path,parent:va}).then(wl=>isValid(wl)?Promise.resolve(Ma.transform(wl.value,El)).then(Sl=>({status:ba.value,value:Sl})):INVALID);util$1$1.assertNever(Ma)}}ZodEffects.create=(ya,ma,ba)=>new ZodEffects({schema:ya,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:ma,...processCreateParams(ba)});ZodEffects.createWithPreprocess=(ya,ma,ba)=>new ZodEffects({schema:ma,effect:{type:"preprocess",transform:ya},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(ba)});class ZodOptional extends ZodType{_parse(ma){return this._getType(ma)===ZodParsedType.undefined?OK(void 0):this._def.innerType._parse(ma)}unwrap(){return this._def.innerType}}ZodOptional.create=(ya,ma)=>new ZodOptional({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(ma)});class ZodNullable extends ZodType{_parse(ma){return this._getType(ma)===ZodParsedType.null?OK(null):this._def.innerType._parse(ma)}unwrap(){return this._def.innerType}}ZodNullable.create=(ya,ma)=>new ZodNullable({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(ma)});class ZodDefault extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma);let va=ba.data;return ba.parsedType===ZodParsedType.undefined&&(va=this._def.defaultValue()),this._def.innerType._parse({data:va,path:ba.path,parent:ba})}removeDefault(){return this._def.innerType}}ZodDefault.create=(ya,ma)=>new ZodDefault({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof ma.default=="function"?ma.default:()=>ma.default,...processCreateParams(ma)});class ZodCatch extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma),va={...ba,common:{...ba.common,issues:[]}},Ma=this._def.innerType._parse({data:va.data,path:va.path,parent:{...va}});return isAsync(Ma)?Ma.then(El=>({status:"valid",value:El.status==="valid"?El.value:this._def.catchValue({get error(){return new ZodError(va.common.issues)},input:va.data})})):{status:"valid",value:Ma.status==="valid"?Ma.value:this._def.catchValue({get error(){return new ZodError(va.common.issues)},input:va.data})}}removeCatch(){return this._def.innerType}}ZodCatch.create=(ya,ma)=>new ZodCatch({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof ma.catch=="function"?ma.catch:()=>ma.catch,...processCreateParams(ma)});class ZodNaN extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.nan){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:ba.parsedType}),INVALID}return{status:"valid",value:ma.data}}}ZodNaN.create=ya=>new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(ya)});class ZodBranded extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma),va=ba.data;return this._def.type._parse({data:va,path:ba.path,parent:ba})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.common.async)return(async()=>{const Ma=await this._def.in._parseAsync({data:va.data,path:va.path,parent:va});return Ma.status==="aborted"?INVALID:Ma.status==="dirty"?(ba.dirty(),DIRTY(Ma.value)):this._def.out._parseAsync({data:Ma.value,path:va.path,parent:va})})();{const Ma=this._def.in._parseSync({data:va.data,path:va.path,parent:va});return Ma.status==="aborted"?INVALID:Ma.status==="dirty"?(ba.dirty(),{status:"dirty",value:Ma.value}):this._def.out._parseSync({data:Ma.value,path:va.path,parent:va})}}static create(ma,ba){return new ZodPipeline({in:ma,out:ba,typeName:ZodFirstPartyTypeKind.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(ma){const ba=this._def.innerType._parse(ma),va=Ma=>(isValid(Ma)&&(Ma.value=Object.freeze(Ma.value)),Ma);return isAsync(ba)?ba.then(Ma=>va(Ma)):va(ba)}unwrap(){return this._def.innerType}}ZodReadonly.create=(ya,ma)=>new ZodReadonly({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(ma)});var ZodFirstPartyTypeKind;(function(ya){ya.ZodString="ZodString",ya.ZodNumber="ZodNumber",ya.ZodNaN="ZodNaN",ya.ZodBigInt="ZodBigInt",ya.ZodBoolean="ZodBoolean",ya.ZodDate="ZodDate",ya.ZodSymbol="ZodSymbol",ya.ZodUndefined="ZodUndefined",ya.ZodNull="ZodNull",ya.ZodAny="ZodAny",ya.ZodUnknown="ZodUnknown",ya.ZodNever="ZodNever",ya.ZodVoid="ZodVoid",ya.ZodArray="ZodArray",ya.ZodObject="ZodObject",ya.ZodUnion="ZodUnion",ya.ZodDiscriminatedUnion="ZodDiscriminatedUnion",ya.ZodIntersection="ZodIntersection",ya.ZodTuple="ZodTuple",ya.ZodRecord="ZodRecord",ya.ZodMap="ZodMap",ya.ZodSet="ZodSet",ya.ZodFunction="ZodFunction",ya.ZodLazy="ZodLazy",ya.ZodLiteral="ZodLiteral",ya.ZodEnum="ZodEnum",ya.ZodEffects="ZodEffects",ya.ZodNativeEnum="ZodNativeEnum",ya.ZodOptional="ZodOptional",ya.ZodNullable="ZodNullable",ya.ZodDefault="ZodDefault",ya.ZodCatch="ZodCatch",ya.ZodPromise="ZodPromise",ya.ZodBranded="ZodBranded",ya.ZodPipeline="ZodPipeline",ya.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 ya;return((ya=void 0)===null||ya===void 0?void 0:ya.enabled)===!0}class TtlCache{constructor(ma){this.store=new Map,this.ttlMs=ma}set(ma,ba,va){va=va||this.ttlMs;const Ma=Date.now()+va;return this.store.set(ma,{value:ba,expireTime:Ma}),setTimeout(()=>{const El=this.store.get(ma);El&&El.expireTime===Ma&&this.store.delete(ma)},va),ba}get(ma){const ba=this.store.get(ma);if(ba!==void 0){if(Date.now()>ba.expireTime){this.store.delete(ma);return}return ba.value}}delete(ma){this.store.delete(ma)}}const AdminUserId="00000000-0000-0000-0000-000000000000";function isAuthEnabled(){var ya;return((ya=void 0)===null||ya===void 0?void 0:ya.enabled)==!0}function isRbacEnabled(){var ya;return isAuthEnabled()&&((ya=void 0)===null||ya===void 0?void 0:ya.enabled)==!0}const AdminSession={sessionId:crypto.randomUUID(),userId:AdminUserId},LocalEnv=new Map;function getLocalEnv$1(ya,ma){const ba=LocalEnv.get(ya);if(ba!==void 0)return ba;if(typeof E$b<"u"&&E$b.env){const va=E$b.env[ya];if(va!==void 0)return va}return ma}const PathAttributeName="__path__",PathAttributeNameQuery="__path__?",ParentAttributeName="__parent__",DeletedFlagAttributeName="__is_deleted__";function asUnauthMessage(ya){return typeof ya=="string"?ya:`User not authorised to perform '${ya.opr}' on ${ya.entity}`}class UnauthorisedError extends Error{constructor(ma,ba){super(ma?asUnauthMessage(ma):"User not authorised to perform this operation",ba)}}let BadRequestError$2=class extends Error{constructor(ya,ma){super(ya?asUnauthMessage(ya):"BadRequest",ma)}};class UserNotFoundError extends Error{constructor(ma,ba){super(ma||"User not found",ba)}}class UserNotConfirmedError extends Error{constructor(ma,ba){super(ma||"User account is not confirmed. Please check your email for verification code.",ba)}}class PasswordResetRequiredError extends Error{constructor(ma,ba){super(ma||"Password reset is required for this account",ba)}}class TooManyRequestsError extends Error{constructor(ma,ba){super(ma||"Too many requests. Please try again later.",ba)}}class InvalidParameterError extends Error{constructor(ma,ba){super(ma||"Invalid parameters provided",ba)}}class ExpiredCodeError extends Error{constructor(ma,ba){super(ma||"The verification code has expired. Please request a new one.",ba)}}class CodeMismatchError extends Error{constructor(ma,ba){super(ma||"The verification code is incorrect. Please try again.",ba)}}let FetchModuleFn;function setModuleFnFetcher(ya){FetchModuleFn=ya}const ForceReadPermFlag="f-r-f",FlowSuspensionTag="--";var SubGraphType;(function(ya){ya[ya.EVENT=0]="EVENT",ya[ya.IF=1]="IF",ya[ya.FOR_EACH=2]="FOR_EACH",ya[ya.DELETE=3]="DELETE",ya[ya.PURGE=4]="PURGE",ya[ya.RETURN=5]="RETURN",ya[ya.AGENT=6]="AGENT",ya[ya.THROW=7]="THROW",ya[ya.NONE=8]="NONE"})(SubGraphType||(SubGraphType={}));class ExecGraph{static isEmpty(ma){return Object.is(ExecGraph.Empty,ma)}constructor(){this.parentGraph=void 0,this.hasAgentsFlag=!1,this.loopBody=!1,this.rootNodes=new Array,this.subGraphs=new Array}pushNode(ma){return this.rootNodes.push(ma),this}pushSubGraph(ma){return ma.parentGraph=this,this.subGraphs.push(ma),this}getSubGraphsLength(){return this.subGraphs.length}getLastSubGraphIndex(){return this.subGraphs.length-1}fetchSubGraphAt(ma){if(ma<0||ma>=this.subGraphs.length)throw new Error(`Invalid sub-graph index: ${ma}`);return this.subGraphs[ma]}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(ma){return ma&&(this.activeModuleName=ma),this}getActiveModuleName(){return this.activeModuleName}getParentGraph(){return this.parentGraph}setEventName(ma){return ma!==void 0&&(this.eventName=ma),this}getEventName(){return this.eventName}setHasAgents(ma){return this.hasAgentsFlag=ma,this.parentGraph&&this.parentGraph.setHasAgents(ma),this}hasAgents(){return this.hasAgentsFlag}canCache(){return!this.hasAgentsFlag}setIsLoopBody(){return this.loopBody=!0,this}isLoopBody(){return this.loopBody}asObject(){const ma=new Array;return this.rootNodes.forEach(ba=>{var va;const Ma=ba.asObject();if(ba.subGraphIndex>=0){const El=this.subGraphs[ba.subGraphIndex],wl=El.asObject();if(ba.subGraphType==SubGraphType.FOR_EACH){const Sl=ba.code;Ma.var=(va=Sl.pattern.forEach)===null||va===void 0?void 0:va.var,Ma.source=wl,Ma.body=El.fetchForEachBodySubGraph().asObject()}else if(ba.subGraphType==SubGraphType.IF){Ma.condition=wl,Ma.body=El.fetchIfConsequentSubGraph().asObject();const Sl=El.fetchIfAlternativeSubGraph();Sl&&(Ma.else=Sl.asObject())}else Ma.subGraph=wl}ma.push(Ma)}),ma}}ExecGraph.Empty=new ExecGraph;var RuntimeModeTag;(function(ya){ya[ya.DEV=0]="DEV",ya[ya.PROD=1]="PROD",ya[ya.TEST=2]="TEST",ya[ya.INIT_SCHEMA=3]="INIT_SCHEMA",ya[ya.RUN_MIGRATION=4]="RUN_MIGRATION",ya[ya.UNDO_MIGRATION=5]="UNDO_MIGRATION",ya[ya.GENERATE_MIGRATION=6]="GENERATE_MIGRATION"})(RuntimeModeTag||(RuntimeModeTag={}));RuntimeModeTag.DEV;let DailyRotateFile,winston;isNodeEnv&&(await __vitePreload(()=>import("./index-D4z_hbl0-CMD8cq9r.js"),__vite__mapDeps([12,11,13,1,3,9,5,14,15,16,17,18,19,10,20,21,4])).then(ya=>ya.i).then(ya=>{DailyRotateFile=ya.default}),await __vitePreload(()=>import("./winston-CtxF18qc-BYqRCiI3.js"),__vite__mapDeps([22,11,13,1,3,9,5,14,15,16,18,19,10,20,21,17,4])).then(ya=>ya.w).then(ya=>{winston=ya.default}));let logger$1;function getLogLevel(){var ya;return isNodeEnv&&E$b.env&&E$b.env.DEBUG?"debug":((ya=void 0)===null||ya===void 0?void 0:ya.level)||"info"}function initializeLogger(){const ya=getLogLevel();if(isNodeEnv){const ma=new DailyRotateFile({level:ya,filename:"logs/app-%DATE%.log",datePattern:"YYYY-MM-DD",maxSize:"20m",maxFiles:"7d"});logger$1=winston.createLogger({level:ya,format:winston.format.combine(winston.format.timestamp(),winston.format.printf(({timestamp:ba,level:va,message:Ma})=>`[${ba}] ${va}: ${Ma}`)),transports:[ma]})}else{let ma=function(ba){return va=>{console.log(`${ba}: ${va}`)}};logger$1={debug:ma("DEBUG"),info:ma("INFO"),warn:ma("WARN"),error:ma("ERROR")}}}initializeLogger();const PlannerInstructions=`Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.
16237
+ `))}async function introspect(ya){let ma=[];const ba=await parse$2$1(`module Temp workflow Test {${ya}}`);if(maybeRaiseParserErrors(ba),isWorkflowDefinition(ba.parseResult.value.defs[0]))ma=introspectHelper(ba.parseResult.value.defs[0].statements);else throw new Error("Failed to parse statements");return ma}function introspectHelper(ya){const ma=[];return ya.forEach(ba=>{ma.push(introspectStatement(ba))}),ma}function introspectStatement(ya){const ma=introspectPattern(ya.pattern),ba=firstAliasSpec(ya);ba&&(ba.alias?ma.setAlias(ba.alias):ba.aliases.length>0&&ma.setAliases(ba.aliases));const va=firstCatchSpec(ya);return va&&va.handlers.forEach(Ma=>{ma.addHandler(Ma.except,introspectStatement(Ma.stmt))}),ma}function introspectPattern(ya){let ma;if(ya.crudMap?(isQueryPattern(ya)?ma=introspectQueryPattern(ya.crudMap):ma=introspectCreatePattern(ya.crudMap),ya.crudMap.into&&(ma=introspectInto(ya.crudMap.into,ma))):ya.expr?ma=introspectExpression(ya.expr):ya.forEach?ma=introspectForEach(ya.forEach):ya.if?ma=introspectIf(ya.if):ya.delete?ma=introspectDelete(ya.delete):ya.return?ma=introspectReturn(ya.return):ya.fullTextSearch&&(ma=introspectFullTextSearch(ya.fullTextSearch)),ma)return ma;throw new Error(`Failed to introspect pattern: ${ya}`)}function introspectInto(ya,ma){return ya.entries.forEach(ba=>{ba.attribute&&ma.addInto(ba.alias,ba.attribute)}),ma}function isQueryPattern(ya){if(ya.crudMap){const ma=ya.crudMap,ba=ma.name.endsWith(QuerySuffix);return!ba&&ma.body?ma.body.attributes.length>0&&ma.body.attributes.every(va=>va.name.endsWith(QuerySuffix)):ba}return!1}function introspectGroup(ya){return new GroupExpressionPattern(introspectExpression(ya.ge))}function introspectNegExpr(ya){return new NegExpressionPattern(introspectExpression(ya.ne))}function introspectNotExpr(ya){return new NotExpressionPattern(introspectExpression(ya.ne))}function introspectPrimExpr(ya){if(isLiteral(ya))return introspectLiteral(ya);if(isGroup(ya))return introspectGroup(ya);if(isNegExpr(ya))return introspectNegExpr(ya);if(isNotExpr(ya))return introspectNotExpr(ya);throw new Error(`Not a PrimExpr - ${ya}`)}function introspectExpression(ya){if(ya!==void 0){if(isPrimExpr(ya))return introspectPrimExpr(ya);if(ya.$cstNode)return new ExpressionPattern(ya.$cstNode.text)}throw new Error("Failed to introspect expression - "+ya)}function introspectQueryPattern(ya){var ma;if(ya){const ba=new CrudPattern(ya.name);return(ma=ya.body)===null||ma===void 0||ma.attributes.forEach(va=>{ba.addAttribute(va.name,introspectExpression(va.value),va.op)}),ya.relationships.forEach(va=>{ba.addRelationship(va.name,introspectPattern(va.pattern))}),ba.isCreate=!1,ba.isQueryUpdate=!1,ba.isQuery=!0,ba}throw new Error(`Failed to introspect query-pattern: ${ya}`)}function introspectCreatePattern(ya){var ma;if(ya){const ba=new CrudPattern(ya.name);ba.isCreate=!1,ba.isQuery=!1;let va=!1;return(ma=ya.body)===null||ma===void 0||ma.attributes.forEach(Ma=>{!va&&Ma.name.endsWith(QuerySuffix)&&(va=!0),ba.addAttribute(Ma.name,introspectExpression(Ma.value),Ma.op)}),ya.relationships.forEach(Ma=>{ba.addRelationship(Ma.name,introspectPattern(Ma.pattern))}),ba.isQueryUpdate=va,va?(ba.isCreate=!1,ba.isQuery=!1):(ba.isCreate=!0,ba.isQuery=!1),ba}throw new Error(`Failed to introspect create-pattern: ${ya}`)}function asFnCallPattern(ya){return new FunctionCallPattern(ya.name,ya.args.map(ma=>isExpr(ma)?introspectExpression(ma):introspectLiteral(ma)))}function introspectLiteral(ya){if(ya.id)return LiteralPattern.Id(ya.id);if(ya.num)return LiteralPattern.Number(ya.num);if(ya.ref)return LiteralPattern.Reference(ya.ref);if(ya.str!==void 0)return LiteralPattern.String(ya.str);if(ya.bool)return LiteralPattern.Boolean(ya.bool=="true");if(ya.fnCall)return asFnCallPattern(ya.fnCall);if(ya.asyncFnCall)return asFnCallPattern(ya.asyncFnCall.fnCall).asAsync();if(ya.array)return LiteralPattern.Array(ya.array.vals.map(ma=>introspectStatement(ma)));if(ya.map)return introspectMapLiteral(ya.map);throw new Error(`Invalid literal - ${ya}`)}function introspectMapLiteral(ya){const ma=new Map;return ya.entries.forEach(ba=>{ma.set(ba.key,introspectExpression(ba.value))}),LiteralPattern.Map(ma)}function introspectForEach(ya){const ma=new ForEachPattern(ya.var,introspectPattern(ya.src));return ya.statements.forEach(ba=>{ma.addPattern(introspectStatement(ba))}),ma}function introspectIf(ya){const ma=new IfPattern(introspectExpression(ya.cond));return ya.statements.forEach(ba=>{ma.addPattern(introspectStatement(ba))}),ya.else&&ma.setElse(ya.else.statements.map(ba=>introspectStatement(ba))),ma}function introspectDelete(ya){return new DeletePattern(introspectPattern(ya.pattern))}function introspectReturn(ya){return new ReturnPattern(introspectPattern(ya.pattern))}function introspectFullTextSearch(ya){let ma;return ya.options&&(ma=introspectMapLiteral(ya.options)),new FullTextSearchPattern(ya.name,introspectLiteral(ya.query),ma)}var util$1$1;(function(ya){ya.assertEqual=Ma=>{};function ma(Ma){}ya.assertIs=ma;function ba(Ma){throw new Error}ya.assertNever=ba,ya.arrayToEnum=Ma=>{const El={};for(const wl of Ma)El[wl]=wl;return El},ya.getValidEnumValues=Ma=>{const El=ya.objectKeys(Ma).filter(Sl=>typeof Ma[Ma[Sl]]!="number"),wl={};for(const Sl of El)wl[Sl]=Ma[Sl];return ya.objectValues(wl)},ya.objectValues=Ma=>ya.objectKeys(Ma).map(function(El){return Ma[El]}),ya.objectKeys=typeof Object.keys=="function"?Ma=>Object.keys(Ma):Ma=>{const El=[];for(const wl in Ma)Object.prototype.hasOwnProperty.call(Ma,wl)&&El.push(wl);return El},ya.find=(Ma,El)=>{for(const wl of Ma)if(El(wl))return wl},ya.isInteger=typeof Number.isInteger=="function"?Ma=>Number.isInteger(Ma):Ma=>typeof Ma=="number"&&Number.isFinite(Ma)&&Math.floor(Ma)===Ma;function va(Ma,El=" | "){return Ma.map(wl=>typeof wl=="string"?`'${wl}'`:wl).join(El)}ya.joinValues=va,ya.jsonStringifyReplacer=(Ma,El)=>typeof El=="bigint"?El.toString():El})(util$1$1||(util$1$1={}));var objectUtil;(function(ya){ya.mergeShapes=(ma,ba)=>({...ma,...ba})})(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=ya=>{switch(typeof ya){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return Number.isNaN(ya)?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(ya)?ZodParsedType.array:ya===null?ZodParsedType.null:ya.then&&typeof ya.then=="function"&&ya.catch&&typeof ya.catch=="function"?ZodParsedType.promise:typeof Map<"u"&&ya instanceof Map?ZodParsedType.map:typeof Set<"u"&&ya instanceof Set?ZodParsedType.set:typeof Date<"u"&&ya 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(ma){super(),this.issues=[],this.addIssue=va=>{this.issues=[...this.issues,va]},this.addIssues=(va=[])=>{this.issues=[...this.issues,...va]};const ba=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,ba):this.__proto__=ba,this.name="ZodError",this.issues=ma}format(ma){const ba=ma||function(El){return El.message},va={_errors:[]},Ma=El=>{for(const wl of El.issues)if(wl.code==="invalid_union")wl.unionErrors.map(Ma);else if(wl.code==="invalid_return_type")Ma(wl.returnTypeError);else if(wl.code==="invalid_arguments")Ma(wl.argumentsError);else if(wl.path.length===0)va._errors.push(ba(wl));else{let Sl=va,Cl=0;for(;Cl<wl.path.length;){const Mc=wl.path[Cl];Cl===wl.path.length-1?(Sl[Mc]=Sl[Mc]||{_errors:[]},Sl[Mc]._errors.push(ba(wl))):Sl[Mc]=Sl[Mc]||{_errors:[]},Sl=Sl[Mc],Cl++}}};return Ma(this),va}static assert(ma){if(!(ma instanceof ZodError))throw new Error(`Not a ZodError: ${ma}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,util$1$1.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(ma=ba=>ba.message){const ba={},va=[];for(const Ma of this.issues)if(Ma.path.length>0){const El=Ma.path[0];ba[El]=ba[El]||[],ba[El].push(ma(Ma))}else va.push(ma(Ma));return{formErrors:va,fieldErrors:ba}}get formErrors(){return this.flatten()}}ZodError.create=ya=>new ZodError(ya);const errorMap=(ya,ma)=>{let ba;switch(ya.code){case ZodIssueCode.invalid_type:ya.received===ZodParsedType.undefined?ba="Required":ba=`Expected ${ya.expected}, received ${ya.received}`;break;case ZodIssueCode.invalid_literal:ba=`Invalid literal value, expected ${JSON.stringify(ya.expected,util$1$1.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:ba=`Unrecognized key(s) in object: ${util$1$1.joinValues(ya.keys,", ")}`;break;case ZodIssueCode.invalid_union:ba="Invalid input";break;case ZodIssueCode.invalid_union_discriminator:ba=`Invalid discriminator value. Expected ${util$1$1.joinValues(ya.options)}`;break;case ZodIssueCode.invalid_enum_value:ba=`Invalid enum value. Expected ${util$1$1.joinValues(ya.options)}, received '${ya.received}'`;break;case ZodIssueCode.invalid_arguments:ba="Invalid function arguments";break;case ZodIssueCode.invalid_return_type:ba="Invalid function return type";break;case ZodIssueCode.invalid_date:ba="Invalid date";break;case ZodIssueCode.invalid_string:typeof ya.validation=="object"?"includes"in ya.validation?(ba=`Invalid input: must include "${ya.validation.includes}"`,typeof ya.validation.position=="number"&&(ba=`${ba} at one or more positions greater than or equal to ${ya.validation.position}`)):"startsWith"in ya.validation?ba=`Invalid input: must start with "${ya.validation.startsWith}"`:"endsWith"in ya.validation?ba=`Invalid input: must end with "${ya.validation.endsWith}"`:util$1$1.assertNever(ya.validation):ya.validation!=="regex"?ba=`Invalid ${ya.validation}`:ba="Invalid";break;case ZodIssueCode.too_small:ya.type==="array"?ba=`Array must contain ${ya.exact?"exactly":ya.inclusive?"at least":"more than"} ${ya.minimum} element(s)`:ya.type==="string"?ba=`String must contain ${ya.exact?"exactly":ya.inclusive?"at least":"over"} ${ya.minimum} character(s)`:ya.type==="number"?ba=`Number must be ${ya.exact?"exactly equal to ":ya.inclusive?"greater than or equal to ":"greater than "}${ya.minimum}`:ya.type==="bigint"?ba=`Number must be ${ya.exact?"exactly equal to ":ya.inclusive?"greater than or equal to ":"greater than "}${ya.minimum}`:ya.type==="date"?ba=`Date must be ${ya.exact?"exactly equal to ":ya.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(ya.minimum))}`:ba="Invalid input";break;case ZodIssueCode.too_big:ya.type==="array"?ba=`Array must contain ${ya.exact?"exactly":ya.inclusive?"at most":"less than"} ${ya.maximum} element(s)`:ya.type==="string"?ba=`String must contain ${ya.exact?"exactly":ya.inclusive?"at most":"under"} ${ya.maximum} character(s)`:ya.type==="number"?ba=`Number must be ${ya.exact?"exactly":ya.inclusive?"less than or equal to":"less than"} ${ya.maximum}`:ya.type==="bigint"?ba=`BigInt must be ${ya.exact?"exactly":ya.inclusive?"less than or equal to":"less than"} ${ya.maximum}`:ya.type==="date"?ba=`Date must be ${ya.exact?"exactly":ya.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(ya.maximum))}`:ba="Invalid input";break;case ZodIssueCode.custom:ba="Invalid input";break;case ZodIssueCode.invalid_intersection_types:ba="Intersection results could not be merged";break;case ZodIssueCode.not_multiple_of:ba=`Number must be a multiple of ${ya.multipleOf}`;break;case ZodIssueCode.not_finite:ba="Number must be finite";break;default:ba=ma.defaultError,util$1$1.assertNever(ya)}return{message:ba}};let overrideErrorMap=errorMap;function getErrorMap(){return overrideErrorMap}const makeIssue=ya=>{const{data:ma,path:ba,errorMaps:va,issueData:Ma}=ya,El=[...ba,...Ma.path||[]],wl={...Ma,path:El};if(Ma.message!==void 0)return{...Ma,path:El,message:Ma.message};let Sl="";const Cl=va.filter(Mc=>!!Mc).slice().reverse();for(const Mc of Cl)Sl=Mc(wl,{data:ma,defaultError:Sl}).message;return{...Ma,path:El,message:Sl}};function addIssueToContext(ya,ma){const ba=getErrorMap(),va=makeIssue({issueData:ma,data:ya.data,path:ya.path,errorMaps:[ya.common.contextualErrorMap,ya.schemaErrorMap,ba,ba===errorMap?void 0:errorMap].filter(Ma=>!!Ma)});ya.common.issues.push(va)}class ParseStatus{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(ma,ba){const va=[];for(const Ma of ba){if(Ma.status==="aborted")return INVALID;Ma.status==="dirty"&&ma.dirty(),va.push(Ma.value)}return{status:ma.value,value:va}}static async mergeObjectAsync(ma,ba){const va=[];for(const Ma of ba){const El=await Ma.key,wl=await Ma.value;va.push({key:El,value:wl})}return ParseStatus.mergeObjectSync(ma,va)}static mergeObjectSync(ma,ba){const va={};for(const Ma of ba){const{key:El,value:wl}=Ma;if(El.status==="aborted"||wl.status==="aborted")return INVALID;El.status==="dirty"&&ma.dirty(),wl.status==="dirty"&&ma.dirty(),El.value!=="__proto__"&&(typeof wl.value<"u"||Ma.alwaysSet)&&(va[El.value]=wl.value)}return{status:ma.value,value:va}}}const INVALID=Object.freeze({status:"aborted"}),DIRTY=ya=>({status:"dirty",value:ya}),OK=ya=>({status:"valid",value:ya}),isAborted=ya=>ya.status==="aborted",isDirty=ya=>ya.status==="dirty",isValid=ya=>ya.status==="valid",isAsync=ya=>typeof Promise<"u"&&ya instanceof Promise;var errorUtil;(function(ya){ya.errToObj=ma=>typeof ma=="string"?{message:ma}:ma||{},ya.toString=ma=>typeof ma=="string"?ma:ma?.message})(errorUtil||(errorUtil={}));class ParseInputLazyPath{constructor(ma,ba,va,Ma){this._cachedPath=[],this.parent=ma,this.data=ba,this._path=va,this._key=Ma}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=(ya,ma)=>{if(isValid(ma))return{success:!0,data:ma.value};if(!ya.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const ba=new ZodError(ya.common.issues);return this._error=ba,this._error}}};function processCreateParams(ya){if(!ya)return{};const{errorMap:ma,invalid_type_error:ba,required_error:va,description:Ma}=ya;if(ma&&(ba||va))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return ma?{errorMap:ma,description:Ma}:{errorMap:(El,wl)=>{const{message:Sl}=ya;return El.code==="invalid_enum_value"?{message:Sl??wl.defaultError}:typeof wl.data>"u"?{message:Sl??va??wl.defaultError}:El.code!=="invalid_type"?{message:wl.defaultError}:{message:Sl??ba??wl.defaultError}},description:Ma}}class ZodType{get description(){return this._def.description}_getType(ma){return getParsedType(ma.data)}_getOrReturnCtx(ma,ba){return ba||{common:ma.parent.common,data:ma.data,parsedType:getParsedType(ma.data),schemaErrorMap:this._def.errorMap,path:ma.path,parent:ma.parent}}_processInputParams(ma){return{status:new ParseStatus,ctx:{common:ma.parent.common,data:ma.data,parsedType:getParsedType(ma.data),schemaErrorMap:this._def.errorMap,path:ma.path,parent:ma.parent}}}_parseSync(ma){const ba=this._parse(ma);if(isAsync(ba))throw new Error("Synchronous parse encountered promise.");return ba}_parseAsync(ma){const ba=this._parse(ma);return Promise.resolve(ba)}parse(ma,ba){const va=this.safeParse(ma,ba);if(va.success)return va.data;throw va.error}safeParse(ma,ba){const va={common:{issues:[],async:ba?.async??!1,contextualErrorMap:ba?.errorMap},path:ba?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:ma,parsedType:getParsedType(ma)},Ma=this._parseSync({data:ma,path:va.path,parent:va});return handleResult(va,Ma)}"~validate"(ma){const ba={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:ma,parsedType:getParsedType(ma)};if(!this["~standard"].async)try{const va=this._parseSync({data:ma,path:[],parent:ba});return isValid(va)?{value:va.value}:{issues:ba.common.issues}}catch(va){va?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),ba.common={issues:[],async:!0}}return this._parseAsync({data:ma,path:[],parent:ba}).then(va=>isValid(va)?{value:va.value}:{issues:ba.common.issues})}async parseAsync(ma,ba){const va=await this.safeParseAsync(ma,ba);if(va.success)return va.data;throw va.error}async safeParseAsync(ma,ba){const va={common:{issues:[],contextualErrorMap:ba?.errorMap,async:!0},path:ba?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:ma,parsedType:getParsedType(ma)},Ma=this._parse({data:ma,path:va.path,parent:va}),El=await(isAsync(Ma)?Ma:Promise.resolve(Ma));return handleResult(va,El)}refine(ma,ba){const va=Ma=>typeof ba=="string"||typeof ba>"u"?{message:ba}:typeof ba=="function"?ba(Ma):ba;return this._refinement((Ma,El)=>{const wl=ma(Ma),Sl=()=>El.addIssue({code:ZodIssueCode.custom,...va(Ma)});return typeof Promise<"u"&&wl instanceof Promise?wl.then(Cl=>Cl?!0:(Sl(),!1)):wl?!0:(Sl(),!1)})}refinement(ma,ba){return this._refinement((va,Ma)=>ma(va)?!0:(Ma.addIssue(typeof ba=="function"?ba(va,Ma):ba),!1))}_refinement(ma){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement:ma}})}superRefine(ma){return this._refinement(ma)}constructor(ma){this.spa=this.safeParseAsync,this._def=ma,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:ba=>this["~validate"](ba)}}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(ma){return ZodUnion.create([this,ma],this._def)}and(ma){return ZodIntersection.create(this,ma,this._def)}transform(ma){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:ma}})}default(ma){const ba=typeof ma=="function"?ma:()=>ma;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:ba,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(ma){const ba=typeof ma=="function"?ma:()=>ma;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:ba,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(ma){const ba=this.constructor;return new ba({...this._def,description:ma})}pipe(ma){return ZodPipeline.create(this,ma)}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(ya){let ma="[0-5]\\d";ya.precision?ma=`${ma}\\.\\d{${ya.precision}}`:ya.precision==null&&(ma=`${ma}(\\.\\d+)?`);const ba=ya.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${ma})${ba}`}function timeRegex(ya){return new RegExp(`^${timeRegexSource(ya)}$`)}function datetimeRegex(ya){let ma=`${dateRegexSource}T${timeRegexSource(ya)}`;const ba=[];return ba.push(ya.local?"Z?":"Z"),ya.offset&&ba.push("([+-]\\d{2}:?\\d{2})"),ma=`${ma}(${ba.join("|")})`,new RegExp(`^${ma}$`)}function isValidIP(ya,ma){return!!((ma==="v4"||!ma)&&ipv4Regex.test(ya)||(ma==="v6"||!ma)&&ipv6Regex.test(ya))}function isValidJWT(ya,ma){if(!jwtRegex.test(ya))return!1;try{const[ba]=ya.split(".");if(!ba)return!1;const va=ba.replace(/-/g,"+").replace(/_/g,"/").padEnd(ba.length+(4-ba.length%4)%4,"="),Ma=JSON.parse(atob(va));return!(typeof Ma!="object"||Ma===null||"typ"in Ma&&Ma?.typ!=="JWT"||!Ma.alg||ma&&Ma.alg!==ma)}catch{return!1}}function isValidCidr(ya,ma){return!!((ma==="v4"||!ma)&&ipv4CidrRegex.test(ya)||(ma==="v6"||!ma)&&ipv6CidrRegex.test(ya))}class ZodString extends ZodType{_parse(ma){if(this._def.coerce&&(ma.data=String(ma.data)),this._getType(ma)!==ZodParsedType.string){const Ma=this._getOrReturnCtx(ma);return addIssueToContext(Ma,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:Ma.parsedType}),INVALID}const ba=new ParseStatus;let va;for(const Ma of this._def.checks)if(Ma.kind==="min")ma.data.length<Ma.value&&(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.too_small,minimum:Ma.value,type:"string",inclusive:!0,exact:!1,message:Ma.message}),ba.dirty());else if(Ma.kind==="max")ma.data.length>Ma.value&&(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.too_big,maximum:Ma.value,type:"string",inclusive:!0,exact:!1,message:Ma.message}),ba.dirty());else if(Ma.kind==="length"){const El=ma.data.length>Ma.value,wl=ma.data.length<Ma.value;(El||wl)&&(va=this._getOrReturnCtx(ma,va),El?addIssueToContext(va,{code:ZodIssueCode.too_big,maximum:Ma.value,type:"string",inclusive:!0,exact:!0,message:Ma.message}):wl&&addIssueToContext(va,{code:ZodIssueCode.too_small,minimum:Ma.value,type:"string",inclusive:!0,exact:!0,message:Ma.message}),ba.dirty())}else if(Ma.kind==="email")emailRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"email",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="emoji")emojiRegex$2||(emojiRegex$2=new RegExp(_emojiRegex,"u")),emojiRegex$2.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"emoji",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="uuid")uuidRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"uuid",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="nanoid")nanoidRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"nanoid",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="cuid")cuidRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"cuid",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="cuid2")cuid2Regex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"cuid2",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="ulid")ulidRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"ulid",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty());else if(Ma.kind==="url")try{new URL(ma.data)}catch{va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"url",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()}else Ma.kind==="regex"?(Ma.regex.lastIndex=0,Ma.regex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"regex",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty())):Ma.kind==="trim"?ma.data=ma.data.trim():Ma.kind==="includes"?ma.data.includes(Ma.value,Ma.position)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:{includes:Ma.value,position:Ma.position},message:Ma.message}),ba.dirty()):Ma.kind==="toLowerCase"?ma.data=ma.data.toLowerCase():Ma.kind==="toUpperCase"?ma.data=ma.data.toUpperCase():Ma.kind==="startsWith"?ma.data.startsWith(Ma.value)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:{startsWith:Ma.value},message:Ma.message}),ba.dirty()):Ma.kind==="endsWith"?ma.data.endsWith(Ma.value)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:{endsWith:Ma.value},message:Ma.message}),ba.dirty()):Ma.kind==="datetime"?datetimeRegex(Ma).test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:"datetime",message:Ma.message}),ba.dirty()):Ma.kind==="date"?dateRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:"date",message:Ma.message}),ba.dirty()):Ma.kind==="time"?timeRegex(Ma).test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.invalid_string,validation:"time",message:Ma.message}),ba.dirty()):Ma.kind==="duration"?durationRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"duration",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="ip"?isValidIP(ma.data,Ma.version)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"ip",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="jwt"?isValidJWT(ma.data,Ma.alg)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"jwt",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="cidr"?isValidCidr(ma.data,Ma.version)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"cidr",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="base64"?base64Regex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"base64",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):Ma.kind==="base64url"?base64urlRegex.test(ma.data)||(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{validation:"base64url",code:ZodIssueCode.invalid_string,message:Ma.message}),ba.dirty()):util$1$1.assertNever(Ma);return{status:ba.value,value:ma.data}}_regex(ma,ba,va){return this.refinement(Ma=>ma.test(Ma),{validation:ba,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(va)})}_addCheck(ma){return new ZodString({...this._def,checks:[...this._def.checks,ma]})}email(ma){return this._addCheck({kind:"email",...errorUtil.errToObj(ma)})}url(ma){return this._addCheck({kind:"url",...errorUtil.errToObj(ma)})}emoji(ma){return this._addCheck({kind:"emoji",...errorUtil.errToObj(ma)})}uuid(ma){return this._addCheck({kind:"uuid",...errorUtil.errToObj(ma)})}nanoid(ma){return this._addCheck({kind:"nanoid",...errorUtil.errToObj(ma)})}cuid(ma){return this._addCheck({kind:"cuid",...errorUtil.errToObj(ma)})}cuid2(ma){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(ma)})}ulid(ma){return this._addCheck({kind:"ulid",...errorUtil.errToObj(ma)})}base64(ma){return this._addCheck({kind:"base64",...errorUtil.errToObj(ma)})}base64url(ma){return this._addCheck({kind:"base64url",...errorUtil.errToObj(ma)})}jwt(ma){return this._addCheck({kind:"jwt",...errorUtil.errToObj(ma)})}ip(ma){return this._addCheck({kind:"ip",...errorUtil.errToObj(ma)})}cidr(ma){return this._addCheck({kind:"cidr",...errorUtil.errToObj(ma)})}datetime(ma){return typeof ma=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:ma}):this._addCheck({kind:"datetime",precision:typeof ma?.precision>"u"?null:ma?.precision,offset:ma?.offset??!1,local:ma?.local??!1,...errorUtil.errToObj(ma?.message)})}date(ma){return this._addCheck({kind:"date",message:ma})}time(ma){return typeof ma=="string"?this._addCheck({kind:"time",precision:null,message:ma}):this._addCheck({kind:"time",precision:typeof ma?.precision>"u"?null:ma?.precision,...errorUtil.errToObj(ma?.message)})}duration(ma){return this._addCheck({kind:"duration",...errorUtil.errToObj(ma)})}regex(ma,ba){return this._addCheck({kind:"regex",regex:ma,...errorUtil.errToObj(ba)})}includes(ma,ba){return this._addCheck({kind:"includes",value:ma,position:ba?.position,...errorUtil.errToObj(ba?.message)})}startsWith(ma,ba){return this._addCheck({kind:"startsWith",value:ma,...errorUtil.errToObj(ba)})}endsWith(ma,ba){return this._addCheck({kind:"endsWith",value:ma,...errorUtil.errToObj(ba)})}min(ma,ba){return this._addCheck({kind:"min",value:ma,...errorUtil.errToObj(ba)})}max(ma,ba){return this._addCheck({kind:"max",value:ma,...errorUtil.errToObj(ba)})}length(ma,ba){return this._addCheck({kind:"length",value:ma,...errorUtil.errToObj(ba)})}nonempty(ma){return this.min(1,errorUtil.errToObj(ma))}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(ma=>ma.kind==="datetime")}get isDate(){return!!this._def.checks.find(ma=>ma.kind==="date")}get isTime(){return!!this._def.checks.find(ma=>ma.kind==="time")}get isDuration(){return!!this._def.checks.find(ma=>ma.kind==="duration")}get isEmail(){return!!this._def.checks.find(ma=>ma.kind==="email")}get isURL(){return!!this._def.checks.find(ma=>ma.kind==="url")}get isEmoji(){return!!this._def.checks.find(ma=>ma.kind==="emoji")}get isUUID(){return!!this._def.checks.find(ma=>ma.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(ma=>ma.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(ma=>ma.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(ma=>ma.kind==="cuid2")}get isULID(){return!!this._def.checks.find(ma=>ma.kind==="ulid")}get isIP(){return!!this._def.checks.find(ma=>ma.kind==="ip")}get isCIDR(){return!!this._def.checks.find(ma=>ma.kind==="cidr")}get isBase64(){return!!this._def.checks.find(ma=>ma.kind==="base64")}get isBase64url(){return!!this._def.checks.find(ma=>ma.kind==="base64url")}get minLength(){let ma=null;for(const ba of this._def.checks)ba.kind==="min"&&(ma===null||ba.value>ma)&&(ma=ba.value);return ma}get maxLength(){let ma=null;for(const ba of this._def.checks)ba.kind==="max"&&(ma===null||ba.value<ma)&&(ma=ba.value);return ma}}ZodString.create=ya=>new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:ya?.coerce??!1,...processCreateParams(ya)});function floatSafeRemainder(ya,ma){const ba=(ya.toString().split(".")[1]||"").length,va=(ma.toString().split(".")[1]||"").length,Ma=ba>va?ba:va,El=Number.parseInt(ya.toFixed(Ma).replace(".","")),wl=Number.parseInt(ma.toFixed(Ma).replace(".",""));return El%wl/10**Ma}class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(ma){if(this._def.coerce&&(ma.data=Number(ma.data)),this._getType(ma)!==ZodParsedType.number){const Ma=this._getOrReturnCtx(ma);return addIssueToContext(Ma,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:Ma.parsedType}),INVALID}let ba;const va=new ParseStatus;for(const Ma of this._def.checks)Ma.kind==="int"?util$1$1.isInteger(ma.data)||(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:Ma.message}),va.dirty()):Ma.kind==="min"?(Ma.inclusive?ma.data<Ma.value:ma.data<=Ma.value)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.too_small,minimum:Ma.value,type:"number",inclusive:Ma.inclusive,exact:!1,message:Ma.message}),va.dirty()):Ma.kind==="max"?(Ma.inclusive?ma.data>Ma.value:ma.data>=Ma.value)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.too_big,maximum:Ma.value,type:"number",inclusive:Ma.inclusive,exact:!1,message:Ma.message}),va.dirty()):Ma.kind==="multipleOf"?floatSafeRemainder(ma.data,Ma.value)!==0&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.not_multiple_of,multipleOf:Ma.value,message:Ma.message}),va.dirty()):Ma.kind==="finite"?Number.isFinite(ma.data)||(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.not_finite,message:Ma.message}),va.dirty()):util$1$1.assertNever(Ma);return{status:va.value,value:ma.data}}gte(ma,ba){return this.setLimit("min",ma,!0,errorUtil.toString(ba))}gt(ma,ba){return this.setLimit("min",ma,!1,errorUtil.toString(ba))}lte(ma,ba){return this.setLimit("max",ma,!0,errorUtil.toString(ba))}lt(ma,ba){return this.setLimit("max",ma,!1,errorUtil.toString(ba))}setLimit(ma,ba,va,Ma){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:ma,value:ba,inclusive:va,message:errorUtil.toString(Ma)}]})}_addCheck(ma){return new ZodNumber({...this._def,checks:[...this._def.checks,ma]})}int(ma){return this._addCheck({kind:"int",message:errorUtil.toString(ma)})}positive(ma){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(ma)})}negative(ma){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(ma)})}nonpositive(ma){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(ma)})}nonnegative(ma){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(ma)})}multipleOf(ma,ba){return this._addCheck({kind:"multipleOf",value:ma,message:errorUtil.toString(ba)})}finite(ma){return this._addCheck({kind:"finite",message:errorUtil.toString(ma)})}safe(ma){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(ma)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(ma)})}get minValue(){let ma=null;for(const ba of this._def.checks)ba.kind==="min"&&(ma===null||ba.value>ma)&&(ma=ba.value);return ma}get maxValue(){let ma=null;for(const ba of this._def.checks)ba.kind==="max"&&(ma===null||ba.value<ma)&&(ma=ba.value);return ma}get isInt(){return!!this._def.checks.find(ma=>ma.kind==="int"||ma.kind==="multipleOf"&&util$1$1.isInteger(ma.value))}get isFinite(){let ma=null,ba=null;for(const va of this._def.checks){if(va.kind==="finite"||va.kind==="int"||va.kind==="multipleOf")return!0;va.kind==="min"?(ba===null||va.value>ba)&&(ba=va.value):va.kind==="max"&&(ma===null||va.value<ma)&&(ma=va.value)}return Number.isFinite(ba)&&Number.isFinite(ma)}}ZodNumber.create=ya=>new ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:ya?.coerce||!1,...processCreateParams(ya)});class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(ma){if(this._def.coerce)try{ma.data=BigInt(ma.data)}catch{return this._getInvalidInput(ma)}if(this._getType(ma)!==ZodParsedType.bigint)return this._getInvalidInput(ma);let ba;const va=new ParseStatus;for(const Ma of this._def.checks)Ma.kind==="min"?(Ma.inclusive?ma.data<Ma.value:ma.data<=Ma.value)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.too_small,type:"bigint",minimum:Ma.value,inclusive:Ma.inclusive,message:Ma.message}),va.dirty()):Ma.kind==="max"?(Ma.inclusive?ma.data>Ma.value:ma.data>=Ma.value)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.too_big,type:"bigint",maximum:Ma.value,inclusive:Ma.inclusive,message:Ma.message}),va.dirty()):Ma.kind==="multipleOf"?ma.data%Ma.value!==BigInt(0)&&(ba=this._getOrReturnCtx(ma,ba),addIssueToContext(ba,{code:ZodIssueCode.not_multiple_of,multipleOf:Ma.value,message:Ma.message}),va.dirty()):util$1$1.assertNever(Ma);return{status:va.value,value:ma.data}}_getInvalidInput(ma){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:ba.parsedType}),INVALID}gte(ma,ba){return this.setLimit("min",ma,!0,errorUtil.toString(ba))}gt(ma,ba){return this.setLimit("min",ma,!1,errorUtil.toString(ba))}lte(ma,ba){return this.setLimit("max",ma,!0,errorUtil.toString(ba))}lt(ma,ba){return this.setLimit("max",ma,!1,errorUtil.toString(ba))}setLimit(ma,ba,va,Ma){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:ma,value:ba,inclusive:va,message:errorUtil.toString(Ma)}]})}_addCheck(ma){return new ZodBigInt({...this._def,checks:[...this._def.checks,ma]})}positive(ma){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:errorUtil.toString(ma)})}negative(ma){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:errorUtil.toString(ma)})}nonpositive(ma){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:errorUtil.toString(ma)})}nonnegative(ma){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:errorUtil.toString(ma)})}multipleOf(ma,ba){return this._addCheck({kind:"multipleOf",value:ma,message:errorUtil.toString(ba)})}get minValue(){let ma=null;for(const ba of this._def.checks)ba.kind==="min"&&(ma===null||ba.value>ma)&&(ma=ba.value);return ma}get maxValue(){let ma=null;for(const ba of this._def.checks)ba.kind==="max"&&(ma===null||ba.value<ma)&&(ma=ba.value);return ma}}ZodBigInt.create=ya=>new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:ya?.coerce??!1,...processCreateParams(ya)});class ZodBoolean extends ZodType{_parse(ma){if(this._def.coerce&&(ma.data=!!ma.data),this._getType(ma)!==ZodParsedType.boolean){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodBoolean.create=ya=>new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:ya?.coerce||!1,...processCreateParams(ya)});class ZodDate extends ZodType{_parse(ma){if(this._def.coerce&&(ma.data=new Date(ma.data)),this._getType(ma)!==ZodParsedType.date){const Ma=this._getOrReturnCtx(ma);return addIssueToContext(Ma,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:Ma.parsedType}),INVALID}if(Number.isNaN(ma.data.getTime())){const Ma=this._getOrReturnCtx(ma);return addIssueToContext(Ma,{code:ZodIssueCode.invalid_date}),INVALID}const ba=new ParseStatus;let va;for(const Ma of this._def.checks)Ma.kind==="min"?ma.data.getTime()<Ma.value&&(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.too_small,message:Ma.message,inclusive:!0,exact:!1,minimum:Ma.value,type:"date"}),ba.dirty()):Ma.kind==="max"?ma.data.getTime()>Ma.value&&(va=this._getOrReturnCtx(ma,va),addIssueToContext(va,{code:ZodIssueCode.too_big,message:Ma.message,inclusive:!0,exact:!1,maximum:Ma.value,type:"date"}),ba.dirty()):util$1$1.assertNever(Ma);return{status:ba.value,value:new Date(ma.data.getTime())}}_addCheck(ma){return new ZodDate({...this._def,checks:[...this._def.checks,ma]})}min(ma,ba){return this._addCheck({kind:"min",value:ma.getTime(),message:errorUtil.toString(ba)})}max(ma,ba){return this._addCheck({kind:"max",value:ma.getTime(),message:errorUtil.toString(ba)})}get minDate(){let ma=null;for(const ba of this._def.checks)ba.kind==="min"&&(ma===null||ba.value>ma)&&(ma=ba.value);return ma!=null?new Date(ma):null}get maxDate(){let ma=null;for(const ba of this._def.checks)ba.kind==="max"&&(ma===null||ba.value<ma)&&(ma=ba.value);return ma!=null?new Date(ma):null}}ZodDate.create=ya=>new ZodDate({checks:[],coerce:ya?.coerce||!1,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(ya)});class ZodSymbol extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.symbol){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodSymbol.create=ya=>new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(ya)});class ZodUndefined extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.undefined){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodUndefined.create=ya=>new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(ya)});class ZodNull extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.null){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodNull.create=ya=>new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(ya)});class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(ma){return OK(ma.data)}}ZodAny.create=ya=>new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(ya)});class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(ma){return OK(ma.data)}}ZodUnknown.create=ya=>new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(ya)});class ZodNever extends ZodType{_parse(ma){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:ba.parsedType}),INVALID}}ZodNever.create=ya=>new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(ya)});class ZodVoid extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.undefined){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:ba.parsedType}),INVALID}return OK(ma.data)}}ZodVoid.create=ya=>new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(ya)});class ZodArray extends ZodType{_parse(ma){const{ctx:ba,status:va}=this._processInputParams(ma),Ma=this._def;if(ba.parsedType!==ZodParsedType.array)return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ba.parsedType}),INVALID;if(Ma.exactLength!==null){const wl=ba.data.length>Ma.exactLength.value,Sl=ba.data.length<Ma.exactLength.value;(wl||Sl)&&(addIssueToContext(ba,{code:wl?ZodIssueCode.too_big:ZodIssueCode.too_small,minimum:Sl?Ma.exactLength.value:void 0,maximum:wl?Ma.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Ma.exactLength.message}),va.dirty())}if(Ma.minLength!==null&&ba.data.length<Ma.minLength.value&&(addIssueToContext(ba,{code:ZodIssueCode.too_small,minimum:Ma.minLength.value,type:"array",inclusive:!0,exact:!1,message:Ma.minLength.message}),va.dirty()),Ma.maxLength!==null&&ba.data.length>Ma.maxLength.value&&(addIssueToContext(ba,{code:ZodIssueCode.too_big,maximum:Ma.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Ma.maxLength.message}),va.dirty()),ba.common.async)return Promise.all([...ba.data].map((wl,Sl)=>Ma.type._parseAsync(new ParseInputLazyPath(ba,wl,ba.path,Sl)))).then(wl=>ParseStatus.mergeArray(va,wl));const El=[...ba.data].map((wl,Sl)=>Ma.type._parseSync(new ParseInputLazyPath(ba,wl,ba.path,Sl)));return ParseStatus.mergeArray(va,El)}get element(){return this._def.type}min(ma,ba){return new ZodArray({...this._def,minLength:{value:ma,message:errorUtil.toString(ba)}})}max(ma,ba){return new ZodArray({...this._def,maxLength:{value:ma,message:errorUtil.toString(ba)}})}length(ma,ba){return new ZodArray({...this._def,exactLength:{value:ma,message:errorUtil.toString(ba)}})}nonempty(ma){return this.min(1,ma)}}ZodArray.create=(ya,ma)=>new ZodArray({type:ya,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(ma)});function deepPartialify(ya){if(ya instanceof ZodObject){const ma={};for(const ba in ya.shape){const va=ya.shape[ba];ma[ba]=ZodOptional.create(deepPartialify(va))}return new ZodObject({...ya._def,shape:()=>ma})}else return ya instanceof ZodArray?new ZodArray({...ya._def,type:deepPartialify(ya.element)}):ya instanceof ZodOptional?ZodOptional.create(deepPartialify(ya.unwrap())):ya instanceof ZodNullable?ZodNullable.create(deepPartialify(ya.unwrap())):ya instanceof ZodTuple?ZodTuple.create(ya.items.map(ma=>deepPartialify(ma))):ya}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 ma=this._def.shape(),ba=util$1$1.objectKeys(ma);return this._cached={shape:ma,keys:ba},this._cached}_parse(ma){if(this._getType(ma)!==ZodParsedType.object){const Cl=this._getOrReturnCtx(ma);return addIssueToContext(Cl,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:Cl.parsedType}),INVALID}const{status:ba,ctx:va}=this._processInputParams(ma),{shape:Ma,keys:El}=this._getCached(),wl=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip"))for(const Cl in va.data)El.includes(Cl)||wl.push(Cl);const Sl=[];for(const Cl of El){const Mc=Ma[Cl],Ef=va.data[Cl];Sl.push({key:{status:"valid",value:Cl},value:Mc._parse(new ParseInputLazyPath(va,Ef,va.path,Cl)),alwaysSet:Cl in va.data})}if(this._def.catchall instanceof ZodNever){const Cl=this._def.unknownKeys;if(Cl==="passthrough")for(const Mc of wl)Sl.push({key:{status:"valid",value:Mc},value:{status:"valid",value:va.data[Mc]}});else if(Cl==="strict")wl.length>0&&(addIssueToContext(va,{code:ZodIssueCode.unrecognized_keys,keys:wl}),ba.dirty());else if(Cl!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const Cl=this._def.catchall;for(const Mc of wl){const Ef=va.data[Mc];Sl.push({key:{status:"valid",value:Mc},value:Cl._parse(new ParseInputLazyPath(va,Ef,va.path,Mc)),alwaysSet:Mc in va.data})}}return va.common.async?Promise.resolve().then(async()=>{const Cl=[];for(const Mc of Sl){const Ef=await Mc.key,Zf=await Mc.value;Cl.push({key:Ef,value:Zf,alwaysSet:Mc.alwaysSet})}return Cl}).then(Cl=>ParseStatus.mergeObjectSync(ba,Cl)):ParseStatus.mergeObjectSync(ba,Sl)}get shape(){return this._def.shape()}strict(ma){return errorUtil.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...ma!==void 0?{errorMap:(ba,va)=>{const Ma=this._def.errorMap?.(ba,va).message??va.defaultError;return ba.code==="unrecognized_keys"?{message:errorUtil.errToObj(ma).message??Ma}:{message:Ma}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(ma){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...ma})})}merge(ma){return new ZodObject({unknownKeys:ma._def.unknownKeys,catchall:ma._def.catchall,shape:()=>({...this._def.shape(),...ma._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject})}setKey(ma,ba){return this.augment({[ma]:ba})}catchall(ma){return new ZodObject({...this._def,catchall:ma})}pick(ma){const ba={};for(const va of util$1$1.objectKeys(ma))ma[va]&&this.shape[va]&&(ba[va]=this.shape[va]);return new ZodObject({...this._def,shape:()=>ba})}omit(ma){const ba={};for(const va of util$1$1.objectKeys(this.shape))ma[va]||(ba[va]=this.shape[va]);return new ZodObject({...this._def,shape:()=>ba})}deepPartial(){return deepPartialify(this)}partial(ma){const ba={};for(const va of util$1$1.objectKeys(this.shape)){const Ma=this.shape[va];ma&&!ma[va]?ba[va]=Ma:ba[va]=Ma.optional()}return new ZodObject({...this._def,shape:()=>ba})}required(ma){const ba={};for(const va of util$1$1.objectKeys(this.shape))if(ma&&!ma[va])ba[va]=this.shape[va];else{let Ma=this.shape[va];for(;Ma instanceof ZodOptional;)Ma=Ma._def.innerType;ba[va]=Ma}return new ZodObject({...this._def,shape:()=>ba})}keyof(){return createZodEnum(util$1$1.objectKeys(this.shape))}}ZodObject.create=(ya,ma)=>new ZodObject({shape:()=>ya,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(ma)});ZodObject.strictCreate=(ya,ma)=>new ZodObject({shape:()=>ya,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(ma)});ZodObject.lazycreate=(ya,ma)=>new ZodObject({shape:ya,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(ma)});class ZodUnion extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma),va=this._def.options;function Ma(El){for(const Sl of El)if(Sl.result.status==="valid")return Sl.result;for(const Sl of El)if(Sl.result.status==="dirty")return ba.common.issues.push(...Sl.ctx.common.issues),Sl.result;const wl=El.map(Sl=>new ZodError(Sl.ctx.common.issues));return addIssueToContext(ba,{code:ZodIssueCode.invalid_union,unionErrors:wl}),INVALID}if(ba.common.async)return Promise.all(va.map(async El=>{const wl={...ba,common:{...ba.common,issues:[]},parent:null};return{result:await El._parseAsync({data:ba.data,path:ba.path,parent:wl}),ctx:wl}})).then(Ma);{let El;const wl=[];for(const Cl of va){const Mc={...ba,common:{...ba.common,issues:[]},parent:null},Ef=Cl._parseSync({data:ba.data,path:ba.path,parent:Mc});if(Ef.status==="valid")return Ef;Ef.status==="dirty"&&!El&&(El={result:Ef,ctx:Mc}),Mc.common.issues.length&&wl.push(Mc.common.issues)}if(El)return ba.common.issues.push(...El.ctx.common.issues),El.result;const Sl=wl.map(Cl=>new ZodError(Cl));return addIssueToContext(ba,{code:ZodIssueCode.invalid_union,unionErrors:Sl}),INVALID}}get options(){return this._def.options}}ZodUnion.create=(ya,ma)=>new ZodUnion({options:ya,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(ma)});const getDiscriminator=ya=>ya instanceof ZodLazy?getDiscriminator(ya.schema):ya instanceof ZodEffects?getDiscriminator(ya.innerType()):ya instanceof ZodLiteral?[ya.value]:ya instanceof ZodEnum?ya.options:ya instanceof ZodNativeEnum?util$1$1.objectValues(ya.enum):ya instanceof ZodDefault?getDiscriminator(ya._def.innerType):ya instanceof ZodUndefined?[void 0]:ya instanceof ZodNull?[null]:ya instanceof ZodOptional?[void 0,...getDiscriminator(ya.unwrap())]:ya instanceof ZodNullable?[null,...getDiscriminator(ya.unwrap())]:ya instanceof ZodBranded||ya instanceof ZodReadonly?getDiscriminator(ya.unwrap()):ya instanceof ZodCatch?getDiscriminator(ya._def.innerType):[];class ZodDiscriminatedUnion extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma);if(ba.parsedType!==ZodParsedType.object)return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ba.parsedType}),INVALID;const va=this.discriminator,Ma=ba.data[va],El=this.optionsMap.get(Ma);return El?ba.common.async?El._parseAsync({data:ba.data,path:ba.path,parent:ba}):El._parseSync({data:ba.data,path:ba.path,parent:ba}):(addIssueToContext(ba,{code:ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[va]}),INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(ma,ba,va){const Ma=new Map;for(const El of ba){const wl=getDiscriminator(El.shape[ma]);if(!wl.length)throw new Error(`A discriminator value for key \`${ma}\` could not be extracted from all schema options`);for(const Sl of wl){if(Ma.has(Sl))throw new Error(`Discriminator property ${String(ma)} has duplicate value ${String(Sl)}`);Ma.set(Sl,El)}}return new ZodDiscriminatedUnion({typeName:ZodFirstPartyTypeKind.ZodDiscriminatedUnion,discriminator:ma,options:ba,optionsMap:Ma,...processCreateParams(va)})}}function mergeValues(ya,ma){const ba=getParsedType(ya),va=getParsedType(ma);if(ya===ma)return{valid:!0,data:ya};if(ba===ZodParsedType.object&&va===ZodParsedType.object){const Ma=util$1$1.objectKeys(ma),El=util$1$1.objectKeys(ya).filter(Sl=>Ma.indexOf(Sl)!==-1),wl={...ya,...ma};for(const Sl of El){const Cl=mergeValues(ya[Sl],ma[Sl]);if(!Cl.valid)return{valid:!1};wl[Sl]=Cl.data}return{valid:!0,data:wl}}else if(ba===ZodParsedType.array&&va===ZodParsedType.array){if(ya.length!==ma.length)return{valid:!1};const Ma=[];for(let El=0;El<ya.length;El++){const wl=ya[El],Sl=ma[El],Cl=mergeValues(wl,Sl);if(!Cl.valid)return{valid:!1};Ma.push(Cl.data)}return{valid:!0,data:Ma}}else return ba===ZodParsedType.date&&va===ZodParsedType.date&&+ya==+ma?{valid:!0,data:ya}:{valid:!1}}class ZodIntersection extends ZodType{_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma),Ma=(El,wl)=>{if(isAborted(El)||isAborted(wl))return INVALID;const Sl=mergeValues(El.value,wl.value);return Sl.valid?((isDirty(El)||isDirty(wl))&&ba.dirty(),{status:ba.value,value:Sl.data}):(addIssueToContext(va,{code:ZodIssueCode.invalid_intersection_types}),INVALID)};return va.common.async?Promise.all([this._def.left._parseAsync({data:va.data,path:va.path,parent:va}),this._def.right._parseAsync({data:va.data,path:va.path,parent:va})]).then(([El,wl])=>Ma(El,wl)):Ma(this._def.left._parseSync({data:va.data,path:va.path,parent:va}),this._def.right._parseSync({data:va.data,path:va.path,parent:va}))}}ZodIntersection.create=(ya,ma,ba)=>new ZodIntersection({left:ya,right:ma,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(ba)});class ZodTuple extends ZodType{_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.parsedType!==ZodParsedType.array)return addIssueToContext(va,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:va.parsedType}),INVALID;if(va.data.length<this._def.items.length)return addIssueToContext(va,{code:ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),INVALID;!this._def.rest&&va.data.length>this._def.items.length&&(addIssueToContext(va,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ba.dirty());const Ma=[...va.data].map((El,wl)=>{const Sl=this._def.items[wl]||this._def.rest;return Sl?Sl._parse(new ParseInputLazyPath(va,El,va.path,wl)):null}).filter(El=>!!El);return va.common.async?Promise.all(Ma).then(El=>ParseStatus.mergeArray(ba,El)):ParseStatus.mergeArray(ba,Ma)}get items(){return this._def.items}rest(ma){return new ZodTuple({...this._def,rest:ma})}}ZodTuple.create=(ya,ma)=>{if(!Array.isArray(ya))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:ya,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(ma)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.parsedType!==ZodParsedType.object)return addIssueToContext(va,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:va.parsedType}),INVALID;const Ma=[],El=this._def.keyType,wl=this._def.valueType;for(const Sl in va.data)Ma.push({key:El._parse(new ParseInputLazyPath(va,Sl,va.path,Sl)),value:wl._parse(new ParseInputLazyPath(va,va.data[Sl],va.path,Sl)),alwaysSet:Sl in va.data});return va.common.async?ParseStatus.mergeObjectAsync(ba,Ma):ParseStatus.mergeObjectSync(ba,Ma)}get element(){return this._def.valueType}static create(ma,ba,va){return ba instanceof ZodType?new ZodRecord({keyType:ma,valueType:ba,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(va)}):new ZodRecord({keyType:ZodString.create(),valueType:ma,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(ba)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.parsedType!==ZodParsedType.map)return addIssueToContext(va,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:va.parsedType}),INVALID;const Ma=this._def.keyType,El=this._def.valueType,wl=[...va.data.entries()].map(([Sl,Cl],Mc)=>({key:Ma._parse(new ParseInputLazyPath(va,Sl,va.path,[Mc,"key"])),value:El._parse(new ParseInputLazyPath(va,Cl,va.path,[Mc,"value"]))}));if(va.common.async){const Sl=new Map;return Promise.resolve().then(async()=>{for(const Cl of wl){const Mc=await Cl.key,Ef=await Cl.value;if(Mc.status==="aborted"||Ef.status==="aborted")return INVALID;(Mc.status==="dirty"||Ef.status==="dirty")&&ba.dirty(),Sl.set(Mc.value,Ef.value)}return{status:ba.value,value:Sl}})}else{const Sl=new Map;for(const Cl of wl){const Mc=Cl.key,Ef=Cl.value;if(Mc.status==="aborted"||Ef.status==="aborted")return INVALID;(Mc.status==="dirty"||Ef.status==="dirty")&&ba.dirty(),Sl.set(Mc.value,Ef.value)}return{status:ba.value,value:Sl}}}}ZodMap.create=(ya,ma,ba)=>new ZodMap({valueType:ma,keyType:ya,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(ba)});class ZodSet extends ZodType{_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.parsedType!==ZodParsedType.set)return addIssueToContext(va,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:va.parsedType}),INVALID;const Ma=this._def;Ma.minSize!==null&&va.data.size<Ma.minSize.value&&(addIssueToContext(va,{code:ZodIssueCode.too_small,minimum:Ma.minSize.value,type:"set",inclusive:!0,exact:!1,message:Ma.minSize.message}),ba.dirty()),Ma.maxSize!==null&&va.data.size>Ma.maxSize.value&&(addIssueToContext(va,{code:ZodIssueCode.too_big,maximum:Ma.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Ma.maxSize.message}),ba.dirty());const El=this._def.valueType;function wl(Cl){const Mc=new Set;for(const Ef of Cl){if(Ef.status==="aborted")return INVALID;Ef.status==="dirty"&&ba.dirty(),Mc.add(Ef.value)}return{status:ba.value,value:Mc}}const Sl=[...va.data.values()].map((Cl,Mc)=>El._parse(new ParseInputLazyPath(va,Cl,va.path,Mc)));return va.common.async?Promise.all(Sl).then(Cl=>wl(Cl)):wl(Sl)}min(ma,ba){return new ZodSet({...this._def,minSize:{value:ma,message:errorUtil.toString(ba)}})}max(ma,ba){return new ZodSet({...this._def,maxSize:{value:ma,message:errorUtil.toString(ba)}})}size(ma,ba){return this.min(ma,ba).max(ma,ba)}nonempty(ma){return this.min(1,ma)}}ZodSet.create=(ya,ma)=>new ZodSet({valueType:ya,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(ma)});class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(ma){const{ctx:ba}=this._processInputParams(ma);return this._def.getter()._parse({data:ba.data,path:ba.path,parent:ba})}}ZodLazy.create=(ya,ma)=>new ZodLazy({getter:ya,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(ma)});class ZodLiteral extends ZodType{_parse(ma){if(ma.data!==this._def.value){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{received:ba.data,code:ZodIssueCode.invalid_literal,expected:this._def.value}),INVALID}return{status:"valid",value:ma.data}}get value(){return this._def.value}}ZodLiteral.create=(ya,ma)=>new ZodLiteral({value:ya,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(ma)});function createZodEnum(ya,ma){return new ZodEnum({values:ya,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(ma)})}class ZodEnum extends ZodType{_parse(ma){if(typeof ma.data!="string"){const ba=this._getOrReturnCtx(ma),va=this._def.values;return addIssueToContext(ba,{expected:util$1$1.joinValues(va),received:ba.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(ma.data)){const ba=this._getOrReturnCtx(ma),va=this._def.values;return addIssueToContext(ba,{received:ba.data,code:ZodIssueCode.invalid_enum_value,options:va}),INVALID}return OK(ma.data)}get options(){return this._def.values}get enum(){const ma={};for(const ba of this._def.values)ma[ba]=ba;return ma}get Values(){const ma={};for(const ba of this._def.values)ma[ba]=ba;return ma}get Enum(){const ma={};for(const ba of this._def.values)ma[ba]=ba;return ma}extract(ma,ba=this._def){return ZodEnum.create(ma,{...this._def,...ba})}exclude(ma,ba=this._def){return ZodEnum.create(this.options.filter(va=>!ma.includes(va)),{...this._def,...ba})}}ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{_parse(ma){const ba=util$1$1.getValidEnumValues(this._def.values),va=this._getOrReturnCtx(ma);if(va.parsedType!==ZodParsedType.string&&va.parsedType!==ZodParsedType.number){const Ma=util$1$1.objectValues(ba);return addIssueToContext(va,{expected:util$1$1.joinValues(Ma),received:va.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(util$1$1.getValidEnumValues(this._def.values))),!this._cache.has(ma.data)){const Ma=util$1$1.objectValues(ba);return addIssueToContext(va,{received:va.data,code:ZodIssueCode.invalid_enum_value,options:Ma}),INVALID}return OK(ma.data)}get enum(){return this._def.values}}ZodNativeEnum.create=(ya,ma)=>new ZodNativeEnum({values:ya,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(ma)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(ma){const{ctx:ba}=this._processInputParams(ma);if(ba.parsedType!==ZodParsedType.promise&&ba.common.async===!1)return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:ba.parsedType}),INVALID;const va=ba.parsedType===ZodParsedType.promise?ba.data:Promise.resolve(ba.data);return OK(va.then(Ma=>this._def.type.parseAsync(Ma,{path:ba.path,errorMap:ba.common.contextualErrorMap})))}}ZodPromise.create=(ya,ma)=>new ZodPromise({type:ya,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(ma)});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(ma){const{status:ba,ctx:va}=this._processInputParams(ma),Ma=this._def.effect||null,El={addIssue:wl=>{addIssueToContext(va,wl),wl.fatal?ba.abort():ba.dirty()},get path(){return va.path}};if(El.addIssue=El.addIssue.bind(El),Ma.type==="preprocess"){const wl=Ma.transform(va.data,El);if(va.common.async)return Promise.resolve(wl).then(async Sl=>{if(ba.value==="aborted")return INVALID;const Cl=await this._def.schema._parseAsync({data:Sl,path:va.path,parent:va});return Cl.status==="aborted"?INVALID:Cl.status==="dirty"||ba.value==="dirty"?DIRTY(Cl.value):Cl});{if(ba.value==="aborted")return INVALID;const Sl=this._def.schema._parseSync({data:wl,path:va.path,parent:va});return Sl.status==="aborted"?INVALID:Sl.status==="dirty"||ba.value==="dirty"?DIRTY(Sl.value):Sl}}if(Ma.type==="refinement"){const wl=Sl=>{const Cl=Ma.refinement(Sl,El);if(va.common.async)return Promise.resolve(Cl);if(Cl instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Sl};if(va.common.async===!1){const Sl=this._def.schema._parseSync({data:va.data,path:va.path,parent:va});return Sl.status==="aborted"?INVALID:(Sl.status==="dirty"&&ba.dirty(),wl(Sl.value),{status:ba.value,value:Sl.value})}else return this._def.schema._parseAsync({data:va.data,path:va.path,parent:va}).then(Sl=>Sl.status==="aborted"?INVALID:(Sl.status==="dirty"&&ba.dirty(),wl(Sl.value).then(()=>({status:ba.value,value:Sl.value}))))}if(Ma.type==="transform")if(va.common.async===!1){const wl=this._def.schema._parseSync({data:va.data,path:va.path,parent:va});if(!isValid(wl))return INVALID;const Sl=Ma.transform(wl.value,El);if(Sl instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:ba.value,value:Sl}}else return this._def.schema._parseAsync({data:va.data,path:va.path,parent:va}).then(wl=>isValid(wl)?Promise.resolve(Ma.transform(wl.value,El)).then(Sl=>({status:ba.value,value:Sl})):INVALID);util$1$1.assertNever(Ma)}}ZodEffects.create=(ya,ma,ba)=>new ZodEffects({schema:ya,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:ma,...processCreateParams(ba)});ZodEffects.createWithPreprocess=(ya,ma,ba)=>new ZodEffects({schema:ma,effect:{type:"preprocess",transform:ya},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(ba)});class ZodOptional extends ZodType{_parse(ma){return this._getType(ma)===ZodParsedType.undefined?OK(void 0):this._def.innerType._parse(ma)}unwrap(){return this._def.innerType}}ZodOptional.create=(ya,ma)=>new ZodOptional({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(ma)});class ZodNullable extends ZodType{_parse(ma){return this._getType(ma)===ZodParsedType.null?OK(null):this._def.innerType._parse(ma)}unwrap(){return this._def.innerType}}ZodNullable.create=(ya,ma)=>new ZodNullable({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(ma)});class ZodDefault extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma);let va=ba.data;return ba.parsedType===ZodParsedType.undefined&&(va=this._def.defaultValue()),this._def.innerType._parse({data:va,path:ba.path,parent:ba})}removeDefault(){return this._def.innerType}}ZodDefault.create=(ya,ma)=>new ZodDefault({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof ma.default=="function"?ma.default:()=>ma.default,...processCreateParams(ma)});class ZodCatch extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma),va={...ba,common:{...ba.common,issues:[]}},Ma=this._def.innerType._parse({data:va.data,path:va.path,parent:{...va}});return isAsync(Ma)?Ma.then(El=>({status:"valid",value:El.status==="valid"?El.value:this._def.catchValue({get error(){return new ZodError(va.common.issues)},input:va.data})})):{status:"valid",value:Ma.status==="valid"?Ma.value:this._def.catchValue({get error(){return new ZodError(va.common.issues)},input:va.data})}}removeCatch(){return this._def.innerType}}ZodCatch.create=(ya,ma)=>new ZodCatch({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof ma.catch=="function"?ma.catch:()=>ma.catch,...processCreateParams(ma)});class ZodNaN extends ZodType{_parse(ma){if(this._getType(ma)!==ZodParsedType.nan){const ba=this._getOrReturnCtx(ma);return addIssueToContext(ba,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:ba.parsedType}),INVALID}return{status:"valid",value:ma.data}}}ZodNaN.create=ya=>new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(ya)});class ZodBranded extends ZodType{_parse(ma){const{ctx:ba}=this._processInputParams(ma),va=ba.data;return this._def.type._parse({data:va,path:ba.path,parent:ba})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(ma){const{status:ba,ctx:va}=this._processInputParams(ma);if(va.common.async)return(async()=>{const Ma=await this._def.in._parseAsync({data:va.data,path:va.path,parent:va});return Ma.status==="aborted"?INVALID:Ma.status==="dirty"?(ba.dirty(),DIRTY(Ma.value)):this._def.out._parseAsync({data:Ma.value,path:va.path,parent:va})})();{const Ma=this._def.in._parseSync({data:va.data,path:va.path,parent:va});return Ma.status==="aborted"?INVALID:Ma.status==="dirty"?(ba.dirty(),{status:"dirty",value:Ma.value}):this._def.out._parseSync({data:Ma.value,path:va.path,parent:va})}}static create(ma,ba){return new ZodPipeline({in:ma,out:ba,typeName:ZodFirstPartyTypeKind.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(ma){const ba=this._def.innerType._parse(ma),va=Ma=>(isValid(Ma)&&(Ma.value=Object.freeze(Ma.value)),Ma);return isAsync(ba)?ba.then(Ma=>va(Ma)):va(ba)}unwrap(){return this._def.innerType}}ZodReadonly.create=(ya,ma)=>new ZodReadonly({innerType:ya,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(ma)});var ZodFirstPartyTypeKind;(function(ya){ya.ZodString="ZodString",ya.ZodNumber="ZodNumber",ya.ZodNaN="ZodNaN",ya.ZodBigInt="ZodBigInt",ya.ZodBoolean="ZodBoolean",ya.ZodDate="ZodDate",ya.ZodSymbol="ZodSymbol",ya.ZodUndefined="ZodUndefined",ya.ZodNull="ZodNull",ya.ZodAny="ZodAny",ya.ZodUnknown="ZodUnknown",ya.ZodNever="ZodNever",ya.ZodVoid="ZodVoid",ya.ZodArray="ZodArray",ya.ZodObject="ZodObject",ya.ZodUnion="ZodUnion",ya.ZodDiscriminatedUnion="ZodDiscriminatedUnion",ya.ZodIntersection="ZodIntersection",ya.ZodTuple="ZodTuple",ya.ZodRecord="ZodRecord",ya.ZodMap="ZodMap",ya.ZodSet="ZodSet",ya.ZodFunction="ZodFunction",ya.ZodLazy="ZodLazy",ya.ZodLiteral="ZodLiteral",ya.ZodEnum="ZodEnum",ya.ZodEffects="ZodEffects",ya.ZodNativeEnum="ZodNativeEnum",ya.ZodOptional="ZodOptional",ya.ZodNullable="ZodNullable",ya.ZodDefault="ZodDefault",ya.ZodCatch="ZodCatch",ya.ZodPromise="ZodPromise",ya.ZodBranded="ZodBranded",ya.ZodPipeline="ZodPipeline",ya.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 ya;return((ya=void 0)===null||ya===void 0?void 0:ya.enabled)===!0}class TtlCache{constructor(ma){this.store=new Map,this.ttlMs=ma}set(ma,ba,va){va=va||this.ttlMs;const Ma=Date.now()+va;return this.store.set(ma,{value:ba,expireTime:Ma}),setTimeout(()=>{const El=this.store.get(ma);El&&El.expireTime===Ma&&this.store.delete(ma)},va),ba}get(ma){const ba=this.store.get(ma);if(ba!==void 0){if(Date.now()>ba.expireTime){this.store.delete(ma);return}return ba.value}}delete(ma){this.store.delete(ma)}}const AdminUserId="00000000-0000-0000-0000-000000000000";function isAuthEnabled(){var ya;return((ya=void 0)===null||ya===void 0?void 0:ya.enabled)==!0}function isRbacEnabled(){var ya;return isAuthEnabled()&&((ya=void 0)===null||ya===void 0?void 0:ya.enabled)==!0}const AdminSession={sessionId:crypto.randomUUID(),userId:AdminUserId},LocalEnv=new Map;function getLocalEnv$1(ya,ma){const ba=LocalEnv.get(ya);if(ba!==void 0)return ba;if(typeof E$b<"u"&&E$b.env){const va=E$b.env[ya];if(va!==void 0)return va}return ma}const PathAttributeName="__path__",PathAttributeNameQuery="__path__?",ParentAttributeName="__parent__",DeletedFlagAttributeName="__is_deleted__";function asUnauthMessage(ya){return typeof ya=="string"?ya:`User not authorised to perform '${ya.opr}' on ${ya.entity}`}class UnauthorisedError extends Error{constructor(ma,ba){super(ma?asUnauthMessage(ma):"User not authorised to perform this operation",ba)}}let BadRequestError$2=class extends Error{constructor(ya,ma){super(ya?asUnauthMessage(ya):"BadRequest",ma)}};class UserNotFoundError extends Error{constructor(ma,ba){super(ma||"User not found",ba)}}class UserNotConfirmedError extends Error{constructor(ma,ba){super(ma||"User account is not confirmed. Please check your email for verification code.",ba)}}class PasswordResetRequiredError extends Error{constructor(ma,ba){super(ma||"Password reset is required for this account",ba)}}class TooManyRequestsError extends Error{constructor(ma,ba){super(ma||"Too many requests. Please try again later.",ba)}}class InvalidParameterError extends Error{constructor(ma,ba){super(ma||"Invalid parameters provided",ba)}}class ExpiredCodeError extends Error{constructor(ma,ba){super(ma||"The verification code has expired. Please request a new one.",ba)}}class CodeMismatchError extends Error{constructor(ma,ba){super(ma||"The verification code is incorrect. Please try again.",ba)}}let FetchModuleFn;function setModuleFnFetcher(ya){FetchModuleFn=ya}const ForceReadPermFlag="f-r-f",FlowSuspensionTag="--";var SubGraphType;(function(ya){ya[ya.EVENT=0]="EVENT",ya[ya.IF=1]="IF",ya[ya.FOR_EACH=2]="FOR_EACH",ya[ya.DELETE=3]="DELETE",ya[ya.PURGE=4]="PURGE",ya[ya.RETURN=5]="RETURN",ya[ya.AGENT=6]="AGENT",ya[ya.THROW=7]="THROW",ya[ya.NONE=8]="NONE"})(SubGraphType||(SubGraphType={}));class ExecGraph{static isEmpty(ma){return Object.is(ExecGraph.Empty,ma)}constructor(){this.parentGraph=void 0,this.hasAgentsFlag=!1,this.loopBody=!1,this.rootNodes=new Array,this.subGraphs=new Array}pushNode(ma){return this.rootNodes.push(ma),this}pushSubGraph(ma){return ma.parentGraph=this,this.subGraphs.push(ma),this}getSubGraphsLength(){return this.subGraphs.length}getLastSubGraphIndex(){return this.subGraphs.length-1}fetchSubGraphAt(ma){if(ma<0||ma>=this.subGraphs.length)throw new Error(`Invalid sub-graph index: ${ma}`);return this.subGraphs[ma]}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(ma){return ma&&(this.activeModuleName=ma),this}getActiveModuleName(){return this.activeModuleName}getParentGraph(){return this.parentGraph}setEventName(ma){return ma!==void 0&&(this.eventName=ma),this}getEventName(){return this.eventName}setHasAgents(ma){return this.hasAgentsFlag=ma,this.parentGraph&&this.parentGraph.setHasAgents(ma),this}hasAgents(){return this.hasAgentsFlag}canCache(){return!this.hasAgentsFlag}setIsLoopBody(){return this.loopBody=!0,this}isLoopBody(){return this.loopBody}asObject(){const ma=new Array;return this.rootNodes.forEach(ba=>{var va;const Ma=ba.asObject();if(ba.subGraphIndex>=0){const El=this.subGraphs[ba.subGraphIndex],wl=El.asObject();if(ba.subGraphType==SubGraphType.FOR_EACH){const Sl=ba.code;Ma.var=(va=Sl.pattern.forEach)===null||va===void 0?void 0:va.var,Ma.source=wl,Ma.body=El.fetchForEachBodySubGraph().asObject()}else if(ba.subGraphType==SubGraphType.IF){Ma.condition=wl,Ma.body=El.fetchIfConsequentSubGraph().asObject();const Sl=El.fetchIfAlternativeSubGraph();Sl&&(Ma.else=Sl.asObject())}else Ma.subGraph=wl}ma.push(Ma)}),ma}}ExecGraph.Empty=new ExecGraph;var RuntimeModeTag;(function(ya){ya[ya.DEV=0]="DEV",ya[ya.PROD=1]="PROD",ya[ya.TEST=2]="TEST",ya[ya.INIT_SCHEMA=3]="INIT_SCHEMA",ya[ya.RUN_MIGRATION=4]="RUN_MIGRATION",ya[ya.UNDO_MIGRATION=5]="UNDO_MIGRATION",ya[ya.GENERATE_MIGRATION=6]="GENERATE_MIGRATION"})(RuntimeModeTag||(RuntimeModeTag={}));RuntimeModeTag.DEV;let DailyRotateFile,winston;isNodeEnv&&(await __vitePreload(()=>import("./index-D4z_hbl0-CxJhywsh.js"),__vite__mapDeps([12,11,13,1,3,9,5,14,15,16,17,18,19,10,20,21,4])).then(ya=>ya.i).then(ya=>{DailyRotateFile=ya.default}),await __vitePreload(()=>import("./winston-CtxF18qc-CSJQEO1L.js"),__vite__mapDeps([22,11,13,1,3,9,5,14,15,16,18,19,10,20,21,17,4])).then(ya=>ya.w).then(ya=>{winston=ya.default}));let logger$1;function getLogLevel(){var ya;return isNodeEnv&&E$b.env&&E$b.env.DEBUG?"debug":((ya=void 0)===null||ya===void 0?void 0:ya.level)||"info"}function initializeLogger(){const ya=getLogLevel();if(isNodeEnv){const ma=new DailyRotateFile({level:ya,filename:"logs/app-%DATE%.log",datePattern:"YYYY-MM-DD",maxSize:"20m",maxFiles:"7d"});logger$1=winston.createLogger({level:ya,format:winston.format.combine(winston.format.timestamp(),winston.format.printf(({timestamp:ba,level:va,message:Ma})=>`[${ba}] ${va}: ${Ma}`)),transports:[ma]})}else{let ma=function(ba){return va=>{console.log(`${ba}: ${va}`)}};logger$1={debug:ma("DEBUG"),info:ma("INFO"),warn:ma("WARN"),error:ma("ERROR")}}}initializeLogger();const PlannerInstructions=`Agentlang is a very-high-level declarative language that makes it easy to define business applications as 'models'.
16238
16238
  The model of a business application consists of entity definitions and workflows defined in "modules".
16239
16239
  A module is be encoded in a syntax inspired by JavaScript and JSON. Example of a simple module follows:
16240
16240
 
@@ -17497,7 +17497,7 @@ ${hg}`),Sl=`${Sl}
17497
17497
  ${wl} --> ${hg}
17498
17498
  `,dp?wl=await preprocessStep(hg.trim(),va):(va.setFlowContext(Sl),await agentInvoke(ma,`${El}
17499
17499
  ${Sl}`,va),wl=await preprocessStep(va.getLastResult().trim(),va))}}finally{va.decrementMonitor().revokeLastResult().setMonitorFlowResult()}console.debug(`No more flow steps, completed iteration ${Mc} on flow:
17500
- ${ya}`)}async function preprocessStep(ya,ma){if(ya.startsWith("{")){const va=(await parseStatement$1(ya)).pattern.crudMap;if(va){ma.resetTemplateMappings();const Ma=va.name;return va.body&&va.body.attributes.forEach(El=>{var wl,Sl;const Cl=(Sl=(wl=El.value)===null||wl===void 0?void 0:wl.$cstNode)===null||Sl===void 0?void 0:Sl.text;Cl&&ma.setTemplateMapping(El.name,Cl)}),Ma}else throw new Error(`Invalid step - ${ya}`)}else return ya}async function handleOpenApiEvent(ya,ma){const ba=await invokeOpenApiEvent(ya.moduleName,ya.name,ya.attributesAsObject());ma.setLastResult(ba)}async function evaluateUpsert(ya,ma){ma.setInUpsertMode(!0);try{await evaluateCrudMap(ya,ma)}finally{ma.setInUpsertMode(!1)}}async function evaluateForEach(ya,ma){const ba=ya.var;await evaluatePattern(ya.src,ma);const va=ma.getLastResult();if(va instanceof Array&&va.length>0){const Ma=Environment.from(ma),El=new Array;for(let wl=0;wl<va.length;++wl)Ma.bind(ba,va[wl]),await evaluateStatements(ya.statements,Ma),El.push(Ma.getLastResult());ma.setLastResult(El)}else ma.setLastResult(EmptyResult)}async function evaluateIf(ya,ma){await evaluateExpression(ya.cond,ma),ma.getLastResult()?await evaluateStatements(ya.statements,ma):ya.else!==void 0&&await evaluateStatements(ya.else.statements,ma)}async function evaluateDeleteHelper(ya,ma,ba){const va=Environment.from(ba).setInDeleteMode(!0);await evaluatePattern(ya,va),await maybeDeleteQueriedInstances(va,ba,ma)}async function maybeDeleteQueriedInstances(ya,ma,ba=!1){const va=ya.getLastResult();let Ma=Resolver.Default;if(va instanceof Array)if(va.length>0&&isEntityInstance$1(va[0])){Ma=await getResolverForPath(va[0].name,va[0].moduleName,ya);const El=new Array;for(let wl=0;wl<va.length;++wl){await runPreDeleteEvents(va[wl],ma);const Sl=await Ma.deleteInstance(va[wl],ba);await runPostDeleteEvents(va[wl],ma),El.push(Sl)}ya.setLastResult(El)}else ya.setLastResult(va);else if(isEntityInstance$1(va)){Ma=await getResolverForPath(va.name,va.moduleName,ya),await runPreDeleteEvents(va,ma);const El=await Ma.deleteInstance(va,ba);await runPostDeleteEvents(va,ma),ya.setLastResult(El)}ma.setLastResult(ya.getLastResult())}async function evaluateDelete(ya,ma){await evaluateDeleteHelper(ya.pattern,!1,ma)}async function evaluatePurge(ya,ma){await evaluateDeleteHelper(ya.pattern,!0,ma)}async function evaluateExpression(ya,ma){let ba=EmptyResult;if(isBinExpr$1(ya)){await evaluateExpression(ya.e1,ma);const va=ma.getLastResult();if(ya.op=="or"){if(va)return;await evaluateExpression(ya.e2,ma);return}else if(ya.op=="and"){if(!va)return;await evaluateExpression(ya.e2,ma);return}if(va==null){ma.setLastResult(void 0);return}await evaluateExpression(ya.e2,ma);const Ma=ma.getLastResult();if(Ma==null){ma.setLastResult(void 0);return}switch(ya.op){case"+":ba=va+Ma;break;case"-":ba=va-Ma;break;case"*":ba=va*Ma;break;case"/":ba=va/Ma;break;case"==":ba=va==Ma;break;case"<":ba=va<Ma;break;case">":ba=va>Ma;break;case"<=":ba=va<=Ma;break;case">=":ba=va>=Ma;break;case"<>":case"!=":ba=va!=Ma;break;case"like":ba=va.startsWith(Ma);break;case"in":ba=Ma.find(El=>{});break;default:throw new Error(`Unrecognized binary operator: ${ya.op}`)}}else if(isNegExpr$1(ya))await evaluateExpression(ya.ne,ma),ba=-1*ma.getLastResult();else if(isGroup$2(ya))await evaluateExpression(ya.ge,ma),ba=ma.getLastResult();else if(isLiteral$1(ya)){await evaluateLiteral(ya,ma);return}else isNotExpr$1(ya)&&(await evaluateExpression(ya.ne,ma),ba=!ma.getLastResult());ma.setLastResult(ba)}async function getRef(ya,ma,ba){return Instance$1.IsInstance(ma)?ma.lookup(ya):ma instanceof Map?ma.get(ya):ma instanceof Object?ma[ya]:isPath$1(ma)?await getRef(ya,await dereferencePath(ma,ba),ba):void 0}async function followReference(ya,ma){const ba=splitRefs$1(ma);let va=EmptyResult,Ma=ya;for(let El=0;El<ba.length;++El){const wl=ba[El],Sl=await getRef(wl,Ma,ya);if(Sl===void 0)return EmptyResult;va=Sl,Ma=va}return va}async function dereferencePath(ya,ma){const ba=fqNameFromPath$1(ya);if(ba===void 0)throw new Error(`Failed to deduce entry-name from path - ${ya}`);const va=new Environment("path-deref",ma);await parseAndEvaluateStatement(`{${ba} {${PathAttributeNameQuery$1} "${ya}"}}`,ma.getAuthContextUserId(),va);const Ma=va.getLastResult();if(Ma&&Ma instanceof Array&&Ma.length>0)return Ma[0]}async function applyFn(ya,ma,ba){const va=ya.name;if(va!==void 0){let Ma=null;if(ya.args!==void 0){Ma=new Array;for(let wl=0;wl<ya.args.length;++wl){const Sl=ya.args[wl];isLiteral$1(Sl)?await evaluateLiteral(Sl,ma):await evaluateExpression(Sl,ma),Ma.push(ma.getLastResult())}Ma.push(ma)}const El=await invokeModuleFn(va,Ma,ba);ma.setLastResult(El)}}async function realizeArray(ya,ma){const ba=new Array;for(let va=0;va<ya.vals.length;++va)await evaluateStatement(ya.vals[va],ma),ba.push(ma.getLastResult());ma.setLastResult(ba)}async function realizeMap(ya,ma){const ba=new Map;for(let va=0;va<ya.entries.length;++va){const Ma=ya.entries[va],El=getMapKey(Ma.key);await evaluateExpression(Ma.value,ma),ba.set(El,ma.getLastResult())}ma.setLastResult(Object.fromEntries(ba.entries()))}async function callPostEventOnSubscription(ya,ma,ba){const va=ba===void 0,Ma=new Environment("onSubs.env");try{return await runPrePostEvents(ya,!1,ma,Ma),va&&await Ma.commitAllTransactions(),Ma.getLastResult()}catch(El){await Ma.rollbackAllTransactions(),logger$3.error(`callPostEventOnSubscription failed for ${ya} ${ma.getFqName()} - ${El}`)}}async function runPrePostEvents(ya,ma,ba,va){const Ma=ma?ba.record.getPreTriggerInfo(ya):ba.record.getPostTriggerInfo(ya);if(Ma){const El=nameToPath$1(Ma.eventName),wl=El.hasModule()?El.getModuleName():ba.record.moduleName,Sl=makeInstance$1(wl,El.getEntryName(),newInstanceAttributes$1().set(ba.record.name,ba)),Cl=va.getActiveAuthContext();Cl&&Sl.setAuthContext(Cl);const Mc=`${ma?"Pre":"Post"}-${CrudType$1[ya]} ${ba.record.getFqName()}`,Ef=Jf=>{logger$3.debug(`${Mc}: ${Jf}`)},Zf=Jf=>{throw va.hasHandlers()?Jf:new Error(`${Mc}: ${Jf}`)};Ma.async?evaluate$1(Sl,Ef,bindAliasesForPrePost(va,ba,Mc)).catch(Zf):await evaluate$1(Sl,Ef,bindAliasesForPrePost(va,ba,Mc)).catch(Zf)}}function bindAliasesForPrePost(ya,ma,ba){const va=new Environment(`${ba}.env`,ya),Ma=ma.getFqName();return va.bind("this",ma),va.bind(Ma,ma),va.bind(ma.name,ma),va}async function runPreCreateEvents(ya,ma){await runPrePostEvents(CrudType$1.CREATE,!0,ya,ma)}async function runPostCreateEvents(ya,ma){ya.requireAudit()&&await addCreateAudit(ya.getPath(),ma,{original:ya.userAttributesAsObject()}),await runPrePostEvents(CrudType$1.CREATE,!1,ya,ma)}async function runPreUpdateEvents(ya,ma){await runPrePostEvents(CrudType$1.UPDATE,!0,ya,ma)}async function runPostUpdateEvents(ya,ma,ba){if(ya.requireAudit()){let va;if(ma!==void 0){const Ma=ma.userAttributesAsObject(),El=detailedDiff(Ma,ya.userAttributesAsObject());va={original:Ma,updated:El.updated}}await addUpdateAudit(ya.getPath(),va,ba)}await runPrePostEvents(CrudType$1.UPDATE,!1,ya,ba)}async function runPreDeleteEvents(ya,ma){await runPrePostEvents(CrudType$1.DELETE,!0,ya,ma)}async function runPostDeleteEvents(ya,ma){ya.requireAudit()&&await addDeleteAudit(ya.getPath(),{deleted:ya.userAttributesAsObject()},ma),await runPrePostEvents(CrudType$1.DELETE,!1,ya,ma)}async function fetchConfig(ya){const ma=await parseAndEvaluateStatement(`{${ya}? {}}`);if(ma&&ma!==null&&ma.length>0)return preprocessRawConfig(Object.fromEntries(ma[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(ma,ba,va){super(ma),this.failedAssertion={actual:ba,expected:va}}}class JwtParseError extends JwtBaseError{constructor(ma,ba){const va=ba!=null?`${ma}: ${ba}`:ma;super(va)}}class ParameterValidationError extends JwtBaseError{}class JwtInvalidSignatureError extends JwtBaseError{}class JwtInvalidSignatureAlgorithmError extends FailedAssertionError{}class JwtInvalidClaimError extends FailedAssertionError{withRawJwt({header:ma,payload:ba}){return this.rawJwt={header:ma,payload:ba},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(ma,ba){super(`Failed to fetch ${ma}: ${ba}`)}}class NonRetryableFetchError extends FetchError{}class NotSupportedError extends JwtBaseError{}var NamedCurvesWebCrypto;(function(ya){ya.ES256="P-256",ya.ES384="P-384",ya.ES512="P-521"})(NamedCurvesWebCrypto||(NamedCurvesWebCrypto={}));const nodeWebCompat={fetch:async(ya,ma,ba)=>{const va=Number(ma?.responseTimeout);if(va){const El=new AbortController;setTimeout(()=>El.abort(new FetchError(ya,`Response time-out (after ${va} ms.)`)),va),ma={signal:El.signal,...ma}}const Ma=await fetch(ya,{...ma,body:ba}).catch(El=>{throw new FetchError(ya,El.message)});if(Ma.status!==200)throw new NonRetryableFetchError(ya,`Status code is ${Ma.status}, expected 200`);return Ma.arrayBuffer()},defaultFetchTimeouts:{response:3e3},transformJwkToKeyObjectSync:()=>{throw new NotSupportedError("Synchronously transforming a JWK into a key object is not supported in the browser")},transformJwkToKeyObjectAsync:(ya,ma)=>{const ba=ya.alg??ma;if(!ba)throw new JwtInvalidSignatureAlgorithmError("Missing alg on both JWK and JWT header",ba);const va=ba.startsWith("RS")?{name:"RSASSA-PKCS1-v1_5",hash:`SHA-${ba.slice(2)}`}:ba.startsWith("ES")?{name:"ECDSA",namedCurve:NamedCurvesWebCrypto[ba]}:ya.crv;return crypto.subtle.importKey("jwk",ya,va,!1,["verify"]).then(Ma=>({key:Ma,jwk:ya}))},verifySignatureSync:()=>{throw new NotSupportedError("Synchronously verifying a JWT signature is not supported in the browser")},verifySignatureAsync:({jwsSigningInput:ya,keyObject:ma,signature:ba,alg:va})=>crypto.subtle.verify(va.startsWith("RS")?{name:"RSASSA-PKCS1-v1_5"}:va.startsWith("ES")?{name:"ECDSA",hash:`SHA-${va.slice(2)}`}:{name:ma.jwk.crv},ma.key,bufferFromBase64url(ba),new TextEncoder().encode(ya)),parseB64UrlString:ya=>new TextDecoder().decode(bufferFromBase64url(ya)),setTimeoutUnref:setTimeout.bind(void 0),transformPemToJwk:async(ya,ma)=>{let ba;switch(ma){case"RS256":case"RS384":case"RS512":ba={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${ma.slice(2)}`};break;case"ES256":case"ES384":case"ES512":ba={name:"ECDSA",namedCurve:NamedCurvesWebCrypto[ma]};break;default:throw new JwtInvalidSignatureAlgorithmError("Unsupported signature algorithm",ma)}const va=await crypto.subtle.importKey("spki",bufferFromBase64(new TextDecoder().decode(ya).replace(/-----BEGIN PUBLIC KEY-----/,"").replace(/-----END PUBLIC KEY-----/,"").replace(/\s/g,"")),ba,!0,["verify"]);return crypto.subtle.exportKey("jwk",va)}};function _bufferFromBase64(ya){const ma=ya.split("").reduce((ba,va,Ma)=>Object.assign(ba,{[va.charCodeAt(0)]:Ma}),{});return function(ba){ba=ba.replace(/={1,2}$/,"");let va,Ma,El,wl;return ba.match(/.{1,4}/g).reduce((Sl,Cl,Mc)=>(va=ma[Cl.charCodeAt(0)],Ma=ma[Cl.charCodeAt(1)],El=ma[Cl.charCodeAt(2)],wl=ma[Cl.charCodeAt(3)],Sl[3*Mc]=va<<2|Ma>>4,Sl[3*Mc+1]=(Ma&15)<<4|El>>2,Sl[3*Mc+2]=(El&3)<<6|wl,Sl),new Uint8Array(ba.length*3/4))}}const bufferFromBase64url=_bufferFromBase64("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),bufferFromBase64=_bufferFromBase64("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),fetch$1=nodeWebCompat.fetch.bind(void 0);class SimpleFetcher{constructor(ma){this.defaultRequestOptions={timeout:nodeWebCompat.defaultFetchTimeouts.socketIdle,responseTimeout:nodeWebCompat.defaultFetchTimeouts.response,...ma?.defaultRequestOptions}}async fetch(ma,ba,va){ba={...this.defaultRequestOptions,...ba};try{return await fetch$1(ma,ba,va)}catch(Ma){if(Ma instanceof NonRetryableFetchError)throw Ma;return fetch$1(ma,ba,va)}}}function isJsonObject(ya){return typeof ya=="object"&&!Array.isArray(ya)&&ya!==null}function safeJsonParse(ya){return JSON.parse(ya,(ma,ba)=>(typeof ba=="object"&&!Array.isArray(ba)&&ba!==null&&(delete ba.__proto__,delete ba.constructor),ba))}function assertStringEquals(ya,ma,ba,va=FailedAssertionError){if(!ma)throw new va(`Missing ${ya}. Expected: ${ba}`,ma,ba);if(typeof ma!="string")throw new va(`${ya} is not of type string`,ma,ba);if(ba!==ma)throw new va(`${ya} not allowed: ${ma}. Expected: ${ba}`,ma,ba)}function assertStringArrayContainsString(ya,ma,ba,va=FailedAssertionError){if(!ma)throw new va(`Missing ${ya}. ${expectationMessage(ba)}`,ma,ba);if(typeof ma!="string")throw new va(`${ya} is not of type string`,ma,ba);return assertStringArraysOverlap(ya,ma,ba,va)}function assertStringArraysOverlap(ya,ma,ba,va=FailedAssertionError){if(!ma)throw new va(`Missing ${ya}. ${expectationMessage(ba)}`,ma,ba);const Ma=new Set(Array.isArray(ba)?ba:[ba]);if(typeof ma=="string"&&(ma=[ma]),!Array.isArray(ma))throw new va(`${ya} is not an array`,ma,ba);if(!ma.some(wl=>{if(typeof wl!="string")throw new va(`${ya} includes elements that are not of type string`,ma,ba);return Ma.has(wl)}))throw new va(`${ya} not allowed: ${ma.join(", ")}. ${expectationMessage(ba)}`,ma,ba)}function expectationMessage(ya){return Array.isArray(ya)?ya.length>1?`Expected one of: ${ya.join(", ")}`:`Expected: ${ya[0]}`:`Expected: ${ya}`}function assertIsNotPromise(ya,ma){if(ya&&typeof ya.then=="function")throw ma()}const optionalJwkFieldNames=["use","alg","kid","n","e","x","y","crv"],mandatoryJwkFieldNames=["kty"];function findJwkInJwks(ya,ma){return ya.keys.find(ba=>ba.kid!=null&&ba.kid===ma)}const parseJwks=function(ya){let ma;try{const ba=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}).decode(ya);ma=safeJsonParse(ba)}catch(ba){throw new JwksValidationError(`JWKS could not be parsed as JSON: ${ba}`)}return assertIsJwks(ma),ma};function assertIsJwks(ya){if(!ya)throw new JwksValidationError("JWKS empty");if(!isJsonObject(ya))throw new JwksValidationError("JWKS should be an object");if(!Object.keys(ya).includes("keys"))throw new JwksValidationError("JWKS does not include keys");if(!Array.isArray(ya.keys))throw new JwksValidationError("JWKS keys should be an array");for(const ma of ya.keys)assertIsJwk(ma)}function assertIsSignatureJwk(ya){assertStringArrayContainsString("JWK kty",ya.kty,["EC","RSA","OKP"],JwkInvalidKtyError),ya.kty==="EC"?assertIsEsSignatureJwk(ya):ya.kty==="RSA"?assertIsRsaSignatureJwk(ya):ya.kty==="OKP"&&assertIsEdDSASignatureJwk(ya)}function assertIsEdDSASignatureJwk(ya){if(ya.use&&assertStringEquals("JWK use",ya.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",ya.kty,"OKP",JwkInvalidKtyError),!ya.crv)throw new JwkValidationError("Missing Curve (crv)");if(!ya.x)throw new JwkValidationError("Missing X Coordinate (x)")}function assertIsEsSignatureJwk(ya){if(ya.use&&assertStringEquals("JWK use",ya.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",ya.kty,"EC",JwkInvalidKtyError),!ya.crv)throw new JwkValidationError("Missing Curve (crv)");if(!ya.x)throw new JwkValidationError("Missing X Coordinate (x)");if(!ya.y)throw new JwkValidationError("Missing Y Coordinate (y)")}function assertIsRsaSignatureJwk(ya){if(ya.use&&assertStringEquals("JWK use",ya.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",ya.kty,"RSA",JwkInvalidKtyError),!ya.n)throw new JwkValidationError("Missing modulus (n)");if(!ya.e)throw new JwkValidationError("Missing exponent (e)")}function assertIsJwk(ya){if(!ya)throw new JwkValidationError("JWK empty");if(!isJsonObject(ya))throw new JwkValidationError("JWK should be an object");for(const ma of mandatoryJwkFieldNames)if(typeof ya[ma]!="string")throw new JwkValidationError(`JWK ${ma} should be a string`);for(const ma of optionalJwkFieldNames)if(ma in ya&&typeof ya[ma]!="string")throw new JwkValidationError(`JWK ${ma} should be a string`)}function isJwks(ya){try{return assertIsJwks(ya),!0}catch{return!1}}function isJwk(ya){try{return assertIsJwk(ya),!0}catch{return!1}}class SimplePenaltyBox{constructor(ma){this.waitingUris=new Map,this.waitSeconds=ma?.waitSeconds??10}async wait(ma){if(this.waitingUris.has(ma))throw new WaitPeriodNotYetEndedJwkError("Not allowed to fetch JWKS yet, still waiting for back off period to end")}release(ma){const ba=this.waitingUris.get(ma);ba&&(clearTimeout(ba),this.waitingUris.delete(ma))}registerFailedAttempt(ma){const ba=nodeWebCompat.setTimeoutUnref(()=>{this.waitingUris.delete(ma)},this.waitSeconds*1e3);this.waitingUris.set(ma,ba)}registerSuccessfulAttempt(ma){this.release(ma)}}class SimpleJwksCache{constructor(ma){this.jwksCache=new Map,this.fetchingJwks=new Map,this.penaltyBox=ma?.penaltyBox??new SimplePenaltyBox,this.fetcher=ma?.fetcher??new SimpleFetcher,this.jwksParser=ma?.jwksParser??parseJwks}addJwks(ma,ba){this.jwksCache.set(ma,ba)}async getJwks(ma){const ba=this.fetchingJwks.get(ma);if(ba)return ba;const va=this.fetcher.fetch(ma).then(this.jwksParser);this.fetchingJwks.set(ma,va);let Ma;try{Ma=await va}finally{this.fetchingJwks.delete(ma)}return this.jwksCache.set(ma,Ma),Ma}getCachedJwk(ma,ba){if(typeof ba.header.kid!="string")throw new JwtWithoutValidKidError("JWT header does not have valid kid claim");if(!this.jwksCache.has(ma))throw new JwksNotAvailableInCacheError(`JWKS for uri ${ma} not yet available in cache`);const va=findJwkInJwks(this.jwksCache.get(ma),ba.header.kid);if(!va)throw new KidNotFoundInJwksError(`JWK for kid ${ba.header.kid} not found in the JWKS`);return va}async getJwk(ma,ba){if(typeof ba.header.kid!="string")throw new JwtWithoutValidKidError("JWT header does not have valid kid claim");const va=this.jwksCache.get(ma);if(va){const wl=findJwkInJwks(va,ba.header.kid);if(wl)return wl}await this.penaltyBox.wait(ma,ba.header.kid);const Ma=await this.getJwks(ma),El=findJwkInJwks(Ma,ba.header.kid);if(El)this.penaltyBox.registerSuccessfulAttempt(ma,ba.header.kid);else throw this.penaltyBox.registerFailedAttempt(ma,ba.header.kid),new KidNotFoundInJwksError(`JWK for kid "${ba.header.kid}" not found in the JWKS`);return El}}function assertJwtHeader(ya){if(!isJsonObject(ya))throw new JwtParseError("JWT header is not an object");if(ya.alg!==void 0&&typeof ya.alg!="string")throw new JwtParseError("JWT header alg claim is not a string");if(ya.kid!==void 0&&typeof ya.kid!="string")throw new JwtParseError("JWT header kid claim is not a string")}function assertJwtPayload(ya){if(!isJsonObject(ya))throw new JwtParseError("JWT payload is not an object");if(ya.exp!==void 0&&!Number.isFinite(ya.exp))throw new JwtParseError("JWT payload exp claim is not a number");if(ya.iss!==void 0&&typeof ya.iss!="string")throw new JwtParseError("JWT payload iss claim is not a string");if(ya.sub!==void 0&&typeof ya.sub!="string")throw new JwtParseError("JWT payload sub claim is not a string");if(ya.aud!==void 0&&typeof ya.aud!="string"&&(!Array.isArray(ya.aud)||ya.aud.some(ma=>typeof ma!="string")))throw new JwtParseError("JWT payload aud claim is not a string or array of strings");if(ya.nbf!==void 0&&!Number.isFinite(ya.nbf))throw new JwtParseError("JWT payload nbf claim is not a number");if(ya.iat!==void 0&&!Number.isFinite(ya.iat))throw new JwtParseError("JWT payload iat claim is not a number");if(ya.scope!==void 0&&typeof ya.scope!="string")throw new JwtParseError("JWT payload scope claim is not a string");if(ya.jti!==void 0&&typeof ya.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(ya){if(!ya)throw new JwtParseError("Empty JWT");if(typeof ya!="string")throw new JwtParseError("JWT is not a string");if(!JWT_REGEX.test(ya))throw new JwtParseError("JWT string does not consist of exactly 3 parts (header, payload, signature)");const[ma,ba,va]=ya.split("."),[Ma,El]=[ma,ba].map(nodeWebCompat.parseB64UrlString);let wl;try{wl=safeJsonParse(Ma)}catch(Cl){throw new JwtParseError("Invalid JWT. Header is not a valid JSON object",Cl)}assertJwtHeader(wl);let Sl;try{Sl=safeJsonParse(El)}catch(Cl){throw new JwtParseError("Invalid JWT. Payload is not a valid JSON object",Cl)}return assertJwtPayload(Sl),{header:wl,headerB64:ma,payload:Sl,payloadB64:ba,signatureB64:va}}function validateJwtFields(ya,ma){if(ya.exp!==void 0&&ya.exp+(ma.graceSeconds??0)<Date.now()/1e3)throw new JwtExpiredError(`Token expired at ${new Date(ya.exp*1e3).toISOString()}`,ya.exp);if(ya.nbf!==void 0&&ya.nbf-(ma.graceSeconds??0)>Date.now()/1e3)throw new JwtNotBeforeError(`Token can't be used before ${new Date(ya.nbf*1e3).toISOString()}`,ya.nbf);if(ma.issuer!==null){if(ma.issuer===void 0)throw new ParameterValidationError("issuer must be provided or set to null explicitly");assertStringArrayContainsString("Issuer",ya.iss,ma.issuer,JwtInvalidIssuerError)}if(ma.audience!==null){if(ma.audience===void 0)throw new ParameterValidationError("audience must be provided or set to null explicitly");assertStringArraysOverlap("Audience",ya.aud,ma.audience,JwtInvalidAudienceError)}ma.scope!=null&&assertStringArraysOverlap("Scope",ya.scope?.split(" "),ma.scope,JwtInvalidScopeError)}const supportedSignatureAlgorithms=["RS256","RS384","RS512","ES256","ES384","ES512","EdDSA"];function validateJwtHeaderAndJwk(ya,ma){assertIsSignatureJwk(ma),ma.alg&&assertStringEquals("JWT signature algorithm",ya.alg,ma.alg,JwtInvalidSignatureAlgorithmError),assertStringArrayContainsString("JWT signature algorithm",ya.alg,supportedSignatureAlgorithms,JwtInvalidSignatureAlgorithmError)}async function verifyDecomposedJwt(ya,ma,ba,va,Ma){const{header:El,headerB64:wl,payload:Sl,payloadB64:Cl,signatureB64:Mc}=ya,Ef=await va(ma,ya);validateJwtHeaderAndJwk(ya.header,Ef);const Zf=await Ma(Ef,El.alg,Sl.iss);if(!await nodeWebCompat.verifySignatureAsync({jwsSigningInput:`${wl}.${Cl}`,signature:Mc,alg:El.alg,keyObject:Zf}))throw new JwtInvalidSignatureError("Invalid signature");try{validateJwtFields(Sl,ba),ba.customJwtCheck&&await ba.customJwtCheck({header:El,payload:Sl,jwk:Ef})}catch(dp){throw ba.includeRawJwtInErrors&&dp instanceof JwtInvalidClaimError?dp.withRawJwt(ya):dp}return Sl}function verifyDecomposedJwtSync(ya,ma,ba,va){const{header:Ma,headerB64:El,payload:wl,payloadB64:Sl,signatureB64:Cl}=ya;let Mc;if(isJwk(ma))Mc=ma;else if(isJwks(ma)){const Jf=Ma.kid?findJwkInJwks(ma,Ma.kid):void 0;if(!Jf)throw new KidNotFoundInJwksError(`JWK for kid ${Ma.kid} not found in the JWKS`);Mc=Jf}else throw new ParameterValidationError([`Expected a valid JWK or JWKS (parsed as JavaScript object), but received: ${ma}.`,"If you're passing a JWKS URI, use the async verify() method instead, it will download and parse the JWKS for you"].join());validateJwtHeaderAndJwk(ya.header,Mc);const Ef=va(Mc,Ma.alg,wl.iss);if(!nodeWebCompat.verifySignatureSync({jwsSigningInput:`${El}.${Sl}`,signature:Cl,alg:Ma.alg,keyObject:Ef}))throw new JwtInvalidSignatureError("Invalid signature");try{if(validateJwtFields(wl,ba),ba.customJwtCheck){const Jf=ba.customJwtCheck({header:Ma,payload:wl,jwk:Mc});assertIsNotPromise(Jf,()=>new ParameterValidationError("Custom JWT checks must be synchronous but a promise was returned"))}}catch(Jf){throw ba.includeRawJwtInErrors&&Jf instanceof JwtInvalidClaimError?Jf.withRawJwt(ya):Jf}return wl}class JwtVerifierBase{constructor(ma,ba=new SimpleJwksCache){if(this.jwksCache=ba,this.issuersConfig=new Map,this.publicKeyCache=new KeyObjectCache,Array.isArray(ma)){if(!ma.length)throw new ParameterValidationError("Provide at least one issuer configuration");ma.forEach((va,Ma)=>{if(this.issuersConfig.has(va.issuer))throw new ParameterValidationError(`issuer ${va.issuer} supplied multiple times`);if(va.issuer===null&&ma.length>=2)throw new ParameterValidationError(`issuer cannot be null when multiple issuers are supplied (at issuer: ${Ma})`);this.issuersConfig.set(va.issuer,this.withJwksUri(va))})}else this.issuersConfig.set(ma.issuer,this.withJwksUri(ma))}getIssuerConfig(ma){if(this.issuersConfig.size===1&&(ma=this.issuersConfig.keys().next().value),ma===void 0)throw new ParameterValidationError("issuer must be provided");const ba=this.issuersConfig.get(ma);if(!ba)throw new ParameterValidationError(`issuer not configured: ${ma}`);return ba}cacheJwks(...[ma,ba]){const va=this.getIssuerConfig(ba);this.jwksCache.addJwks(va.jwksUri,ma),this.publicKeyCache.clearCache(va.issuer)}async hydrate(){const ma=Array.from(this.issuersConfig.values()).map(({jwksUri:ba})=>this.jwksCache.getJwks(ba));await Promise.all(ma)}verifySync(...[ma,ba]){const{decomposedJwt:va,jwksUri:Ma,verifyProperties:El}=this.getVerifyParameters(ma,ba);return this.verifyDecomposedJwtSync(va,Ma,El)}verifyDecomposedJwtSync(ma,ba,va){const Ma=this.jwksCache.getCachedJwk(ba,ma);return verifyDecomposedJwtSync(ma,Ma,va,this.publicKeyCache.transformJwkToKeyObjectSync.bind(this.publicKeyCache))}async verify(...[ma,ba]){const{decomposedJwt:va,jwksUri:Ma,verifyProperties:El}=this.getVerifyParameters(ma,ba);return this.verifyDecomposedJwt(va,Ma,El)}verifyDecomposedJwt(ma,ba,va){return verifyDecomposedJwt(ma,ba,va,this.jwksCache.getJwk.bind(this.jwksCache),this.publicKeyCache.transformJwkToKeyObjectAsync.bind(this.publicKeyCache))}getVerifyParameters(ma,ba){const va=decomposeUnverifiedJwt(ma),Ma=this.getIssuerConfig(va.payload.iss);return{decomposedJwt:va,jwksUri:Ma.jwksUri,verifyProperties:{...Ma,...ba}}}withJwksUri(ma){if(ma.jwksUri)return ma;const ba=ma.issuer;if(!ba)throw new ParameterValidationError("jwksUri must be provided for issuer null");const va=new URL(ba).pathname.replace(/\/$/,"");return{jwksUri:new URL(`${va}/.well-known/jwks.json`,ba).href,...ma}}}class KeyObjectCache{constructor(ma=nodeWebCompat.transformJwkToKeyObjectSync,ba=nodeWebCompat.transformJwkToKeyObjectAsync){this.transformJwkToKeyObjectSyncFn=ma,this.transformJwkToKeyObjectAsyncFn=ba,this.publicKeys=new Map}transformJwkToKeyObjectSync(ma,ba,va){const Ma=ma.alg??ba;if(!va||!ma.kid||!Ma)return this.transformJwkToKeyObjectSyncFn(ma,Ma,va);const El=this.publicKeys.get(va)?.get(ma.kid)?.get(Ma);if(El)return El;const wl=this.transformJwkToKeyObjectSyncFn(ma,Ma,va);return this.putKeyObjectInCache(va,ma.kid,Ma,wl),wl}async transformJwkToKeyObjectAsync(ma,ba,va){const Ma=ma.alg??ba;if(!va||!ma.kid||!Ma)return this.transformJwkToKeyObjectAsyncFn(ma,Ma,va);const El=this.publicKeys.get(va)?.get(ma.kid)?.get(Ma);if(El)return El;const wl=await this.transformJwkToKeyObjectAsyncFn(ma,Ma,va);return this.putKeyObjectInCache(va,ma.kid,Ma,wl),wl}putKeyObjectInCache(ma,ba,va,Ma){const El=this.publicKeys.get(ma),wl=El?.get(ba);wl?wl.set(va,Ma):El?El.set(ba,new Map([[va,Ma]])):this.publicKeys.set(ma,new Map([[ba,new Map([[va,Ma]])]]))}clearCache(ma){this.publicKeys.delete(ma)}}function validateCognitoJwtFields(ya,ma){if(ma.groups!=null&&assertStringArraysOverlap("Cognito group",ya["cognito:groups"],ma.groups,CognitoJwtInvalidGroupError),assertStringArrayContainsString("Token use",ya.token_use,["id","access"],CognitoJwtInvalidTokenUseError),ma.tokenUse!==null){if(ma.tokenUse===void 0)throw new ParameterValidationError("tokenUse must be provided or set to null explicitly");assertStringEquals("Token use",ya.token_use,ma.tokenUse,CognitoJwtInvalidTokenUseError)}if(ma.clientId!==null){if(ma.clientId===void 0)throw new ParameterValidationError("clientId must be provided or set to null explicitly");ya.token_use==="id"?assertStringArrayContainsString('Client ID ("audience")',ya.aud,ma.clientId,CognitoJwtInvalidClientIdError):assertStringArrayContainsString("Client ID",ya.client_id,ma.clientId,CognitoJwtInvalidClientIdError)}}class CognitoJwtVerifier extends JwtVerifierBase{constructor(ma,ba){const va=Array.isArray(ma)?ma.map(Ma=>({...Ma,...CognitoJwtVerifier.parseUserPoolId(Ma.userPoolId),audience:null})):{...ma,...CognitoJwtVerifier.parseUserPoolId(ma.userPoolId),audience:null};super(va,ba)}static parseUserPoolId(ma){const ba=ma.match(this.USER_POOL_ID_REGEX);if(!ba)throw new ParameterValidationError(`Invalid Cognito User Pool ID: ${ma}`);const Ma=`https://cognito-idp.${ba.groups.region}.amazonaws.com/${ma}`;return{issuer:Ma,jwksUri:`${Ma}/.well-known/jwks.json`}}static create(ma,ba){return new this(ma,ba?.jwksCache)}verifySync(...[ma,ba]){const{decomposedJwt:va,jwksUri:Ma,verifyProperties:El}=this.getVerifyParameters(ma,ba);this.verifyDecomposedJwtSync(va,Ma,El);try{validateCognitoJwtFields(va.payload,El)}catch(wl){throw El.includeRawJwtInErrors&&wl instanceof JwtInvalidClaimError?wl.withRawJwt(va):wl}return va.payload}async verify(...[ma,ba]){const{decomposedJwt:va,jwksUri:Ma,verifyProperties:El}=this.getVerifyParameters(ma,ba);await this.verifyDecomposedJwt(va,Ma,El);try{validateCognitoJwtFields(va.payload,El)}catch(wl){throw El.includeRawJwtInErrors&&wl instanceof JwtInvalidClaimError?wl.withRawJwt(va):wl}return va.payload}cacheJwks(...[ma,ba]){let va;if(ba!==void 0)va=CognitoJwtVerifier.parseUserPoolId(ba).issuer;else if(Array.from(this.issuersConfig).length>1)throw new ParameterValidationError("userPoolId must be provided");const Ma=this.getIssuerConfig(va);super.cacheJwks(ma,Ma.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(ma){for(var ba,va=1,Ma=arguments.length;va<Ma;va++){ba=arguments[va];for(var El in ba)Object.prototype.hasOwnProperty.call(ba,El)&&(ma[El]=ba[El])}return ma},__assign.apply(this,arguments)};function __rest(ya,ma){var ba={};for(var va in ya)Object.prototype.hasOwnProperty.call(ya,va)&&ma.indexOf(va)<0&&(ba[va]=ya[va]);if(ya!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ma=0,va=Object.getOwnPropertySymbols(ya);Ma<va.length;Ma++)ma.indexOf(va[Ma])<0&&Object.prototype.propertyIsEnumerable.call(ya,va[Ma])&&(ba[va[Ma]]=ya[va[Ma]]);return ba}function __awaiter(ya,ma,ba,va){function Ma(El){return El instanceof ba?El:new ba(function(wl){wl(El)})}return new(ba||(ba=Promise))(function(El,wl){function Sl(Ef){try{Mc(va.next(Ef))}catch(Zf){wl(Zf)}}function Cl(Ef){try{Mc(va.throw(Ef))}catch(Zf){wl(Zf)}}function Mc(Ef){Ef.done?El(Ef.value):Ma(Ef.value).then(Sl,Cl)}Mc((va=va.apply(ya,ma||[])).next())})}function __generator(ya,ma){var ba={label:0,sent:function(){if(El[0]&1)throw El[1];return El[1]},trys:[],ops:[]},va,Ma,El,wl=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return wl.next=Sl(0),wl.throw=Sl(1),wl.return=Sl(2),typeof Symbol=="function"&&(wl[Symbol.iterator]=function(){return this}),wl;function Sl(Mc){return function(Ef){return Cl([Mc,Ef])}}function Cl(Mc){if(va)throw new TypeError("Generator is already executing.");for(;wl&&(wl=0,Mc[0]&&(ba=0)),ba;)try{if(va=1,Ma&&(El=Mc[0]&2?Ma.return:Mc[0]?Ma.throw||((El=Ma.return)&&El.call(Ma),0):Ma.next)&&!(El=El.call(Ma,Mc[1])).done)return El;switch(Ma=0,El&&(Mc=[Mc[0]&2,El.value]),Mc[0]){case 0:case 1:El=Mc;break;case 4:return ba.label++,{value:Mc[1],done:!1};case 5:ba.label++,Ma=Mc[1],Mc=[0];continue;case 7:Mc=ba.ops.pop(),ba.trys.pop();continue;default:if(El=ba.trys,!(El=El.length>0&&El[El.length-1])&&(Mc[0]===6||Mc[0]===2)){ba=0;continue}if(Mc[0]===3&&(!El||Mc[1]>El[0]&&Mc[1]<El[3])){ba.label=Mc[1];break}if(Mc[0]===6&&ba.label<El[1]){ba.label=El[1],El=Mc;break}if(El&&ba.label<El[2]){ba.label=El[2],ba.ops.push(Mc);break}El[2]&&ba.ops.pop(),ba.trys.pop();continue}Mc=ma.call(ya,ba)}catch(Ef){Mc=[6,Ef],Ma=0}finally{va=El=0}if(Mc[0]&5)throw Mc[1];return{value:Mc[0]?Mc[1]:void 0,done:!0}}}function __spreadArray(ya,ma,ba){if(ba||arguments.length===2)for(var va=0,Ma=ma.length,El;va<Ma;va++)(El||!(va in ma))&&(El||(El=Array.prototype.slice.call(ma,0,va)),El[va]=ma[va]);return ya.concat(El||Array.prototype.slice.call(ma))}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-DiEKGzll.js"),__vite__mapDeps([26,19,27]))).fromEnv;const ma=await __vitePreload(()=>import("./index-CZOJflkl.js"),__vite__mapDeps([28,29,27,19,30,1,18,5,9,16,11,14,15,10,20,21,17,4]));CognitoIdentityProviderClient=ma.CognitoIdentityProviderClient,SignUpCommand=ma.SignUpCommand,ConfirmSignUp=ma.ConfirmSignUpCommand,ResendConfirmationCodeCommand=ma.ResendConfirmationCodeCommand,ForgotPasswordCommand=ma.ForgotPasswordCommand,ConfirmForgotPasswordCommand=ma.ConfirmForgotPasswordCommand,AdminGetUserCommand=ma.AdminGetUserCommand,InitiateAuthCommand=ma.InitiateAuthCommand,AdminCreateUserCommand=ma.AdminCreateUserCommand,AdminDisableUserCommand=ma.AdminDisableUserCommand,AdminEnableUserCommand=ma.AdminEnableUserCommand,AdminDeleteUserCommand=ma.AdminDeleteUserCommand,RespondToAuthChallengeCommand=ma.RespondToAuthChallengeCommand;const ba=await __vitePreload(()=>import("./index-BHDiPh0o.js"),__vite__mapDeps([31,1,4,5]));AuthenticationDetails=ba.AuthenticationDetails,CognitoUser=ba.CognitoUser,CognitoUserPool=ba.CognitoUserPool,CognitoUserSession=ba.CognitoUserSession,CognitoIdToken=ba.CognitoIdToken,CognitoAccessToken=ba.CognitoAccessToken,CognitoRefreshToken=ba.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(ya,ma){var ba;const va=sanitizeErrorMessage(ya.message||"");switch(logger$3.error(`Cognito error in ${ma}: ${ya.name} - ${va}`,{errorName:ya.name,errorCode:ya.code,context:ma,statusCode:(ba=ya.$metadata)===null||ba===void 0?void 0:ba.httpStatusCode}),ya.name){case"UserNotFoundException":throw logger$3.debug(`User not found in context: ${ma}`),new UserNotFoundError$1("User account not found. Please check your email or sign up.");case"NotAuthorizedException":throw ya.message&&ya.message.includes("password")?(logger$3.debug(`Invalid password attempt in context: ${ma}`),new UnauthorisedError$1("Invalid password. Please try again.")):ya.message&&ya.message.includes("not confirmed")?(logger$3.debug(`User not confirmed in context: ${ma}`),new UserNotConfirmedError$1):(logger$3.debug(`Authentication failed in context: ${ma}`),new UnauthorisedError$1("Authentication failed. Please check your credentials."));case"UserNotConfirmedException":throw logger$3.debug(`User not confirmed in context: ${ma}`),new UserNotConfirmedError$1;case"PasswordResetRequiredException":throw logger$3.debug(`Password reset required in context: ${ma}`),new PasswordResetRequiredError$1;case"TooManyRequestsException":throw logger$3.warn(`Rate limit exceeded in context: ${ma}`),new TooManyRequestsError$1;case"TooManyFailedAttemptsException":throw logger$3.warn(`Too many failed attempts in context: ${ma}`),new TooManyRequestsError$1("Too many failed login attempts. Please try again later.");case"InvalidParameterException":throw logger$3.debug(`Invalid parameters in context: ${ma}`),new InvalidParameterError$1(sanitizeErrorMessage(ya.message)||"Invalid parameters provided");case"ExpiredCodeException":throw logger$3.debug(`Expired code in context: ${ma}`),new ExpiredCodeError$1;case"CodeMismatchException":throw logger$3.debug(`Code mismatch in context: ${ma}`),new CodeMismatchError$1;case"UsernameExistsException":throw logger$3.debug(`Username exists in context: ${ma}`),new BadRequestError$4("An account with this email already exists.");case"InvalidPasswordException":throw logger$3.debug(`Invalid password format in context: ${ma}`),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: ${ma}`),new TooManyRequestsError$1("Service limit exceeded. Please try again later.");case"InternalErrorException":throw logger$3.error(`Internal Cognito error in context: ${ma}`),new Error("Authentication service is temporarily unavailable. Please try again later.");case"ResourceNotFoundException":throw logger$3.error(`Resource not found in context: ${ma}`),new Error("Authentication service configuration error. Please contact support.");case"AliasExistsException":throw logger$3.debug(`Alias exists in context: ${ma}`),new BadRequestError$4("An account with this email already exists.");case"InvalidEmailRoleAccessPolicyException":throw logger$3.error(`Invalid email role access policy in context: ${ma}`),new Error("Email service configuration error. Please contact support.");case"UserLambdaValidationException":throw logger$3.error(`User lambda validation error in context: ${ma}`),new BadRequestError$4("User validation failed. Please check your input and try again.");case"UnsupportedUserStateException":throw logger$3.debug(`Unsupported user state in context: ${ma}`),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: ${ma}`),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: ${ma}`),new Error("Unable to deliver verification code. Please try again later.");case"DuplicateProviderException":throw logger$3.error(`Duplicate provider in context: ${ma}`),new BadRequestError$4("Authentication provider already exists.");case"EnableSoftwareTokenMFAException":throw logger$3.debug(`Software token MFA required in context: ${ma}`),new BadRequestError$4("Software token MFA setup required.");case"ForbiddenException":throw logger$3.warn(`Forbidden access in context: ${ma}`),new UnauthorisedError$1("Access forbidden. Please check your permissions.");case"GroupExistsException":throw logger$3.debug(`Group exists in context: ${ma}`),new BadRequestError$4("Group already exists.");case"InvalidLambdaResponseException":throw logger$3.error(`Invalid lambda response in context: ${ma}`),new Error("Authentication service error. Please try again later.");case"InvalidOAuthFlowException":throw logger$3.error(`Invalid OAuth flow in context: ${ma}`),new BadRequestError$4("Invalid OAuth flow. Please try again.");case"InvalidSmsRoleAccessPolicyException":throw logger$3.error(`Invalid SMS role access policy in context: ${ma}`),new Error("SMS service configuration error. Please contact support.");case"InvalidSmsRoleTrustRelationshipException":throw logger$3.error(`Invalid SMS role trust relationship in context: ${ma}`),new Error("SMS service configuration error. Please contact support.");case"InvalidUserPoolConfigurationException":throw logger$3.error(`Invalid user pool configuration in context: ${ma}`),new Error("Authentication service configuration error. Please contact support.");case"PreconditionNotMetException":throw logger$3.debug(`Precondition not met in context: ${ma}`),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: ${ma}`),new BadRequestError$4("Invalid scope. Please check your request.");case"UnexpectedLambdaException":throw logger$3.error(`Unexpected lambda exception in context: ${ma}`),new Error("Authentication service error. Please try again later.");case"UserImportInProgressException":throw logger$3.warn(`User import in progress in context: ${ma}`),new TooManyRequestsError$1("User import in progress. Please try again later.");case"UserPoolTaggingException":throw logger$3.error(`User pool tagging exception in context: ${ma}`),new Error("Authentication service configuration error. Please contact support.");default:throw logger$3.error(`Unhandled Cognito error: ${ya.name}`,{errorName:ya.name,errorCode:ya.code,context:ma}),new Error(`Authentication error: ${sanitizeErrorMessage(ya.message)||"An unexpected error occurred"}`)}}function sanitizeErrorMessage(ya){return ya?ya.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(ma){this.config=ma||defaultConfig$1;const ba=this.config.get("UserPoolId");ba&&(this.userPool=new CognitoUserPool({UserPoolId:ba,ClientId:this.fetchClientId()}))}fetchUserPoolId(){return this.fetchConfig("UserPoolId")}fetchClientId(){return this.fetchConfig("ClientId")}fetchConfig(ma){const ba=this.config.get(ma);if(ba)return ba;throw new Error(`${ma} is not set`)}async signUp(ma,ba,va,Ma,El,wl,Sl){const Cl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Mc=[{Name:"email",Value:va},{Name:"name",Value:va},{Name:"given_name",Value:ma},{Name:"family_name",Value:ba}];El&&El.forEach((Jf,dp)=>{Mc.push({Name:dp,Value:Jf})});const Ef={ClientId:this.config.get("ClientId"),Username:va,Password:Ma,UserAttributes:Mc,ValidationData:Mc},Zf=new SignUpCommand(Ef);try{logger$3.debug(`Attempting signup for user: ${va}`);const Jf=await Cl.send(Zf);if(Jf.$metadata.httpStatusCode==200){logger$3.info(`Signup successful for user: ${va}`);const dp=await ensureUser(va,ma,ba,wl,"Active"),hp={username:va,firstName:ma,lastName:ba,id:dp.id,systemUserInfo:Jf.UserSub};Sl(hp)}else throw logger$3.error(`Signup failed with HTTP status ${Jf.$metadata.httpStatusCode}`,{username:va,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 ${va}:`,{errorName:Jf.name,errorMessage:sanitizeErrorMessage(Jf.message)}),handleCognitoError(Jf,"signUp")}}async confirmSignup(ma,ba,va){try{const Ma=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),El=new ConfirmSignUp({ClientId:this.config.get("ClientId"),Username:ma,ConfirmationCode:ba});await Ma.send(El)}catch(Ma){logger$3.error(`Failed to confirm signup: ${Ma.message}`),handleCognitoError(Ma,"confirmSignup")}}async resendConfirmationCode(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Ma=new ResendConfirmationCodeCommand({ClientId:this.config.get("ClientId"),Username:ma});await va.send(Ma)}catch(va){logger$3.error(`Failed to resend confirmation code: ${va.message}`),handleCognitoError(va,"resendConfirmationCode")}}async forgotPassword(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Ma=new ForgotPasswordCommand({ClientId:this.fetchClientId(),Username:ma});await va.send(Ma)}catch(va){logger$3.error(`Forgot password failed for ${ma}: ${sanitizeErrorMessage(va.message)}`),handleCognitoError(va,"forgotPassword")}}async confirmForgotPassword(ma,ba,va,Ma){try{const El=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),wl=new ConfirmForgotPasswordCommand({ClientId:this.fetchClientId(),Username:ma,ConfirmationCode:ba,Password:va});await El.send(wl)}catch(El){logger$3.error(`Confirm forgot password failed for ${ma}: ${sanitizeErrorMessage(El.message)}`),handleCognitoError(El,"confirmForgotPassword")}}async login(ma,ba,va,Ma){if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID){const wl=new CognitoUser({Username:ma,Pool:this.fetchUserPool()}),Sl=new AuthenticationDetails({Username:ma,Password:ba});let Cl,Mc;for(wl.authenticateUser(Sl,{onSuccess:Ef=>{Cl=Ef},onFailure:Ef=>{logger$3.debug(`Cognito authentication failed for user ${ma}:`,{errorName:Ef.name,errorMessage:sanitizeErrorMessage(Ef.message)}),Mc=Ef},mfaRequired:(Ef,Zf)=>{logger$3.info(`MFA required for user ${ma}: ${Ef}`),Mc=new Error("MFA authentication required")},newPasswordRequired:(Ef,Zf)=>{logger$3.info(`New password required for user ${ma}`),Mc=new PasswordResetRequiredError$1("New password required. Please reset your password.")}});Cl===void 0&&Mc===void 0;)await sleepMilliseconds$1(100);if(Mc){if(Mc instanceof PasswordResetRequiredError$1)throw Mc;logger$3.error(`Login failed for user ${ma}:`,{errorName:Mc.name,errorMessage:sanitizeErrorMessage(Mc.message)}),handleCognitoError(Mc,"login")}if(Cl){const Ef=Cl.getIdToken(),Zf=Ef.getJwtToken(),Jf=Ef.decodePayload(),dp=Jf.given_name||Jf.name||"",hp=Jf.family_name||"",dg=Jf["cognito:groups"];let pg=await findUserByEmail(ma,va);pg||(pg=await ensureUser(ma,dp,hp,va));const hg=pg.lookup("id");dg&&await ensureUserRoles(hg,dg,va);const mg=Cl.getAccessToken().getJwtToken(),gg=Cl.getRefreshToken().getToken(),ly={sessionId:(await ensureUserSession(hg,Zf,mg,gg,va)).lookup("id"),userId:hg,authToken:Zf,idToken:Zf,accessToken:mg,refreshToken:gg,systemSesionInfo:Cl};Ma(ly)}else throw logger$3.error(`Login failed for ${ma} - no result received`),new UnauthorisedError$1("Login failed. Please try again.")}else{let wl=await findUserByEmail(ma,va);wl||(logger$3.warn(`User ${ma} not found in local store`),wl=await ensureUser(ma,"","",va));const Sl=new CognitoUser({Username:ma,Pool:this.fetchUserPool()}),Cl=new AuthenticationDetails({Username:ma,Password:ba});let Mc,Ef;for(Sl.authenticateUser(Cl,{onSuccess:Zf=>{Mc=Zf},onFailure:Zf=>{logger$3.debug(`Cognito authentication failed for user ${ma}:`,{errorName:Zf.name,errorMessage:sanitizeErrorMessage(Zf.message)}),Ef=Zf},mfaRequired:(Zf,Jf)=>{logger$3.info(`MFA required for user ${ma}: ${Zf}`),Ef=new Error("MFA authentication required")},newPasswordRequired:(Zf,Jf)=>{logger$3.info(`New password required for user ${ma}`),Ef=new PasswordResetRequiredError$1("New password required. Please reset your password.")}});Mc===void 0&&Ef===void 0;)await sleepMilliseconds$1(100);if(Ef){if(Ef instanceof PasswordResetRequiredError$1)throw Ef;logger$3.error(`Login failed for user ${ma}:`,{errorName:Ef.name,errorMessage:sanitizeErrorMessage(Ef.message)}),handleCognitoError(Ef,"login")}if(Mc){const Zf=wl.lookup("id"),Jf=Mc.getIdToken().getJwtToken(),dp=Mc.getAccessToken().getJwtToken(),hp=Mc.getRefreshToken().getToken(),pg={sessionId:(await ensureUserSession(Zf,Jf,dp,hp,va)).lookup("id"),userId:Zf,authToken:Jf,idToken:Jf,accessToken:dp,refreshToken:hp,systemSesionInfo:Mc};Ma(pg)}else throw logger$3.error(`Login failed for ${ma} - no result received`),new UnauthorisedError$1("Login failed. Please try again.")}}async logout(ma,ba,va){try{const Ma=await findUser(ma.userId,ba);if(!Ma){logger$3.warn(`User ${ma.userId} not found during logout`),va&&va(!0);return}const El=new CognitoUser({Username:Ma.lookup("email"),Pool:this.fetchUserPool()});let wl=!1,Sl;const Cl=new CognitoUserSession({IdToken:new CognitoIdToken({IdToken:ma.idToken}),AccessToken:new CognitoAccessToken({AccessToken:ma.accessToken}),RefreshToken:new CognitoRefreshToken({RefreshToken:ma.refreshToken})});for(El.setSignInUserSession(Cl),El.globalSignOut({onSuccess:function(){wl=!0},onFailure:function(Mc){wl=!0,logger$3.error(`Cognito signOut error for user ${ma.userId}:`,{errorName:Mc.name,errorMessage:sanitizeErrorMessage(Mc.message)}),Sl=Mc}});!wl;)await sleepMilliseconds$1(100);Sl&&logger$3.error(`Error during Cognito logout for user ${ma.userId}: ${Sl.message}`),logger$3.debug(`Successfully logged out user ${ma.userId}`),va&&va(!0)}catch(Ma){throw logger$3.error(`Logout failed for user ${ma.userId}: ${Ma.message}`),va&&va(!1),Ma}}async changePassword(ma,ba,va,Ma){const El=await findUser(ma.userId,Ma);if(!El)return logger$3.warn(`User ${ma.userId} not found for password-change`),!1;const wl=El.lookup("email"),Sl=new CognitoUser({Username:wl,Pool:this.fetchUserPool()}),Cl=new CognitoUserSession({IdToken:new CognitoIdToken({IdToken:ma.idToken}),AccessToken:new CognitoAccessToken({AccessToken:ma.accessToken}),RefreshToken:new CognitoRefreshToken({RefreshToken:ma.refreshToken})});Sl.setSignInUserSession(Cl);let Mc=!1,Ef;for(Sl.changePassword(va,ba,(Zf,Jf)=>{Zf?(Mc=!0,Ef=Zf):Mc=!0});!Mc;)await sleepMilliseconds$1(100);return Ef?(logger$3.warn(`Failed to change the password for ${wl} - ${Ef.message}`),!1):!0}fetchUserPool(){if(this.userPool)return this.userPool;throw new Error("UserPool not initialized")}async verifyToken(ma){try{const va=await CognitoJwtVerifier.create({userPoolId:this.fetchUserPoolId(),tokenUse:"id",clientId:this.fetchClientId()}).verify(ma);logger$3.debug(`Decoded JWT for ${va.email}`)}catch(ba){throw logger$3.error("Token verification failed:",{errorName:ba.name,errorMessage:sanitizeErrorMessage(ba.message)}),ba.message&&ba.message.includes("expired")?new UnauthorisedError$1("Token has expired. Please login again."):ba.message&&ba.message.includes("invalid")?new UnauthorisedError$1("Invalid token format."):ba.message&&ba.message.includes("not before")?new UnauthorisedError$1("Token is not yet valid."):ba.message&&ba.message.includes("audience")?new UnauthorisedError$1("Token audience mismatch."):new UnauthorisedError$1(`Token verification failed: ${sanitizeErrorMessage(ba.message)||"Invalid token"}`)}}async getUser(ma,ba){const va=await findUser(ma,ba);if(!va)throw new UserNotFoundError$1(`User ${ma} not found in local database`);const Ma=va.lookup("email"),El=va.lookup("firstName"),wl=va.lookup("lastName");if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID&&Ma)try{const Cl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Mc=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:Ma}),Ef=await Cl.send(Mc);return{id:ma,username:Ma,firstName:El,lastName:wl,systemUserInfo:{localUser:va,cognitoData:{userAttributes:Ef.UserAttributes,userCreateDate:Ef.UserCreateDate,userLastModifiedDate:Ef.UserLastModifiedDate,userStatus:Ef.UserStatus,enabled:Ef.Enabled,preferredMfaSetting:Ef.PreferredMfaSetting,userMFASettingList:Ef.UserMFASettingList}}}}catch(Cl){return logger$3.warn(`Failed to get Cognito user info for ${Ma}, using local data only:`,{errorName:Cl.name,errorMessage:sanitizeErrorMessage(Cl.message)}),{id:ma,username:Ma,firstName:El,lastName:wl,systemUserInfo:va}}else return{id:ma,username:Ma||ma,firstName:El,lastName:wl,systemUserInfo:va}}async getUserByEmail(ma,ba){const va=await findUserByEmail(ma,ba);if(!va)throw new UserNotFoundError$1(`User with email ${ma} not found in local database`);const Ma=va.lookup("id"),El=va.lookup("firstName"),wl=va.lookup("lastName");if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID)try{const Cl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Mc=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),ClientId:this.fetchClientId(),Username:ma}),Ef=await Cl.send(Mc);return{id:Ma,username:ma,firstName:El,lastName:wl,systemUserInfo:{localUser:va,cognitoData:{userAttributes:Ef.UserAttributes,userCreateDate:Ef.UserCreateDate,userLastModifiedDate:Ef.UserLastModifiedDate,userStatus:Ef.UserStatus,enabled:Ef.Enabled,preferredMfaSetting:Ef.PreferredMfaSetting,userMFASettingList:Ef.UserMFASettingList}}}}catch(Cl){return console.log(`Failed to get Cognito user info for email ${ma}, using local data only:`,{errorName:Cl.name,errorMessage:sanitizeErrorMessage(Cl.message)}),{id:Ma,username:ma,firstName:El,lastName:wl,systemUserInfo:va}}else return{id:Ma,username:ma,firstName:El,lastName:wl,systemUserInfo:va}}async refreshToken(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Ma=new InitiateAuthCommand({AuthFlow:"REFRESH_TOKEN_AUTH",ClientId:this.fetchClientId(),AuthParameters:{REFRESH_TOKEN:ma}}),El=await va.send(Ma);if(!El.AuthenticationResult)throw new UnauthorisedError$1("Token refresh failed");const wl=El.AuthenticationResult.IdToken,Sl=El.AuthenticationResult.AccessToken,Cl=El.AuthenticationResult.RefreshToken||ma,Ef=JSON.parse(atob(wl.split(".")[1])).email;let Zf=await findUserByEmail(Ef,ba);Zf||(Zf=await ensureUser(Ef,"","",ba));const Jf=Zf.lookup("id");return{sessionId:(await ensureUserSession(Jf,wl,Sl,Cl,ba)).lookup("id"),userId:Jf,authToken:wl,idToken:wl,accessToken:Sl,refreshToken:Cl,systemSesionInfo:El.AuthenticationResult}}catch(va){throw logger$3.error(`Refresh token operation failed: ${va.message}`),va.name==="NotAuthorizedException"?new UnauthorisedError$1("Invalid or expired refresh token"):(handleCognitoError(va,"refreshToken"),va)}}async inviteUser(ma,ba,va,Ma,El,wl,Sl){var Cl;try{const Mc=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Ef=[{Name:"email",Value:ma},{Name:"email_verified",Value:"true"},{Name:"given_name",Value:ba},{Name:"family_name",Value:va}];Ma&&Ma.forEach((hp,dg)=>{Ef.push({Name:dg,Value:String(hp)})});let Zf=!1;try{const hp=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});await Mc.send(hp),Zf=!0,logger$3.debug(`User ${ma} already exists, will resend invitation`)}catch(hp){if(hp.name!=="UserNotFoundException")throw hp;logger$3.debug(`User ${ma} does not exist, will create new user`)}const Jf=new AdminCreateUserCommand(Object.assign({UserPoolId:this.fetchUserPoolId(),Username:ma,UserAttributes:Ef,DesiredDeliveryMediums:["EMAIL"],TemporaryPassword:generateUrlSafePassword$1()},Zf?{MessageAction:"RESEND"}:{}));logger$3.debug(`Attempting to invite user: ${ma}`);const dp=await Mc.send(Jf);if(dp.$metadata.httpStatusCode===200){logger$3.info(`User invitation successful for: ${ma}`);const dg=(await ensureUser(ma,ba,va,wl,"Invited")).lookup("id");await ensureUserRoles(dg,[El||"user"],wl);const pg={email:ma,firstName:ba,lastName:va,invitationId:(Cl=dp.User)===null||Cl===void 0?void 0:Cl.Username,systemInvitationInfo:dp};Sl(pg)}else throw logger$3.error(`User invitation failed with HTTP status ${dp.$metadata.httpStatusCode}`,{email:ma,statusCode:dp.$metadata.httpStatusCode}),new BadRequestError$4(`User invitation failed with status ${dp.$metadata.httpStatusCode}`)}catch(Mc){if(Mc instanceof BadRequestError$4)throw Mc;logger$3.error(`User invitation error for ${ma}:`,{errorName:Mc.name,errorMessage:sanitizeErrorMessage(Mc.message)}),handleCognitoError(Mc,"inviteUser")}}async resendInvitation(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"});try{const wl=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});await va.send(wl)}catch(wl){throw wl.name==="UserNotFoundException"?new UserNotFoundError$1(`User ${ma} not found. Cannot resend invitation.`):wl}const Ma=new AdminCreateUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma,DesiredDeliveryMediums:["EMAIL"],MessageAction:"RESEND"});logger$3.debug(`Attempting to resend invitation for user: ${ma}`);const El=await va.send(Ma);if(El.$metadata.httpStatusCode===200)logger$3.info(`Invitation resent successfully for: ${ma}`);else throw logger$3.error(`Failed to resend invitation with HTTP status ${El.$metadata.httpStatusCode}`,{email:ma,statusCode:El.$metadata.httpStatusCode}),new BadRequestError$4(`Failed to resend invitation with status ${El.$metadata.httpStatusCode}`)}catch(va){if(va instanceof BadRequestError$4||va instanceof UserNotFoundError$1)throw va;logger$3.error(`Resend invitation error for ${ma}:`,{errorName:va.name,errorMessage:sanitizeErrorMessage(va.message)}),handleCognitoError(va,"resendInvitation")}}async acceptInvitation(ma,ba,va,Ma){try{const El=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),wl=new InitiateAuthCommand({AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.fetchClientId(),AuthParameters:{USERNAME:ma,PASSWORD:ba}}),Sl=await El.send(wl);if(Sl.ChallengeName==="NEW_PASSWORD_REQUIRED"){const Cl=new RespondToAuthChallengeCommand({ClientId:this.fetchClientId(),ChallengeName:"NEW_PASSWORD_REQUIRED",Session:Sl.Session,ChallengeResponses:{USERNAME:ma,NEW_PASSWORD:va}});await El.send(Cl),logger$3.info(`User invitation accepted successfully for: ${ma}`)}else throw new Error(`Unexpected challenge: ${Sl.ChallengeName}`)}catch(El){logger$3.error(`Accept invitation failed for ${ma}: ${sanitizeErrorMessage(El.message)}`),handleCognitoError(El,"acceptInvitation")}}async callback(ma,ba,va){try{if(!isNodeEnv$1)throw new Error("Callback authentication is only supported in Node.js environment");const Ma=this.fetchConfig("ClientId"),El=define_process_env_default$2.AWS_REGION||"us-east-1",wl=define_process_env_default$2.COGNITO_REDIRECT_URI||"http://localhost:3000/auth/callback",Cl=`https://${define_process_env_default$2.COGNITO_HOSTED_DOMAIN}.auth.${El}.amazoncognito.com/oauth2/token`,Mc=new URLSearchParams({grant_type:"authorization_code",client_id:Ma,code:ma,redirect_uri:wl});logger$3.debug("Exchanging authorization code for tokens via OAuth2 endpoint"),console.log("te",Cl,Mc.toString());const Ef=await fetch(Cl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:Mc.toString()});if(!Ef.ok){const H1=await Ef.text();throw new Error(`Token exchange failed: ${Ef.status} ${H1}`)}const Zf=await Ef.json();if(!Zf.access_token||!Zf.id_token||!Zf.refresh_token)throw new Error("Missing required tokens in response");const{access_token:Jf,id_token:dp,refresh_token:hp}=Zf,dg=this.decodeJwtPayload(dp),pg=dg.email,hg=dg.given_name||dg.name||"",mg=dg.family_name||"",gg=dg["cognito:groups"];if(!pg)throw new Error("Email not found in ID attributes");let sy=await findUserByEmail(pg,ba);sy||(sy=await ensureUser(pg,hg,mg,ba));const ly=sy.lookup("id");gg&&await ensureUserRoles(ly,gg,ba);const uy={sessionId:(await ensureUserSession(ly,dp,Jf,hp,ba)).lookup("id"),userId:ly,authToken:dp,idToken:dp,accessToken:Jf,refreshToken:hp,systemSesionInfo:Zf};logger$3.info(`Auth callback successful for user ${pg}`),va(uy)}catch(Ma){console.log(Ma),logger$3.error(`Auth callback failed: ${sanitizeErrorMessage(Ma.message)}`),handleCognitoError(Ma,"callback")}}decodeJwtPayload(ma){try{const va=ma.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),Ma=decodeURIComponent(atob(va).split("").map(El=>"%"+("00"+El.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(Ma)}catch(ba){throw logger$3.error(`Failed to decode JWT payload: ${ba}`),new Error("Invalid JWT token")}}async deleteUser(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Ma=new AdminDeleteUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});logger$3.debug(`Attempting to delete user: ${ma}`),await va.send(Ma),logger$3.info(`User deleted successfully: ${ma}`)}catch(va){logger$3.error(`Failed to delete user ${ma}:`,{errorName:va.name,errorMessage:sanitizeErrorMessage(va.message)}),handleCognitoError(va,"deleteUser")}}async disableUser(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Ma=new AdminDisableUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});logger$3.debug(`Attempting to disable user: ${ma}`),await va.send(Ma),logger$3.info(`User disabled successfully: ${ma}`)}catch(va){logger$3.error(`Failed to disable user ${ma}:`,{errorName:va.name,errorMessage:sanitizeErrorMessage(va.message)}),handleCognitoError(va,"disableUser")}}async enableUser(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Ma=new AdminEnableUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});logger$3.debug(`Attempting to enable user: ${ma}`),await va.send(Ma),logger$3.info(`User enabled successfully: ${ma}`)}catch(va){logger$3.error(`Failed to enable user ${ma}:`,{errorName:va.name,errorMessage:sanitizeErrorMessage(va.message)}),handleCognitoError(va,"enableUser")}}}const CoreAuthModuleName=makeCoreModuleName$1("auth"),auth=`module ${CoreAuthModuleName}
17500
+ ${ya}`)}async function preprocessStep(ya,ma){if(ya.startsWith("{")){const va=(await parseStatement$1(ya)).pattern.crudMap;if(va){ma.resetTemplateMappings();const Ma=va.name;return va.body&&va.body.attributes.forEach(El=>{var wl,Sl;const Cl=(Sl=(wl=El.value)===null||wl===void 0?void 0:wl.$cstNode)===null||Sl===void 0?void 0:Sl.text;Cl&&ma.setTemplateMapping(El.name,Cl)}),Ma}else throw new Error(`Invalid step - ${ya}`)}else return ya}async function handleOpenApiEvent(ya,ma){const ba=await invokeOpenApiEvent(ya.moduleName,ya.name,ya.attributesAsObject());ma.setLastResult(ba)}async function evaluateUpsert(ya,ma){ma.setInUpsertMode(!0);try{await evaluateCrudMap(ya,ma)}finally{ma.setInUpsertMode(!1)}}async function evaluateForEach(ya,ma){const ba=ya.var;await evaluatePattern(ya.src,ma);const va=ma.getLastResult();if(va instanceof Array&&va.length>0){const Ma=Environment.from(ma),El=new Array;for(let wl=0;wl<va.length;++wl)Ma.bind(ba,va[wl]),await evaluateStatements(ya.statements,Ma),El.push(Ma.getLastResult());ma.setLastResult(El)}else ma.setLastResult(EmptyResult)}async function evaluateIf(ya,ma){await evaluateExpression(ya.cond,ma),ma.getLastResult()?await evaluateStatements(ya.statements,ma):ya.else!==void 0&&await evaluateStatements(ya.else.statements,ma)}async function evaluateDeleteHelper(ya,ma,ba){const va=Environment.from(ba).setInDeleteMode(!0);await evaluatePattern(ya,va),await maybeDeleteQueriedInstances(va,ba,ma)}async function maybeDeleteQueriedInstances(ya,ma,ba=!1){const va=ya.getLastResult();let Ma=Resolver.Default;if(va instanceof Array)if(va.length>0&&isEntityInstance$1(va[0])){Ma=await getResolverForPath(va[0].name,va[0].moduleName,ya);const El=new Array;for(let wl=0;wl<va.length;++wl){await runPreDeleteEvents(va[wl],ma);const Sl=await Ma.deleteInstance(va[wl],ba);await runPostDeleteEvents(va[wl],ma),El.push(Sl)}ya.setLastResult(El)}else ya.setLastResult(va);else if(isEntityInstance$1(va)){Ma=await getResolverForPath(va.name,va.moduleName,ya),await runPreDeleteEvents(va,ma);const El=await Ma.deleteInstance(va,ba);await runPostDeleteEvents(va,ma),ya.setLastResult(El)}ma.setLastResult(ya.getLastResult())}async function evaluateDelete(ya,ma){await evaluateDeleteHelper(ya.pattern,!1,ma)}async function evaluatePurge(ya,ma){await evaluateDeleteHelper(ya.pattern,!0,ma)}async function evaluateExpression(ya,ma){let ba=EmptyResult;if(isBinExpr$1(ya)){await evaluateExpression(ya.e1,ma);const va=ma.getLastResult();if(ya.op=="or"){if(va)return;await evaluateExpression(ya.e2,ma);return}else if(ya.op=="and"){if(!va)return;await evaluateExpression(ya.e2,ma);return}if(va==null){ma.setLastResult(void 0);return}await evaluateExpression(ya.e2,ma);const Ma=ma.getLastResult();if(Ma==null){ma.setLastResult(void 0);return}switch(ya.op){case"+":ba=va+Ma;break;case"-":ba=va-Ma;break;case"*":ba=va*Ma;break;case"/":ba=va/Ma;break;case"==":ba=va==Ma;break;case"<":ba=va<Ma;break;case">":ba=va>Ma;break;case"<=":ba=va<=Ma;break;case">=":ba=va>=Ma;break;case"<>":case"!=":ba=va!=Ma;break;case"like":ba=va.startsWith(Ma);break;case"in":ba=Ma.find(El=>{});break;default:throw new Error(`Unrecognized binary operator: ${ya.op}`)}}else if(isNegExpr$1(ya))await evaluateExpression(ya.ne,ma),ba=-1*ma.getLastResult();else if(isGroup$2(ya))await evaluateExpression(ya.ge,ma),ba=ma.getLastResult();else if(isLiteral$1(ya)){await evaluateLiteral(ya,ma);return}else isNotExpr$1(ya)&&(await evaluateExpression(ya.ne,ma),ba=!ma.getLastResult());ma.setLastResult(ba)}async function getRef(ya,ma,ba){return Instance$1.IsInstance(ma)?ma.lookup(ya):ma instanceof Map?ma.get(ya):ma instanceof Object?ma[ya]:isPath$1(ma)?await getRef(ya,await dereferencePath(ma,ba),ba):void 0}async function followReference(ya,ma){const ba=splitRefs$1(ma);let va=EmptyResult,Ma=ya;for(let El=0;El<ba.length;++El){const wl=ba[El],Sl=await getRef(wl,Ma,ya);if(Sl===void 0)return EmptyResult;va=Sl,Ma=va}return va}async function dereferencePath(ya,ma){const ba=fqNameFromPath$1(ya);if(ba===void 0)throw new Error(`Failed to deduce entry-name from path - ${ya}`);const va=new Environment("path-deref",ma);await parseAndEvaluateStatement(`{${ba} {${PathAttributeNameQuery$1} "${ya}"}}`,ma.getAuthContextUserId(),va);const Ma=va.getLastResult();if(Ma&&Ma instanceof Array&&Ma.length>0)return Ma[0]}async function applyFn(ya,ma,ba){const va=ya.name;if(va!==void 0){let Ma=null;if(ya.args!==void 0){Ma=new Array;for(let wl=0;wl<ya.args.length;++wl){const Sl=ya.args[wl];isLiteral$1(Sl)?await evaluateLiteral(Sl,ma):await evaluateExpression(Sl,ma),Ma.push(ma.getLastResult())}Ma.push(ma)}const El=await invokeModuleFn(va,Ma,ba);ma.setLastResult(El)}}async function realizeArray(ya,ma){const ba=new Array;for(let va=0;va<ya.vals.length;++va)await evaluateStatement(ya.vals[va],ma),ba.push(ma.getLastResult());ma.setLastResult(ba)}async function realizeMap(ya,ma){const ba=new Map;for(let va=0;va<ya.entries.length;++va){const Ma=ya.entries[va],El=getMapKey(Ma.key);await evaluateExpression(Ma.value,ma),ba.set(El,ma.getLastResult())}ma.setLastResult(Object.fromEntries(ba.entries()))}async function callPostEventOnSubscription(ya,ma,ba){const va=ba===void 0,Ma=new Environment("onSubs.env");try{return await runPrePostEvents(ya,!1,ma,Ma),va&&await Ma.commitAllTransactions(),Ma.getLastResult()}catch(El){await Ma.rollbackAllTransactions(),logger$3.error(`callPostEventOnSubscription failed for ${ya} ${ma.getFqName()} - ${El}`)}}async function runPrePostEvents(ya,ma,ba,va){const Ma=ma?ba.record.getPreTriggerInfo(ya):ba.record.getPostTriggerInfo(ya);if(Ma){const El=nameToPath$1(Ma.eventName),wl=El.hasModule()?El.getModuleName():ba.record.moduleName,Sl=makeInstance$1(wl,El.getEntryName(),newInstanceAttributes$1().set(ba.record.name,ba)),Cl=va.getActiveAuthContext();Cl&&Sl.setAuthContext(Cl);const Mc=`${ma?"Pre":"Post"}-${CrudType$1[ya]} ${ba.record.getFqName()}`,Ef=Jf=>{logger$3.debug(`${Mc}: ${Jf}`)},Zf=Jf=>{throw va.hasHandlers()?Jf:new Error(`${Mc}: ${Jf}`)};Ma.async?evaluate$1(Sl,Ef,bindAliasesForPrePost(va,ba,Mc)).catch(Zf):await evaluate$1(Sl,Ef,bindAliasesForPrePost(va,ba,Mc)).catch(Zf)}}function bindAliasesForPrePost(ya,ma,ba){const va=new Environment(`${ba}.env`,ya),Ma=ma.getFqName();return va.bind("this",ma),va.bind(Ma,ma),va.bind(ma.name,ma),va}async function runPreCreateEvents(ya,ma){await runPrePostEvents(CrudType$1.CREATE,!0,ya,ma)}async function runPostCreateEvents(ya,ma){ya.requireAudit()&&await addCreateAudit(ya.getPath(),ma,{original:ya.userAttributesAsObject()}),await runPrePostEvents(CrudType$1.CREATE,!1,ya,ma)}async function runPreUpdateEvents(ya,ma){await runPrePostEvents(CrudType$1.UPDATE,!0,ya,ma)}async function runPostUpdateEvents(ya,ma,ba){if(ya.requireAudit()){let va;if(ma!==void 0){const Ma=ma.userAttributesAsObject(),El=detailedDiff(Ma,ya.userAttributesAsObject());va={original:Ma,updated:El.updated}}await addUpdateAudit(ya.getPath(),va,ba)}await runPrePostEvents(CrudType$1.UPDATE,!1,ya,ba)}async function runPreDeleteEvents(ya,ma){await runPrePostEvents(CrudType$1.DELETE,!0,ya,ma)}async function runPostDeleteEvents(ya,ma){ya.requireAudit()&&await addDeleteAudit(ya.getPath(),{deleted:ya.userAttributesAsObject()},ma),await runPrePostEvents(CrudType$1.DELETE,!1,ya,ma)}async function fetchConfig(ya){const ma=await parseAndEvaluateStatement(`{${ya}? {}}`);if(ma&&ma!==null&&ma.length>0)return preprocessRawConfig(Object.fromEntries(ma[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(ma,ba,va){super(ma),this.failedAssertion={actual:ba,expected:va}}}class JwtParseError extends JwtBaseError{constructor(ma,ba){const va=ba!=null?`${ma}: ${ba}`:ma;super(va)}}class ParameterValidationError extends JwtBaseError{}class JwtInvalidSignatureError extends JwtBaseError{}class JwtInvalidSignatureAlgorithmError extends FailedAssertionError{}class JwtInvalidClaimError extends FailedAssertionError{withRawJwt({header:ma,payload:ba}){return this.rawJwt={header:ma,payload:ba},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(ma,ba){super(`Failed to fetch ${ma}: ${ba}`)}}class NonRetryableFetchError extends FetchError{}class NotSupportedError extends JwtBaseError{}var NamedCurvesWebCrypto;(function(ya){ya.ES256="P-256",ya.ES384="P-384",ya.ES512="P-521"})(NamedCurvesWebCrypto||(NamedCurvesWebCrypto={}));const nodeWebCompat={fetch:async(ya,ma,ba)=>{const va=Number(ma?.responseTimeout);if(va){const El=new AbortController;setTimeout(()=>El.abort(new FetchError(ya,`Response time-out (after ${va} ms.)`)),va),ma={signal:El.signal,...ma}}const Ma=await fetch(ya,{...ma,body:ba}).catch(El=>{throw new FetchError(ya,El.message)});if(Ma.status!==200)throw new NonRetryableFetchError(ya,`Status code is ${Ma.status}, expected 200`);return Ma.arrayBuffer()},defaultFetchTimeouts:{response:3e3},transformJwkToKeyObjectSync:()=>{throw new NotSupportedError("Synchronously transforming a JWK into a key object is not supported in the browser")},transformJwkToKeyObjectAsync:(ya,ma)=>{const ba=ya.alg??ma;if(!ba)throw new JwtInvalidSignatureAlgorithmError("Missing alg on both JWK and JWT header",ba);const va=ba.startsWith("RS")?{name:"RSASSA-PKCS1-v1_5",hash:`SHA-${ba.slice(2)}`}:ba.startsWith("ES")?{name:"ECDSA",namedCurve:NamedCurvesWebCrypto[ba]}:ya.crv;return crypto.subtle.importKey("jwk",ya,va,!1,["verify"]).then(Ma=>({key:Ma,jwk:ya}))},verifySignatureSync:()=>{throw new NotSupportedError("Synchronously verifying a JWT signature is not supported in the browser")},verifySignatureAsync:({jwsSigningInput:ya,keyObject:ma,signature:ba,alg:va})=>crypto.subtle.verify(va.startsWith("RS")?{name:"RSASSA-PKCS1-v1_5"}:va.startsWith("ES")?{name:"ECDSA",hash:`SHA-${va.slice(2)}`}:{name:ma.jwk.crv},ma.key,bufferFromBase64url(ba),new TextEncoder().encode(ya)),parseB64UrlString:ya=>new TextDecoder().decode(bufferFromBase64url(ya)),setTimeoutUnref:setTimeout.bind(void 0),transformPemToJwk:async(ya,ma)=>{let ba;switch(ma){case"RS256":case"RS384":case"RS512":ba={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${ma.slice(2)}`};break;case"ES256":case"ES384":case"ES512":ba={name:"ECDSA",namedCurve:NamedCurvesWebCrypto[ma]};break;default:throw new JwtInvalidSignatureAlgorithmError("Unsupported signature algorithm",ma)}const va=await crypto.subtle.importKey("spki",bufferFromBase64(new TextDecoder().decode(ya).replace(/-----BEGIN PUBLIC KEY-----/,"").replace(/-----END PUBLIC KEY-----/,"").replace(/\s/g,"")),ba,!0,["verify"]);return crypto.subtle.exportKey("jwk",va)}};function _bufferFromBase64(ya){const ma=ya.split("").reduce((ba,va,Ma)=>Object.assign(ba,{[va.charCodeAt(0)]:Ma}),{});return function(ba){ba=ba.replace(/={1,2}$/,"");let va,Ma,El,wl;return ba.match(/.{1,4}/g).reduce((Sl,Cl,Mc)=>(va=ma[Cl.charCodeAt(0)],Ma=ma[Cl.charCodeAt(1)],El=ma[Cl.charCodeAt(2)],wl=ma[Cl.charCodeAt(3)],Sl[3*Mc]=va<<2|Ma>>4,Sl[3*Mc+1]=(Ma&15)<<4|El>>2,Sl[3*Mc+2]=(El&3)<<6|wl,Sl),new Uint8Array(ba.length*3/4))}}const bufferFromBase64url=_bufferFromBase64("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),bufferFromBase64=_bufferFromBase64("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),fetch$1=nodeWebCompat.fetch.bind(void 0);class SimpleFetcher{constructor(ma){this.defaultRequestOptions={timeout:nodeWebCompat.defaultFetchTimeouts.socketIdle,responseTimeout:nodeWebCompat.defaultFetchTimeouts.response,...ma?.defaultRequestOptions}}async fetch(ma,ba,va){ba={...this.defaultRequestOptions,...ba};try{return await fetch$1(ma,ba,va)}catch(Ma){if(Ma instanceof NonRetryableFetchError)throw Ma;return fetch$1(ma,ba,va)}}}function isJsonObject(ya){return typeof ya=="object"&&!Array.isArray(ya)&&ya!==null}function safeJsonParse(ya){return JSON.parse(ya,(ma,ba)=>(typeof ba=="object"&&!Array.isArray(ba)&&ba!==null&&(delete ba.__proto__,delete ba.constructor),ba))}function assertStringEquals(ya,ma,ba,va=FailedAssertionError){if(!ma)throw new va(`Missing ${ya}. Expected: ${ba}`,ma,ba);if(typeof ma!="string")throw new va(`${ya} is not of type string`,ma,ba);if(ba!==ma)throw new va(`${ya} not allowed: ${ma}. Expected: ${ba}`,ma,ba)}function assertStringArrayContainsString(ya,ma,ba,va=FailedAssertionError){if(!ma)throw new va(`Missing ${ya}. ${expectationMessage(ba)}`,ma,ba);if(typeof ma!="string")throw new va(`${ya} is not of type string`,ma,ba);return assertStringArraysOverlap(ya,ma,ba,va)}function assertStringArraysOverlap(ya,ma,ba,va=FailedAssertionError){if(!ma)throw new va(`Missing ${ya}. ${expectationMessage(ba)}`,ma,ba);const Ma=new Set(Array.isArray(ba)?ba:[ba]);if(typeof ma=="string"&&(ma=[ma]),!Array.isArray(ma))throw new va(`${ya} is not an array`,ma,ba);if(!ma.some(wl=>{if(typeof wl!="string")throw new va(`${ya} includes elements that are not of type string`,ma,ba);return Ma.has(wl)}))throw new va(`${ya} not allowed: ${ma.join(", ")}. ${expectationMessage(ba)}`,ma,ba)}function expectationMessage(ya){return Array.isArray(ya)?ya.length>1?`Expected one of: ${ya.join(", ")}`:`Expected: ${ya[0]}`:`Expected: ${ya}`}function assertIsNotPromise(ya,ma){if(ya&&typeof ya.then=="function")throw ma()}const optionalJwkFieldNames=["use","alg","kid","n","e","x","y","crv"],mandatoryJwkFieldNames=["kty"];function findJwkInJwks(ya,ma){return ya.keys.find(ba=>ba.kid!=null&&ba.kid===ma)}const parseJwks=function(ya){let ma;try{const ba=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}).decode(ya);ma=safeJsonParse(ba)}catch(ba){throw new JwksValidationError(`JWKS could not be parsed as JSON: ${ba}`)}return assertIsJwks(ma),ma};function assertIsJwks(ya){if(!ya)throw new JwksValidationError("JWKS empty");if(!isJsonObject(ya))throw new JwksValidationError("JWKS should be an object");if(!Object.keys(ya).includes("keys"))throw new JwksValidationError("JWKS does not include keys");if(!Array.isArray(ya.keys))throw new JwksValidationError("JWKS keys should be an array");for(const ma of ya.keys)assertIsJwk(ma)}function assertIsSignatureJwk(ya){assertStringArrayContainsString("JWK kty",ya.kty,["EC","RSA","OKP"],JwkInvalidKtyError),ya.kty==="EC"?assertIsEsSignatureJwk(ya):ya.kty==="RSA"?assertIsRsaSignatureJwk(ya):ya.kty==="OKP"&&assertIsEdDSASignatureJwk(ya)}function assertIsEdDSASignatureJwk(ya){if(ya.use&&assertStringEquals("JWK use",ya.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",ya.kty,"OKP",JwkInvalidKtyError),!ya.crv)throw new JwkValidationError("Missing Curve (crv)");if(!ya.x)throw new JwkValidationError("Missing X Coordinate (x)")}function assertIsEsSignatureJwk(ya){if(ya.use&&assertStringEquals("JWK use",ya.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",ya.kty,"EC",JwkInvalidKtyError),!ya.crv)throw new JwkValidationError("Missing Curve (crv)");if(!ya.x)throw new JwkValidationError("Missing X Coordinate (x)");if(!ya.y)throw new JwkValidationError("Missing Y Coordinate (y)")}function assertIsRsaSignatureJwk(ya){if(ya.use&&assertStringEquals("JWK use",ya.use,"sig",JwkInvalidUseError),assertStringEquals("JWK kty",ya.kty,"RSA",JwkInvalidKtyError),!ya.n)throw new JwkValidationError("Missing modulus (n)");if(!ya.e)throw new JwkValidationError("Missing exponent (e)")}function assertIsJwk(ya){if(!ya)throw new JwkValidationError("JWK empty");if(!isJsonObject(ya))throw new JwkValidationError("JWK should be an object");for(const ma of mandatoryJwkFieldNames)if(typeof ya[ma]!="string")throw new JwkValidationError(`JWK ${ma} should be a string`);for(const ma of optionalJwkFieldNames)if(ma in ya&&typeof ya[ma]!="string")throw new JwkValidationError(`JWK ${ma} should be a string`)}function isJwks(ya){try{return assertIsJwks(ya),!0}catch{return!1}}function isJwk(ya){try{return assertIsJwk(ya),!0}catch{return!1}}class SimplePenaltyBox{constructor(ma){this.waitingUris=new Map,this.waitSeconds=ma?.waitSeconds??10}async wait(ma){if(this.waitingUris.has(ma))throw new WaitPeriodNotYetEndedJwkError("Not allowed to fetch JWKS yet, still waiting for back off period to end")}release(ma){const ba=this.waitingUris.get(ma);ba&&(clearTimeout(ba),this.waitingUris.delete(ma))}registerFailedAttempt(ma){const ba=nodeWebCompat.setTimeoutUnref(()=>{this.waitingUris.delete(ma)},this.waitSeconds*1e3);this.waitingUris.set(ma,ba)}registerSuccessfulAttempt(ma){this.release(ma)}}class SimpleJwksCache{constructor(ma){this.jwksCache=new Map,this.fetchingJwks=new Map,this.penaltyBox=ma?.penaltyBox??new SimplePenaltyBox,this.fetcher=ma?.fetcher??new SimpleFetcher,this.jwksParser=ma?.jwksParser??parseJwks}addJwks(ma,ba){this.jwksCache.set(ma,ba)}async getJwks(ma){const ba=this.fetchingJwks.get(ma);if(ba)return ba;const va=this.fetcher.fetch(ma).then(this.jwksParser);this.fetchingJwks.set(ma,va);let Ma;try{Ma=await va}finally{this.fetchingJwks.delete(ma)}return this.jwksCache.set(ma,Ma),Ma}getCachedJwk(ma,ba){if(typeof ba.header.kid!="string")throw new JwtWithoutValidKidError("JWT header does not have valid kid claim");if(!this.jwksCache.has(ma))throw new JwksNotAvailableInCacheError(`JWKS for uri ${ma} not yet available in cache`);const va=findJwkInJwks(this.jwksCache.get(ma),ba.header.kid);if(!va)throw new KidNotFoundInJwksError(`JWK for kid ${ba.header.kid} not found in the JWKS`);return va}async getJwk(ma,ba){if(typeof ba.header.kid!="string")throw new JwtWithoutValidKidError("JWT header does not have valid kid claim");const va=this.jwksCache.get(ma);if(va){const wl=findJwkInJwks(va,ba.header.kid);if(wl)return wl}await this.penaltyBox.wait(ma,ba.header.kid);const Ma=await this.getJwks(ma),El=findJwkInJwks(Ma,ba.header.kid);if(El)this.penaltyBox.registerSuccessfulAttempt(ma,ba.header.kid);else throw this.penaltyBox.registerFailedAttempt(ma,ba.header.kid),new KidNotFoundInJwksError(`JWK for kid "${ba.header.kid}" not found in the JWKS`);return El}}function assertJwtHeader(ya){if(!isJsonObject(ya))throw new JwtParseError("JWT header is not an object");if(ya.alg!==void 0&&typeof ya.alg!="string")throw new JwtParseError("JWT header alg claim is not a string");if(ya.kid!==void 0&&typeof ya.kid!="string")throw new JwtParseError("JWT header kid claim is not a string")}function assertJwtPayload(ya){if(!isJsonObject(ya))throw new JwtParseError("JWT payload is not an object");if(ya.exp!==void 0&&!Number.isFinite(ya.exp))throw new JwtParseError("JWT payload exp claim is not a number");if(ya.iss!==void 0&&typeof ya.iss!="string")throw new JwtParseError("JWT payload iss claim is not a string");if(ya.sub!==void 0&&typeof ya.sub!="string")throw new JwtParseError("JWT payload sub claim is not a string");if(ya.aud!==void 0&&typeof ya.aud!="string"&&(!Array.isArray(ya.aud)||ya.aud.some(ma=>typeof ma!="string")))throw new JwtParseError("JWT payload aud claim is not a string or array of strings");if(ya.nbf!==void 0&&!Number.isFinite(ya.nbf))throw new JwtParseError("JWT payload nbf claim is not a number");if(ya.iat!==void 0&&!Number.isFinite(ya.iat))throw new JwtParseError("JWT payload iat claim is not a number");if(ya.scope!==void 0&&typeof ya.scope!="string")throw new JwtParseError("JWT payload scope claim is not a string");if(ya.jti!==void 0&&typeof ya.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(ya){if(!ya)throw new JwtParseError("Empty JWT");if(typeof ya!="string")throw new JwtParseError("JWT is not a string");if(!JWT_REGEX.test(ya))throw new JwtParseError("JWT string does not consist of exactly 3 parts (header, payload, signature)");const[ma,ba,va]=ya.split("."),[Ma,El]=[ma,ba].map(nodeWebCompat.parseB64UrlString);let wl;try{wl=safeJsonParse(Ma)}catch(Cl){throw new JwtParseError("Invalid JWT. Header is not a valid JSON object",Cl)}assertJwtHeader(wl);let Sl;try{Sl=safeJsonParse(El)}catch(Cl){throw new JwtParseError("Invalid JWT. Payload is not a valid JSON object",Cl)}return assertJwtPayload(Sl),{header:wl,headerB64:ma,payload:Sl,payloadB64:ba,signatureB64:va}}function validateJwtFields(ya,ma){if(ya.exp!==void 0&&ya.exp+(ma.graceSeconds??0)<Date.now()/1e3)throw new JwtExpiredError(`Token expired at ${new Date(ya.exp*1e3).toISOString()}`,ya.exp);if(ya.nbf!==void 0&&ya.nbf-(ma.graceSeconds??0)>Date.now()/1e3)throw new JwtNotBeforeError(`Token can't be used before ${new Date(ya.nbf*1e3).toISOString()}`,ya.nbf);if(ma.issuer!==null){if(ma.issuer===void 0)throw new ParameterValidationError("issuer must be provided or set to null explicitly");assertStringArrayContainsString("Issuer",ya.iss,ma.issuer,JwtInvalidIssuerError)}if(ma.audience!==null){if(ma.audience===void 0)throw new ParameterValidationError("audience must be provided or set to null explicitly");assertStringArraysOverlap("Audience",ya.aud,ma.audience,JwtInvalidAudienceError)}ma.scope!=null&&assertStringArraysOverlap("Scope",ya.scope?.split(" "),ma.scope,JwtInvalidScopeError)}const supportedSignatureAlgorithms=["RS256","RS384","RS512","ES256","ES384","ES512","EdDSA"];function validateJwtHeaderAndJwk(ya,ma){assertIsSignatureJwk(ma),ma.alg&&assertStringEquals("JWT signature algorithm",ya.alg,ma.alg,JwtInvalidSignatureAlgorithmError),assertStringArrayContainsString("JWT signature algorithm",ya.alg,supportedSignatureAlgorithms,JwtInvalidSignatureAlgorithmError)}async function verifyDecomposedJwt(ya,ma,ba,va,Ma){const{header:El,headerB64:wl,payload:Sl,payloadB64:Cl,signatureB64:Mc}=ya,Ef=await va(ma,ya);validateJwtHeaderAndJwk(ya.header,Ef);const Zf=await Ma(Ef,El.alg,Sl.iss);if(!await nodeWebCompat.verifySignatureAsync({jwsSigningInput:`${wl}.${Cl}`,signature:Mc,alg:El.alg,keyObject:Zf}))throw new JwtInvalidSignatureError("Invalid signature");try{validateJwtFields(Sl,ba),ba.customJwtCheck&&await ba.customJwtCheck({header:El,payload:Sl,jwk:Ef})}catch(dp){throw ba.includeRawJwtInErrors&&dp instanceof JwtInvalidClaimError?dp.withRawJwt(ya):dp}return Sl}function verifyDecomposedJwtSync(ya,ma,ba,va){const{header:Ma,headerB64:El,payload:wl,payloadB64:Sl,signatureB64:Cl}=ya;let Mc;if(isJwk(ma))Mc=ma;else if(isJwks(ma)){const Jf=Ma.kid?findJwkInJwks(ma,Ma.kid):void 0;if(!Jf)throw new KidNotFoundInJwksError(`JWK for kid ${Ma.kid} not found in the JWKS`);Mc=Jf}else throw new ParameterValidationError([`Expected a valid JWK or JWKS (parsed as JavaScript object), but received: ${ma}.`,"If you're passing a JWKS URI, use the async verify() method instead, it will download and parse the JWKS for you"].join());validateJwtHeaderAndJwk(ya.header,Mc);const Ef=va(Mc,Ma.alg,wl.iss);if(!nodeWebCompat.verifySignatureSync({jwsSigningInput:`${El}.${Sl}`,signature:Cl,alg:Ma.alg,keyObject:Ef}))throw new JwtInvalidSignatureError("Invalid signature");try{if(validateJwtFields(wl,ba),ba.customJwtCheck){const Jf=ba.customJwtCheck({header:Ma,payload:wl,jwk:Mc});assertIsNotPromise(Jf,()=>new ParameterValidationError("Custom JWT checks must be synchronous but a promise was returned"))}}catch(Jf){throw ba.includeRawJwtInErrors&&Jf instanceof JwtInvalidClaimError?Jf.withRawJwt(ya):Jf}return wl}class JwtVerifierBase{constructor(ma,ba=new SimpleJwksCache){if(this.jwksCache=ba,this.issuersConfig=new Map,this.publicKeyCache=new KeyObjectCache,Array.isArray(ma)){if(!ma.length)throw new ParameterValidationError("Provide at least one issuer configuration");ma.forEach((va,Ma)=>{if(this.issuersConfig.has(va.issuer))throw new ParameterValidationError(`issuer ${va.issuer} supplied multiple times`);if(va.issuer===null&&ma.length>=2)throw new ParameterValidationError(`issuer cannot be null when multiple issuers are supplied (at issuer: ${Ma})`);this.issuersConfig.set(va.issuer,this.withJwksUri(va))})}else this.issuersConfig.set(ma.issuer,this.withJwksUri(ma))}getIssuerConfig(ma){if(this.issuersConfig.size===1&&(ma=this.issuersConfig.keys().next().value),ma===void 0)throw new ParameterValidationError("issuer must be provided");const ba=this.issuersConfig.get(ma);if(!ba)throw new ParameterValidationError(`issuer not configured: ${ma}`);return ba}cacheJwks(...[ma,ba]){const va=this.getIssuerConfig(ba);this.jwksCache.addJwks(va.jwksUri,ma),this.publicKeyCache.clearCache(va.issuer)}async hydrate(){const ma=Array.from(this.issuersConfig.values()).map(({jwksUri:ba})=>this.jwksCache.getJwks(ba));await Promise.all(ma)}verifySync(...[ma,ba]){const{decomposedJwt:va,jwksUri:Ma,verifyProperties:El}=this.getVerifyParameters(ma,ba);return this.verifyDecomposedJwtSync(va,Ma,El)}verifyDecomposedJwtSync(ma,ba,va){const Ma=this.jwksCache.getCachedJwk(ba,ma);return verifyDecomposedJwtSync(ma,Ma,va,this.publicKeyCache.transformJwkToKeyObjectSync.bind(this.publicKeyCache))}async verify(...[ma,ba]){const{decomposedJwt:va,jwksUri:Ma,verifyProperties:El}=this.getVerifyParameters(ma,ba);return this.verifyDecomposedJwt(va,Ma,El)}verifyDecomposedJwt(ma,ba,va){return verifyDecomposedJwt(ma,ba,va,this.jwksCache.getJwk.bind(this.jwksCache),this.publicKeyCache.transformJwkToKeyObjectAsync.bind(this.publicKeyCache))}getVerifyParameters(ma,ba){const va=decomposeUnverifiedJwt(ma),Ma=this.getIssuerConfig(va.payload.iss);return{decomposedJwt:va,jwksUri:Ma.jwksUri,verifyProperties:{...Ma,...ba}}}withJwksUri(ma){if(ma.jwksUri)return ma;const ba=ma.issuer;if(!ba)throw new ParameterValidationError("jwksUri must be provided for issuer null");const va=new URL(ba).pathname.replace(/\/$/,"");return{jwksUri:new URL(`${va}/.well-known/jwks.json`,ba).href,...ma}}}class KeyObjectCache{constructor(ma=nodeWebCompat.transformJwkToKeyObjectSync,ba=nodeWebCompat.transformJwkToKeyObjectAsync){this.transformJwkToKeyObjectSyncFn=ma,this.transformJwkToKeyObjectAsyncFn=ba,this.publicKeys=new Map}transformJwkToKeyObjectSync(ma,ba,va){const Ma=ma.alg??ba;if(!va||!ma.kid||!Ma)return this.transformJwkToKeyObjectSyncFn(ma,Ma,va);const El=this.publicKeys.get(va)?.get(ma.kid)?.get(Ma);if(El)return El;const wl=this.transformJwkToKeyObjectSyncFn(ma,Ma,va);return this.putKeyObjectInCache(va,ma.kid,Ma,wl),wl}async transformJwkToKeyObjectAsync(ma,ba,va){const Ma=ma.alg??ba;if(!va||!ma.kid||!Ma)return this.transformJwkToKeyObjectAsyncFn(ma,Ma,va);const El=this.publicKeys.get(va)?.get(ma.kid)?.get(Ma);if(El)return El;const wl=await this.transformJwkToKeyObjectAsyncFn(ma,Ma,va);return this.putKeyObjectInCache(va,ma.kid,Ma,wl),wl}putKeyObjectInCache(ma,ba,va,Ma){const El=this.publicKeys.get(ma),wl=El?.get(ba);wl?wl.set(va,Ma):El?El.set(ba,new Map([[va,Ma]])):this.publicKeys.set(ma,new Map([[ba,new Map([[va,Ma]])]]))}clearCache(ma){this.publicKeys.delete(ma)}}function validateCognitoJwtFields(ya,ma){if(ma.groups!=null&&assertStringArraysOverlap("Cognito group",ya["cognito:groups"],ma.groups,CognitoJwtInvalidGroupError),assertStringArrayContainsString("Token use",ya.token_use,["id","access"],CognitoJwtInvalidTokenUseError),ma.tokenUse!==null){if(ma.tokenUse===void 0)throw new ParameterValidationError("tokenUse must be provided or set to null explicitly");assertStringEquals("Token use",ya.token_use,ma.tokenUse,CognitoJwtInvalidTokenUseError)}if(ma.clientId!==null){if(ma.clientId===void 0)throw new ParameterValidationError("clientId must be provided or set to null explicitly");ya.token_use==="id"?assertStringArrayContainsString('Client ID ("audience")',ya.aud,ma.clientId,CognitoJwtInvalidClientIdError):assertStringArrayContainsString("Client ID",ya.client_id,ma.clientId,CognitoJwtInvalidClientIdError)}}class CognitoJwtVerifier extends JwtVerifierBase{constructor(ma,ba){const va=Array.isArray(ma)?ma.map(Ma=>({...Ma,...CognitoJwtVerifier.parseUserPoolId(Ma.userPoolId),audience:null})):{...ma,...CognitoJwtVerifier.parseUserPoolId(ma.userPoolId),audience:null};super(va,ba)}static parseUserPoolId(ma){const ba=ma.match(this.USER_POOL_ID_REGEX);if(!ba)throw new ParameterValidationError(`Invalid Cognito User Pool ID: ${ma}`);const Ma=`https://cognito-idp.${ba.groups.region}.amazonaws.com/${ma}`;return{issuer:Ma,jwksUri:`${Ma}/.well-known/jwks.json`}}static create(ma,ba){return new this(ma,ba?.jwksCache)}verifySync(...[ma,ba]){const{decomposedJwt:va,jwksUri:Ma,verifyProperties:El}=this.getVerifyParameters(ma,ba);this.verifyDecomposedJwtSync(va,Ma,El);try{validateCognitoJwtFields(va.payload,El)}catch(wl){throw El.includeRawJwtInErrors&&wl instanceof JwtInvalidClaimError?wl.withRawJwt(va):wl}return va.payload}async verify(...[ma,ba]){const{decomposedJwt:va,jwksUri:Ma,verifyProperties:El}=this.getVerifyParameters(ma,ba);await this.verifyDecomposedJwt(va,Ma,El);try{validateCognitoJwtFields(va.payload,El)}catch(wl){throw El.includeRawJwtInErrors&&wl instanceof JwtInvalidClaimError?wl.withRawJwt(va):wl}return va.payload}cacheJwks(...[ma,ba]){let va;if(ba!==void 0)va=CognitoJwtVerifier.parseUserPoolId(ba).issuer;else if(Array.from(this.issuersConfig).length>1)throw new ParameterValidationError("userPoolId must be provided");const Ma=this.getIssuerConfig(va);super.cacheJwks(ma,Ma.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(ma){for(var ba,va=1,Ma=arguments.length;va<Ma;va++){ba=arguments[va];for(var El in ba)Object.prototype.hasOwnProperty.call(ba,El)&&(ma[El]=ba[El])}return ma},__assign.apply(this,arguments)};function __rest(ya,ma){var ba={};for(var va in ya)Object.prototype.hasOwnProperty.call(ya,va)&&ma.indexOf(va)<0&&(ba[va]=ya[va]);if(ya!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ma=0,va=Object.getOwnPropertySymbols(ya);Ma<va.length;Ma++)ma.indexOf(va[Ma])<0&&Object.prototype.propertyIsEnumerable.call(ya,va[Ma])&&(ba[va[Ma]]=ya[va[Ma]]);return ba}function __awaiter(ya,ma,ba,va){function Ma(El){return El instanceof ba?El:new ba(function(wl){wl(El)})}return new(ba||(ba=Promise))(function(El,wl){function Sl(Ef){try{Mc(va.next(Ef))}catch(Zf){wl(Zf)}}function Cl(Ef){try{Mc(va.throw(Ef))}catch(Zf){wl(Zf)}}function Mc(Ef){Ef.done?El(Ef.value):Ma(Ef.value).then(Sl,Cl)}Mc((va=va.apply(ya,ma||[])).next())})}function __generator(ya,ma){var ba={label:0,sent:function(){if(El[0]&1)throw El[1];return El[1]},trys:[],ops:[]},va,Ma,El,wl=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return wl.next=Sl(0),wl.throw=Sl(1),wl.return=Sl(2),typeof Symbol=="function"&&(wl[Symbol.iterator]=function(){return this}),wl;function Sl(Mc){return function(Ef){return Cl([Mc,Ef])}}function Cl(Mc){if(va)throw new TypeError("Generator is already executing.");for(;wl&&(wl=0,Mc[0]&&(ba=0)),ba;)try{if(va=1,Ma&&(El=Mc[0]&2?Ma.return:Mc[0]?Ma.throw||((El=Ma.return)&&El.call(Ma),0):Ma.next)&&!(El=El.call(Ma,Mc[1])).done)return El;switch(Ma=0,El&&(Mc=[Mc[0]&2,El.value]),Mc[0]){case 0:case 1:El=Mc;break;case 4:return ba.label++,{value:Mc[1],done:!1};case 5:ba.label++,Ma=Mc[1],Mc=[0];continue;case 7:Mc=ba.ops.pop(),ba.trys.pop();continue;default:if(El=ba.trys,!(El=El.length>0&&El[El.length-1])&&(Mc[0]===6||Mc[0]===2)){ba=0;continue}if(Mc[0]===3&&(!El||Mc[1]>El[0]&&Mc[1]<El[3])){ba.label=Mc[1];break}if(Mc[0]===6&&ba.label<El[1]){ba.label=El[1],El=Mc;break}if(El&&ba.label<El[2]){ba.label=El[2],ba.ops.push(Mc);break}El[2]&&ba.ops.pop(),ba.trys.pop();continue}Mc=ma.call(ya,ba)}catch(Ef){Mc=[6,Ef],Ma=0}finally{va=El=0}if(Mc[0]&5)throw Mc[1];return{value:Mc[0]?Mc[1]:void 0,done:!0}}}function __spreadArray(ya,ma,ba){if(ba||arguments.length===2)for(var va=0,Ma=ma.length,El;va<Ma;va++)(El||!(va in ma))&&(El||(El=Array.prototype.slice.call(ma,0,va)),El[va]=ma[va]);return ya.concat(El||Array.prototype.slice.call(ma))}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-BVdx1GK8.js"),__vite__mapDeps([26,19,27]))).fromEnv;const ma=await __vitePreload(()=>import("./index-CPgyIhh1.js"),__vite__mapDeps([28,29,27,19,30,1,18,5,9,16,11,14,15,10,20,21,17,4]));CognitoIdentityProviderClient=ma.CognitoIdentityProviderClient,SignUpCommand=ma.SignUpCommand,ConfirmSignUp=ma.ConfirmSignUpCommand,ResendConfirmationCodeCommand=ma.ResendConfirmationCodeCommand,ForgotPasswordCommand=ma.ForgotPasswordCommand,ConfirmForgotPasswordCommand=ma.ConfirmForgotPasswordCommand,AdminGetUserCommand=ma.AdminGetUserCommand,InitiateAuthCommand=ma.InitiateAuthCommand,AdminCreateUserCommand=ma.AdminCreateUserCommand,AdminDisableUserCommand=ma.AdminDisableUserCommand,AdminEnableUserCommand=ma.AdminEnableUserCommand,AdminDeleteUserCommand=ma.AdminDeleteUserCommand,RespondToAuthChallengeCommand=ma.RespondToAuthChallengeCommand;const ba=await __vitePreload(()=>import("./index-BHDiPh0o.js"),__vite__mapDeps([31,1,4,5]));AuthenticationDetails=ba.AuthenticationDetails,CognitoUser=ba.CognitoUser,CognitoUserPool=ba.CognitoUserPool,CognitoUserSession=ba.CognitoUserSession,CognitoIdToken=ba.CognitoIdToken,CognitoAccessToken=ba.CognitoAccessToken,CognitoRefreshToken=ba.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(ya,ma){var ba;const va=sanitizeErrorMessage(ya.message||"");switch(logger$3.error(`Cognito error in ${ma}: ${ya.name} - ${va}`,{errorName:ya.name,errorCode:ya.code,context:ma,statusCode:(ba=ya.$metadata)===null||ba===void 0?void 0:ba.httpStatusCode}),ya.name){case"UserNotFoundException":throw logger$3.debug(`User not found in context: ${ma}`),new UserNotFoundError$1("User account not found. Please check your email or sign up.");case"NotAuthorizedException":throw ya.message&&ya.message.includes("password")?(logger$3.debug(`Invalid password attempt in context: ${ma}`),new UnauthorisedError$1("Invalid password. Please try again.")):ya.message&&ya.message.includes("not confirmed")?(logger$3.debug(`User not confirmed in context: ${ma}`),new UserNotConfirmedError$1):(logger$3.debug(`Authentication failed in context: ${ma}`),new UnauthorisedError$1("Authentication failed. Please check your credentials."));case"UserNotConfirmedException":throw logger$3.debug(`User not confirmed in context: ${ma}`),new UserNotConfirmedError$1;case"PasswordResetRequiredException":throw logger$3.debug(`Password reset required in context: ${ma}`),new PasswordResetRequiredError$1;case"TooManyRequestsException":throw logger$3.warn(`Rate limit exceeded in context: ${ma}`),new TooManyRequestsError$1;case"TooManyFailedAttemptsException":throw logger$3.warn(`Too many failed attempts in context: ${ma}`),new TooManyRequestsError$1("Too many failed login attempts. Please try again later.");case"InvalidParameterException":throw logger$3.debug(`Invalid parameters in context: ${ma}`),new InvalidParameterError$1(sanitizeErrorMessage(ya.message)||"Invalid parameters provided");case"ExpiredCodeException":throw logger$3.debug(`Expired code in context: ${ma}`),new ExpiredCodeError$1;case"CodeMismatchException":throw logger$3.debug(`Code mismatch in context: ${ma}`),new CodeMismatchError$1;case"UsernameExistsException":throw logger$3.debug(`Username exists in context: ${ma}`),new BadRequestError$4("An account with this email already exists.");case"InvalidPasswordException":throw logger$3.debug(`Invalid password format in context: ${ma}`),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: ${ma}`),new TooManyRequestsError$1("Service limit exceeded. Please try again later.");case"InternalErrorException":throw logger$3.error(`Internal Cognito error in context: ${ma}`),new Error("Authentication service is temporarily unavailable. Please try again later.");case"ResourceNotFoundException":throw logger$3.error(`Resource not found in context: ${ma}`),new Error("Authentication service configuration error. Please contact support.");case"AliasExistsException":throw logger$3.debug(`Alias exists in context: ${ma}`),new BadRequestError$4("An account with this email already exists.");case"InvalidEmailRoleAccessPolicyException":throw logger$3.error(`Invalid email role access policy in context: ${ma}`),new Error("Email service configuration error. Please contact support.");case"UserLambdaValidationException":throw logger$3.error(`User lambda validation error in context: ${ma}`),new BadRequestError$4("User validation failed. Please check your input and try again.");case"UnsupportedUserStateException":throw logger$3.debug(`Unsupported user state in context: ${ma}`),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: ${ma}`),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: ${ma}`),new Error("Unable to deliver verification code. Please try again later.");case"DuplicateProviderException":throw logger$3.error(`Duplicate provider in context: ${ma}`),new BadRequestError$4("Authentication provider already exists.");case"EnableSoftwareTokenMFAException":throw logger$3.debug(`Software token MFA required in context: ${ma}`),new BadRequestError$4("Software token MFA setup required.");case"ForbiddenException":throw logger$3.warn(`Forbidden access in context: ${ma}`),new UnauthorisedError$1("Access forbidden. Please check your permissions.");case"GroupExistsException":throw logger$3.debug(`Group exists in context: ${ma}`),new BadRequestError$4("Group already exists.");case"InvalidLambdaResponseException":throw logger$3.error(`Invalid lambda response in context: ${ma}`),new Error("Authentication service error. Please try again later.");case"InvalidOAuthFlowException":throw logger$3.error(`Invalid OAuth flow in context: ${ma}`),new BadRequestError$4("Invalid OAuth flow. Please try again.");case"InvalidSmsRoleAccessPolicyException":throw logger$3.error(`Invalid SMS role access policy in context: ${ma}`),new Error("SMS service configuration error. Please contact support.");case"InvalidSmsRoleTrustRelationshipException":throw logger$3.error(`Invalid SMS role trust relationship in context: ${ma}`),new Error("SMS service configuration error. Please contact support.");case"InvalidUserPoolConfigurationException":throw logger$3.error(`Invalid user pool configuration in context: ${ma}`),new Error("Authentication service configuration error. Please contact support.");case"PreconditionNotMetException":throw logger$3.debug(`Precondition not met in context: ${ma}`),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: ${ma}`),new BadRequestError$4("Invalid scope. Please check your request.");case"UnexpectedLambdaException":throw logger$3.error(`Unexpected lambda exception in context: ${ma}`),new Error("Authentication service error. Please try again later.");case"UserImportInProgressException":throw logger$3.warn(`User import in progress in context: ${ma}`),new TooManyRequestsError$1("User import in progress. Please try again later.");case"UserPoolTaggingException":throw logger$3.error(`User pool tagging exception in context: ${ma}`),new Error("Authentication service configuration error. Please contact support.");default:throw logger$3.error(`Unhandled Cognito error: ${ya.name}`,{errorName:ya.name,errorCode:ya.code,context:ma}),new Error(`Authentication error: ${sanitizeErrorMessage(ya.message)||"An unexpected error occurred"}`)}}function sanitizeErrorMessage(ya){return ya?ya.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(ma){this.config=ma||defaultConfig$1;const ba=this.config.get("UserPoolId");ba&&(this.userPool=new CognitoUserPool({UserPoolId:ba,ClientId:this.fetchClientId()}))}fetchUserPoolId(){return this.fetchConfig("UserPoolId")}fetchClientId(){return this.fetchConfig("ClientId")}fetchConfig(ma){const ba=this.config.get(ma);if(ba)return ba;throw new Error(`${ma} is not set`)}async signUp(ma,ba,va,Ma,El,wl,Sl){const Cl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Mc=[{Name:"email",Value:va},{Name:"name",Value:va},{Name:"given_name",Value:ma},{Name:"family_name",Value:ba}];El&&El.forEach((Jf,dp)=>{Mc.push({Name:dp,Value:Jf})});const Ef={ClientId:this.config.get("ClientId"),Username:va,Password:Ma,UserAttributes:Mc,ValidationData:Mc},Zf=new SignUpCommand(Ef);try{logger$3.debug(`Attempting signup for user: ${va}`);const Jf=await Cl.send(Zf);if(Jf.$metadata.httpStatusCode==200){logger$3.info(`Signup successful for user: ${va}`);const dp=await ensureUser(va,ma,ba,wl,"Active"),hp={username:va,firstName:ma,lastName:ba,id:dp.id,systemUserInfo:Jf.UserSub};Sl(hp)}else throw logger$3.error(`Signup failed with HTTP status ${Jf.$metadata.httpStatusCode}`,{username:va,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 ${va}:`,{errorName:Jf.name,errorMessage:sanitizeErrorMessage(Jf.message)}),handleCognitoError(Jf,"signUp")}}async confirmSignup(ma,ba,va){try{const Ma=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),El=new ConfirmSignUp({ClientId:this.config.get("ClientId"),Username:ma,ConfirmationCode:ba});await Ma.send(El)}catch(Ma){logger$3.error(`Failed to confirm signup: ${Ma.message}`),handleCognitoError(Ma,"confirmSignup")}}async resendConfirmationCode(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Ma=new ResendConfirmationCodeCommand({ClientId:this.config.get("ClientId"),Username:ma});await va.send(Ma)}catch(va){logger$3.error(`Failed to resend confirmation code: ${va.message}`),handleCognitoError(va,"resendConfirmationCode")}}async forgotPassword(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Ma=new ForgotPasswordCommand({ClientId:this.fetchClientId(),Username:ma});await va.send(Ma)}catch(va){logger$3.error(`Forgot password failed for ${ma}: ${sanitizeErrorMessage(va.message)}`),handleCognitoError(va,"forgotPassword")}}async confirmForgotPassword(ma,ba,va,Ma){try{const El=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),wl=new ConfirmForgotPasswordCommand({ClientId:this.fetchClientId(),Username:ma,ConfirmationCode:ba,Password:va});await El.send(wl)}catch(El){logger$3.error(`Confirm forgot password failed for ${ma}: ${sanitizeErrorMessage(El.message)}`),handleCognitoError(El,"confirmForgotPassword")}}async login(ma,ba,va,Ma){if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID){const wl=new CognitoUser({Username:ma,Pool:this.fetchUserPool()}),Sl=new AuthenticationDetails({Username:ma,Password:ba});let Cl,Mc;for(wl.authenticateUser(Sl,{onSuccess:Ef=>{Cl=Ef},onFailure:Ef=>{logger$3.debug(`Cognito authentication failed for user ${ma}:`,{errorName:Ef.name,errorMessage:sanitizeErrorMessage(Ef.message)}),Mc=Ef},mfaRequired:(Ef,Zf)=>{logger$3.info(`MFA required for user ${ma}: ${Ef}`),Mc=new Error("MFA authentication required")},newPasswordRequired:(Ef,Zf)=>{logger$3.info(`New password required for user ${ma}`),Mc=new PasswordResetRequiredError$1("New password required. Please reset your password.")}});Cl===void 0&&Mc===void 0;)await sleepMilliseconds$1(100);if(Mc){if(Mc instanceof PasswordResetRequiredError$1)throw Mc;logger$3.error(`Login failed for user ${ma}:`,{errorName:Mc.name,errorMessage:sanitizeErrorMessage(Mc.message)}),handleCognitoError(Mc,"login")}if(Cl){const Ef=Cl.getIdToken(),Zf=Ef.getJwtToken(),Jf=Ef.decodePayload(),dp=Jf.given_name||Jf.name||"",hp=Jf.family_name||"",dg=Jf["cognito:groups"];let pg=await findUserByEmail(ma,va);pg||(pg=await ensureUser(ma,dp,hp,va));const hg=pg.lookup("id");dg&&await ensureUserRoles(hg,dg,va);const mg=Cl.getAccessToken().getJwtToken(),gg=Cl.getRefreshToken().getToken(),ly={sessionId:(await ensureUserSession(hg,Zf,mg,gg,va)).lookup("id"),userId:hg,authToken:Zf,idToken:Zf,accessToken:mg,refreshToken:gg,systemSesionInfo:Cl};Ma(ly)}else throw logger$3.error(`Login failed for ${ma} - no result received`),new UnauthorisedError$1("Login failed. Please try again.")}else{let wl=await findUserByEmail(ma,va);wl||(logger$3.warn(`User ${ma} not found in local store`),wl=await ensureUser(ma,"","",va));const Sl=new CognitoUser({Username:ma,Pool:this.fetchUserPool()}),Cl=new AuthenticationDetails({Username:ma,Password:ba});let Mc,Ef;for(Sl.authenticateUser(Cl,{onSuccess:Zf=>{Mc=Zf},onFailure:Zf=>{logger$3.debug(`Cognito authentication failed for user ${ma}:`,{errorName:Zf.name,errorMessage:sanitizeErrorMessage(Zf.message)}),Ef=Zf},mfaRequired:(Zf,Jf)=>{logger$3.info(`MFA required for user ${ma}: ${Zf}`),Ef=new Error("MFA authentication required")},newPasswordRequired:(Zf,Jf)=>{logger$3.info(`New password required for user ${ma}`),Ef=new PasswordResetRequiredError$1("New password required. Please reset your password.")}});Mc===void 0&&Ef===void 0;)await sleepMilliseconds$1(100);if(Ef){if(Ef instanceof PasswordResetRequiredError$1)throw Ef;logger$3.error(`Login failed for user ${ma}:`,{errorName:Ef.name,errorMessage:sanitizeErrorMessage(Ef.message)}),handleCognitoError(Ef,"login")}if(Mc){const Zf=wl.lookup("id"),Jf=Mc.getIdToken().getJwtToken(),dp=Mc.getAccessToken().getJwtToken(),hp=Mc.getRefreshToken().getToken(),pg={sessionId:(await ensureUserSession(Zf,Jf,dp,hp,va)).lookup("id"),userId:Zf,authToken:Jf,idToken:Jf,accessToken:dp,refreshToken:hp,systemSesionInfo:Mc};Ma(pg)}else throw logger$3.error(`Login failed for ${ma} - no result received`),new UnauthorisedError$1("Login failed. Please try again.")}}async logout(ma,ba,va){try{const Ma=await findUser(ma.userId,ba);if(!Ma){logger$3.warn(`User ${ma.userId} not found during logout`),va&&va(!0);return}const El=new CognitoUser({Username:Ma.lookup("email"),Pool:this.fetchUserPool()});let wl=!1,Sl;const Cl=new CognitoUserSession({IdToken:new CognitoIdToken({IdToken:ma.idToken}),AccessToken:new CognitoAccessToken({AccessToken:ma.accessToken}),RefreshToken:new CognitoRefreshToken({RefreshToken:ma.refreshToken})});for(El.setSignInUserSession(Cl),El.globalSignOut({onSuccess:function(){wl=!0},onFailure:function(Mc){wl=!0,logger$3.error(`Cognito signOut error for user ${ma.userId}:`,{errorName:Mc.name,errorMessage:sanitizeErrorMessage(Mc.message)}),Sl=Mc}});!wl;)await sleepMilliseconds$1(100);Sl&&logger$3.error(`Error during Cognito logout for user ${ma.userId}: ${Sl.message}`),logger$3.debug(`Successfully logged out user ${ma.userId}`),va&&va(!0)}catch(Ma){throw logger$3.error(`Logout failed for user ${ma.userId}: ${Ma.message}`),va&&va(!1),Ma}}async changePassword(ma,ba,va,Ma){const El=await findUser(ma.userId,Ma);if(!El)return logger$3.warn(`User ${ma.userId} not found for password-change`),!1;const wl=El.lookup("email"),Sl=new CognitoUser({Username:wl,Pool:this.fetchUserPool()}),Cl=new CognitoUserSession({IdToken:new CognitoIdToken({IdToken:ma.idToken}),AccessToken:new CognitoAccessToken({AccessToken:ma.accessToken}),RefreshToken:new CognitoRefreshToken({RefreshToken:ma.refreshToken})});Sl.setSignInUserSession(Cl);let Mc=!1,Ef;for(Sl.changePassword(va,ba,(Zf,Jf)=>{Zf?(Mc=!0,Ef=Zf):Mc=!0});!Mc;)await sleepMilliseconds$1(100);return Ef?(logger$3.warn(`Failed to change the password for ${wl} - ${Ef.message}`),!1):!0}fetchUserPool(){if(this.userPool)return this.userPool;throw new Error("UserPool not initialized")}async verifyToken(ma){try{const va=await CognitoJwtVerifier.create({userPoolId:this.fetchUserPoolId(),tokenUse:"id",clientId:this.fetchClientId()}).verify(ma);logger$3.debug(`Decoded JWT for ${va.email}`)}catch(ba){throw logger$3.error("Token verification failed:",{errorName:ba.name,errorMessage:sanitizeErrorMessage(ba.message)}),ba.message&&ba.message.includes("expired")?new UnauthorisedError$1("Token has expired. Please login again."):ba.message&&ba.message.includes("invalid")?new UnauthorisedError$1("Invalid token format."):ba.message&&ba.message.includes("not before")?new UnauthorisedError$1("Token is not yet valid."):ba.message&&ba.message.includes("audience")?new UnauthorisedError$1("Token audience mismatch."):new UnauthorisedError$1(`Token verification failed: ${sanitizeErrorMessage(ba.message)||"Invalid token"}`)}}async getUser(ma,ba){const va=await findUser(ma,ba);if(!va)throw new UserNotFoundError$1(`User ${ma} not found in local database`);const Ma=va.lookup("email"),El=va.lookup("firstName"),wl=va.lookup("lastName");if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID&&Ma)try{const Cl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Mc=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:Ma}),Ef=await Cl.send(Mc);return{id:ma,username:Ma,firstName:El,lastName:wl,systemUserInfo:{localUser:va,cognitoData:{userAttributes:Ef.UserAttributes,userCreateDate:Ef.UserCreateDate,userLastModifiedDate:Ef.UserLastModifiedDate,userStatus:Ef.UserStatus,enabled:Ef.Enabled,preferredMfaSetting:Ef.PreferredMfaSetting,userMFASettingList:Ef.UserMFASettingList}}}}catch(Cl){return logger$3.warn(`Failed to get Cognito user info for ${Ma}, using local data only:`,{errorName:Cl.name,errorMessage:sanitizeErrorMessage(Cl.message)}),{id:ma,username:Ma,firstName:El,lastName:wl,systemUserInfo:va}}else return{id:ma,username:Ma||ma,firstName:El,lastName:wl,systemUserInfo:va}}async getUserByEmail(ma,ba){const va=await findUserByEmail(ma,ba);if(!va)throw new UserNotFoundError$1(`User with email ${ma} not found in local database`);const Ma=va.lookup("id"),El=va.lookup("firstName"),wl=va.lookup("lastName");if(define_process_env_default$2.COGNITO_USER_POOL_ID&&define_process_env_default$2.COGNITO_CLIENT_ID)try{const Cl=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Mc=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),ClientId:this.fetchClientId(),Username:ma}),Ef=await Cl.send(Mc);return{id:Ma,username:ma,firstName:El,lastName:wl,systemUserInfo:{localUser:va,cognitoData:{userAttributes:Ef.UserAttributes,userCreateDate:Ef.UserCreateDate,userLastModifiedDate:Ef.UserLastModifiedDate,userStatus:Ef.UserStatus,enabled:Ef.Enabled,preferredMfaSetting:Ef.PreferredMfaSetting,userMFASettingList:Ef.UserMFASettingList}}}}catch(Cl){return console.log(`Failed to get Cognito user info for email ${ma}, using local data only:`,{errorName:Cl.name,errorMessage:sanitizeErrorMessage(Cl.message)}),{id:Ma,username:ma,firstName:El,lastName:wl,systemUserInfo:va}}else return{id:Ma,username:ma,firstName:El,lastName:wl,systemUserInfo:va}}async refreshToken(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),Ma=new InitiateAuthCommand({AuthFlow:"REFRESH_TOKEN_AUTH",ClientId:this.fetchClientId(),AuthParameters:{REFRESH_TOKEN:ma}}),El=await va.send(Ma);if(!El.AuthenticationResult)throw new UnauthorisedError$1("Token refresh failed");const wl=El.AuthenticationResult.IdToken,Sl=El.AuthenticationResult.AccessToken,Cl=El.AuthenticationResult.RefreshToken||ma,Ef=JSON.parse(atob(wl.split(".")[1])).email;let Zf=await findUserByEmail(Ef,ba);Zf||(Zf=await ensureUser(Ef,"","",ba));const Jf=Zf.lookup("id");return{sessionId:(await ensureUserSession(Jf,wl,Sl,Cl,ba)).lookup("id"),userId:Jf,authToken:wl,idToken:wl,accessToken:Sl,refreshToken:Cl,systemSesionInfo:El.AuthenticationResult}}catch(va){throw logger$3.error(`Refresh token operation failed: ${va.message}`),va.name==="NotAuthorizedException"?new UnauthorisedError$1("Invalid or expired refresh token"):(handleCognitoError(va,"refreshToken"),va)}}async inviteUser(ma,ba,va,Ma,El,wl,Sl){var Cl;try{const Mc=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Ef=[{Name:"email",Value:ma},{Name:"email_verified",Value:"true"},{Name:"given_name",Value:ba},{Name:"family_name",Value:va}];Ma&&Ma.forEach((hp,dg)=>{Ef.push({Name:dg,Value:String(hp)})});let Zf=!1;try{const hp=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});await Mc.send(hp),Zf=!0,logger$3.debug(`User ${ma} already exists, will resend invitation`)}catch(hp){if(hp.name!=="UserNotFoundException")throw hp;logger$3.debug(`User ${ma} does not exist, will create new user`)}const Jf=new AdminCreateUserCommand(Object.assign({UserPoolId:this.fetchUserPoolId(),Username:ma,UserAttributes:Ef,DesiredDeliveryMediums:["EMAIL"],TemporaryPassword:generateUrlSafePassword$1()},Zf?{MessageAction:"RESEND"}:{}));logger$3.debug(`Attempting to invite user: ${ma}`);const dp=await Mc.send(Jf);if(dp.$metadata.httpStatusCode===200){logger$3.info(`User invitation successful for: ${ma}`);const dg=(await ensureUser(ma,ba,va,wl,"Invited")).lookup("id");await ensureUserRoles(dg,[El||"user"],wl);const pg={email:ma,firstName:ba,lastName:va,invitationId:(Cl=dp.User)===null||Cl===void 0?void 0:Cl.Username,systemInvitationInfo:dp};Sl(pg)}else throw logger$3.error(`User invitation failed with HTTP status ${dp.$metadata.httpStatusCode}`,{email:ma,statusCode:dp.$metadata.httpStatusCode}),new BadRequestError$4(`User invitation failed with status ${dp.$metadata.httpStatusCode}`)}catch(Mc){if(Mc instanceof BadRequestError$4)throw Mc;logger$3.error(`User invitation error for ${ma}:`,{errorName:Mc.name,errorMessage:sanitizeErrorMessage(Mc.message)}),handleCognitoError(Mc,"inviteUser")}}async resendInvitation(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"});try{const wl=new AdminGetUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});await va.send(wl)}catch(wl){throw wl.name==="UserNotFoundException"?new UserNotFoundError$1(`User ${ma} not found. Cannot resend invitation.`):wl}const Ma=new AdminCreateUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma,DesiredDeliveryMediums:["EMAIL"],MessageAction:"RESEND"});logger$3.debug(`Attempting to resend invitation for user: ${ma}`);const El=await va.send(Ma);if(El.$metadata.httpStatusCode===200)logger$3.info(`Invitation resent successfully for: ${ma}`);else throw logger$3.error(`Failed to resend invitation with HTTP status ${El.$metadata.httpStatusCode}`,{email:ma,statusCode:El.$metadata.httpStatusCode}),new BadRequestError$4(`Failed to resend invitation with status ${El.$metadata.httpStatusCode}`)}catch(va){if(va instanceof BadRequestError$4||va instanceof UserNotFoundError$1)throw va;logger$3.error(`Resend invitation error for ${ma}:`,{errorName:va.name,errorMessage:sanitizeErrorMessage(va.message)}),handleCognitoError(va,"resendInvitation")}}async acceptInvitation(ma,ba,va,Ma){try{const El=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2",credentials:fromEnv()}),wl=new InitiateAuthCommand({AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.fetchClientId(),AuthParameters:{USERNAME:ma,PASSWORD:ba}}),Sl=await El.send(wl);if(Sl.ChallengeName==="NEW_PASSWORD_REQUIRED"){const Cl=new RespondToAuthChallengeCommand({ClientId:this.fetchClientId(),ChallengeName:"NEW_PASSWORD_REQUIRED",Session:Sl.Session,ChallengeResponses:{USERNAME:ma,NEW_PASSWORD:va}});await El.send(Cl),logger$3.info(`User invitation accepted successfully for: ${ma}`)}else throw new Error(`Unexpected challenge: ${Sl.ChallengeName}`)}catch(El){logger$3.error(`Accept invitation failed for ${ma}: ${sanitizeErrorMessage(El.message)}`),handleCognitoError(El,"acceptInvitation")}}async callback(ma,ba,va){try{if(!isNodeEnv$1)throw new Error("Callback authentication is only supported in Node.js environment");const Ma=this.fetchConfig("ClientId"),El=define_process_env_default$2.AWS_REGION||"us-east-1",wl=define_process_env_default$2.COGNITO_REDIRECT_URI||"http://localhost:3000/auth/callback",Cl=`https://${define_process_env_default$2.COGNITO_HOSTED_DOMAIN}.auth.${El}.amazoncognito.com/oauth2/token`,Mc=new URLSearchParams({grant_type:"authorization_code",client_id:Ma,code:ma,redirect_uri:wl});logger$3.debug("Exchanging authorization code for tokens via OAuth2 endpoint"),console.log("te",Cl,Mc.toString());const Ef=await fetch(Cl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:Mc.toString()});if(!Ef.ok){const H1=await Ef.text();throw new Error(`Token exchange failed: ${Ef.status} ${H1}`)}const Zf=await Ef.json();if(!Zf.access_token||!Zf.id_token||!Zf.refresh_token)throw new Error("Missing required tokens in response");const{access_token:Jf,id_token:dp,refresh_token:hp}=Zf,dg=this.decodeJwtPayload(dp),pg=dg.email,hg=dg.given_name||dg.name||"",mg=dg.family_name||"",gg=dg["cognito:groups"];if(!pg)throw new Error("Email not found in ID attributes");let sy=await findUserByEmail(pg,ba);sy||(sy=await ensureUser(pg,hg,mg,ba));const ly=sy.lookup("id");gg&&await ensureUserRoles(ly,gg,ba);const uy={sessionId:(await ensureUserSession(ly,dp,Jf,hp,ba)).lookup("id"),userId:ly,authToken:dp,idToken:dp,accessToken:Jf,refreshToken:hp,systemSesionInfo:Zf};logger$3.info(`Auth callback successful for user ${pg}`),va(uy)}catch(Ma){console.log(Ma),logger$3.error(`Auth callback failed: ${sanitizeErrorMessage(Ma.message)}`),handleCognitoError(Ma,"callback")}}decodeJwtPayload(ma){try{const va=ma.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),Ma=decodeURIComponent(atob(va).split("").map(El=>"%"+("00"+El.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(Ma)}catch(ba){throw logger$3.error(`Failed to decode JWT payload: ${ba}`),new Error("Invalid JWT token")}}async deleteUser(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Ma=new AdminDeleteUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});logger$3.debug(`Attempting to delete user: ${ma}`),await va.send(Ma),logger$3.info(`User deleted successfully: ${ma}`)}catch(va){logger$3.error(`Failed to delete user ${ma}:`,{errorName:va.name,errorMessage:sanitizeErrorMessage(va.message)}),handleCognitoError(va,"deleteUser")}}async disableUser(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Ma=new AdminDisableUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});logger$3.debug(`Attempting to disable user: ${ma}`),await va.send(Ma),logger$3.info(`User disabled successfully: ${ma}`)}catch(va){logger$3.error(`Failed to disable user ${ma}:`,{errorName:va.name,errorMessage:sanitizeErrorMessage(va.message)}),handleCognitoError(va,"disableUser")}}async enableUser(ma,ba){try{const va=new CognitoIdentityProviderClient({region:define_process_env_default$2.AWS_REGION||"us-west-2"}),Ma=new AdminEnableUserCommand({UserPoolId:this.fetchUserPoolId(),Username:ma});logger$3.debug(`Attempting to enable user: ${ma}`),await va.send(Ma),logger$3.info(`User enabled successfully: ${ma}`)}catch(va){logger$3.error(`Failed to enable user ${ma}:`,{errorName:va.name,errorMessage:sanitizeErrorMessage(va.message)}),handleCognitoError(va,"enableUser")}}}const CoreAuthModuleName=makeCoreModuleName$1("auth"),auth=`module ${CoreAuthModuleName}
17501
17501
 
17502
17502
  import "./modules/auth.js" @as Auth
17503
17503
 
@@ -20705,7 +20705,7 @@ RULES:
20705
20705
  }
20706
20706
  ]
20707
20707
  }
20708
- `;function M$7(){return k$b}const index$6=Object.freeze(Object.defineProperty({__proto__:null,AGENT_COMPONENT_GENERATOR_INSTRUCTION:N$8,AGENT_COMPONENT_UPDATER_INSTRUCTION:C$d,AGENT_CREATOR_INSTRUCTION:h$d,AGENT_CREATOR_INSTRUCTION_RESOLVER:p$d,AGENT_DISTILLER_INSTRUCTION:y$c,AGENT_DISTILLER_INSTRUCTION_RESOLVER:w$a,BUILDER_MODULE_DEFINITION:x$7,DATAMODEL_CREATOR_INSTRUCTION:d$7,DATAMODEL_CREATOR_INSTRUCTION_RESOLVER:u$i,ENTITY_COMPONENT_GENERATOR_INSTRUCTION:T$b,ENTITY_COMPONENT_UPDATER_INSTRUCTION:b$9,EVENT_COMPONENT_GENERATOR_INSTRUCTION:E$8,EVENT_COMPONENT_UPDATER_INSTRUCTION:S$b,METADATA_GENERATOR_INSTRUCTION:i$b,META_SELF_CHECK_AGENTLANG_CODE:o$e,META_SELF_CHECK_GENERIC:t$a,META_SELF_CHECK_PLAIN_TEXT:a$j,NO_MARKDOWN_WARNING:n$a,RELATIONSHIP_COMPONENT_GENERATOR_INSTRUCTION:O$6,RELATIONSHIP_COMPONENT_UPDATER_INSTRUCTION:U$6,REQUEST_ANALYZER_INSTRUCTION:R$4,REQUIREMENT_DISTILLER_INSTRUCTION:s$g,REQUIREMENT_DISTILLER_INSTRUCTION_RESOLVER:l$a,WORKFLOW_COMPONENT_GENERATOR_INSTRUCTION:v$8,WORKFLOW_COMPONENT_UPDATER_INSTRUCTION:A$8,WORKFLOW_CREATOR_INSTRUCTION:c$f,WORKFLOW_CREATOR_INSTRUCTION_RESOLVER:m$9,WORKFLOW_DISTILLER_INSTRUCTION:f$h,WORKFLOW_DISTILLER_INSTRUCTION_RESOLVER:g$9,escapeAgentlangString:e$b,getAgentCraftConfigContent:M$7},Symbol.toStringTag,{value:"Module"})),IS_LOCAL_MODE$c=!0,BUILTIN_MODULES={"./modules/core.js":()=>typeof window<"u"?window.Core:{},"./modules/auth.js":()=>typeof window<"u"?window.Auth:{}};function initializeDefaultModuleLoader(){setModuleLoader({fileReader:async ya=>{if(BUILTIN_MODULES[ya])return"";throw new Error(`Cannot load JavaScript module "${ya}" - no repository is currently loaded. Please clone a repository first before using resolvers with JavaScript imports.`)},dependencyProvider:ya=>{if(BUILTIN_MODULES[ya])return BUILTIN_MODULES[ya]()},basePath:""})}async function parseAndIntern(ya,ma){try{return await parseAndIntern$1(ya,ma)}catch(ba){if(ba?.message?.includes("[object Object]")){console.error("Lexer error details:",ba);const va=ba.message.replace(/\[object Object\]/g,"Syntax error in AgentLang code");throw new Error(va)}throw ba}}const AgentLangRuntime={parseAndIntern,parseAndEvaluateStatement:async(ya,ma,ba)=>{const{parseAndEvaluateStatement:va}=await __vitePreload(async()=>{const{parseAndEvaluateStatement:Ma}=await Promise.resolve().then(()=>interpreter);return{parseAndEvaluateStatement:Ma}},void 0);return va(ya,ma,ba)},isModule:isModule$1,fetchModule:fetchModule$2};let runtimeInitialized=!1,execGraphEnabled=!1;async function runPreInitTasks(ya,ma){initGlobalApi();const ba=isExecGraphEnabled();!execGraphEnabled&&ba&&(enableExecutionGraph(),execGraphEnabled=!0),ba?enableInternalMonitoring():disableInternalMonitoring();try{await loadCoreModules()}catch(va){return console.error("Failed to load core modules:",va),!1}return!0}async function initializeRuntime(ya,ma){if(console.log(`🚀 [STUDIO] initializeRuntime called (runtimeInitialized=${runtimeInitialized})`),runtimeInitialized)return console.log("⏭️ [STUDIO] Runtime already initialized, skipping full initialization"),ma&&Object.entries(ma).forEach(([va,Ma])=>{setLocalEnv(va,Ma)}),AgentLangRuntime;if(initializeDefaultModuleLoader(),typeof window<"u"&&!window.SQL)try{const va=await initSqlJs({locateFile:Ma=>`/${Ma}`});window.SQL=va,window.initSqlJs=()=>Promise.resolve(va),console.log("✅ Loaded SQL.js from local files")}catch(va){throw console.error("❌ Failed to load SQL.js:",va),console.error("Make sure sql-wasm.wasm and sql-wasm.js are in the public directory"),va}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{if(ma&&(console.log("🔑 Setting environment keys:",Object.keys(ma)),Object.entries(ma).forEach(([va,Ma])=>{console.log(` Setting ${va} = ${Ma?`${Ma.substring(0,10)}...`:"undefined"}`),setLocalEnv(va,Ma);const El=getLocalEnv$2(va);El!==Ma?console.error(`❌ Failed to set ${va}: expected ${Ma}, got ${El}`):console.log(` ✅ Verified ${va} is set correctly`)})),ya?.anthropic&&ma?.ANTHROPIC_API_KEY,ya?.openai&&ma?.OPENAI_API_KEY,await resetDefaultDatabase(),IS_LOCAL_MODE$c){console.log("🔧 [STUDIO] Loading AgentCraft config from config.al");try{await parseAndIntern(x$7);const va=M$7();await loadAppConfig(va),console.log("✅ [STUDIO] AgentCraft LLM config loaded from config.al")}catch(va){console.error("❌ [STUDIO] Failed to load AgentCraft config, falling back to hardcoded config:",va),await parseAndIntern(x$7)}}await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements()}catch(va){throw console.error("❌ Module loading failed:",va),va}return typeof window<"u"&&(window.agentlang=AgentLangRuntime,window.checkMonitoring=async()=>{console.log("🔍 Monitoring Status Check:");const{isMonitoringEnabled:va}=await __vitePreload(async()=>{const{isMonitoringEnabled:Ma}=await Promise.resolve().then(()=>state);return{isMonitoringEnabled:Ma}},void 0);return console.log(" isMonitoringEnabled():",va()),console.log(" execGraphEnabled:",execGraphEnabled),{monitoring:va(),execGraph:execGraphEnabled}},window.debugEnv={getLocalEnv:va=>{const Ma=getLocalEnv$2(va);return console.log(`${va}:`,Ma?`${Ma.substring(0,10)}...`:"undefined"),Ma},testGmailKeys:()=>{console.log("🔍 Testing Gmail environment keys:"),["GMAIL_CLIENT_ID","GMAIL_CLIENT_SECRET","GMAIL_REFRESH_TOKEN"].forEach(Ma=>{const El=getLocalEnv$2(Ma);console.log(` ${Ma}:`,El?"✅ Found":"❌ Not Found")})}},console.log("🔧 Debug helpers available: window.debugEnv.testGmailKeys()")),runtimeInitialized=!0,AgentLangRuntime}function updateApiKeys(ya){ya.anthropic&&setLocalEnv("ANTHROPIC_API_KEY",ya.anthropic),ya.openai&&setLocalEnv("OPENAI_API_KEY",ya.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");if(await resetDefaultDatabase(),IS_LOCAL_MODE$c){console.log("🔧 [STUDIO] Reloading AgentCraft config from config.al");try{await parseAndIntern(x$7);const ma=M$7();await loadAppConfig(ma),console.log("✅ [STUDIO] AgentCraft LLM config reloaded from config.al")}catch(ma){console.error("❌ [STUDIO] Failed to reload AgentCraft config, falling back to hardcoded config:",ma),await parseAndIntern(x$7)}}await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements()}catch(ya){throw console.error("Failed to load AgentCraft module:",ya),ya}}}async function executeStatement(ya){try{return await getRuntime().parseAndEvaluateStatement(ya)}catch(ba){throw console.error("AgentLang execution error:",ba),ba}}async function prepareRuntimeForAppLoad(ya){}async function queryLLMEntities(){try{const ma=await getRuntime().parseAndEvaluateStatement("{agentlang.ai/LLM? {}}");return!ma||!Array.isArray(ma)?[]:ma.map(ba=>({name:ba.lookup("name"),service:ba.lookup("service"),config:ba.lookup("config")||{}}))}catch(ya){return console.error("Failed to query LLM entities:",ya),[]}}const index$5=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 ya=localStorage.getItem(STORAGE_KEY$1);return ya?JSON.parse(ya):[]}catch(ya){return console.error("Failed to parse environment keys from localStorage:",ya),[]}}function saveEnvironmentKeys(ya){try{localStorage.setItem(STORAGE_KEY$1,JSON.stringify(ya))}catch(ma){console.error("Failed to save environment keys to localStorage:",ma)}}function setEnvironmentKey(ya,ma){const ba=getEnvironmentKeys(),va=ba.findIndex(Ma=>Ma.name===ya);va>=0?ba[va].value=ma:ba.push({name:ya,value:ma}),saveEnvironmentKeys(ba)}function deleteEnvironmentKey(ya){const ba=getEnvironmentKeys().filter(va=>va.name!==ya);saveEnvironmentKeys(ba)}function loadEnvironmentFromCLI(){const ya=window.__ENV__;if(!ya){console.log("No CLI environment variables available (playground mode)");return}console.log("📥 Loading environment variables from CLI backend...");const ma=getEnvironmentKeys();let ba=0;Object.entries(ya).forEach(([va,Ma])=>{Ma&&typeof Ma=="string"&&Ma.trim()!==""&&(ma.some(wl=>wl.name===va)?console.log(`⏭️ Skipped ${va} (already exists in localStorage)`):(setEnvironmentKey(va,Ma),console.log(`✅ Loaded ${va} from CLI environment`),ba++))}),ba>0?console.log(`✅ Loaded ${ba} environment variable(s) from CLI backend`):console.log("ℹ️ No new environment variables to load from CLI backend")}function getEnvironmentKeysAsObject(){return getEnvironmentKeys().reduce((ma,{name:ba,value:va})=>(ma[ba]=va,ma),{})}const playgroundEnvKeys=Object.freeze(Object.defineProperty({__proto__:null,deleteEnvironmentKey,getEnvironmentKeys,getEnvironmentKeysAsObject,loadEnvironmentFromCLI,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 ma=getEnvironmentKeysAsObject();ma.VITE_API_CORS_PROXY_URL||(ma.VITE_API_CORS_PROXY_URL="https://api-cors-proxy.fractl.io"),await initializeRuntime(void 0,ma),this.runtimeInitialized=!0,console.log("✅ In-browser runtime initialized")}catch(ma){throw console.error("❌ Failed to initialize in-browser runtime:",ma),ma}}async loadComponent(ma){this.runtimeInitialized||await this.initializeRuntime();const{teamName:ba,moduleName:va}=ma;if(!ba)throw new Error("Team name is required to load component");if(this.currentContext&&this.currentContext.teamName===ba&&(this.currentContext.moduleName||"core")===(va||"core")&&this.componentLoaded)return;const El=!this.componentLoaded;try{console.log(`📦 Initializing REPL for: ${ba}/${va||"core"}`),El?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=ma,this.componentLoaded=!0,typeof window<"u"&&window.dispatchEvent(new CustomEvent("agentlang:component-loaded",{detail:{teamName:ba,moduleName:va||"core"}}))}catch(wl){if((wl?.message?.includes("no such table")||wl?.message?.includes("database")||wl?.message?.includes("table")||wl?.message?.includes("schema"))&&!El){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=ma,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:ba,moduleName:va||"core"}}));return}catch(Cl){this.recoveryMode=!1,console.error("❌ Failed to recover database. Please refresh the page.",Cl)}}throw this.componentLoaded=!1,this.currentContext=null,this.loadedModules.clear(),console.error("❌ Failed to load component:",wl),wl}}async evaluate(ma){if(!this.runtimeInitialized)throw new Error("Runtime not initialized. Call loadComponent() first.");return this.queueOperation(()=>this.executeStatementInternal(ma))}async queueOperation(ma){if(this.recoveryMode)throw new Error("System is currently recovering from an error. Please try again in a moment.");const ba=Date.now()-this.lastRecoveryTime;if(this.lastRecoveryTime>0&&ba<this.RECOVERY_COOLDOWN_MS){const Ma=Math.ceil((this.RECOVERY_COOLDOWN_MS-ba)/1e3);throw new Error(`System is in cooldown period after recovery. Please wait ${Ma} 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 va=this.queryQueue.length/this.MAX_QUEUE_SIZE;return va>.6&&console.warn(`⚠️ Query queue is ${Math.round(va*100)}% full (${this.queryQueue.length}/${this.MAX_QUEUE_SIZE}) - operations may be delayed`),new Promise((Ma,El)=>{this.queryQueue.push(async()=>{try{const wl=await ma();Ma(wl)}catch(wl){El(wl)}}),this.processQueue()})}async processQueue(){if(!(this.isProcessingQueue||this.queryQueue.length===0)){for(this.isProcessingQueue=!0;this.queryQueue.length>0;){const ma=this.queryQueue.shift();if(ma)try{await ma(),this.queryQueue.length>0&&await new Promise(ba=>setTimeout(ba,this.OPERATION_DELAY_MS))}catch(ba){console.error("Queue operation failed:",ba)}}this.isProcessingQueue=!1}}async executeStatementInternal(ma){try{return await executeStatement(ma)}catch(ba){if(ba?.message?.toLowerCase().includes("out of memory")||ba?.message?.toLowerCase().includes("oom")){this.queryQueue=[],this.isProcessingQueue=!1,console.error("❌ SQL.js out of memory error detected during query execution.",`
20708
+ `;function M$7(){return k$b}const index$6=Object.freeze(Object.defineProperty({__proto__:null,AGENT_COMPONENT_GENERATOR_INSTRUCTION:N$8,AGENT_COMPONENT_UPDATER_INSTRUCTION:C$d,AGENT_CREATOR_INSTRUCTION:h$d,AGENT_CREATOR_INSTRUCTION_RESOLVER:p$d,AGENT_DISTILLER_INSTRUCTION:y$c,AGENT_DISTILLER_INSTRUCTION_RESOLVER:w$a,BUILDER_MODULE_DEFINITION:x$7,DATAMODEL_CREATOR_INSTRUCTION:d$7,DATAMODEL_CREATOR_INSTRUCTION_RESOLVER:u$i,ENTITY_COMPONENT_GENERATOR_INSTRUCTION:T$b,ENTITY_COMPONENT_UPDATER_INSTRUCTION:b$9,EVENT_COMPONENT_GENERATOR_INSTRUCTION:E$8,EVENT_COMPONENT_UPDATER_INSTRUCTION:S$b,METADATA_GENERATOR_INSTRUCTION:i$b,META_SELF_CHECK_AGENTLANG_CODE:o$e,META_SELF_CHECK_GENERIC:t$a,META_SELF_CHECK_PLAIN_TEXT:a$j,NO_MARKDOWN_WARNING:n$a,RELATIONSHIP_COMPONENT_GENERATOR_INSTRUCTION:O$6,RELATIONSHIP_COMPONENT_UPDATER_INSTRUCTION:U$6,REQUEST_ANALYZER_INSTRUCTION:R$4,REQUIREMENT_DISTILLER_INSTRUCTION:s$g,REQUIREMENT_DISTILLER_INSTRUCTION_RESOLVER:l$a,WORKFLOW_COMPONENT_GENERATOR_INSTRUCTION:v$8,WORKFLOW_COMPONENT_UPDATER_INSTRUCTION:A$8,WORKFLOW_CREATOR_INSTRUCTION:c$f,WORKFLOW_CREATOR_INSTRUCTION_RESOLVER:m$9,WORKFLOW_DISTILLER_INSTRUCTION:f$h,WORKFLOW_DISTILLER_INSTRUCTION_RESOLVER:g$9,escapeAgentlangString:e$b,getAgentCraftConfigContent:M$7},Symbol.toStringTag,{value:"Module"})),IS_LOCAL_MODE$c=!0,BUILTIN_MODULES={"./modules/core.js":()=>typeof window<"u"?window.Core:{},"./modules/auth.js":()=>typeof window<"u"?window.Auth:{}};function initializeDefaultModuleLoader(){setModuleLoader({fileReader:async ya=>{if(BUILTIN_MODULES[ya])return"";throw new Error(`Cannot load JavaScript module "${ya}" - no repository is currently loaded. Please clone a repository first before using resolvers with JavaScript imports.`)},dependencyProvider:ya=>{if(BUILTIN_MODULES[ya])return BUILTIN_MODULES[ya]()},basePath:""})}async function parseAndIntern(ya,ma){try{return await parseAndIntern$1(ya,ma)}catch(ba){if(ba?.message?.includes("[object Object]")){console.error("Lexer error details:",ba);const va=ba.message.replace(/\[object Object\]/g,"Syntax error in AgentLang code");throw new Error(va)}throw ba}}const AgentLangRuntime={parseAndIntern,parseAndEvaluateStatement:async(ya,ma,ba)=>{const{parseAndEvaluateStatement:va}=await __vitePreload(async()=>{const{parseAndEvaluateStatement:Ma}=await Promise.resolve().then(()=>interpreter);return{parseAndEvaluateStatement:Ma}},void 0);return va(ya,ma,ba)},isModule:isModule$1,fetchModule:fetchModule$2};let runtimeInitialized=!1,execGraphEnabled=!1;async function runPreInitTasks(ya,ma){initGlobalApi();const ba=isExecGraphEnabled();!execGraphEnabled&&ba&&(enableExecutionGraph(),execGraphEnabled=!0),ba?enableInternalMonitoring():disableInternalMonitoring();try{await loadCoreModules()}catch(va){return console.error("Failed to load core modules:",va),!1}return!0}async function initializeRuntime(ya,ma){if(console.log(`🚀 [STUDIO] initializeRuntime called (runtimeInitialized=${runtimeInitialized})`),runtimeInitialized)return console.log("⏭️ [STUDIO] Runtime already initialized, skipping full initialization"),ma&&Object.entries(ma).forEach(([va,Ma])=>{setLocalEnv(va,Ma)}),AgentLangRuntime;if(initializeDefaultModuleLoader(),typeof window<"u"&&!window.SQL)try{const va=await initSqlJs({locateFile:Ma=>`/${Ma}`});window.SQL=va,window.initSqlJs=()=>Promise.resolve(va),console.log("✅ Loaded SQL.js from local files")}catch(va){throw console.error("❌ Failed to load SQL.js:",va),console.error("Make sure sql-wasm.wasm and sql-wasm.js are in the public directory"),va}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{if(ma&&(console.log("🔑 Setting environment keys:",Object.keys(ma)),Object.entries(ma).forEach(([va,Ma])=>{console.log(` Setting ${va} = ${Ma?`${Ma.substring(0,10)}...`:"undefined"}`),setLocalEnv(va,Ma);const El=getLocalEnv$2(va);El!==Ma?console.error(`❌ Failed to set ${va}: expected ${Ma}, got ${El}`):console.log(` ✅ Verified ${va} is set correctly`)})),ya?.anthropic&&ma?.ANTHROPIC_API_KEY,ya?.openai&&ma?.OPENAI_API_KEY,await resetDefaultDatabase(),IS_LOCAL_MODE$c){console.log("🔧 [STUDIO] Loading AgentCraft config from config.al");try{await parseAndIntern(x$7);const va=M$7();await loadAppConfig(va),console.log("✅ [STUDIO] AgentCraft LLM config loaded from config.al")}catch(va){console.error("❌ [STUDIO] Failed to load AgentCraft config, falling back to hardcoded config:",va),await parseAndIntern(x$7)}}await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements()}catch(va){throw console.error("❌ Module loading failed:",va),va}return typeof window<"u"&&(window.agentlang=AgentLangRuntime,window.checkMonitoring=async()=>{console.log("🔍 Monitoring Status Check:");const{isMonitoringEnabled:va}=await __vitePreload(async()=>{const{isMonitoringEnabled:Ma}=await Promise.resolve().then(()=>state);return{isMonitoringEnabled:Ma}},void 0);return console.log(" isMonitoringEnabled():",va()),console.log(" execGraphEnabled:",execGraphEnabled),{monitoring:va(),execGraph:execGraphEnabled}},window.debugEnv={getLocalEnv:va=>{const Ma=getLocalEnv$2(va);return console.log(`${va}:`,Ma?`${Ma.substring(0,10)}...`:"undefined"),Ma},testGmailKeys:()=>{console.log("🔍 Testing Gmail environment keys:"),["GMAIL_CLIENT_ID","GMAIL_CLIENT_SECRET","GMAIL_REFRESH_TOKEN"].forEach(Ma=>{const El=getLocalEnv$2(Ma);console.log(` ${Ma}:`,El?"✅ Found":"❌ Not Found")})}},console.log("🔧 Debug helpers available: window.debugEnv.testGmailKeys()")),runtimeInitialized=!0,AgentLangRuntime}function updateApiKeys(ya){ya.anthropic&&setLocalEnv("ANTHROPIC_API_KEY",ya.anthropic),ya.openai&&setLocalEnv("OPENAI_API_KEY",ya.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(),console.log("🔧 [STUDIO] Loading AgentCraft module and config");try{await parseAndIntern(x$7);const ma=M$7();await loadAppConfig(ma),console.log("✅ [STUDIO] AgentCraft module and LLM config loaded from config.al")}catch(ma){console.error("❌ [STUDIO] Failed to load AgentCraft config, falling back to module only:",ma),await parseAndIntern(x$7)}await initDatabase(void 0),await runInitFunctions(),await runStandaloneStatements()}catch(ya){throw console.error("Failed to load AgentCraft module:",ya),ya}}}async function executeStatement(ya){try{return await getRuntime().parseAndEvaluateStatement(ya)}catch(ba){throw console.error("AgentLang execution error:",ba),ba}}async function prepareRuntimeForAppLoad(ya){}async function queryLLMEntities(){try{const ma=await getRuntime().parseAndEvaluateStatement("{agentlang.ai/LLM? {}}");return!ma||!Array.isArray(ma)?[]:ma.map(ba=>({name:ba.lookup("name"),service:ba.lookup("service"),config:ba.lookup("config")||{}}))}catch(ya){return console.error("Failed to query LLM entities:",ya),[]}}const index$5=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 ya=localStorage.getItem(STORAGE_KEY$1);return ya?JSON.parse(ya):[]}catch(ya){return console.error("Failed to parse environment keys from localStorage:",ya),[]}}function saveEnvironmentKeys(ya){try{localStorage.setItem(STORAGE_KEY$1,JSON.stringify(ya))}catch(ma){console.error("Failed to save environment keys to localStorage:",ma)}}function setEnvironmentKey(ya,ma){const ba=getEnvironmentKeys(),va=ba.findIndex(Ma=>Ma.name===ya);va>=0?ba[va].value=ma:ba.push({name:ya,value:ma}),saveEnvironmentKeys(ba)}function deleteEnvironmentKey(ya){const ba=getEnvironmentKeys().filter(va=>va.name!==ya);saveEnvironmentKeys(ba)}function loadEnvironmentFromCLI(){const ya=window.__ENV__;if(!ya){console.log("No CLI environment variables available (playground mode)");return}console.log("📥 Loading environment variables from CLI backend...");const ma=getEnvironmentKeys();let ba=0;Object.entries(ya).forEach(([va,Ma])=>{Ma&&typeof Ma=="string"&&Ma.trim()!==""&&(ma.some(wl=>wl.name===va)?console.log(`⏭️ Skipped ${va} (already exists in localStorage)`):(setEnvironmentKey(va,Ma),console.log(`✅ Loaded ${va} from CLI environment`),ba++))}),ba>0?console.log(`✅ Loaded ${ba} environment variable(s) from CLI backend`):console.log("ℹ️ No new environment variables to load from CLI backend")}function getEnvironmentKeysAsObject(){return getEnvironmentKeys().reduce((ma,{name:ba,value:va})=>(ma[ba]=va,ma),{})}const playgroundEnvKeys=Object.freeze(Object.defineProperty({__proto__:null,deleteEnvironmentKey,getEnvironmentKeys,getEnvironmentKeysAsObject,loadEnvironmentFromCLI,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 ma=getEnvironmentKeysAsObject();ma.VITE_API_CORS_PROXY_URL||(ma.VITE_API_CORS_PROXY_URL="https://api-cors-proxy.fractl.io"),await initializeRuntime(void 0,ma),this.runtimeInitialized=!0,console.log("✅ In-browser runtime initialized")}catch(ma){throw console.error("❌ Failed to initialize in-browser runtime:",ma),ma}}async loadComponent(ma){this.runtimeInitialized||await this.initializeRuntime();const{teamName:ba,moduleName:va}=ma;if(!ba)throw new Error("Team name is required to load component");if(this.currentContext&&this.currentContext.teamName===ba&&(this.currentContext.moduleName||"core")===(va||"core")&&this.componentLoaded)return;const El=!this.componentLoaded;try{console.log(`📦 Initializing REPL for: ${ba}/${va||"core"}`),El?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=ma,this.componentLoaded=!0,typeof window<"u"&&window.dispatchEvent(new CustomEvent("agentlang:component-loaded",{detail:{teamName:ba,moduleName:va||"core"}}))}catch(wl){if((wl?.message?.includes("no such table")||wl?.message?.includes("database")||wl?.message?.includes("table")||wl?.message?.includes("schema"))&&!El){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=ma,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:ba,moduleName:va||"core"}}));return}catch(Cl){this.recoveryMode=!1,console.error("❌ Failed to recover database. Please refresh the page.",Cl)}}throw this.componentLoaded=!1,this.currentContext=null,this.loadedModules.clear(),console.error("❌ Failed to load component:",wl),wl}}async evaluate(ma){if(!this.runtimeInitialized)throw new Error("Runtime not initialized. Call loadComponent() first.");return this.queueOperation(()=>this.executeStatementInternal(ma))}async queueOperation(ma){if(this.recoveryMode)throw new Error("System is currently recovering from an error. Please try again in a moment.");const ba=Date.now()-this.lastRecoveryTime;if(this.lastRecoveryTime>0&&ba<this.RECOVERY_COOLDOWN_MS){const Ma=Math.ceil((this.RECOVERY_COOLDOWN_MS-ba)/1e3);throw new Error(`System is in cooldown period after recovery. Please wait ${Ma} 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 va=this.queryQueue.length/this.MAX_QUEUE_SIZE;return va>.6&&console.warn(`⚠️ Query queue is ${Math.round(va*100)}% full (${this.queryQueue.length}/${this.MAX_QUEUE_SIZE}) - operations may be delayed`),new Promise((Ma,El)=>{this.queryQueue.push(async()=>{try{const wl=await ma();Ma(wl)}catch(wl){El(wl)}}),this.processQueue()})}async processQueue(){if(!(this.isProcessingQueue||this.queryQueue.length===0)){for(this.isProcessingQueue=!0;this.queryQueue.length>0;){const ma=this.queryQueue.shift();if(ma)try{await ma(),this.queryQueue.length>0&&await new Promise(ba=>setTimeout(ba,this.OPERATION_DELAY_MS))}catch(ba){console.error("Queue operation failed:",ba)}}this.isProcessingQueue=!1}}async executeStatementInternal(ma){try{return await executeStatement(ma)}catch(ba){if(ba?.message?.toLowerCase().includes("out of memory")||ba?.message?.toLowerCase().includes("oom")){this.queryQueue=[],this.isProcessingQueue=!1,console.error("❌ SQL.js out of memory error detected during query execution.",`
20709
20709
  Possible causes:`,`
20710
20710
  1. Too many concurrent database transactions`,`
20711
20711
  2. Database has grown too large for WASM memory (current limit: ~2GB)`,`
@@ -20761,7 +20761,7 @@ Use this context to understand the full application structure when making change
20761
20761
  +`).split(`
20762
20762
  `)),Ef=Mc.reduce((Zf,Jf)=>Zf.concat(...Jf),[]);return[Mc,Ef]}return[[],[]]},[ya]);return reactExports.useEffect(()=>{const Cl=ma?.target??defaultDoc,Mc=ma?.actInsideInputWithModifier??!0;if(ya!==null){const Ef=dp=>{if(Ma.current=dp.ctrlKey||dp.metaKey||dp.shiftKey||dp.altKey,(!Ma.current||Ma.current&&!Mc)&&isInputDOMNode(dp))return!1;const dg=useKeyOrCode(dp.code,Sl);if(El.current.add(dp[dg]),isMatchingKey(wl,El.current,!1)){const pg=dp.composedPath?.()?.[0]||dp.target,hg=pg?.nodeName==="BUTTON"||pg?.nodeName==="A";ma.preventDefault!==!1&&(Ma.current||!hg)&&dp.preventDefault(),va(!0)}},Zf=dp=>{const hp=useKeyOrCode(dp.code,Sl);isMatchingKey(wl,El.current,!0)?(va(!1),El.current.clear()):El.current.delete(dp[hp]),dp.key==="Meta"&&El.current.clear(),Ma.current=!1},Jf=()=>{El.current.clear(),va(!1)};return Cl?.addEventListener("keydown",Ef),Cl?.addEventListener("keyup",Zf),window.addEventListener("blur",Jf),window.addEventListener("contextmenu",Jf),()=>{Cl?.removeEventListener("keydown",Ef),Cl?.removeEventListener("keyup",Zf),window.removeEventListener("blur",Jf),window.removeEventListener("contextmenu",Jf)}}},[ya,va]),ba}function isMatchingKey(ya,ma,ba){return ya.filter(va=>ba||va.length===ma.size).some(va=>va.every(Ma=>ma.has(Ma)))}function useKeyOrCode(ya,ma){return ma.includes(ya)?"code":"key"}const useViewportHelper=()=>{const ya=useStoreApi();return reactExports.useMemo(()=>({zoomIn:ma=>{const{panZoom:ba}=ya.getState();return ba?ba.scaleBy(1.2,{duration:ma?.duration}):Promise.resolve(!1)},zoomOut:ma=>{const{panZoom:ba}=ya.getState();return ba?ba.scaleBy(1/1.2,{duration:ma?.duration}):Promise.resolve(!1)},zoomTo:(ma,ba)=>{const{panZoom:va}=ya.getState();return va?va.scaleTo(ma,{duration:ba?.duration}):Promise.resolve(!1)},getZoom:()=>ya.getState().transform[2],setViewport:async(ma,ba)=>{const{transform:[va,Ma,El],panZoom:wl}=ya.getState();return wl?(await wl.setViewport({x:ma.x??va,y:ma.y??Ma,zoom:ma.zoom??El},ba),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[ma,ba,va]=ya.getState().transform;return{x:ma,y:ba,zoom:va}},setCenter:async(ma,ba,va)=>ya.getState().setCenter(ma,ba,va),fitBounds:async(ma,ba)=>{const{width:va,height:Ma,minZoom:El,maxZoom:wl,panZoom:Sl}=ya.getState(),Cl=getViewportForBounds(ma,va,Ma,El,wl,ba?.padding??.1);return Sl?(await Sl.setViewport(Cl,{duration:ba?.duration,ease:ba?.ease,interpolate:ba?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(ma,ba={})=>{const{transform:va,snapGrid:Ma,snapToGrid:El,domNode:wl}=ya.getState();if(!wl)return ma;const{x:Sl,y:Cl}=wl.getBoundingClientRect(),Mc={x:ma.x-Sl,y:ma.y-Cl},Ef=ba.snapGrid??Ma,Zf=ba.snapToGrid??El;return pointToRendererPoint(Mc,va,Zf,Ef)},flowToScreenPosition:ma=>{const{transform:ba,domNode:va}=ya.getState();if(!va)return ma;const{x:Ma,y:El}=va.getBoundingClientRect(),wl=rendererPointToPoint(ma,ba);return{x:wl.x+Ma,y:wl.y+El}}}),[])};function applyChanges(ya,ma){const ba=[],va=new Map,Ma=[];for(const El of ya)if(El.type==="add"){Ma.push(El);continue}else if(El.type==="remove"||El.type==="replace")va.set(El.id,[El]);else{const wl=va.get(El.id);wl?wl.push(El):va.set(El.id,[El])}for(const El of ma){const wl=va.get(El.id);if(!wl){ba.push(El);continue}if(wl[0].type==="remove")continue;if(wl[0].type==="replace"){ba.push({...wl[0].item});continue}const Sl={...El};for(const Cl of wl)applyChange(Cl,Sl);ba.push(Sl)}return Ma.length&&Ma.forEach(El=>{El.index!==void 0?ba.splice(El.index,0,{...El.item}):ba.push({...El.item})}),ba}function applyChange(ya,ma){switch(ya.type){case"select":{ma.selected=ya.selected;break}case"position":{typeof ya.position<"u"&&(ma.position=ya.position),typeof ya.dragging<"u"&&(ma.dragging=ya.dragging);break}case"dimensions":{typeof ya.dimensions<"u"&&(ma.measured={...ya.dimensions},ya.setAttributes&&((ya.setAttributes===!0||ya.setAttributes==="width")&&(ma.width=ya.dimensions.width),(ya.setAttributes===!0||ya.setAttributes==="height")&&(ma.height=ya.dimensions.height))),typeof ya.resizing=="boolean"&&(ma.resizing=ya.resizing);break}}}function applyNodeChanges(ya,ma){return applyChanges(ya,ma)}function applyEdgeChanges(ya,ma){return applyChanges(ya,ma)}function createSelectionChange(ya,ma){return{id:ya,type:"select",selected:ma}}function getSelectionChanges(ya,ma=new Set,ba=!1){const va=[];for(const[Ma,El]of ya){const wl=ma.has(Ma);!(El.selected===void 0&&!wl)&&El.selected!==wl&&(ba&&(El.selected=wl),va.push(createSelectionChange(El.id,wl)))}return va}function getElementsDiffChanges({items:ya=[],lookup:ma}){const ba=[],va=new Map(ya.map(Ma=>[Ma.id,Ma]));for(const[Ma,El]of ya.entries()){const wl=ma.get(El.id),Sl=wl?.internals?.userNode??wl;Sl!==void 0&&Sl!==El&&ba.push({id:El.id,item:El,type:"replace"}),Sl===void 0&&ba.push({item:El,type:"add",index:Ma})}for(const[Ma]of ma)va.get(Ma)===void 0&&ba.push({id:Ma,type:"remove"});return ba}function elementToRemoveChange(ya){return{id:ya.id,type:"remove"}}const isNode$2=ya=>isNodeBase(ya),isEdge=ya=>isEdgeBase(ya);function fixedForwardRef(ya){return reactExports.forwardRef(ya)}const useIsomorphicLayoutEffect$3=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect;function useQueue(ya){const[ma,ba]=reactExports.useState(BigInt(0)),[va]=reactExports.useState(()=>createQueue(()=>ba(Ma=>Ma+BigInt(1))));return useIsomorphicLayoutEffect$3(()=>{const Ma=va.get();Ma.length&&(ya(Ma),va.reset())},[ma]),va}function createQueue(ya){let ma=[];return{get:()=>ma,reset:()=>{ma=[]},push:ba=>{ma.push(ba),ya()}}}const BatchContext=reactExports.createContext(null);function BatchProvider({children:ya}){const ma=useStoreApi(),ba=reactExports.useCallback(Sl=>{const{nodes:Cl=[],setNodes:Mc,hasDefaultNodes:Ef,onNodesChange:Zf,nodeLookup:Jf,fitViewQueued:dp,onNodesChangeMiddlewareMap:hp}=ma.getState();let dg=Cl;for(const hg of Sl)dg=typeof hg=="function"?hg(dg):hg;let pg=getElementsDiffChanges({items:dg,lookup:Jf});for(const hg of hp.values())pg=hg(pg);Ef&&Mc(dg),pg.length>0?Zf?.(pg):dp&&window.requestAnimationFrame(()=>{const{fitViewQueued:hg,nodes:mg,setNodes:gg}=ma.getState();hg&&gg(mg)})},[]),va=useQueue(ba),Ma=reactExports.useCallback(Sl=>{const{edges:Cl=[],setEdges:Mc,hasDefaultEdges:Ef,onEdgesChange:Zf,edgeLookup:Jf}=ma.getState();let dp=Cl;for(const hp of Sl)dp=typeof hp=="function"?hp(dp):hp;Ef?Mc(dp):Zf&&Zf(getElementsDiffChanges({items:dp,lookup:Jf}))},[]),El=useQueue(Ma),wl=reactExports.useMemo(()=>({nodeQueue:va,edgeQueue:El}),[]);return jsxRuntimeExports.jsx(BatchContext.Provider,{value:wl,children:ya})}function useBatchContext(){const ya=reactExports.useContext(BatchContext);if(!ya)throw new Error("useBatchContext must be used within a BatchProvider");return ya}const selector$k=ya=>!!ya.panZoom;function useReactFlow(){const ya=useViewportHelper(),ma=useStoreApi(),ba=useBatchContext(),va=useStore$1(selector$k),Ma=reactExports.useMemo(()=>{const El=Zf=>ma.getState().nodeLookup.get(Zf),wl=Zf=>{ba.nodeQueue.push(Zf)},Sl=Zf=>{ba.edgeQueue.push(Zf)},Cl=Zf=>{const{nodeLookup:Jf,nodeOrigin:dp}=ma.getState(),hp=isNode$2(Zf)?Zf:Jf.get(Zf.id),dg=hp.parentId?evaluateAbsolutePosition(hp.position,hp.measured,hp.parentId,Jf,dp):hp.position,pg={...hp,position:dg,width:hp.measured?.width??hp.width,height:hp.measured?.height??hp.height};return nodeToRect(pg)},Mc=(Zf,Jf,dp={replace:!1})=>{wl(hp=>hp.map(dg=>{if(dg.id===Zf){const pg=typeof Jf=="function"?Jf(dg):Jf;return dp.replace&&isNode$2(pg)?pg:{...dg,...pg}}return dg}))},Ef=(Zf,Jf,dp={replace:!1})=>{Sl(hp=>hp.map(dg=>{if(dg.id===Zf){const pg=typeof Jf=="function"?Jf(dg):Jf;return dp.replace&&isEdge(pg)?pg:{...dg,...pg}}return dg}))};return{getNodes:()=>ma.getState().nodes.map(Zf=>({...Zf})),getNode:Zf=>El(Zf)?.internals.userNode,getInternalNode:El,getEdges:()=>{const{edges:Zf=[]}=ma.getState();return Zf.map(Jf=>({...Jf}))},getEdge:Zf=>ma.getState().edgeLookup.get(Zf),setNodes:wl,setEdges:Sl,addNodes:Zf=>{const Jf=Array.isArray(Zf)?Zf:[Zf];ba.nodeQueue.push(dp=>[...dp,...Jf])},addEdges:Zf=>{const Jf=Array.isArray(Zf)?Zf:[Zf];ba.edgeQueue.push(dp=>[...dp,...Jf])},toObject:()=>{const{nodes:Zf=[],edges:Jf=[],transform:dp}=ma.getState(),[hp,dg,pg]=dp;return{nodes:Zf.map(hg=>({...hg})),edges:Jf.map(hg=>({...hg})),viewport:{x:hp,y:dg,zoom:pg}}},deleteElements:async({nodes:Zf=[],edges:Jf=[]})=>{const{nodes:dp,edges:hp,onNodesDelete:dg,onEdgesDelete:pg,triggerNodeChanges:hg,triggerEdgeChanges:mg,onDelete:gg,onBeforeDelete:sy}=ma.getState(),{nodes:ly,edges:cy}=await getElementsToRemove({nodesToRemove:Zf,edgesToRemove:Jf,nodes:dp,edges:hp,onBeforeDelete:sy}),uy=cy.length>0,H1=ly.length>0;if(uy){const lE=cy.map(elementToRemoveChange);pg?.(cy),mg(lE)}if(H1){const lE=ly.map(elementToRemoveChange);dg?.(ly),hg(lE)}return(H1||uy)&&gg?.({nodes:ly,edges:cy}),{deletedNodes:ly,deletedEdges:cy}},getIntersectingNodes:(Zf,Jf=!0,dp)=>{const hp=isRectObject(Zf),dg=hp?Zf:Cl(Zf),pg=dp!==void 0;return dg?(dp||ma.getState().nodes).filter(hg=>{const mg=ma.getState().nodeLookup.get(hg.id);if(mg&&!hp&&(hg.id===Zf.id||!mg.internals.positionAbsolute))return!1;const gg=nodeToRect(pg?hg:mg),sy=getOverlappingArea(gg,dg);return Jf&&sy>0||sy>=gg.width*gg.height||sy>=dg.width*dg.height}):[]},isNodeIntersecting:(Zf,Jf,dp=!0)=>{const dg=isRectObject(Zf)?Zf:Cl(Zf);if(!dg)return!1;const pg=getOverlappingArea(dg,Jf);return dp&&pg>0||pg>=Jf.width*Jf.height||pg>=dg.width*dg.height},updateNode:Mc,updateNodeData:(Zf,Jf,dp={replace:!1})=>{Mc(Zf,hp=>{const dg=typeof Jf=="function"?Jf(hp):Jf;return dp.replace?{...hp,data:dg}:{...hp,data:{...hp.data,...dg}}},dp)},updateEdge:Ef,updateEdgeData:(Zf,Jf,dp={replace:!1})=>{Ef(Zf,hp=>{const dg=typeof Jf=="function"?Jf(hp):Jf;return dp.replace?{...hp,data:dg}:{...hp,data:{...hp.data,...dg}}},dp)},getNodesBounds:Zf=>{const{nodeLookup:Jf,nodeOrigin:dp}=ma.getState();return getNodesBounds(Zf,{nodeLookup:Jf,nodeOrigin:dp})},getHandleConnections:({type:Zf,id:Jf,nodeId:dp})=>Array.from(ma.getState().connectionLookup.get(`${dp}-${Zf}${Jf?`-${Jf}`:""}`)?.values()??[]),getNodeConnections:({type:Zf,handleId:Jf,nodeId:dp})=>Array.from(ma.getState().connectionLookup.get(`${dp}${Zf?Jf?`-${Zf}-${Jf}`:`-${Zf}`:""}`)?.values()??[]),fitView:async Zf=>{const Jf=ma.getState().fitViewResolver??withResolvers();return ma.setState({fitViewQueued:!0,fitViewOptions:Zf,fitViewResolver:Jf}),ba.nodeQueue.push(dp=>[...dp]),Jf.promise}}},[]);return reactExports.useMemo(()=>({...Ma,...ya,viewportInitialized:va}),[va])}const selected=ya=>ya.selected,win$1=typeof window<"u"?window:void 0;function useGlobalKeyHandler({deleteKeyCode:ya,multiSelectionKeyCode:ma}){const ba=useStoreApi(),{deleteElements:va}=useReactFlow(),Ma=useKeyPress(ya,{actInsideInputWithModifier:!1}),El=useKeyPress(ma,{target:win$1});reactExports.useEffect(()=>{if(Ma){const{edges:wl,nodes:Sl}=ba.getState();va({nodes:Sl.filter(selected),edges:wl.filter(selected)}),ba.setState({nodesSelectionActive:!1})}},[Ma]),reactExports.useEffect(()=>{ba.setState({multiSelectionActive:El})},[El])}function useResizeHandler(ya){const ma=useStoreApi();reactExports.useEffect(()=>{const ba=()=>{if(!ya.current||!(ya.current.checkVisibility?.()??!0))return!1;const va=getDimensions$1(ya.current);(va.height===0||va.width===0)&&ma.getState().onError?.("004",errorMessages$3.error004()),ma.setState({width:va.width||500,height:va.height||500})};if(ya.current){ba(),window.addEventListener("resize",ba);const va=new ResizeObserver(()=>ba());return va.observe(ya.current),()=>{window.removeEventListener("resize",ba),va&&ya.current&&va.unobserve(ya.current)}}},[])}const containerStyle={position:"absolute",width:"100%",height:"100%",top:0,left:0},selector$j=ya=>({userSelectionActive:ya.userSelectionActive,lib:ya.lib,connectionInProgress:ya.connection.inProgress});function ZoomPane({onPaneContextMenu:ya,zoomOnScroll:ma=!0,zoomOnPinch:ba=!0,panOnScroll:va=!1,panOnScrollSpeed:Ma=.5,panOnScrollMode:El=PanOnScrollMode.Free,zoomOnDoubleClick:wl=!0,panOnDrag:Sl=!0,defaultViewport:Cl,translateExtent:Mc,minZoom:Ef,maxZoom:Zf,zoomActivationKeyCode:Jf,preventScrolling:dp=!0,children:hp,noWheelClassName:dg,noPanClassName:pg,onViewportChange:hg,isControlledViewport:mg,paneClickDistance:gg,selectionOnDrag:sy}){const ly=useStoreApi(),cy=reactExports.useRef(null),{userSelectionActive:uy,lib:H1,connectionInProgress:lE}=useStore$1(selector$j,shallow$1),R_=useKeyPress(Jf),V1=reactExports.useRef();useResizeHandler(cy);const q1=reactExports.useCallback(n0=>{hg?.({x:n0[0],y:n0[1],zoom:n0[2]}),mg||ly.setState({transform:n0})},[hg,mg]);return reactExports.useEffect(()=>{if(cy.current){V1.current=XYPanZoom({domNode:cy.current,minZoom:Ef,maxZoom:Zf,translateExtent:Mc,viewport:Cl,onDraggingChange:O_=>ly.setState({paneDragging:O_}),onPanZoomStart:(O_,sN)=>{const{onViewportChangeStart:uN,onMoveStart:lN}=ly.getState();lN?.(O_,sN),uN?.(sN)},onPanZoom:(O_,sN)=>{const{onViewportChange:uN,onMove:lN}=ly.getState();lN?.(O_,sN),uN?.(sN)},onPanZoomEnd:(O_,sN)=>{const{onViewportChangeEnd:uN,onMoveEnd:lN}=ly.getState();lN?.(O_,sN),uN?.(sN)}});const{x:n0,y:aE,zoom:P_}=V1.current.getViewport();return ly.setState({panZoom:V1.current,transform:[n0,aE,P_],domNode:cy.current.closest(".react-flow")}),()=>{V1.current?.destroy()}}},[]),reactExports.useEffect(()=>{V1.current?.update({onPaneContextMenu:ya,zoomOnScroll:ma,zoomOnPinch:ba,panOnScroll:va,panOnScrollSpeed:Ma,panOnScrollMode:El,zoomOnDoubleClick:wl,panOnDrag:Sl,zoomActivationKeyPressed:R_,preventScrolling:dp,noPanClassName:pg,userSelectionActive:uy,noWheelClassName:dg,lib:H1,onTransformChange:q1,connectionInProgress:lE,selectionOnDrag:sy,paneClickDistance:gg})},[ya,ma,ba,va,Ma,El,wl,Sl,R_,dp,pg,uy,dg,H1,q1,lE,sy,gg]),jsxRuntimeExports.jsx("div",{className:"react-flow__renderer",ref:cy,style:containerStyle,children:hp})}const selector$i=ya=>({userSelectionActive:ya.userSelectionActive,userSelectionRect:ya.userSelectionRect});function UserSelection(){const{userSelectionActive:ya,userSelectionRect:ma}=useStore$1(selector$i,shallow$1);return ya&&ma?jsxRuntimeExports.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:ma.width,height:ma.height,transform:`translate(${ma.x}px, ${ma.y}px)`}}):null}const wrapHandler=(ya,ma)=>ba=>{ba.target===ma.current&&ya?.(ba)},selector$h=ya=>({userSelectionActive:ya.userSelectionActive,elementsSelectable:ya.elementsSelectable,connectionInProgress:ya.connection.inProgress,dragging:ya.paneDragging});function Pane({isSelecting:ya,selectionKeyPressed:ma,selectionMode:ba=SelectionMode.Full,panOnDrag:va,paneClickDistance:Ma,selectionOnDrag:El,onSelectionStart:wl,onSelectionEnd:Sl,onPaneClick:Cl,onPaneContextMenu:Mc,onPaneScroll:Ef,onPaneMouseEnter:Zf,onPaneMouseMove:Jf,onPaneMouseLeave:dp,children:hp}){const dg=useStoreApi(),{userSelectionActive:pg,elementsSelectable:hg,dragging:mg,connectionInProgress:gg}=useStore$1(selector$h,shallow$1),sy=hg&&(ya||pg),ly=reactExports.useRef(null),cy=reactExports.useRef(),uy=reactExports.useRef(new Set),H1=reactExports.useRef(new Set),lE=reactExports.useRef(!1),R_=uN=>{if(lE.current||gg){lE.current=!1;return}Cl?.(uN),dg.getState().resetSelectedElements(),dg.setState({nodesSelectionActive:!1})},V1=uN=>{if(Array.isArray(va)&&va?.includes(2)){uN.preventDefault();return}Mc?.(uN)},q1=Ef?uN=>Ef(uN):void 0,n0=uN=>{lE.current&&(uN.stopPropagation(),lE.current=!1)},aE=uN=>{const{domNode:lN}=dg.getState();if(cy.current=lN?.getBoundingClientRect(),!cy.current)return;const _F=uN.target===ly.current;if(!_F&&!!uN.target.closest(".nokey")||!ya||!(El&&_F||ma)||uN.button!==0||!uN.isPrimary)return;uN.target?.setPointerCapture?.(uN.pointerId),lE.current=!1;const{x:_pe,y:_Q}=getEventPosition(uN.nativeEvent,cy.current);dg.setState({userSelectionRect:{width:0,height:0,startX:_pe,startY:_Q,x:_pe,y:_Q}}),_F||(uN.stopPropagation(),uN.preventDefault())},P_=uN=>{const{userSelectionRect:lN,transform:_F,nodeLookup:eee,edgeLookup:JY,connectionLookup:_pe,triggerNodeChanges:_Q,triggerEdgeChanges:Cpe,defaultEdgeOptions:Tpe,resetSelectedElements:opt}=dg.getState();if(!cy.current||!lN)return;const{x:Kpt,y:Eht}=getEventPosition(uN.nativeEvent,cy.current),{startX:Jpt,startY:kpe}=lN;if(!lE.current){const dmt=ma?0:Ma;if(Math.hypot(Kpt-Jpt,Eht-kpe)<=dmt)return;opt(),wl?.(uN)}lE.current=!0;const Mpe={startX:Jpt,startY:kpe,x:Kpt<Jpt?Kpt:Jpt,y:Eht<kpe?Eht:kpe,width:Math.abs(Kpt-Jpt),height:Math.abs(Eht-kpe)},_ht=uy.current,Wpt=H1.current;uy.current=new Set(getNodesInside(eee,Mpe,_F,ba===SelectionMode.Partial,!0).map(dmt=>dmt.id)),H1.current=new Set;const rmt=Tpe?.selectable??!0;for(const dmt of uy.current){const Aht=_pe.get(dmt);if(Aht)for(const{edgeId:Smt}of Aht.values()){const Nmt=JY.get(Smt);Nmt&&(Nmt.selectable??rmt)&&H1.current.add(Smt)}}if(!areSetsEqual(_ht,uy.current)){const dmt=getSelectionChanges(eee,uy.current,!0);_Q(dmt)}if(!areSetsEqual(Wpt,H1.current)){const dmt=getSelectionChanges(JY,H1.current);Cpe(dmt)}dg.setState({userSelectionRect:Mpe,userSelectionActive:!0,nodesSelectionActive:!1})},O_=uN=>{uN.button===0&&(uN.target?.releasePointerCapture?.(uN.pointerId),!pg&&uN.target===ly.current&&dg.getState().userSelectionRect&&R_?.(uN),dg.setState({userSelectionActive:!1,userSelectionRect:null}),lE.current&&(Sl?.(uN),dg.setState({nodesSelectionActive:uy.current.size>0})))},sN=va===!0||Array.isArray(va)&&va.includes(0);return jsxRuntimeExports.jsxs("div",{className:cc(["react-flow__pane",{draggable:sN,dragging:mg,selection:ya}]),onClick:sy?void 0:wrapHandler(R_,ly),onContextMenu:wrapHandler(V1,ly),onWheel:wrapHandler(q1,ly),onPointerEnter:sy?void 0:Zf,onPointerMove:sy?P_:Jf,onPointerUp:sy?O_:void 0,onPointerDownCapture:sy?aE:void 0,onClickCapture:sy?n0:void 0,onPointerLeave:dp,ref:ly,style:containerStyle,children:[hp,jsxRuntimeExports.jsx(UserSelection,{})]})}function handleNodeClick({id:ya,store:ma,unselect:ba=!1,nodeRef:va}){const{addSelectedNodes:Ma,unselectNodesAndEdges:El,multiSelectionActive:wl,nodeLookup:Sl,onError:Cl}=ma.getState(),Mc=Sl.get(ya);if(!Mc){Cl?.("012",errorMessages$3.error012(ya));return}ma.setState({nodesSelectionActive:!1}),Mc.selected?(ba||Mc.selected&&wl)&&(El({nodes:[Mc],edges:[]}),requestAnimationFrame(()=>va?.current?.blur())):Ma([ya])}function useDrag({nodeRef:ya,disabled:ma=!1,noDragClassName:ba,handleSelector:va,nodeId:Ma,isSelectable:El,nodeClickDistance:wl}){const Sl=useStoreApi(),[Cl,Mc]=reactExports.useState(!1),Ef=reactExports.useRef();return reactExports.useEffect(()=>{Ef.current=XYDrag({getStoreItems:()=>Sl.getState(),onNodeMouseDown:Zf=>{handleNodeClick({id:Zf,store:Sl,nodeRef:ya})},onDragStart:()=>{Mc(!0)},onDragStop:()=>{Mc(!1)}})},[]),reactExports.useEffect(()=>{if(ma)Ef.current?.destroy();else if(ya.current)return Ef.current?.update({noDragClassName:ba,handleSelector:va,domNode:ya.current,isSelectable:El,nodeId:Ma,nodeClickDistance:wl}),()=>{Ef.current?.destroy()}},[ba,va,ma,El,ya,Ma]),Cl}const selectedAndDraggable=ya=>ma=>ma.selected&&(ma.draggable||ya&&typeof ma.draggable>"u");function useMoveSelectedNodes(){const ya=useStoreApi();return reactExports.useCallback(ba=>{const{nodeExtent:va,snapToGrid:Ma,snapGrid:El,nodesDraggable:wl,onError:Sl,updateNodePositions:Cl,nodeLookup:Mc,nodeOrigin:Ef}=ya.getState(),Zf=new Map,Jf=selectedAndDraggable(wl),dp=Ma?El[0]:5,hp=Ma?El[1]:5,dg=ba.direction.x*dp*ba.factor,pg=ba.direction.y*hp*ba.factor;for(const[,hg]of Mc){if(!Jf(hg))continue;let mg={x:hg.internals.positionAbsolute.x+dg,y:hg.internals.positionAbsolute.y+pg};Ma&&(mg=snapPosition(mg,El));const{position:gg,positionAbsolute:sy}=calculateNodePosition({nodeId:hg.id,nextPosition:mg,nodeLookup:Mc,nodeExtent:va,nodeOrigin:Ef,onError:Sl});hg.position=gg,hg.internals.positionAbsolute=sy,Zf.set(hg.id,hg)}Cl(Zf)},[])}const NodeIdContext=reactExports.createContext(null),Provider$2=NodeIdContext.Provider;NodeIdContext.Consumer;const useNodeId=()=>reactExports.useContext(NodeIdContext),selector$g=ya=>({connectOnClick:ya.connectOnClick,noPanClassName:ya.noPanClassName,rfId:ya.rfId}),connectingSelector=(ya,ma,ba)=>va=>{const{connectionClickStartHandle:Ma,connectionMode:El,connection:wl}=va,{fromHandle:Sl,toHandle:Cl,isValid:Mc}=wl,Ef=Cl?.nodeId===ya&&Cl?.id===ma&&Cl?.type===ba;return{connectingFrom:Sl?.nodeId===ya&&Sl?.id===ma&&Sl?.type===ba,connectingTo:Ef,clickConnecting:Ma?.nodeId===ya&&Ma?.id===ma&&Ma?.type===ba,isPossibleEndHandle:El===ConnectionMode.Strict?Sl?.type!==ba:ya!==Sl?.nodeId||ma!==Sl?.id,connectionInProcess:!!Sl,clickConnectionInProcess:!!Ma,valid:Ef&&Mc}};function HandleComponent({type:ya="source",position:ma=Position.Top,isValidConnection:ba,isConnectable:va=!0,isConnectableStart:Ma=!0,isConnectableEnd:El=!0,id:wl,onConnect:Sl,children:Cl,className:Mc,onMouseDown:Ef,onTouchStart:Zf,...Jf},dp){const hp=wl||null,dg=ya==="target",pg=useStoreApi(),hg=useNodeId(),{connectOnClick:mg,noPanClassName:gg,rfId:sy}=useStore$1(selector$g,shallow$1),{connectingFrom:ly,connectingTo:cy,clickConnecting:uy,isPossibleEndHandle:H1,connectionInProcess:lE,clickConnectionInProcess:R_,valid:V1}=useStore$1(connectingSelector(hg,hp,ya),shallow$1);hg||pg.getState().onError?.("010",errorMessages$3.error010());const q1=P_=>{const{defaultEdgeOptions:O_,onConnect:sN,hasDefaultEdges:uN}=pg.getState(),lN={...O_,...P_};if(uN){const{edges:_F,setEdges:eee}=pg.getState();eee(addEdge(lN,_F))}sN?.(lN),Sl?.(lN)},n0=P_=>{if(!hg)return;const O_=isMouseEvent(P_.nativeEvent);if(Ma&&(O_&&P_.button===0||!O_)){const sN=pg.getState();XYHandle.onPointerDown(P_.nativeEvent,{handleDomNode:P_.currentTarget,autoPanOnConnect:sN.autoPanOnConnect,connectionMode:sN.connectionMode,connectionRadius:sN.connectionRadius,domNode:sN.domNode,nodeLookup:sN.nodeLookup,lib:sN.lib,isTarget:dg,handleId:hp,nodeId:hg,flowId:sN.rfId,panBy:sN.panBy,cancelConnection:sN.cancelConnection,onConnectStart:sN.onConnectStart,onConnectEnd:sN.onConnectEnd,updateConnection:sN.updateConnection,onConnect:q1,isValidConnection:ba||sN.isValidConnection,getTransform:()=>pg.getState().transform,getFromHandle:()=>pg.getState().connection.fromHandle,autoPanSpeed:sN.autoPanSpeed,dragThreshold:sN.connectionDragThreshold})}O_?Ef?.(P_):Zf?.(P_)},aE=P_=>{const{onClickConnectStart:O_,onClickConnectEnd:sN,connectionClickStartHandle:uN,connectionMode:lN,isValidConnection:_F,lib:eee,rfId:JY,nodeLookup:_pe,connection:_Q}=pg.getState();if(!hg||!uN&&!Ma)return;if(!uN){O_?.(P_.nativeEvent,{nodeId:hg,handleId:hp,handleType:ya}),pg.setState({connectionClickStartHandle:{nodeId:hg,type:ya,id:hp}});return}const Cpe=getHostForElement(P_.target),Tpe=ba||_F,{connection:opt,isValid:Kpt}=XYHandle.isValid(P_.nativeEvent,{handle:{nodeId:hg,id:hp,type:ya},connectionMode:lN,fromNodeId:uN.nodeId,fromHandleId:uN.id||null,fromType:uN.type,isValidConnection:Tpe,flowId:JY,doc:Cpe,lib:eee,nodeLookup:_pe});Kpt&&opt&&q1(opt);const Eht=structuredClone(_Q);delete Eht.inProgress,Eht.toPosition=Eht.toHandle?Eht.toHandle.position:null,sN?.(P_,Eht),pg.setState({connectionClickStartHandle:null})};return jsxRuntimeExports.jsx("div",{"data-handleid":hp,"data-nodeid":hg,"data-handlepos":ma,"data-id":`${sy}-${hg}-${hp}-${ya}`,className:cc(["react-flow__handle",`react-flow__handle-${ma}`,"nodrag",gg,Mc,{source:!dg,target:dg,connectable:va,connectablestart:Ma,connectableend:El,clickconnecting:uy,connectingfrom:ly,connectingto:cy,valid:V1,connectionindicator:va&&(!lE||H1)&&(lE||R_?El:Ma)}]),onMouseDown:n0,onTouchStart:n0,onClick:mg?aE:void 0,ref:dp,...Jf,children:Cl})}const Handle=reactExports.memo(fixedForwardRef(HandleComponent));function InputNode({data:ya,isConnectable:ma,sourcePosition:ba=Position.Bottom}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[ya?.label,jsxRuntimeExports.jsx(Handle,{type:"source",position:ba,isConnectable:ma})]})}function DefaultNode({data:ya,isConnectable:ma,targetPosition:ba=Position.Top,sourcePosition:va=Position.Bottom}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:ba,isConnectable:ma}),ya?.label,jsxRuntimeExports.jsx(Handle,{type:"source",position:va,isConnectable:ma})]})}function GroupNode(){return null}function OutputNode({data:ya,isConnectable:ma,targetPosition:ba=Position.Top}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:ba,isConnectable:ma}),ya?.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(ya){return ya.internals.handleBounds===void 0?{width:ya.width??ya.initialWidth??ya.style?.width,height:ya.height??ya.initialHeight??ya.style?.height}:{width:ya.width??ya.style?.width,height:ya.height??ya.style?.height}}const selector$f=ya=>{const{width:ma,height:ba,x:va,y:Ma}=getInternalNodesBounds(ya.nodeLookup,{filter:El=>!!El.selected});return{width:isNumeric(ma)?ma:null,height:isNumeric(ba)?ba:null,userSelectionActive:ya.userSelectionActive,transformString:`translate(${ya.transform[0]}px,${ya.transform[1]}px) scale(${ya.transform[2]}) translate(${va}px,${Ma}px)`}};function NodesSelection({onSelectionContextMenu:ya,noPanClassName:ma,disableKeyboardA11y:ba}){const va=useStoreApi(),{width:Ma,height:El,transformString:wl,userSelectionActive:Sl}=useStore$1(selector$f,shallow$1),Cl=useMoveSelectedNodes(),Mc=reactExports.useRef(null);if(reactExports.useEffect(()=>{ba||Mc.current?.focus({preventScroll:!0})},[ba]),useDrag({nodeRef:Mc}),Sl||!Ma||!El)return null;const Ef=ya?Jf=>{const dp=va.getState().nodes.filter(hp=>hp.selected);ya(Jf,dp)}:void 0,Zf=Jf=>{Object.prototype.hasOwnProperty.call(arrowKeyDiffs,Jf.key)&&(Jf.preventDefault(),Cl({direction:arrowKeyDiffs[Jf.key],factor:Jf.shiftKey?4:1}))};return jsxRuntimeExports.jsx("div",{className:cc(["react-flow__nodesselection","react-flow__container",ma]),style:{transform:wl},children:jsxRuntimeExports.jsx("div",{ref:Mc,className:"react-flow__nodesselection-rect",onContextMenu:Ef,tabIndex:ba?void 0:-1,onKeyDown:ba?void 0:Zf,style:{width:Ma,height:El}})})}const win=typeof window<"u"?window:void 0,selector$e=ya=>({nodesSelectionActive:ya.nodesSelectionActive,userSelectionActive:ya.userSelectionActive});function FlowRendererComponent({children:ya,onPaneClick:ma,onPaneMouseEnter:ba,onPaneMouseMove:va,onPaneMouseLeave:Ma,onPaneContextMenu:El,onPaneScroll:wl,paneClickDistance:Sl,deleteKeyCode:Cl,selectionKeyCode:Mc,selectionOnDrag:Ef,selectionMode:Zf,onSelectionStart:Jf,onSelectionEnd:dp,multiSelectionKeyCode:hp,panActivationKeyCode:dg,zoomActivationKeyCode:pg,elementsSelectable:hg,zoomOnScroll:mg,zoomOnPinch:gg,panOnScroll:sy,panOnScrollSpeed:ly,panOnScrollMode:cy,zoomOnDoubleClick:uy,panOnDrag:H1,defaultViewport:lE,translateExtent:R_,minZoom:V1,maxZoom:q1,preventScrolling:n0,onSelectionContextMenu:aE,noWheelClassName:P_,noPanClassName:O_,disableKeyboardA11y:sN,onViewportChange:uN,isControlledViewport:lN}){const{nodesSelectionActive:_F,userSelectionActive:eee}=useStore$1(selector$e,shallow$1),JY=useKeyPress(Mc,{target:win}),_pe=useKeyPress(dg,{target:win}),_Q=_pe||H1,Cpe=_pe||sy,Tpe=Ef&&_Q!==!0,opt=JY||eee||Tpe;return useGlobalKeyHandler({deleteKeyCode:Cl,multiSelectionKeyCode:hp}),jsxRuntimeExports.jsx(ZoomPane,{onPaneContextMenu:El,elementsSelectable:hg,zoomOnScroll:mg,zoomOnPinch:gg,panOnScroll:Cpe,panOnScrollSpeed:ly,panOnScrollMode:cy,zoomOnDoubleClick:uy,panOnDrag:!JY&&_Q,defaultViewport:lE,translateExtent:R_,minZoom:V1,maxZoom:q1,zoomActivationKeyCode:pg,preventScrolling:n0,noWheelClassName:P_,noPanClassName:O_,onViewportChange:uN,isControlledViewport:lN,paneClickDistance:Sl,selectionOnDrag:Tpe,children:jsxRuntimeExports.jsxs(Pane,{onSelectionStart:Jf,onSelectionEnd:dp,onPaneClick:ma,onPaneMouseEnter:ba,onPaneMouseMove:va,onPaneMouseLeave:Ma,onPaneContextMenu:El,onPaneScroll:wl,panOnDrag:_Q,isSelecting:!!opt,selectionMode:Zf,selectionKeyPressed:JY,paneClickDistance:Sl,selectionOnDrag:Tpe,children:[ya,_F&&jsxRuntimeExports.jsx(NodesSelection,{onSelectionContextMenu:aE,noPanClassName:O_,disableKeyboardA11y:sN})]})})}FlowRendererComponent.displayName="FlowRenderer";const FlowRenderer=reactExports.memo(FlowRendererComponent),selector$d=ya=>ma=>ya?getNodesInside(ma.nodeLookup,{x:0,y:0,width:ma.width,height:ma.height},ma.transform,!0).map(ba=>ba.id):Array.from(ma.nodeLookup.keys());function useVisibleNodeIds(ya){return useStore$1(reactExports.useCallback(selector$d(ya),[ya]),shallow$1)}const selector$c=ya=>ya.updateNodeInternals;function useResizeObserver$1(){const ya=useStore$1(selector$c),[ma]=reactExports.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(ba=>{const va=new Map;ba.forEach(Ma=>{const El=Ma.target.getAttribute("data-id");va.set(El,{id:El,nodeElement:Ma.target,force:!0})}),ya(va)}));return reactExports.useEffect(()=>()=>{ma?.disconnect()},[ma]),ma}function useNodeObserver({node:ya,nodeType:ma,hasDimensions:ba,resizeObserver:va}){const Ma=useStoreApi(),El=reactExports.useRef(null),wl=reactExports.useRef(null),Sl=reactExports.useRef(ya.sourcePosition),Cl=reactExports.useRef(ya.targetPosition),Mc=reactExports.useRef(ma),Ef=ba&&!!ya.internals.handleBounds;return reactExports.useEffect(()=>{El.current&&!ya.hidden&&(!Ef||wl.current!==El.current)&&(wl.current&&va?.unobserve(wl.current),va?.observe(El.current),wl.current=El.current)},[Ef,ya.hidden]),reactExports.useEffect(()=>()=>{wl.current&&(va?.unobserve(wl.current),wl.current=null)},[]),reactExports.useEffect(()=>{if(El.current){const Zf=Mc.current!==ma,Jf=Sl.current!==ya.sourcePosition,dp=Cl.current!==ya.targetPosition;(Zf||Jf||dp)&&(Mc.current=ma,Sl.current=ya.sourcePosition,Cl.current=ya.targetPosition,Ma.getState().updateNodeInternals(new Map([[ya.id,{id:ya.id,nodeElement:El.current,force:!0}]])))}},[ya.id,ma,ya.sourcePosition,ya.targetPosition]),El}function NodeWrapper({id:ya,onClick:ma,onMouseEnter:ba,onMouseMove:va,onMouseLeave:Ma,onContextMenu:El,onDoubleClick:wl,nodesDraggable:Sl,elementsSelectable:Cl,nodesConnectable:Mc,nodesFocusable:Ef,resizeObserver:Zf,noDragClassName:Jf,noPanClassName:dp,disableKeyboardA11y:hp,rfId:dg,nodeTypes:pg,nodeClickDistance:hg,onError:mg}){const{node:gg,internals:sy,isParent:ly}=useStore$1(Kpt=>{const Eht=Kpt.nodeLookup.get(ya),Jpt=Kpt.parentLookup.has(ya);return{node:Eht,internals:Eht.internals,isParent:Jpt}},shallow$1);let cy=gg.type||"default",uy=pg?.[cy]||builtinNodeTypes[cy];uy===void 0&&(mg?.("003",errorMessages$3.error003(cy)),cy="default",uy=pg?.default||builtinNodeTypes.default);const H1=!!(gg.draggable||Sl&&typeof gg.draggable>"u"),lE=!!(gg.selectable||Cl&&typeof gg.selectable>"u"),R_=!!(gg.connectable||Mc&&typeof gg.connectable>"u"),V1=!!(gg.focusable||Ef&&typeof gg.focusable>"u"),q1=useStoreApi(),n0=nodeHasDimensions(gg),aE=useNodeObserver({node:gg,nodeType:cy,hasDimensions:n0,resizeObserver:Zf}),P_=useDrag({nodeRef:aE,disabled:gg.hidden||!H1,noDragClassName:Jf,handleSelector:gg.dragHandle,nodeId:ya,isSelectable:lE,nodeClickDistance:hg}),O_=useMoveSelectedNodes();if(gg.hidden)return null;const sN=getNodeDimensions(gg),uN=getNodeInlineStyleDimensions(gg),lN=lE||H1||ma||ba||va||Ma,_F=ba?Kpt=>ba(Kpt,{...sy.userNode}):void 0,eee=va?Kpt=>va(Kpt,{...sy.userNode}):void 0,JY=Ma?Kpt=>Ma(Kpt,{...sy.userNode}):void 0,_pe=El?Kpt=>El(Kpt,{...sy.userNode}):void 0,_Q=wl?Kpt=>wl(Kpt,{...sy.userNode}):void 0,Cpe=Kpt=>{const{selectNodesOnDrag:Eht,nodeDragThreshold:Jpt}=q1.getState();lE&&(!Eht||!H1||Jpt>0)&&handleNodeClick({id:ya,store:q1,nodeRef:aE}),ma&&ma(Kpt,{...sy.userNode})},Tpe=Kpt=>{if(!(isInputDOMNode(Kpt.nativeEvent)||hp)){if(elementSelectionKeys.includes(Kpt.key)&&lE){const Eht=Kpt.key==="Escape";handleNodeClick({id:ya,store:q1,unselect:Eht,nodeRef:aE})}else if(H1&&gg.selected&&Object.prototype.hasOwnProperty.call(arrowKeyDiffs,Kpt.key)){Kpt.preventDefault();const{ariaLabelConfig:Eht}=q1.getState();q1.setState({ariaLiveMessage:Eht["node.a11yDescription.ariaLiveMessage"]({direction:Kpt.key.replace("Arrow","").toLowerCase(),x:~~sy.positionAbsolute.x,y:~~sy.positionAbsolute.y})}),O_({direction:arrowKeyDiffs[Kpt.key],factor:Kpt.shiftKey?4:1})}}},opt=()=>{if(hp||!aE.current?.matches(":focus-visible"))return;const{transform:Kpt,width:Eht,height:Jpt,autoPanOnNodeFocus:kpe,setCenter:Mpe}=q1.getState();if(!kpe)return;getNodesInside(new Map([[ya,gg]]),{x:0,y:0,width:Eht,height:Jpt},Kpt,!0).length>0||Mpe(gg.position.x+sN.width/2,gg.position.y+sN.height/2,{zoom:Kpt[2]})};return jsxRuntimeExports.jsx("div",{className:cc(["react-flow__node",`react-flow__node-${cy}`,{[dp]:H1},gg.className,{selected:gg.selected,selectable:lE,parent:ly,draggable:H1,dragging:P_}]),ref:aE,style:{zIndex:sy.z,transform:`translate(${sy.positionAbsolute.x}px,${sy.positionAbsolute.y}px)`,pointerEvents:lN?"all":"none",visibility:n0?"visible":"hidden",...gg.style,...uN},"data-id":ya,"data-testid":`rf__node-${ya}`,onMouseEnter:_F,onMouseMove:eee,onMouseLeave:JY,onContextMenu:_pe,onClick:Cpe,onDoubleClick:_Q,onKeyDown:V1?Tpe:void 0,tabIndex:V1?0:void 0,onFocus:V1?opt:void 0,role:gg.ariaRole??(V1?"group":void 0),"aria-roledescription":"node","aria-describedby":hp?void 0:`${ARIA_NODE_DESC_KEY}-${dg}`,"aria-label":gg.ariaLabel,...gg.domAttributes,children:jsxRuntimeExports.jsx(Provider$2,{value:ya,children:jsxRuntimeExports.jsx(uy,{id:ya,data:gg.data,type:cy,positionAbsoluteX:sy.positionAbsolute.x,positionAbsoluteY:sy.positionAbsolute.y,selected:gg.selected??!1,selectable:lE,draggable:H1,deletable:gg.deletable??!0,isConnectable:R_,sourcePosition:gg.sourcePosition,targetPosition:gg.targetPosition,dragging:P_,dragHandle:gg.dragHandle,zIndex:sy.z,parentId:gg.parentId,...sN})})})}var NodeWrapper$1=reactExports.memo(NodeWrapper);const selector$b=ya=>({nodesDraggable:ya.nodesDraggable,nodesConnectable:ya.nodesConnectable,nodesFocusable:ya.nodesFocusable,elementsSelectable:ya.elementsSelectable,onError:ya.onError});function NodeRendererComponent(ya){const{nodesDraggable:ma,nodesConnectable:ba,nodesFocusable:va,elementsSelectable:Ma,onError:El}=useStore$1(selector$b,shallow$1),wl=useVisibleNodeIds(ya.onlyRenderVisibleElements),Sl=useResizeObserver$1();return jsxRuntimeExports.jsx("div",{className:"react-flow__nodes",style:containerStyle,children:wl.map(Cl=>jsxRuntimeExports.jsx(NodeWrapper$1,{id:Cl,nodeTypes:ya.nodeTypes,nodeExtent:ya.nodeExtent,onClick:ya.onNodeClick,onMouseEnter:ya.onNodeMouseEnter,onMouseMove:ya.onNodeMouseMove,onMouseLeave:ya.onNodeMouseLeave,onContextMenu:ya.onNodeContextMenu,onDoubleClick:ya.onNodeDoubleClick,noDragClassName:ya.noDragClassName,noPanClassName:ya.noPanClassName,rfId:ya.rfId,disableKeyboardA11y:ya.disableKeyboardA11y,resizeObserver:Sl,nodesDraggable:ma,nodesConnectable:ba,nodesFocusable:va,elementsSelectable:Ma,nodeClickDistance:ya.nodeClickDistance,onError:El},Cl))})}NodeRendererComponent.displayName="NodeRenderer";const NodeRenderer=reactExports.memo(NodeRendererComponent);function useVisibleEdgeIds(ya){return useStore$1(reactExports.useCallback(ba=>{if(!ya)return ba.edges.map(Ma=>Ma.id);const va=[];if(ba.width&&ba.height)for(const Ma of ba.edges){const El=ba.nodeLookup.get(Ma.source),wl=ba.nodeLookup.get(Ma.target);El&&wl&&isEdgeVisible({sourceNode:El,targetNode:wl,width:ba.width,height:ba.height,transform:ba.transform})&&va.push(Ma.id)}return va},[ya]),shallow$1)}const ArrowSymbol=({color:ya="none",strokeWidth:ma=1})=>{const ba={strokeWidth:ma,...ya&&{stroke:ya}};return jsxRuntimeExports.jsx("polyline",{className:"arrow",style:ba,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},ArrowClosedSymbol=({color:ya="none",strokeWidth:ma=1})=>{const ba={strokeWidth:ma,...ya&&{stroke:ya,fill:ya}};return jsxRuntimeExports.jsx("polyline",{className:"arrowclosed",style:ba,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},MarkerSymbols={[MarkerType.Arrow]:ArrowSymbol,[MarkerType.ArrowClosed]:ArrowClosedSymbol};function useMarkerSymbol(ya){const ma=useStoreApi();return reactExports.useMemo(()=>Object.prototype.hasOwnProperty.call(MarkerSymbols,ya)?MarkerSymbols[ya]:(ma.getState().onError?.("009",errorMessages$3.error009(ya)),null),[ya])}const Marker=({id:ya,type:ma,color:ba,width:va=12.5,height:Ma=12.5,markerUnits:El="strokeWidth",strokeWidth:wl,orient:Sl="auto-start-reverse"})=>{const Cl=useMarkerSymbol(ma);return Cl?jsxRuntimeExports.jsx("marker",{className:"react-flow__arrowhead",id:ya,markerWidth:`${va}`,markerHeight:`${Ma}`,viewBox:"-10 -10 20 20",markerUnits:El,orient:Sl,refX:"0",refY:"0",children:jsxRuntimeExports.jsx(Cl,{color:ba,strokeWidth:wl})}):null},MarkerDefinitions=({defaultColor:ya,rfId:ma})=>{const ba=useStore$1(El=>El.edges),va=useStore$1(El=>El.defaultEdgeOptions),Ma=reactExports.useMemo(()=>createMarkerIds(ba,{id:ma,defaultColor:ya,defaultMarkerStart:va?.markerStart,defaultMarkerEnd:va?.markerEnd}),[ba,va,ma,ya]);return Ma.length?jsxRuntimeExports.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:jsxRuntimeExports.jsx("defs",{children:Ma.map(El=>jsxRuntimeExports.jsx(Marker,{id:El.id,type:El.type,color:El.color,width:El.width,height:El.height,markerUnits:El.markerUnits,strokeWidth:El.strokeWidth,orient:El.orient},El.id))})}):null};MarkerDefinitions.displayName="MarkerDefinitions";var MarkerDefinitions$1=reactExports.memo(MarkerDefinitions);function EdgeTextComponent({x:ya,y:ma,label:ba,labelStyle:va,labelShowBg:Ma=!0,labelBgStyle:El,labelBgPadding:wl=[2,4],labelBgBorderRadius:Sl=2,children:Cl,className:Mc,...Ef}){const[Zf,Jf]=reactExports.useState({x:1,y:0,width:0,height:0}),dp=cc(["react-flow__edge-textwrapper",Mc]),hp=reactExports.useRef(null);return reactExports.useEffect(()=>{if(hp.current){const dg=hp.current.getBBox();Jf({x:dg.x,y:dg.y,width:dg.width,height:dg.height})}},[ba]),ba?jsxRuntimeExports.jsxs("g",{transform:`translate(${ya-Zf.width/2} ${ma-Zf.height/2})`,className:dp,visibility:Zf.width?"visible":"hidden",...Ef,children:[Ma&&jsxRuntimeExports.jsx("rect",{width:Zf.width+2*wl[0],x:-wl[0],y:-wl[1],height:Zf.height+2*wl[1],className:"react-flow__edge-textbg",style:El,rx:Sl,ry:Sl}),jsxRuntimeExports.jsx("text",{className:"react-flow__edge-text",y:Zf.height/2,dy:"0.3em",ref:hp,style:va,children:ba}),Cl]}):null}EdgeTextComponent.displayName="EdgeText";const EdgeText=reactExports.memo(EdgeTextComponent);function BaseEdge({path:ya,labelX:ma,labelY:ba,label:va,labelStyle:Ma,labelShowBg:El,labelBgStyle:wl,labelBgPadding:Sl,labelBgBorderRadius:Cl,interactionWidth:Mc=20,...Ef}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("path",{...Ef,d:ya,fill:"none",className:cc(["react-flow__edge-path",Ef.className])}),Mc?jsxRuntimeExports.jsx("path",{d:ya,fill:"none",strokeOpacity:0,strokeWidth:Mc,className:"react-flow__edge-interaction"}):null,va&&isNumeric(ma)&&isNumeric(ba)?jsxRuntimeExports.jsx(EdgeText,{x:ma,y:ba,label:va,labelStyle:Ma,labelShowBg:El,labelBgStyle:wl,labelBgPadding:Sl,labelBgBorderRadius:Cl}):null]})}function getControl({pos:ya,x1:ma,y1:ba,x2:va,y2:Ma}){return ya===Position.Left||ya===Position.Right?[.5*(ma+va),ba]:[ma,.5*(ba+Ma)]}function getSimpleBezierPath({sourceX:ya,sourceY:ma,sourcePosition:ba=Position.Bottom,targetX:va,targetY:Ma,targetPosition:El=Position.Top}){const[wl,Sl]=getControl({pos:ba,x1:ya,y1:ma,x2:va,y2:Ma}),[Cl,Mc]=getControl({pos:El,x1:va,y1:Ma,x2:ya,y2:ma}),[Ef,Zf,Jf,dp]=getBezierEdgeCenter({sourceX:ya,sourceY:ma,targetX:va,targetY:Ma,sourceControlX:wl,sourceControlY:Sl,targetControlX:Cl,targetControlY:Mc});return[`M${ya},${ma} C${wl},${Sl} ${Cl},${Mc} ${va},${Ma}`,Ef,Zf,Jf,dp]}function createSimpleBezierEdge(ya){return reactExports.memo(({id:ma,sourceX:ba,sourceY:va,targetX:Ma,targetY:El,sourcePosition:wl,targetPosition:Sl,label:Cl,labelStyle:Mc,labelShowBg:Ef,labelBgStyle:Zf,labelBgPadding:Jf,labelBgBorderRadius:dp,style:hp,markerEnd:dg,markerStart:pg,interactionWidth:hg})=>{const[mg,gg,sy]=getSimpleBezierPath({sourceX:ba,sourceY:va,sourcePosition:wl,targetX:Ma,targetY:El,targetPosition:Sl}),ly=ya.isInternal?void 0:ma;return jsxRuntimeExports.jsx(BaseEdge,{id:ly,path:mg,labelX:gg,labelY:sy,label:Cl,labelStyle:Mc,labelShowBg:Ef,labelBgStyle:Zf,labelBgPadding:Jf,labelBgBorderRadius:dp,style:hp,markerEnd:dg,markerStart:pg,interactionWidth:hg})})}const SimpleBezierEdge=createSimpleBezierEdge({isInternal:!1}),SimpleBezierEdgeInternal=createSimpleBezierEdge({isInternal:!0});SimpleBezierEdge.displayName="SimpleBezierEdge";SimpleBezierEdgeInternal.displayName="SimpleBezierEdgeInternal";function createSmoothStepEdge(ya){return reactExports.memo(({id:ma,sourceX:ba,sourceY:va,targetX:Ma,targetY:El,label:wl,labelStyle:Sl,labelShowBg:Cl,labelBgStyle:Mc,labelBgPadding:Ef,labelBgBorderRadius:Zf,style:Jf,sourcePosition:dp=Position.Bottom,targetPosition:hp=Position.Top,markerEnd:dg,markerStart:pg,pathOptions:hg,interactionWidth:mg})=>{const[gg,sy,ly]=getSmoothStepPath({sourceX:ba,sourceY:va,sourcePosition:dp,targetX:Ma,targetY:El,targetPosition:hp,borderRadius:hg?.borderRadius,offset:hg?.offset,stepPosition:hg?.stepPosition}),cy=ya.isInternal?void 0:ma;return jsxRuntimeExports.jsx(BaseEdge,{id:cy,path:gg,labelX:sy,labelY:ly,label:wl,labelStyle:Sl,labelShowBg:Cl,labelBgStyle:Mc,labelBgPadding:Ef,labelBgBorderRadius:Zf,style:Jf,markerEnd:dg,markerStart:pg,interactionWidth:mg})})}const SmoothStepEdge=createSmoothStepEdge({isInternal:!1}),SmoothStepEdgeInternal=createSmoothStepEdge({isInternal:!0});SmoothStepEdge.displayName="SmoothStepEdge";SmoothStepEdgeInternal.displayName="SmoothStepEdgeInternal";function createStepEdge(ya){return reactExports.memo(({id:ma,...ba})=>{const va=ya.isInternal?void 0:ma;return jsxRuntimeExports.jsx(SmoothStepEdge,{...ba,id:va,pathOptions:reactExports.useMemo(()=>({borderRadius:0,offset:ba.pathOptions?.offset}),[ba.pathOptions?.offset])})})}const StepEdge=createStepEdge({isInternal:!1}),StepEdgeInternal=createStepEdge({isInternal:!0});StepEdge.displayName="StepEdge";StepEdgeInternal.displayName="StepEdgeInternal";function createStraightEdge(ya){return reactExports.memo(({id:ma,sourceX:ba,sourceY:va,targetX:Ma,targetY:El,label:wl,labelStyle:Sl,labelShowBg:Cl,labelBgStyle:Mc,labelBgPadding:Ef,labelBgBorderRadius:Zf,style:Jf,markerEnd:dp,markerStart:hp,interactionWidth:dg})=>{const[pg,hg,mg]=getStraightPath({sourceX:ba,sourceY:va,targetX:Ma,targetY:El}),gg=ya.isInternal?void 0:ma;return jsxRuntimeExports.jsx(BaseEdge,{id:gg,path:pg,labelX:hg,labelY:mg,label:wl,labelStyle:Sl,labelShowBg:Cl,labelBgStyle:Mc,labelBgPadding:Ef,labelBgBorderRadius:Zf,style:Jf,markerEnd:dp,markerStart:hp,interactionWidth:dg})})}const StraightEdge=createStraightEdge({isInternal:!1}),StraightEdgeInternal=createStraightEdge({isInternal:!0});StraightEdge.displayName="StraightEdge";StraightEdgeInternal.displayName="StraightEdgeInternal";function createBezierEdge(ya){return reactExports.memo(({id:ma,sourceX:ba,sourceY:va,targetX:Ma,targetY:El,sourcePosition:wl=Position.Bottom,targetPosition:Sl=Position.Top,label:Cl,labelStyle:Mc,labelShowBg:Ef,labelBgStyle:Zf,labelBgPadding:Jf,labelBgBorderRadius:dp,style:hp,markerEnd:dg,markerStart:pg,pathOptions:hg,interactionWidth:mg})=>{const[gg,sy,ly]=getBezierPath({sourceX:ba,sourceY:va,sourcePosition:wl,targetX:Ma,targetY:El,targetPosition:Sl,curvature:hg?.curvature}),cy=ya.isInternal?void 0:ma;return jsxRuntimeExports.jsx(BaseEdge,{id:cy,path:gg,labelX:sy,labelY:ly,label:Cl,labelStyle:Mc,labelShowBg:Ef,labelBgStyle:Zf,labelBgPadding:Jf,labelBgBorderRadius:dp,style:hp,markerEnd:dg,markerStart:pg,interactionWidth:mg})})}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=(ya,ma,ba)=>ba===Position.Left?ya-ma:ba===Position.Right?ya+ma:ya,shiftY=(ya,ma,ba)=>ba===Position.Top?ya-ma:ba===Position.Bottom?ya+ma:ya,EdgeUpdaterClassName="react-flow__edgeupdater";function EdgeAnchor({position:ya,centerX:ma,centerY:ba,radius:va=10,onMouseDown:Ma,onMouseEnter:El,onMouseOut:wl,type:Sl}){return jsxRuntimeExports.jsx("circle",{onMouseDown:Ma,onMouseEnter:El,onMouseOut:wl,className:cc([EdgeUpdaterClassName,`${EdgeUpdaterClassName}-${Sl}`]),cx:shiftX(ma,va,ya),cy:shiftY(ba,va,ya),r:va,stroke:"transparent",fill:"transparent"})}function EdgeUpdateAnchors({isReconnectable:ya,reconnectRadius:ma,edge:ba,sourceX:va,sourceY:Ma,targetX:El,targetY:wl,sourcePosition:Sl,targetPosition:Cl,onReconnect:Mc,onReconnectStart:Ef,onReconnectEnd:Zf,setReconnecting:Jf,setUpdateHover:dp}){const hp=useStoreApi(),dg=(sy,ly)=>{if(sy.button!==0)return;const{autoPanOnConnect:cy,domNode:uy,isValidConnection:H1,connectionMode:lE,connectionRadius:R_,lib:V1,onConnectStart:q1,onConnectEnd:n0,cancelConnection:aE,nodeLookup:P_,rfId:O_,panBy:sN,updateConnection:uN}=hp.getState(),lN=ly.type==="target",_F=(_pe,_Q)=>{Jf(!1),Zf?.(_pe,ba,ly.type,_Q)},eee=_pe=>Mc?.(ba,_pe),JY=(_pe,_Q)=>{Jf(!0),Ef?.(sy,ba,ly.type),q1?.(_pe,_Q)};XYHandle.onPointerDown(sy.nativeEvent,{autoPanOnConnect:cy,connectionMode:lE,connectionRadius:R_,domNode:uy,handleId:ly.id,nodeId:ly.nodeId,nodeLookup:P_,isTarget:lN,edgeUpdaterType:ly.type,lib:V1,flowId:O_,cancelConnection:aE,panBy:sN,isValidConnection:H1,onConnect:eee,onConnectStart:JY,onConnectEnd:n0,onReconnectEnd:_F,updateConnection:uN,getTransform:()=>hp.getState().transform,getFromHandle:()=>hp.getState().connection.fromHandle,dragThreshold:hp.getState().connectionDragThreshold,handleDomNode:sy.currentTarget})},pg=sy=>dg(sy,{nodeId:ba.target,id:ba.targetHandle??null,type:"target"}),hg=sy=>dg(sy,{nodeId:ba.source,id:ba.sourceHandle??null,type:"source"}),mg=()=>dp(!0),gg=()=>dp(!1);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[(ya===!0||ya==="source")&&jsxRuntimeExports.jsx(EdgeAnchor,{position:Sl,centerX:va,centerY:Ma,radius:ma,onMouseDown:pg,onMouseEnter:mg,onMouseOut:gg,type:"source"}),(ya===!0||ya==="target")&&jsxRuntimeExports.jsx(EdgeAnchor,{position:Cl,centerX:El,centerY:wl,radius:ma,onMouseDown:hg,onMouseEnter:mg,onMouseOut:gg,type:"target"})]})}function EdgeWrapper({id:ya,edgesFocusable:ma,edgesReconnectable:ba,elementsSelectable:va,onClick:Ma,onDoubleClick:El,onContextMenu:wl,onMouseEnter:Sl,onMouseMove:Cl,onMouseLeave:Mc,reconnectRadius:Ef,onReconnect:Zf,onReconnectStart:Jf,onReconnectEnd:dp,rfId:hp,edgeTypes:dg,noPanClassName:pg,onError:hg,disableKeyboardA11y:mg}){let gg=useStore$1(Mpe=>Mpe.edgeLookup.get(ya));const sy=useStore$1(Mpe=>Mpe.defaultEdgeOptions);gg=sy?{...sy,...gg}:gg;let ly=gg.type||"default",cy=dg?.[ly]||builtinEdgeTypes[ly];cy===void 0&&(hg?.("011",errorMessages$3.error011(ly)),ly="default",cy=dg?.default||builtinEdgeTypes.default);const uy=!!(gg.focusable||ma&&typeof gg.focusable>"u"),H1=typeof Zf<"u"&&(gg.reconnectable||ba&&typeof gg.reconnectable>"u"),lE=!!(gg.selectable||va&&typeof gg.selectable>"u"),R_=reactExports.useRef(null),[V1,q1]=reactExports.useState(!1),[n0,aE]=reactExports.useState(!1),P_=useStoreApi(),{zIndex:O_,sourceX:sN,sourceY:uN,targetX:lN,targetY:_F,sourcePosition:eee,targetPosition:JY}=useStore$1(reactExports.useCallback(Mpe=>{const _ht=Mpe.nodeLookup.get(gg.source),Wpt=Mpe.nodeLookup.get(gg.target);if(!_ht||!Wpt)return{zIndex:gg.zIndex,...nullPosition};const rmt=getEdgePosition({id:ya,sourceNode:_ht,targetNode:Wpt,sourceHandle:gg.sourceHandle||null,targetHandle:gg.targetHandle||null,connectionMode:Mpe.connectionMode,onError:hg});return{zIndex:getElevatedEdgeZIndex({selected:gg.selected,zIndex:gg.zIndex,sourceNode:_ht,targetNode:Wpt,elevateOnSelect:Mpe.elevateEdgesOnSelect,zIndexMode:Mpe.zIndexMode}),...rmt||nullPosition}},[gg.source,gg.target,gg.sourceHandle,gg.targetHandle,gg.selected,gg.zIndex]),shallow$1),_pe=reactExports.useMemo(()=>gg.markerStart?`url('#${getMarkerId(gg.markerStart,hp)}')`:void 0,[gg.markerStart,hp]),_Q=reactExports.useMemo(()=>gg.markerEnd?`url('#${getMarkerId(gg.markerEnd,hp)}')`:void 0,[gg.markerEnd,hp]);if(gg.hidden||sN===null||uN===null||lN===null||_F===null)return null;const Cpe=Mpe=>{const{addSelectedEdges:_ht,unselectNodesAndEdges:Wpt,multiSelectionActive:rmt}=P_.getState();lE&&(P_.setState({nodesSelectionActive:!1}),gg.selected&&rmt?(Wpt({nodes:[],edges:[gg]}),R_.current?.blur()):_ht([ya])),Ma&&Ma(Mpe,gg)},Tpe=El?Mpe=>{El(Mpe,{...gg})}:void 0,opt=wl?Mpe=>{wl(Mpe,{...gg})}:void 0,Kpt=Sl?Mpe=>{Sl(Mpe,{...gg})}:void 0,Eht=Cl?Mpe=>{Cl(Mpe,{...gg})}:void 0,Jpt=Mc?Mpe=>{Mc(Mpe,{...gg})}:void 0,kpe=Mpe=>{if(!mg&&elementSelectionKeys.includes(Mpe.key)&&lE){const{unselectNodesAndEdges:_ht,addSelectedEdges:Wpt}=P_.getState();Mpe.key==="Escape"?(R_.current?.blur(),_ht({edges:[gg]})):Wpt([ya])}};return jsxRuntimeExports.jsx("svg",{style:{zIndex:O_},children:jsxRuntimeExports.jsxs("g",{className:cc(["react-flow__edge",`react-flow__edge-${ly}`,gg.className,pg,{selected:gg.selected,animated:gg.animated,inactive:!lE&&!Ma,updating:V1,selectable:lE}]),onClick:Cpe,onDoubleClick:Tpe,onContextMenu:opt,onMouseEnter:Kpt,onMouseMove:Eht,onMouseLeave:Jpt,onKeyDown:uy?kpe:void 0,tabIndex:uy?0:void 0,role:gg.ariaRole??(uy?"group":"img"),"aria-roledescription":"edge","data-id":ya,"data-testid":`rf__edge-${ya}`,"aria-label":gg.ariaLabel===null?void 0:gg.ariaLabel||`Edge from ${gg.source} to ${gg.target}`,"aria-describedby":uy?`${ARIA_EDGE_DESC_KEY}-${hp}`:void 0,ref:R_,...gg.domAttributes,children:[!n0&&jsxRuntimeExports.jsx(cy,{id:ya,source:gg.source,target:gg.target,type:gg.type,selected:gg.selected,animated:gg.animated,selectable:lE,deletable:gg.deletable??!0,label:gg.label,labelStyle:gg.labelStyle,labelShowBg:gg.labelShowBg,labelBgStyle:gg.labelBgStyle,labelBgPadding:gg.labelBgPadding,labelBgBorderRadius:gg.labelBgBorderRadius,sourceX:sN,sourceY:uN,targetX:lN,targetY:_F,sourcePosition:eee,targetPosition:JY,data:gg.data,style:gg.style,sourceHandleId:gg.sourceHandle,targetHandleId:gg.targetHandle,markerStart:_pe,markerEnd:_Q,pathOptions:"pathOptions"in gg?gg.pathOptions:void 0,interactionWidth:gg.interactionWidth}),H1&&jsxRuntimeExports.jsx(EdgeUpdateAnchors,{edge:gg,isReconnectable:H1,reconnectRadius:Ef,onReconnect:Zf,onReconnectStart:Jf,onReconnectEnd:dp,sourceX:sN,sourceY:uN,targetX:lN,targetY:_F,sourcePosition:eee,targetPosition:JY,setUpdateHover:q1,setReconnecting:aE})]})})}var EdgeWrapper$1=reactExports.memo(EdgeWrapper);const selector$a=ya=>({edgesFocusable:ya.edgesFocusable,edgesReconnectable:ya.edgesReconnectable,elementsSelectable:ya.elementsSelectable,connectionMode:ya.connectionMode,onError:ya.onError});function EdgeRendererComponent({defaultMarkerColor:ya,onlyRenderVisibleElements:ma,rfId:ba,edgeTypes:va,noPanClassName:Ma,onReconnect:El,onEdgeContextMenu:wl,onEdgeMouseEnter:Sl,onEdgeMouseMove:Cl,onEdgeMouseLeave:Mc,onEdgeClick:Ef,reconnectRadius:Zf,onEdgeDoubleClick:Jf,onReconnectStart:dp,onReconnectEnd:hp,disableKeyboardA11y:dg}){const{edgesFocusable:pg,edgesReconnectable:hg,elementsSelectable:mg,onError:gg}=useStore$1(selector$a,shallow$1),sy=useVisibleEdgeIds(ma);return jsxRuntimeExports.jsxs("div",{className:"react-flow__edges",children:[jsxRuntimeExports.jsx(MarkerDefinitions$1,{defaultColor:ya,rfId:ba}),sy.map(ly=>jsxRuntimeExports.jsx(EdgeWrapper$1,{id:ly,edgesFocusable:pg,edgesReconnectable:hg,elementsSelectable:mg,noPanClassName:Ma,onReconnect:El,onContextMenu:wl,onMouseEnter:Sl,onMouseMove:Cl,onMouseLeave:Mc,onClick:Ef,reconnectRadius:Zf,onDoubleClick:Jf,onReconnectStart:dp,onReconnectEnd:hp,rfId:ba,onError:gg,edgeTypes:va,disableKeyboardA11y:dg},ly))]})}EdgeRendererComponent.displayName="EdgeRenderer";const EdgeRenderer=reactExports.memo(EdgeRendererComponent),selector$9=ya=>`translate(${ya.transform[0]}px,${ya.transform[1]}px) scale(${ya.transform[2]})`;function Viewport({children:ya}){const ma=useStore$1(selector$9);return jsxRuntimeExports.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:ma},children:ya})}function useOnInitHandler(ya){const ma=useReactFlow(),ba=reactExports.useRef(!1);reactExports.useEffect(()=>{!ba.current&&ma.viewportInitialized&&ya&&(setTimeout(()=>ya(ma),1),ba.current=!0)},[ya,ma.viewportInitialized])}const selector$8=ya=>ya.panZoom?.syncViewport;function useViewportSync(ya){const ma=useStore$1(selector$8),ba=useStoreApi();return reactExports.useEffect(()=>{ya&&(ma?.(ya),ba.setState({transform:[ya.x,ya.y,ya.zoom]}))},[ya,ma]),null}function storeSelector$1(ya){return ya.connection.inProgress?{...ya.connection,to:pointToRendererPoint(ya.connection.to,ya.transform)}:{...ya.connection}}function getSelector(ya){return storeSelector$1}function useConnection(ya){const ma=getSelector();return useStore$1(ma,shallow$1)}const selector$7=ya=>({nodesConnectable:ya.nodesConnectable,isValid:ya.connection.isValid,inProgress:ya.connection.inProgress,width:ya.width,height:ya.height});function ConnectionLineWrapper({containerStyle:ya,style:ma,type:ba,component:va}){const{nodesConnectable:Ma,width:El,height:wl,isValid:Sl,inProgress:Cl}=useStore$1(selector$7,shallow$1);return!(El&&Ma&&Cl)?null:jsxRuntimeExports.jsx("svg",{style:ya,width:El,height:wl,className:"react-flow__connectionline react-flow__container",children:jsxRuntimeExports.jsx("g",{className:cc(["react-flow__connection",getConnectionStatus(Sl)]),children:jsxRuntimeExports.jsx(ConnectionLine,{style:ma,type:ba,CustomComponent:va,isValid:Sl})})})}const ConnectionLine=({style:ya,type:ma=ConnectionLineType.Bezier,CustomComponent:ba,isValid:va})=>{const{inProgress:Ma,from:El,fromNode:wl,fromHandle:Sl,fromPosition:Cl,to:Mc,toNode:Ef,toHandle:Zf,toPosition:Jf,pointer:dp}=useConnection();if(!Ma)return;if(ba)return jsxRuntimeExports.jsx(ba,{connectionLineType:ma,connectionLineStyle:ya,fromNode:wl,fromHandle:Sl,fromX:El.x,fromY:El.y,toX:Mc.x,toY:Mc.y,fromPosition:Cl,toPosition:Jf,connectionStatus:getConnectionStatus(va),toNode:Ef,toHandle:Zf,pointer:dp});let hp="";const dg={sourceX:El.x,sourceY:El.y,sourcePosition:Cl,targetX:Mc.x,targetY:Mc.y,targetPosition:Jf};switch(ma){case ConnectionLineType.Bezier:[hp]=getBezierPath(dg);break;case ConnectionLineType.SimpleBezier:[hp]=getSimpleBezierPath(dg);break;case ConnectionLineType.Step:[hp]=getSmoothStepPath({...dg,borderRadius:0});break;case ConnectionLineType.SmoothStep:[hp]=getSmoothStepPath(dg);break;default:[hp]=getStraightPath(dg)}return jsxRuntimeExports.jsx("path",{d:hp,fill:"none",className:"react-flow__connection-path",style:ya})};ConnectionLine.displayName="ConnectionLine";const emptyTypes={};function useNodeOrEdgeTypesWarning(ya=emptyTypes){reactExports.useRef(ya),useStoreApi(),reactExports.useEffect(()=>{},[ya])}function useStylesLoadedWarning(){useStoreApi(),reactExports.useRef(!1),reactExports.useEffect(()=>{},[])}function GraphViewComponent({nodeTypes:ya,edgeTypes:ma,onInit:ba,onNodeClick:va,onEdgeClick:Ma,onNodeDoubleClick:El,onEdgeDoubleClick:wl,onNodeMouseEnter:Sl,onNodeMouseMove:Cl,onNodeMouseLeave:Mc,onNodeContextMenu:Ef,onSelectionContextMenu:Zf,onSelectionStart:Jf,onSelectionEnd:dp,connectionLineType:hp,connectionLineStyle:dg,connectionLineComponent:pg,connectionLineContainerStyle:hg,selectionKeyCode:mg,selectionOnDrag:gg,selectionMode:sy,multiSelectionKeyCode:ly,panActivationKeyCode:cy,zoomActivationKeyCode:uy,deleteKeyCode:H1,onlyRenderVisibleElements:lE,elementsSelectable:R_,defaultViewport:V1,translateExtent:q1,minZoom:n0,maxZoom:aE,preventScrolling:P_,defaultMarkerColor:O_,zoomOnScroll:sN,zoomOnPinch:uN,panOnScroll:lN,panOnScrollSpeed:_F,panOnScrollMode:eee,zoomOnDoubleClick:JY,panOnDrag:_pe,onPaneClick:_Q,onPaneMouseEnter:Cpe,onPaneMouseMove:Tpe,onPaneMouseLeave:opt,onPaneScroll:Kpt,onPaneContextMenu:Eht,paneClickDistance:Jpt,nodeClickDistance:kpe,onEdgeContextMenu:Mpe,onEdgeMouseEnter:_ht,onEdgeMouseMove:Wpt,onEdgeMouseLeave:rmt,reconnectRadius:dmt,onReconnect:Aht,onReconnectStart:Smt,onReconnectEnd:Nmt,noDragClassName:Dmt,noWheelClassName:wmt,noPanClassName:Xht,disableKeyboardA11y:bmt,nodeExtent:kmt,rfId:Cmt,viewport:qmt,onViewportChange:Hpt}){return useNodeOrEdgeTypesWarning(ya),useNodeOrEdgeTypesWarning(ma),useStylesLoadedWarning(),useOnInitHandler(ba),useViewportSync(qmt),jsxRuntimeExports.jsx(FlowRenderer,{onPaneClick:_Q,onPaneMouseEnter:Cpe,onPaneMouseMove:Tpe,onPaneMouseLeave:opt,onPaneContextMenu:Eht,onPaneScroll:Kpt,paneClickDistance:Jpt,deleteKeyCode:H1,selectionKeyCode:mg,selectionOnDrag:gg,selectionMode:sy,onSelectionStart:Jf,onSelectionEnd:dp,multiSelectionKeyCode:ly,panActivationKeyCode:cy,zoomActivationKeyCode:uy,elementsSelectable:R_,zoomOnScroll:sN,zoomOnPinch:uN,zoomOnDoubleClick:JY,panOnScroll:lN,panOnScrollSpeed:_F,panOnScrollMode:eee,panOnDrag:_pe,defaultViewport:V1,translateExtent:q1,minZoom:n0,maxZoom:aE,onSelectionContextMenu:Zf,preventScrolling:P_,noDragClassName:Dmt,noWheelClassName:wmt,noPanClassName:Xht,disableKeyboardA11y:bmt,onViewportChange:Hpt,isControlledViewport:!!qmt,children:jsxRuntimeExports.jsxs(Viewport,{children:[jsxRuntimeExports.jsx(EdgeRenderer,{edgeTypes:ma,onEdgeClick:Ma,onEdgeDoubleClick:wl,onReconnect:Aht,onReconnectStart:Smt,onReconnectEnd:Nmt,onlyRenderVisibleElements:lE,onEdgeContextMenu:Mpe,onEdgeMouseEnter:_ht,onEdgeMouseMove:Wpt,onEdgeMouseLeave:rmt,reconnectRadius:dmt,defaultMarkerColor:O_,noPanClassName:Xht,disableKeyboardA11y:bmt,rfId:Cmt}),jsxRuntimeExports.jsx(ConnectionLineWrapper,{style:dg,type:hp,component:pg,containerStyle:hg}),jsxRuntimeExports.jsx("div",{className:"react-flow__edgelabel-renderer"}),jsxRuntimeExports.jsx(NodeRenderer,{nodeTypes:ya,onNodeClick:va,onNodeDoubleClick:El,onNodeMouseEnter:Sl,onNodeMouseMove:Cl,onNodeMouseLeave:Mc,onNodeContextMenu:Ef,nodeClickDistance:kpe,onlyRenderVisibleElements:lE,noPanClassName:Xht,noDragClassName:Dmt,disableKeyboardA11y:bmt,nodeExtent:kmt,rfId:Cmt}),jsxRuntimeExports.jsx("div",{className:"react-flow__viewport-portal"})]})})}GraphViewComponent.displayName="GraphView";const GraphView=reactExports.memo(GraphViewComponent),getInitialState$1=({nodes:ya,edges:ma,defaultNodes:ba,defaultEdges:va,width:Ma,height:El,fitView:wl,fitViewOptions:Sl,minZoom:Cl=.5,maxZoom:Mc=2,nodeOrigin:Ef,nodeExtent:Zf,zIndexMode:Jf="basic"}={})=>{const dp=new Map,hp=new Map,dg=new Map,pg=new Map,hg=va??ma??[],mg=ba??ya??[],gg=Ef??[0,0],sy=Zf??infiniteExtent;updateConnectionLookup(dg,pg,hg);const ly=adoptUserNodes(mg,dp,hp,{nodeOrigin:gg,nodeExtent:sy,zIndexMode:Jf});let cy=[0,0,1];if(wl&&Ma&&El){const uy=getInternalNodesBounds(dp,{filter:V1=>!!((V1.width||V1.initialWidth)&&(V1.height||V1.initialHeight))}),{x:H1,y:lE,zoom:R_}=getViewportForBounds(uy,Ma,El,Cl,Mc,Sl?.padding??.1);cy=[H1,lE,R_]}return{rfId:"1",width:Ma??0,height:El??0,transform:cy,nodes:mg,nodesInitialized:ly,nodeLookup:dp,parentLookup:hp,edges:hg,edgeLookup:pg,connectionLookup:dg,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:ba!==void 0,hasDefaultEdges:va!==void 0,panZoom:null,minZoom:Cl,maxZoom:Mc,translateExtent:infiniteExtent,nodeExtent:sy,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ConnectionMode.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:gg,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:wl??!1,fitViewOptions:Sl,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:ya,edges:ma,defaultNodes:ba,defaultEdges:va,width:Ma,height:El,fitView:wl,fitViewOptions:Sl,minZoom:Cl,maxZoom:Mc,nodeOrigin:Ef,nodeExtent:Zf,zIndexMode:Jf})=>createWithEqualityFn((dp,hp)=>{async function dg(){const{nodeLookup:pg,panZoom:hg,fitViewOptions:mg,fitViewResolver:gg,width:sy,height:ly,minZoom:cy,maxZoom:uy}=hp();hg&&(await fitViewport({nodes:pg,width:sy,height:ly,panZoom:hg,minZoom:cy,maxZoom:uy},mg),gg?.resolve(!0),dp({fitViewResolver:null}))}return{...getInitialState$1({nodes:ya,edges:ma,width:Ma,height:El,fitView:wl,fitViewOptions:Sl,minZoom:Cl,maxZoom:Mc,nodeOrigin:Ef,nodeExtent:Zf,defaultNodes:ba,defaultEdges:va,zIndexMode:Jf}),setNodes:pg=>{const{nodeLookup:hg,parentLookup:mg,nodeOrigin:gg,elevateNodesOnSelect:sy,fitViewQueued:ly,zIndexMode:cy}=hp(),uy=adoptUserNodes(pg,hg,mg,{nodeOrigin:gg,nodeExtent:Zf,elevateNodesOnSelect:sy,checkEquality:!0,zIndexMode:cy});ly&&uy?(dg(),dp({nodes:pg,nodesInitialized:uy,fitViewQueued:!1,fitViewOptions:void 0})):dp({nodes:pg,nodesInitialized:uy})},setEdges:pg=>{const{connectionLookup:hg,edgeLookup:mg}=hp();updateConnectionLookup(hg,mg,pg),dp({edges:pg})},setDefaultNodesAndEdges:(pg,hg)=>{if(pg){const{setNodes:mg}=hp();mg(pg),dp({hasDefaultNodes:!0})}if(hg){const{setEdges:mg}=hp();mg(hg),dp({hasDefaultEdges:!0})}},updateNodeInternals:pg=>{const{triggerNodeChanges:hg,nodeLookup:mg,parentLookup:gg,domNode:sy,nodeOrigin:ly,nodeExtent:cy,debug:uy,fitViewQueued:H1,zIndexMode:lE}=hp(),{changes:R_,updatedInternals:V1}=updateNodeInternals(pg,mg,gg,sy,ly,cy,lE);V1&&(updateAbsolutePositions(mg,gg,{nodeOrigin:ly,nodeExtent:cy,zIndexMode:lE}),H1?(dg(),dp({fitViewQueued:!1,fitViewOptions:void 0})):dp({}),R_?.length>0&&(uy&&console.log("React Flow: trigger node changes",R_),hg?.(R_)))},updateNodePositions:(pg,hg=!1)=>{const mg=[];let gg=[];const{nodeLookup:sy,triggerNodeChanges:ly,connection:cy,updateConnection:uy,onNodesChangeMiddlewareMap:H1}=hp();for(const[lE,R_]of pg){const V1=sy.get(lE),q1=!!(V1?.expandParent&&V1?.parentId&&R_?.position),n0={id:lE,type:"position",position:q1?{x:Math.max(0,R_.position.x),y:Math.max(0,R_.position.y)}:R_.position,dragging:hg};if(V1&&cy.inProgress&&cy.fromNode.id===V1.id){const aE=getHandlePosition(V1,cy.fromHandle,Position.Left,!0);uy({...cy,from:aE})}q1&&V1.parentId&&mg.push({id:lE,parentId:V1.parentId,rect:{...R_.internals.positionAbsolute,width:R_.measured.width??0,height:R_.measured.height??0}}),gg.push(n0)}if(mg.length>0){const{parentLookup:lE,nodeOrigin:R_}=hp(),V1=handleExpandParent(mg,sy,lE,R_);gg.push(...V1)}for(const lE of H1.values())gg=lE(gg);ly(gg)},triggerNodeChanges:pg=>{const{onNodesChange:hg,setNodes:mg,nodes:gg,hasDefaultNodes:sy,debug:ly}=hp();if(pg?.length){if(sy){const cy=applyNodeChanges(pg,gg);mg(cy)}ly&&console.log("React Flow: trigger node changes",pg),hg?.(pg)}},triggerEdgeChanges:pg=>{const{onEdgesChange:hg,setEdges:mg,edges:gg,hasDefaultEdges:sy,debug:ly}=hp();if(pg?.length){if(sy){const cy=applyEdgeChanges(pg,gg);mg(cy)}ly&&console.log("React Flow: trigger edge changes",pg),hg?.(pg)}},addSelectedNodes:pg=>{const{multiSelectionActive:hg,edgeLookup:mg,nodeLookup:gg,triggerNodeChanges:sy,triggerEdgeChanges:ly}=hp();if(hg){const cy=pg.map(uy=>createSelectionChange(uy,!0));sy(cy);return}sy(getSelectionChanges(gg,new Set([...pg]),!0)),ly(getSelectionChanges(mg))},addSelectedEdges:pg=>{const{multiSelectionActive:hg,edgeLookup:mg,nodeLookup:gg,triggerNodeChanges:sy,triggerEdgeChanges:ly}=hp();if(hg){const cy=pg.map(uy=>createSelectionChange(uy,!0));ly(cy);return}ly(getSelectionChanges(mg,new Set([...pg]))),sy(getSelectionChanges(gg,new Set,!0))},unselectNodesAndEdges:({nodes:pg,edges:hg}={})=>{const{edges:mg,nodes:gg,nodeLookup:sy,triggerNodeChanges:ly,triggerEdgeChanges:cy}=hp(),uy=pg||gg,H1=hg||mg,lE=uy.map(V1=>{const q1=sy.get(V1.id);return q1&&(q1.selected=!1),createSelectionChange(V1.id,!1)}),R_=H1.map(V1=>createSelectionChange(V1.id,!1));ly(lE),cy(R_)},setMinZoom:pg=>{const{panZoom:hg,maxZoom:mg}=hp();hg?.setScaleExtent([pg,mg]),dp({minZoom:pg})},setMaxZoom:pg=>{const{panZoom:hg,minZoom:mg}=hp();hg?.setScaleExtent([mg,pg]),dp({maxZoom:pg})},setTranslateExtent:pg=>{hp().panZoom?.setTranslateExtent(pg),dp({translateExtent:pg})},resetSelectedElements:()=>{const{edges:pg,nodes:hg,triggerNodeChanges:mg,triggerEdgeChanges:gg,elementsSelectable:sy}=hp();if(!sy)return;const ly=hg.reduce((uy,H1)=>H1.selected?[...uy,createSelectionChange(H1.id,!1)]:uy,[]),cy=pg.reduce((uy,H1)=>H1.selected?[...uy,createSelectionChange(H1.id,!1)]:uy,[]);mg(ly),gg(cy)},setNodeExtent:pg=>{const{nodes:hg,nodeLookup:mg,parentLookup:gg,nodeOrigin:sy,elevateNodesOnSelect:ly,nodeExtent:cy,zIndexMode:uy}=hp();pg[0][0]===cy[0][0]&&pg[0][1]===cy[0][1]&&pg[1][0]===cy[1][0]&&pg[1][1]===cy[1][1]||(adoptUserNodes(hg,mg,gg,{nodeOrigin:sy,nodeExtent:pg,elevateNodesOnSelect:ly,checkEquality:!1,zIndexMode:uy}),dp({nodeExtent:pg}))},panBy:pg=>{const{transform:hg,width:mg,height:gg,panZoom:sy,translateExtent:ly}=hp();return panBy({delta:pg,panZoom:sy,transform:hg,translateExtent:ly,width:mg,height:gg})},setCenter:async(pg,hg,mg)=>{const{width:gg,height:sy,maxZoom:ly,panZoom:cy}=hp();if(!cy)return Promise.resolve(!1);const uy=typeof mg?.zoom<"u"?mg.zoom:ly;return await cy.setViewport({x:gg/2-pg*uy,y:sy/2-hg*uy,zoom:uy},{duration:mg?.duration,ease:mg?.ease,interpolate:mg?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{dp({connection:{...initialConnection}})},updateConnection:pg=>{dp({connection:pg})},reset:()=>dp({...getInitialState$1()})}},Object.is);function ReactFlowProvider({initialNodes:ya,initialEdges:ma,defaultNodes:ba,defaultEdges:va,initialWidth:Ma,initialHeight:El,initialMinZoom:wl,initialMaxZoom:Sl,initialFitViewOptions:Cl,fitView:Mc,nodeOrigin:Ef,nodeExtent:Zf,zIndexMode:Jf,children:dp}){const[hp]=reactExports.useState(()=>createStore({nodes:ya,edges:ma,defaultNodes:ba,defaultEdges:va,width:Ma,height:El,fitView:Mc,minZoom:wl,maxZoom:Sl,fitViewOptions:Cl,nodeOrigin:Ef,nodeExtent:Zf,zIndexMode:Jf}));return jsxRuntimeExports.jsx(Provider$1,{value:hp,children:jsxRuntimeExports.jsx(BatchProvider,{children:dp})})}function Wrapper({children:ya,nodes:ma,edges:ba,defaultNodes:va,defaultEdges:Ma,width:El,height:wl,fitView:Sl,fitViewOptions:Cl,minZoom:Mc,maxZoom:Ef,nodeOrigin:Zf,nodeExtent:Jf,zIndexMode:dp}){return reactExports.useContext(StoreContext)?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:ya}):jsxRuntimeExports.jsx(ReactFlowProvider,{initialNodes:ma,initialEdges:ba,defaultNodes:va,defaultEdges:Ma,initialWidth:El,initialHeight:wl,fitView:Sl,initialFitViewOptions:Cl,initialMinZoom:Mc,initialMaxZoom:Ef,nodeOrigin:Zf,nodeExtent:Jf,zIndexMode:dp,children:ya})}const wrapperStyle={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function ReactFlow({nodes:ya,edges:ma,defaultNodes:ba,defaultEdges:va,className:Ma,nodeTypes:El,edgeTypes:wl,onNodeClick:Sl,onEdgeClick:Cl,onInit:Mc,onMove:Ef,onMoveStart:Zf,onMoveEnd:Jf,onConnect:dp,onConnectStart:hp,onConnectEnd:dg,onClickConnectStart:pg,onClickConnectEnd:hg,onNodeMouseEnter:mg,onNodeMouseMove:gg,onNodeMouseLeave:sy,onNodeContextMenu:ly,onNodeDoubleClick:cy,onNodeDragStart:uy,onNodeDrag:H1,onNodeDragStop:lE,onNodesDelete:R_,onEdgesDelete:V1,onDelete:q1,onSelectionChange:n0,onSelectionDragStart:aE,onSelectionDrag:P_,onSelectionDragStop:O_,onSelectionContextMenu:sN,onSelectionStart:uN,onSelectionEnd:lN,onBeforeDelete:_F,connectionMode:eee,connectionLineType:JY=ConnectionLineType.Bezier,connectionLineStyle:_pe,connectionLineComponent:_Q,connectionLineContainerStyle:Cpe,deleteKeyCode:Tpe="Backspace",selectionKeyCode:opt="Shift",selectionOnDrag:Kpt=!1,selectionMode:Eht=SelectionMode.Full,panActivationKeyCode:Jpt="Space",multiSelectionKeyCode:kpe=isMacOs()?"Meta":"Control",zoomActivationKeyCode:Mpe=isMacOs()?"Meta":"Control",snapToGrid:_ht,snapGrid:Wpt,onlyRenderVisibleElements:rmt=!1,selectNodesOnDrag:dmt,nodesDraggable:Aht,autoPanOnNodeFocus:Smt,nodesConnectable:Nmt,nodesFocusable:Dmt,nodeOrigin:wmt=defaultNodeOrigin,edgesFocusable:Xht,edgesReconnectable:bmt,elementsSelectable:kmt=!0,defaultViewport:Cmt=defaultViewport,minZoom:qmt=.5,maxZoom:Hpt=2,translateExtent:XY=infiniteExtent,preventScrolling:Epe=!0,nodeExtent:Zpt,defaultMarkerColor:Q_e="#b1b1b7",zoomOnScroll:Ppe=!0,zoomOnPinch:Ape=!0,panOnScroll:qpt=!1,panOnScrollSpeed:Vpt=.5,panOnScrollMode:Tht=PanOnScrollMode.Free,zoomOnDoubleClick:ipt=!0,panOnDrag:smt=!0,onPaneClick:pmt,onPaneMouseEnter:xpe,onPaneMouseMove:Gpt,onPaneMouseLeave:Sht,onPaneScroll:spt,onPaneContextMenu:Ypt,paneClickDistance:Zht=1,nodeClickDistance:fmt=0,children:omt,onReconnect:Emt,onReconnectStart:Bmt,onReconnectEnd:egt,onEdgeContextMenu:sgt,onEdgeDoubleClick:emt,onEdgeMouseEnter:imt,onEdgeMouseMove:Rpe,onEdgeMouseLeave:$mt,reconnectRadius:Pmt=10,onNodesChange:xmt,onEdgesChange:e2e,noDragClassName:Jht="nodrag",noWheelClassName:amt="nowheel",noPanClassName:hmt="nopan",fitView:Lmt,fitViewOptions:jmt,connectOnClick:zmt,attributionPosition:ngt,proOptions:Jmt,defaultEdgeOptions:igt,elevateNodesOnSelect:Xmt=!0,elevateEdgesOnSelect:Ymt=!1,disableKeyboardA11y:mgt=!1,autoPanOnConnect:Cgt,autoPanOnNodeDrag:iyt,autoPanSpeed:Wgt,connectionRadius:cgt,isValidConnection:xgt,onError:Ggt,style:kgt,id:Igt,nodeDragThreshold:Xgt,connectionDragThreshold:Egt,viewport:Dgt,onViewportChange:pyt,width:wgt,height:dgt,colorMode:ayt="light",debug:oyt,onScroll:wyt,ariaLabelConfig:hyt,zIndexMode:kyt="basic",...tyt},Fyt){const myt=Igt||"1",a$t=useColorModeClass(ayt),Vyt=reactExports.useCallback(R$t=>{R$t.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),wyt?.(R$t)},[wyt]);return jsxRuntimeExports.jsx("div",{"data-testid":"rf__wrapper",...tyt,onScroll:Vyt,style:{...kgt,...wrapperStyle},ref:Fyt,className:cc(["react-flow",Ma,a$t]),id:Igt,role:"application",children:jsxRuntimeExports.jsxs(Wrapper,{nodes:ya,edges:ma,width:wgt,height:dgt,fitView:Lmt,fitViewOptions:jmt,minZoom:qmt,maxZoom:Hpt,nodeOrigin:wmt,nodeExtent:Zpt,zIndexMode:kyt,children:[jsxRuntimeExports.jsx(GraphView,{onInit:Mc,onNodeClick:Sl,onEdgeClick:Cl,onNodeMouseEnter:mg,onNodeMouseMove:gg,onNodeMouseLeave:sy,onNodeContextMenu:ly,onNodeDoubleClick:cy,nodeTypes:El,edgeTypes:wl,connectionLineType:JY,connectionLineStyle:_pe,connectionLineComponent:_Q,connectionLineContainerStyle:Cpe,selectionKeyCode:opt,selectionOnDrag:Kpt,selectionMode:Eht,deleteKeyCode:Tpe,multiSelectionKeyCode:kpe,panActivationKeyCode:Jpt,zoomActivationKeyCode:Mpe,onlyRenderVisibleElements:rmt,defaultViewport:Cmt,translateExtent:XY,minZoom:qmt,maxZoom:Hpt,preventScrolling:Epe,zoomOnScroll:Ppe,zoomOnPinch:Ape,zoomOnDoubleClick:ipt,panOnScroll:qpt,panOnScrollSpeed:Vpt,panOnScrollMode:Tht,panOnDrag:smt,onPaneClick:pmt,onPaneMouseEnter:xpe,onPaneMouseMove:Gpt,onPaneMouseLeave:Sht,onPaneScroll:spt,onPaneContextMenu:Ypt,paneClickDistance:Zht,nodeClickDistance:fmt,onSelectionContextMenu:sN,onSelectionStart:uN,onSelectionEnd:lN,onReconnect:Emt,onReconnectStart:Bmt,onReconnectEnd:egt,onEdgeContextMenu:sgt,onEdgeDoubleClick:emt,onEdgeMouseEnter:imt,onEdgeMouseMove:Rpe,onEdgeMouseLeave:$mt,reconnectRadius:Pmt,defaultMarkerColor:Q_e,noDragClassName:Jht,noWheelClassName:amt,noPanClassName:hmt,rfId:myt,disableKeyboardA11y:mgt,nodeExtent:Zpt,viewport:Dgt,onViewportChange:pyt}),jsxRuntimeExports.jsx(StoreUpdater,{nodes:ya,edges:ma,defaultNodes:ba,defaultEdges:va,onConnect:dp,onConnectStart:hp,onConnectEnd:dg,onClickConnectStart:pg,onClickConnectEnd:hg,nodesDraggable:Aht,autoPanOnNodeFocus:Smt,nodesConnectable:Nmt,nodesFocusable:Dmt,edgesFocusable:Xht,edgesReconnectable:bmt,elementsSelectable:kmt,elevateNodesOnSelect:Xmt,elevateEdgesOnSelect:Ymt,minZoom:qmt,maxZoom:Hpt,nodeExtent:Zpt,onNodesChange:xmt,onEdgesChange:e2e,snapToGrid:_ht,snapGrid:Wpt,connectionMode:eee,translateExtent:XY,connectOnClick:zmt,defaultEdgeOptions:igt,fitView:Lmt,fitViewOptions:jmt,onNodesDelete:R_,onEdgesDelete:V1,onDelete:q1,onNodeDragStart:uy,onNodeDrag:H1,onNodeDragStop:lE,onSelectionDrag:P_,onSelectionDragStart:aE,onSelectionDragStop:O_,onMove:Ef,onMoveStart:Zf,onMoveEnd:Jf,noPanClassName:hmt,nodeOrigin:wmt,rfId:myt,autoPanOnConnect:Cgt,autoPanOnNodeDrag:iyt,autoPanSpeed:Wgt,onError:Ggt,connectionRadius:cgt,isValidConnection:xgt,selectNodesOnDrag:dmt,nodeDragThreshold:Xgt,connectionDragThreshold:Egt,onBeforeDelete:_F,debug:oyt,ariaLabelConfig:hyt,zIndexMode:kyt}),jsxRuntimeExports.jsx(SelectionListener,{onSelectionChange:n0}),omt,jsxRuntimeExports.jsx(Attribution,{proOptions:Jmt,position:ngt}),jsxRuntimeExports.jsx(A11yDescriptions,{rfId:myt,disableKeyboardA11y:mgt})]})})}var index$4=fixedForwardRef(ReactFlow);function useNodesState(ya){const[ma,ba]=reactExports.useState(ya),va=reactExports.useCallback(Ma=>ba(El=>applyNodeChanges(Ma,El)),[]);return[ma,ba,va]}function useEdgesState(ya){const[ma,ba]=reactExports.useState(ya),va=reactExports.useCallback(Ma=>ba(El=>applyEdgeChanges(Ma,El)),[]);return[ma,ba,va]}function LinePattern({dimensions:ya,lineWidth:ma,variant:ba,className:va}){return jsxRuntimeExports.jsx("path",{strokeWidth:ma,d:`M${ya[0]/2} 0 V${ya[1]} M0 ${ya[1]/2} H${ya[0]}`,className:cc(["react-flow__background-pattern",ba,va])})}function DotPattern({radius:ya,className:ma}){return jsxRuntimeExports.jsx("circle",{cx:ya,cy:ya,r:ya,className:cc(["react-flow__background-pattern","dots",ma])})}var BackgroundVariant;(function(ya){ya.Lines="lines",ya.Dots="dots",ya.Cross="cross"})(BackgroundVariant||(BackgroundVariant={}));const defaultSize={[BackgroundVariant.Dots]:1,[BackgroundVariant.Lines]:1,[BackgroundVariant.Cross]:6},selector$3=ya=>({transform:ya.transform,patternId:`pattern-${ya.rfId}`});function BackgroundComponent({id:ya,variant:ma=BackgroundVariant.Dots,gap:ba=20,size:va,lineWidth:Ma=1,offset:El=0,color:wl,bgColor:Sl,style:Cl,className:Mc,patternClassName:Ef}){const Zf=reactExports.useRef(null),{transform:Jf,patternId:dp}=useStore$1(selector$3,shallow$1),hp=va||defaultSize[ma],dg=ma===BackgroundVariant.Dots,pg=ma===BackgroundVariant.Cross,hg=Array.isArray(ba)?ba:[ba,ba],mg=[hg[0]*Jf[2]||1,hg[1]*Jf[2]||1],gg=hp*Jf[2],sy=Array.isArray(El)?El:[El,El],ly=pg?[gg,gg]:mg,cy=[sy[0]*Jf[2]||1+ly[0]/2,sy[1]*Jf[2]||1+ly[1]/2],uy=`${dp}${ya||""}`;return jsxRuntimeExports.jsxs("svg",{className:cc(["react-flow__background",Mc]),style:{...Cl,...containerStyle,"--xy-background-color-props":Sl,"--xy-background-pattern-color-props":wl},ref:Zf,"data-testid":"rf__background",children:[jsxRuntimeExports.jsx("pattern",{id:uy,x:Jf[0]%mg[0],y:Jf[1]%mg[1],width:mg[0],height:mg[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${cy[0]},-${cy[1]})`,children:dg?jsxRuntimeExports.jsx(DotPattern,{radius:gg/2,className:Ef}):jsxRuntimeExports.jsx(LinePattern,{dimensions:ly,lineWidth:Ma,variant:ma,className:Ef})}),jsxRuntimeExports.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${uy})`})]})}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:ya,className:ma,...ba}){return jsxRuntimeExports.jsx("button",{type:"button",className:cc(["react-flow__controls-button",ma]),...ba,children:ya})}const selector$2=ya=>({isInteractive:ya.nodesDraggable||ya.nodesConnectable||ya.elementsSelectable,minZoomReached:ya.transform[2]<=ya.minZoom,maxZoomReached:ya.transform[2]>=ya.maxZoom,ariaLabelConfig:ya.ariaLabelConfig});function ControlsComponent({style:ya,showZoom:ma=!0,showFitView:ba=!0,showInteractive:va=!0,fitViewOptions:Ma,onZoomIn:El,onZoomOut:wl,onFitView:Sl,onInteractiveChange:Cl,className:Mc,children:Ef,position:Zf="bottom-left",orientation:Jf="vertical","aria-label":dp}){const hp=useStoreApi(),{isInteractive:dg,minZoomReached:pg,maxZoomReached:hg,ariaLabelConfig:mg}=useStore$1(selector$2,shallow$1),{zoomIn:gg,zoomOut:sy,fitView:ly}=useReactFlow(),cy=()=>{gg(),El?.()},uy=()=>{sy(),wl?.()},H1=()=>{ly(Ma),Sl?.()},lE=()=>{hp.setState({nodesDraggable:!dg,nodesConnectable:!dg,elementsSelectable:!dg}),Cl?.(!dg)},R_=Jf==="horizontal"?"horizontal":"vertical";return jsxRuntimeExports.jsxs(Panel,{className:cc(["react-flow__controls",R_,Mc]),position:Zf,style:ya,"data-testid":"rf__controls","aria-label":dp??mg["controls.ariaLabel"],children:[ma&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(ControlButton,{onClick:cy,className:"react-flow__controls-zoomin",title:mg["controls.zoomIn.ariaLabel"],"aria-label":mg["controls.zoomIn.ariaLabel"],disabled:hg,children:jsxRuntimeExports.jsx(PlusIcon,{})}),jsxRuntimeExports.jsx(ControlButton,{onClick:uy,className:"react-flow__controls-zoomout",title:mg["controls.zoomOut.ariaLabel"],"aria-label":mg["controls.zoomOut.ariaLabel"],disabled:pg,children:jsxRuntimeExports.jsx(MinusIcon,{})})]}),ba&&jsxRuntimeExports.jsx(ControlButton,{className:"react-flow__controls-fitview",onClick:H1,title:mg["controls.fitView.ariaLabel"],"aria-label":mg["controls.fitView.ariaLabel"],children:jsxRuntimeExports.jsx(FitViewIcon,{})}),va&&jsxRuntimeExports.jsx(ControlButton,{className:"react-flow__controls-interactive",onClick:lE,title:mg["controls.interactive.ariaLabel"],"aria-label":mg["controls.interactive.ariaLabel"],children:dg?jsxRuntimeExports.jsx(UnlockIcon,{}):jsxRuntimeExports.jsx(LockIcon,{})}),Ef]})}ControlsComponent.displayName="Controls";reactExports.memo(ControlsComponent);function MiniMapNodeComponent({id:ya,x:ma,y:ba,width:va,height:Ma,style:El,color:wl,strokeColor:Sl,strokeWidth:Cl,className:Mc,borderRadius:Ef,shapeRendering:Zf,selected:Jf,onClick:dp}){const{background:hp,backgroundColor:dg}=El||{},pg=wl||hp||dg;return jsxRuntimeExports.jsx("rect",{className:cc(["react-flow__minimap-node",{selected:Jf},Mc]),x:ma,y:ba,rx:Ef,ry:Ef,width:va,height:Ma,style:{fill:pg,stroke:Sl,strokeWidth:Cl},shapeRendering:Zf,onClick:dp?hg=>dp(hg,ya):void 0})}const MiniMapNode=reactExports.memo(MiniMapNodeComponent),selectorNodeIds=ya=>ya.nodes.map(ma=>ma.id),getAttrFunction=ya=>ya instanceof Function?ya:()=>ya;function MiniMapNodes({nodeStrokeColor:ya,nodeColor:ma,nodeClassName:ba="",nodeBorderRadius:va=5,nodeStrokeWidth:Ma,nodeComponent:El=MiniMapNode,onClick:wl}){const Sl=useStore$1(selectorNodeIds,shallow$1),Cl=getAttrFunction(ma),Mc=getAttrFunction(ya),Ef=getAttrFunction(ba),Zf=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Sl.map(Jf=>jsxRuntimeExports.jsx(NodeComponentWrapper,{id:Jf,nodeColorFunc:Cl,nodeStrokeColorFunc:Mc,nodeClassNameFunc:Ef,nodeBorderRadius:va,nodeStrokeWidth:Ma,NodeComponent:El,onClick:wl,shapeRendering:Zf},Jf))})}function NodeComponentWrapperInner({id:ya,nodeColorFunc:ma,nodeStrokeColorFunc:ba,nodeClassNameFunc:va,nodeBorderRadius:Ma,nodeStrokeWidth:El,shapeRendering:wl,NodeComponent:Sl,onClick:Cl}){const{node:Mc,x:Ef,y:Zf,width:Jf,height:dp}=useStore$1(hp=>{const{internals:dg}=hp.nodeLookup.get(ya),pg=dg.userNode,{x:hg,y:mg}=dg.positionAbsolute,{width:gg,height:sy}=getNodeDimensions(pg);return{node:pg,x:hg,y:mg,width:gg,height:sy}},shallow$1);return!Mc||Mc.hidden||!nodeHasDimensions(Mc)?null:jsxRuntimeExports.jsx(Sl,{x:Ef,y:Zf,width:Jf,height:dp,style:Mc.style,selected:!!Mc.selected,className:va(Mc),color:ma(Mc),borderRadius:Ma,strokeColor:ba(Mc),strokeWidth:El,shapeRendering:wl,onClick:Cl,id:Mc.id})}const NodeComponentWrapper=reactExports.memo(NodeComponentWrapperInner);var MiniMapNodes$1=reactExports.memo(MiniMapNodes);const defaultWidth=200,defaultHeight=150,filterHidden=ya=>!ya.hidden,selector$1=ya=>{const ma={x:-ya.transform[0]/ya.transform[2],y:-ya.transform[1]/ya.transform[2],width:ya.width/ya.transform[2],height:ya.height/ya.transform[2]};return{viewBB:ma,boundingRect:ya.nodeLookup.size>0?getBoundsOfRects(getInternalNodesBounds(ya.nodeLookup,{filter:filterHidden}),ma):ma,rfId:ya.rfId,panZoom:ya.panZoom,translateExtent:ya.translateExtent,flowWidth:ya.width,flowHeight:ya.height,ariaLabelConfig:ya.ariaLabelConfig}},ARIA_LABEL_KEY="react-flow__minimap-desc";function MiniMapComponent({style:ya,className:ma,nodeStrokeColor:ba,nodeColor:va,nodeClassName:Ma="",nodeBorderRadius:El=5,nodeStrokeWidth:wl,nodeComponent:Sl,bgColor:Cl,maskColor:Mc,maskStrokeColor:Ef,maskStrokeWidth:Zf,position:Jf="bottom-right",onClick:dp,onNodeClick:hp,pannable:dg=!1,zoomable:pg=!1,ariaLabel:hg,inversePan:mg,zoomStep:gg=1,offsetScale:sy=5}){const ly=useStoreApi(),cy=reactExports.useRef(null),{boundingRect:uy,viewBB:H1,rfId:lE,panZoom:R_,translateExtent:V1,flowWidth:q1,flowHeight:n0,ariaLabelConfig:aE}=useStore$1(selector$1,shallow$1),P_=ya?.width??defaultWidth,O_=ya?.height??defaultHeight,sN=uy.width/P_,uN=uy.height/O_,lN=Math.max(sN,uN),_F=lN*P_,eee=lN*O_,JY=sy*lN,_pe=uy.x-(_F-uy.width)/2-JY,_Q=uy.y-(eee-uy.height)/2-JY,Cpe=_F+JY*2,Tpe=eee+JY*2,opt=`${ARIA_LABEL_KEY}-${lE}`,Kpt=reactExports.useRef(0),Eht=reactExports.useRef();Kpt.current=lN,reactExports.useEffect(()=>{if(cy.current&&R_)return Eht.current=XYMinimap({domNode:cy.current,panZoom:R_,getTransform:()=>ly.getState().transform,getViewScale:()=>Kpt.current}),()=>{Eht.current?.destroy()}},[R_]),reactExports.useEffect(()=>{Eht.current?.update({translateExtent:V1,width:q1,height:n0,inversePan:mg,pannable:dg,zoomStep:gg,zoomable:pg})},[dg,pg,mg,gg,V1,q1,n0]);const Jpt=dp?_ht=>{const[Wpt,rmt]=Eht.current?.pointer(_ht)||[0,0];dp(_ht,{x:Wpt,y:rmt})}:void 0,kpe=hp?reactExports.useCallback((_ht,Wpt)=>{const rmt=ly.getState().nodeLookup.get(Wpt).internals.userNode;hp(_ht,rmt)},[]):void 0,Mpe=hg??aE["minimap.ariaLabel"];return jsxRuntimeExports.jsx(Panel,{position:Jf,style:{...ya,"--xy-minimap-background-color-props":typeof Cl=="string"?Cl:void 0,"--xy-minimap-mask-background-color-props":typeof Mc=="string"?Mc:void 0,"--xy-minimap-mask-stroke-color-props":typeof Ef=="string"?Ef:void 0,"--xy-minimap-mask-stroke-width-props":typeof Zf=="number"?Zf*lN:void 0,"--xy-minimap-node-background-color-props":typeof va=="string"?va:void 0,"--xy-minimap-node-stroke-color-props":typeof ba=="string"?ba:void 0,"--xy-minimap-node-stroke-width-props":typeof wl=="number"?wl:void 0},className:cc(["react-flow__minimap",ma]),"data-testid":"rf__minimap",children:jsxRuntimeExports.jsxs("svg",{width:P_,height:O_,viewBox:`${_pe} ${_Q} ${Cpe} ${Tpe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":opt,ref:cy,onClick:Jpt,children:[Mpe&&jsxRuntimeExports.jsx("title",{id:opt,children:Mpe}),jsxRuntimeExports.jsx(MiniMapNodes$1,{onClick:kpe,nodeColor:va,nodeStrokeColor:ba,nodeBorderRadius:El,nodeClassName:Ma,nodeStrokeWidth:wl,nodeComponent:Sl}),jsxRuntimeExports.jsx("path",{className:"react-flow__minimap-mask",d:`M${_pe-JY},${_Q-JY}h${Cpe+JY*2}v${Tpe+JY*2}h${-Cpe-JY*2}z
20763
20763
  M${H1.x},${H1.y}h${H1.width}v${H1.height}h${-H1.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}MiniMapComponent.displayName="MiniMap";reactExports.memo(MiniMapComponent);const scaleSelector=ya=>ma=>ya?`${Math.max(1/ma.transform[2],1)}`:void 0,defaultPositions={[ResizeControlVariant.Line]:"right",[ResizeControlVariant.Handle]:"bottom-right"};function ResizeControl({nodeId:ya,position:ma,variant:ba=ResizeControlVariant.Handle,className:va,style:Ma=void 0,children:El,color:wl,minWidth:Sl=10,minHeight:Cl=10,maxWidth:Mc=Number.MAX_VALUE,maxHeight:Ef=Number.MAX_VALUE,keepAspectRatio:Zf=!1,resizeDirection:Jf,autoScale:dp=!0,shouldResize:hp,onResizeStart:dg,onResize:pg,onResizeEnd:hg}){const mg=useNodeId(),gg=typeof ya=="string"?ya:mg,sy=useStoreApi(),ly=reactExports.useRef(null),cy=ba===ResizeControlVariant.Handle,uy=useStore$1(reactExports.useCallback(scaleSelector(cy&&dp),[cy,dp]),shallow$1),H1=reactExports.useRef(null),lE=ma??defaultPositions[ba];reactExports.useEffect(()=>{if(!(!ly.current||!gg))return H1.current||(H1.current=XYResizer({domNode:ly.current,nodeId:gg,getStoreItems:()=>{const{nodeLookup:V1,transform:q1,snapGrid:n0,snapToGrid:aE,nodeOrigin:P_,domNode:O_}=sy.getState();return{nodeLookup:V1,transform:q1,snapGrid:n0,snapToGrid:aE,nodeOrigin:P_,paneDomNode:O_}},onChange:(V1,q1)=>{const{triggerNodeChanges:n0,nodeLookup:aE,parentLookup:P_,nodeOrigin:O_}=sy.getState(),sN=[],uN={x:V1.x,y:V1.y},lN=aE.get(gg);if(lN&&lN.expandParent&&lN.parentId){const _F=lN.origin??O_,eee=V1.width??lN.measured.width??0,JY=V1.height??lN.measured.height??0,_pe={id:lN.id,parentId:lN.parentId,rect:{width:eee,height:JY,...evaluateAbsolutePosition({x:V1.x??lN.position.x,y:V1.y??lN.position.y},{width:eee,height:JY},lN.parentId,aE,_F)}},_Q=handleExpandParent([_pe],aE,P_,O_);sN.push(..._Q),uN.x=V1.x?Math.max(_F[0]*eee,V1.x):void 0,uN.y=V1.y?Math.max(_F[1]*JY,V1.y):void 0}if(uN.x!==void 0&&uN.y!==void 0){const _F={id:gg,type:"position",position:{...uN}};sN.push(_F)}if(V1.width!==void 0&&V1.height!==void 0){const eee={id:gg,type:"dimensions",resizing:!0,setAttributes:Jf?Jf==="horizontal"?"width":"height":!0,dimensions:{width:V1.width,height:V1.height}};sN.push(eee)}for(const _F of q1){const eee={..._F,type:"position"};sN.push(eee)}n0(sN)},onEnd:({width:V1,height:q1})=>{const n0={id:gg,type:"dimensions",resizing:!1,dimensions:{width:V1,height:q1}};sy.getState().triggerNodeChanges([n0])}})),H1.current.update({controlPosition:lE,boundaries:{minWidth:Sl,minHeight:Cl,maxWidth:Mc,maxHeight:Ef},keepAspectRatio:Zf,resizeDirection:Jf,onResizeStart:dg,onResize:pg,onResizeEnd:hg,shouldResize:hp}),()=>{H1.current?.destroy()}},[lE,Sl,Cl,Mc,Ef,Zf,dg,pg,hg,hp]);const R_=lE.split("-");return jsxRuntimeExports.jsx("div",{className:cc(["react-flow__resize-control","nodrag",...R_,ba,va]),ref:ly,style:{...Ma,scale:uy,...wl&&{[cy?"backgroundColor":"borderColor"]:wl}},children:El})}reactExports.memo(ResizeControl);const INITIAL_VIEWPORT_NODE_ID="__INITIAL_VIEWPORT__",useZoomHandler=()=>{const{getNode:ya,setCenter:ma,fitView:ba,getNodes:va,setViewport:Ma,getEdges:El}=useReactFlow(),{moduleName:wl}=useParams(),Sl=useAppStore(hg=>hg.setPreviouslyFocusedNode),Cl=useAppStore(hg=>hg.currentFocusedNode),Mc=useAppStore(hg=>hg.setCurrentFocusedNode),Ef=useAppStore(hg=>hg.setSelectedAgentId),Zf=useAppStore(hg=>hg.setSelectedDecisionId),Jf=useAppStore(hg=>hg.setLastFocusedAgentId),dp=useAppStore(hg=>hg.pushFocusedNode),hp=useAppStore(hg=>hg.clearFocusedForward);return{zoomHandler:(hg,mg,gg)=>{const sy=mg?.mode||"normal";Cl&&Cl!==hg&&(sy==="normal"?(dp(Cl),Sl(Cl),hp()):sy==="back"?useAppStore.getState().pushFocusedForward(Cl):sy==="forward"&&dp(Cl)),Mc(hg);const ly=ya(hg);if(ly){if(ly.type==="event")try{const uy=fetchModule$2(wl||"").getWorkflowForEvent(hg);if(!uy)return;const H1=uy.name,lE=ya(H1);if(lE){const R_=ly.width||0,V1=ly.height||0,q1=ly.position.x+R_/2,n0=ly.position.y+V1/2,aE=lE.width||0,P_=lE.height||0,O_=lE.position.x+aE/2,sN=lE.position.y+P_/2,uN=(q1+O_)/2,lN=(n0+sN)/2,_F=Math.abs(q1-O_)+(R_+aE)/2,eee=Math.abs(n0-sN)+(V1+P_),JY=Math.max(_F,eee);let _pe=.9;JY>1200?_pe=.5:JY>800?_pe=.65:JY>500?_pe=.8:JY>300&&(_pe=.85),requestAnimationFrame(()=>{ma(uN,lN,{zoom:_pe,duration:1200})})}else{const R_=ly.width||0,V1=ly.height||0,q1=ly.position.x+R_/2,n0=ly.position.y+V1/2;requestAnimationFrame(()=>{ma(q1,n0,{zoom:1.15,duration:700})})}}catch(cy){console.error("Error getting workflow for event:",cy);const uy=ly.width||0,H1=ly.height||0,lE=ly.position.x+uy/2,R_=ly.position.y+H1/2;requestAnimationFrame(()=>{ma(lE,R_,{zoom:1.15,duration:700})})}else if(ly.type==="agent")try{if(fetchModule$2(wl||"").getAgent(hg)){const lE=va().filter(R_=>R_.type==="swimlane"&&R_.data.name.includes(hg)).map(R_=>({id:R_.id}));if(lE.length>0)requestAnimationFrame(()=>{ba({nodes:[{id:hg},...lE],duration:700,padding:.1})});else{const R_=ly.width||0,V1=ly.height||0,q1=ly.position.x+R_/2,n0=ly.position.y+V1/2;requestAnimationFrame(()=>{ma(q1,n0,{zoom:1.15,duration:700})})}}else{const H1=ly.width||0,lE=ly.height||0,R_=ly.position.x+H1/2,V1=ly.position.y+lE/2;requestAnimationFrame(()=>{ma(R_,V1,{zoom:1.15,duration:700})})}Jf(hg),mg?.openForm&&Ef(hg)}catch(cy){console.error("Error getting flows for agent:",cy);const uy=ly.width||0,H1=ly.height||0,lE=ly.position.x+uy/2,R_=ly.position.y+H1/2;requestAnimationFrame(()=>{ma(lE,R_,{zoom:1.15,duration:700})})}else if(ly.type==="relationship"){const H1=El().filter(V1=>V1.source===hg||V1.target===hg).flatMap(V1=>[V1.source,V1.target]),R_=Array.from(new Set([...H1,hg])).map(V1=>({id:V1}));if(R_.length>1)requestAnimationFrame(()=>{ba({nodes:R_,duration:1200,padding:.2})});else{const V1=ly.width||0,q1=ly.height||0,n0=ly.position.x+V1/2,aE=ly.position.y+q1/2;requestAnimationFrame(()=>{ma(n0,aE,{zoom:1.15,duration:700})})}}else if(ly.type==="decision"){const cy=ly.width||0,uy=ly.height||0,H1=ly.position.x+cy/2,lE=ly.position.y+uy/2;requestAnimationFrame(()=>{ma(H1,lE,{zoom:1.15,duration:700})}),mg?.openForm&&(Zf(hg),Ef(null))}else if(ly.type==="decisionNode"){const cy=ly.width||0,uy=ly.height||0,H1=ly.position.x+cy/2,lE=ly.position.y+uy/2;if(requestAnimationFrame(()=>{ma(H1,lE,{zoom:1.15,duration:700})}),mg?.openForm){const R_=hg.replace("decision-node-","");Zf(R_),Ef(null)}}else{const cy=ly.width||0,uy=ly.height||0,H1=ly.position.x+cy/2,lE=ly.position.y+uy/2;requestAnimationFrame(()=>{ma(H1,lE,{zoom:1.15,duration:700})})}gg&&gg()}},restoreInitialViewport:hg=>{const mg=hg||{x:100,y:50,zoom:.6};requestAnimationFrame(()=>{typeof Ma=="function"?Ma(mg,{duration:700}):ma(mg.x,mg.y,{zoom:mg.zoom,duration:700})}),Mc(null)}}},useSaveUISpec=()=>{const ya=$ht(),{teamName:ma}=useParams(),ba=useAppStore(wl=>wl.user),va=ba.GitHub.Token,Ma=ba.GitHub.Username;return{saveUISpec:(wl,Sl)=>{if(!ma)throw new Error("Team name is required to save UI spec");ya(wl),saveUISpecToGit(ma,JSON.stringify(wl,null,2),Sl,Ma,va)}}},useAgent=()=>{const{fitView:ya}=useReactFlow(),{incrementModuleDbChangeCount:ma,setSelectedAgentId:ba}=useAppStore(),{zoomHandler:va}=useZoomHandler(),{teamName:Ma,moduleName:El}=useParams(),wl=useAppStore(_Q=>_Q.user),Sl=wl.GitHub.Token,Cl=wl.GitHub.Username,Mc=Wn$1(),{saveUISpec:Ef}=useSaveUISpec(),Zf=()=>{if(!Ma)throw new Error("teamName is undefined");if(!El)throw new Error("moduleName is undefined");return{teamName:Ma,moduleName:El,githubToken:Sl,githubUsername:Cl}},Jf=_Q=>{const Cpe=Zf(),Tpe=fetchModule$2(Cpe.moduleName),opt=Tpe.getAgent(_Q);if(!opt)throw new Error(`Agent ${_Q} not found`);return{module:Tpe,agent:opt,moduleName:Cpe.moduleName}},dp=async _Q=>{const{teamName:Cpe,moduleName:Tpe,githubToken:opt,githubUsername:Kpt}=Zf(),Eht=fetchModule$2(Tpe).toString();ma(),await saveModuleToGit(Cpe,Tpe,Eht,_Q,Kpt,opt)},hp=()=>{requestAnimationFrame(()=>{ya()})};return{addAgent:async _Q=>{const Cpe=Zf(),Tpe=fetchModule$2(Cpe.moduleName),opt=new Agent$2(_Q,Tpe.name);if(Tpe.addAgent(opt),dp(`Add Agent ${_Q}`),Mc&&Ef)try{const Kpt=`${El}/${_Q}`,Eht=repopulateUISchemaForNewAgent(Mc,Kpt);Ef(Eht,`Update UI schema for new agent ${_Q}`)}catch(Kpt){console.error("Failed to repopulate UI schema for new agent:",Kpt)}setTimeout(()=>{ba(_Q)},50),setTimeout(()=>{va(_Q,{openForm:!1})},500),hp()},removeAgent:async _Q=>{const Cpe=Zf();if(fetchModule$2(Cpe.moduleName).removeAgent(_Q),dp(`Remove Agent ${_Q}`),Mc&&Ef)try{const opt=`${El}/${_Q}`,Kpt=repopulateUISchemaAfterAgentDeletion(Mc,opt);Ef(Kpt,`Update UI schema after deleting agent ${_Q}`)}catch(opt){console.error("[useAgent] Failed to repopulate UI schema after agent deletion:",opt)}hp()},getAgents:()=>{const _Q=Zf();try{const Cpe=fetchModule$2(_Q.moduleName);return Cpe?Cpe.getAgentNames():[]}catch(Cpe){return console.error("Failed to get agents:",Cpe),[]}},setAgentInstruction:async(_Q,Cpe)=>{Zf();const{agent:Tpe}=Jf(_Q);if(Cpe.length>0){const opt=e$b(Cpe);Tpe.setInstruction(opt)}else Tpe.removeInstruction();await dp(`Set Instruction for Agent ${_Q}`)},setAgentLLM:async(_Q,Cpe)=>{Zf();const{agent:Tpe}=Jf(_Q);Cpe.length>0?Tpe.setLLM(Cpe):Tpe.removeLLM(),await dp(`Set LLM for Agent ${_Q}`)},setAgentTools:async(_Q,Cpe)=>{Zf(),console.log("setAgentTools",_Q,Cpe);const{agent:Tpe}=Jf(_Q);Cpe.length>0?Tpe.setTools(Cpe):Tpe.removeTools(),await dp(`Set Tools for Agent ${_Q}`)},setAgentIntegration:async(_Q,Cpe)=>{Zf();const{agent:Tpe}=Jf(_Q);Cpe.length>0?Tpe.attributes.set("integration",Cpe):Tpe.attributes.delete("integration"),await dp(`Set Integration for Agent ${_Q}`)},getAgent:_Q=>{const Cpe=Zf(),Tpe=fetchModule$2(Cpe.moduleName);if(!Tpe)throw new Error("Module not found");return Tpe.getAgent(_Q)},getAgentDirectives:_Q=>{const{module:Cpe}=Jf(_Q);return Cpe.getAllDirectives().filter(Tpe=>Tpe.name.startsWith(`${_Q}.`))},getAgentScenarios:_Q=>{const{module:Cpe}=Jf(_Q);return Cpe.getAllScenarios().filter(Tpe=>Tpe.name.startsWith(`${_Q}.`))},getAgentGlossary:_Q=>{const{module:Cpe}=Jf(_Q);return Cpe.getAllGlossaryEntries().filter(Tpe=>Tpe.name.startsWith(`${_Q}.`))},getAgentFlows:_Q=>{const{module:Cpe}=Jf(_Q);return Cpe.getAllFlows().filter(Tpe=>Tpe.name.startsWith(`${_Q}.`))},setAgentRole:async(_Q,Cpe)=>{Zf();const{agent:Tpe}=Jf(_Q);if(Cpe.length>0){const opt=e$b(Cpe);Tpe.attributes.set("role",opt)}else Tpe.removeAttribute("role");await dp(`Set Role for Agent ${_Q}`)},setAgentResponseSchema:async(_Q,Cpe)=>{Zf();const{agent:Tpe}=Jf(_Q);Cpe.length>0?Tpe.setResponseSchema(Cpe):(console.log("removeAgentResponseSchema",Tpe.getAgentFqName()),removeAgentResponseSchema$1(Tpe.getAgentFqName())),await dp(`Set Response Schema for Agent ${_Q}`)},removeAgentDirective:async _Q=>{Zf();const{module:Cpe}=Jf(_Q.split(".")[0]);Cpe.removeDirective(_Q),await dp(`Remove directive ${_Q}`)},addAgentDirective:async _Q=>{Zf();const{module:Cpe}=Jf(_Q.split(".")[0]);Cpe.addDirective(_Q,newAgentDirectiveFromIf(new IfPattern$1)),await dp(`Add directive ${_Q}`)},updateAgentDirective:async(_Q,Cpe,Tpe)=>{Zf();const{module:opt}=Jf(_Q.split(".")[0]);opt.removeDirective(_Q);const Kpt=e$b(Cpe),Eht=e$b(Tpe),Jpt=new IfPattern$1(LiteralPattern$1.String(Kpt)).addPattern(LiteralPattern$1.String(Eht));opt.addDirective(_Q,newAgentDirectiveFromIf(Jpt)),await dp(`Update directive ${_Q}`)},removeAgentScenario:async _Q=>{Zf();const{module:Cpe}=Jf(_Q.split(".")[0]);Cpe.removeScenario(_Q),await dp(`Remove scenario ${_Q}`)},removeAgentGlossary:async _Q=>{Zf();const{module:Cpe}=Jf(_Q.split(".")[0]);Cpe.removeGlossaryEntry(_Q),await dp(`Remove glossary ${_Q}`)},addAgentScenario:async _Q=>{Zf();const{module:Cpe}=Jf(_Q.split(".")[0]);Cpe.addScenario(_Q,newAgentScenarioFromIf(new IfPattern$1)),await dp(`Add scenario ${_Q}`)},updateAgentScenario:async(_Q,Cpe,Tpe)=>{Zf();const{module:opt}=Jf(_Q.split(".")[0]);opt.removeScenario(_Q);const Kpt=e$b(Cpe),Eht=new IfPattern$1(LiteralPattern$1.String(Kpt)).addPattern(LiteralPattern$1.Id(Tpe));opt.addScenario(_Q,newAgentScenarioFromIf(Eht)),await dp(`Update scenario ${_Q}`)},addAgentGlossaryEntry:async(_Q,Cpe,Tpe)=>{Zf();const{module:opt}=Jf(_Q.split(".")[0]),Kpt=e$b(Cpe),Eht=Tpe?e$b(Tpe):"";opt.addGlossaryEntry(_Q,{name:Eht,meaning:Kpt,synonyms:[],internal:!1}),await dp(`Add glossary ${_Q}`)},updateAgentGlossaryEntry:async(_Q,Cpe,Tpe,opt)=>{Zf();const{module:Kpt}=Jf(_Q.split(".")[0]);Kpt.removeGlossaryEntry(_Q);const Eht=e$b(Cpe),Jpt=opt?e$b(opt):"",kpe=Array.isArray(Tpe)?Tpe.map(Mpe=>e$b(Mpe)).join(", "):e$b(Tpe);Kpt.addGlossaryEntry(_Q,{name:Jpt,meaning:Eht,synonyms:kpe,internal:!1}),await dp(`Update glossary ${_Q}`)},setAgentPublic:async(_Q,Cpe)=>{Zf();const{agent:Tpe,moduleName:opt}=Jf(_Q);if(Tpe.setPublic(Cpe),await dp(`Set Public status for Agent ${_Q}`),Mc&&Ef)try{const Kpt=`${opt}/${_Q}`,Eht=repopulateUISchemaForNewAgent(Mc,Kpt);Ef(Eht,`Update UI schema - agent ${_Q} ${Cpe?"made public":"made private"}`)}catch(Kpt){console.error("Failed to repopulate UI schema after agent public status change:",Kpt)}},getAgentPublic:_Q=>{const{agent:Cpe}=Jf(_Q);return Cpe.isPublic()}}};function r$e(ya){var ma,ba,va="";if(typeof ya=="string"||typeof ya=="number")va+=ya;else if(typeof ya=="object")if(Array.isArray(ya)){var Ma=ya.length;for(ma=0;ma<Ma;ma++)ya[ma]&&(ba=r$e(ya[ma]))&&(va&&(va+=" "),va+=ba)}else for(ba in ya)ya[ba]&&(va&&(va+=" "),va+=ba);return va}function clsx(){for(var ya,ma,ba=0,va="",Ma=arguments.length;ba<Ma;ba++)(ya=arguments[ba])&&(ma=r$e(ya))&&(va&&(va+=" "),va+=ma);return va}function Mt$3(ya){if(typeof document>"u")return;let ma=document.head||document.getElementsByTagName("head")[0],ba=document.createElement("style");ba.type="text/css",ma.firstChild?ma.insertBefore(ba,ma.firstChild):ma.appendChild(ba),ba.styleSheet?ba.styleSheet.cssText=ya:ba.appendChild(document.createTextNode(ya))}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)}}
20764
- `);var L$7=ya=>typeof ya=="number"&&!isNaN(ya),N$7=ya=>typeof ya=="string",P$a=ya=>typeof ya=="function",mt$2=ya=>N$7(ya)||L$7(ya),B$6=ya=>N$7(ya)||P$a(ya)?ya:null,pt$2=(ya,ma)=>ya===!1||L$7(ya)&&ya>0?ya:ma,z$6=ya=>reactExports.isValidElement(ya)||N$7(ya)||P$a(ya)||L$7(ya);function Z$5(ya,ma,ba=300){let{scrollHeight:va,style:Ma}=ya;requestAnimationFrame(()=>{Ma.minHeight="initial",Ma.height=va+"px",Ma.transition=`all ${ba}ms`,requestAnimationFrame(()=>{Ma.height="0",Ma.padding="0",Ma.margin="0",setTimeout(ma,ba)})})}function $$6({enter:ya,exit:ma,appendPosition:ba=!1,collapse:va=!0,collapseDuration:Ma=300}){return function({children:El,position:wl,preventExitTransition:Sl,done:Cl,nodeRef:Mc,isIn:Ef,playToast:Zf}){let Jf=ba?`${ya}--${wl}`:ya,dp=ba?`${ma}--${wl}`:ma,hp=reactExports.useRef(0);return reactExports.useLayoutEffect(()=>{let dg=Mc.current,pg=Jf.split(" "),hg=mg=>{mg.target===Mc.current&&(Zf(),dg.removeEventListener("animationend",hg),dg.removeEventListener("animationcancel",hg),hp.current===0&&mg.type!=="animationcancel"&&dg.classList.remove(...pg))};dg.classList.add(...pg),dg.addEventListener("animationend",hg),dg.addEventListener("animationcancel",hg)},[]),reactExports.useEffect(()=>{let dg=Mc.current,pg=()=>{dg.removeEventListener("animationend",pg),va?Z$5(dg,Cl,Ma):Cl()};Ef||(Sl?pg():(hp.current=1,dg.className+=` ${dp}`,dg.addEventListener("animationend",pg)))},[Ef]),React.createElement(React.Fragment,null,El)}}function J$6(ya,ma){return{content:tt$2(ya.content,ya.props),containerId:ya.props.containerId,id:ya.props.toastId,theme:ya.props.theme,type:ya.props.type,data:ya.props.data||{},isLoading:ya.props.isLoading,icon:ya.props.icon,reason:ya.removalReason,status:ma}}function tt$2(ya,ma,ba=!1){return reactExports.isValidElement(ya)&&!N$7(ya.type)?reactExports.cloneElement(ya,{closeToast:ma.closeToast,toastProps:ma,data:ma.data,isPaused:ba}):P$a(ya)?ya({closeToast:ma.closeToast,toastProps:ma,data:ma.data,isPaused:ba}):ya}function yt$2({closeToast:ya,theme:ma,ariaLabel:ba="close"}){return React.createElement("button",{className:`Toastify__close-button Toastify__close-button--${ma}`,type:"button",onClick:va=>{va.stopPropagation(),ya(!0)},"aria-label":ba},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:ya,isRunning:ma,closeToast:ba,type:va="default",hide:Ma,className:El,controlledProgress:wl,progress:Sl,rtl:Cl,isIn:Mc,theme:Ef}){let Zf=Ma||wl&&Sl===0,Jf={animationDuration:`${ya}ms`,animationPlayState:ma?"running":"paused"};wl&&(Jf.transform=`scaleX(${Sl})`);let dp=clsx("Toastify__progress-bar",wl?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${Ef}`,`Toastify__progress-bar--${va}`,{"Toastify__progress-bar--rtl":Cl}),hp=P$a(El)?El({rtl:Cl,type:va,defaultClassName:dp}):clsx(dp,El),dg={[wl&&Sl>=1?"onTransitionEnd":"onAnimationEnd"]:wl&&Sl<1?null:()=>{Mc&&ba()}};return React.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":Zf},React.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${Ef} Toastify__progress-bar--${va}`}),React.createElement("div",{role:"progressbar","aria-hidden":Zf?"true":"false","aria-label":"notification timer",className:hp,style:Jf,...dg}))}var Xt$1=1,at$2=()=>`${Xt$1++}`;function _t$2(ya,ma,ba){let va=1,Ma=0,El=[],wl=[],Sl=ma,Cl=new Map,Mc=new Set,Ef=mg=>(Mc.add(mg),()=>Mc.delete(mg)),Zf=()=>{wl=Array.from(Cl.values()),Mc.forEach(mg=>mg())},Jf=({containerId:mg,toastId:gg,updateId:sy})=>{let ly=mg?mg!==ya:ya!==1,cy=Cl.has(gg)&&sy==null;return ly||cy},dp=(mg,gg)=>{Cl.forEach(sy=>{var ly;(gg==null||gg===sy.props.toastId)&&((ly=sy.toggle)==null||ly.call(sy,mg))})},hp=mg=>{var gg,sy;(sy=(gg=mg.props)==null?void 0:gg.onClose)==null||sy.call(gg,mg.removalReason),mg.isActive=!1},dg=mg=>{if(mg==null)Cl.forEach(hp);else{let gg=Cl.get(mg);gg&&hp(gg)}Zf()},pg=()=>{Ma-=El.length,El=[]},hg=mg=>{var gg,sy;let{toastId:ly,updateId:cy}=mg.props,uy=cy==null;mg.staleId&&Cl.delete(mg.staleId),mg.isActive=!0,Cl.set(ly,mg),Zf(),ba(J$6(mg,uy?"added":"updated")),uy&&((sy=(gg=mg.props).onOpen)==null||sy.call(gg))};return{id:ya,props:Sl,observe:Ef,toggle:dp,removeToast:dg,toasts:Cl,clearQueue:pg,buildToast:(mg,gg)=>{if(Jf(gg))return;let{toastId:sy,updateId:ly,data:cy,staleId:uy,delay:H1}=gg,lE=ly==null;lE&&Ma++;let R_={...Sl,style:Sl.toastStyle,key:va++,...Object.fromEntries(Object.entries(gg).filter(([q1,n0])=>n0!=null)),toastId:sy,updateId:ly,data:cy,isIn:!1,className:B$6(gg.className||Sl.toastClassName),progressClassName:B$6(gg.progressClassName||Sl.progressClassName),autoClose:gg.isLoading?!1:pt$2(gg.autoClose,Sl.autoClose),closeToast(q1){Cl.get(sy).removalReason=q1,dg(sy)},deleteToast(){let q1=Cl.get(sy);if(q1!=null){if(ba(J$6(q1,"removed")),Cl.delete(sy),Ma--,Ma<0&&(Ma=0),El.length>0){hg(El.shift());return}Zf()}}};R_.closeButton=Sl.closeButton,gg.closeButton===!1||z$6(gg.closeButton)?R_.closeButton=gg.closeButton:gg.closeButton===!0&&(R_.closeButton=z$6(Sl.closeButton)?Sl.closeButton:!0);let V1={content:mg,props:R_,staleId:uy};Sl.limit&&Sl.limit>0&&Ma>Sl.limit&&lE?El.push(V1):L$7(H1)?setTimeout(()=>{hg(V1)},H1):hg(V1)},setProps(mg){Sl=mg},setToggle:(mg,gg)=>{let sy=Cl.get(mg);sy&&(sy.toggle=gg)},isToastActive:mg=>{var gg;return(gg=Cl.get(mg))==null?void 0:gg.isActive},getSnapshot:()=>wl}}var I$9=new Map,F$9=[],st$2=new Set,Vt$1=ya=>st$2.forEach(ma=>ma(ya)),bt$1=()=>I$9.size>0;function Qt$1(){F$9.forEach(ya=>nt$2(ya.content,ya.options)),F$9=[]}var vt$2=(ya,{containerId:ma})=>{var ba;return(ba=I$9.get(ma||1))==null?void 0:ba.toasts.get(ya)};function X$5(ya,ma){var ba;if(ma)return!!((ba=I$9.get(ma))!=null&&ba.isToastActive(ya));let va=!1;return I$9.forEach(Ma=>{Ma.isToastActive(ya)&&(va=!0)}),va}function ht$2(ya){if(!bt$1()){F$9=F$9.filter(ma=>ya!=null&&ma.options.toastId!==ya);return}if(ya==null||mt$2(ya))I$9.forEach(ma=>{ma.removeToast(ya)});else if(ya&&("containerId"in ya||"id"in ya)){let ma=I$9.get(ya.containerId);ma?ma.removeToast(ya.id):I$9.forEach(ba=>{ba.removeToast(ya.id)})}}var Ct$2=(ya={})=>{I$9.forEach(ma=>{ma.props.limit&&(!ya.containerId||ma.id===ya.containerId)&&ma.clearQueue()})};function nt$2(ya,ma){z$6(ya)&&(bt$1()||F$9.push({content:ya,options:ma}),I$9.forEach(ba=>{ba.buildToast(ya,ma)}))}function xt$1(ya){var ma;(ma=I$9.get(ya.containerId||1))==null||ma.setToggle(ya.id,ya.fn)}function rt$2(ya,ma){I$9.forEach(ba=>{(ma==null||!(ma!=null&&ma.containerId)||ma?.containerId===ba.id)&&ba.toggle(ya,ma?.id)})}function Et$3(ya){let ma=ya.containerId||1;return{subscribe(ba){let va=_t$2(ma,ya,Vt$1);I$9.set(ma,va);let Ma=va.observe(ba);return Qt$1(),()=>{Ma(),I$9.delete(ma)}},setProps(ba){var va;(va=I$9.get(ma))==null||va.setProps(ba)},getSnapshot(){var ba;return(ba=I$9.get(ma))==null?void 0:ba.getSnapshot()}}}function Pt$3(ya){return st$2.add(ya),()=>{st$2.delete(ya)}}function Wt$1(ya){return ya&&(N$7(ya.toastId)||L$7(ya.toastId))?ya.toastId:at$2()}function U$5(ya,ma){return nt$2(ya,ma),ma.toastId}function V$8(ya,ma){return{...ma,type:ma&&ma.type||ya,toastId:Wt$1(ma)}}function Q$6(ya){return(ma,ba)=>U$5(ma,V$8(ya,ba))}function y$b(ya,ma){return U$5(ya,V$8("default",ma))}y$b.loading=(ya,ma)=>U$5(ya,V$8("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...ma}));function Gt$1(ya,{pending:ma,error:ba,success:va},Ma){let El;ma&&(El=N$7(ma)?y$b.loading(ma,Ma):y$b.loading(ma.render,{...Ma,...ma}));let wl={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},Sl=(Mc,Ef,Zf)=>{if(Ef==null){y$b.dismiss(El);return}let Jf={type:Mc,...wl,...Ma,data:Zf},dp=N$7(Ef)?{render:Ef}:Ef;return El?y$b.update(El,{...Jf,...dp}):y$b(dp.render,{...Jf,...dp}),Zf},Cl=P$a(ya)?ya():ya;return Cl.then(Mc=>Sl("success",va,Mc)).catch(Mc=>Sl("error",ba,Mc)),Cl}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=(ya,ma)=>U$5(ya,V$8("default",{theme:"dark",...ma}));function qt$1(ya){ht$2(ya)}y$b.dismiss=qt$1;y$b.clearWaitingQueue=Ct$2;y$b.isActive=X$5;y$b.update=(ya,ma={})=>{let ba=vt$2(ya,ma);if(ba){let{props:va,content:Ma}=ba,El={delay:100,...va,...ma,toastId:ma.toastId||ya,updateId:at$2()};El.toastId!==ya&&(El.staleId=ya);let wl=El.render||Ma;delete El.render,U$5(wl,El)}};y$b.done=ya=>{y$b.update(ya,{progress:1})};y$b.onChange=Pt$3;y$b.play=ya=>rt$2(!0,ya);y$b.pause=ya=>rt$2(!1,ya);function It$2(ya){var ma;let{subscribe:ba,getSnapshot:va,setProps:Ma}=reactExports.useRef(Et$3(ya)).current;Ma(ya);let El=(ma=reactExports.useSyncExternalStore(ba,va,va))==null?void 0:ma.slice();function wl(Sl){if(!El)return[];let Cl=new Map;return ya.newestOnTop&&El.reverse(),El.forEach(Mc=>{let{position:Ef}=Mc.props;Cl.has(Ef)||Cl.set(Ef,[]),Cl.get(Ef).push(Mc)}),Array.from(Cl,Mc=>Sl(Mc[0],Mc[1]))}return{getToastToRender:wl,isToastActive:X$5,count:El?.length}}function At$2(ya){let[ma,ba]=reactExports.useState(!1),[va,Ma]=reactExports.useState(!1),El=reactExports.useRef(null),wl=reactExports.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:Sl,pauseOnHover:Cl,closeToast:Mc,onClick:Ef,closeOnClick:Zf}=ya;xt$1({id:ya.toastId,containerId:ya.containerId,fn:ba}),reactExports.useEffect(()=>{if(ya.pauseOnFocusLoss)return Jf(),()=>{dp()}},[ya.pauseOnFocusLoss]);function Jf(){document.hasFocus()||hg(),window.addEventListener("focus",pg),window.addEventListener("blur",hg)}function dp(){window.removeEventListener("focus",pg),window.removeEventListener("blur",hg)}function hp(uy){if(ya.draggable===!0||ya.draggable===uy.pointerType){mg();let H1=El.current;wl.canCloseOnClick=!0,wl.canDrag=!0,H1.style.transition="none",ya.draggableDirection==="x"?(wl.start=uy.clientX,wl.removalDistance=H1.offsetWidth*(ya.draggablePercent/100)):(wl.start=uy.clientY,wl.removalDistance=H1.offsetHeight*(ya.draggablePercent===80?ya.draggablePercent*1.5:ya.draggablePercent)/100)}}function dg(uy){let{top:H1,bottom:lE,left:R_,right:V1}=El.current.getBoundingClientRect();uy.nativeEvent.type!=="touchend"&&ya.pauseOnHover&&uy.clientX>=R_&&uy.clientX<=V1&&uy.clientY>=H1&&uy.clientY<=lE?hg():pg()}function pg(){ba(!0)}function hg(){ba(!1)}function mg(){wl.didMove=!1,document.addEventListener("pointermove",sy),document.addEventListener("pointerup",ly)}function gg(){document.removeEventListener("pointermove",sy),document.removeEventListener("pointerup",ly)}function sy(uy){let H1=El.current;if(wl.canDrag&&H1){wl.didMove=!0,ma&&hg(),ya.draggableDirection==="x"?wl.delta=uy.clientX-wl.start:wl.delta=uy.clientY-wl.start,wl.start!==uy.clientX&&(wl.canCloseOnClick=!1);let lE=ya.draggableDirection==="x"?`${wl.delta}px, var(--y)`:`0, calc(${wl.delta}px + var(--y))`;H1.style.transform=`translate3d(${lE},0)`,H1.style.opacity=`${1-Math.abs(wl.delta/wl.removalDistance)}`}}function ly(){gg();let uy=El.current;if(wl.canDrag&&wl.didMove&&uy){if(wl.canDrag=!1,Math.abs(wl.delta)>wl.removalDistance){Ma(!0),ya.closeToast(!0),ya.collapseAll();return}uy.style.transition="transform 0.2s, opacity 0.2s",uy.style.removeProperty("transform"),uy.style.removeProperty("opacity")}}let cy={onPointerDown:hp,onPointerUp:dg};return Sl&&Cl&&(cy.onMouseEnter=hg,ya.stacked||(cy.onMouseLeave=pg)),Zf&&(cy.onClick=uy=>{Ef&&Ef(uy),wl.canCloseOnClick&&Mc(!0)}),{playToast:pg,pauseToast:hg,isRunning:ma,preventExitTransition:va,toastRef:El,eventHandlers:cy}}var Ot$1=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect,G$6=({theme:ya,type:ma,isLoading:ba,...va})=>React.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:ya==="colored"?"currentColor":`var(--toastify-icon-color-${ma})`,...va});function ao$1(ya){return React.createElement(G$6,{...ya},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(ya){return React.createElement(G$6,{...ya},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(ya){return React.createElement(G$6,{...ya},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(ya){return React.createElement(G$6,{...ya},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=ya=>ya in W$5;function Nt$1({theme:ya,type:ma,isLoading:ba,icon:va}){let Ma=null,El={theme:ya,type:ma};return va===!1||(P$a(va)?Ma=va({...El,isLoading:ba}):reactExports.isValidElement(va)?Ma=reactExports.cloneElement(va,El):ba?Ma=W$5.spinner():lo$2(ma)&&(Ma=W$5[ma](El))),Ma}var wt$2=ya=>{let{isRunning:ma,preventExitTransition:ba,toastRef:va,eventHandlers:Ma,playToast:El}=At$2(ya),{closeButton:wl,children:Sl,autoClose:Cl,onClick:Mc,type:Ef,hideProgressBar:Zf,closeToast:Jf,transition:dp,position:hp,className:dg,style:pg,progressClassName:hg,updateId:mg,role:gg,progress:sy,rtl:ly,toastId:cy,deleteToast:uy,isIn:H1,isLoading:lE,closeOnClick:R_,theme:V1,ariaLabel:q1}=ya,n0=clsx("Toastify__toast",`Toastify__toast-theme--${V1}`,`Toastify__toast--${Ef}`,{"Toastify__toast--rtl":ly},{"Toastify__toast--close-on-click":R_}),aE=P$a(dg)?dg({rtl:ly,position:hp,type:Ef,defaultClassName:n0}):clsx(n0,dg),P_=Nt$1(ya),O_=!!sy||!Cl,sN={closeToast:Jf,type:Ef,theme:V1},uN=null;return wl===!1||(P$a(wl)?uN=wl(sN):reactExports.isValidElement(wl)?uN=reactExports.cloneElement(wl,sN):uN=yt$2(sN)),React.createElement(dp,{isIn:H1,done:uy,position:hp,preventExitTransition:ba,nodeRef:va,playToast:El},React.createElement("div",{id:cy,tabIndex:0,onClick:Mc,"data-in":H1,className:aE,...Ma,style:pg,ref:va,...H1&&{role:gg,"aria-label":q1}},P_!=null&&React.createElement("div",{className:clsx("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!lE})},P_),tt$2(Sl,ya,!ma),uN,!ya.customProgressBar&&React.createElement(gt$3,{...mg&&!O_?{key:`p-${mg}`}:{},rtl:ly,theme:V1,delay:Cl,isRunning:ma,isIn:H1,closeToast:Jf,hide:Zf,type:Ef,className:hg,controlledProgress:O_,progress:sy||0})))},K$7=(ya,ma=!1)=>({enter:`Toastify--animate Toastify__${ya}-enter`,exit:`Toastify--animate Toastify__${ya}-exit`,appendPosition:ma}),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:ya=>ya.altKey&&ya.code==="KeyT"};function Lt$1(ya){let ma={..._o$1,...ya},ba=ya.stacked,[va,Ma]=reactExports.useState(!0),El=reactExports.useRef(null),{getToastToRender:wl,isToastActive:Sl,count:Cl}=It$2(ma),{className:Mc,style:Ef,rtl:Zf,containerId:Jf,hotKeys:dp}=ma;function hp(pg){let hg=clsx("Toastify__toast-container",`Toastify__toast-container--${pg}`,{"Toastify__toast-container--rtl":Zf});return P$a(Mc)?Mc({position:pg,rtl:Zf,defaultClassName:hg}):clsx(hg,B$6(Mc))}function dg(){ba&&(Ma(!0),y$b.play())}return Ot$1(()=>{var pg;if(ba){let hg=El.current.querySelectorAll('[data-in="true"]'),mg=12,gg=(pg=ma.position)==null?void 0:pg.includes("top"),sy=0,ly=0;Array.from(hg).reverse().forEach((cy,uy)=>{let H1=cy;H1.classList.add("Toastify__toast--stacked"),uy>0&&(H1.dataset.collapsed=`${va}`),H1.dataset.pos||(H1.dataset.pos=gg?"top":"bot");let lE=sy*(va?.2:1)+(va?0:mg*uy);H1.style.setProperty("--y",`${gg?lE:lE*-1}px`),H1.style.setProperty("--g",`${mg}`),H1.style.setProperty("--s",`${1-(va?ly:0)}`),sy+=H1.offsetHeight,ly+=.025})}},[va,Cl,ba]),reactExports.useEffect(()=>{function pg(hg){var mg;let gg=El.current;dp(hg)&&((mg=gg.querySelector('[tabIndex="0"]'))==null||mg.focus(),Ma(!1),y$b.pause()),hg.key==="Escape"&&(document.activeElement===gg||gg!=null&&gg.contains(document.activeElement))&&(Ma(!0),y$b.play())}return document.addEventListener("keydown",pg),()=>{document.removeEventListener("keydown",pg)}},[dp]),React.createElement("section",{ref:El,className:"Toastify",id:Jf,onMouseEnter:()=>{ba&&(Ma(!1),y$b.pause())},onMouseLeave:dg,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":ma["aria-label"]},wl((pg,hg)=>{let mg=hg.length?{...Ef}:{...Ef,pointerEvents:"none"};return React.createElement("div",{tabIndex:-1,className:hp(pg),"data-stacked":ba,style:mg,key:`c-${pg}`},hg.map(({content:gg,props:sy})=>React.createElement(wt$2,{...sy,stacked:ba,collapseAll:dg,isIn:Sl(sy.toastId,sy.containerId),key:`t-${sy.key}`},gg)))}))}const RECENTLY_VISITED_TEAMS_KEY="recently-visited-teams",MAX_RECENTLY_VISITED=10;function transformSimpleTeamToTeam(ya){return{Branch:ya.branch||"",Config:ya.config||{},CreatedAt:ya.createdAt||"",Dependencies:ya.dependencies||{FractlModels:[],ClojureLibraries:[]},Description:ya.description||"",EntityType:ya.entityType||"",GitHubOrg:ya.gitHubOrg||"",GitHubRepo:ya.gitHubRepo||"",GithubUrl:ya.githubUrl||"",Id:ya.id||"",__Id__:ya.__Id__||ya.id||"",LastUpdatedAt:ya.lastUpdatedAt||"",Name:ya.name||"",Owner:ya.owner||"",Tags:ya.tags||null,Type:ya.type||"",Version:ya.version||"",isEditable:ya.isEditable||!1,isPin:ya.isPin==="true"||ya.isPin===!0}}function getRecentlyVisitedTeams(){try{const ya=localStorage.getItem(RECENTLY_VISITED_TEAMS_KEY);return ya?JSON.parse(ya):[]}catch{return[]}}function addRecentlyVisitedTeam(ya){try{const ba=getRecentlyVisitedTeams().filter(Ma=>Ma!==ya),va=[ya,...ba].slice(0,MAX_RECENTLY_VISITED);localStorage.setItem(RECENTLY_VISITED_TEAMS_KEY,JSON.stringify(va))}catch(ma){console.warn("Failed to save recently visited team:",ma)}}function filterAndSortTeams(ya,ma){return Object.values(ya).filter(va=>va.Name!==void 0).filter(va=>(va.Name??"").toLowerCase().includes(ma.toLowerCase())).sort((va,Ma)=>{const El=Number(Ma.isPin??!1)-Number(va.isPin??!1);if(El!==0)return El;const wl=(va.Name??"").toLowerCase(),Sl=(Ma.Name??"").toLowerCase();return wl.localeCompare(Sl)})}function getIconsTree(ya,ma){const ba=ya.icons,va=ya.aliases||Object.create(null),Ma=Object.create(null);function El(wl){if(ba[wl])return Ma[wl]=[];if(!(wl in Ma)){Ma[wl]=null;const Sl=va[wl]&&va[wl].parent,Cl=Sl&&El(Sl);Cl&&(Ma[wl]=[Sl].concat(Cl))}return Ma[wl]}return Object.keys(ba).concat(Object.keys(va)).forEach(El),Ma}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(ya,ma){const ba={};!ya.hFlip!=!ma.hFlip&&(ba.hFlip=!0),!ya.vFlip!=!ma.vFlip&&(ba.vFlip=!0);const va=((ya.rotate||0)+(ma.rotate||0))%4;return va&&(ba.rotate=va),ba}function mergeIconData(ya,ma){const ba=mergeIconTransformations(ya,ma);for(const va in defaultExtendedIconProps)va in defaultIconTransformations?va in ya&&!(va in ba)&&(ba[va]=defaultIconTransformations[va]):va in ma?ba[va]=ma[va]:va in ya&&(ba[va]=ya[va]);return ba}function internalGetIconData(ya,ma,ba){const va=ya.icons,Ma=ya.aliases||Object.create(null);let El={};function wl(Sl){El=mergeIconData(va[Sl]||Ma[Sl],El)}return wl(ma),ba.forEach(wl),mergeIconData(ya,El)}function parseIconSet(ya,ma){const ba=[];if(typeof ya!="object"||typeof ya.icons!="object")return ba;ya.not_found instanceof Array&&ya.not_found.forEach(Ma=>{ma(Ma,null),ba.push(Ma)});const va=getIconsTree(ya);for(const Ma in va){const El=va[Ma];El&&(ma(Ma,internalGetIconData(ya,Ma,El)),ba.push(Ma))}return ba}const optionalPropertyDefaults={provider:"",aliases:{},not_found:{},...defaultIconDimensions};function checkOptionalProps(ya,ma){for(const ba in ma)if(ba in ya&&typeof ya[ba]!=typeof ma[ba])return!1;return!0}function quicklyValidateIconSet(ya){if(typeof ya!="object"||ya===null)return null;const ma=ya;if(typeof ma.prefix!="string"||!ya.icons||typeof ya.icons!="object"||!checkOptionalProps(ya,optionalPropertyDefaults))return null;const ba=ma.icons;for(const Ma in ba){const El=ba[Ma];if(!Ma||typeof El.body!="string"||!checkOptionalProps(El,defaultExtendedIconProps))return null}const va=ma.aliases||Object.create(null);for(const Ma in va){const El=va[Ma],wl=El.parent;if(!Ma||typeof wl!="string"||!ba[wl]&&!va[wl]||!checkOptionalProps(El,defaultExtendedIconProps))return null}return ma}const dataStorage=Object.create(null);function newStorage(ya,ma){return{provider:ya,prefix:ma,icons:Object.create(null),missing:new Set}}function getStorage(ya,ma){const ba=dataStorage[ya]||(dataStorage[ya]=Object.create(null));return ba[ma]||(ba[ma]=newStorage(ya,ma))}function addIconSet(ya,ma){return quicklyValidateIconSet(ma)?parseIconSet(ma,(ba,va)=>{va?ya.icons[ba]=va:ya.missing.add(ba)}):[]}function addIconToStorage(ya,ma,ba){try{if(typeof ba.body=="string")return ya.icons[ma]={...ba},!0}catch{}return!1}const matchIconName=/^[a-z0-9]+(-[a-z0-9]+)*$/,stringToIcon=(ya,ma,ba,va="")=>{const Ma=ya.split(":");if(ya.slice(0,1)==="@"){if(Ma.length<2||Ma.length>3)return null;va=Ma.shift().slice(1)}if(Ma.length>3||!Ma.length)return null;if(Ma.length>1){const Sl=Ma.pop(),Cl=Ma.pop(),Mc={provider:Ma.length>0?Ma[0]:va,prefix:Cl,name:Sl};return ma&&!validateIconName(Mc)?null:Mc}const El=Ma[0],wl=El.split("-");if(wl.length>1){const Sl={provider:va,prefix:wl.shift(),name:wl.join("-")};return ma&&!validateIconName(Sl)?null:Sl}if(ba&&va===""){const Sl={provider:va,prefix:"",name:El};return ma&&!validateIconName(Sl,ba)?null:Sl}return null},validateIconName=(ya,ma)=>ya?!!((ma&&ya.prefix===""||ya.prefix)&&ya.name):!1;let simpleNames=!1;function allowSimpleNames(ya){return typeof ya=="boolean"&&(simpleNames=ya),simpleNames}function getIconData(ya){const ma=typeof ya=="string"?stringToIcon(ya,!0,simpleNames):ya;if(ma){const ba=getStorage(ma.provider,ma.prefix),va=ma.name;return ba.icons[va]||(ba.missing.has(va)?null:void 0)}}function addIcon(ya,ma){const ba=stringToIcon(ya,!0,simpleNames);if(!ba)return!1;const va=getStorage(ba.provider,ba.prefix);return ma?addIconToStorage(va,ba.name,ma):(va.missing.add(ba.name),!0)}function addCollection(ya,ma){if(typeof ya!="object")return!1;if(typeof ma!="string"&&(ma=ya.provider||""),simpleNames&&!ma&&!ya.prefix){let Ma=!1;return quicklyValidateIconSet(ya)&&(ya.prefix="",parseIconSet(ya,(El,wl)=>{addIcon(El,wl)&&(Ma=!0)})),Ma}const ba=ya.prefix;if(!validateIconName({prefix:ba,name:"a"}))return!1;const va=getStorage(ma,ba);return!!addIconSet(va,ya)}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(ya,ma,ba){if(ma===1)return ya;if(ba=ba||100,typeof ya=="number")return Math.ceil(ya*ma*ba)/ba;if(typeof ya!="string")return ya;const va=ya.split(unitsSplit);if(va===null||!va.length)return ya;const Ma=[];let El=va.shift(),wl=unitsTest.test(El);for(;;){if(wl){const Sl=parseFloat(El);isNaN(Sl)?Ma.push(El):Ma.push(Math.ceil(Sl*ma*ba)/ba)}else Ma.push(El);if(El=va.shift(),El===void 0)return Ma.join("");wl=!wl}}function splitSVGDefs(ya,ma="defs"){let ba="";const va=ya.indexOf("<"+ma);for(;va>=0;){const Ma=ya.indexOf(">",va),El=ya.indexOf("</"+ma);if(Ma===-1||El===-1)break;const wl=ya.indexOf(">",El);if(wl===-1)break;ba+=ya.slice(Ma+1,El).trim(),ya=ya.slice(0,va).trim()+ya.slice(wl+1)}return{defs:ba,content:ya}}function mergeDefsAndContent(ya,ma){return ya?"<defs>"+ya+"</defs>"+ma:ma}function wrapSVGContent(ya,ma,ba){const va=splitSVGDefs(ya);return mergeDefsAndContent(va.defs,ma+va.content+ba)}const isUnsetKeyword=ya=>ya==="unset"||ya==="undefined"||ya==="none";function iconToSVG(ya,ma){const ba={...defaultIconProps,...ya},va={...defaultIconCustomisations,...ma},Ma={left:ba.left,top:ba.top,width:ba.width,height:ba.height};let El=ba.body;[ba,va].forEach(dg=>{const pg=[],hg=dg.hFlip,mg=dg.vFlip;let gg=dg.rotate;hg?mg?gg+=2:(pg.push("translate("+(Ma.width+Ma.left).toString()+" "+(0-Ma.top).toString()+")"),pg.push("scale(-1 1)"),Ma.top=Ma.left=0):mg&&(pg.push("translate("+(0-Ma.left).toString()+" "+(Ma.height+Ma.top).toString()+")"),pg.push("scale(1 -1)"),Ma.top=Ma.left=0);let sy;switch(gg<0&&(gg-=Math.floor(gg/4)*4),gg=gg%4,gg){case 1:sy=Ma.height/2+Ma.top,pg.unshift("rotate(90 "+sy.toString()+" "+sy.toString()+")");break;case 2:pg.unshift("rotate(180 "+(Ma.width/2+Ma.left).toString()+" "+(Ma.height/2+Ma.top).toString()+")");break;case 3:sy=Ma.width/2+Ma.left,pg.unshift("rotate(-90 "+sy.toString()+" "+sy.toString()+")");break}gg%2===1&&(Ma.left!==Ma.top&&(sy=Ma.left,Ma.left=Ma.top,Ma.top=sy),Ma.width!==Ma.height&&(sy=Ma.width,Ma.width=Ma.height,Ma.height=sy)),pg.length&&(El=wrapSVGContent(El,'<g transform="'+pg.join(" ")+'">',"</g>"))});const wl=va.width,Sl=va.height,Cl=Ma.width,Mc=Ma.height;let Ef,Zf;wl===null?(Zf=Sl===null?"1em":Sl==="auto"?Mc:Sl,Ef=calculateSize(Zf,Cl/Mc)):(Ef=wl==="auto"?Cl:wl,Zf=Sl===null?calculateSize(Ef,Mc/Cl):Sl==="auto"?Mc:Sl);const Jf={},dp=(dg,pg)=>{isUnsetKeyword(pg)||(Jf[dg]=pg.toString())};dp("width",Ef),dp("height",Zf);const hp=[Ma.left,Ma.top,Cl,Mc];return Jf.viewBox=hp.join(" "),{attributes:Jf,viewBox:hp,body:El}}const regex=/\sid="(\S+)"/g,randomPrefix="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let counter=0;function replaceIDs(ya,ma=randomPrefix){const ba=[];let va;for(;va=regex.exec(ya);)ba.push(va[1]);if(!ba.length)return ya;const Ma="suffix"+(Math.random()*16777216|Date.now()).toString(16);return ba.forEach(El=>{const wl=typeof ma=="function"?ma(El):ma+(counter++).toString(),Sl=El.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");ya=ya.replace(new RegExp('([#;"])('+Sl+')([")]|\\.[a-z])',"g"),"$1"+wl+Ma+"$3")}),ya=ya.replace(new RegExp(Ma,"g"),""),ya}const storage=Object.create(null);function setAPIModule(ya,ma){storage[ya]=ma}function getAPIModule(ya){return storage[ya]||storage[""]}function createAPIConfig(ya){let ma;if(typeof ya.resources=="string")ma=[ya.resources];else if(ma=ya.resources,!(ma instanceof Array)||!ma.length)return null;return{resources:ma,path:ya.path||"/",maxURL:ya.maxURL||500,rotate:ya.rotate||750,timeout:ya.timeout||5e3,random:ya.random===!0,index:ya.index||0,dataAfterTimeout:ya.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(ya,ma){const ba=createAPIConfig(ma);return ba===null?!1:(configStorage[ya]=ba,!0)}function getAPIConfig(ya){return configStorage[ya]}const detectFetch=()=>{let ya;try{if(ya=fetch,typeof ya=="function")return ya}catch{}};let fetchModule=detectFetch();function calculateMaxLength(ya,ma){const ba=getAPIConfig(ya);if(!ba)return 0;let va;if(!ba.maxURL)va=0;else{let Ma=0;ba.resources.forEach(wl=>{Ma=Math.max(Ma,wl.length)});const El=ma+".json?icons=";va=ba.maxURL-Ma-ba.path.length-El.length}return va}function shouldAbort(ya){return ya===404}const prepare=(ya,ma,ba)=>{const va=[],Ma=calculateMaxLength(ya,ma),El="icons";let wl={type:El,provider:ya,prefix:ma,icons:[]},Sl=0;return ba.forEach((Cl,Mc)=>{Sl+=Cl.length+1,Sl>=Ma&&Mc>0&&(va.push(wl),wl={type:El,provider:ya,prefix:ma,icons:[]},Sl=Cl.length),wl.icons.push(Cl)}),va.push(wl),va};function getPath$2(ya){if(typeof ya=="string"){const ma=getAPIConfig(ya);if(ma)return ma.path}return"/"}const send=(ya,ma,ba)=>{if(!fetchModule){ba("abort",424);return}let va=getPath$2(ma.provider);switch(ma.type){case"icons":{const El=ma.prefix,Sl=ma.icons.join(","),Cl=new URLSearchParams({icons:Sl});va+=El+".json?"+Cl.toString();break}case"custom":{const El=ma.uri;va+=El.slice(0,1)==="/"?El.slice(1):El;break}default:ba("abort",400);return}let Ma=503;fetchModule(ya+va).then(El=>{const wl=El.status;if(wl!==200){setTimeout(()=>{ba(shouldAbort(wl)?"abort":"next",wl)});return}return Ma=501,El.json()}).then(El=>{if(typeof El!="object"||El===null){setTimeout(()=>{El===404?ba("abort",El):ba("next",Ma)});return}setTimeout(()=>{ba("success",El)})}).catch(()=>{ba("next",Ma)})},fetchAPIModule={prepare,send};function removeCallback(ya,ma){ya.forEach(ba=>{const va=ba.loaderCallbacks;va&&(ba.loaderCallbacks=va.filter(Ma=>Ma.id!==ma))})}function updateCallbacks(ya){ya.pendingCallbacksFlag||(ya.pendingCallbacksFlag=!0,setTimeout(()=>{ya.pendingCallbacksFlag=!1;const ma=ya.loaderCallbacks?ya.loaderCallbacks.slice(0):[];if(!ma.length)return;let ba=!1;const va=ya.provider,Ma=ya.prefix;ma.forEach(El=>{const wl=El.icons,Sl=wl.pending.length;wl.pending=wl.pending.filter(Cl=>{if(Cl.prefix!==Ma)return!0;const Mc=Cl.name;if(ya.icons[Mc])wl.loaded.push({provider:va,prefix:Ma,name:Mc});else if(ya.missing.has(Mc))wl.missing.push({provider:va,prefix:Ma,name:Mc});else return ba=!0,!0;return!1}),wl.pending.length!==Sl&&(ba||removeCallback([ya],El.id),El.callback(wl.loaded.slice(0),wl.missing.slice(0),wl.pending.slice(0),El.abort))})}))}let idCounter$1=0;function storeCallback(ya,ma,ba){const va=idCounter$1++,Ma=removeCallback.bind(null,ba,va);if(!ma.pending.length)return Ma;const El={id:va,icons:ma,callback:ya,abort:Ma};return ba.forEach(wl=>{(wl.loaderCallbacks||(wl.loaderCallbacks=[])).push(El)}),Ma}function sortIcons(ya){const ma={loaded:[],missing:[],pending:[]},ba=Object.create(null);ya.sort((Ma,El)=>Ma.provider!==El.provider?Ma.provider.localeCompare(El.provider):Ma.prefix!==El.prefix?Ma.prefix.localeCompare(El.prefix):Ma.name.localeCompare(El.name));let va={provider:"",prefix:"",name:""};return ya.forEach(Ma=>{if(va.name===Ma.name&&va.prefix===Ma.prefix&&va.provider===Ma.provider)return;va=Ma;const El=Ma.provider,wl=Ma.prefix,Sl=Ma.name,Cl=ba[El]||(ba[El]=Object.create(null)),Mc=Cl[wl]||(Cl[wl]=getStorage(El,wl));let Ef;Sl in Mc.icons?Ef=ma.loaded:wl===""||Mc.missing.has(Sl)?Ef=ma.missing:Ef=ma.pending;const Zf={provider:El,prefix:wl,name:Sl};Ef.push(Zf)}),ma}function listToIcons(ya,ma=!0,ba=!1){const va=[];return ya.forEach(Ma=>{const El=typeof Ma=="string"?stringToIcon(Ma,ma,ba):Ma;El&&va.push(El)}),va}const defaultConfig={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sendQuery(ya,ma,ba,va){const Ma=ya.resources.length,El=ya.random?Math.floor(Math.random()*Ma):ya.index;let wl;if(ya.random){let cy=ya.resources.slice(0);for(wl=[];cy.length>1;){const uy=Math.floor(Math.random()*cy.length);wl.push(cy[uy]),cy=cy.slice(0,uy).concat(cy.slice(uy+1))}wl=wl.concat(cy)}else wl=ya.resources.slice(El).concat(ya.resources.slice(0,El));const Sl=Date.now();let Cl="pending",Mc=0,Ef,Zf=null,Jf=[],dp=[];typeof va=="function"&&dp.push(va);function hp(){Zf&&(clearTimeout(Zf),Zf=null)}function dg(){Cl==="pending"&&(Cl="aborted"),hp(),Jf.forEach(cy=>{cy.status==="pending"&&(cy.status="aborted")}),Jf=[]}function pg(cy,uy){uy&&(dp=[]),typeof cy=="function"&&dp.push(cy)}function hg(){return{startTime:Sl,payload:ma,status:Cl,queriesSent:Mc,queriesPending:Jf.length,subscribe:pg,abort:dg}}function mg(){Cl="failed",dp.forEach(cy=>{cy(void 0,Ef)})}function gg(){Jf.forEach(cy=>{cy.status==="pending"&&(cy.status="aborted")}),Jf=[]}function sy(cy,uy,H1){const lE=uy!=="success";switch(Jf=Jf.filter(R_=>R_!==cy),Cl){case"pending":break;case"failed":if(lE||!ya.dataAfterTimeout)return;break;default:return}if(uy==="abort"){Ef=H1,mg();return}if(lE){Ef=H1,Jf.length||(wl.length?ly():mg());return}if(hp(),gg(),!ya.random){const R_=ya.resources.indexOf(cy.resource);R_!==-1&&R_!==ya.index&&(ya.index=R_)}Cl="completed",dp.forEach(R_=>{R_(H1)})}function ly(){if(Cl!=="pending")return;hp();const cy=wl.shift();if(cy===void 0){if(Jf.length){Zf=setTimeout(()=>{hp(),Cl==="pending"&&(gg(),mg())},ya.timeout);return}mg();return}const uy={status:"pending",resource:cy,callback:(H1,lE)=>{sy(uy,H1,lE)}};Jf.push(uy),Mc++,Zf=setTimeout(ly,ya.rotate),ba(cy,ma,uy.callback)}return setTimeout(ly),hg}function initRedundancy(ya){const ma={...defaultConfig,...ya};let ba=[];function va(){ba=ba.filter(Sl=>Sl().status==="pending")}function Ma(Sl,Cl,Mc){const Ef=sendQuery(ma,Sl,Cl,(Zf,Jf)=>{va(),Mc&&Mc(Zf,Jf)});return ba.push(Ef),Ef}function El(Sl){return ba.find(Cl=>Sl(Cl))||null}return{query:Ma,find:El,setIndex:Sl=>{ma.index=Sl},getIndex:()=>ma.index,cleanup:va}}function emptyCallback$1(){}const redundancyCache=Object.create(null);function getRedundancyCache(ya){if(!redundancyCache[ya]){const ma=getAPIConfig(ya);if(!ma)return;const ba=initRedundancy(ma),va={config:ma,redundancy:ba};redundancyCache[ya]=va}return redundancyCache[ya]}function sendAPIQuery(ya,ma,ba){let va,Ma;if(typeof ya=="string"){const El=getAPIModule(ya);if(!El)return ba(void 0,424),emptyCallback$1;Ma=El.send;const wl=getRedundancyCache(ya);wl&&(va=wl.redundancy)}else{const El=createAPIConfig(ya);if(El){va=initRedundancy(El);const wl=ya.resources?ya.resources[0]:"",Sl=getAPIModule(wl);Sl&&(Ma=Sl.send)}}return!va||!Ma?(ba(void 0,424),emptyCallback$1):va.query(ma,Ma,ba)().abort}function emptyCallback(){}function loadedNewIcons(ya){ya.iconsLoaderFlag||(ya.iconsLoaderFlag=!0,setTimeout(()=>{ya.iconsLoaderFlag=!1,updateCallbacks(ya)}))}function checkIconNamesForAPI(ya){const ma=[],ba=[];return ya.forEach(va=>{(va.match(matchIconName)?ma:ba).push(va)}),{valid:ma,invalid:ba}}function parseLoaderResponse(ya,ma,ba){function va(){const Ma=ya.pendingIcons;ma.forEach(El=>{Ma&&Ma.delete(El),ya.icons[El]||ya.missing.add(El)})}if(ba&&typeof ba=="object")try{if(!addIconSet(ya,ba).length){va();return}}catch(Ma){console.error(Ma)}va(),loadedNewIcons(ya)}function parsePossiblyAsyncResponse(ya,ma){ya instanceof Promise?ya.then(ba=>{ma(ba)}).catch(()=>{ma(null)}):ma(ya)}function loadNewIcons(ya,ma){ya.iconsToLoad?ya.iconsToLoad=ya.iconsToLoad.concat(ma).sort():ya.iconsToLoad=ma,ya.iconsQueueFlag||(ya.iconsQueueFlag=!0,setTimeout(()=>{ya.iconsQueueFlag=!1;const{provider:ba,prefix:va}=ya,Ma=ya.iconsToLoad;if(delete ya.iconsToLoad,!Ma||!Ma.length)return;const El=ya.loadIcon;if(ya.loadIcons&&(Ma.length>1||!El)){parsePossiblyAsyncResponse(ya.loadIcons(Ma,va,ba),Ef=>{parseLoaderResponse(ya,Ma,Ef)});return}if(El){Ma.forEach(Ef=>{const Zf=El(Ef,va,ba);parsePossiblyAsyncResponse(Zf,Jf=>{const dp=Jf?{prefix:va,icons:{[Ef]:Jf}}:null;parseLoaderResponse(ya,[Ef],dp)})});return}const{valid:wl,invalid:Sl}=checkIconNamesForAPI(Ma);if(Sl.length&&parseLoaderResponse(ya,Sl,null),!wl.length)return;const Cl=va.match(matchIconName)?getAPIModule(ba):null;if(!Cl){parseLoaderResponse(ya,wl,null);return}Cl.prepare(ba,va,wl).forEach(Ef=>{sendAPIQuery(ba,Ef,Zf=>{parseLoaderResponse(ya,Ef.icons,Zf)})})}))}const loadIcons=(ya,ma)=>{const ba=listToIcons(ya,!0,allowSimpleNames()),va=sortIcons(ba);if(!va.pending.length){let Cl=!0;return ma&&setTimeout(()=>{Cl&&ma(va.loaded,va.missing,va.pending,emptyCallback)}),()=>{Cl=!1}}const Ma=Object.create(null),El=[];let wl,Sl;return va.pending.forEach(Cl=>{const{provider:Mc,prefix:Ef}=Cl;if(Ef===Sl&&Mc===wl)return;wl=Mc,Sl=Ef,El.push(getStorage(Mc,Ef));const Zf=Ma[Mc]||(Ma[Mc]=Object.create(null));Zf[Ef]||(Zf[Ef]=[])}),va.pending.forEach(Cl=>{const{provider:Mc,prefix:Ef,name:Zf}=Cl,Jf=getStorage(Mc,Ef),dp=Jf.pendingIcons||(Jf.pendingIcons=new Set);dp.has(Zf)||(dp.add(Zf),Ma[Mc][Ef].push(Zf))}),El.forEach(Cl=>{const Mc=Ma[Cl.provider][Cl.prefix];Mc.length&&loadNewIcons(Cl,Mc)}),ma?storeCallback(ma,va,El):emptyCallback};function mergeCustomisations(ya,ma){const ba={...ya};for(const va in ma){const Ma=ma[va],El=typeof Ma;va in defaultIconSizeCustomisations?(Ma===null||Ma&&(El==="string"||El==="number"))&&(ba[va]=Ma):El===typeof ba[va]&&(ba[va]=va==="rotate"?Ma%4:Ma)}return ba}const separator$1=/[\s,]+/;function flipFromString(ya,ma){ma.split(separator$1).forEach(ba=>{switch(ba.trim()){case"horizontal":ya.hFlip=!0;break;case"vertical":ya.vFlip=!0;break}})}function rotateFromString(ya,ma=0){const ba=ya.replace(/^-?[0-9.]*/,"");function va(Ma){for(;Ma<0;)Ma+=4;return Ma%4}if(ba===""){const Ma=parseInt(ya);return isNaN(Ma)?0:va(Ma)}else if(ba!==ya){let Ma=0;switch(ba){case"%":Ma=25;break;case"deg":Ma=90}if(Ma){let El=parseFloat(ya.slice(0,ya.length-ba.length));return isNaN(El)?0:(El=El/Ma,El%1===0?va(El):0)}}return ma}function iconToHTML(ya,ma){let ba=ya.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const va in ma)ba+=" "+va+'="'+ma[va]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+ba+">"+ya+"</svg>"}function encodeSVGforURL(ya){return ya.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function svgToData(ya){return"data:image/svg+xml,"+encodeSVGforURL(ya)}function svgToURL(ya){return'url("'+svgToData(ya)+'")'}let policy;function createPolicy(){try{policy=window.trustedTypes.createPolicy("iconify",{createHTML:ya=>ya})}catch{policy=null}}function cleanUpInnerHTML(ya){return policy===void 0&&createPolicy(),policy?policy.createHTML(ya):ya}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 ya in propsToAddTo){const ma=propsToAddTo[ya];for(const ba in propsToAdd)ma[ya+ba]=propsToAdd[ba]}const inlineDefaults={...defaultExtendedIconCustomisations,inline:!0};function fixSize(ya){return ya+(ya.match(/^[-0-9.]+$/)?"px":"")}const render=(ya,ma,ba)=>{const va=ma.inline?inlineDefaults:defaultExtendedIconCustomisations,Ma=mergeCustomisations(va,ma),El=ma.mode||"svg",wl={},Sl=ma.style||{},Cl={...El==="svg"?svgDefaults:{}};if(ba){const pg=stringToIcon(ba,!1,!0);if(pg){const hg=["iconify"],mg=["provider","prefix"];for(const gg of mg)pg[gg]&&hg.push("iconify--"+pg[gg]);Cl.className=hg.join(" ")}}for(let pg in ma){const hg=ma[pg];if(hg!==void 0)switch(pg){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":Cl.ref=hg;break;case"className":Cl[pg]=(Cl[pg]?Cl[pg]+" ":"")+hg;break;case"inline":case"hFlip":case"vFlip":Ma[pg]=hg===!0||hg==="true"||hg===1;break;case"flip":typeof hg=="string"&&flipFromString(Ma,hg);break;case"color":wl.color=hg;break;case"rotate":typeof hg=="string"?Ma[pg]=rotateFromString(hg):typeof hg=="number"&&(Ma[pg]=hg);break;case"ariaHidden":case"aria-hidden":hg!==!0&&hg!=="true"&&delete Cl["aria-hidden"];break;default:va[pg]===void 0&&(Cl[pg]=hg)}}const Mc=iconToSVG(ya,Ma),Ef=Mc.attributes;if(Ma.inline&&(wl.verticalAlign="-0.125em"),El==="svg"){Cl.style={...wl,...Sl},Object.assign(Cl,Ef);let pg=0,hg=ma.id;return typeof hg=="string"&&(hg=hg.replace(/-/g,"_")),Cl.dangerouslySetInnerHTML={__html:cleanUpInnerHTML(replaceIDs(Mc.body,hg?()=>hg+"ID"+pg++:"iconifyReact"))},reactExports.createElement("svg",Cl)}const{body:Zf,width:Jf,height:dp}=ya,hp=El==="mask"||(El==="bg"?!1:Zf.indexOf("currentColor")!==-1),dg=iconToHTML(Zf,{...Ef,width:Jf+"",height:dp+""});return Cl.style={...wl,"--svg":svgToURL(dg),width:fixSize(Ef.width),height:fixSize(Ef.height),...commonProps,...hp?monotoneProps:coloredProps,...Sl},reactExports.createElement("span",Cl)};allowSimpleNames(!0);setAPIModule("",fetchAPIModule);if(typeof document<"u"&&typeof window<"u"){const ya=window;if(ya.IconifyPreload!==void 0){const ma=ya.IconifyPreload,ba="Invalid IconifyPreload syntax.";typeof ma=="object"&&ma!==null&&(ma instanceof Array?ma:[ma]).forEach(va=>{try{(typeof va!="object"||va===null||va instanceof Array||typeof va.icons!="object"||typeof va.prefix!="string"||!addCollection(va))&&console.error(ba)}catch{console.error(ba)}})}if(ya.IconifyProviders!==void 0){const ma=ya.IconifyProviders;if(typeof ma=="object"&&ma!==null)for(let ba in ma){const va="IconifyProviders["+ba+"] is invalid.";try{const Ma=ma[ba];if(typeof Ma!="object"||!Ma||Ma.resources===void 0)continue;addAPIProvider(ba,Ma)||console.error(va)}catch{console.error(va)}}}}function IconComponent(ya){const[ma,ba]=reactExports.useState(!!ya.ssr),[va,Ma]=reactExports.useState({});function El(dp){if(dp){const hp=ya.icon;if(typeof hp=="object")return{name:"",data:hp};const dg=getIconData(hp);if(dg)return{name:hp,data:dg}}return{name:""}}const[wl,Sl]=reactExports.useState(El(!!ya.ssr));function Cl(){const dp=va.callback;dp&&(dp(),Ma({}))}function Mc(dp){if(JSON.stringify(wl)!==JSON.stringify(dp))return Cl(),Sl(dp),!0}function Ef(){var dp;const hp=ya.icon;if(typeof hp=="object"){Mc({name:"",data:hp});return}const dg=getIconData(hp);if(Mc({name:hp,data:dg}))if(dg===void 0){const pg=loadIcons([hp],Ef);Ma({callback:pg})}else dg&&((dp=ya.onLoad)===null||dp===void 0||dp.call(ya,hp))}reactExports.useEffect(()=>(ba(!0),Cl),[]),reactExports.useEffect(()=>{ma&&Ef()},[ya.icon,ma]);const{name:Zf,data:Jf}=wl;return Jf?render({...defaultIconProps,...Jf},ya,Zf):ya.children?ya.children:ya.fallback?ya.fallback:reactExports.createElement("span",{})}const Icon=reactExports.forwardRef((ya,ma)=>IconComponent({...ya,_ref:ma}));reactExports.forwardRef((ya,ma)=>IconComponent({inline:!0,...ya,_ref:ma}));const getDate=ya=>{const ma=new Date(ya),ba=ma.getMonth()+1,va=ma.getDate(),Ma=ma.getFullYear(),El=ma.toLocaleString("en-US",{hour:"numeric",minute:"numeric",hour12:!0});return`${ba}/${va}/${Ma} ${El}`},registerBase64Icon=(ya,ma)=>{try{const ba=ma.replace(/^data:image\/svg\+xml;base64,/,""),va=atob(ba),Ma=va.match(/width="([^"]+)"/),El=va.match(/height="([^"]+)"/),wl=Ma?Ma[1]:"1536",Sl=El?El[1]:"1280",Cl=va.replace(/^.*?<svg[^>]*>(.*)<\/svg>.*$/,"$1");addIcon(ya,{body:Cl,width:parseInt(wl,10),height:parseInt(Sl,10)})}catch(ba){console.error(`Failed to register icon: ${ya}`,ba)}};function extractRepoNameFromUrl(ya){const ma=ya.split("/");return ma[ma.length-1]}function scrollIntoView(ya,ma=!0){const ba=document.getElementById(ya);ba&&ba.scrollIntoView({behavior:ma?"smooth":"auto",block:"start",inline:"center"})}function roundTo3Decimals(ya){return ya.toFixed(3)}function convertBytes(ya){return ya<1024?`${ya} bytes`:ya<1024*1024?`${roundTo3Decimals(ya/1024)} KB`:ya<1024*1024*1024?`${roundTo3Decimals(ya/(1024*1024))} MB`:`${roundTo3Decimals(ya/(1024*1024*1024))} GB`}function generateGitHubUrl(ya,ma,ba,va){if(!ya||!ma)throw new Error("GitHub organization and repository name are required");if(ba&&va){const Ma=ba.trim(),El=va.trim();return!Ma||!El?(console.warn("GitHub credentials contain only whitespace - falling back to public URL"),`https://github.com/${ya}/${ma}.git`):`https://${Ma}:${El}@github.com/${ya}/${ma}.git`}return console.warn(`No GitHub credentials provided for ${ya}/${ma} - using public URL (may fail for private repositories)`),`https://github.com/${ya}/${ma}.git`}const useWorkspace=()=>{const ya=axiosInstance("meta"),ma=useAppStore(Ef=>Ef.user),ba=useAppStore(Ef=>Ef.authData.userProfileId),va=useAppStore(Ef=>Ef.authData.username),Ma=useAppStore(Ef=>Ef.setUser),El=useAppStore(Ef=>Ef.setWorkspace),wl=async()=>{let Ef=ma?.user_profile_id;if(Ef||(Ef=ba||void 0),!Ef){const Zf=localStorage.getItem("user_profile_id");Zf&&(Ef=Zf)}if(!Ef){y$b.error("User Profile ID not found. Please re-login.");return}return Ef},Sl=async()=>{try{if(!await wl())throw new Error("User Profile ID not found. Please re-login.");const Jf=await ya.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 dp;if(Jf.data.id||Jf.data.Id)dp=Jf.data;else if(Array.isArray(Jf.data)&&Jf.data.length>0){const hp=Jf.data[0];hp?.Workspace?dp=hp.Workspace:hp?.result&&Array.isArray(hp.result)&&hp.result.length>0?dp=hp.result[0]:hp&&(hp.id||hp.Id)&&(dp=hp)}return dp||(console.log("No workspace found in response"),null)}catch(Ef){return console.error("fetchWorkspace error:",Ef),null}};return{fetchWorkspace:Sl,createWorkspace:async(Ef,Zf)=>{try{if(!await wl())throw new Error("User Profile ID not found. Please re-login.");const hp=await ya.post("/AgentMeta/Workspace",{name:Ef,createdBy:Zf});let dg;if(hp.data.UserWorkspace?.Workspace)dg=hp.data.UserWorkspace.Workspace;else if(hp.data.id)dg=hp.data;else if(Array.isArray(hp.data)&&hp.data.length>0){const pg=hp.data[0];pg?.result&&Array.isArray(pg.result)&&pg.result.length>0?dg=pg.result[0]:pg?.Workspace?dg=pg.Workspace:dg=pg}else if(hp.data.Workspace)dg=hp.data.Workspace;else{const pg=Object.keys(hp.data);pg.length>0&&(dg=hp.data[pg[0]])}return dg||(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 Ef=>{if(!(va||ma?.Email))throw new Error("No username found in store");let Jf=await Sl();if(Jf){const dp=Jf.id||Jf.Id;if(dp&&!localStorage.getItem("workspace_id")){localStorage.setItem("workspace_id",dp);try{ma?Ma({...ma,CurrentWorkspace:{Id:dp}}):El(dp)}catch{}}}else{console.error(`Workspace '${Ef}' not found - workspace creation disabled`);try{if(await wl()){const dg=await ya.get("/AgentMeta/Workspace");if(dg.data&&Array.isArray(dg.data)&&dg.data.length>0){const pg=dg.data[dg.data.length-1];if(Jf=pg.Workspace||pg,Jf){const hg=Jf.id||Jf.Id;if(hg){localStorage.setItem("workspace_id",hg);try{ma?Ma({...ma,CurrentWorkspace:{Id:hg}}):El(hg)}catch{}console.log("Using existing workspace instead:",hg)}}}}}catch(dp){console.error("Failed to fetch all workspaces:",dp)}if(!Jf)throw new Error(`Workspace '${Ef}' not found and creation is disabled`)}return Jf}}},deletePlaygroundTeam=ya=>[],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 ma=localStorage.getItem(STORAGE_KEY);if(ma){const va=JSON.parse(ma);va.forEach(Ma=>{this.apps.set(Ma.Id,Ma)}),console.log(`[PLAYGROUND] Loaded ${va.length} workspace apps from localStorage`)}const ba=localStorage.getItem(ID_COUNTER_KEY);ba&&(this.idCounter=parseInt(ba,10))}catch(ma){console.error("[PLAYGROUND] Error loading workspace apps from localStorage:",ma)}}saveToLocalStorage(){try{const ma=Array.from(this.apps.values());localStorage.setItem(STORAGE_KEY,JSON.stringify(ma)),localStorage.setItem(ID_COUNTER_KEY,this.idCounter.toString()),console.log(`[PLAYGROUND] Saved ${ma.length} workspace apps to localStorage`)}catch(ma){console.error("[PLAYGROUND] Error saving workspace apps to localStorage:",ma)}}getApps(){return Array.from(this.apps.values())}addApp(ma){const ba=ma.Id||`playground-app-${++this.idCounter}`,va={...ma,Id:ba};return this.apps.set(ba,va),this.saveToLocalStorage(),va}updateApp(ma,ba){const va=this.apps.get(ma);if(!va)return null;const Ma={...va,...ba};return this.apps.set(ma,Ma),this.saveToLocalStorage(),Ma}deleteApp(ma){const ba=this.apps.delete(ma);return ba&&this.saveToLocalStorage(),ba}getApp(ma){return this.apps.get(ma)||null}clearApps(){this.apps.clear(),this.idCounter=0,this.saveToLocalStorage()}hasApp(ma){return this.apps.has(ma)}}const playgroundWorkspaceStorage=new PlaygroundWorkspaceStorage,IS_PLAYGROUND$8=!1,IS_LOCAL_MODE$9=!0,metaAxiosInstance$2=axiosInstance("meta");async function fetchPackageInfo$1(){const ma=await fetch("http://localhost:4000/info");return ma.ok?await ma.json():{}}async function fetchBranch(){const ya="http://localhost:4000";try{const ma=await fetch(`${ya}/branch`);return ma.ok&&(await ma.json()).branch||"main"}catch(ma){return console.warn("Failed to fetch branch:",ma),"main"}}const useTeams=()=>{const{teamName:ya,modelName:ma}=useParams(),{pathname:ba}=useLocation(),va=useQueryClient(),Ma=ba.includes("/design/marketplace/"),El=useAppStore(q1=>q1.authData.username),wl=useAppStore(q1=>q1.authData.userProfileId),Sl=useAppStore(q1=>q1.user.CurrentWorkspace?.Id),Cl=useAppStore(q1=>q1.user.GitHub.Token)||"",Mc=useAppStore(q1=>q1.user.GitHub.Username)||"",{fetchOrCreateWorkspace:Ef}=useWorkspace();useAppStore(q1=>q1.authReady),useAppStore(q1=>q1.isAuthenticated);const{data:Zf}=useQuery({queryKey:["localPackageInfo"],queryFn:fetchPackageInfo$1,enabled:IS_LOCAL_MODE$9,staleTime:1/0,refetchOnMount:"always"}),{data:Jf}=useQuery({queryKey:["localBranch"],queryFn:fetchBranch,enabled:IS_LOCAL_MODE$9,staleTime:1/0,refetchOnMount:"always"}),{data:dp,isLoading:hp,error:dg,refetch:pg}=useQuery({queryKey:["workspace",Sl,"apps",wl],queryFn:async()=>[],enabled:IS_LOCAL_MODE$9,staleTime:120*1e3,gcTime:300*1e3,refetchOnMount:"always",retry:(q1,n0)=>n0?.response?.status===401||n0?.response?.status===403?!1:q1<2}),{mutate:hg}=useMutation({mutationFn:async({appId:q1,isEditable:n0})=>{const aE=await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${Sl}/WorkspaceApp/App/${q1}`,{isEditable:n0});return transformSimpleTeamToTeam(aE.data)},onMutate:async q1=>{const{appId:n0,isEditable:aE}=q1;await va.cancelQueries({queryKey:["workspace",Sl,"apps",wl]});const P_=va.getQueryData(["workspace",Sl,"apps",wl]);if(P_){const O_=P_.map(sN=>sN.Id===n0?{...sN,isEditable:aE}:sN);va.setQueryData(["workspace",Sl,"apps",wl],O_)}return{previousApps:P_}},onError:(q1,n0,aE)=>{aE?.previousApps&&va.setQueryData(["workspace",Sl,"apps",wl],aE.previousApps),y$b.error("Failed to update status. Please try again.")},onSettled:()=>{va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]})}}),mg=reactExports.useMemo(()=>{{let q1="";if(Zf&&Zf.name)if(q1=Zf.name,q1.startsWith("@")){const n0=q1.substring(1).split("/");n0.length===2&&(q1=n0[1])}else q1=Zf.name;return{Name:q1,isEditable:!0,Type:"Local",GitHubRepo:q1,Branch:Jf||"main"}}},[Ma,ma,dp,ya,Zf,Jf]);if(dg){console.error("fetchWorkspaceApps: Query failed",dg);let q1="Failed to fetch workspace apps";const n0=dg;n0?.response?.status===401?q1="Authentication expired. Please sign in again.":n0?.response?.status===403?q1="Access denied. Please check your workspace permissions.":n0?.response?.status===404?q1="Workspace not found. Please verify your workspace access.":n0?.response?.data?.reason?q1=n0.response.data.reason:n0?.message&&(q1=`Network error: ${n0.message}`),y$b.error(q1)}const gg=async(q1,n0)=>{try{const P_=(await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${Sl}/WorkspaceApp/App/${n0}`,q1)).data,O_=transformSimpleTeamToTeam(P_);return va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]}),await pg(),{...O_}}catch(aE){throw console.error("Error editing workspace app:",aE),aE}},sy=async(q1,n0)=>{try{const P_=(await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${Sl}/WorkspaceApp/App/${q1}`,{branch:n0})).data,O_=transformSimpleTeamToTeam(P_);return va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]}),await pg(),{...O_,Branch:n0}}catch(aE){throw console.error("Error switching workspace app branch:",aE),aE}},ly=async q1=>{try{let n0=Sl;if(!n0){const aE=await Ef("Default");if(aE)n0=aE.id||aE.Id;else throw new Error("Failed to create or fetch Default workspace")}if(!n0)throw new Error("No workspace ID available after all attempts");await metaAxiosInstance$2.post(`/AgentMeta/Workspace/${n0}/WorkspaceApp/App`,q1),va.invalidateQueries({queryKey:["workspace",n0,"apps",wl]}),va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]}),await pg()}catch(n0){console.error("Error occurred:",n0),y$b.error(n0?.response?.data?.["status-text"]||n0?.response?.data?.reason||n0?.message||"Operation failed")}},cy=async q1=>{try{await metaAxiosInstance$2.delete(`/AgentMeta/Workspace/${Sl}/WorkspaceApp/App/${q1}`),va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]}),await pg()}catch(n0){console.error("Error occurred:",n0),y$b.error(n0?.response?.data?.["status-text"]||n0?.response?.data?.reason||n0?.message||"Operation failed")}},uy=async(q1,n0,aE)=>{try{const P_=`/${q1.githubRepo}`,O_=q1.branchSelected&&q1.githubBranch?q1.githubBranch:"main",sN=Mc&&Mc.trim().length>0,uN=Cl&&Cl.trim().length>0,lN=generateGitHubUrl(q1.githubOrg,q1.githubRepo,Mc,Cl);if((!sN||!uN)&&n0("⚠️ GitHub credentials missing. Clone may fail for private repositories. Please set your GitHub username and token in Settings.",!1,!1),await pathExists(P_)){aE("checking"),n0("Repository exists, checking for updates...",!1,!1);try{const eee=await updateExistingRepository(P_,Cl,{branch:O_,checkOnly:!0});if(!eee.success)n0(`Warning: Could not check for updates - ${eee.message}. Using existing repository.`,!1,!1);else if(eee.hasUpdates){aE("updating"),n0("Fetching latest changes...",!1,!1);const JY=await updateExistingRepository(P_,Cl,{branch:O_,force:!0});JY.success?n0("Repository updated successfully!",!0,!1):n0(`Warning: Could not update repository - ${JY.message}. Using existing version.`,!1,!1)}else n0("No updates available",!0,!1)}catch(eee){console.error("Failed to update repository:",eee),n0(`Warning: Could not check for updates - ${eee.message}. Using existing repository.`,!1,!1)}}else{aE("cloning"),n0("Cloning repository...",!1,!1);try{await cloneRepository(lN,P_,O_,Cl),n0("Repository cloned successfully!",!0,!1)}catch(eee){console.error("Failed to clone repository:",eee),n0(`Failed to clone repository: ${eee.message}`,!1,!0);try{await pathExists(P_)&&(console.log(`Cleaning up failed clone: removing ${P_} from IndexedDB`),await removeDirectory(P_))}catch(JY){console.error("Error cleaning up failed clone:",JY)}return aE("error"),{path:null,fileContent:null}}}try{aE("processing"),n0("Searching for .al files...",!1,!1);const eee=await findFilesWithExtension(P_,"al");if(eee.length===0)return n0("No .al files found in the repository.",!1,!0),aE("error"),{path:null,fileContent:null};n0(`Found ${eee.length} .al file(s).`,!0,!1);const JY=eee[0];n0(`Reading file: ${JY}...`,!1,!1);const _pe=await readRepoFile(P_,JY);try{await readRepoFile(P_,"package.json")}catch{n0("Warning: package.json not found in repository",!1,!1)}try{return aE("creating"),await flushAllAndLoad(P_,{name:"studio"}),n0(`${JY} loaded successfully!`,!0,!1),aE("complete"),{path:P_,fileContent:_pe}}catch(_Q){return console.error(`Failed to load ${JY}:`,_Q),n0(`Failed to load ${JY}: ${_Q.message}`,!1,!0),aE("error"),{path:null,fileContent:null}}}catch(eee){return console.error("Failed to process .al files:",eee),n0(`Note: .al files not found or could not be read: ${eee.message}`,!1,!0),aE("error"),{path:P_,fileContent:null}}}catch(P_){return console.error("Failed to execute Git operation:",P_),n0(`Failed to execute Git operation: ${P_.message}`,!1,!0),aE("error"),{path:null,fileContent:null}}},H1=async(q1,n0,aE)=>{try{aE("Saving changes...",!1,!1);const P_=await openRepository(q1);return await writeRepoFile(q1,"README.md",n0),await commitChanges(P_,"README.md","Update README.md",{name:"Fractl Studio User",email:El||"user@fractl.studio"}),aE("Changes saved successfully!",!0,!1),!0}catch(P_){return console.error("Failed to save README:",P_),aE(`Failed to save: ${P_.message}`,!1,!0),!1}},lE=async(q1,n0)=>{try{n0("Pushing changes to repository...",!1,!1);const aE=await openRepository(q1);return await pushChanges(aE,"origin","main",Cl),n0("Changes pushed successfully!",!0,!1),!0}catch(aE){return console.error("Failed to push changes:",aE),n0(`Failed to push: ${aE.message}`,!1,!0),!1}},R_=reactExports.useCallback(async(q1,n0,aE=!1)=>{aE&&await pg()},[pg]),V1=mg?.isEditable??!0;return{currentTeam:mg,workspaceApps:dp,isLoadingApps:hp,appsError:dg,fetchWorkspaceApps:R_,editWorkspaceApp:gg,switchWorkspaceAppBranch:sy,updateWorkspaceAppEditable:hg,addWorkspaceApp:ly,cloneGitRepository:uy,saveReadmeChanges:H1,pushChanges:lE,deleteWorkspaceApp:cy,isEditable:V1}},integrationAxiosInstance$1=axiosInstance("connection-manager"),useLLM=()=>{const ya=useQueryClient(),ma=useAppStore(dp=>dp.authReady),ba=useAppStore(dp=>dp.isAuthenticated),va=dp=>{const{__parent__:hp,__path__:dg,...pg}=dp;return pg},{data:Ma,isLoading:El,isError:wl,error:Sl,refetch:Cl}=useQuery({queryKey:["llms"],queryFn:async()=>{const dp=await integrationAxiosInstance$1.get("/integmanager.core/llm"),{data:hp,status:dg}=dp;if(dg!==200)throw new Error("Failed to fetch llms");return hp.map(hg=>({...hg.llm,config:JSON.parse(hg.llm.config)}))},enabled:ma&&ba&&!0});wl&&Sl&&y$b.error(Sl?.response?.data?.reason||Sl.message);const Mc=reactExports.useCallback(async dp=>{await Cl()},[Cl]),Ef=reactExports.useCallback(async dp=>{try{const hp=va(dp),dg=await integrationAxiosInstance$1.post("/integmanager.core/llm",hp);if(dg.status===200||dg.status===201)ya.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM created successfully");else{const pg=dg.data?.reason||dg.data?.message||`Failed to create LLM (Status: ${dg.status})`;throw y$b.error(pg),new Error(pg)}}catch(hp){const dg=hp?.response?.data?.reason||hp?.response?.data?.message||hp?.message||"Failed to create LLM";throw y$b.error(dg),hp}},[ya]),Zf=reactExports.useCallback(async dp=>{try{const hp=await integrationAxiosInstance$1.delete(`/integmanager.core/llm/${dp}`);if(hp.status===200||hp.status===204)ya.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM deleted successfully");else{const dg=hp.data?.reason||hp.data?.message||`Failed to delete LLM (Status: ${hp.status})`;throw y$b.error(dg),new Error(dg)}}catch(hp){const dg=hp?.response?.data?.reason||hp?.response?.data?.message||hp?.message||"Failed to delete LLM";throw y$b.error(dg),hp}},[ya]),Jf=reactExports.useCallback(async(dp,hp)=>{try{const dg=va(hp),pg=await integrationAxiosInstance$1.put(`/integmanager.core/llm/${dp}`,dg);if(pg.status===200||pg.status===201||pg.status===204)ya.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM updated successfully");else{const hg=pg.data?.reason||pg.data?.message||`Failed to update LLM (Status: ${pg.status})`;throw y$b.error(hg),new Error(hg)}}catch(dg){const pg=dg?.response?.data?.reason||dg?.response?.data?.message||dg?.message||"Failed to update LLM";throw y$b.error(pg),dg}},[ya]);return{llmData:Ma,isLoadingLLMs:El,isErrorLLMs:wl,llmError:Sl,fetchLLMs:Mc,createLLM:Ef,deleteLLM:Zf,updateLLM:Jf}},getTeamModules=ya=>{if(!ya)return[];const ma=getUserModuleNames(),ba=ya.toLowerCase(),va=ba.replace(/_/g,"");return ma.filter(Ma=>{const El=Ma.toLowerCase(),wl=El.split(".")[0];return El.startsWith(ba)||wl===va})},IS_LOCAL_MODE$8=!0,useConfigLoader=()=>{const ya=useAppStore(va=>va.setAppConfig),ma=useAppStore(va=>va.setAppConfigError);return{loadConfig:reactExports.useCallback(async va=>{console.log("loadConfig",va),ma(null);try{const Ma=await loadAppConfig(va);console.log("validatedConfig from agentlang",Ma);let El={};try{let Sl;if(IS_LOCAL_MODE$8){const{getFileSystem:Cl}=await __vitePreload(async()=>{const{getFileSystem:Zf}=await Promise.resolve().then(()=>fsUtils);return{getFileSystem:Zf}},void 0),Mc=await Cl(),Ef=`${va}/config.al`;Sl=await Mc.readFile(Ef)}El=parseAppConfig(Sl),console.log("fullConfig from parseAppConfig",El)}catch(Sl){console.warn("Could not read config.al for full config:",Sl.message),El=Ma}const wl={...El,...Ma};return console.log("mergedConfig (final)",wl),ya(wl),wl}catch(Ma){const El=Ma instanceof Error?Ma.message:String(Ma);return console.error("Failed to load config.al:",El),ma(El),ya({}),{}}},[ya,ma])}},IS_LOCAL_MODE$7=!0,accessedKeys=new Map,getLocalEnv=ya=>{const ma=getLocalEnv$2(ya);return console.log(`🔍 getLocalEnv("${ya}") called, returning:`,ma?`${ma.substring(0,10)}...`:"undefined"),accessedKeys.set(ya,{value:ma,timestamp:Date.now()}),ma||console.warn(`⚠️ Key "${ya}" not found in LocalEnv`),ma};typeof window<"u"&&(window.debugResolverKeys={getAccessedKeys:()=>Array.from(accessedKeys.entries()),listAccessedKeys:()=>{console.log("📋 Keys accessed by resolvers:"),accessedKeys.forEach(({value:ya},ma)=>{console.log(` ${ma}: ${ya?"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 ya=getURL("api-cors-proxy"),ma=axios.create({timeout:3e4});return ma.interceptors.request.use(ba=>{const va=ba.url;if(va&&(va.startsWith("http://")||va.startsWith("https://")))try{const Ma=new URL(va),El=Ma.hostname,wl=Ma.pathname+Ma.search,Sl=API_DOMAIN_TO_PROVIDER[El];if(!Sl)return console.warn(`⚠️ No CORS proxy provider configured for domain: ${El}`),console.warn(` Add '${El}' to API_DOMAIN_TO_PROVIDER in browserResolvers.ts`),ba;console.log(`🔄 Proxying API call: ${va}`),console.log(` → Provider: ${Sl}`),console.log(" → Original headers:",ba.headers),ba.url=`${ya}/proxy/${Sl}${wl}`,console.log(` → New URL: ${ba.url}`),console.log(" → Final headers:",ba.headers)}catch(Ma){console.error("Failed to parse URL for proxying:",va,Ma)}return ba}),ma.interceptors.response.use(ba=>ba,ba=>(ba.code==="ERR_NETWORK"?console.error("❌ Network error - Check if CORS proxy is running on",ya):ba.response?.status===401?console.error("❌ 401 Unauthorized - Check API credentials"):ba.response?.status===403&&console.error("❌ 403 Forbidden - Check API permissions"),Promise.reject(ba))),ma}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(ya,ma){const ba=ma.split("/"),va=ba.length===2?ba[0]:"hubspot",Ma=ba.length===2?ba[1]:ma,El=new Map(Object.entries(ya));return makeInstance$1(va,Ma,El)}function getDependency(ya){if(COMMON_DEPENDENCIES.has(ya))return COMMON_DEPENDENCIES.get(ya);for(const[ma,ba]of COMMON_DEPENDENCIES)if(ya.includes(`/${ma}`)||ya.endsWith(`/${ma}`))return ba}const BUILTIN_MODULE_PATHS=["./modules/core.js","./modules/auth.js"];async function setupResolverLoader(ya){try{console.log("⚙️ Configuring AgentLang module loader for:",ya);let ma=null;if(IS_LOCAL_MODE$7){const{createFS:va}=await __vitePreload(async()=>{const{createFS:Ma}=await import("./fs-zDRyh4Qd.js");return{createFS:Ma}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4]));ma=await va({name:"studio",useCliBackend:!0})}setModuleLoader({fileReader:async va=>{if(console.log(`📖 Reading file: ${va}`),BUILTIN_MODULE_PATHS.includes(va))return console.log(`📦 Built-in module: ${va} (using global registration)`),"";let Ma=va;if(va.startsWith(ya+"/")?Ma=va.substring(ya.length+1):va.startsWith(ya)&&(Ma=va.substring(ya.length)),Ma.startsWith("/")&&(Ma=Ma.substring(1)),console.log(`📖 Resolved to relative path: ${Ma}`),IS_LOCAL_MODE$7&&ma){const El=`${ya}/${Ma}`,wl=await ma.readFile(El);return typeof wl=="string"?wl:wl.toString()}return await readRepoFile(ya,Ma)},dependencyProvider:va=>{const Ma=getDependency(va);return Ma?console.log(`✅ Resolved dependency: ${va}`):console.warn(`⚠️ Unknown dependency: ${va}`),Ma},basePath:""}),console.log("✅ Module loader configured successfully"),console.log("ℹ️ Resolvers will be loaded automatically when AgentLang parses .al files")}catch(ma){console.error("❌ Failed to setup resolver loader:",ma)}}const RESOLVER_CONFIGS={hsr:{initFunctionName:"initializeHubSpotConfig",envKeyMapping:{HUBSPOT_ACCESS_TOKEN:"accessToken"},configBuilder:ya=>({accessToken:ya.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:ya=>({clientId:ya.GMAIL_CLIENT_ID,clientSecret:ya.GMAIL_CLIENT_SECRET,refreshToken:ya.GMAIL_REFRESH_TOKEN,pollIntervalMinutes:ya.GMAIL_POLL_INTERVAL_MINUTES})},gsr:{initFunctionName:"initializeGoogleConfig",envKeyMapping:{GOOGLE_API_KEY:"apiKey",GOOGLE_CLIENT_ID:"clientId",GOOGLE_CLIENT_SECRET:"clientSecret"},configBuilder:ya=>({apiKey:ya.GOOGLE_API_KEY,clientId:ya.GOOGLE_CLIENT_ID,clientSecret:ya.GOOGLE_CLIENT_SECRET})},slackr:{initFunctionName:"initializeSlackConfig",envKeyMapping:{SLACK_BOT_TOKEN:"botToken",SLACK_APP_TOKEN:"appToken"},configBuilder:ya=>({botToken:ya.SLACK_BOT_TOKEN,appToken:ya.SLACK_APP_TOKEN})},ghr:{initFunctionName:"initializeGitHubConfig",envKeyMapping:{GITHUB_TOKEN:"token",GITHUB_API_KEY:"apiKey"},configBuilder:ya=>({token:ya.GITHUB_TOKEN||ya.GITHUB_API_KEY})}};async function initializeResolverConfigs(){try{const{getEnvironmentKeysAsObject:ya}=await __vitePreload(async()=>{const{getEnvironmentKeysAsObject:va}=await Promise.resolve().then(()=>playgroundEnvKeys);return{getEnvironmentKeysAsObject:va}},void 0),ma=ya();console.log("🔑 Available environment keys:",Object.keys(ma));const ba=getImportedModuleNames();console.log("📦 Imported modules:",ba);for(const[va,Ma]of Object.entries(RESOLVER_CONFIGS)){const El=getImportedModule(va);if(!El){console.log(`ℹ️ Resolver "${va}" not loaded - skipping initialization`);continue}console.log(`📋 Found resolver module: ${va}`);const wl=El[Ma.initFunctionName];if(typeof wl!="function"){console.warn(`⚠️ Resolver "${va}" found but "${Ma.initFunctionName}" function is missing`);continue}const Sl=Object.keys(Ma.envKeyMapping);if(Sl.filter(Zf=>ma[Zf]).length===0){console.warn(`⚠️ No environment keys found for resolver "${va}". Expected: ${Sl.join(", ")}`);continue}const Mc=Ma.configBuilder(ma),Ef=Object.fromEntries(Object.entries(Mc).filter(([Zf,Jf])=>Jf!==void 0));if(Object.keys(Ef).length===0){console.warn(`⚠️ No valid configuration could be built for resolver "${va}"`);continue}console.log(`🔑 Initializing resolver "${va}" with config:`,{...Ef,...Object.keys(Ef).reduce((Zf,Jf)=>{const dp=Ef[Jf],hp=typeof dp=="string"?`***${dp.slice(-4)}`:"***";return{...Zf,[Jf]:hp}},{})});try{await wl(Ef),console.log(`✅ Resolver "${va}" configured successfully`),El.config&&console.log(" Configuration stored in resolver.config")}catch(Zf){console.error(`❌ Failed to initialize resolver "${va}":`,Zf)}}console.log("✅ Resolver initialization complete")}catch(ya){console.error("❌ Failed to initialize resolver configs:",ya)}}const browserResolvers=Object.freeze(Object.defineProperty({__proto__:null,initializeResolverConfigs,setupResolverLoader},Symbol.toStringTag,{value:"Module"})),IS_LOCAL_MODE$6=!0,useRepositoryClone=()=>{const ya=useNavigate(),[ma,ba]=reactExports.useState(!1),[va,Ma]=reactExports.useState(""),[El,wl]=reactExports.useState(""),Sl=$ht();useAppStore(pg=>pg.user);const{processDependencies:Cl}=useDependencyProcessor(),{loadConfig:Mc}=useConfigLoader(),Ef="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",Zf="hamza@fractl.io",Jf=reactExports.useCallback(()=>{const pg=Zf.trim().length>0,hg=Ef.trim().length>0;(!pg||!hg)&&console.warn("GitHub credentials missing - clone may fail for private repositories")},[Ef,Zf]),dp=reactExports.useCallback(async(pg,hg,mg,gg,sy,ly)=>{console.log("Processing repository..."),await Cl(pg,Zf,Ef,lN=>{Ma(lN)}),Ma("Loading application modules..."),Ma("Initializing runtime with environment keys...");{const{inBrowserREPL:lN}=await __vitePreload(async()=>{const{inBrowserREPL:_F}=await Promise.resolve().then(()=>inBrowserREPL$1);return{inBrowserREPL:_F}},void 0);await lN.initializeRuntime()}Ma("Configuring resolver loader..."),await setupResolverLoader(pg),Ma("Preparing runtime for app...");const{prepareRuntimeForAppLoad:cy}=await __vitePreload(async()=>{const{prepareRuntimeForAppLoad:lN}=await Promise.resolve().then(()=>index$5);return{prepareRuntimeForAppLoad:lN}},void 0);await cy(pg);{Ma("Initializing filesystem...");const{setFileSystem:lN}=await __vitePreload(async()=>{const{setFileSystem:JY}=await Promise.resolve().then(()=>fsUtils);return{setFileSystem:JY}},void 0),{createFS:_F}=await __vitePreload(async()=>{const{createFS:JY}=await import("./fs-zDRyh4Qd.js");return{createFS:JY}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4])),eee=await _F({name:"studio",useCliBackend:!0});lN(eee)}Ma("Loading AgentLang modules..."),await flushAllAndLoad(pg,{name:"studio",useCliBackend:IS_LOCAL_MODE$6}),Ma("Reloading core modules...");const{loadCoreModules:uy}=await __vitePreload(async()=>{const{loadCoreModules:lN}=await Promise.resolve().then(()=>loader$1);return{loadCoreModules:lN}},void 0);await uy(),Ma("Loading configuration..."),await Mc(pg),Ma("Registering agents and initializing modules..."),await runInitFunctions(),await runStandaloneStatements(),Ma("Loading LLM configurations...");const{queryLLMEntities:H1}=await __vitePreload(async()=>{const{queryLLMEntities:lN}=await Promise.resolve().then(()=>index$5);return{queryLLMEntities:lN}},void 0),lE=await H1(),R_=useAppStore.getState().appConfig;useAppStore.getState().setAppConfig({...R_,llms:lE}),Ma("Initializing resolver configurations..."),await initializeResolverConfigs(),console.log("Reading package.json...");let V1;{if(!ly)throw new Error("packageJson is required in local mode");V1=ly}const q1=getTeamModules(hg),n0=q1.flatMap(lN=>{try{const _F=fetchModule$2(lN);return _F?_F.getAgentNames().filter(eee=>_F.getAgent(eee)?.isPublic()??!1).map(eee=>`${lN}/${eee}`):[]}catch(_F){return console.warn(`Failed to fetch module ${lN} for public agents:`,_F),[]}});console.log(`[LOCAL] Found ${q1.length} modules:`,q1),console.log(`[LOCAL] Found ${n0.length} public agents:`,n0);const aE=q1.flatMap(lN=>fetchModule$2(lN).getEntityNames().map(_F=>`${lN}/${_F}`)),P_=q1.flatMap(lN=>buildGraph(lN).getRoots().map(eee=>`${eee.entity.getModuleName()}/${eee.entity.getEntryName()}`)),O_={Name:mg,Description:V1.description||"An application generated from "+mg},sN=await loadUISchema(mg,pg,aE,P_,n0,O_);sN.appInfo||(sN.appInfo={}),sN.appInfo.apiUrl="http://localhost:8080",Sl(sN);const uN={githubOrg:gg,teamName:mg,branch:sy,projectPath:pg};return __vitePreload(()=>import("./replService-DqLyvCZY.js"),__vite__mapDeps([34,1,18,19,5,9,16,11,14,15,10,20,21,17,4])).then(async({default:lN})=>{try{await lN.ensureReplSession(uN),await lN.initializeFileTracking(pg)}catch(_F){console.error("❌ Failed to setup REPL deployment:",_F)}}),q1[0]},[Zf,Ef,Ma,Sl,Cl,Mc]),hp=reactExports.useCallback(async pg=>{ba(!0),wl("");try{Jf();const{GitHubOrg:hg,GitHubRepo:mg,Name:gg,Branch:sy}=pg,ly=`/${mg}`,cy=generateGitHubUrl(hg,mg,Zf,Ef);await pathExists(ly)?Ma("Repository already exists. Loading modules..."):(Ma("Cloning repository..."),await cloneRepository(cy,ly,sy,Ef)),await dp(ly,mg,gg,hg,sy)}catch(hg){const mg=hg instanceof Error?hg.message:"Failed to clone repository";wl(mg),console.error("Error during repository clone:",hg);try{const gg=`/${pg.GitHubRepo}`;await pathExists(gg)&&(console.log(`Cleaning up failed clone: removing ${gg} from IndexedDB`),await removeDirectory(gg))}catch(gg){console.error("Error cleaning up failed clone:",gg)}}finally{ba(!1)}},[Jf,Zf,Ef,dp]),dg=reactExports.useCallback((pg,hg,mg,gg,sy)=>{const ly=`/design/${pg?"agents":"data-model"}/${hg}/${mg}/${gg}`;sy?ya(ly,sy):ya(ly)},[ya]);return{isCloning:ma,error:El,loadingMessage:va,cloneAndProcess:hp,navigateToDesign:dg,processRepository:dp}},CLI_URL$1="http://localhost:4000";async function fetchPackageInfo(){const ya=await fetch(`${CLI_URL$1}/info`);return ya.ok?ya.json():{}}async function fetchDependenciesFromLocalServer(ya,ma,ba){ba&&ba("Installing dependencies in local mode...",0,ma.length);try{const va=await fetch(`${CLI_URL$1}/install`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(!va.ok){const Ma=await va.json().catch(()=>({error:"Unknown error"}));throw new Error(Ma.error||`Failed to install dependencies: ${va.statusText}`)}return console.log("✓ Dependencies installed successfully in local mode"),ma.map((Ma,El)=>(ba&&ba(`Installed ${Ma.appName}`,El+1,ma.length),{appName:Ma.appName,success:!0,message:"Dependency installed successfully",path:`${ya}/node_modules/${Ma.appName}`}))}catch(va){return console.error("Failed to install dependencies:",va),ma.map(Ma=>({appName:Ma.appName,success:!1,message:va instanceof Error?va.message:"Failed to install dependency",error:va}))}}function parsePackageName(ya){if(!ya?.name)return{org:"file",name:""};const ma=ya.name;if(ma.startsWith("@")){const ba=ma.substring(1).split("/");if(ba.length===2)return{org:ba[0],name:ba[1]}}return{org:"file",name:ma}}function isDesignPage(ya){return ya?["data-model","marketplace-data-model","agents","workflow","security","ui","settings"].includes(ya):!1}const useServeMode=()=>{const ya=useNavigate(),ma=useMatches(),{processRepository:ba}=useRepositoryClone(),[va,Ma]=reactExports.useState(""),[El,wl]=reactExports.useState(null);return{initializeServeMode:reactExports.useCallback(async()=>{Ma("Connecting to local server..."),wl(null);try{Ma("Loading app configuration...");const Cl=await fetchPackageInfo(),{org:Mc,name:Ef}=parsePackageName(Cl),Zf=`/${Ef}`;Ma("Processing project...");const Jf=await ba(Zf,Ef,Ef,Mc,"main",Cl),dp=ma[ma.length-1];if(isDesignPage(dp?.id))return;const hp=`/design/agents/${Mc}/${Ef}`;ya(Jf?`${hp}/${Jf}`:hp)}catch(Cl){const Mc=Cl instanceof Error?Cl.message:"An unknown error occurred";wl(Mc),console.error("Failed to initialize serve mode:",Cl)}finally{Ma("")}},[ba,ya,ma]),loadingMessage:va,error:El}},CLI_URL="http://localhost:4000",useDependencyProcessor=()=>{const ya=reactExports.useCallback(ba=>{if(!ba.dependencies)return[];const va=[];for(const[Ma,El]of Object.entries(ba.dependencies))typeof El=="string"&&El.startsWith("git+http")&&va.push({appName:Ma,url:El});return va},[]),ma=reactExports.useCallback(async(ba,va,Ma,El)=>{let wl;{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:dp}=await Jf.json();wl=dp}const Sl=JSON.parse(wl),Cl=ya(Sl);if(Cl.length===0)return[];El&&El(`Installing ${Cl.length} dependencies...`,0,Cl.length);let Mc;Mc=await fetchDependenciesFromLocalServer(ba,Cl,(Jf,dp,hp)=>{El&&El(`[${dp}/${hp}] ${Jf}`,dp,hp)});const Ef=Mc.filter(Jf=>!Jf.success),Zf=Mc.filter(Jf=>Jf.success);if(Zf.length>0&&console.log(`✓ Successfully fetched ${Zf.length} dependencies:`,Zf.map(Jf=>Jf.appName).join(", ")),Ef.length>0&&console.warn(`⚠ Failed to install ${Ef.length} of ${Cl.length} dependencies:`,Ef.map(Jf=>`${Jf.appName} (${Jf.message})`).join(", ")),Zf.length>0){const{createFS:Jf}=await __vitePreload(async()=>{const{createFS:hp}=await import("./fs-zDRyh4Qd.js");return{createFS:hp}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4])),dp=await Jf({name:"studio",useCliBackend:!0});for(const hp of Zf)if(hp.path)try{const dg=`${hp.path}/package.json`;await dp.exists(dg)?console.log(`✓ ${hp.appName}: Verified package.json exists`):console.error(`✗ ${hp.appName}: package.json missing at ${dg}`)}catch(dg){console.error(`✗ ${hp.appName}: Verification failed:`,dg)}}return Mc},[ya]);return{extractGitDependencies:ya,processDependencies:ma}},IS_LOCAL_MODE$5=!0,integrationAxiosInstance=axiosInstance("connection-manager"),useIntegration=(ya="api")=>{const{currentTeam:ma}=useTeams(),ba=ma?.GitHubRepo,va=useQueryClient();useAppStore(cy=>cy.authReady),useAppStore(cy=>cy.isAuthenticated);const Ma=useAppStore(cy=>cy.user),El=Ma.GitHub.Token,wl=Ma.GitHub.Username,{processDependencies:Sl}=useDependencyProcessor(),Cl=async cy=>{if(ba)try{const H1=(await readDependencyPackageJsonFromGit(ba,cy))?.agentlang?.config||[];if(H1.length===0)return[];let lE="";try{lE=await readProjectFile(ba,"config.al")}catch{return console.log("config.al does not exist yet"),[]}const R_=parseAppConfig(lE),V1=[];return H1.forEach(q1=>{let n0=cy;if(!R_[n0]&&isFqName$1(q1)){const P_=nameToPath$1(q1).getModuleName();P_&&R_[P_]&&(n0=P_)}R_[n0]&&R_[n0][q1]&&V1.push({entityFqn:q1,config:R_[n0][q1]})}),V1}catch(uy){return console.error(`Error reading configs from config.al for ${cy}:`,uy),y$b.error(`Failed to load configs for ${cy}: ${uy.message}`),[]}try{const uy=await integrationAxiosInstance.get(`/api/IntegrationManager.Core/Integration/${cy}/ConnectionConfigGroup/ConnectionConfig`),{result:H1,status:lE,message:R_}=uy.data;if(lE==="ok")return H1;lE==="error"&&y$b.error(R_||`Failed to load configs for ${cy}`)}catch(uy){console.error(`Error fetching configs for ${cy}:`,uy),y$b.error(`Error fetching configs for ${cy}`)}},{data:Mc,isLoading:Ef,isError:Zf,error:Jf,refetch:dp}=useQuery({queryKey:["integrations",ba,ya],queryFn:async()=>{if(console.log("fetching integrations in",ya),ya!=="config")return console.log("[LOCAL_MODE] Skipping API integrations fetch - use config mode instead"),[];if(ba)try{const V1=(await readPackageJsonFromGit(ba,!0)).dependencies||{};let q1={};try{const P_=await readProjectFile(ba,"config.al");q1=parseAppConfig(P_),console.log("parsedConfig",q1)}catch{console.log("config.al does not exist yet")}const n0=/(?:git\+)?https:\/\/(?:[^@]+@)?github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,aE=[];return Object.entries(V1).forEach(([P_,O_])=>{const sN=O_.match(n0);if(sN){const[,uN,lN]=sN;let _F,eee=null;q1[lN]&&q1[lN].isRemoteIntegration!==void 0?(eee=q1[lN],_F=eee.isRemoteIntegration):q1[P_]&&typeof q1[P_].isRemoteIntegration=="boolean"&&(eee=q1[P_],_F=eee.isRemoteIntegration);const _pe={name:eee?.name||P_,userData:{GitHubOrg:uN,GitHubRepo:lN}};_F!==void 0&&(_pe.userData.isRemoteIntegration=_F),aE.push(_pe)}else O_.startsWith("file:")}),aE}catch(R_){return console.warn("Failed to read integrations from package.json",R_),[]}const cy=await integrationAxiosInstance.get("/integmanager.core/integration"),{data:uy,status:H1}=cy;if(H1!==200)throw new Error("Failed to fetch integrations");return uy.map(R_=>({...R_.integration,userData:JSON.parse(R_.integration.userData)}))},enabled:IS_LOCAL_MODE$5,staleTime:0,refetchOnWindowFocus:!0});Zf&&Jf&&y$b.error(Jf?.response?.data?.reason||Jf.message);const hp=reactExports.useCallback(async()=>{await dp()},[dp]),dg=reactExports.useCallback(async(cy,uy)=>{const H1=`/temp-validation/${cy}/${uy}`;let lE=!1;try{if(!await pathExists(H1)){const aE=generateGitHubUrl(cy,uy,wl,El);await cloneRepository(aE,H1,"main",El||""),lE=!0}let V1;if(IS_LOCAL_MODE$5){const{createGitUtils:aE}=await __vitePreload(async()=>{const{createGitUtils:sN}=await Promise.resolve().then(()=>index$8);return{createGitUtils:sN}},void 0),{fs:P_}=await aE({useCliBackend:!1}),O_=`${H1}/package.json`;V1=(await P_.readFile(O_)).toString()}const q1=JSON.parse(V1),n0=q1?.agentlang?.config&&Array.isArray(q1.agentlang.config);if(lE)try{await removeDirectory(H1)}catch(aE){console.warn("Failed to cleanup temporary clone:",aE)}return n0}catch(R_){if(lE)try{await removeDirectory(H1)}catch(V1){console.warn("Failed to cleanup temporary clone:",V1)}throw R_}},[wl,El]),pg=reactExports.useCallback(async cy=>{if(ya==="config"&&ba){const uy=wl&&wl.trim().length>0,H1=El&&El.trim().length>0;if(!uy||!H1){const O_=new Error("GitHub credentials are required for local mode");throw O_.code="GITHUB_CREDENTIALS_REQUIRED",O_}const lE=cy.userData.GitHubRepo,R_=cy.name,V1=cy.userData.GitHubOrg;if(!lE||!V1)throw new Error("GitHub organization and repository name are required");if(!await dg(V1,lE))throw new Error("The repository is not a valid AgentLang project. It must have a package.json with an agentlang.config field.");const n0=await readPackageJsonFromGit(ba);n0.dependencies||(n0.dependencies={});const aE=generateGitHubUrl(V1,lE,wl,El);n0.dependencies[R_]=`git+${aE}#main`,await savePackageJsonToGit(ba,JSON.stringify(n0,null,2),`Add dependency for ${R_}`,wl,El);const P_=`/${ba}`;try{await Sl(P_,wl,El)}catch(O_){throw console.error(`Failed to process dependencies for ${R_}:`,O_),y$b.error(`Failed to clone dependency: ${O_.message}`),O_}try{const O_=`${P_}/node_modules/${R_}`,sN=await readRepoFile(O_,"package.json"),uN=JSON.parse(sN);if(uN?.agentlang?.config&&Array.isArray(uN.agentlang.config)&&uN.agentlang.config.length>0){let lN="";try{lN=await readProjectFile(ba,"config.al")}catch{}const _F=lN?parseAppConfig(lN):{};_F[R_]||(_F[R_]={}),uN.agentlang.config.forEach(eee=>{_F[R_][eee]||(_F[R_][eee]=null)}),await saveConfigToGit(ba,formatAppConfig(_F),`Add config for integration ${R_}`,wl,El)}}catch(O_){console.warn(`Failed to create config maps for integration ${R_}:`,O_)}try{await flushAllAndLoad(P_,{name:"studio",useCliBackend:IS_LOCAL_MODE$5}),await va.invalidateQueries({queryKey:["dependencies"]})}catch(O_){console.warn(`Failed to load modules for ${R_}:`,O_)}await va.invalidateQueries({queryKey:["integrations",ba,ya]}),await dp(),y$b.success("Integration created successfully");return}try{const uy=await integrationAxiosInstance.post("/integmanager.core/integration",cy);if(uy.status===200||uy.status===201)await va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration created successfully");else throw new Error(uy.data?.reason||uy.data?.message||"Failed to create integration")}catch(uy){const H1=uy?.response?.data?.reason||uy?.response?.data?.message||uy?.message||"Failed to create integration";throw new Error(H1)}},[va,ba,wl,El,ya,dg,Sl,dp]),hg=reactExports.useCallback(async cy=>{if(ya==="config"&&ba)try{const uy=await readPackageJsonFromGit(ba);if(uy.dependencies&&uy.dependencies[cy]){const H1=uy.dependencies[cy],lE=/(?:git\+)?https:\/\/github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,R_=H1.match(lE),V1=R_?R_[2]:null;let q1=null;if(V1)try{const n0=await readDependencyPackageJsonFromGit(ba,cy);n0?.name&&(q1=n0.name.split("/").pop()?.split("@").pop()||null)}catch{console.log(`Could not read package.json for ${cy}, will try to remove by repo name`)}delete uy.dependencies[cy],await savePackageJsonToGit(ba,JSON.stringify(uy,null,2),`Remove dependency ${cy}`,wl,El);try{const n0=await readProjectFile(ba,"config.al"),aE=parseAppConfig(n0);let P_=!1;if(V1&&aE[V1]&&(delete aE[V1],P_=!0),q1&&aE[q1]&&(delete aE[q1],P_=!0),aE[cy]&&(delete aE[cy],P_=!0),P_){const O_=formatAppConfig(aE);await saveConfigToGit(ba,O_,`Remove integration ${cy} from config.al`,wl,El)}}catch{console.log("config.al does not exist or error reading it")}await va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration deleted successfully");return}else{y$b.info("Integration not found in dependencies");return}}catch(uy){throw console.error("Failed to delete integration:",uy),y$b.error(`Failed to delete integration: ${uy.message}`),uy}try{const uy=await integrationAxiosInstance.delete(`/integmanager.core/integration/${cy}`);if(console.log(uy.data),uy.status===200||uy.status===204)await va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration deleted successfully");else{const H1=uy.data?.reason||uy.data?.message||`Failed to delete integration (Status: ${uy.status})`;throw y$b.error(H1),new Error(H1)}}catch(uy){const H1=uy?.response?.data?.reason||uy?.response?.data?.message||uy?.message||"Failed to delete integration";throw y$b.error(H1),uy}},[va,ba,wl,El,ya]),mg=reactExports.useCallback(async(cy,uy)=>{if(ya==="config"&&ba)try{const H1=uy.userData?.GitHubRepo,lE=uy.userData?.GitHubOrg;if(!H1||!lE)throw new Error("Missing GitHub info for update");const R_=await readPackageJsonFromGit(ba);R_.dependencies||(R_.dependencies={}),R_.dependencies[cy]=`git+https://github.com/${lE}/${H1}.git#main`,await savePackageJsonToGit(ba,JSON.stringify(R_,null,2),`Update dependency ${cy}`,wl,El),await va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration updated successfully");return}catch(H1){throw console.error("Failed to update integration:",H1),y$b.error(`Failed to update integration: ${H1.message}`),H1}try{const H1=await integrationAxiosInstance.put(`/integmanager.core/integration/${cy}`,uy);if(console.log(H1.data),H1.status===200)va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration updated successfully");else{const lE=H1.data?.reason||H1.data?.message||`Failed to update integration (Status: ${H1.status})`;throw y$b.error(lE),new Error(lE)}}catch(H1){const lE=H1?.response?.data?.reason||H1?.response?.data?.message||H1?.message||"Failed to update integration";throw y$b.error(lE),H1}},[va,ba,wl,El,ya]),gg=reactExports.useCallback(async cy=>{if(ya!=="api"||!ba){console.warn("addIntegrationToConfig only supported in 'api' mode with a valid githubRepo");return}try{const uy=cy.userData?.GitHubRepo,H1=cy.userData?.GitHubOrg,lE=cy.name;if(!uy||!H1)throw new Error("GitHub organization and repository name are required");const R_=`git+https://github.com/${H1}/${uy}.git#main`,V1=await readPackageJsonFromGit(ba);V1.dependencies||(V1.dependencies=null),V1.dependencies[uy]=R_,await savePackageJsonToGit(ba,JSON.stringify(V1,null,2),`Add integration ${lE} from API`,wl,El);const q1=`/${ba}`;try{await Sl(q1,wl,El),await flushAllAndLoad(q1,{name:"studio",useCliBackend:IS_LOCAL_MODE$5}),await va.invalidateQueries({queryKey:["dependencies"]})}catch(P_){console.warn(`Failed to process dependencies for ${lE}:`,P_)}let n0={};try{const P_=await readProjectFile(ba,"config.al");n0=parseAppConfig(P_)}catch{console.log("config.al does not exist yet, will create it")}n0[uy]={isRemoteIntegration:!0,name:lE,url:R_};const aE=formatAppConfig(n0);await saveConfigToGit(ba,aE,`Add integration ${lE} to config.al`,wl,El),await va.invalidateQueries({queryKey:["integrations"]}),y$b.success(`Integration ${lE} added successfully`)}catch(uy){throw console.error("Error adding integration to config:",uy),y$b.error(`Failed to add integration: ${uy.message}`),uy}},[ba,wl,El,ya,va,Sl]),sy=reactExports.useCallback(async cy=>{if(ya!=="api"||!ba){console.warn("removeIntegrationFromConfig only supported in 'api' mode with a valid githubRepo");return}try{const uy=cy.userData?.GitHubRepo,H1=cy.name;if(!uy)throw new Error("GitHub repository name is required");const lE=await readPackageJsonFromGit(ba);lE.dependencies&&lE.dependencies[H1]&&(delete lE.dependencies[H1],await savePackageJsonToGit(ba,JSON.stringify(lE,null,2),`Remove integration ${H1} from API`,wl,El));try{const R_=await readProjectFile(ba,"config.al"),V1=parseAppConfig(R_);if(V1[uy]){delete V1[uy];const q1=formatAppConfig(V1);await saveConfigToGit(ba,q1,`Remove integration ${H1} from config.al`,wl,El)}}catch{console.log("config.al does not exist or error reading it")}await va.invalidateQueries({queryKey:["integrations"]}),y$b.success(`Integration ${H1} removed successfully`)}catch(uy){throw console.error("Error removing integration from config:",uy),y$b.error(`Failed to remove integration: ${uy.message}`),uy}},[ba,wl,El,ya,va]),ly=reactExports.useCallback(async()=>{if(!ba)return console.warn("readAllConfigsFromPackageJson requires a valid githubRepo"),{};try{const uy=(await readPackageJsonFromGit(ba,!0)).dependencies||{},H1={};for(const[lE]of Object.entries(uy))try{const R_=await readDependencyPackageJsonFromGit(ba,lE);R_?.agentlang?.config&&Array.isArray(R_.agentlang.config)&&(H1[lE]=R_.agentlang.config)}catch(R_){console.warn(`Failed to read package.json for dependency ${lE}:`,R_.message)}return H1}catch(cy){throw console.error("Failed to read all configs from package.json:",cy),new Error(`Failed to read all configs: ${cy.message}`)}},[ba]);return{integrationData:Mc,isLoadingIntegrations:Ef,isErrorIntegrations:Zf,integrationsError:Jf,fetchIntegrations:hp,fetchIntegrationConnectionConfigs:Cl,createIntegration:pg,deleteIntegration:hg,updateIntegration:mg,addIntegrationToConfig:gg,removeIntegrationFromConfig:sy,readAllConfigsFromPackageJson:ly}},IS_PLAYGROUND$7=!1,IS_LOCAL_MODE$4=!0,useDeployments=()=>{const ya=useQueryClient(),ma=useAppStore(Zf=>Zf.authReady),ba=useAppStore(Zf=>Zf.isAuthenticated),{data:va,isLoading:Ma,isError:El,error:wl,refetch:Sl}=useQuery({queryKey:["deployments"],queryFn:async()=>(console.log("[SERVE_MODE] Skipping deployments fetch - returning empty object"),{}),enabled:ma&&ba&&!IS_PLAYGROUND$7&&!IS_LOCAL_MODE$4});El&&wl&&y$b.error(wl?.response?.data?.reason||wl.message);const Cl=reactExports.useCallback(async()=>{{console.log("[SERVE_MODE] Skipping deployments fetch");return}},[Sl]),Mc=reactExports.useCallback(async Zf=>{try{if(IS_PLAYGROUND$7||IS_LOCAL_MODE$4)return console.log(`[${IS_PLAYGROUND$7?"PLAYGROUND":"SERVE_MODE"}] Skipping app deployment`),y$b.success(`App deployed successfully! (${IS_PLAYGROUND$7?"playground":"serve"} mode)`),{success:!0};const Jf=await axiosInstance("deployment").post("/Deployment/DeployApp",Zf);return y$b.success("App deployed successfully!"),ya.invalidateQueries({queryKey:["deployments"]}),Jf.data}catch(Jf){throw y$b.error(Jf?.response?.data?.reason||"Failed to deploy app"),Jf}},[ya]),Ef=reactExports.useCallback(async Zf=>{try{if(IS_PLAYGROUND$7||IS_LOCAL_MODE$4)return console.log(`[${IS_PLAYGROUND$7?"PLAYGROUND":"SERVE_MODE"}] Skipping app undeployment`),y$b.success(`App undeployed successfully! (${IS_PLAYGROUND$7?"playground":"serve"} mode)`),{success:!0};const Jf=await axiosInstance("deployment").post("/Deployment/UndeployApp",Zf);return y$b.success("App undeployed successfully!"),ya.invalidateQueries({queryKey:["deployments"]}),Jf.data}catch(Jf){throw y$b.error(Jf?.response?.data?.reason||"Failed to undeploy app"),Jf}},[ya]);return{deploymentsData:va,isLoadingDeployments:Ma,isErrorDeployments:El,deploymentsError:wl,fetchDeployments:Cl,deployApp:Mc,undeployApp:Ef}};let globalInitializationState={isInitializing:!1,isInitialized:!1,error:null,retryCount:0,progress:{userLoaded:!1,workspaceLoaded:!1,dataLoaded:!1}};const listeners=new Set,updateGlobalState=ya=>{globalInitializationState={...globalInitializationState,...ya},listeners.forEach(ma=>ma(globalInitializationState))},useAppInitialization=()=>{const[ya,ma]=reactExports.useState(globalInitializationState),ba=reactExports.useRef(!1),{setUser:va,user:Ma,lastDataFetch:El,setLastDataFetch:wl}=useAppStore(),Sl=axiosInstance("meta"),{fetchWorkspaceApps:Cl}=useTeams(),{fetchIntegrations:Mc}=useIntegration(),{fetchDeployments:Ef}=useDeployments(),{fetchLLMs:Zf}=useLLM();reactExports.useEffect(()=>{const ly=cy=>{ma(cy)};return listeners.add(ly),()=>{listeners.delete(ly)}},[]);const Jf=reactExports.useCallback(ly=>{const cy={...globalInitializationState,progress:{...globalInitializationState.progress,...ly}};updateGlobalState(cy)},[]),dp=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ly=localStorage.getItem("agentlang-studio-store");if(!ly)return!1;try{const cy=JSON.parse(ly),uy=cy.state&&cy.state.user&&cy.state.user.Email,H1=cy.state&&cy.state.workspace&&cy.state.workspace.Id,lE=cy.state&&cy.state.lastDataFetch&&cy.state.lastDataFetch>0;return uy&&H1&&lE}catch(cy){return console.warn("Failed to parse cached store:",cy),!1}},[]),hp=reactExports.useCallback(()=>{if(El===0)return!0;const ly=Date.now()-600*1e3;if(El>ly)return!1;const cy=Date.now()-300*1e3;return El<cy},[El]),dg=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ly=localStorage.getItem("agentlang-studio-store");if(!ly)return!1;try{const cy=JSON.parse(ly);if(cy.state&&cy.state.user&&cy.state.user.Email)return Jf({userLoaded:!0}),!0}catch(cy){console.warn("Failed to parse cached store:",cy)}return!1},[Jf]),pg=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ly=localStorage.getItem("workspace_id"),cy=localStorage.getItem("username");return ly&&cy?(Jf({workspaceLoaded:!0}),!0):!1},[Jf]),hg=reactExports.useCallback(async(ly,cy,uy=!1)=>{{console.log("[DEV MODE] Skipping app data initialization - no API calls needed"),Jf({dataLoaded:!0});return}},[Cl,Mc,Ef,Zf,Jf,wl]),mg=reactExports.useCallback(async(ly=0)=>{if(!ba.current){console.log("[DEV MODE] Skipping app initialization - no API calls needed"),wl(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}},[Sl,va,Ma,hg,Jf,dp,dg,pg,hp,wl]),gg=reactExports.useCallback(()=>{updateGlobalState({retryCount:0}),ba.current=!1,mg()},[mg]),sy=reactExports.useCallback(()=>{updateGlobalState({isInitializing:!1,isInitialized:!1,error:null,retryCount:0,progress:{userLoaded:!1,workspaceLoaded:!1,dataLoaded:!1}}),ba.current=!1},[]);return reactExports.useEffect(()=>()=>{ba.current=!1},[]),{...ya,initializeApp:mg,retryInitialization:gg,resetInitialization:sy}};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.319.0"};function f$g(ya,ma,ba,va,Ma,El,wl){try{var Sl=ya[El](wl),Cl=Sl.value}catch(Mc){return void ba(Mc)}Sl.done?ma(Cl):Promise.resolve(Cl).then(va,Ma)}function p$c(ya){return function(){var ma=this,ba=arguments;return new Promise((function(va,Ma){var El=ya.apply(ma,ba);function wl(Cl){f$g(El,va,Ma,wl,Sl,"next",Cl)}function Sl(Cl){f$g(El,va,Ma,wl,Sl,"throw",Cl)}wl(void 0)}))}}function g$8(){return g$8=Object.assign?Object.assign.bind():function(ya){for(var ma=1;ma<arguments.length;ma++){var ba=arguments[ma];for(var va in ba)({}).hasOwnProperty.call(ba,va)&&(ya[va]=ba[va])}return ya},g$8.apply(null,arguments)}function _$7(ya,ma){if(ya==null)return{};var ba={};for(var va in ya)if({}.hasOwnProperty.call(ya,va)){if(ma.indexOf(va)!==-1)continue;ba[va]=ya[va]}return ba}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(ya,ma){if(ma===void 0&&(ma=[]),!ya)return!1;var ba=ya.toLowerCase();return m$8.concat(ma).some((va=>{var Ma=va.toLowerCase();return ba.indexOf(Ma)!==-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(ya,ma){return ya.indexOf(ma)!==-1}var x$6=function(ya){return ya.trim()},E$7=function(ya){return ya.replace(/^\$/,"")},S$a=Array.isArray,k$a=Object.prototype,P$9=k$a.hasOwnProperty,T$a=k$a.toString,I$8=S$a||function(ya){return T$a.call(ya)==="[object Array]"},C$c=ya=>typeof ya=="function",R$3=ya=>ya===Object(ya)&&!I$8(ya),F$8=ya=>{if(R$3(ya)){for(var ma in ya)if(P$9.call(ya,ma))return!1;return!0}return!1},M$6=ya=>ya===void 0,O$5=ya=>T$a.call(ya)=="[object String]",A$7=ya=>O$5(ya)&&ya.trim().length===0,D$b=ya=>ya===null,j$a=ya=>M$6(ya)||D$b(ya),L$6=ya=>T$a.call(ya)=="[object Number]"&&ya==ya,N$6=ya=>L$6(ya)&&ya>0,U$4=ya=>T$a.call(ya)==="[object Boolean]",z$5=ya=>ya instanceof FormData,H$9=ya=>w$9(b$8,ya);function B$5(ya){return ya===null||typeof ya!="object"}function q$6(ya,ma){return Object.prototype.toString.call(ya)==="[object "+ma+"]"}function W$4(ya){return!M$6(Event)&&(function(ma,ba){try{return ma instanceof ba}catch{return!1}})(ya,Event)}var G$5=[!0,"true",1,"1","yes"],V$7=ya=>w$9(G$5,ya),J$5=[!1,"false",0,"0","no"];function K$6(ya,ma,ba,va,Ma){return ma>ba&&(va.warn("min cannot be greater than max."),ma=ba),L$6(ya)?ya>ba?(va.warn(" cannot be greater than max: "+ba+". Using max value instead."),ba):ya<ma?(va.warn(" cannot be less than min: "+ma+". Using min value instead."),ma):ya:(va.warn(" must be a number. using max or fallback. max: "+ba+", fallback: "+Ma),K$6(Ma||ba,ma,ba,va))}let Y$3=class{constructor(ma){this.t={},this.i=ma.i,this.o=K$6(ma.bucketSize,0,100,ma.h),this.m=K$6(ma.refillRate,0,this.o,ma.h),this.$=K$6(ma.refillInterval,0,864e5,ma.h)}S(ma,ba){var va=ba-ma.lastAccess,Ma=Math.floor(va/this.$);if(Ma>0){var El=Ma*this.m;ma.tokens=Math.min(ma.tokens+El,this.o),ma.lastAccess=ma.lastAccess+Ma*this.$}}consumeRateLimit(ma){var ba,va=Date.now(),Ma=String(ma),El=this.t[Ma];return El?this.S(El,va):(El={tokens:this.o,lastAccess:va},this.t[Ma]=El),El.tokens===0||(El.tokens--,El.tokens===0&&((ba=this.i)==null||ba.call(this,ma)),El.tokens===0)}stop(){this.t={}}};var X$4="Mobile",Q$5="iOS",Z$4="Android",tt$1="Tablet",it$1=Z$4+" "+tt$1,et$1="iPad",rt$1="Apple",st$1=rt$1+" Watch",nt$1="Safari",ot$1="BlackBerry",at$1="Samsung",lt$1=at$1+"Browser",ut$1=at$1+" Internet",ht$1="Chrome",dt$2=ht$1+" OS",vt$1=ht$1+" "+Q$5,ct$1="Internet Explorer",ft$1=ct$1+" "+X$4,pt$1="Opera",gt$2=pt$1+" Mini",_t$1="Edge",mt$1="Microsoft "+_t$1,yt$1="Firefox",bt=yt$1+" "+Q$5,wt$1="Nintendo",xt="PlayStation",Et$2="Xbox",$t=Z$4+" "+X$4,St$1=X$4+" "+nt$1,kt$1="Windows",Pt$2=kt$1+" Phone",Tt$1="Nokia",It$1="Ouya",Ct$1="Generic",Rt$1=Ct$1+" "+X$4.toLowerCase(),Ft$2=Ct$1+" "+tt$1.toLowerCase(),Mt$2="Konqueror",Ot="(\\d+(\\.\\d+)?)",At$1=new RegExp("Version/"+Ot),Dt$1=new RegExp(Et$2,"i"),jt=new RegExp(xt+" \\w+","i"),Lt=new RegExp(wt$1+" \\w+","i"),Nt=new RegExp(ot$1+"|PlayBook|BB10","i"),Ut={"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"},zt,Ht,Bt$1,qt=(ya,ma)=>ma&&w$9(ma,rt$1)||(function(ba){return w$9(ba,nt$1)&&!w$9(ba,ht$1)&&!w$9(ba,Z$4)})(ya),Wt=function(ya,ma){return ma=ma||"",w$9(ya," OPR/")&&w$9(ya,"Mini")?gt$2:w$9(ya," OPR/")?pt$1:Nt.test(ya)?ot$1:w$9(ya,"IE"+X$4)||w$9(ya,"WPDesktop")?ft$1:w$9(ya,lt$1)?ut$1:w$9(ya,_t$1)||w$9(ya,"Edg/")?mt$1:w$9(ya,"FBIOS")?"Facebook "+X$4:w$9(ya,"UCWEB")||w$9(ya,"UCBrowser")?"UC Browser":w$9(ya,"CriOS")?vt$1:w$9(ya,"CrMo")||w$9(ya,ht$1)?ht$1:w$9(ya,Z$4)&&w$9(ya,nt$1)?$t:w$9(ya,"FxiOS")?bt:w$9(ya.toLowerCase(),Mt$2.toLowerCase())?Mt$2:qt(ya,ma)?w$9(ya,X$4)?St$1:nt$1:w$9(ya,yt$1)?yt$1:w$9(ya,"MSIE")||w$9(ya,"Trident/")?ct$1:w$9(ya,"Gecko")?yt$1:""},Gt={[ft$1]:[new RegExp("rv:"+Ot)],[mt$1]:[new RegExp(_t$1+"?\\/"+Ot)],[ht$1]:[new RegExp("("+ht$1+"|CrMo)\\/"+Ot)],[vt$1]:[new RegExp("CriOS\\/"+Ot)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Ot)],[nt$1]:[At$1],[St$1]:[At$1],[pt$1]:[new RegExp("(Opera|OPR)\\/"+Ot)],[yt$1]:[new RegExp(yt$1+"\\/"+Ot)],[bt]:[new RegExp("FxiOS\\/"+Ot)],[Mt$2]:[new RegExp("Konqueror[:/]?"+Ot,"i")],[ot$1]:[new RegExp(ot$1+" "+Ot),At$1],[$t]:[new RegExp("android\\s"+Ot,"i")],[ut$1]:[new RegExp(lt$1+"\\/"+Ot)],[ct$1]:[new RegExp("(rv:|MSIE )"+Ot)],Mozilla:[new RegExp("rv:"+Ot)]},Vt=function(ya,ma){var ba=Wt(ya,ma),va=Gt[ba];if(M$6(va))return null;for(var Ma=0;Ma<va.length;Ma++){var El=va[Ma],wl=ya.match(El);if(wl)return parseFloat(wl[wl.length-2])}return null},Jt=[[new RegExp(Et$2+"; "+Et$2+" (.*?)[);]","i"),ya=>[Et$2,ya&&ya[1]||""]],[new RegExp(wt$1,"i"),[wt$1,""]],[new RegExp(xt,"i"),[xt,""]],[Nt,[ot$1,""]],[new RegExp(kt$1,"i"),(ya,ma)=>{if(/Phone/.test(ma)||/WPDesktop/.test(ma))return[Pt$2,""];if(new RegExp(X$4).test(ma)&&!/IEMobile\b/.test(ma))return[kt$1+" "+X$4,""];var ba=/Windows NT ([0-9.]+)/i.exec(ma);if(ba&&ba[1]){var va=ba[1],Ma=Ut[va]||"";return/arm/i.test(ma)&&(Ma="RT"),[kt$1,Ma]}return[kt$1,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,ya=>{if(ya&&ya[3]){var ma=[ya[3],ya[4],ya[5]||"0"];return[Q$5,ma.join(".")]}return[Q$5,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,ya=>{var ma="";return ya&&ya.length>=3&&(ma=M$6(ya[2])?ya[3]:ya[2]),["watchOS",ma]}],[new RegExp("("+Z$4+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+Z$4+")","i"),ya=>{if(ya&&ya[2]){var ma=[ya[2],ya[3],ya[4]||"0"];return[Z$4,ma.join(".")]}return[Z$4,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,ya=>{var ma=["Mac OS X",""];if(ya&&ya[1]){var ba=[ya[1],ya[2],ya[3]||"0"];ma[1]=ba.join(".")}return ma}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[dt$2,""]],[/Linux|debian/i,["Linux",""]]],Kt=function(ya){return Lt.test(ya)?wt$1:jt.test(ya)?xt:Dt$1.test(ya)?Et$2:new RegExp(It$1,"i").test(ya)?It$1:new RegExp("("+Pt$2+"|WPDesktop)","i").test(ya)?Pt$2:/iPad/.test(ya)?et$1:/iPod/.test(ya)?"iPod Touch":/iPhone/.test(ya)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(ya)?st$1:Nt.test(ya)?ot$1:/(kobo)\s(ereader|touch)/i.test(ya)?"Kobo":new RegExp(Tt$1,"i").test(ya)?Tt$1:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(ya)||/(kf[a-z]+)( bui|\)).+silk\//i.test(ya)?"Kindle Fire":/(Android|ZTE)/i.test(ya)?new RegExp(X$4).test(ya)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(ya)||/pixel[\daxl ]{1,6}/i.test(ya)&&!/pixel c/i.test(ya)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(ya)||/lmy47v/i.test(ya)&&!/QTAQZ3/i.test(ya)?Z$4:it$1:new RegExp("(pda|"+X$4+")","i").test(ya)?Rt$1:new RegExp(tt$1,"i").test(ya)&&!new RegExp(tt$1+" pc","i").test(ya)?Ft$2:""},Yt=ya=>ya instanceof Error;function Xt(ya){var ma=globalThis._posthogChunkIds;if(ma){var ba=Object.keys(ma);return Bt$1&&ba.length===Ht||(Ht=ba.length,Bt$1=ba.reduce(((va,Ma)=>{zt||(zt={});var El=zt[Ma];if(El)va[El[0]]=El[1];else for(var wl=ya(Ma),Sl=wl.length-1;Sl>=0;Sl--){var Cl=wl[Sl],Mc=Cl?.filename,Ef=ma[Ma];if(Mc&&Ef){va[Mc]=Ef,zt[Ma]=[Mc,Ef];break}}return va}),{})),Bt$1}}class Qt{constructor(ma,ba,va){va===void 0&&(va=[]),this.coercers=ma,this.stackParser=ba,this.modifiers=va}buildFromUnknown(ma,ba){ba===void 0&&(ba={});var va=ba&&ba.mechanism||{handled:!0,type:"generic"},Ma=this.buildCoercingContext(va,ba,0).apply(ma),El=this.buildParsingContext(),wl=this.parseStacktrace(Ma,El);return{$exception_list:this.convertToExceptionList(wl,va),$exception_level:"error"}}modifyFrames(ma){var ba=this;return p$c((function*(){for(var va of ma)va.stacktrace&&va.stacktrace.frames&&I$8(va.stacktrace.frames)&&(va.stacktrace.frames=yield ba.applyModifiers(va.stacktrace.frames));return ma}))()}coerceFallback(ma){var ba;return{type:"Error",value:"Unknown error",stack:(ba=ma.syntheticException)==null?void 0:ba.stack,synthetic:!0}}parseStacktrace(ma,ba){var va,Ma;return ma.cause!=null&&(va=this.parseStacktrace(ma.cause,ba)),ma.stack!=""&&ma.stack!=null&&(Ma=this.applyChunkIds(this.stackParser(ma.stack,ma.synthetic?1:0),ba.chunkIdMap)),g$8({},ma,{cause:va,stack:Ma})}applyChunkIds(ma,ba){return ma.map((va=>(va.filename&&ba&&(va.chunk_id=ba[va.filename]),va)))}applyCoercers(ma,ba){for(var va of this.coercers)if(va.match(ma))return va.coerce(ma,ba);return this.coerceFallback(ba)}applyModifiers(ma){var ba=this;return p$c((function*(){var va=ma;for(var Ma of ba.modifiers)va=yield Ma(va);return va}))()}convertToExceptionList(ma,ba){var va,Ma,El,wl={type:ma.type,value:ma.value,mechanism:{type:(va=ba.type)!==null&&va!==void 0?va:"generic",handled:(Ma=ba.handled)===null||Ma===void 0||Ma,synthetic:(El=ma.synthetic)!==null&&El!==void 0&&El}};ma.stack&&(wl.stacktrace={type:"raw",frames:ma.stack});var Sl=[wl];return ma.cause!=null&&Sl.push(...this.convertToExceptionList(ma.cause,g$8({},ba,{handled:!0}))),Sl}buildParsingContext(){return{chunkIdMap:Xt(this.stackParser)}}buildCoercingContext(ma,ba,va){va===void 0&&(va=0);var Ma=(El,wl)=>{if(wl<=4){var Sl=this.buildCoercingContext(ma,ba,wl);return this.applyCoercers(El,Sl)}};return g$8({},ba,{syntheticException:va==0?ba.syntheticException:void 0,mechanism:ma,apply:El=>Ma(El,va),next:El=>Ma(El,va+1)})}}var Zt="?";function ti(ya,ma,ba,va,Ma){var El={platform:ya,filename:ma,function:ba==="<anonymous>"?Zt:ba,in_app:!0};return M$6(va)||(El.lineno=va),M$6(Ma)||(El.colno=Ma),El}var ii=(ya,ma)=>{var ba=ya.indexOf("safari-extension")!==-1,va=ya.indexOf("safari-web-extension")!==-1;return ba||va?[ya.indexOf("@")!==-1?ya.split("@")[0]:Zt,ba?"safari-extension:"+ma:"safari-web-extension:"+ma]:[ya,ma]},ei=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,ri=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,si=/\((\S*)(?::(\d+))(?::(\d+))\)/,ni=(ya,ma)=>{var ba=ei.exec(ya);if(ba){var[,va,Ma,El]=ba;return ti(ma,va,Zt,+Ma,+El)}var wl=ri.exec(ya);if(wl){if(wl[2]&&wl[2].indexOf("eval")===0){var Sl=si.exec(wl[2]);Sl&&(wl[2]=Sl[1],wl[3]=Sl[2],wl[4]=Sl[3])}var[Cl,Mc]=ii(wl[1]||Zt,wl[2]);return ti(ma,Mc,Cl,wl[3]?+wl[3]:void 0,wl[4]?+wl[4]:void 0)}},oi=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,ai=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,li=(ya,ma)=>{var ba=oi.exec(ya);if(ba){if(ba[3]&&ba[3].indexOf(" > eval")>-1){var va=ai.exec(ba[3]);va&&(ba[1]=ba[1]||"eval",ba[3]=va[1],ba[4]=va[2],ba[5]="")}var Ma=ba[3],El=ba[1]||Zt;return[El,Ma]=ii(El,Ma),ti(ma,Ma,El,ba[4]?+ba[4]:void 0,ba[5]?+ba[5]:void 0)}},ui=/\(error: (.*)\)/,hi=50;function di(){return(function(ya){for(var ma=arguments.length,ba=new Array(ma>1?ma-1:0),va=1;va<ma;va++)ba[va-1]=arguments[va];return function(Ma,El){El===void 0&&(El=0);for(var wl=[],Sl=Ma.split(`
20764
+ `);var L$7=ya=>typeof ya=="number"&&!isNaN(ya),N$7=ya=>typeof ya=="string",P$a=ya=>typeof ya=="function",mt$2=ya=>N$7(ya)||L$7(ya),B$6=ya=>N$7(ya)||P$a(ya)?ya:null,pt$2=(ya,ma)=>ya===!1||L$7(ya)&&ya>0?ya:ma,z$6=ya=>reactExports.isValidElement(ya)||N$7(ya)||P$a(ya)||L$7(ya);function Z$5(ya,ma,ba=300){let{scrollHeight:va,style:Ma}=ya;requestAnimationFrame(()=>{Ma.minHeight="initial",Ma.height=va+"px",Ma.transition=`all ${ba}ms`,requestAnimationFrame(()=>{Ma.height="0",Ma.padding="0",Ma.margin="0",setTimeout(ma,ba)})})}function $$6({enter:ya,exit:ma,appendPosition:ba=!1,collapse:va=!0,collapseDuration:Ma=300}){return function({children:El,position:wl,preventExitTransition:Sl,done:Cl,nodeRef:Mc,isIn:Ef,playToast:Zf}){let Jf=ba?`${ya}--${wl}`:ya,dp=ba?`${ma}--${wl}`:ma,hp=reactExports.useRef(0);return reactExports.useLayoutEffect(()=>{let dg=Mc.current,pg=Jf.split(" "),hg=mg=>{mg.target===Mc.current&&(Zf(),dg.removeEventListener("animationend",hg),dg.removeEventListener("animationcancel",hg),hp.current===0&&mg.type!=="animationcancel"&&dg.classList.remove(...pg))};dg.classList.add(...pg),dg.addEventListener("animationend",hg),dg.addEventListener("animationcancel",hg)},[]),reactExports.useEffect(()=>{let dg=Mc.current,pg=()=>{dg.removeEventListener("animationend",pg),va?Z$5(dg,Cl,Ma):Cl()};Ef||(Sl?pg():(hp.current=1,dg.className+=` ${dp}`,dg.addEventListener("animationend",pg)))},[Ef]),React.createElement(React.Fragment,null,El)}}function J$6(ya,ma){return{content:tt$2(ya.content,ya.props),containerId:ya.props.containerId,id:ya.props.toastId,theme:ya.props.theme,type:ya.props.type,data:ya.props.data||{},isLoading:ya.props.isLoading,icon:ya.props.icon,reason:ya.removalReason,status:ma}}function tt$2(ya,ma,ba=!1){return reactExports.isValidElement(ya)&&!N$7(ya.type)?reactExports.cloneElement(ya,{closeToast:ma.closeToast,toastProps:ma,data:ma.data,isPaused:ba}):P$a(ya)?ya({closeToast:ma.closeToast,toastProps:ma,data:ma.data,isPaused:ba}):ya}function yt$2({closeToast:ya,theme:ma,ariaLabel:ba="close"}){return React.createElement("button",{className:`Toastify__close-button Toastify__close-button--${ma}`,type:"button",onClick:va=>{va.stopPropagation(),ya(!0)},"aria-label":ba},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:ya,isRunning:ma,closeToast:ba,type:va="default",hide:Ma,className:El,controlledProgress:wl,progress:Sl,rtl:Cl,isIn:Mc,theme:Ef}){let Zf=Ma||wl&&Sl===0,Jf={animationDuration:`${ya}ms`,animationPlayState:ma?"running":"paused"};wl&&(Jf.transform=`scaleX(${Sl})`);let dp=clsx("Toastify__progress-bar",wl?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${Ef}`,`Toastify__progress-bar--${va}`,{"Toastify__progress-bar--rtl":Cl}),hp=P$a(El)?El({rtl:Cl,type:va,defaultClassName:dp}):clsx(dp,El),dg={[wl&&Sl>=1?"onTransitionEnd":"onAnimationEnd"]:wl&&Sl<1?null:()=>{Mc&&ba()}};return React.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":Zf},React.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${Ef} Toastify__progress-bar--${va}`}),React.createElement("div",{role:"progressbar","aria-hidden":Zf?"true":"false","aria-label":"notification timer",className:hp,style:Jf,...dg}))}var Xt$1=1,at$2=()=>`${Xt$1++}`;function _t$2(ya,ma,ba){let va=1,Ma=0,El=[],wl=[],Sl=ma,Cl=new Map,Mc=new Set,Ef=mg=>(Mc.add(mg),()=>Mc.delete(mg)),Zf=()=>{wl=Array.from(Cl.values()),Mc.forEach(mg=>mg())},Jf=({containerId:mg,toastId:gg,updateId:sy})=>{let ly=mg?mg!==ya:ya!==1,cy=Cl.has(gg)&&sy==null;return ly||cy},dp=(mg,gg)=>{Cl.forEach(sy=>{var ly;(gg==null||gg===sy.props.toastId)&&((ly=sy.toggle)==null||ly.call(sy,mg))})},hp=mg=>{var gg,sy;(sy=(gg=mg.props)==null?void 0:gg.onClose)==null||sy.call(gg,mg.removalReason),mg.isActive=!1},dg=mg=>{if(mg==null)Cl.forEach(hp);else{let gg=Cl.get(mg);gg&&hp(gg)}Zf()},pg=()=>{Ma-=El.length,El=[]},hg=mg=>{var gg,sy;let{toastId:ly,updateId:cy}=mg.props,uy=cy==null;mg.staleId&&Cl.delete(mg.staleId),mg.isActive=!0,Cl.set(ly,mg),Zf(),ba(J$6(mg,uy?"added":"updated")),uy&&((sy=(gg=mg.props).onOpen)==null||sy.call(gg))};return{id:ya,props:Sl,observe:Ef,toggle:dp,removeToast:dg,toasts:Cl,clearQueue:pg,buildToast:(mg,gg)=>{if(Jf(gg))return;let{toastId:sy,updateId:ly,data:cy,staleId:uy,delay:H1}=gg,lE=ly==null;lE&&Ma++;let R_={...Sl,style:Sl.toastStyle,key:va++,...Object.fromEntries(Object.entries(gg).filter(([q1,n0])=>n0!=null)),toastId:sy,updateId:ly,data:cy,isIn:!1,className:B$6(gg.className||Sl.toastClassName),progressClassName:B$6(gg.progressClassName||Sl.progressClassName),autoClose:gg.isLoading?!1:pt$2(gg.autoClose,Sl.autoClose),closeToast(q1){Cl.get(sy).removalReason=q1,dg(sy)},deleteToast(){let q1=Cl.get(sy);if(q1!=null){if(ba(J$6(q1,"removed")),Cl.delete(sy),Ma--,Ma<0&&(Ma=0),El.length>0){hg(El.shift());return}Zf()}}};R_.closeButton=Sl.closeButton,gg.closeButton===!1||z$6(gg.closeButton)?R_.closeButton=gg.closeButton:gg.closeButton===!0&&(R_.closeButton=z$6(Sl.closeButton)?Sl.closeButton:!0);let V1={content:mg,props:R_,staleId:uy};Sl.limit&&Sl.limit>0&&Ma>Sl.limit&&lE?El.push(V1):L$7(H1)?setTimeout(()=>{hg(V1)},H1):hg(V1)},setProps(mg){Sl=mg},setToggle:(mg,gg)=>{let sy=Cl.get(mg);sy&&(sy.toggle=gg)},isToastActive:mg=>{var gg;return(gg=Cl.get(mg))==null?void 0:gg.isActive},getSnapshot:()=>wl}}var I$9=new Map,F$9=[],st$2=new Set,Vt$1=ya=>st$2.forEach(ma=>ma(ya)),bt$1=()=>I$9.size>0;function Qt$1(){F$9.forEach(ya=>nt$2(ya.content,ya.options)),F$9=[]}var vt$2=(ya,{containerId:ma})=>{var ba;return(ba=I$9.get(ma||1))==null?void 0:ba.toasts.get(ya)};function X$5(ya,ma){var ba;if(ma)return!!((ba=I$9.get(ma))!=null&&ba.isToastActive(ya));let va=!1;return I$9.forEach(Ma=>{Ma.isToastActive(ya)&&(va=!0)}),va}function ht$2(ya){if(!bt$1()){F$9=F$9.filter(ma=>ya!=null&&ma.options.toastId!==ya);return}if(ya==null||mt$2(ya))I$9.forEach(ma=>{ma.removeToast(ya)});else if(ya&&("containerId"in ya||"id"in ya)){let ma=I$9.get(ya.containerId);ma?ma.removeToast(ya.id):I$9.forEach(ba=>{ba.removeToast(ya.id)})}}var Ct$2=(ya={})=>{I$9.forEach(ma=>{ma.props.limit&&(!ya.containerId||ma.id===ya.containerId)&&ma.clearQueue()})};function nt$2(ya,ma){z$6(ya)&&(bt$1()||F$9.push({content:ya,options:ma}),I$9.forEach(ba=>{ba.buildToast(ya,ma)}))}function xt$1(ya){var ma;(ma=I$9.get(ya.containerId||1))==null||ma.setToggle(ya.id,ya.fn)}function rt$2(ya,ma){I$9.forEach(ba=>{(ma==null||!(ma!=null&&ma.containerId)||ma?.containerId===ba.id)&&ba.toggle(ya,ma?.id)})}function Et$3(ya){let ma=ya.containerId||1;return{subscribe(ba){let va=_t$2(ma,ya,Vt$1);I$9.set(ma,va);let Ma=va.observe(ba);return Qt$1(),()=>{Ma(),I$9.delete(ma)}},setProps(ba){var va;(va=I$9.get(ma))==null||va.setProps(ba)},getSnapshot(){var ba;return(ba=I$9.get(ma))==null?void 0:ba.getSnapshot()}}}function Pt$3(ya){return st$2.add(ya),()=>{st$2.delete(ya)}}function Wt$1(ya){return ya&&(N$7(ya.toastId)||L$7(ya.toastId))?ya.toastId:at$2()}function U$5(ya,ma){return nt$2(ya,ma),ma.toastId}function V$8(ya,ma){return{...ma,type:ma&&ma.type||ya,toastId:Wt$1(ma)}}function Q$6(ya){return(ma,ba)=>U$5(ma,V$8(ya,ba))}function y$b(ya,ma){return U$5(ya,V$8("default",ma))}y$b.loading=(ya,ma)=>U$5(ya,V$8("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...ma}));function Gt$1(ya,{pending:ma,error:ba,success:va},Ma){let El;ma&&(El=N$7(ma)?y$b.loading(ma,Ma):y$b.loading(ma.render,{...Ma,...ma}));let wl={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},Sl=(Mc,Ef,Zf)=>{if(Ef==null){y$b.dismiss(El);return}let Jf={type:Mc,...wl,...Ma,data:Zf},dp=N$7(Ef)?{render:Ef}:Ef;return El?y$b.update(El,{...Jf,...dp}):y$b(dp.render,{...Jf,...dp}),Zf},Cl=P$a(ya)?ya():ya;return Cl.then(Mc=>Sl("success",va,Mc)).catch(Mc=>Sl("error",ba,Mc)),Cl}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=(ya,ma)=>U$5(ya,V$8("default",{theme:"dark",...ma}));function qt$1(ya){ht$2(ya)}y$b.dismiss=qt$1;y$b.clearWaitingQueue=Ct$2;y$b.isActive=X$5;y$b.update=(ya,ma={})=>{let ba=vt$2(ya,ma);if(ba){let{props:va,content:Ma}=ba,El={delay:100,...va,...ma,toastId:ma.toastId||ya,updateId:at$2()};El.toastId!==ya&&(El.staleId=ya);let wl=El.render||Ma;delete El.render,U$5(wl,El)}};y$b.done=ya=>{y$b.update(ya,{progress:1})};y$b.onChange=Pt$3;y$b.play=ya=>rt$2(!0,ya);y$b.pause=ya=>rt$2(!1,ya);function It$2(ya){var ma;let{subscribe:ba,getSnapshot:va,setProps:Ma}=reactExports.useRef(Et$3(ya)).current;Ma(ya);let El=(ma=reactExports.useSyncExternalStore(ba,va,va))==null?void 0:ma.slice();function wl(Sl){if(!El)return[];let Cl=new Map;return ya.newestOnTop&&El.reverse(),El.forEach(Mc=>{let{position:Ef}=Mc.props;Cl.has(Ef)||Cl.set(Ef,[]),Cl.get(Ef).push(Mc)}),Array.from(Cl,Mc=>Sl(Mc[0],Mc[1]))}return{getToastToRender:wl,isToastActive:X$5,count:El?.length}}function At$2(ya){let[ma,ba]=reactExports.useState(!1),[va,Ma]=reactExports.useState(!1),El=reactExports.useRef(null),wl=reactExports.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:Sl,pauseOnHover:Cl,closeToast:Mc,onClick:Ef,closeOnClick:Zf}=ya;xt$1({id:ya.toastId,containerId:ya.containerId,fn:ba}),reactExports.useEffect(()=>{if(ya.pauseOnFocusLoss)return Jf(),()=>{dp()}},[ya.pauseOnFocusLoss]);function Jf(){document.hasFocus()||hg(),window.addEventListener("focus",pg),window.addEventListener("blur",hg)}function dp(){window.removeEventListener("focus",pg),window.removeEventListener("blur",hg)}function hp(uy){if(ya.draggable===!0||ya.draggable===uy.pointerType){mg();let H1=El.current;wl.canCloseOnClick=!0,wl.canDrag=!0,H1.style.transition="none",ya.draggableDirection==="x"?(wl.start=uy.clientX,wl.removalDistance=H1.offsetWidth*(ya.draggablePercent/100)):(wl.start=uy.clientY,wl.removalDistance=H1.offsetHeight*(ya.draggablePercent===80?ya.draggablePercent*1.5:ya.draggablePercent)/100)}}function dg(uy){let{top:H1,bottom:lE,left:R_,right:V1}=El.current.getBoundingClientRect();uy.nativeEvent.type!=="touchend"&&ya.pauseOnHover&&uy.clientX>=R_&&uy.clientX<=V1&&uy.clientY>=H1&&uy.clientY<=lE?hg():pg()}function pg(){ba(!0)}function hg(){ba(!1)}function mg(){wl.didMove=!1,document.addEventListener("pointermove",sy),document.addEventListener("pointerup",ly)}function gg(){document.removeEventListener("pointermove",sy),document.removeEventListener("pointerup",ly)}function sy(uy){let H1=El.current;if(wl.canDrag&&H1){wl.didMove=!0,ma&&hg(),ya.draggableDirection==="x"?wl.delta=uy.clientX-wl.start:wl.delta=uy.clientY-wl.start,wl.start!==uy.clientX&&(wl.canCloseOnClick=!1);let lE=ya.draggableDirection==="x"?`${wl.delta}px, var(--y)`:`0, calc(${wl.delta}px + var(--y))`;H1.style.transform=`translate3d(${lE},0)`,H1.style.opacity=`${1-Math.abs(wl.delta/wl.removalDistance)}`}}function ly(){gg();let uy=El.current;if(wl.canDrag&&wl.didMove&&uy){if(wl.canDrag=!1,Math.abs(wl.delta)>wl.removalDistance){Ma(!0),ya.closeToast(!0),ya.collapseAll();return}uy.style.transition="transform 0.2s, opacity 0.2s",uy.style.removeProperty("transform"),uy.style.removeProperty("opacity")}}let cy={onPointerDown:hp,onPointerUp:dg};return Sl&&Cl&&(cy.onMouseEnter=hg,ya.stacked||(cy.onMouseLeave=pg)),Zf&&(cy.onClick=uy=>{Ef&&Ef(uy),wl.canCloseOnClick&&Mc(!0)}),{playToast:pg,pauseToast:hg,isRunning:ma,preventExitTransition:va,toastRef:El,eventHandlers:cy}}var Ot$1=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect,G$6=({theme:ya,type:ma,isLoading:ba,...va})=>React.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:ya==="colored"?"currentColor":`var(--toastify-icon-color-${ma})`,...va});function ao$1(ya){return React.createElement(G$6,{...ya},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(ya){return React.createElement(G$6,{...ya},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(ya){return React.createElement(G$6,{...ya},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(ya){return React.createElement(G$6,{...ya},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=ya=>ya in W$5;function Nt$1({theme:ya,type:ma,isLoading:ba,icon:va}){let Ma=null,El={theme:ya,type:ma};return va===!1||(P$a(va)?Ma=va({...El,isLoading:ba}):reactExports.isValidElement(va)?Ma=reactExports.cloneElement(va,El):ba?Ma=W$5.spinner():lo$2(ma)&&(Ma=W$5[ma](El))),Ma}var wt$2=ya=>{let{isRunning:ma,preventExitTransition:ba,toastRef:va,eventHandlers:Ma,playToast:El}=At$2(ya),{closeButton:wl,children:Sl,autoClose:Cl,onClick:Mc,type:Ef,hideProgressBar:Zf,closeToast:Jf,transition:dp,position:hp,className:dg,style:pg,progressClassName:hg,updateId:mg,role:gg,progress:sy,rtl:ly,toastId:cy,deleteToast:uy,isIn:H1,isLoading:lE,closeOnClick:R_,theme:V1,ariaLabel:q1}=ya,n0=clsx("Toastify__toast",`Toastify__toast-theme--${V1}`,`Toastify__toast--${Ef}`,{"Toastify__toast--rtl":ly},{"Toastify__toast--close-on-click":R_}),aE=P$a(dg)?dg({rtl:ly,position:hp,type:Ef,defaultClassName:n0}):clsx(n0,dg),P_=Nt$1(ya),O_=!!sy||!Cl,sN={closeToast:Jf,type:Ef,theme:V1},uN=null;return wl===!1||(P$a(wl)?uN=wl(sN):reactExports.isValidElement(wl)?uN=reactExports.cloneElement(wl,sN):uN=yt$2(sN)),React.createElement(dp,{isIn:H1,done:uy,position:hp,preventExitTransition:ba,nodeRef:va,playToast:El},React.createElement("div",{id:cy,tabIndex:0,onClick:Mc,"data-in":H1,className:aE,...Ma,style:pg,ref:va,...H1&&{role:gg,"aria-label":q1}},P_!=null&&React.createElement("div",{className:clsx("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!lE})},P_),tt$2(Sl,ya,!ma),uN,!ya.customProgressBar&&React.createElement(gt$3,{...mg&&!O_?{key:`p-${mg}`}:{},rtl:ly,theme:V1,delay:Cl,isRunning:ma,isIn:H1,closeToast:Jf,hide:Zf,type:Ef,className:hg,controlledProgress:O_,progress:sy||0})))},K$7=(ya,ma=!1)=>({enter:`Toastify--animate Toastify__${ya}-enter`,exit:`Toastify--animate Toastify__${ya}-exit`,appendPosition:ma}),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:ya=>ya.altKey&&ya.code==="KeyT"};function Lt$1(ya){let ma={..._o$1,...ya},ba=ya.stacked,[va,Ma]=reactExports.useState(!0),El=reactExports.useRef(null),{getToastToRender:wl,isToastActive:Sl,count:Cl}=It$2(ma),{className:Mc,style:Ef,rtl:Zf,containerId:Jf,hotKeys:dp}=ma;function hp(pg){let hg=clsx("Toastify__toast-container",`Toastify__toast-container--${pg}`,{"Toastify__toast-container--rtl":Zf});return P$a(Mc)?Mc({position:pg,rtl:Zf,defaultClassName:hg}):clsx(hg,B$6(Mc))}function dg(){ba&&(Ma(!0),y$b.play())}return Ot$1(()=>{var pg;if(ba){let hg=El.current.querySelectorAll('[data-in="true"]'),mg=12,gg=(pg=ma.position)==null?void 0:pg.includes("top"),sy=0,ly=0;Array.from(hg).reverse().forEach((cy,uy)=>{let H1=cy;H1.classList.add("Toastify__toast--stacked"),uy>0&&(H1.dataset.collapsed=`${va}`),H1.dataset.pos||(H1.dataset.pos=gg?"top":"bot");let lE=sy*(va?.2:1)+(va?0:mg*uy);H1.style.setProperty("--y",`${gg?lE:lE*-1}px`),H1.style.setProperty("--g",`${mg}`),H1.style.setProperty("--s",`${1-(va?ly:0)}`),sy+=H1.offsetHeight,ly+=.025})}},[va,Cl,ba]),reactExports.useEffect(()=>{function pg(hg){var mg;let gg=El.current;dp(hg)&&((mg=gg.querySelector('[tabIndex="0"]'))==null||mg.focus(),Ma(!1),y$b.pause()),hg.key==="Escape"&&(document.activeElement===gg||gg!=null&&gg.contains(document.activeElement))&&(Ma(!0),y$b.play())}return document.addEventListener("keydown",pg),()=>{document.removeEventListener("keydown",pg)}},[dp]),React.createElement("section",{ref:El,className:"Toastify",id:Jf,onMouseEnter:()=>{ba&&(Ma(!1),y$b.pause())},onMouseLeave:dg,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":ma["aria-label"]},wl((pg,hg)=>{let mg=hg.length?{...Ef}:{...Ef,pointerEvents:"none"};return React.createElement("div",{tabIndex:-1,className:hp(pg),"data-stacked":ba,style:mg,key:`c-${pg}`},hg.map(({content:gg,props:sy})=>React.createElement(wt$2,{...sy,stacked:ba,collapseAll:dg,isIn:Sl(sy.toastId,sy.containerId),key:`t-${sy.key}`},gg)))}))}const RECENTLY_VISITED_TEAMS_KEY="recently-visited-teams",MAX_RECENTLY_VISITED=10;function transformSimpleTeamToTeam(ya){return{Branch:ya.branch||"",Config:ya.config||{},CreatedAt:ya.createdAt||"",Dependencies:ya.dependencies||{FractlModels:[],ClojureLibraries:[]},Description:ya.description||"",EntityType:ya.entityType||"",GitHubOrg:ya.gitHubOrg||"",GitHubRepo:ya.gitHubRepo||"",GithubUrl:ya.githubUrl||"",Id:ya.id||"",__Id__:ya.__Id__||ya.id||"",LastUpdatedAt:ya.lastUpdatedAt||"",Name:ya.name||"",Owner:ya.owner||"",Tags:ya.tags||null,Type:ya.type||"",Version:ya.version||"",isEditable:ya.isEditable||!1,isPin:ya.isPin==="true"||ya.isPin===!0}}function getRecentlyVisitedTeams(){try{const ya=localStorage.getItem(RECENTLY_VISITED_TEAMS_KEY);return ya?JSON.parse(ya):[]}catch{return[]}}function addRecentlyVisitedTeam(ya){try{const ba=getRecentlyVisitedTeams().filter(Ma=>Ma!==ya),va=[ya,...ba].slice(0,MAX_RECENTLY_VISITED);localStorage.setItem(RECENTLY_VISITED_TEAMS_KEY,JSON.stringify(va))}catch(ma){console.warn("Failed to save recently visited team:",ma)}}function filterAndSortTeams(ya,ma){return Object.values(ya).filter(va=>va.Name!==void 0).filter(va=>(va.Name??"").toLowerCase().includes(ma.toLowerCase())).sort((va,Ma)=>{const El=Number(Ma.isPin??!1)-Number(va.isPin??!1);if(El!==0)return El;const wl=(va.Name??"").toLowerCase(),Sl=(Ma.Name??"").toLowerCase();return wl.localeCompare(Sl)})}function getIconsTree(ya,ma){const ba=ya.icons,va=ya.aliases||Object.create(null),Ma=Object.create(null);function El(wl){if(ba[wl])return Ma[wl]=[];if(!(wl in Ma)){Ma[wl]=null;const Sl=va[wl]&&va[wl].parent,Cl=Sl&&El(Sl);Cl&&(Ma[wl]=[Sl].concat(Cl))}return Ma[wl]}return Object.keys(ba).concat(Object.keys(va)).forEach(El),Ma}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(ya,ma){const ba={};!ya.hFlip!=!ma.hFlip&&(ba.hFlip=!0),!ya.vFlip!=!ma.vFlip&&(ba.vFlip=!0);const va=((ya.rotate||0)+(ma.rotate||0))%4;return va&&(ba.rotate=va),ba}function mergeIconData(ya,ma){const ba=mergeIconTransformations(ya,ma);for(const va in defaultExtendedIconProps)va in defaultIconTransformations?va in ya&&!(va in ba)&&(ba[va]=defaultIconTransformations[va]):va in ma?ba[va]=ma[va]:va in ya&&(ba[va]=ya[va]);return ba}function internalGetIconData(ya,ma,ba){const va=ya.icons,Ma=ya.aliases||Object.create(null);let El={};function wl(Sl){El=mergeIconData(va[Sl]||Ma[Sl],El)}return wl(ma),ba.forEach(wl),mergeIconData(ya,El)}function parseIconSet(ya,ma){const ba=[];if(typeof ya!="object"||typeof ya.icons!="object")return ba;ya.not_found instanceof Array&&ya.not_found.forEach(Ma=>{ma(Ma,null),ba.push(Ma)});const va=getIconsTree(ya);for(const Ma in va){const El=va[Ma];El&&(ma(Ma,internalGetIconData(ya,Ma,El)),ba.push(Ma))}return ba}const optionalPropertyDefaults={provider:"",aliases:{},not_found:{},...defaultIconDimensions};function checkOptionalProps(ya,ma){for(const ba in ma)if(ba in ya&&typeof ya[ba]!=typeof ma[ba])return!1;return!0}function quicklyValidateIconSet(ya){if(typeof ya!="object"||ya===null)return null;const ma=ya;if(typeof ma.prefix!="string"||!ya.icons||typeof ya.icons!="object"||!checkOptionalProps(ya,optionalPropertyDefaults))return null;const ba=ma.icons;for(const Ma in ba){const El=ba[Ma];if(!Ma||typeof El.body!="string"||!checkOptionalProps(El,defaultExtendedIconProps))return null}const va=ma.aliases||Object.create(null);for(const Ma in va){const El=va[Ma],wl=El.parent;if(!Ma||typeof wl!="string"||!ba[wl]&&!va[wl]||!checkOptionalProps(El,defaultExtendedIconProps))return null}return ma}const dataStorage=Object.create(null);function newStorage(ya,ma){return{provider:ya,prefix:ma,icons:Object.create(null),missing:new Set}}function getStorage(ya,ma){const ba=dataStorage[ya]||(dataStorage[ya]=Object.create(null));return ba[ma]||(ba[ma]=newStorage(ya,ma))}function addIconSet(ya,ma){return quicklyValidateIconSet(ma)?parseIconSet(ma,(ba,va)=>{va?ya.icons[ba]=va:ya.missing.add(ba)}):[]}function addIconToStorage(ya,ma,ba){try{if(typeof ba.body=="string")return ya.icons[ma]={...ba},!0}catch{}return!1}const matchIconName=/^[a-z0-9]+(-[a-z0-9]+)*$/,stringToIcon=(ya,ma,ba,va="")=>{const Ma=ya.split(":");if(ya.slice(0,1)==="@"){if(Ma.length<2||Ma.length>3)return null;va=Ma.shift().slice(1)}if(Ma.length>3||!Ma.length)return null;if(Ma.length>1){const Sl=Ma.pop(),Cl=Ma.pop(),Mc={provider:Ma.length>0?Ma[0]:va,prefix:Cl,name:Sl};return ma&&!validateIconName(Mc)?null:Mc}const El=Ma[0],wl=El.split("-");if(wl.length>1){const Sl={provider:va,prefix:wl.shift(),name:wl.join("-")};return ma&&!validateIconName(Sl)?null:Sl}if(ba&&va===""){const Sl={provider:va,prefix:"",name:El};return ma&&!validateIconName(Sl,ba)?null:Sl}return null},validateIconName=(ya,ma)=>ya?!!((ma&&ya.prefix===""||ya.prefix)&&ya.name):!1;let simpleNames=!1;function allowSimpleNames(ya){return typeof ya=="boolean"&&(simpleNames=ya),simpleNames}function getIconData(ya){const ma=typeof ya=="string"?stringToIcon(ya,!0,simpleNames):ya;if(ma){const ba=getStorage(ma.provider,ma.prefix),va=ma.name;return ba.icons[va]||(ba.missing.has(va)?null:void 0)}}function addIcon(ya,ma){const ba=stringToIcon(ya,!0,simpleNames);if(!ba)return!1;const va=getStorage(ba.provider,ba.prefix);return ma?addIconToStorage(va,ba.name,ma):(va.missing.add(ba.name),!0)}function addCollection(ya,ma){if(typeof ya!="object")return!1;if(typeof ma!="string"&&(ma=ya.provider||""),simpleNames&&!ma&&!ya.prefix){let Ma=!1;return quicklyValidateIconSet(ya)&&(ya.prefix="",parseIconSet(ya,(El,wl)=>{addIcon(El,wl)&&(Ma=!0)})),Ma}const ba=ya.prefix;if(!validateIconName({prefix:ba,name:"a"}))return!1;const va=getStorage(ma,ba);return!!addIconSet(va,ya)}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(ya,ma,ba){if(ma===1)return ya;if(ba=ba||100,typeof ya=="number")return Math.ceil(ya*ma*ba)/ba;if(typeof ya!="string")return ya;const va=ya.split(unitsSplit);if(va===null||!va.length)return ya;const Ma=[];let El=va.shift(),wl=unitsTest.test(El);for(;;){if(wl){const Sl=parseFloat(El);isNaN(Sl)?Ma.push(El):Ma.push(Math.ceil(Sl*ma*ba)/ba)}else Ma.push(El);if(El=va.shift(),El===void 0)return Ma.join("");wl=!wl}}function splitSVGDefs(ya,ma="defs"){let ba="";const va=ya.indexOf("<"+ma);for(;va>=0;){const Ma=ya.indexOf(">",va),El=ya.indexOf("</"+ma);if(Ma===-1||El===-1)break;const wl=ya.indexOf(">",El);if(wl===-1)break;ba+=ya.slice(Ma+1,El).trim(),ya=ya.slice(0,va).trim()+ya.slice(wl+1)}return{defs:ba,content:ya}}function mergeDefsAndContent(ya,ma){return ya?"<defs>"+ya+"</defs>"+ma:ma}function wrapSVGContent(ya,ma,ba){const va=splitSVGDefs(ya);return mergeDefsAndContent(va.defs,ma+va.content+ba)}const isUnsetKeyword=ya=>ya==="unset"||ya==="undefined"||ya==="none";function iconToSVG(ya,ma){const ba={...defaultIconProps,...ya},va={...defaultIconCustomisations,...ma},Ma={left:ba.left,top:ba.top,width:ba.width,height:ba.height};let El=ba.body;[ba,va].forEach(dg=>{const pg=[],hg=dg.hFlip,mg=dg.vFlip;let gg=dg.rotate;hg?mg?gg+=2:(pg.push("translate("+(Ma.width+Ma.left).toString()+" "+(0-Ma.top).toString()+")"),pg.push("scale(-1 1)"),Ma.top=Ma.left=0):mg&&(pg.push("translate("+(0-Ma.left).toString()+" "+(Ma.height+Ma.top).toString()+")"),pg.push("scale(1 -1)"),Ma.top=Ma.left=0);let sy;switch(gg<0&&(gg-=Math.floor(gg/4)*4),gg=gg%4,gg){case 1:sy=Ma.height/2+Ma.top,pg.unshift("rotate(90 "+sy.toString()+" "+sy.toString()+")");break;case 2:pg.unshift("rotate(180 "+(Ma.width/2+Ma.left).toString()+" "+(Ma.height/2+Ma.top).toString()+")");break;case 3:sy=Ma.width/2+Ma.left,pg.unshift("rotate(-90 "+sy.toString()+" "+sy.toString()+")");break}gg%2===1&&(Ma.left!==Ma.top&&(sy=Ma.left,Ma.left=Ma.top,Ma.top=sy),Ma.width!==Ma.height&&(sy=Ma.width,Ma.width=Ma.height,Ma.height=sy)),pg.length&&(El=wrapSVGContent(El,'<g transform="'+pg.join(" ")+'">',"</g>"))});const wl=va.width,Sl=va.height,Cl=Ma.width,Mc=Ma.height;let Ef,Zf;wl===null?(Zf=Sl===null?"1em":Sl==="auto"?Mc:Sl,Ef=calculateSize(Zf,Cl/Mc)):(Ef=wl==="auto"?Cl:wl,Zf=Sl===null?calculateSize(Ef,Mc/Cl):Sl==="auto"?Mc:Sl);const Jf={},dp=(dg,pg)=>{isUnsetKeyword(pg)||(Jf[dg]=pg.toString())};dp("width",Ef),dp("height",Zf);const hp=[Ma.left,Ma.top,Cl,Mc];return Jf.viewBox=hp.join(" "),{attributes:Jf,viewBox:hp,body:El}}const regex=/\sid="(\S+)"/g,randomPrefix="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let counter=0;function replaceIDs(ya,ma=randomPrefix){const ba=[];let va;for(;va=regex.exec(ya);)ba.push(va[1]);if(!ba.length)return ya;const Ma="suffix"+(Math.random()*16777216|Date.now()).toString(16);return ba.forEach(El=>{const wl=typeof ma=="function"?ma(El):ma+(counter++).toString(),Sl=El.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");ya=ya.replace(new RegExp('([#;"])('+Sl+')([")]|\\.[a-z])',"g"),"$1"+wl+Ma+"$3")}),ya=ya.replace(new RegExp(Ma,"g"),""),ya}const storage=Object.create(null);function setAPIModule(ya,ma){storage[ya]=ma}function getAPIModule(ya){return storage[ya]||storage[""]}function createAPIConfig(ya){let ma;if(typeof ya.resources=="string")ma=[ya.resources];else if(ma=ya.resources,!(ma instanceof Array)||!ma.length)return null;return{resources:ma,path:ya.path||"/",maxURL:ya.maxURL||500,rotate:ya.rotate||750,timeout:ya.timeout||5e3,random:ya.random===!0,index:ya.index||0,dataAfterTimeout:ya.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(ya,ma){const ba=createAPIConfig(ma);return ba===null?!1:(configStorage[ya]=ba,!0)}function getAPIConfig(ya){return configStorage[ya]}const detectFetch=()=>{let ya;try{if(ya=fetch,typeof ya=="function")return ya}catch{}};let fetchModule=detectFetch();function calculateMaxLength(ya,ma){const ba=getAPIConfig(ya);if(!ba)return 0;let va;if(!ba.maxURL)va=0;else{let Ma=0;ba.resources.forEach(wl=>{Ma=Math.max(Ma,wl.length)});const El=ma+".json?icons=";va=ba.maxURL-Ma-ba.path.length-El.length}return va}function shouldAbort(ya){return ya===404}const prepare=(ya,ma,ba)=>{const va=[],Ma=calculateMaxLength(ya,ma),El="icons";let wl={type:El,provider:ya,prefix:ma,icons:[]},Sl=0;return ba.forEach((Cl,Mc)=>{Sl+=Cl.length+1,Sl>=Ma&&Mc>0&&(va.push(wl),wl={type:El,provider:ya,prefix:ma,icons:[]},Sl=Cl.length),wl.icons.push(Cl)}),va.push(wl),va};function getPath$2(ya){if(typeof ya=="string"){const ma=getAPIConfig(ya);if(ma)return ma.path}return"/"}const send=(ya,ma,ba)=>{if(!fetchModule){ba("abort",424);return}let va=getPath$2(ma.provider);switch(ma.type){case"icons":{const El=ma.prefix,Sl=ma.icons.join(","),Cl=new URLSearchParams({icons:Sl});va+=El+".json?"+Cl.toString();break}case"custom":{const El=ma.uri;va+=El.slice(0,1)==="/"?El.slice(1):El;break}default:ba("abort",400);return}let Ma=503;fetchModule(ya+va).then(El=>{const wl=El.status;if(wl!==200){setTimeout(()=>{ba(shouldAbort(wl)?"abort":"next",wl)});return}return Ma=501,El.json()}).then(El=>{if(typeof El!="object"||El===null){setTimeout(()=>{El===404?ba("abort",El):ba("next",Ma)});return}setTimeout(()=>{ba("success",El)})}).catch(()=>{ba("next",Ma)})},fetchAPIModule={prepare,send};function removeCallback(ya,ma){ya.forEach(ba=>{const va=ba.loaderCallbacks;va&&(ba.loaderCallbacks=va.filter(Ma=>Ma.id!==ma))})}function updateCallbacks(ya){ya.pendingCallbacksFlag||(ya.pendingCallbacksFlag=!0,setTimeout(()=>{ya.pendingCallbacksFlag=!1;const ma=ya.loaderCallbacks?ya.loaderCallbacks.slice(0):[];if(!ma.length)return;let ba=!1;const va=ya.provider,Ma=ya.prefix;ma.forEach(El=>{const wl=El.icons,Sl=wl.pending.length;wl.pending=wl.pending.filter(Cl=>{if(Cl.prefix!==Ma)return!0;const Mc=Cl.name;if(ya.icons[Mc])wl.loaded.push({provider:va,prefix:Ma,name:Mc});else if(ya.missing.has(Mc))wl.missing.push({provider:va,prefix:Ma,name:Mc});else return ba=!0,!0;return!1}),wl.pending.length!==Sl&&(ba||removeCallback([ya],El.id),El.callback(wl.loaded.slice(0),wl.missing.slice(0),wl.pending.slice(0),El.abort))})}))}let idCounter$1=0;function storeCallback(ya,ma,ba){const va=idCounter$1++,Ma=removeCallback.bind(null,ba,va);if(!ma.pending.length)return Ma;const El={id:va,icons:ma,callback:ya,abort:Ma};return ba.forEach(wl=>{(wl.loaderCallbacks||(wl.loaderCallbacks=[])).push(El)}),Ma}function sortIcons(ya){const ma={loaded:[],missing:[],pending:[]},ba=Object.create(null);ya.sort((Ma,El)=>Ma.provider!==El.provider?Ma.provider.localeCompare(El.provider):Ma.prefix!==El.prefix?Ma.prefix.localeCompare(El.prefix):Ma.name.localeCompare(El.name));let va={provider:"",prefix:"",name:""};return ya.forEach(Ma=>{if(va.name===Ma.name&&va.prefix===Ma.prefix&&va.provider===Ma.provider)return;va=Ma;const El=Ma.provider,wl=Ma.prefix,Sl=Ma.name,Cl=ba[El]||(ba[El]=Object.create(null)),Mc=Cl[wl]||(Cl[wl]=getStorage(El,wl));let Ef;Sl in Mc.icons?Ef=ma.loaded:wl===""||Mc.missing.has(Sl)?Ef=ma.missing:Ef=ma.pending;const Zf={provider:El,prefix:wl,name:Sl};Ef.push(Zf)}),ma}function listToIcons(ya,ma=!0,ba=!1){const va=[];return ya.forEach(Ma=>{const El=typeof Ma=="string"?stringToIcon(Ma,ma,ba):Ma;El&&va.push(El)}),va}const defaultConfig={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sendQuery(ya,ma,ba,va){const Ma=ya.resources.length,El=ya.random?Math.floor(Math.random()*Ma):ya.index;let wl;if(ya.random){let cy=ya.resources.slice(0);for(wl=[];cy.length>1;){const uy=Math.floor(Math.random()*cy.length);wl.push(cy[uy]),cy=cy.slice(0,uy).concat(cy.slice(uy+1))}wl=wl.concat(cy)}else wl=ya.resources.slice(El).concat(ya.resources.slice(0,El));const Sl=Date.now();let Cl="pending",Mc=0,Ef,Zf=null,Jf=[],dp=[];typeof va=="function"&&dp.push(va);function hp(){Zf&&(clearTimeout(Zf),Zf=null)}function dg(){Cl==="pending"&&(Cl="aborted"),hp(),Jf.forEach(cy=>{cy.status==="pending"&&(cy.status="aborted")}),Jf=[]}function pg(cy,uy){uy&&(dp=[]),typeof cy=="function"&&dp.push(cy)}function hg(){return{startTime:Sl,payload:ma,status:Cl,queriesSent:Mc,queriesPending:Jf.length,subscribe:pg,abort:dg}}function mg(){Cl="failed",dp.forEach(cy=>{cy(void 0,Ef)})}function gg(){Jf.forEach(cy=>{cy.status==="pending"&&(cy.status="aborted")}),Jf=[]}function sy(cy,uy,H1){const lE=uy!=="success";switch(Jf=Jf.filter(R_=>R_!==cy),Cl){case"pending":break;case"failed":if(lE||!ya.dataAfterTimeout)return;break;default:return}if(uy==="abort"){Ef=H1,mg();return}if(lE){Ef=H1,Jf.length||(wl.length?ly():mg());return}if(hp(),gg(),!ya.random){const R_=ya.resources.indexOf(cy.resource);R_!==-1&&R_!==ya.index&&(ya.index=R_)}Cl="completed",dp.forEach(R_=>{R_(H1)})}function ly(){if(Cl!=="pending")return;hp();const cy=wl.shift();if(cy===void 0){if(Jf.length){Zf=setTimeout(()=>{hp(),Cl==="pending"&&(gg(),mg())},ya.timeout);return}mg();return}const uy={status:"pending",resource:cy,callback:(H1,lE)=>{sy(uy,H1,lE)}};Jf.push(uy),Mc++,Zf=setTimeout(ly,ya.rotate),ba(cy,ma,uy.callback)}return setTimeout(ly),hg}function initRedundancy(ya){const ma={...defaultConfig,...ya};let ba=[];function va(){ba=ba.filter(Sl=>Sl().status==="pending")}function Ma(Sl,Cl,Mc){const Ef=sendQuery(ma,Sl,Cl,(Zf,Jf)=>{va(),Mc&&Mc(Zf,Jf)});return ba.push(Ef),Ef}function El(Sl){return ba.find(Cl=>Sl(Cl))||null}return{query:Ma,find:El,setIndex:Sl=>{ma.index=Sl},getIndex:()=>ma.index,cleanup:va}}function emptyCallback$1(){}const redundancyCache=Object.create(null);function getRedundancyCache(ya){if(!redundancyCache[ya]){const ma=getAPIConfig(ya);if(!ma)return;const ba=initRedundancy(ma),va={config:ma,redundancy:ba};redundancyCache[ya]=va}return redundancyCache[ya]}function sendAPIQuery(ya,ma,ba){let va,Ma;if(typeof ya=="string"){const El=getAPIModule(ya);if(!El)return ba(void 0,424),emptyCallback$1;Ma=El.send;const wl=getRedundancyCache(ya);wl&&(va=wl.redundancy)}else{const El=createAPIConfig(ya);if(El){va=initRedundancy(El);const wl=ya.resources?ya.resources[0]:"",Sl=getAPIModule(wl);Sl&&(Ma=Sl.send)}}return!va||!Ma?(ba(void 0,424),emptyCallback$1):va.query(ma,Ma,ba)().abort}function emptyCallback(){}function loadedNewIcons(ya){ya.iconsLoaderFlag||(ya.iconsLoaderFlag=!0,setTimeout(()=>{ya.iconsLoaderFlag=!1,updateCallbacks(ya)}))}function checkIconNamesForAPI(ya){const ma=[],ba=[];return ya.forEach(va=>{(va.match(matchIconName)?ma:ba).push(va)}),{valid:ma,invalid:ba}}function parseLoaderResponse(ya,ma,ba){function va(){const Ma=ya.pendingIcons;ma.forEach(El=>{Ma&&Ma.delete(El),ya.icons[El]||ya.missing.add(El)})}if(ba&&typeof ba=="object")try{if(!addIconSet(ya,ba).length){va();return}}catch(Ma){console.error(Ma)}va(),loadedNewIcons(ya)}function parsePossiblyAsyncResponse(ya,ma){ya instanceof Promise?ya.then(ba=>{ma(ba)}).catch(()=>{ma(null)}):ma(ya)}function loadNewIcons(ya,ma){ya.iconsToLoad?ya.iconsToLoad=ya.iconsToLoad.concat(ma).sort():ya.iconsToLoad=ma,ya.iconsQueueFlag||(ya.iconsQueueFlag=!0,setTimeout(()=>{ya.iconsQueueFlag=!1;const{provider:ba,prefix:va}=ya,Ma=ya.iconsToLoad;if(delete ya.iconsToLoad,!Ma||!Ma.length)return;const El=ya.loadIcon;if(ya.loadIcons&&(Ma.length>1||!El)){parsePossiblyAsyncResponse(ya.loadIcons(Ma,va,ba),Ef=>{parseLoaderResponse(ya,Ma,Ef)});return}if(El){Ma.forEach(Ef=>{const Zf=El(Ef,va,ba);parsePossiblyAsyncResponse(Zf,Jf=>{const dp=Jf?{prefix:va,icons:{[Ef]:Jf}}:null;parseLoaderResponse(ya,[Ef],dp)})});return}const{valid:wl,invalid:Sl}=checkIconNamesForAPI(Ma);if(Sl.length&&parseLoaderResponse(ya,Sl,null),!wl.length)return;const Cl=va.match(matchIconName)?getAPIModule(ba):null;if(!Cl){parseLoaderResponse(ya,wl,null);return}Cl.prepare(ba,va,wl).forEach(Ef=>{sendAPIQuery(ba,Ef,Zf=>{parseLoaderResponse(ya,Ef.icons,Zf)})})}))}const loadIcons=(ya,ma)=>{const ba=listToIcons(ya,!0,allowSimpleNames()),va=sortIcons(ba);if(!va.pending.length){let Cl=!0;return ma&&setTimeout(()=>{Cl&&ma(va.loaded,va.missing,va.pending,emptyCallback)}),()=>{Cl=!1}}const Ma=Object.create(null),El=[];let wl,Sl;return va.pending.forEach(Cl=>{const{provider:Mc,prefix:Ef}=Cl;if(Ef===Sl&&Mc===wl)return;wl=Mc,Sl=Ef,El.push(getStorage(Mc,Ef));const Zf=Ma[Mc]||(Ma[Mc]=Object.create(null));Zf[Ef]||(Zf[Ef]=[])}),va.pending.forEach(Cl=>{const{provider:Mc,prefix:Ef,name:Zf}=Cl,Jf=getStorage(Mc,Ef),dp=Jf.pendingIcons||(Jf.pendingIcons=new Set);dp.has(Zf)||(dp.add(Zf),Ma[Mc][Ef].push(Zf))}),El.forEach(Cl=>{const Mc=Ma[Cl.provider][Cl.prefix];Mc.length&&loadNewIcons(Cl,Mc)}),ma?storeCallback(ma,va,El):emptyCallback};function mergeCustomisations(ya,ma){const ba={...ya};for(const va in ma){const Ma=ma[va],El=typeof Ma;va in defaultIconSizeCustomisations?(Ma===null||Ma&&(El==="string"||El==="number"))&&(ba[va]=Ma):El===typeof ba[va]&&(ba[va]=va==="rotate"?Ma%4:Ma)}return ba}const separator$1=/[\s,]+/;function flipFromString(ya,ma){ma.split(separator$1).forEach(ba=>{switch(ba.trim()){case"horizontal":ya.hFlip=!0;break;case"vertical":ya.vFlip=!0;break}})}function rotateFromString(ya,ma=0){const ba=ya.replace(/^-?[0-9.]*/,"");function va(Ma){for(;Ma<0;)Ma+=4;return Ma%4}if(ba===""){const Ma=parseInt(ya);return isNaN(Ma)?0:va(Ma)}else if(ba!==ya){let Ma=0;switch(ba){case"%":Ma=25;break;case"deg":Ma=90}if(Ma){let El=parseFloat(ya.slice(0,ya.length-ba.length));return isNaN(El)?0:(El=El/Ma,El%1===0?va(El):0)}}return ma}function iconToHTML(ya,ma){let ba=ya.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const va in ma)ba+=" "+va+'="'+ma[va]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+ba+">"+ya+"</svg>"}function encodeSVGforURL(ya){return ya.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function svgToData(ya){return"data:image/svg+xml,"+encodeSVGforURL(ya)}function svgToURL(ya){return'url("'+svgToData(ya)+'")'}let policy;function createPolicy(){try{policy=window.trustedTypes.createPolicy("iconify",{createHTML:ya=>ya})}catch{policy=null}}function cleanUpInnerHTML(ya){return policy===void 0&&createPolicy(),policy?policy.createHTML(ya):ya}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 ya in propsToAddTo){const ma=propsToAddTo[ya];for(const ba in propsToAdd)ma[ya+ba]=propsToAdd[ba]}const inlineDefaults={...defaultExtendedIconCustomisations,inline:!0};function fixSize(ya){return ya+(ya.match(/^[-0-9.]+$/)?"px":"")}const render=(ya,ma,ba)=>{const va=ma.inline?inlineDefaults:defaultExtendedIconCustomisations,Ma=mergeCustomisations(va,ma),El=ma.mode||"svg",wl={},Sl=ma.style||{},Cl={...El==="svg"?svgDefaults:{}};if(ba){const pg=stringToIcon(ba,!1,!0);if(pg){const hg=["iconify"],mg=["provider","prefix"];for(const gg of mg)pg[gg]&&hg.push("iconify--"+pg[gg]);Cl.className=hg.join(" ")}}for(let pg in ma){const hg=ma[pg];if(hg!==void 0)switch(pg){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":Cl.ref=hg;break;case"className":Cl[pg]=(Cl[pg]?Cl[pg]+" ":"")+hg;break;case"inline":case"hFlip":case"vFlip":Ma[pg]=hg===!0||hg==="true"||hg===1;break;case"flip":typeof hg=="string"&&flipFromString(Ma,hg);break;case"color":wl.color=hg;break;case"rotate":typeof hg=="string"?Ma[pg]=rotateFromString(hg):typeof hg=="number"&&(Ma[pg]=hg);break;case"ariaHidden":case"aria-hidden":hg!==!0&&hg!=="true"&&delete Cl["aria-hidden"];break;default:va[pg]===void 0&&(Cl[pg]=hg)}}const Mc=iconToSVG(ya,Ma),Ef=Mc.attributes;if(Ma.inline&&(wl.verticalAlign="-0.125em"),El==="svg"){Cl.style={...wl,...Sl},Object.assign(Cl,Ef);let pg=0,hg=ma.id;return typeof hg=="string"&&(hg=hg.replace(/-/g,"_")),Cl.dangerouslySetInnerHTML={__html:cleanUpInnerHTML(replaceIDs(Mc.body,hg?()=>hg+"ID"+pg++:"iconifyReact"))},reactExports.createElement("svg",Cl)}const{body:Zf,width:Jf,height:dp}=ya,hp=El==="mask"||(El==="bg"?!1:Zf.indexOf("currentColor")!==-1),dg=iconToHTML(Zf,{...Ef,width:Jf+"",height:dp+""});return Cl.style={...wl,"--svg":svgToURL(dg),width:fixSize(Ef.width),height:fixSize(Ef.height),...commonProps,...hp?monotoneProps:coloredProps,...Sl},reactExports.createElement("span",Cl)};allowSimpleNames(!0);setAPIModule("",fetchAPIModule);if(typeof document<"u"&&typeof window<"u"){const ya=window;if(ya.IconifyPreload!==void 0){const ma=ya.IconifyPreload,ba="Invalid IconifyPreload syntax.";typeof ma=="object"&&ma!==null&&(ma instanceof Array?ma:[ma]).forEach(va=>{try{(typeof va!="object"||va===null||va instanceof Array||typeof va.icons!="object"||typeof va.prefix!="string"||!addCollection(va))&&console.error(ba)}catch{console.error(ba)}})}if(ya.IconifyProviders!==void 0){const ma=ya.IconifyProviders;if(typeof ma=="object"&&ma!==null)for(let ba in ma){const va="IconifyProviders["+ba+"] is invalid.";try{const Ma=ma[ba];if(typeof Ma!="object"||!Ma||Ma.resources===void 0)continue;addAPIProvider(ba,Ma)||console.error(va)}catch{console.error(va)}}}}function IconComponent(ya){const[ma,ba]=reactExports.useState(!!ya.ssr),[va,Ma]=reactExports.useState({});function El(dp){if(dp){const hp=ya.icon;if(typeof hp=="object")return{name:"",data:hp};const dg=getIconData(hp);if(dg)return{name:hp,data:dg}}return{name:""}}const[wl,Sl]=reactExports.useState(El(!!ya.ssr));function Cl(){const dp=va.callback;dp&&(dp(),Ma({}))}function Mc(dp){if(JSON.stringify(wl)!==JSON.stringify(dp))return Cl(),Sl(dp),!0}function Ef(){var dp;const hp=ya.icon;if(typeof hp=="object"){Mc({name:"",data:hp});return}const dg=getIconData(hp);if(Mc({name:hp,data:dg}))if(dg===void 0){const pg=loadIcons([hp],Ef);Ma({callback:pg})}else dg&&((dp=ya.onLoad)===null||dp===void 0||dp.call(ya,hp))}reactExports.useEffect(()=>(ba(!0),Cl),[]),reactExports.useEffect(()=>{ma&&Ef()},[ya.icon,ma]);const{name:Zf,data:Jf}=wl;return Jf?render({...defaultIconProps,...Jf},ya,Zf):ya.children?ya.children:ya.fallback?ya.fallback:reactExports.createElement("span",{})}const Icon=reactExports.forwardRef((ya,ma)=>IconComponent({...ya,_ref:ma}));reactExports.forwardRef((ya,ma)=>IconComponent({inline:!0,...ya,_ref:ma}));const getDate=ya=>{const ma=new Date(ya),ba=ma.getMonth()+1,va=ma.getDate(),Ma=ma.getFullYear(),El=ma.toLocaleString("en-US",{hour:"numeric",minute:"numeric",hour12:!0});return`${ba}/${va}/${Ma} ${El}`},registerBase64Icon=(ya,ma)=>{try{const ba=ma.replace(/^data:image\/svg\+xml;base64,/,""),va=atob(ba),Ma=va.match(/width="([^"]+)"/),El=va.match(/height="([^"]+)"/),wl=Ma?Ma[1]:"1536",Sl=El?El[1]:"1280",Cl=va.replace(/^.*?<svg[^>]*>(.*)<\/svg>.*$/,"$1");addIcon(ya,{body:Cl,width:parseInt(wl,10),height:parseInt(Sl,10)})}catch(ba){console.error(`Failed to register icon: ${ya}`,ba)}};function extractRepoNameFromUrl(ya){const ma=ya.split("/");return ma[ma.length-1]}function scrollIntoView(ya,ma=!0){const ba=document.getElementById(ya);ba&&ba.scrollIntoView({behavior:ma?"smooth":"auto",block:"start",inline:"center"})}function roundTo3Decimals(ya){return ya.toFixed(3)}function convertBytes(ya){return ya<1024?`${ya} bytes`:ya<1024*1024?`${roundTo3Decimals(ya/1024)} KB`:ya<1024*1024*1024?`${roundTo3Decimals(ya/(1024*1024))} MB`:`${roundTo3Decimals(ya/(1024*1024*1024))} GB`}function generateGitHubUrl(ya,ma,ba,va){if(!ya||!ma)throw new Error("GitHub organization and repository name are required");if(ba&&va){const Ma=ba.trim(),El=va.trim();return!Ma||!El?(console.warn("GitHub credentials contain only whitespace - falling back to public URL"),`https://github.com/${ya}/${ma}.git`):`https://${Ma}:${El}@github.com/${ya}/${ma}.git`}return console.warn(`No GitHub credentials provided for ${ya}/${ma} - using public URL (may fail for private repositories)`),`https://github.com/${ya}/${ma}.git`}const useWorkspace=()=>{const ya=axiosInstance("meta"),ma=useAppStore(Ef=>Ef.user),ba=useAppStore(Ef=>Ef.authData.userProfileId),va=useAppStore(Ef=>Ef.authData.username),Ma=useAppStore(Ef=>Ef.setUser),El=useAppStore(Ef=>Ef.setWorkspace),wl=async()=>{let Ef=ma?.user_profile_id;if(Ef||(Ef=ba||void 0),!Ef){const Zf=localStorage.getItem("user_profile_id");Zf&&(Ef=Zf)}if(!Ef){y$b.error("User Profile ID not found. Please re-login.");return}return Ef},Sl=async()=>{try{if(!await wl())throw new Error("User Profile ID not found. Please re-login.");const Jf=await ya.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 dp;if(Jf.data.id||Jf.data.Id)dp=Jf.data;else if(Array.isArray(Jf.data)&&Jf.data.length>0){const hp=Jf.data[0];hp?.Workspace?dp=hp.Workspace:hp?.result&&Array.isArray(hp.result)&&hp.result.length>0?dp=hp.result[0]:hp&&(hp.id||hp.Id)&&(dp=hp)}return dp||(console.log("No workspace found in response"),null)}catch(Ef){return console.error("fetchWorkspace error:",Ef),null}};return{fetchWorkspace:Sl,createWorkspace:async(Ef,Zf)=>{try{if(!await wl())throw new Error("User Profile ID not found. Please re-login.");const hp=await ya.post("/AgentMeta/Workspace",{name:Ef,createdBy:Zf});let dg;if(hp.data.UserWorkspace?.Workspace)dg=hp.data.UserWorkspace.Workspace;else if(hp.data.id)dg=hp.data;else if(Array.isArray(hp.data)&&hp.data.length>0){const pg=hp.data[0];pg?.result&&Array.isArray(pg.result)&&pg.result.length>0?dg=pg.result[0]:pg?.Workspace?dg=pg.Workspace:dg=pg}else if(hp.data.Workspace)dg=hp.data.Workspace;else{const pg=Object.keys(hp.data);pg.length>0&&(dg=hp.data[pg[0]])}return dg||(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 Ef=>{if(!(va||ma?.Email))throw new Error("No username found in store");let Jf=await Sl();if(Jf){const dp=Jf.id||Jf.Id;if(dp&&!localStorage.getItem("workspace_id")){localStorage.setItem("workspace_id",dp);try{ma?Ma({...ma,CurrentWorkspace:{Id:dp}}):El(dp)}catch{}}}else{console.error(`Workspace '${Ef}' not found - workspace creation disabled`);try{if(await wl()){const dg=await ya.get("/AgentMeta/Workspace");if(dg.data&&Array.isArray(dg.data)&&dg.data.length>0){const pg=dg.data[dg.data.length-1];if(Jf=pg.Workspace||pg,Jf){const hg=Jf.id||Jf.Id;if(hg){localStorage.setItem("workspace_id",hg);try{ma?Ma({...ma,CurrentWorkspace:{Id:hg}}):El(hg)}catch{}console.log("Using existing workspace instead:",hg)}}}}}catch(dp){console.error("Failed to fetch all workspaces:",dp)}if(!Jf)throw new Error(`Workspace '${Ef}' not found and creation is disabled`)}return Jf}}},deletePlaygroundTeam=ya=>[],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 ma=localStorage.getItem(STORAGE_KEY);if(ma){const va=JSON.parse(ma);va.forEach(Ma=>{this.apps.set(Ma.Id,Ma)}),console.log(`[PLAYGROUND] Loaded ${va.length} workspace apps from localStorage`)}const ba=localStorage.getItem(ID_COUNTER_KEY);ba&&(this.idCounter=parseInt(ba,10))}catch(ma){console.error("[PLAYGROUND] Error loading workspace apps from localStorage:",ma)}}saveToLocalStorage(){try{const ma=Array.from(this.apps.values());localStorage.setItem(STORAGE_KEY,JSON.stringify(ma)),localStorage.setItem(ID_COUNTER_KEY,this.idCounter.toString()),console.log(`[PLAYGROUND] Saved ${ma.length} workspace apps to localStorage`)}catch(ma){console.error("[PLAYGROUND] Error saving workspace apps to localStorage:",ma)}}getApps(){return Array.from(this.apps.values())}addApp(ma){const ba=ma.Id||`playground-app-${++this.idCounter}`,va={...ma,Id:ba};return this.apps.set(ba,va),this.saveToLocalStorage(),va}updateApp(ma,ba){const va=this.apps.get(ma);if(!va)return null;const Ma={...va,...ba};return this.apps.set(ma,Ma),this.saveToLocalStorage(),Ma}deleteApp(ma){const ba=this.apps.delete(ma);return ba&&this.saveToLocalStorage(),ba}getApp(ma){return this.apps.get(ma)||null}clearApps(){this.apps.clear(),this.idCounter=0,this.saveToLocalStorage()}hasApp(ma){return this.apps.has(ma)}}const playgroundWorkspaceStorage=new PlaygroundWorkspaceStorage,IS_PLAYGROUND$8=!1,IS_LOCAL_MODE$9=!0,metaAxiosInstance$2=axiosInstance("meta");async function fetchPackageInfo$1(){const ma=await fetch("http://localhost:4000/info");return ma.ok?await ma.json():{}}async function fetchBranch(){const ya="http://localhost:4000";try{const ma=await fetch(`${ya}/branch`);return ma.ok&&(await ma.json()).branch||"main"}catch(ma){return console.warn("Failed to fetch branch:",ma),"main"}}const useTeams=()=>{const{teamName:ya,modelName:ma}=useParams(),{pathname:ba}=useLocation(),va=useQueryClient(),Ma=ba.includes("/design/marketplace/"),El=useAppStore(q1=>q1.authData.username),wl=useAppStore(q1=>q1.authData.userProfileId),Sl=useAppStore(q1=>q1.user.CurrentWorkspace?.Id),Cl=useAppStore(q1=>q1.user.GitHub.Token)||"",Mc=useAppStore(q1=>q1.user.GitHub.Username)||"",{fetchOrCreateWorkspace:Ef}=useWorkspace();useAppStore(q1=>q1.authReady),useAppStore(q1=>q1.isAuthenticated);const{data:Zf}=useQuery({queryKey:["localPackageInfo"],queryFn:fetchPackageInfo$1,enabled:IS_LOCAL_MODE$9,staleTime:1/0,refetchOnMount:"always"}),{data:Jf}=useQuery({queryKey:["localBranch"],queryFn:fetchBranch,enabled:IS_LOCAL_MODE$9,staleTime:1/0,refetchOnMount:"always"}),{data:dp,isLoading:hp,error:dg,refetch:pg}=useQuery({queryKey:["workspace",Sl,"apps",wl],queryFn:async()=>[],enabled:IS_LOCAL_MODE$9,staleTime:120*1e3,gcTime:300*1e3,refetchOnMount:"always",retry:(q1,n0)=>n0?.response?.status===401||n0?.response?.status===403?!1:q1<2}),{mutate:hg}=useMutation({mutationFn:async({appId:q1,isEditable:n0})=>{const aE=await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${Sl}/WorkspaceApp/App/${q1}`,{isEditable:n0});return transformSimpleTeamToTeam(aE.data)},onMutate:async q1=>{const{appId:n0,isEditable:aE}=q1;await va.cancelQueries({queryKey:["workspace",Sl,"apps",wl]});const P_=va.getQueryData(["workspace",Sl,"apps",wl]);if(P_){const O_=P_.map(sN=>sN.Id===n0?{...sN,isEditable:aE}:sN);va.setQueryData(["workspace",Sl,"apps",wl],O_)}return{previousApps:P_}},onError:(q1,n0,aE)=>{aE?.previousApps&&va.setQueryData(["workspace",Sl,"apps",wl],aE.previousApps),y$b.error("Failed to update status. Please try again.")},onSettled:()=>{va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]})}}),mg=reactExports.useMemo(()=>{{let q1="";if(Zf&&Zf.name)if(q1=Zf.name,q1.startsWith("@")){const n0=q1.substring(1).split("/");n0.length===2&&(q1=n0[1])}else q1=Zf.name;return{Name:q1,isEditable:!0,Type:"Local",GitHubRepo:q1,Branch:Jf||"main"}}},[Ma,ma,dp,ya,Zf,Jf]);if(dg){console.error("fetchWorkspaceApps: Query failed",dg);let q1="Failed to fetch workspace apps";const n0=dg;n0?.response?.status===401?q1="Authentication expired. Please sign in again.":n0?.response?.status===403?q1="Access denied. Please check your workspace permissions.":n0?.response?.status===404?q1="Workspace not found. Please verify your workspace access.":n0?.response?.data?.reason?q1=n0.response.data.reason:n0?.message&&(q1=`Network error: ${n0.message}`),y$b.error(q1)}const gg=async(q1,n0)=>{try{const P_=(await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${Sl}/WorkspaceApp/App/${n0}`,q1)).data,O_=transformSimpleTeamToTeam(P_);return va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]}),await pg(),{...O_}}catch(aE){throw console.error("Error editing workspace app:",aE),aE}},sy=async(q1,n0)=>{try{const P_=(await metaAxiosInstance$2.put(`/AgentMeta/Workspace/${Sl}/WorkspaceApp/App/${q1}`,{branch:n0})).data,O_=transformSimpleTeamToTeam(P_);return va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]}),await pg(),{...O_,Branch:n0}}catch(aE){throw console.error("Error switching workspace app branch:",aE),aE}},ly=async q1=>{try{let n0=Sl;if(!n0){const aE=await Ef("Default");if(aE)n0=aE.id||aE.Id;else throw new Error("Failed to create or fetch Default workspace")}if(!n0)throw new Error("No workspace ID available after all attempts");await metaAxiosInstance$2.post(`/AgentMeta/Workspace/${n0}/WorkspaceApp/App`,q1),va.invalidateQueries({queryKey:["workspace",n0,"apps",wl]}),va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]}),await pg()}catch(n0){console.error("Error occurred:",n0),y$b.error(n0?.response?.data?.["status-text"]||n0?.response?.data?.reason||n0?.message||"Operation failed")}},cy=async q1=>{try{await metaAxiosInstance$2.delete(`/AgentMeta/Workspace/${Sl}/WorkspaceApp/App/${q1}`),va.invalidateQueries({queryKey:["workspace",Sl,"apps",wl]}),await pg()}catch(n0){console.error("Error occurred:",n0),y$b.error(n0?.response?.data?.["status-text"]||n0?.response?.data?.reason||n0?.message||"Operation failed")}},uy=async(q1,n0,aE)=>{try{const P_=`/${q1.githubRepo}`,O_=q1.branchSelected&&q1.githubBranch?q1.githubBranch:"main",sN=Mc&&Mc.trim().length>0,uN=Cl&&Cl.trim().length>0,lN=generateGitHubUrl(q1.githubOrg,q1.githubRepo,Mc,Cl);if((!sN||!uN)&&n0("⚠️ GitHub credentials missing. Clone may fail for private repositories. Please set your GitHub username and token in Settings.",!1,!1),await pathExists(P_)){aE("checking"),n0("Repository exists, checking for updates...",!1,!1);try{const eee=await updateExistingRepository(P_,Cl,{branch:O_,checkOnly:!0});if(!eee.success)n0(`Warning: Could not check for updates - ${eee.message}. Using existing repository.`,!1,!1);else if(eee.hasUpdates){aE("updating"),n0("Fetching latest changes...",!1,!1);const JY=await updateExistingRepository(P_,Cl,{branch:O_,force:!0});JY.success?n0("Repository updated successfully!",!0,!1):n0(`Warning: Could not update repository - ${JY.message}. Using existing version.`,!1,!1)}else n0("No updates available",!0,!1)}catch(eee){console.error("Failed to update repository:",eee),n0(`Warning: Could not check for updates - ${eee.message}. Using existing repository.`,!1,!1)}}else{aE("cloning"),n0("Cloning repository...",!1,!1);try{await cloneRepository(lN,P_,O_,Cl),n0("Repository cloned successfully!",!0,!1)}catch(eee){console.error("Failed to clone repository:",eee),n0(`Failed to clone repository: ${eee.message}`,!1,!0);try{await pathExists(P_)&&(console.log(`Cleaning up failed clone: removing ${P_} from IndexedDB`),await removeDirectory(P_))}catch(JY){console.error("Error cleaning up failed clone:",JY)}return aE("error"),{path:null,fileContent:null}}}try{aE("processing"),n0("Searching for .al files...",!1,!1);const eee=await findFilesWithExtension(P_,"al");if(eee.length===0)return n0("No .al files found in the repository.",!1,!0),aE("error"),{path:null,fileContent:null};n0(`Found ${eee.length} .al file(s).`,!0,!1);const JY=eee[0];n0(`Reading file: ${JY}...`,!1,!1);const _pe=await readRepoFile(P_,JY);try{await readRepoFile(P_,"package.json")}catch{n0("Warning: package.json not found in repository",!1,!1)}try{return aE("creating"),await flushAllAndLoad(P_,{name:"studio"}),n0(`${JY} loaded successfully!`,!0,!1),aE("complete"),{path:P_,fileContent:_pe}}catch(_Q){return console.error(`Failed to load ${JY}:`,_Q),n0(`Failed to load ${JY}: ${_Q.message}`,!1,!0),aE("error"),{path:null,fileContent:null}}}catch(eee){return console.error("Failed to process .al files:",eee),n0(`Note: .al files not found or could not be read: ${eee.message}`,!1,!0),aE("error"),{path:P_,fileContent:null}}}catch(P_){return console.error("Failed to execute Git operation:",P_),n0(`Failed to execute Git operation: ${P_.message}`,!1,!0),aE("error"),{path:null,fileContent:null}}},H1=async(q1,n0,aE)=>{try{aE("Saving changes...",!1,!1);const P_=await openRepository(q1);return await writeRepoFile(q1,"README.md",n0),await commitChanges(P_,"README.md","Update README.md",{name:"Fractl Studio User",email:El||"user@fractl.studio"}),aE("Changes saved successfully!",!0,!1),!0}catch(P_){return console.error("Failed to save README:",P_),aE(`Failed to save: ${P_.message}`,!1,!0),!1}},lE=async(q1,n0)=>{try{n0("Pushing changes to repository...",!1,!1);const aE=await openRepository(q1);return await pushChanges(aE,"origin","main",Cl),n0("Changes pushed successfully!",!0,!1),!0}catch(aE){return console.error("Failed to push changes:",aE),n0(`Failed to push: ${aE.message}`,!1,!0),!1}},R_=reactExports.useCallback(async(q1,n0,aE=!1)=>{aE&&await pg()},[pg]),V1=mg?.isEditable??!0;return{currentTeam:mg,workspaceApps:dp,isLoadingApps:hp,appsError:dg,fetchWorkspaceApps:R_,editWorkspaceApp:gg,switchWorkspaceAppBranch:sy,updateWorkspaceAppEditable:hg,addWorkspaceApp:ly,cloneGitRepository:uy,saveReadmeChanges:H1,pushChanges:lE,deleteWorkspaceApp:cy,isEditable:V1}},integrationAxiosInstance$1=axiosInstance("connection-manager"),useLLM=()=>{const ya=useQueryClient(),ma=useAppStore(dp=>dp.authReady),ba=useAppStore(dp=>dp.isAuthenticated),va=dp=>{const{__parent__:hp,__path__:dg,...pg}=dp;return pg},{data:Ma,isLoading:El,isError:wl,error:Sl,refetch:Cl}=useQuery({queryKey:["llms"],queryFn:async()=>{const dp=await integrationAxiosInstance$1.get("/integmanager.core/llm"),{data:hp,status:dg}=dp;if(dg!==200)throw new Error("Failed to fetch llms");return hp.map(hg=>({...hg.llm,config:JSON.parse(hg.llm.config)}))},enabled:ma&&ba&&!0});wl&&Sl&&y$b.error(Sl?.response?.data?.reason||Sl.message);const Mc=reactExports.useCallback(async dp=>{await Cl()},[Cl]),Ef=reactExports.useCallback(async dp=>{try{const hp=va(dp),dg=await integrationAxiosInstance$1.post("/integmanager.core/llm",hp);if(dg.status===200||dg.status===201)ya.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM created successfully");else{const pg=dg.data?.reason||dg.data?.message||`Failed to create LLM (Status: ${dg.status})`;throw y$b.error(pg),new Error(pg)}}catch(hp){const dg=hp?.response?.data?.reason||hp?.response?.data?.message||hp?.message||"Failed to create LLM";throw y$b.error(dg),hp}},[ya]),Zf=reactExports.useCallback(async dp=>{try{const hp=await integrationAxiosInstance$1.delete(`/integmanager.core/llm/${dp}`);if(hp.status===200||hp.status===204)ya.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM deleted successfully");else{const dg=hp.data?.reason||hp.data?.message||`Failed to delete LLM (Status: ${hp.status})`;throw y$b.error(dg),new Error(dg)}}catch(hp){const dg=hp?.response?.data?.reason||hp?.response?.data?.message||hp?.message||"Failed to delete LLM";throw y$b.error(dg),hp}},[ya]),Jf=reactExports.useCallback(async(dp,hp)=>{try{const dg=va(hp),pg=await integrationAxiosInstance$1.put(`/integmanager.core/llm/${dp}`,dg);if(pg.status===200||pg.status===201||pg.status===204)ya.invalidateQueries({queryKey:["llms"]}),y$b.success("LLM updated successfully");else{const hg=pg.data?.reason||pg.data?.message||`Failed to update LLM (Status: ${pg.status})`;throw y$b.error(hg),new Error(hg)}}catch(dg){const pg=dg?.response?.data?.reason||dg?.response?.data?.message||dg?.message||"Failed to update LLM";throw y$b.error(pg),dg}},[ya]);return{llmData:Ma,isLoadingLLMs:El,isErrorLLMs:wl,llmError:Sl,fetchLLMs:Mc,createLLM:Ef,deleteLLM:Zf,updateLLM:Jf}},getTeamModules=ya=>{if(!ya)return[];const ma=getUserModuleNames(),ba=ya.toLowerCase(),va=ba.replace(/_/g,"");return ma.filter(Ma=>{const El=Ma.toLowerCase(),wl=El.split(".")[0];return El.startsWith(ba)||wl===va})},IS_LOCAL_MODE$8=!0,useConfigLoader=()=>{const ya=useAppStore(va=>va.setAppConfig),ma=useAppStore(va=>va.setAppConfigError);return{loadConfig:reactExports.useCallback(async va=>{console.log("loadConfig",va),ma(null);try{const Ma=await loadAppConfig(va);console.log("validatedConfig from agentlang",Ma);let El={};try{let Sl;if(IS_LOCAL_MODE$8){const{getFileSystem:Cl}=await __vitePreload(async()=>{const{getFileSystem:Zf}=await Promise.resolve().then(()=>fsUtils);return{getFileSystem:Zf}},void 0),Mc=await Cl(),Ef=`${va}/config.al`;Sl=await Mc.readFile(Ef)}El=parseAppConfig(Sl),console.log("fullConfig from parseAppConfig",El)}catch(Sl){console.warn("Could not read config.al for full config:",Sl.message),El=Ma}const wl={...El,...Ma};return console.log("mergedConfig (final)",wl),ya(wl),wl}catch(Ma){const El=Ma instanceof Error?Ma.message:String(Ma);return console.error("Failed to load config.al:",El),ma(El),ya({}),{}}},[ya,ma])}},IS_LOCAL_MODE$7=!0,accessedKeys=new Map,getLocalEnv=ya=>{const ma=getLocalEnv$2(ya);return console.log(`🔍 getLocalEnv("${ya}") called, returning:`,ma?`${ma.substring(0,10)}...`:"undefined"),accessedKeys.set(ya,{value:ma,timestamp:Date.now()}),ma||console.warn(`⚠️ Key "${ya}" not found in LocalEnv`),ma};typeof window<"u"&&(window.debugResolverKeys={getAccessedKeys:()=>Array.from(accessedKeys.entries()),listAccessedKeys:()=>{console.log("📋 Keys accessed by resolvers:"),accessedKeys.forEach(({value:ya},ma)=>{console.log(` ${ma}: ${ya?"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 ya=getURL("api-cors-proxy"),ma=axios.create({timeout:3e4});return ma.interceptors.request.use(ba=>{const va=ba.url;if(va&&(va.startsWith("http://")||va.startsWith("https://")))try{const Ma=new URL(va),El=Ma.hostname,wl=Ma.pathname+Ma.search,Sl=API_DOMAIN_TO_PROVIDER[El];if(!Sl)return console.warn(`⚠️ No CORS proxy provider configured for domain: ${El}`),console.warn(` Add '${El}' to API_DOMAIN_TO_PROVIDER in browserResolvers.ts`),ba;console.log(`🔄 Proxying API call: ${va}`),console.log(` → Provider: ${Sl}`),console.log(" → Original headers:",ba.headers),ba.url=`${ya}/proxy/${Sl}${wl}`,console.log(` → New URL: ${ba.url}`),console.log(" → Final headers:",ba.headers)}catch(Ma){console.error("Failed to parse URL for proxying:",va,Ma)}return ba}),ma.interceptors.response.use(ba=>ba,ba=>(ba.code==="ERR_NETWORK"?console.error("❌ Network error - Check if CORS proxy is running on",ya):ba.response?.status===401?console.error("❌ 401 Unauthorized - Check API credentials"):ba.response?.status===403&&console.error("❌ 403 Forbidden - Check API permissions"),Promise.reject(ba))),ma}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(ya,ma){const ba=ma.split("/"),va=ba.length===2?ba[0]:"hubspot",Ma=ba.length===2?ba[1]:ma,El=new Map(Object.entries(ya));return makeInstance$1(va,Ma,El)}function getDependency(ya){if(COMMON_DEPENDENCIES.has(ya))return COMMON_DEPENDENCIES.get(ya);for(const[ma,ba]of COMMON_DEPENDENCIES)if(ya.includes(`/${ma}`)||ya.endsWith(`/${ma}`))return ba}const BUILTIN_MODULE_PATHS=["./modules/core.js","./modules/auth.js"];async function setupResolverLoader(ya){try{console.log("⚙️ Configuring AgentLang module loader for:",ya);let ma=null;if(IS_LOCAL_MODE$7){const{createFS:va}=await __vitePreload(async()=>{const{createFS:Ma}=await import("./fs-Do7YaMLp.js");return{createFS:Ma}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4]));ma=await va({name:"studio",useCliBackend:!0})}setModuleLoader({fileReader:async va=>{if(console.log(`📖 Reading file: ${va}`),BUILTIN_MODULE_PATHS.includes(va))return console.log(`📦 Built-in module: ${va} (using global registration)`),"";let Ma=va;if(va.startsWith(ya+"/")?Ma=va.substring(ya.length+1):va.startsWith(ya)&&(Ma=va.substring(ya.length)),Ma.startsWith("/")&&(Ma=Ma.substring(1)),console.log(`📖 Resolved to relative path: ${Ma}`),IS_LOCAL_MODE$7&&ma){const El=`${ya}/${Ma}`,wl=await ma.readFile(El);return typeof wl=="string"?wl:wl.toString()}return await readRepoFile(ya,Ma)},dependencyProvider:va=>{const Ma=getDependency(va);return Ma?console.log(`✅ Resolved dependency: ${va}`):console.warn(`⚠️ Unknown dependency: ${va}`),Ma},basePath:""}),console.log("✅ Module loader configured successfully"),console.log("ℹ️ Resolvers will be loaded automatically when AgentLang parses .al files")}catch(ma){console.error("❌ Failed to setup resolver loader:",ma)}}const RESOLVER_CONFIGS={hsr:{initFunctionName:"initializeHubSpotConfig",envKeyMapping:{HUBSPOT_ACCESS_TOKEN:"accessToken"},configBuilder:ya=>({accessToken:ya.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:ya=>({clientId:ya.GMAIL_CLIENT_ID,clientSecret:ya.GMAIL_CLIENT_SECRET,refreshToken:ya.GMAIL_REFRESH_TOKEN,pollIntervalMinutes:ya.GMAIL_POLL_INTERVAL_MINUTES})},gsr:{initFunctionName:"initializeGoogleConfig",envKeyMapping:{GOOGLE_API_KEY:"apiKey",GOOGLE_CLIENT_ID:"clientId",GOOGLE_CLIENT_SECRET:"clientSecret"},configBuilder:ya=>({apiKey:ya.GOOGLE_API_KEY,clientId:ya.GOOGLE_CLIENT_ID,clientSecret:ya.GOOGLE_CLIENT_SECRET})},slackr:{initFunctionName:"initializeSlackConfig",envKeyMapping:{SLACK_BOT_TOKEN:"botToken",SLACK_APP_TOKEN:"appToken"},configBuilder:ya=>({botToken:ya.SLACK_BOT_TOKEN,appToken:ya.SLACK_APP_TOKEN})},ghr:{initFunctionName:"initializeGitHubConfig",envKeyMapping:{GITHUB_TOKEN:"token",GITHUB_API_KEY:"apiKey"},configBuilder:ya=>({token:ya.GITHUB_TOKEN||ya.GITHUB_API_KEY})}};async function initializeResolverConfigs(){try{const{getEnvironmentKeysAsObject:ya}=await __vitePreload(async()=>{const{getEnvironmentKeysAsObject:va}=await Promise.resolve().then(()=>playgroundEnvKeys);return{getEnvironmentKeysAsObject:va}},void 0),ma=ya();console.log("🔑 Available environment keys:",Object.keys(ma));const ba=getImportedModuleNames();console.log("📦 Imported modules:",ba);for(const[va,Ma]of Object.entries(RESOLVER_CONFIGS)){const El=getImportedModule(va);if(!El){console.log(`ℹ️ Resolver "${va}" not loaded - skipping initialization`);continue}console.log(`📋 Found resolver module: ${va}`);const wl=El[Ma.initFunctionName];if(typeof wl!="function"){console.warn(`⚠️ Resolver "${va}" found but "${Ma.initFunctionName}" function is missing`);continue}const Sl=Object.keys(Ma.envKeyMapping);if(Sl.filter(Zf=>ma[Zf]).length===0){console.warn(`⚠️ No environment keys found for resolver "${va}". Expected: ${Sl.join(", ")}`);continue}const Mc=Ma.configBuilder(ma),Ef=Object.fromEntries(Object.entries(Mc).filter(([Zf,Jf])=>Jf!==void 0));if(Object.keys(Ef).length===0){console.warn(`⚠️ No valid configuration could be built for resolver "${va}"`);continue}console.log(`🔑 Initializing resolver "${va}" with config:`,{...Ef,...Object.keys(Ef).reduce((Zf,Jf)=>{const dp=Ef[Jf],hp=typeof dp=="string"?`***${dp.slice(-4)}`:"***";return{...Zf,[Jf]:hp}},{})});try{await wl(Ef),console.log(`✅ Resolver "${va}" configured successfully`),El.config&&console.log(" Configuration stored in resolver.config")}catch(Zf){console.error(`❌ Failed to initialize resolver "${va}":`,Zf)}}console.log("✅ Resolver initialization complete")}catch(ya){console.error("❌ Failed to initialize resolver configs:",ya)}}const browserResolvers=Object.freeze(Object.defineProperty({__proto__:null,initializeResolverConfigs,setupResolverLoader},Symbol.toStringTag,{value:"Module"})),IS_LOCAL_MODE$6=!0,useRepositoryClone=()=>{const ya=useNavigate(),[ma,ba]=reactExports.useState(!1),[va,Ma]=reactExports.useState(""),[El,wl]=reactExports.useState(""),Sl=$ht();useAppStore(pg=>pg.user);const{processDependencies:Cl}=useDependencyProcessor(),{loadConfig:Mc}=useConfigLoader(),Ef="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",Zf="hamza@fractl.io",Jf=reactExports.useCallback(()=>{const pg=Zf.trim().length>0,hg=Ef.trim().length>0;(!pg||!hg)&&console.warn("GitHub credentials missing - clone may fail for private repositories")},[Ef,Zf]),dp=reactExports.useCallback(async(pg,hg,mg,gg,sy,ly)=>{console.log("Processing repository..."),await Cl(pg,Zf,Ef,lN=>{Ma(lN)}),Ma("Loading application modules..."),Ma("Initializing runtime with environment keys...");{const{inBrowserREPL:lN}=await __vitePreload(async()=>{const{inBrowserREPL:_F}=await Promise.resolve().then(()=>inBrowserREPL$1);return{inBrowserREPL:_F}},void 0);await lN.initializeRuntime()}Ma("Configuring resolver loader..."),await setupResolverLoader(pg),Ma("Preparing runtime for app...");const{prepareRuntimeForAppLoad:cy}=await __vitePreload(async()=>{const{prepareRuntimeForAppLoad:lN}=await Promise.resolve().then(()=>index$5);return{prepareRuntimeForAppLoad:lN}},void 0);await cy(pg);{Ma("Initializing filesystem...");const{setFileSystem:lN}=await __vitePreload(async()=>{const{setFileSystem:JY}=await Promise.resolve().then(()=>fsUtils);return{setFileSystem:JY}},void 0),{createFS:_F}=await __vitePreload(async()=>{const{createFS:JY}=await import("./fs-Do7YaMLp.js");return{createFS:JY}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4])),eee=await _F({name:"studio",useCliBackend:!0});lN(eee)}Ma("Loading AgentLang modules..."),await flushAllAndLoad(pg,{name:"studio",useCliBackend:IS_LOCAL_MODE$6}),Ma("Reloading core modules...");const{loadCoreModules:uy}=await __vitePreload(async()=>{const{loadCoreModules:lN}=await Promise.resolve().then(()=>loader$1);return{loadCoreModules:lN}},void 0);await uy(),Ma("Loading configuration..."),await Mc(pg),Ma("Registering agents and initializing modules..."),await runInitFunctions(),await runStandaloneStatements(),Ma("Loading LLM configurations...");const{queryLLMEntities:H1}=await __vitePreload(async()=>{const{queryLLMEntities:lN}=await Promise.resolve().then(()=>index$5);return{queryLLMEntities:lN}},void 0),lE=await H1(),R_=useAppStore.getState().appConfig;useAppStore.getState().setAppConfig({...R_,llms:lE}),Ma("Initializing resolver configurations..."),await initializeResolverConfigs(),console.log("Reading package.json...");let V1;{if(!ly)throw new Error("packageJson is required in local mode");V1=ly}const q1=getTeamModules(hg),n0=q1.flatMap(lN=>{try{const _F=fetchModule$2(lN);return _F?_F.getAgentNames().filter(eee=>_F.getAgent(eee)?.isPublic()??!1).map(eee=>`${lN}/${eee}`):[]}catch(_F){return console.warn(`Failed to fetch module ${lN} for public agents:`,_F),[]}});console.log(`[LOCAL] Found ${q1.length} modules:`,q1),console.log(`[LOCAL] Found ${n0.length} public agents:`,n0);const aE=q1.flatMap(lN=>fetchModule$2(lN).getEntityNames().map(_F=>`${lN}/${_F}`)),P_=q1.flatMap(lN=>buildGraph(lN).getRoots().map(eee=>`${eee.entity.getModuleName()}/${eee.entity.getEntryName()}`)),O_={Name:mg,Description:V1.description||"An application generated from "+mg},sN=await loadUISchema(mg,pg,aE,P_,n0,O_);sN.appInfo||(sN.appInfo={}),sN.appInfo.apiUrl="http://localhost:8080",Sl(sN);const uN={githubOrg:gg,teamName:mg,branch:sy,projectPath:pg};return __vitePreload(()=>import("./replService-C1_ibN45.js"),__vite__mapDeps([34,1,18,19,5,9,16,11,14,15,10,20,21,17,4])).then(async({default:lN})=>{try{await lN.ensureReplSession(uN),await lN.initializeFileTracking(pg)}catch(_F){console.error("❌ Failed to setup REPL deployment:",_F)}}),q1[0]},[Zf,Ef,Ma,Sl,Cl,Mc]),hp=reactExports.useCallback(async pg=>{ba(!0),wl("");try{Jf();const{GitHubOrg:hg,GitHubRepo:mg,Name:gg,Branch:sy}=pg,ly=`/${mg}`,cy=generateGitHubUrl(hg,mg,Zf,Ef);await pathExists(ly)?Ma("Repository already exists. Loading modules..."):(Ma("Cloning repository..."),await cloneRepository(cy,ly,sy,Ef)),await dp(ly,mg,gg,hg,sy)}catch(hg){const mg=hg instanceof Error?hg.message:"Failed to clone repository";wl(mg),console.error("Error during repository clone:",hg);try{const gg=`/${pg.GitHubRepo}`;await pathExists(gg)&&(console.log(`Cleaning up failed clone: removing ${gg} from IndexedDB`),await removeDirectory(gg))}catch(gg){console.error("Error cleaning up failed clone:",gg)}}finally{ba(!1)}},[Jf,Zf,Ef,dp]),dg=reactExports.useCallback((pg,hg,mg,gg,sy)=>{const ly=`/design/${pg?"agents":"data-model"}/${hg}/${mg}/${gg}`;sy?ya(ly,sy):ya(ly)},[ya]);return{isCloning:ma,error:El,loadingMessage:va,cloneAndProcess:hp,navigateToDesign:dg,processRepository:dp}},CLI_URL$1="http://localhost:4000";async function fetchPackageInfo(){const ya=await fetch(`${CLI_URL$1}/info`);return ya.ok?ya.json():{}}async function fetchDependenciesFromLocalServer(ya,ma,ba){ba&&ba("Installing dependencies in local mode...",0,ma.length);try{const va=await fetch(`${CLI_URL$1}/install`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(!va.ok){const Ma=await va.json().catch(()=>({error:"Unknown error"}));throw new Error(Ma.error||`Failed to install dependencies: ${va.statusText}`)}return console.log("✓ Dependencies installed successfully in local mode"),ma.map((Ma,El)=>(ba&&ba(`Installed ${Ma.appName}`,El+1,ma.length),{appName:Ma.appName,success:!0,message:"Dependency installed successfully",path:`${ya}/node_modules/${Ma.appName}`}))}catch(va){return console.error("Failed to install dependencies:",va),ma.map(Ma=>({appName:Ma.appName,success:!1,message:va instanceof Error?va.message:"Failed to install dependency",error:va}))}}function parsePackageName(ya){if(!ya?.name)return{org:"file",name:""};const ma=ya.name;if(ma.startsWith("@")){const ba=ma.substring(1).split("/");if(ba.length===2)return{org:ba[0],name:ba[1]}}return{org:"file",name:ma}}function isDesignPage(ya){return ya?["data-model","marketplace-data-model","agents","workflow","security","ui","settings"].includes(ya):!1}const useServeMode=()=>{const ya=useNavigate(),ma=useMatches(),{processRepository:ba}=useRepositoryClone(),[va,Ma]=reactExports.useState(""),[El,wl]=reactExports.useState(null);return{initializeServeMode:reactExports.useCallback(async()=>{Ma("Connecting to local server..."),wl(null);try{Ma("Loading app configuration...");const Cl=await fetchPackageInfo(),{org:Mc,name:Ef}=parsePackageName(Cl),Zf=`/${Ef}`;Ma("Processing project...");const Jf=await ba(Zf,Ef,Ef,Mc,"main",Cl),dp=ma[ma.length-1];if(isDesignPage(dp?.id))return;const hp=`/design/agents/${Mc}/${Ef}`;ya(Jf?`${hp}/${Jf}`:hp)}catch(Cl){const Mc=Cl instanceof Error?Cl.message:"An unknown error occurred";wl(Mc),console.error("Failed to initialize serve mode:",Cl)}finally{Ma("")}},[ba,ya,ma]),loadingMessage:va,error:El}},CLI_URL="http://localhost:4000",useDependencyProcessor=()=>{const ya=reactExports.useCallback(ba=>{if(!ba.dependencies)return[];const va=[];for(const[Ma,El]of Object.entries(ba.dependencies))typeof El=="string"&&El.startsWith("git+http")&&va.push({appName:Ma,url:El});return va},[]),ma=reactExports.useCallback(async(ba,va,Ma,El)=>{let wl;{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:dp}=await Jf.json();wl=dp}const Sl=JSON.parse(wl),Cl=ya(Sl);if(Cl.length===0)return[];El&&El(`Installing ${Cl.length} dependencies...`,0,Cl.length);let Mc;Mc=await fetchDependenciesFromLocalServer(ba,Cl,(Jf,dp,hp)=>{El&&El(`[${dp}/${hp}] ${Jf}`,dp,hp)});const Ef=Mc.filter(Jf=>!Jf.success),Zf=Mc.filter(Jf=>Jf.success);if(Zf.length>0&&console.log(`✓ Successfully fetched ${Zf.length} dependencies:`,Zf.map(Jf=>Jf.appName).join(", ")),Ef.length>0&&console.warn(`⚠ Failed to install ${Ef.length} of ${Cl.length} dependencies:`,Ef.map(Jf=>`${Jf.appName} (${Jf.message})`).join(", ")),Zf.length>0){const{createFS:Jf}=await __vitePreload(async()=>{const{createFS:hp}=await import("./fs-Do7YaMLp.js");return{createFS:hp}},__vite__mapDeps([33,1,18,19,5,9,16,11,14,15,10,20,21,17,4])),dp=await Jf({name:"studio",useCliBackend:!0});for(const hp of Zf)if(hp.path)try{const dg=`${hp.path}/package.json`;await dp.exists(dg)?console.log(`✓ ${hp.appName}: Verified package.json exists`):console.error(`✗ ${hp.appName}: package.json missing at ${dg}`)}catch(dg){console.error(`✗ ${hp.appName}: Verification failed:`,dg)}}return Mc},[ya]);return{extractGitDependencies:ya,processDependencies:ma}},IS_LOCAL_MODE$5=!0,integrationAxiosInstance=axiosInstance("connection-manager"),useIntegration=(ya="api")=>{const{currentTeam:ma}=useTeams(),ba=ma?.GitHubRepo,va=useQueryClient();useAppStore(cy=>cy.authReady),useAppStore(cy=>cy.isAuthenticated);const Ma=useAppStore(cy=>cy.user),El=Ma.GitHub.Token,wl=Ma.GitHub.Username,{processDependencies:Sl}=useDependencyProcessor(),Cl=async cy=>{if(ba)try{const H1=(await readDependencyPackageJsonFromGit(ba,cy))?.agentlang?.config||[];if(H1.length===0)return[];let lE="";try{lE=await readProjectFile(ba,"config.al")}catch{return console.log("config.al does not exist yet"),[]}const R_=parseAppConfig(lE),V1=[];return H1.forEach(q1=>{let n0=cy;if(!R_[n0]&&isFqName$1(q1)){const P_=nameToPath$1(q1).getModuleName();P_&&R_[P_]&&(n0=P_)}R_[n0]&&R_[n0][q1]&&V1.push({entityFqn:q1,config:R_[n0][q1]})}),V1}catch(uy){return console.error(`Error reading configs from config.al for ${cy}:`,uy),y$b.error(`Failed to load configs for ${cy}: ${uy.message}`),[]}try{const uy=await integrationAxiosInstance.get(`/api/IntegrationManager.Core/Integration/${cy}/ConnectionConfigGroup/ConnectionConfig`),{result:H1,status:lE,message:R_}=uy.data;if(lE==="ok")return H1;lE==="error"&&y$b.error(R_||`Failed to load configs for ${cy}`)}catch(uy){console.error(`Error fetching configs for ${cy}:`,uy),y$b.error(`Error fetching configs for ${cy}`)}},{data:Mc,isLoading:Ef,isError:Zf,error:Jf,refetch:dp}=useQuery({queryKey:["integrations",ba,ya],queryFn:async()=>{if(console.log("fetching integrations in",ya),ya!=="config")return console.log("[LOCAL_MODE] Skipping API integrations fetch - use config mode instead"),[];if(ba)try{const V1=(await readPackageJsonFromGit(ba,!0)).dependencies||{};let q1={};try{const P_=await readProjectFile(ba,"config.al");q1=parseAppConfig(P_),console.log("parsedConfig",q1)}catch{console.log("config.al does not exist yet")}const n0=/(?:git\+)?https:\/\/(?:[^@]+@)?github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,aE=[];return Object.entries(V1).forEach(([P_,O_])=>{const sN=O_.match(n0);if(sN){const[,uN,lN]=sN;let _F,eee=null;q1[lN]&&q1[lN].isRemoteIntegration!==void 0?(eee=q1[lN],_F=eee.isRemoteIntegration):q1[P_]&&typeof q1[P_].isRemoteIntegration=="boolean"&&(eee=q1[P_],_F=eee.isRemoteIntegration);const _pe={name:eee?.name||P_,userData:{GitHubOrg:uN,GitHubRepo:lN}};_F!==void 0&&(_pe.userData.isRemoteIntegration=_F),aE.push(_pe)}else O_.startsWith("file:")}),aE}catch(R_){return console.warn("Failed to read integrations from package.json",R_),[]}const cy=await integrationAxiosInstance.get("/integmanager.core/integration"),{data:uy,status:H1}=cy;if(H1!==200)throw new Error("Failed to fetch integrations");return uy.map(R_=>({...R_.integration,userData:JSON.parse(R_.integration.userData)}))},enabled:IS_LOCAL_MODE$5,staleTime:0,refetchOnWindowFocus:!0});Zf&&Jf&&y$b.error(Jf?.response?.data?.reason||Jf.message);const hp=reactExports.useCallback(async()=>{await dp()},[dp]),dg=reactExports.useCallback(async(cy,uy)=>{const H1=`/temp-validation/${cy}/${uy}`;let lE=!1;try{if(!await pathExists(H1)){const aE=generateGitHubUrl(cy,uy,wl,El);await cloneRepository(aE,H1,"main",El||""),lE=!0}let V1;if(IS_LOCAL_MODE$5){const{createGitUtils:aE}=await __vitePreload(async()=>{const{createGitUtils:sN}=await Promise.resolve().then(()=>index$8);return{createGitUtils:sN}},void 0),{fs:P_}=await aE({useCliBackend:!1}),O_=`${H1}/package.json`;V1=(await P_.readFile(O_)).toString()}const q1=JSON.parse(V1),n0=q1?.agentlang?.config&&Array.isArray(q1.agentlang.config);if(lE)try{await removeDirectory(H1)}catch(aE){console.warn("Failed to cleanup temporary clone:",aE)}return n0}catch(R_){if(lE)try{await removeDirectory(H1)}catch(V1){console.warn("Failed to cleanup temporary clone:",V1)}throw R_}},[wl,El]),pg=reactExports.useCallback(async cy=>{if(ya==="config"&&ba){const uy=wl&&wl.trim().length>0,H1=El&&El.trim().length>0;if(!uy||!H1){const O_=new Error("GitHub credentials are required for local mode");throw O_.code="GITHUB_CREDENTIALS_REQUIRED",O_}const lE=cy.userData.GitHubRepo,R_=cy.name,V1=cy.userData.GitHubOrg;if(!lE||!V1)throw new Error("GitHub organization and repository name are required");if(!await dg(V1,lE))throw new Error("The repository is not a valid AgentLang project. It must have a package.json with an agentlang.config field.");const n0=await readPackageJsonFromGit(ba);n0.dependencies||(n0.dependencies={});const aE=generateGitHubUrl(V1,lE,wl,El);n0.dependencies[R_]=`git+${aE}#main`,await savePackageJsonToGit(ba,JSON.stringify(n0,null,2),`Add dependency for ${R_}`,wl,El);const P_=`/${ba}`;try{await Sl(P_,wl,El)}catch(O_){throw console.error(`Failed to process dependencies for ${R_}:`,O_),y$b.error(`Failed to clone dependency: ${O_.message}`),O_}try{const O_=`${P_}/node_modules/${R_}`,sN=await readRepoFile(O_,"package.json"),uN=JSON.parse(sN);if(uN?.agentlang?.config&&Array.isArray(uN.agentlang.config)&&uN.agentlang.config.length>0){let lN="";try{lN=await readProjectFile(ba,"config.al")}catch{}const _F=lN?parseAppConfig(lN):{};_F[R_]||(_F[R_]={}),uN.agentlang.config.forEach(eee=>{_F[R_][eee]||(_F[R_][eee]=null)}),await saveConfigToGit(ba,formatAppConfig(_F),`Add config for integration ${R_}`,wl,El)}}catch(O_){console.warn(`Failed to create config maps for integration ${R_}:`,O_)}try{await flushAllAndLoad(P_,{name:"studio",useCliBackend:IS_LOCAL_MODE$5}),await va.invalidateQueries({queryKey:["dependencies"]})}catch(O_){console.warn(`Failed to load modules for ${R_}:`,O_)}await va.invalidateQueries({queryKey:["integrations",ba,ya]}),await dp(),y$b.success("Integration created successfully");return}try{const uy=await integrationAxiosInstance.post("/integmanager.core/integration",cy);if(uy.status===200||uy.status===201)await va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration created successfully");else throw new Error(uy.data?.reason||uy.data?.message||"Failed to create integration")}catch(uy){const H1=uy?.response?.data?.reason||uy?.response?.data?.message||uy?.message||"Failed to create integration";throw new Error(H1)}},[va,ba,wl,El,ya,dg,Sl,dp]),hg=reactExports.useCallback(async cy=>{if(ya==="config"&&ba)try{const uy=await readPackageJsonFromGit(ba);if(uy.dependencies&&uy.dependencies[cy]){const H1=uy.dependencies[cy],lE=/(?:git\+)?https:\/\/github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,R_=H1.match(lE),V1=R_?R_[2]:null;let q1=null;if(V1)try{const n0=await readDependencyPackageJsonFromGit(ba,cy);n0?.name&&(q1=n0.name.split("/").pop()?.split("@").pop()||null)}catch{console.log(`Could not read package.json for ${cy}, will try to remove by repo name`)}delete uy.dependencies[cy],await savePackageJsonToGit(ba,JSON.stringify(uy,null,2),`Remove dependency ${cy}`,wl,El);try{const n0=await readProjectFile(ba,"config.al"),aE=parseAppConfig(n0);let P_=!1;if(V1&&aE[V1]&&(delete aE[V1],P_=!0),q1&&aE[q1]&&(delete aE[q1],P_=!0),aE[cy]&&(delete aE[cy],P_=!0),P_){const O_=formatAppConfig(aE);await saveConfigToGit(ba,O_,`Remove integration ${cy} from config.al`,wl,El)}}catch{console.log("config.al does not exist or error reading it")}await va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration deleted successfully");return}else{y$b.info("Integration not found in dependencies");return}}catch(uy){throw console.error("Failed to delete integration:",uy),y$b.error(`Failed to delete integration: ${uy.message}`),uy}try{const uy=await integrationAxiosInstance.delete(`/integmanager.core/integration/${cy}`);if(console.log(uy.data),uy.status===200||uy.status===204)await va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration deleted successfully");else{const H1=uy.data?.reason||uy.data?.message||`Failed to delete integration (Status: ${uy.status})`;throw y$b.error(H1),new Error(H1)}}catch(uy){const H1=uy?.response?.data?.reason||uy?.response?.data?.message||uy?.message||"Failed to delete integration";throw y$b.error(H1),uy}},[va,ba,wl,El,ya]),mg=reactExports.useCallback(async(cy,uy)=>{if(ya==="config"&&ba)try{const H1=uy.userData?.GitHubRepo,lE=uy.userData?.GitHubOrg;if(!H1||!lE)throw new Error("Missing GitHub info for update");const R_=await readPackageJsonFromGit(ba);R_.dependencies||(R_.dependencies={}),R_.dependencies[cy]=`git+https://github.com/${lE}/${H1}.git#main`,await savePackageJsonToGit(ba,JSON.stringify(R_,null,2),`Update dependency ${cy}`,wl,El),await va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration updated successfully");return}catch(H1){throw console.error("Failed to update integration:",H1),y$b.error(`Failed to update integration: ${H1.message}`),H1}try{const H1=await integrationAxiosInstance.put(`/integmanager.core/integration/${cy}`,uy);if(console.log(H1.data),H1.status===200)va.invalidateQueries({queryKey:["integrations"]}),y$b.success("Integration updated successfully");else{const lE=H1.data?.reason||H1.data?.message||`Failed to update integration (Status: ${H1.status})`;throw y$b.error(lE),new Error(lE)}}catch(H1){const lE=H1?.response?.data?.reason||H1?.response?.data?.message||H1?.message||"Failed to update integration";throw y$b.error(lE),H1}},[va,ba,wl,El,ya]),gg=reactExports.useCallback(async cy=>{if(ya!=="api"||!ba){console.warn("addIntegrationToConfig only supported in 'api' mode with a valid githubRepo");return}try{const uy=cy.userData?.GitHubRepo,H1=cy.userData?.GitHubOrg,lE=cy.name;if(!uy||!H1)throw new Error("GitHub organization and repository name are required");const R_=`git+https://github.com/${H1}/${uy}.git#main`,V1=await readPackageJsonFromGit(ba);V1.dependencies||(V1.dependencies=null),V1.dependencies[uy]=R_,await savePackageJsonToGit(ba,JSON.stringify(V1,null,2),`Add integration ${lE} from API`,wl,El);const q1=`/${ba}`;try{await Sl(q1,wl,El),await flushAllAndLoad(q1,{name:"studio",useCliBackend:IS_LOCAL_MODE$5}),await va.invalidateQueries({queryKey:["dependencies"]})}catch(P_){console.warn(`Failed to process dependencies for ${lE}:`,P_)}let n0={};try{const P_=await readProjectFile(ba,"config.al");n0=parseAppConfig(P_)}catch{console.log("config.al does not exist yet, will create it")}n0[uy]={isRemoteIntegration:!0,name:lE,url:R_};const aE=formatAppConfig(n0);await saveConfigToGit(ba,aE,`Add integration ${lE} to config.al`,wl,El),await va.invalidateQueries({queryKey:["integrations"]}),y$b.success(`Integration ${lE} added successfully`)}catch(uy){throw console.error("Error adding integration to config:",uy),y$b.error(`Failed to add integration: ${uy.message}`),uy}},[ba,wl,El,ya,va,Sl]),sy=reactExports.useCallback(async cy=>{if(ya!=="api"||!ba){console.warn("removeIntegrationFromConfig only supported in 'api' mode with a valid githubRepo");return}try{const uy=cy.userData?.GitHubRepo,H1=cy.name;if(!uy)throw new Error("GitHub repository name is required");const lE=await readPackageJsonFromGit(ba);lE.dependencies&&lE.dependencies[H1]&&(delete lE.dependencies[H1],await savePackageJsonToGit(ba,JSON.stringify(lE,null,2),`Remove integration ${H1} from API`,wl,El));try{const R_=await readProjectFile(ba,"config.al"),V1=parseAppConfig(R_);if(V1[uy]){delete V1[uy];const q1=formatAppConfig(V1);await saveConfigToGit(ba,q1,`Remove integration ${H1} from config.al`,wl,El)}}catch{console.log("config.al does not exist or error reading it")}await va.invalidateQueries({queryKey:["integrations"]}),y$b.success(`Integration ${H1} removed successfully`)}catch(uy){throw console.error("Error removing integration from config:",uy),y$b.error(`Failed to remove integration: ${uy.message}`),uy}},[ba,wl,El,ya,va]),ly=reactExports.useCallback(async()=>{if(!ba)return console.warn("readAllConfigsFromPackageJson requires a valid githubRepo"),{};try{const uy=(await readPackageJsonFromGit(ba,!0)).dependencies||{},H1={};for(const[lE]of Object.entries(uy))try{const R_=await readDependencyPackageJsonFromGit(ba,lE);R_?.agentlang?.config&&Array.isArray(R_.agentlang.config)&&(H1[lE]=R_.agentlang.config)}catch(R_){console.warn(`Failed to read package.json for dependency ${lE}:`,R_.message)}return H1}catch(cy){throw console.error("Failed to read all configs from package.json:",cy),new Error(`Failed to read all configs: ${cy.message}`)}},[ba]);return{integrationData:Mc,isLoadingIntegrations:Ef,isErrorIntegrations:Zf,integrationsError:Jf,fetchIntegrations:hp,fetchIntegrationConnectionConfigs:Cl,createIntegration:pg,deleteIntegration:hg,updateIntegration:mg,addIntegrationToConfig:gg,removeIntegrationFromConfig:sy,readAllConfigsFromPackageJson:ly}},IS_PLAYGROUND$7=!1,IS_LOCAL_MODE$4=!0,useDeployments=()=>{const ya=useQueryClient(),ma=useAppStore(Zf=>Zf.authReady),ba=useAppStore(Zf=>Zf.isAuthenticated),{data:va,isLoading:Ma,isError:El,error:wl,refetch:Sl}=useQuery({queryKey:["deployments"],queryFn:async()=>(console.log("[SERVE_MODE] Skipping deployments fetch - returning empty object"),{}),enabled:ma&&ba&&!IS_PLAYGROUND$7&&!IS_LOCAL_MODE$4});El&&wl&&y$b.error(wl?.response?.data?.reason||wl.message);const Cl=reactExports.useCallback(async()=>{{console.log("[SERVE_MODE] Skipping deployments fetch");return}},[Sl]),Mc=reactExports.useCallback(async Zf=>{try{if(IS_PLAYGROUND$7||IS_LOCAL_MODE$4)return console.log(`[${IS_PLAYGROUND$7?"PLAYGROUND":"SERVE_MODE"}] Skipping app deployment`),y$b.success(`App deployed successfully! (${IS_PLAYGROUND$7?"playground":"serve"} mode)`),{success:!0};const Jf=await axiosInstance("deployment").post("/Deployment/DeployApp",Zf);return y$b.success("App deployed successfully!"),ya.invalidateQueries({queryKey:["deployments"]}),Jf.data}catch(Jf){throw y$b.error(Jf?.response?.data?.reason||"Failed to deploy app"),Jf}},[ya]),Ef=reactExports.useCallback(async Zf=>{try{if(IS_PLAYGROUND$7||IS_LOCAL_MODE$4)return console.log(`[${IS_PLAYGROUND$7?"PLAYGROUND":"SERVE_MODE"}] Skipping app undeployment`),y$b.success(`App undeployed successfully! (${IS_PLAYGROUND$7?"playground":"serve"} mode)`),{success:!0};const Jf=await axiosInstance("deployment").post("/Deployment/UndeployApp",Zf);return y$b.success("App undeployed successfully!"),ya.invalidateQueries({queryKey:["deployments"]}),Jf.data}catch(Jf){throw y$b.error(Jf?.response?.data?.reason||"Failed to undeploy app"),Jf}},[ya]);return{deploymentsData:va,isLoadingDeployments:Ma,isErrorDeployments:El,deploymentsError:wl,fetchDeployments:Cl,deployApp:Mc,undeployApp:Ef}};let globalInitializationState={isInitializing:!1,isInitialized:!1,error:null,retryCount:0,progress:{userLoaded:!1,workspaceLoaded:!1,dataLoaded:!1}};const listeners=new Set,updateGlobalState=ya=>{globalInitializationState={...globalInitializationState,...ya},listeners.forEach(ma=>ma(globalInitializationState))},useAppInitialization=()=>{const[ya,ma]=reactExports.useState(globalInitializationState),ba=reactExports.useRef(!1),{setUser:va,user:Ma,lastDataFetch:El,setLastDataFetch:wl}=useAppStore(),Sl=axiosInstance("meta"),{fetchWorkspaceApps:Cl}=useTeams(),{fetchIntegrations:Mc}=useIntegration(),{fetchDeployments:Ef}=useDeployments(),{fetchLLMs:Zf}=useLLM();reactExports.useEffect(()=>{const ly=cy=>{ma(cy)};return listeners.add(ly),()=>{listeners.delete(ly)}},[]);const Jf=reactExports.useCallback(ly=>{const cy={...globalInitializationState,progress:{...globalInitializationState.progress,...ly}};updateGlobalState(cy)},[]),dp=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ly=localStorage.getItem("agentlang-studio-store");if(!ly)return!1;try{const cy=JSON.parse(ly),uy=cy.state&&cy.state.user&&cy.state.user.Email,H1=cy.state&&cy.state.workspace&&cy.state.workspace.Id,lE=cy.state&&cy.state.lastDataFetch&&cy.state.lastDataFetch>0;return uy&&H1&&lE}catch(cy){return console.warn("Failed to parse cached store:",cy),!1}},[]),hp=reactExports.useCallback(()=>{if(El===0)return!0;const ly=Date.now()-600*1e3;if(El>ly)return!1;const cy=Date.now()-300*1e3;return El<cy},[El]),dg=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ly=localStorage.getItem("agentlang-studio-store");if(!ly)return!1;try{const cy=JSON.parse(ly);if(cy.state&&cy.state.user&&cy.state.user.Email)return Jf({userLoaded:!0}),!0}catch(cy){console.warn("Failed to parse cached store:",cy)}return!1},[Jf]),pg=reactExports.useCallback(()=>{if(typeof window>"u")return!1;const ly=localStorage.getItem("workspace_id"),cy=localStorage.getItem("username");return ly&&cy?(Jf({workspaceLoaded:!0}),!0):!1},[Jf]),hg=reactExports.useCallback(async(ly,cy,uy=!1)=>{{console.log("[DEV MODE] Skipping app data initialization - no API calls needed"),Jf({dataLoaded:!0});return}},[Cl,Mc,Ef,Zf,Jf,wl]),mg=reactExports.useCallback(async(ly=0)=>{if(!ba.current){console.log("[DEV MODE] Skipping app initialization - no API calls needed"),wl(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}},[Sl,va,Ma,hg,Jf,dp,dg,pg,hp,wl]),gg=reactExports.useCallback(()=>{updateGlobalState({retryCount:0}),ba.current=!1,mg()},[mg]),sy=reactExports.useCallback(()=>{updateGlobalState({isInitializing:!1,isInitialized:!1,error:null,retryCount:0,progress:{userLoaded:!1,workspaceLoaded:!1,dataLoaded:!1}}),ba.current=!1},[]);return reactExports.useEffect(()=>()=>{ba.current=!1},[]),{...ya,initializeApp:mg,retryInitialization:gg,resetInitialization:sy}};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.319.0"};function f$g(ya,ma,ba,va,Ma,El,wl){try{var Sl=ya[El](wl),Cl=Sl.value}catch(Mc){return void ba(Mc)}Sl.done?ma(Cl):Promise.resolve(Cl).then(va,Ma)}function p$c(ya){return function(){var ma=this,ba=arguments;return new Promise((function(va,Ma){var El=ya.apply(ma,ba);function wl(Cl){f$g(El,va,Ma,wl,Sl,"next",Cl)}function Sl(Cl){f$g(El,va,Ma,wl,Sl,"throw",Cl)}wl(void 0)}))}}function g$8(){return g$8=Object.assign?Object.assign.bind():function(ya){for(var ma=1;ma<arguments.length;ma++){var ba=arguments[ma];for(var va in ba)({}).hasOwnProperty.call(ba,va)&&(ya[va]=ba[va])}return ya},g$8.apply(null,arguments)}function _$7(ya,ma){if(ya==null)return{};var ba={};for(var va in ya)if({}.hasOwnProperty.call(ya,va)){if(ma.indexOf(va)!==-1)continue;ba[va]=ya[va]}return ba}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(ya,ma){if(ma===void 0&&(ma=[]),!ya)return!1;var ba=ya.toLowerCase();return m$8.concat(ma).some((va=>{var Ma=va.toLowerCase();return ba.indexOf(Ma)!==-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(ya,ma){return ya.indexOf(ma)!==-1}var x$6=function(ya){return ya.trim()},E$7=function(ya){return ya.replace(/^\$/,"")},S$a=Array.isArray,k$a=Object.prototype,P$9=k$a.hasOwnProperty,T$a=k$a.toString,I$8=S$a||function(ya){return T$a.call(ya)==="[object Array]"},C$c=ya=>typeof ya=="function",R$3=ya=>ya===Object(ya)&&!I$8(ya),F$8=ya=>{if(R$3(ya)){for(var ma in ya)if(P$9.call(ya,ma))return!1;return!0}return!1},M$6=ya=>ya===void 0,O$5=ya=>T$a.call(ya)=="[object String]",A$7=ya=>O$5(ya)&&ya.trim().length===0,D$b=ya=>ya===null,j$a=ya=>M$6(ya)||D$b(ya),L$6=ya=>T$a.call(ya)=="[object Number]"&&ya==ya,N$6=ya=>L$6(ya)&&ya>0,U$4=ya=>T$a.call(ya)==="[object Boolean]",z$5=ya=>ya instanceof FormData,H$9=ya=>w$9(b$8,ya);function B$5(ya){return ya===null||typeof ya!="object"}function q$6(ya,ma){return Object.prototype.toString.call(ya)==="[object "+ma+"]"}function W$4(ya){return!M$6(Event)&&(function(ma,ba){try{return ma instanceof ba}catch{return!1}})(ya,Event)}var G$5=[!0,"true",1,"1","yes"],V$7=ya=>w$9(G$5,ya),J$5=[!1,"false",0,"0","no"];function K$6(ya,ma,ba,va,Ma){return ma>ba&&(va.warn("min cannot be greater than max."),ma=ba),L$6(ya)?ya>ba?(va.warn(" cannot be greater than max: "+ba+". Using max value instead."),ba):ya<ma?(va.warn(" cannot be less than min: "+ma+". Using min value instead."),ma):ya:(va.warn(" must be a number. using max or fallback. max: "+ba+", fallback: "+Ma),K$6(Ma||ba,ma,ba,va))}let Y$3=class{constructor(ma){this.t={},this.i=ma.i,this.o=K$6(ma.bucketSize,0,100,ma.h),this.m=K$6(ma.refillRate,0,this.o,ma.h),this.$=K$6(ma.refillInterval,0,864e5,ma.h)}S(ma,ba){var va=ba-ma.lastAccess,Ma=Math.floor(va/this.$);if(Ma>0){var El=Ma*this.m;ma.tokens=Math.min(ma.tokens+El,this.o),ma.lastAccess=ma.lastAccess+Ma*this.$}}consumeRateLimit(ma){var ba,va=Date.now(),Ma=String(ma),El=this.t[Ma];return El?this.S(El,va):(El={tokens:this.o,lastAccess:va},this.t[Ma]=El),El.tokens===0||(El.tokens--,El.tokens===0&&((ba=this.i)==null||ba.call(this,ma)),El.tokens===0)}stop(){this.t={}}};var X$4="Mobile",Q$5="iOS",Z$4="Android",tt$1="Tablet",it$1=Z$4+" "+tt$1,et$1="iPad",rt$1="Apple",st$1=rt$1+" Watch",nt$1="Safari",ot$1="BlackBerry",at$1="Samsung",lt$1=at$1+"Browser",ut$1=at$1+" Internet",ht$1="Chrome",dt$2=ht$1+" OS",vt$1=ht$1+" "+Q$5,ct$1="Internet Explorer",ft$1=ct$1+" "+X$4,pt$1="Opera",gt$2=pt$1+" Mini",_t$1="Edge",mt$1="Microsoft "+_t$1,yt$1="Firefox",bt=yt$1+" "+Q$5,wt$1="Nintendo",xt="PlayStation",Et$2="Xbox",$t=Z$4+" "+X$4,St$1=X$4+" "+nt$1,kt$1="Windows",Pt$2=kt$1+" Phone",Tt$1="Nokia",It$1="Ouya",Ct$1="Generic",Rt$1=Ct$1+" "+X$4.toLowerCase(),Ft$2=Ct$1+" "+tt$1.toLowerCase(),Mt$2="Konqueror",Ot="(\\d+(\\.\\d+)?)",At$1=new RegExp("Version/"+Ot),Dt$1=new RegExp(Et$2,"i"),jt=new RegExp(xt+" \\w+","i"),Lt=new RegExp(wt$1+" \\w+","i"),Nt=new RegExp(ot$1+"|PlayBook|BB10","i"),Ut={"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"},zt,Ht,Bt$1,qt=(ya,ma)=>ma&&w$9(ma,rt$1)||(function(ba){return w$9(ba,nt$1)&&!w$9(ba,ht$1)&&!w$9(ba,Z$4)})(ya),Wt=function(ya,ma){return ma=ma||"",w$9(ya," OPR/")&&w$9(ya,"Mini")?gt$2:w$9(ya," OPR/")?pt$1:Nt.test(ya)?ot$1:w$9(ya,"IE"+X$4)||w$9(ya,"WPDesktop")?ft$1:w$9(ya,lt$1)?ut$1:w$9(ya,_t$1)||w$9(ya,"Edg/")?mt$1:w$9(ya,"FBIOS")?"Facebook "+X$4:w$9(ya,"UCWEB")||w$9(ya,"UCBrowser")?"UC Browser":w$9(ya,"CriOS")?vt$1:w$9(ya,"CrMo")||w$9(ya,ht$1)?ht$1:w$9(ya,Z$4)&&w$9(ya,nt$1)?$t:w$9(ya,"FxiOS")?bt:w$9(ya.toLowerCase(),Mt$2.toLowerCase())?Mt$2:qt(ya,ma)?w$9(ya,X$4)?St$1:nt$1:w$9(ya,yt$1)?yt$1:w$9(ya,"MSIE")||w$9(ya,"Trident/")?ct$1:w$9(ya,"Gecko")?yt$1:""},Gt={[ft$1]:[new RegExp("rv:"+Ot)],[mt$1]:[new RegExp(_t$1+"?\\/"+Ot)],[ht$1]:[new RegExp("("+ht$1+"|CrMo)\\/"+Ot)],[vt$1]:[new RegExp("CriOS\\/"+Ot)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Ot)],[nt$1]:[At$1],[St$1]:[At$1],[pt$1]:[new RegExp("(Opera|OPR)\\/"+Ot)],[yt$1]:[new RegExp(yt$1+"\\/"+Ot)],[bt]:[new RegExp("FxiOS\\/"+Ot)],[Mt$2]:[new RegExp("Konqueror[:/]?"+Ot,"i")],[ot$1]:[new RegExp(ot$1+" "+Ot),At$1],[$t]:[new RegExp("android\\s"+Ot,"i")],[ut$1]:[new RegExp(lt$1+"\\/"+Ot)],[ct$1]:[new RegExp("(rv:|MSIE )"+Ot)],Mozilla:[new RegExp("rv:"+Ot)]},Vt=function(ya,ma){var ba=Wt(ya,ma),va=Gt[ba];if(M$6(va))return null;for(var Ma=0;Ma<va.length;Ma++){var El=va[Ma],wl=ya.match(El);if(wl)return parseFloat(wl[wl.length-2])}return null},Jt=[[new RegExp(Et$2+"; "+Et$2+" (.*?)[);]","i"),ya=>[Et$2,ya&&ya[1]||""]],[new RegExp(wt$1,"i"),[wt$1,""]],[new RegExp(xt,"i"),[xt,""]],[Nt,[ot$1,""]],[new RegExp(kt$1,"i"),(ya,ma)=>{if(/Phone/.test(ma)||/WPDesktop/.test(ma))return[Pt$2,""];if(new RegExp(X$4).test(ma)&&!/IEMobile\b/.test(ma))return[kt$1+" "+X$4,""];var ba=/Windows NT ([0-9.]+)/i.exec(ma);if(ba&&ba[1]){var va=ba[1],Ma=Ut[va]||"";return/arm/i.test(ma)&&(Ma="RT"),[kt$1,Ma]}return[kt$1,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,ya=>{if(ya&&ya[3]){var ma=[ya[3],ya[4],ya[5]||"0"];return[Q$5,ma.join(".")]}return[Q$5,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,ya=>{var ma="";return ya&&ya.length>=3&&(ma=M$6(ya[2])?ya[3]:ya[2]),["watchOS",ma]}],[new RegExp("("+Z$4+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+Z$4+")","i"),ya=>{if(ya&&ya[2]){var ma=[ya[2],ya[3],ya[4]||"0"];return[Z$4,ma.join(".")]}return[Z$4,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,ya=>{var ma=["Mac OS X",""];if(ya&&ya[1]){var ba=[ya[1],ya[2],ya[3]||"0"];ma[1]=ba.join(".")}return ma}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[dt$2,""]],[/Linux|debian/i,["Linux",""]]],Kt=function(ya){return Lt.test(ya)?wt$1:jt.test(ya)?xt:Dt$1.test(ya)?Et$2:new RegExp(It$1,"i").test(ya)?It$1:new RegExp("("+Pt$2+"|WPDesktop)","i").test(ya)?Pt$2:/iPad/.test(ya)?et$1:/iPod/.test(ya)?"iPod Touch":/iPhone/.test(ya)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(ya)?st$1:Nt.test(ya)?ot$1:/(kobo)\s(ereader|touch)/i.test(ya)?"Kobo":new RegExp(Tt$1,"i").test(ya)?Tt$1:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(ya)||/(kf[a-z]+)( bui|\)).+silk\//i.test(ya)?"Kindle Fire":/(Android|ZTE)/i.test(ya)?new RegExp(X$4).test(ya)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(ya)||/pixel[\daxl ]{1,6}/i.test(ya)&&!/pixel c/i.test(ya)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(ya)||/lmy47v/i.test(ya)&&!/QTAQZ3/i.test(ya)?Z$4:it$1:new RegExp("(pda|"+X$4+")","i").test(ya)?Rt$1:new RegExp(tt$1,"i").test(ya)&&!new RegExp(tt$1+" pc","i").test(ya)?Ft$2:""},Yt=ya=>ya instanceof Error;function Xt(ya){var ma=globalThis._posthogChunkIds;if(ma){var ba=Object.keys(ma);return Bt$1&&ba.length===Ht||(Ht=ba.length,Bt$1=ba.reduce(((va,Ma)=>{zt||(zt={});var El=zt[Ma];if(El)va[El[0]]=El[1];else for(var wl=ya(Ma),Sl=wl.length-1;Sl>=0;Sl--){var Cl=wl[Sl],Mc=Cl?.filename,Ef=ma[Ma];if(Mc&&Ef){va[Mc]=Ef,zt[Ma]=[Mc,Ef];break}}return va}),{})),Bt$1}}class Qt{constructor(ma,ba,va){va===void 0&&(va=[]),this.coercers=ma,this.stackParser=ba,this.modifiers=va}buildFromUnknown(ma,ba){ba===void 0&&(ba={});var va=ba&&ba.mechanism||{handled:!0,type:"generic"},Ma=this.buildCoercingContext(va,ba,0).apply(ma),El=this.buildParsingContext(),wl=this.parseStacktrace(Ma,El);return{$exception_list:this.convertToExceptionList(wl,va),$exception_level:"error"}}modifyFrames(ma){var ba=this;return p$c((function*(){for(var va of ma)va.stacktrace&&va.stacktrace.frames&&I$8(va.stacktrace.frames)&&(va.stacktrace.frames=yield ba.applyModifiers(va.stacktrace.frames));return ma}))()}coerceFallback(ma){var ba;return{type:"Error",value:"Unknown error",stack:(ba=ma.syntheticException)==null?void 0:ba.stack,synthetic:!0}}parseStacktrace(ma,ba){var va,Ma;return ma.cause!=null&&(va=this.parseStacktrace(ma.cause,ba)),ma.stack!=""&&ma.stack!=null&&(Ma=this.applyChunkIds(this.stackParser(ma.stack,ma.synthetic?1:0),ba.chunkIdMap)),g$8({},ma,{cause:va,stack:Ma})}applyChunkIds(ma,ba){return ma.map((va=>(va.filename&&ba&&(va.chunk_id=ba[va.filename]),va)))}applyCoercers(ma,ba){for(var va of this.coercers)if(va.match(ma))return va.coerce(ma,ba);return this.coerceFallback(ba)}applyModifiers(ma){var ba=this;return p$c((function*(){var va=ma;for(var Ma of ba.modifiers)va=yield Ma(va);return va}))()}convertToExceptionList(ma,ba){var va,Ma,El,wl={type:ma.type,value:ma.value,mechanism:{type:(va=ba.type)!==null&&va!==void 0?va:"generic",handled:(Ma=ba.handled)===null||Ma===void 0||Ma,synthetic:(El=ma.synthetic)!==null&&El!==void 0&&El}};ma.stack&&(wl.stacktrace={type:"raw",frames:ma.stack});var Sl=[wl];return ma.cause!=null&&Sl.push(...this.convertToExceptionList(ma.cause,g$8({},ba,{handled:!0}))),Sl}buildParsingContext(){return{chunkIdMap:Xt(this.stackParser)}}buildCoercingContext(ma,ba,va){va===void 0&&(va=0);var Ma=(El,wl)=>{if(wl<=4){var Sl=this.buildCoercingContext(ma,ba,wl);return this.applyCoercers(El,Sl)}};return g$8({},ba,{syntheticException:va==0?ba.syntheticException:void 0,mechanism:ma,apply:El=>Ma(El,va),next:El=>Ma(El,va+1)})}}var Zt="?";function ti(ya,ma,ba,va,Ma){var El={platform:ya,filename:ma,function:ba==="<anonymous>"?Zt:ba,in_app:!0};return M$6(va)||(El.lineno=va),M$6(Ma)||(El.colno=Ma),El}var ii=(ya,ma)=>{var ba=ya.indexOf("safari-extension")!==-1,va=ya.indexOf("safari-web-extension")!==-1;return ba||va?[ya.indexOf("@")!==-1?ya.split("@")[0]:Zt,ba?"safari-extension:"+ma:"safari-web-extension:"+ma]:[ya,ma]},ei=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,ri=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,si=/\((\S*)(?::(\d+))(?::(\d+))\)/,ni=(ya,ma)=>{var ba=ei.exec(ya);if(ba){var[,va,Ma,El]=ba;return ti(ma,va,Zt,+Ma,+El)}var wl=ri.exec(ya);if(wl){if(wl[2]&&wl[2].indexOf("eval")===0){var Sl=si.exec(wl[2]);Sl&&(wl[2]=Sl[1],wl[3]=Sl[2],wl[4]=Sl[3])}var[Cl,Mc]=ii(wl[1]||Zt,wl[2]);return ti(ma,Mc,Cl,wl[3]?+wl[3]:void 0,wl[4]?+wl[4]:void 0)}},oi=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,ai=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,li=(ya,ma)=>{var ba=oi.exec(ya);if(ba){if(ba[3]&&ba[3].indexOf(" > eval")>-1){var va=ai.exec(ba[3]);va&&(ba[1]=ba[1]||"eval",ba[3]=va[1],ba[4]=va[2],ba[5]="")}var Ma=ba[3],El=ba[1]||Zt;return[El,Ma]=ii(El,Ma),ti(ma,Ma,El,ba[4]?+ba[4]:void 0,ba[5]?+ba[5]:void 0)}},ui=/\(error: (.*)\)/,hi=50;function di(){return(function(ya){for(var ma=arguments.length,ba=new Array(ma>1?ma-1:0),va=1;va<ma;va++)ba[va-1]=arguments[va];return function(Ma,El){El===void 0&&(El=0);for(var wl=[],Sl=Ma.split(`
20765
20765
  `),Cl=El;Cl<Sl.length;Cl++){var Mc=Sl[Cl];if(!(Mc.length>1024)){var Ef=ui.test(Mc)?Mc.replace(ui,"$1"):Mc;if(!Ef.match(/\S*Error: /)){for(var Zf of ba){var Jf=Zf(Ef,ya);if(Jf){wl.push(Jf);break}}if(wl.length>=hi)break}}}return(function(dp){if(!dp.length)return[];var hp=Array.from(dp);return hp.reverse(),hp.slice(0,hi).map((dg=>{return g$8({},dg,{filename:dg.filename||(pg=hp,pg[pg.length-1]||{}).filename,function:dg.function||Zt});var pg}))})(wl)}})("web:javascript",ni,li)}class vi{match(ma){return this.isDOMException(ma)||this.isDOMError(ma)}coerce(ma,ba){var va=O$5(ma.stack);return{type:this.getType(ma),value:this.getValue(ma),stack:va?ma.stack:void 0,cause:ma.cause?ba.next(ma.cause):void 0,synthetic:!1}}getType(ma){return this.isDOMError(ma)?"DOMError":"DOMException"}getValue(ma){var ba=ma.name||(this.isDOMError(ma)?"DOMError":"DOMException");return ma.message?ba+": "+ma.message:ba}isDOMException(ma){return q$6(ma,"DOMException")}isDOMError(ma){return q$6(ma,"DOMError")}}class ci{match(ma){return(ba=>ba instanceof Error)(ma)}coerce(ma,ba){return{type:this.getType(ma),value:this.getMessage(ma,ba),stack:this.getStack(ma),cause:ma.cause?ba.next(ma.cause):void 0,synthetic:!1}}getType(ma){return ma.name||ma.constructor.name}getMessage(ma,ba){var va=ma.message;return va.error&&typeof va.error.message=="string"?String(va.error.message):String(va)}getStack(ma){return ma.stacktrace||ma.stack||void 0}}class fi{constructor(){}match(ma){return q$6(ma,"ErrorEvent")&&ma.error!=null}coerce(ma,ba){var va,Ma=ba.apply(ma.error);return Ma||{type:"ErrorEvent",value:ma.message,stack:(va=ba.syntheticException)==null?void 0:va.stack,synthetic:!0}}}var pi=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;class gi{match(ma){return typeof ma=="string"}coerce(ma,ba){var va,[Ma,El]=this.getInfos(ma);return{type:Ma??"Error",value:El??ma,stack:(va=ba.syntheticException)==null?void 0:va.stack,synthetic:!0}}getInfos(ma){var ba="Error",va=ma,Ma=ma.match(pi);return Ma&&(ba=Ma[1],va=Ma[2]),[ba,va]}}var _i=["fatal","error","warning","log","info","debug"];function mi(ya,ma){ma===void 0&&(ma=40);var ba=Object.keys(ya);if(ba.sort(),!ba.length)return"[object has no keys]";for(var va=ba.length;va>0;va--){var Ma=ba.slice(0,va).join(", ");if(!(Ma.length>ma))return va===ba.length||Ma.length<=ma?Ma:Ma.slice(0,ma)+"..."}return""}class yi{match(ma){return typeof ma=="object"&&ma!==null}coerce(ma,ba){var va,Ma=this.getErrorPropertyFromObject(ma);return Ma?ba.apply(Ma):{type:this.getType(ma),value:this.getValue(ma),stack:(va=ba.syntheticException)==null?void 0:va.stack,level:this.isSeverityLevel(ma.level)?ma.level:"error",synthetic:!0}}getType(ma){return W$4(ma)?ma.constructor.name:"Error"}getValue(ma){if("name"in ma&&typeof ma.name=="string"){var ba="'"+ma.name+"' captured as exception";return"message"in ma&&typeof ma.message=="string"&&(ba+=" with message: '"+ma.message+"'"),ba}if("message"in ma&&typeof ma.message=="string")return ma.message;var va=this.getObjectClassName(ma);return(va&&va!=="Object"?"'"+va+"'":"Object")+" captured as exception with keys: "+mi(ma)}isSeverityLevel(ma){return O$5(ma)&&!A$7(ma)&&_i.indexOf(ma)>=0}getErrorPropertyFromObject(ma){for(var ba in ma)if(Object.prototype.hasOwnProperty.call(ma,ba)){var va=ma[ba];if(Yt(va))return va}}getObjectClassName(ma){try{var ba=Object.getPrototypeOf(ma);return ba?ba.constructor.name:void 0}catch{return}}}class bi{match(ma){return W$4(ma)}coerce(ma,ba){var va,Ma=ma.constructor.name;return{type:Ma,value:Ma+" captured as exception with keys: "+mi(ma),stack:(va=ba.syntheticException)==null?void 0:va.stack,synthetic:!0}}}class wi{match(ma){return B$5(ma)}coerce(ma,ba){var va;return{type:"Error",value:"Primitive value captured as exception: "+String(ma),stack:(va=ba.syntheticException)==null?void 0:va.stack,synthetic:!0}}}class xi{match(ma){return q$6(ma,"PromiseRejectionEvent")}coerce(ma,ba){var va,Ma=this.getUnhandledRejectionReason(ma);return B$5(Ma)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(Ma),stack:(va=ba.syntheticException)==null?void 0:va.stack,synthetic:!0}:ba.apply(Ma)}getUnhandledRejectionReason(ma){if(B$5(ma))return ma;try{if("reason"in ma)return ma.reason;if("detail"in ma&&"reason"in ma.detail)return ma.detail.reason}catch{}return ma}}var Ei=function(ya,ma){var{debugEnabled:ba}=ma===void 0?{}:ma,va={k:function(Ma){if(t$9&&(c$e.DEBUG||v$7.POSTHOG_DEBUG||ba)&&!M$6(t$9.console)&&t$9.console){for(var El=("__rrweb_original__"in t$9.console[Ma])?t$9.console[Ma].__rrweb_original__:t$9.console[Ma],wl=arguments.length,Sl=new Array(wl>1?wl-1:0),Cl=1;Cl<wl;Cl++)Sl[Cl-1]=arguments[Cl];El(ya,...Sl)}},info:function(){for(var Ma=arguments.length,El=new Array(Ma),wl=0;wl<Ma;wl++)El[wl]=arguments[wl];va.k("log",...El)},warn:function(){for(var Ma=arguments.length,El=new Array(Ma),wl=0;wl<Ma;wl++)El[wl]=arguments[wl];va.k("warn",...El)},error:function(){for(var Ma=arguments.length,El=new Array(Ma),wl=0;wl<Ma;wl++)El[wl]=arguments[wl];va.k("error",...El)},critical:function(){for(var Ma=arguments.length,El=new Array(Ma),wl=0;wl<Ma;wl++)El[wl]=arguments[wl];console.error(ya,...El)},uninitializedWarning:Ma=>{va.error("You must initialize PostHog before calling "+Ma)},createLogger:(Ma,El)=>Ei(ya+" "+Ma,El)};return va},$i=Ei("[PostHog.js]"),Si=$i.createLogger,ki=Si("[ExternalScriptsLoader]"),Pi=(ya,ma,ba)=>{if(ya.config.disable_external_dependency_loading)return ki.warn(ma+" was requested but loading of external scripts is disabled."),ba("Loading of external scripts is disabled");var va=o$d?.querySelectorAll("script");if(va){for(var Ma,El=function(){if(va[wl].src===ma){var Cl=va[wl];return Cl.__posthog_loading_callback_fired?{v:ba()}:(Cl.addEventListener("load",(Mc=>{Cl.__posthog_loading_callback_fired=!0,ba(void 0,Mc)})),Cl.onerror=Mc=>ba(Mc),{v:void 0})}},wl=0;wl<va.length;wl++)if(Ma=El())return Ma.v}var Sl=()=>{if(!o$d)return ba("document not found");var Cl=o$d.createElement("script");if(Cl.type="text/javascript",Cl.crossOrigin="anonymous",Cl.src=ma,Cl.onload=Zf=>{Cl.__posthog_loading_callback_fired=!0,ba(void 0,Zf)},Cl.onerror=Zf=>ba(Zf),ya.config.prepare_external_dependency_script&&(Cl=ya.config.prepare_external_dependency_script(Cl)),!Cl)return ba("prepare_external_dependency_script returned null");var Mc,Ef=o$d.querySelectorAll("body > script");Ef.length>0?(Mc=Ef[0].parentNode)==null||Mc.insertBefore(Cl,Ef[0]):o$d.body.appendChild(Cl)};o$d!=null&&o$d.body?Sl():o$d?.addEventListener("DOMContentLoaded",Sl)};v$7.__PosthogExtensions__=v$7.__PosthogExtensions__||{},v$7.__PosthogExtensions__.loadExternalDependency=(ya,ma,ba)=>{var va="/static/"+ma+".js?v="+ya.version;if(ma==="remote-config"&&(va="/array/"+ya.config.token+"/config.js"),ma==="toolbar"){var Ma=3e5;va=va+"&t="+Math.floor(Date.now()/Ma)*Ma}var El=ya.requestRouter.endpointFor("assets",va);Pi(ya,El,ba)},v$7.__PosthogExtensions__.loadSiteApp=(ya,ma,ba)=>{var va=ya.requestRouter.endpointFor("api",ma);Pi(ya,va,ba)};var Ti={};function Ii(ya,ma,ba){if(I$8(ya)){if(r$d&&ya.forEach===r$d)ya.forEach(ma,ba);else if("length"in ya&&ya.length===+ya.length){for(var va=0,Ma=ya.length;va<Ma;va++)if(va in ya&&ma.call(ba,ya[va],va)===Ti)return}}}function Ci(ya,ma,ba){if(!j$a(ya)){if(I$8(ya))return Ii(ya,ma,ba);if(z$5(ya)){for(var va of ya.entries())if(ma.call(ba,va[1],va[0])===Ti)return}else for(var Ma in ya)if(P$9.call(ya,Ma)&&ma.call(ba,ya[Ma],Ma)===Ti)return}}var Ri=function(ya){for(var ma=arguments.length,ba=new Array(ma>1?ma-1:0),va=1;va<ma;va++)ba[va-1]=arguments[va];return Ii(ba,(function(Ma){for(var El in Ma)Ma[El]!==void 0&&(ya[El]=Ma[El])})),ya},Fi=function(ya){for(var ma=arguments.length,ba=new Array(ma>1?ma-1:0),va=1;va<ma;va++)ba[va-1]=arguments[va];return Ii(ba,(function(Ma){Ii(Ma,(function(El){ya.push(El)}))})),ya};function Mi(ya){for(var ma=Object.keys(ya),ba=ma.length,va=new Array(ba);ba--;)va[ba]=[ma[ba],ya[ma[ba]]];return va}var Oi=function(ya){try{return ya()}catch{return}},Ai=function(ya){return function(){try{for(var ma=arguments.length,ba=new Array(ma),va=0;va<ma;va++)ba[va]=arguments[va];return ya.apply(this,ba)}catch(Ma){$i.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),$i.critical(Ma)}}},Di=function(ya){var ma={};return Ci(ya,(function(ba,va){(O$5(ba)&&ba.length>0||L$6(ba))&&(ma[va]=ba)})),ma};function ji(ya,ma){return ba=ya,va=El=>O$5(El)&&!D$b(ma)?El.slice(0,ma):El,Ma=new Set,(function El(wl,Sl){return wl!==Object(wl)?va?va(wl,Sl):wl:Ma.has(wl)?void 0:(Ma.add(wl),I$8(wl)?(Cl=[],Ii(wl,(Mc=>{Cl.push(El(Mc))}))):(Cl={},Ci(wl,((Mc,Ef)=>{Ma.has(Mc)||(Cl[Ef]=El(Mc,Ef))}))),Cl);var Cl})(ba);var ba,va,Ma}var Li=["herokuapp.com","vercel.app","netlify.app"];function Ni(ya){var ma=ya?.hostname;if(!O$5(ma))return!1;var ba=ma.split(".").slice(-2).join(".");for(var va of Li)if(ba===va)return!1;return!0}function Ui(ya,ma){for(var ba=0;ba<ya.length;ba++)if(ma(ya[ba]))return ya[ba]}function zi(ya,ma,ba,va){var{capture:Ma=!1,passive:El=!0}=va??{};ya?.addEventListener(ma,ba,{capture:Ma,passive:El})}var Hi="$people_distinct_id",Bi="__alias",qi="__timers",Wi="$autocapture_disabled_server_side",Gi="$heatmaps_enabled_server_side",Vi="$exception_capture_enabled_server_side",Ji="$error_tracking_suppression_rules",Ki="$error_tracking_capture_extension_exceptions",Yi="$web_vitals_enabled_server_side",Xi="$dead_clicks_enabled_server_side",Qi="$product_tours_enabled_server_side",Zi="$web_vitals_allowed_metrics",te$4="$session_recording_remote_config",ie$3="$sesid",ee$4="$session_is_sampled",re$1="$enabled_feature_flags",se$3="$early_access_features",ne$2="$feature_flag_details",oe$2="$stored_person_properties",ae$3="$stored_group_properties",le$2="$surveys",ue$1="$flag_call_reported",he$3="$user_state",de$3="$client_session_props",ve$2="$capture_rate_limit",ce$3="$initial_campaign_params",fe$2="$initial_referrer_info",pe$2="$initial_person_info",ge$3="$epp",_e$1="__POSTHOG_TOOLBAR__",me$2="$posthog_cookieless",ye$3=[Hi,Bi,"__cmpns",qi,"$session_recording_enabled_server_side",Gi,ie$3,re$1,Ji,he$3,se$3,ne$2,ae$3,oe$2,le$2,ue$1,de$3,ve$2,ce$3,fe$2,ge$3,pe$2,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function be$4(ya){return ya instanceof Element&&(ya.id===_e$1||!(ya.closest==null||!ya.closest(".toolbar-global-fade-container")))}function we$3(ya){return!!ya&&ya.nodeType===1}function xe$1(ya,ma){return!!ya&&!!ya.tagName&&ya.tagName.toLowerCase()===ma.toLowerCase()}function Ee$2(ya){return!!ya&&ya.nodeType===3}function $e(ya){return!!ya&&ya.nodeType===11}function Se$2(ya){return ya?x$6(ya).split(/\s+/):[]}function ke$3(ya){var ma=t$9?.location.href;return!!(ma&&ya&&ya.some((ba=>ma.match(ba))))}function Pe(ya){var ma="";switch(typeof ya.className){case"string":ma=ya.className;break;case"object":ma=(ya.className&&"baseVal"in ya.className?ya.className.baseVal:null)||ya.getAttribute("class")||"";break;default:ma=""}return Se$2(ma)}function Te$2(ya){return j$a(ya)?null:x$6(ya).split(/(\s+)/).filter((ma=>Ke$1(ma))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function Ie$1(ya){var ma="";return ze(ya)&&!He$2(ya)&&ya.childNodes&&ya.childNodes.length&&Ci(ya.childNodes,(function(ba){var va;Ee$2(ba)&&ba.textContent&&(ma+=(va=Te$2(ba.textContent))!==null&&va!==void 0?va:"")})),x$6(ma)}function Ce$3(ya){return M$6(ya.target)?ya.srcElement||null:(ma=ya.target)!=null&&ma.shadowRoot?ya.composedPath()[0]||null:ya.target||null;var ma}var Re$1=["a","button","form","input","select","textarea","label"];function Fe$2(ya,ma){if(M$6(ma))return!0;var ba,va=function(El){if(ma.some((wl=>El.matches(wl))))return{v:!0}};for(var Ma of ya)if(ba=va(Ma))return ba.v;return!1}function Me$2(ya){var ma=ya.parentNode;return!(!ma||!we$3(ma))&&ma}var Oe$5=["next","previous","prev",">","<"],Ae$1=10,De$3=[".ph-no-rageclick",".ph-no-capture"];function je$2(ya,ma){if(!t$9||Le$1(ya))return!1;var ba,va,Ma;if(U$4(ma)?(ba=!!ma&&De$3,va=void 0):(ba=(Ma=ma?.css_selector_ignorelist)!==null&&Ma!==void 0?Ma:De$3,va=ma?.content_ignorelist),ba===!1)return!1;var{targetElementList:El}=Ne$2(ya,!1);return!(function(wl,Sl){if(wl===!1||M$6(wl))return!1;var Cl;if(wl===!0)Cl=Oe$5;else{if(!I$8(wl))return!1;if(wl.length>Ae$1)return $i.error("[PostHog] content_ignorelist array cannot exceed "+Ae$1+" items. Use css_selector_ignorelist for more complex matching."),!1;Cl=wl.map((Mc=>Mc.toLowerCase()))}return Sl.some((Mc=>{var{safeText:Ef,ariaLabel:Zf}=Mc;return Cl.some((Jf=>Ef.includes(Jf)||Zf.includes(Jf)))}))})(va,El.map((wl=>{var Sl;return{safeText:Ie$1(wl).toLowerCase(),ariaLabel:((Sl=wl.getAttribute("aria-label"))==null?void 0:Sl.toLowerCase().trim())||""}})))&&!Fe$2(El,ba)}var Le$1=ya=>!ya||xe$1(ya,"html")||!we$3(ya),Ne$2=(ya,ma)=>{if(!t$9||Le$1(ya))return{parentIsUsefulElement:!1,targetElementList:[]};for(var ba=!1,va=[ya],Ma=ya;Ma.parentNode&&!xe$1(Ma,"body");)if($e(Ma.parentNode))va.push(Ma.parentNode.host),Ma=Ma.parentNode.host;else{var El=Me$2(Ma);if(!El)break;if(ma||Re$1.indexOf(El.tagName.toLowerCase())>-1)ba=!0;else{var wl=t$9.getComputedStyle(El);wl&&wl.getPropertyValue("cursor")==="pointer"&&(ba=!0)}va.push(El),Ma=El}return{parentIsUsefulElement:ba,targetElementList:va}};function Ue$1(ya,ma,ba,va,Ma){var El,wl,Sl,Cl;if(ba===void 0&&(ba=void 0),!t$9||Le$1(ya)||(El=ba)!=null&&El.url_allowlist&&!ke$3(ba.url_allowlist)||(wl=ba)!=null&&wl.url_ignorelist&&ke$3(ba.url_ignorelist))return!1;if((Sl=ba)!=null&&Sl.dom_event_allowlist){var Mc=ba.dom_event_allowlist;if(Mc&&!Mc.some((hp=>ma.type===hp)))return!1}var{parentIsUsefulElement:Ef,targetElementList:Zf}=Ne$2(ya,va);if(!(function(hp,dg){var pg=dg?.element_allowlist;if(M$6(pg))return!0;var hg,mg=function(sy){if(pg.some((ly=>sy.tagName.toLowerCase()===ly)))return{v:!0}};for(var gg of hp)if(hg=mg(gg))return hg.v;return!1})(Zf,ba)||!Fe$2(Zf,(Cl=ba)==null?void 0:Cl.css_selector_allowlist))return!1;var Jf=t$9.getComputedStyle(ya);if(Jf&&Jf.getPropertyValue("cursor")==="pointer"&&ma.type==="click")return!0;var dp=ya.tagName.toLowerCase();switch(dp){case"html":return!1;case"form":return(Ma||["submit"]).indexOf(ma.type)>=0;case"input":case"select":case"textarea":return(Ma||["change","click"]).indexOf(ma.type)>=0;default:return Ef?(Ma||["click"]).indexOf(ma.type)>=0:(Ma||["click"]).indexOf(ma.type)>=0&&(Re$1.indexOf(dp)>-1||ya.getAttribute("contenteditable")==="true")}}function ze(ya){for(var ma=ya;ma.parentNode&&!xe$1(ma,"body");ma=ma.parentNode){var ba=Pe(ma);if(w$9(ba,"ph-sensitive")||w$9(ba,"ph-no-capture"))return!1}if(w$9(Pe(ya),"ph-include"))return!0;var va=ya.type||"";if(O$5(va))switch(va.toLowerCase()){case"hidden":case"password":return!1}var Ma=ya.name||ya.id||"";return!(O$5(Ma)&&/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(Ma.replace(/[^a-zA-Z0-9]/g,"")))}function He$2(ya){return!!(xe$1(ya,"input")&&!["button","checkbox","submit","reset"].includes(ya.type)||xe$1(ya,"select")||xe$1(ya,"textarea")||ya.getAttribute("contenteditable")==="true")}var Be$1="(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})",qe=new RegExp("^(?:"+Be$1+")$"),We$1=new RegExp(Be$1),Ge$1="\\d{3}-?\\d{2}-?\\d{4}",Ve$1=new RegExp("^("+Ge$1+")$"),Je=new RegExp("("+Ge$1+")");function Ke$1(ya,ma){return ma===void 0&&(ma=!0),!(j$a(ya)||O$5(ya)&&(ya=x$6(ya),(ma?qe:We$1).test((ya||"").replace(/[- ]/g,""))||(ma?Ve$1:Je).test(ya)))}function Ye(ya){var ma=Ie$1(ya);return Ke$1(ma=(ma+" "+Xe(ya)).trim())?ma:""}function Xe(ya){var ma="";return ya&&ya.childNodes&&ya.childNodes.length&&Ci(ya.childNodes,(function(ba){var va;if(ba&&((va=ba.tagName)==null?void 0:va.toLowerCase())==="span")try{var Ma=Ie$1(ba);ma=(ma+" "+Ma).trim(),ba.childNodes&&ba.childNodes.length&&(ma=(ma+" "+Xe(ba)).trim())}catch(El){$i.error("[AutoCapture]",El)}})),ma}function Qe(ya){return(function(ma){var ba=ma.map((va=>{var Ma,El,wl="";if(va.tag_name&&(wl+=va.tag_name),va.attr_class)for(var Sl of(va.attr_class.sort(),va.attr_class))wl+="."+Sl.replace(/"/g,"");var Cl=g$8({},va.text?{text:va.text}:{},{"nth-child":(Ma=va.nth_child)!==null&&Ma!==void 0?Ma:0,"nth-of-type":(El=va.nth_of_type)!==null&&El!==void 0?El:0},va.href?{href:va.href}:{},va.attr_id?{attr_id:va.attr_id}:{},va.attributes),Mc={};return Mi(Cl).sort(((Ef,Zf)=>{var[Jf]=Ef,[dp]=Zf;return Jf.localeCompare(dp)})).forEach((Ef=>{var[Zf,Jf]=Ef;return Mc[Ze$1(Zf.toString())]=Ze$1(Jf.toString())})),wl+=":",wl+=Mi(Mc).map((Ef=>{var[Zf,Jf]=Ef;return Zf+'="'+Jf+'"'})).join("")}));return ba.join(";")})((function(ma){return ma.map((ba=>{var va,Ma,El={text:(va=ba.$el_text)==null?void 0:va.slice(0,400),tag_name:ba.tag_name,href:(Ma=ba.attr__href)==null?void 0:Ma.slice(0,2048),attr_class:tr(ba),attr_id:ba.attr__id,nth_child:ba.nth_child,nth_of_type:ba.nth_of_type,attributes:{}};return Mi(ba).filter((wl=>{var[Sl]=wl;return Sl.indexOf("attr__")===0})).forEach((wl=>{var[Sl,Cl]=wl;return El.attributes[Sl]=Cl})),El}))})(ya))}function Ze$1(ya){return ya.replace(/"|\\"/g,'\\"')}function tr(ya){var ma=ya.attr__class;return ma?I$8(ma)?ma:Se$2(ma):void 0}class ir{constructor(ma){this.disabled=ma===!1;var ba=R$3(ma)?ma:{};this.thresholdPx=ba.threshold_px||30,this.timeoutMs=ba.timeout_ms||1e3,this.clickCount=ba.click_count||3,this.clicks=[]}isRageClick(ma,ba,va){if(this.disabled)return!1;var Ma=this.clicks[this.clicks.length-1];if(Ma&&Math.abs(ma-Ma.x)+Math.abs(ba-Ma.y)<this.thresholdPx&&va-Ma.timestamp<this.timeoutMs){if(this.clicks.push({x:ma,y:ba,timestamp:va}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:ma,y:ba,timestamp:va}];return!1}}var er=ya=>{var ma=o$d?.createElement("a");return M$6(ma)?null:(ma.href=ya,ma)},rr=function(ya,ma){var ba,va;ma===void 0&&(ma="&");var Ma=[];return Ci(ya,(function(El,wl){M$6(El)||M$6(wl)||wl==="undefined"||(ba=encodeURIComponent((Sl=>Sl instanceof File)(El)?El.name:El.toString()),va=encodeURIComponent(wl),Ma[Ma.length]=va+"="+ba)})),Ma.join(ma)},sr=function(ya,ma){for(var ba,va=((ya.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),Ma=0;Ma<va.length;Ma++){var El=va[Ma].split("=");if(El[0]===ma){ba=El;break}}if(!I$8(ba)||ba.length<2)return"";var wl=ba[1];try{wl=decodeURIComponent(wl)}catch{$i.error("Skipping decoding for malformed query param: "+wl)}return wl.replace(/\+/g," ")},nr=function(ya,ma,ba){if(!ya||!ma||!ma.length)return ya;for(var va=ya.split("#"),Ma=va[0]||"",El=va[1],wl=Ma.split("?"),Sl=wl[1],Cl=wl[0],Mc=(Sl||"").split("&"),Ef=[],Zf=0;Zf<Mc.length;Zf++){var Jf=Mc[Zf].split("=");I$8(Jf)&&(ma.includes(Jf[0])?Ef.push(Jf[0]+"="+ba):Ef.push(Mc[Zf]))}var dp=Cl;return Sl!=null&&(dp+="?"+Ef.join("&")),El!=null&&(dp+="#"+El),dp},or=function(ya,ma){var ba=ya.match(new RegExp(ma+"=([^&]*)"));return ba?ba[1]:null},ar="$copy_autocapture",lr=Si("[AutoCapture]");function ur(ya,ma){return ma.length>ya?ma.slice(0,ya)+"...":ma}function hr(ya){if(ya.previousElementSibling)return ya.previousElementSibling;var ma=ya;do ma=ma.previousSibling;while(ma&&!we$3(ma));return ma}function dr(ya,ma,ba,va){var Ma=ya.tagName.toLowerCase(),El={tag_name:Ma};Re$1.indexOf(Ma)>-1&&!ba&&(Ma.toLowerCase()==="a"||Ma.toLowerCase()==="button"?El.$el_text=ur(1024,Ye(ya)):El.$el_text=ur(1024,Ie$1(ya)));var wl=Pe(ya);wl.length>0&&(El.classes=wl.filter((function(Ef){return Ef!==""}))),Ci(ya.attributes,(function(Ef){var Zf;if((!He$2(ya)||["name","id","class","aria-label"].indexOf(Ef.name)!==-1)&&(va==null||!va.includes(Ef.name))&&!ma&&Ke$1(Ef.value)&&(Zf=Ef.name,!O$5(Zf)||Zf.substring(0,10)!=="_ngcontent"&&Zf.substring(0,7)!=="_nghost")){var Jf=Ef.value;Ef.name==="class"&&(Jf=Se$2(Jf).join(" ")),El["attr__"+Ef.name]=ur(1024,Jf)}}));for(var Sl=1,Cl=1,Mc=ya;Mc=hr(Mc);)Sl++,Mc.tagName===ya.tagName&&Cl++;return El.nth_child=Sl,El.nth_of_type=Cl,El}function vr(ya,ma){for(var ba,va,{e:Ma,maskAllElementAttributes:El,maskAllText:wl,elementAttributeIgnoreList:Sl,elementsChainAsString:Cl}=ma,Mc=[ya],Ef=ya;Ef.parentNode&&!xe$1(Ef,"body");)$e(Ef.parentNode)?(Mc.push(Ef.parentNode.host),Ef=Ef.parentNode.host):(Mc.push(Ef.parentNode),Ef=Ef.parentNode);var Zf,Jf=[],dp={},hp=!1,dg=!1;if(Ci(Mc,(sy=>{var ly=ze(sy);sy.tagName.toLowerCase()==="a"&&(hp=sy.getAttribute("href"),hp=ly&&hp&&Ke$1(hp)&&hp),w$9(Pe(sy),"ph-no-capture")&&(dg=!0),Jf.push(dr(sy,El,wl,Sl));var cy=(function(uy){if(!ze(uy))return{};var H1={};return Ci(uy.attributes,(function(lE){if(lE.name&&lE.name.indexOf("data-ph-capture-attribute")===0){var R_=lE.name.replace("data-ph-capture-attribute-",""),V1=lE.value;R_&&V1&&Ke$1(V1)&&(H1[R_]=V1)}})),H1})(sy);Ri(dp,cy)})),dg)return{props:{},explicitNoCapture:dg};if(wl||(ya.tagName.toLowerCase()==="a"||ya.tagName.toLowerCase()==="button"?Jf[0].$el_text=Ye(ya):Jf[0].$el_text=Ie$1(ya)),hp){var pg,hg;Jf[0].attr__href=hp;var mg=(pg=er(hp))==null?void 0:pg.host,gg=t$9==null||(hg=t$9.location)==null?void 0:hg.host;mg&&gg&&mg!==gg&&(Zf=hp)}return{props:Ri({$event_type:Ma.type,$ce_version:1},Cl?{}:{$elements:Jf},{$elements_chain:Qe(Jf)},(ba=Jf[0])!=null&&ba.$el_text?{$el_text:(va=Jf[0])==null?void 0:va.$el_text}:{},Zf&&Ma.type==="click"?{$external_click_url:Zf}:{},dp)}}class cr{constructor(ma){this.P=!1,this.T=null,this.I=!1,this.instance=ma,this.rageclicks=new ir(ma.config.rageclick),this.C=null}get R(){var ma,ba,va=R$3(this.instance.config.autocapture)?this.instance.config.autocapture:{};return va.url_allowlist=(ma=va.url_allowlist)==null?void 0:ma.map((Ma=>new RegExp(Ma))),va.url_ignorelist=(ba=va.url_ignorelist)==null?void 0:ba.map((Ma=>new RegExp(Ma))),va}F(){if(this.isBrowserSupported()){if(t$9&&o$d){var ma=va=>{va=va||t$9?.event;try{this.M(va)}catch(Ma){lr.error("Failed to capture event",Ma)}};if(zi(o$d,"submit",ma,{capture:!0}),zi(o$d,"change",ma,{capture:!0}),zi(o$d,"click",ma,{capture:!0}),this.R.capture_copied_text){var ba=va=>{va=va||t$9?.event,this.M(va,ar)};zi(o$d,"copy",ba,{capture:!0}),zi(o$d,"cut",ba,{capture:!0})}}}else lr.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.P&&(this.F(),this.P=!0)}onRemoteConfig(ma){ma.elementsChainAsString&&(this.I=ma.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[Wi]:!!ma.autocapture_opt_out}),this.T=!!ma.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(ma){this.C=ma}getElementSelectors(ma){var ba,va=[];return(ba=this.C)==null||ba.forEach((Ma=>{var El=o$d?.querySelectorAll(Ma);El?.forEach((wl=>{ma===wl&&va.push(Ma)}))})),va}get isEnabled(){var ma,ba,va=(ma=this.instance.persistence)==null?void 0:ma.props[Wi],Ma=this.T;if(D$b(Ma)&&!U$4(va)&&!this.instance.O())return!1;var El=(ba=this.T)!==null&&ba!==void 0?ba:!!va;return!!this.instance.config.autocapture&&!El}M(ma,ba){if(ba===void 0&&(ba="$autocapture"),this.isEnabled){var va,Ma=Ce$3(ma);Ee$2(Ma)&&(Ma=Ma.parentNode||null),ba==="$autocapture"&&ma.type==="click"&&ma instanceof MouseEvent&&this.instance.config.rageclick&&(va=this.rageclicks)!=null&&va.isRageClick(ma.clientX,ma.clientY,ma.timeStamp||new Date().getTime())&&je$2(Ma,this.instance.config.rageclick)&&this.M(ma,"$rageclick");var El=ba===ar;if(Ma&&Ue$1(Ma,ma,this.R,El,El?["copy","cut"]:void 0)){var{props:wl,explicitNoCapture:Sl}=vr(Ma,{e:ma,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(Sl)return!1;var Cl=this.getElementSelectors(Ma);if(Cl&&Cl.length>0&&(wl.$element_selectors=Cl),ba===ar){var Mc,Ef=Te$2(t$9==null||(Mc=t$9.getSelection())==null?void 0:Mc.toString()),Zf=ma.type||"clipboard";if(!Ef)return!1;wl.$selected_content=Ef,wl.$copy_type=Zf}return this.instance.capture(ba,wl),!0}}}isBrowserSupported(){return C$c(o$d?.querySelectorAll)}}Math.trunc||(Math.trunc=function(ya){return ya<0?Math.ceil(ya):Math.floor(ya)}),Number.isInteger||(Number.isInteger=function(ya){return L$6(ya)&&isFinite(ya)&&Math.floor(ya)===ya});var fr="0123456789abcdef";class pr{constructor(ma){if(this.bytes=ma,ma.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(ma,ba,va,Ma){if(!Number.isInteger(ma)||!Number.isInteger(ba)||!Number.isInteger(va)||!Number.isInteger(Ma)||ma<0||ba<0||va<0||Ma<0||ma>0xffffffffffff||ba>4095||va>1073741823||Ma>4294967295)throw new RangeError("invalid field value");var El=new Uint8Array(16);return El[0]=ma/Math.pow(2,40),El[1]=ma/Math.pow(2,32),El[2]=ma/Math.pow(2,24),El[3]=ma/Math.pow(2,16),El[4]=ma/Math.pow(2,8),El[5]=ma,El[6]=112|ba>>>8,El[7]=ba,El[8]=128|va>>>24,El[9]=va>>>16,El[10]=va>>>8,El[11]=va,El[12]=Ma>>>24,El[13]=Ma>>>16,El[14]=Ma>>>8,El[15]=Ma,new pr(El)}toString(){for(var ma="",ba=0;ba<this.bytes.length;ba++)ma=ma+fr.charAt(this.bytes[ba]>>>4)+fr.charAt(15&this.bytes[ba]),ba!==3&&ba!==5&&ba!==7&&ba!==9||(ma+="-");if(ma.length!==36)throw new Error("Invalid UUIDv7 was generated");return ma}clone(){return new pr(this.bytes.slice(0))}equals(ma){return this.compareTo(ma)===0}compareTo(ma){for(var ba=0;ba<16;ba++){var va=this.bytes[ba]-ma.bytes[ba];if(va!==0)return Math.sign(va)}return 0}}class gr{constructor(){this.A=0,this.D=0,this.j=new yr}generate(){var ma=this.generateOrAbort();if(M$6(ma)){this.A=0;var ba=this.generateOrAbort();if(M$6(ba))throw new Error("Could not generate UUID after timestamp reset");return ba}return ma}generateOrAbort(){var ma=Date.now();if(ma>this.A)this.A=ma,this.L();else{if(!(ma+1e4>this.A))return;this.D++,this.D>4398046511103&&(this.A++,this.L())}return pr.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 _r,mr=ya=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var ma=0;ma<ya.length;ma++)ya[ma]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return ya};t$9&&!M$6(t$9.crypto)&&crypto.getRandomValues&&(mr=ya=>crypto.getRandomValues(ya));class yr{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(mr(this.N),this.U=0),this.N[this.U++]}}var br=()=>wr().toString(),wr=()=>(_r||(_r=new gr)).generate(),xr="",Er=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function $r(ya,ma){if(ma){var ba=(function(Ma,El){if(El===void 0&&(El=o$d),xr)return xr;if(!El||["localhost","127.0.0.1"].includes(Ma))return"";for(var wl=Ma.split("."),Sl=Math.min(wl.length,8),Cl="dmn_chk_"+br();!xr&&Sl--;){var Mc=wl.slice(Sl).join("."),Ef=Cl+"=1;domain=."+Mc+";path=/";El.cookie=Ef+";max-age=3",El.cookie.includes(Cl)&&(El.cookie=Ef+";max-age=0",xr=Mc)}return xr})(ya);if(!ba){var va=(Ma=>{var El=Ma.match(Er);return El?El[0]:""})(ya);va!==ba&&$i.info("Warning: cookie subdomain discovery mismatch",va,ba),ba=va}return ba?"; domain=."+ba:""}return""}var Sr={H:()=>!!o$d,B:function(ya){$i.error("cookieStore error: "+ya)},q:function(ya){if(o$d){try{for(var ma=ya+"=",ba=o$d.cookie.split(";").filter((El=>El.length)),va=0;va<ba.length;va++){for(var Ma=ba[va];Ma.charAt(0)==" ";)Ma=Ma.substring(1,Ma.length);if(Ma.indexOf(ma)===0)return decodeURIComponent(Ma.substring(ma.length,Ma.length))}}catch{}return null}},W:function(ya){var ma;try{ma=JSON.parse(Sr.q(ya))||{}}catch{}return ma},G:function(ya,ma,ba,va,Ma){if(o$d)try{var El="",wl="",Sl=$r(o$d.location.hostname,va);if(ba){var Cl=new Date;Cl.setTime(Cl.getTime()+24*ba*60*60*1e3),El="; expires="+Cl.toUTCString()}Ma&&(wl="; secure");var Mc=ya+"="+encodeURIComponent(JSON.stringify(ma))+El+"; SameSite=Lax; path=/"+Sl+wl;return Mc.length>3686.4&&$i.warn("cookieStore warning: large cookie, len="+Mc.length),o$d.cookie=Mc,Mc}catch{return}},V:function(ya,ma){if(o$d!=null&&o$d.cookie)try{Sr.G(ya,"",-1,ma)}catch{return}}},kr=null,Pr={H:function(){if(!D$b(kr))return kr;var ya=!0;if(M$6(t$9))ya=!1;else try{var ma="__mplssupport__";Pr.G(ma,"xyz"),Pr.q(ma)!=='"xyz"'&&(ya=!1),Pr.V(ma)}catch{ya=!1}return ya||$i.error("localStorage unsupported; falling back to cookie store"),kr=ya,ya},B:function(ya){$i.error("localStorage error: "+ya)},q:function(ya){try{return t$9?.localStorage.getItem(ya)}catch(ma){Pr.B(ma)}return null},W:function(ya){try{return JSON.parse(Pr.q(ya))||{}}catch{}return null},G:function(ya,ma){try{t$9?.localStorage.setItem(ya,JSON.stringify(ma))}catch(ba){Pr.B(ba)}},V:function(ya){try{t$9?.localStorage.removeItem(ya)}catch(ma){Pr.B(ma)}}},Tr=["$device_id","distinct_id",ie$3,ee$4,ge$3,pe$2],Ir={},Cr={H:function(){return!0},B:function(ya){$i.error("memoryStorage error: "+ya)},q:function(ya){return Ir[ya]||null},W:function(ya){return Ir[ya]||null},G:function(ya,ma){Ir[ya]=ma},V:function(ya){delete Ir[ya]}},Rr=null,Fr={H:function(){if(!D$b(Rr))return Rr;if(Rr=!0,M$6(t$9))Rr=!1;else try{var ya="__support__";Fr.G(ya,"xyz"),Fr.q(ya)!=='"xyz"'&&(Rr=!1),Fr.V(ya)}catch{Rr=!1}return Rr},B:function(ya){$i.error("sessionStorage error: ",ya)},q:function(ya){try{return t$9?.sessionStorage.getItem(ya)}catch(ma){Fr.B(ma)}return null},W:function(ya){try{return JSON.parse(Fr.q(ya))||null}catch{}return null},G:function(ya,ma){try{t$9?.sessionStorage.setItem(ya,JSON.stringify(ma))}catch(ba){Fr.B(ba)}},V:function(ya){try{t$9?.sessionStorage.removeItem(ya)}catch(ma){Fr.B(ma)}}},Mr=(function(ya){return ya[ya.PENDING=-1]="PENDING",ya[ya.DENIED=0]="DENIED",ya[ya.GRANTED=1]="GRANTED",ya})({});class Or{constructor(ma){this._instance=ma}get R(){return this._instance.config}get consent(){return this.J()?Mr.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===Mr.DENIED||this.consent===Mr.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===Mr.DENIED}optInOut(ma){this.Y.G(this.X,ma?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:ma,opt_out_capturing_cookie_prefix:ba,consent_persistence_name:va}=this._instance.config;return va||(ba?ba+ma:"__ph_opt_in_out_"+ma)}get K(){var ma=this.Y.q(this.X);return V$7(ma)?Mr.GRANTED:w$9(J$5,ma)?Mr.DENIED:Mr.PENDING}get Y(){if(!this.Z){var ma=this.R.opt_out_capturing_persistence_type;this.Z=ma==="localStorage"?Pr:Sr;var ba=ma==="localStorage"?Sr:Pr;ba.q(this.X)&&(this.Z.q(this.X)||this.optInOut(V$7(ba.q(this.X))),ba.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!Ui([n$9?.doNotTrack,n$9?.msDoNotTrack,v$7.doNotTrack],(ma=>V$7(ma)))}}var Ar=Si("[Dead Clicks]"),Dr=()=>!0,jr=ya=>{var ma,ba=!((ma=ya.instance.persistence)==null||!ma.get_property(Xi)),va=ya.instance.config.capture_dead_clicks;return U$4(va)?va:!!R$3(va)||ba};class Lr{get lazyLoadedDeadClicksAutocapture(){return this.tt}constructor(ma,ba,va){this.instance=ma,this.isEnabled=ba,this.onCapture=va,this.startIfEnabled()}onRemoteConfig(ma){this.instance.persistence&&this.instance.persistence.register({[Xi]:ma?.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.it((()=>{this.et()}))}it(ma){var ba,va;(ba=v$7.__PosthogExtensions__)!=null&&ba.initDeadClicksAutocapture&&ma(),(va=v$7.__PosthogExtensions__)==null||va.loadExternalDependency==null||va.loadExternalDependency(this.instance,"dead-clicks-autocapture",(Ma=>{Ma?Ar.error("failed to load script",Ma):ma()}))}et(){var ma;if(o$d){if(!this.tt&&(ma=v$7.__PosthogExtensions__)!=null&&ma.initDeadClicksAutocapture){var ba=R$3(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};ba.__onCapture=this.onCapture,this.tt=v$7.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,ba),this.tt.start(o$d),Ar.info("starting...")}}else Ar.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,Ar.info("stopping..."))}}var Nr=Si("[ExceptionAutocapture]");class Ur{constructor(ma){var ba,va,Ma;this.rt=()=>{var El;if(t$9&&this.isEnabled&&(El=v$7.__PosthogExtensions__)!=null&&El.errorWrappingFunctions){var wl=v$7.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,Sl=v$7.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,Cl=v$7.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.st&&this.R.capture_unhandled_errors&&(this.st=wl(this.captureException.bind(this))),!this.nt&&this.R.capture_unhandled_rejections&&(this.nt=Sl(this.captureException.bind(this))),!this.ot&&this.R.capture_console_errors&&(this.ot=Cl(this.captureException.bind(this)))}catch(Mc){Nr.error("failed to start",Mc),this.ut()}}},this._instance=ma,this.ht=!((ba=this._instance.persistence)==null||!ba.props[Vi]),this.dt=new Y$3({refillRate:(va=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&va!==void 0?va:1,bucketSize:(Ma=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&Ma!==void 0?Ma:10,refillInterval:1e4,h:Nr}),this.R=this.vt(),this.startIfEnabledOrStop()}vt(){var ma=this._instance.config.capture_exceptions,ba={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return R$3(ma)?ba=g$8({},ba,ma):(M$6(ma)?this.ht:ma)&&(ba=g$8({},ba,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),ba}get isEnabled(){return this.R.capture_console_errors||this.R.capture_unhandled_errors||this.R.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(Nr.info("enabled"),this.ut(),this.it(this.rt)):this.ut()}it(ma){var ba,va;(ba=v$7.__PosthogExtensions__)!=null&&ba.errorWrappingFunctions&&ma(),(va=v$7.__PosthogExtensions__)==null||va.loadExternalDependency==null||va.loadExternalDependency(this._instance,"exception-autocapture",(Ma=>{if(Ma)return Nr.error("failed to load script",Ma);ma()}))}ut(){var ma,ba,va;(ma=this.st)==null||ma.call(this),this.st=void 0,(ba=this.nt)==null||ba.call(this),this.nt=void 0,(va=this.ot)==null||va.call(this),this.ot=void 0}onRemoteConfig(ma){var ba=ma.autocaptureExceptions;this.ht=!!ba||!1,this._instance.persistence&&this._instance.persistence.register({[Vi]:this.ht}),this.R=this.vt(),this.startIfEnabledOrStop()}onConfigChange(){this.R=this.vt()}captureException(ma){var ba,va,Ma=(ba=ma==null||(va=ma.$exception_list)==null||(va=va[0])==null?void 0:va.type)!==null&&ba!==void 0?ba:"Exception";this.dt.consumeRateLimit(Ma)?Nr.info("Skipping exception capture because of client rate limiting.",{exception:Ma}):this._instance.exceptions.sendExceptionEvent(ma)}}function zr(ya,ma,ba){try{if(!(ma in ya))return()=>{};var va=ya[ma],Ma=ba(va);return C$c(Ma)&&(Ma.prototype=Ma.prototype||{},Object.defineProperties(Ma,{__posthog_wrapped__:{enumerable:!1,value:!0}})),ya[ma]=Ma,()=>{ya[ma]=va}}catch{return()=>{}}}class Hr{constructor(ma){var ba;this._instance=ma,this.ct=(t$9==null||(ba=t$9.location)==null?void 0:ba.pathname)||""}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&($i.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.ft&&this.ft(),this.ft=void 0,$i.info("History API monitoring stopped")}monitorHistoryChanges(){var ma,ba;if(t$9&&t$9.history){var va=this;(ma=t$9.history.pushState)!=null&&ma.__posthog_wrapped__||zr(t$9.history,"pushState",(Ma=>function(El,wl,Sl){Ma.call(this,El,wl,Sl),va._t("pushState")})),(ba=t$9.history.replaceState)!=null&&ba.__posthog_wrapped__||zr(t$9.history,"replaceState",(Ma=>function(El,wl,Sl){Ma.call(this,El,wl,Sl),va._t("replaceState")})),this.yt()}}_t(ma){try{var ba,va=t$9==null||(ba=t$9.location)==null?void 0:ba.pathname;if(!va)return;va!==this.ct&&this.isEnabled&&this._instance.capture("$pageview",{navigation_type:ma}),this.ct=va}catch(Ma){$i.error("Error capturing "+ma+" pageview",Ma)}}yt(){if(!this.ft){var ma=()=>{this._t("popstate")};zi(t$9,"popstate",ma),this.ft=()=>{t$9&&t$9.removeEventListener("popstate",ma)}}}}var Br=Si("[SegmentIntegration]");function qr(ya,ma){var ba=ya.config.segment;if(!ba)return ma();(function(va,Ma){var El=va.config.segment;if(!El)return Ma();var wl=Cl=>{var Mc=()=>Cl.anonymousId()||br();va.config.get_device_id=Mc,Cl.id()&&(va.register({distinct_id:Cl.id(),$device_id:Mc()}),va.persistence.set_property(he$3,"identified")),Ma()},Sl=El.user();"then"in Sl&&C$c(Sl.then)?Sl.then(wl):wl(Sl)})(ya,(()=>{ba.register((va=>{Promise&&Promise.resolve||Br.warn("This browser does not have Promise support, and can not use the segment integration");var Ma=(El,wl)=>{if(!wl)return El;El.event.userId||El.event.anonymousId===va.get_distinct_id()||(Br.info("No userId set, resetting PostHog"),va.reset()),El.event.userId&&El.event.userId!==va.get_distinct_id()&&(Br.info("UserId set, identifying with PostHog"),va.identify(El.event.userId));var Sl=va.calculateEventProperties(wl,El.event.properties);return El.event.properties=Object.assign({},Sl,El.event.properties),El};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:El=>Ma(El,El.event.event),page:El=>Ma(El,"$pageview"),identify:El=>Ma(El,"$identify"),screen:El=>Ma(El,"$screen")}})(ya)).then((()=>{ma()}))}))}var Wr="posthog-js";function Gr(ya,ma){var{organization:ba,projectId:va,prefix:Ma,severityAllowList:El=["error"],sendExceptionsToPostHog:wl=!0}=ma===void 0?{}:ma;return Sl=>{var Cl,Mc,Ef,Zf,Jf;if(!(El==="*"||El.includes(Sl.level))||!ya.__loaded)return Sl;Sl.tags||(Sl.tags={});var dp=ya.requestRouter.endpointFor("ui","/project/"+ya.config.token+"/person/"+ya.get_distinct_id());Sl.tags["PostHog Person URL"]=dp,ya.sessionRecordingStarted()&&(Sl.tags["PostHog Recording URL"]=ya.get_session_replay_url({withTimestamp:!0}));var hp=((Cl=Sl.exception)==null?void 0:Cl.values)||[],dg=hp.map((hg=>g$8({},hg,{stacktrace:hg.stacktrace?g$8({},hg.stacktrace,{type:"raw",frames:(hg.stacktrace.frames||[]).map((mg=>g$8({},mg,{platform:"web:javascript"})))}):void 0}))),pg={$exception_message:((Mc=hp[0])==null?void 0:Mc.value)||Sl.message,$exception_type:(Ef=hp[0])==null?void 0:Ef.type,$exception_level:Sl.level,$exception_list:dg,$sentry_event_id:Sl.event_id,$sentry_exception:Sl.exception,$sentry_exception_message:((Zf=hp[0])==null?void 0:Zf.value)||Sl.message,$sentry_exception_type:(Jf=hp[0])==null?void 0:Jf.type,$sentry_tags:Sl.tags};return ba&&va&&(pg.$sentry_url=(Ma||"https://sentry.io/organizations/")+ba+"/issues/?project="+va+"&query="+Sl.event_id),wl&&ya.exceptions.sendExceptionEvent(pg),Sl}}class Vr{constructor(ma,ba,va,Ma,El,wl){this.name=Wr,this.setupOnce=function(Sl){Sl(Gr(ma,{organization:ba,projectId:va,prefix:Ma,severityAllowList:El,sendExceptionsToPostHog:wl==null||wl}))}}}var Jr=t$9!=null&&t$9.location?or(t$9.location.hash,"__posthog")||or(location.hash,"state"):null,Kr="_postHogToolbarParams",Yr=Si("[Toolbar]"),Xr=(function(ya){return ya[ya.UNINITIALIZED=0]="UNINITIALIZED",ya[ya.LOADING=1]="LOADING",ya[ya.LOADED=2]="LOADED",ya})(Xr||{});class Qr{constructor(ma){this.instance=ma}bt(ma){v$7.ph_toolbar_state=ma}wt(){var ma;return(ma=v$7.ph_toolbar_state)!==null&&ma!==void 0?ma:Xr.UNINITIALIZED}maybeLoadToolbar(ma,ba,va){if(ma===void 0&&(ma=void 0),ba===void 0&&(ba=void 0),va===void 0&&(va=void 0),!t$9||!o$d)return!1;ma=ma??t$9.location,va=va??t$9.history;try{if(!ba){try{t$9.localStorage.setItem("test","test"),t$9.localStorage.removeItem("test")}catch{return!1}ba=t$9?.localStorage}var Ma,El=Jr||or(ma.hash,"__posthog")||or(ma.hash,"state"),wl=El?Oi((()=>JSON.parse(atob(decodeURIComponent(El)))))||Oi((()=>JSON.parse(decodeURIComponent(El)))):null;return wl&&wl.action==="ph_authorize"?((Ma=wl).source="url",Ma&&Object.keys(Ma).length>0&&(wl.desiredHash?ma.hash=wl.desiredHash:va?va.replaceState(va.state,"",ma.pathname+ma.search):ma.hash="")):((Ma=JSON.parse(ba.getItem(Kr)||"{}")).source="localstorage",delete Ma.userIntent),!(!Ma.token||this.instance.config.token!==Ma.token)&&(this.loadToolbar(Ma),!0)}catch{return!1}}xt(ma){var ba=v$7.ph_load_toolbar||v$7.ph_load_editor;!j$a(ba)&&C$c(ba)?ba(ma,this.instance):Yr.warn("No toolbar load function found")}loadToolbar(ma){var ba=!(o$d==null||!o$d.getElementById(_e$1));if(!t$9||ba)return!1;var va=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,Ma=g$8({token:this.instance.config.token},ma,{apiURL:this.instance.requestRouter.endpointFor("ui")},va?{instrument:!1}:{});if(t$9.localStorage.setItem(Kr,JSON.stringify(g$8({},Ma,{source:void 0}))),this.wt()===Xr.LOADED)this.xt(Ma);else if(this.wt()===Xr.UNINITIALIZED){var El;this.bt(Xr.LOADING),(El=v$7.__PosthogExtensions__)==null||El.loadExternalDependency==null||El.loadExternalDependency(this.instance,"toolbar",(wl=>{if(wl)return Yr.error("[Toolbar] Failed to load",wl),void this.bt(Xr.UNINITIALIZED);this.bt(Xr.LOADED),this.xt(Ma)})),zi(t$9,"turbolinks:load",(()=>{this.bt(Xr.UNINITIALIZED),this.loadToolbar(Ma)}))}return!0}Et(ma){return this.loadToolbar(ma)}maybeLoadEditor(ma,ba,va){return ma===void 0&&(ma=void 0),ba===void 0&&(ba=void 0),va===void 0&&(va=void 0),this.maybeLoadToolbar(ma,ba,va)}}var Zr=Si("[TracingHeaders]");class ts{constructor(ma){this.$t=void 0,this.St=void 0,this.rt=()=>{var ba,va;M$6(this.$t)&&((ba=v$7.__PosthogExtensions__)==null||(ba=ba.tracingHeadersPatchFns)==null||ba._patchXHR(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager)),M$6(this.St)&&((va=v$7.__PosthogExtensions__)==null||(va=va.tracingHeadersPatchFns)==null||va._patchFetch(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=ma}it(ma){var ba,va;(ba=v$7.__PosthogExtensions__)!=null&&ba.tracingHeadersPatchFns&&ma(),(va=v$7.__PosthogExtensions__)==null||va.loadExternalDependency==null||va.loadExternalDependency(this._instance,"tracing-headers",(Ma=>{if(Ma)return Zr.error("failed to load script",Ma);ma()}))}startIfEnabledOrStop(){var ma,ba;this._instance.config.__add_tracing_headers?this.it(this.rt):((ma=this.$t)==null||ma.call(this),(ba=this.St)==null||ba.call(this),this.$t=void 0,this.St=void 0)}}var is="https?://(.*)",es=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],rs=Fi(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],es),ss="<masked>",ns=["li_fat_id"];function os(ya,ma,ba){if(!o$d)return{};var va,Ma=ma?Fi([],es,ba||[]):[],El=as(nr(o$d.URL,Ma,ss),ya),wl=(va={},Ci(ns,(function(Sl){var Cl=Sr.q(Sl);va[Sl]=Cl||null})),va);return Ri(wl,El)}function as(ya,ma){var ba=rs.concat(ma||[]),va={};return Ci(ba,(function(Ma){var El=sr(ya,Ma);va[Ma]=El||null})),va}function ls(ya){var ma=(function(El){return El?El.search(is+"google.([^/?]*)")===0?"google":El.search(is+"bing.com")===0?"bing":El.search(is+"yahoo.com")===0?"yahoo":El.search(is+"duckduckgo.com")===0?"duckduckgo":null:null})(ya),ba=ma!="yahoo"?"q":"p",va={};if(!D$b(ma)){va.$search_engine=ma;var Ma=o$d?sr(o$d.referrer,ba):"";Ma.length&&(va.ph_keyword=Ma)}return va}function us(){return navigator.language||navigator.userLanguage}function hs(){return o$d?.referrer||"$direct"}function ds(ya,ma){var ba=ya?Fi([],es,ma||[]):[],va=a$i?.href.substring(0,1e3);return{r:hs().substring(0,1e3),u:va?nr(va,ba,ss):void 0}}function vs(ya){var ma,{r:ba,u:va}=ya,Ma={$referrer:ba,$referring_domain:ba==null?void 0:ba=="$direct"?"$direct":(ma=er(ba))==null?void 0:ma.host};if(va){Ma.$current_url=va;var El=er(va);Ma.$host=El?.host,Ma.$pathname=El?.pathname;var wl=as(va);Ri(Ma,wl)}if(ba){var Sl=ls(ba);Ri(Ma,Sl)}return Ma}function cs(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function fs(){try{return new Date().getTimezoneOffset()}catch{return}}function ps(ya,ma){if(!d$6)return{};var ba,va,Ma,El=ya?Fi([],es,ma||[]):[],[wl,Sl]=(function(Cl){for(var Mc=0;Mc<Jt.length;Mc++){var[Ef,Zf]=Jt[Mc],Jf=Ef.exec(Cl),dp=Jf&&(C$c(Zf)?Zf(Jf,Cl):Zf);if(dp)return dp}return["",""]})(d$6);return Ri(Di({$os:wl,$os_version:Sl,$browser:Wt(d$6,navigator.vendor),$device:Kt(d$6),$device_type:(va=d$6,Ma=Kt(va),Ma===et$1||Ma===it$1||Ma==="Kobo"||Ma==="Kindle Fire"||Ma===Ft$2?tt$1:Ma===wt$1||Ma===Et$2||Ma===xt||Ma===It$1?"Console":Ma===st$1?"Wearable":Ma?X$4:"Desktop"),$timezone:cs(),$timezone_offset:fs()}),{$current_url:nr(a$i?.href,El,ss),$host:a$i?.host,$pathname:a$i?.pathname,$raw_user_agent:d$6.length>1e3?d$6.substring(0,997)+"...":d$6,$browser_version:Vt(d$6,navigator.vendor),$browser_language:us(),$browser_language_prefix:(ba=us(),typeof ba=="string"?ba.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 gs=Si("[Web Vitals]"),_s=9e5;class ms{constructor(ma){var ba;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(((va,Ma)=>g$8({},va,{["$web_vitals_"+Ma.name+"_event"]:g$8({},Ma),["$web_vitals_"+Ma.name+"_value"]:Ma.value})),{})),this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.It=va=>{var Ma,El=(Ma=this._instance.sessionManager)==null?void 0:Ma.checkAndGetSessionAndWindowId(!0);if(M$6(El))gs.error("Could not read session ID. Dropping metrics!");else{this.N=this.N||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var wl=this.Ct();M$6(wl)||(j$a(va?.name)||j$a(va?.value)?gs.error("Invalid metric received",va):this.Rt&&va.value>=this.Rt?gs.error("Ignoring metric with value >= "+this.Rt,va):(this.N.url!==wl&&(this.Pt(),this.Tt=setTimeout(this.Pt,this.flushToCaptureTimeoutMs)),M$6(this.N.url)&&(this.N.url=wl),this.N.firstMetricTimestamp=M$6(this.N.firstMetricTimestamp)?Date.now():this.N.firstMetricTimestamp,va.attribution&&va.attribution.interactionTargetElement&&(va.attribution.interactionTargetElement=void 0),this.N.metrics.push(g$8({},va,{$current_url:wl,$session_id:El.sessionId,$window_id:El.windowId,timestamp:Date.now()})),this.N.metrics.length===this.allowedMetrics.length&&this.Pt()))}},this.rt=()=>{var va,Ma,El,wl,Sl=v$7.__PosthogExtensions__;M$6(Sl)||M$6(Sl.postHogWebVitalsCallbacks)||({onLCP:va,onCLS:Ma,onFCP:El,onINP:wl}=Sl.postHogWebVitalsCallbacks),va&&Ma&&El&&wl?(this.allowedMetrics.indexOf("LCP")>-1&&va(this.It.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&Ma(this.It.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&El(this.It.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&wl(this.It.bind(this)),this.P=!0):gs.error("web vitals callbacks not loaded - not starting")},this._instance=ma,this.kt=!((ba=this._instance.persistence)==null||!ba.props[Yi]),this.startIfEnabled()}get allowedMetrics(){var ma,ba,va=R$3(this._instance.config.capture_performance)?(ma=this._instance.config.capture_performance)==null?void 0:ma.web_vitals_allowed_metrics:void 0;return M$6(va)?((ba=this._instance.persistence)==null?void 0:ba.props[Zi])||["CLS","FCP","INP","LCP"]:va}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 ma=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:_s;return 0<ma&&ma<=6e4?_s:ma}get isEnabled(){var ma=a$i?.protocol;if(ma!=="http:"&&ma!=="https:")return gs.info("Web Vitals are disabled on non-http/https protocols"),!1;var ba=R$3(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:U$4(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return U$4(ba)?ba:this.kt}startIfEnabled(){this.isEnabled&&!this.P&&(gs.info("enabled, starting..."),this.it(this.rt))}onRemoteConfig(ma){var ba=R$3(ma.capturePerformance)&&!!ma.capturePerformance.web_vitals,va=R$3(ma.capturePerformance)?ma.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[Yi]:ba}),this._instance.persistence.register({[Zi]:va})),this.kt=ba,this.startIfEnabled()}it(ma){var ba,va;(ba=v$7.__PosthogExtensions__)!=null&&ba.postHogWebVitalsCallbacks&&ma(),(va=v$7.__PosthogExtensions__)==null||va.loadExternalDependency==null||va.loadExternalDependency(this._instance,"web-vitals",(Ma=>{Ma?gs.error("failed to load script",Ma):ma()}))}Ct(){var ma=t$9?t$9.location.href:void 0;if(ma){var ba=this._instance.config.mask_personal_data_properties,va=this._instance.config.custom_personal_data_properties,Ma=ba?Fi([],es,va||[]):[];return nr(ma,Ma,ss)}gs.error("Could not determine current URL")}}var ys=Si("[Heatmaps]");function bs(ya){return R$3(ya)&&"clientX"in ya&&"clientY"in ya&&L$6(ya.clientX)&&L$6(ya.clientY)}class ws{constructor(ma){var ba;this.kt=!1,this.P=!1,this.Ft=null,this.instance=ma,this.kt=!((ba=this.instance.persistence)==null||!ba.props[Gi]),this.rageclicks=new ir(ma.config.rageclick)}get flushIntervalMilliseconds(){var ma=5e3;return R$3(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(ma=this.instance.config.capture_heatmaps.flush_interval_milliseconds),ma}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;ys.info("starting..."),this.Mt(),this.Ot()}else{var ma;clearInterval((ma=this.Ft)!==null&&ma!==void 0?ma:void 0),this.At(),this.getAndClearBuffer()}}onRemoteConfig(ma){var ba=!!ma.heatmaps;this.instance.persistence&&this.instance.persistence.register({[Gi]:ba}),this.kt=ba,this.startIfEnabled()}getAndClearBuffer(){var ma=this.N;return this.N=void 0,ma}Dt(ma){this.jt(ma.originalEvent,"deadclick")}Ot(){this.Ft&&clearInterval(this.Ft),this.Ft=(function(ma){return ma?.visibilityState==="visible"})(o$d)?setInterval(this.Lt.bind(this),this.flushIntervalMilliseconds):null}Mt(){t$9&&o$d&&(this.Nt=this.Lt.bind(this),zi(t$9,"beforeunload",this.Nt),this.Ut=ma=>this.jt(ma||t$9?.event),zi(o$d,"click",this.Ut,{capture:!0}),this.zt=ma=>this.Ht(ma||t$9?.event),zi(o$d,"mousemove",this.zt,{capture:!0}),this.Bt=new Lr(this.instance,Dr,this.Dt.bind(this)),this.Bt.startIfEnabled(),this.qt=this.Ot.bind(this),zi(o$d,"visibilitychange",this.qt),this.P=!0)}At(){var ma;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),(ma=this.Bt)==null||ma.stop(),this.P=!1)}Gt(ma,ba){var va=this.instance.scrollManager.scrollY(),Ma=this.instance.scrollManager.scrollX(),El=this.instance.scrollManager.scrollElement(),wl=(function(Sl,Cl,Mc){for(var Ef=Sl;Ef&&we$3(Ef)&&!xe$1(Ef,"body");){if(Ef===Mc)return!1;if(w$9(Cl,t$9?.getComputedStyle(Ef).position))return!0;Ef=Me$2(Ef)}return!1})(Ce$3(ma),["fixed","sticky"],El);return{x:ma.clientX+(wl?0:Ma),y:ma.clientY+(wl?0:va),target_fixed:wl,type:ba}}jt(ma,ba){var va;if(ba===void 0&&(ba="click"),!be$4(ma.target)&&bs(ma)){var Ma=this.Gt(ma,ba);(va=this.rageclicks)!=null&&va.isRageClick(ma.clientX,ma.clientY,new Date().getTime())&&this.Vt(g$8({},Ma,{type:"rageclick"})),this.Vt(Ma)}}Ht(ma){!be$4(ma.target)&&bs(ma)&&(clearTimeout(this.Wt),this.Wt=setTimeout((()=>{this.Vt(this.Gt(ma,"mousemove"))}),500))}Vt(ma){if(t$9){var ba=t$9.location.href,va=this.instance.config.mask_personal_data_properties,Ma=this.instance.config.custom_personal_data_properties,El=va?Fi([],es,Ma||[]):[],wl=nr(ba,El,ss);this.N=this.N||{},this.N[wl]||(this.N[wl]=[]),this.N[wl].push(ma)}}Lt(){this.N&&!F$8(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}}class xs{constructor(ma){this.Jt=(ba,va,Ma)=>{Ma&&(Ma.noSessionId||Ma.activityTimeout||Ma.sessionPastMaximumLength)&&($i.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:ba,changeReason:Ma}),this.Kt=void 0,this._instance.scrollManager.resetContext())},this._instance=ma,this.Yt()}Yt(){var ma;this.Xt=(ma=this._instance.sessionManager)==null?void 0:ma.onSessionId(this.Jt)}destroy(){var ma;(ma=this.Xt)==null||ma.call(this),this.Xt=void 0}doPageView(ma,ba){var va,Ma=this.Qt(ma,ba);return this.Kt={pathname:(va=t$9?.location.pathname)!==null&&va!==void 0?va:"",pageViewId:ba,timestamp:ma},this._instance.scrollManager.resetContext(),Ma}doPageLeave(ma){var ba;return this.Qt(ma,(ba=this.Kt)==null?void 0:ba.pageViewId)}doEvent(){var ma;return{$pageview_id:(ma=this.Kt)==null?void 0:ma.pageViewId}}Qt(ma,ba){var va=this.Kt;if(!va)return{$pageview_id:ba};var Ma={$pageview_id:ba,$prev_pageview_id:va.pageViewId},El=this._instance.scrollManager.getContext();if(El&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:wl,lastScrollY:Sl,maxScrollY:Cl,maxContentHeight:Mc,lastContentY:Ef,maxContentY:Zf}=El;if(!(M$6(wl)||M$6(Sl)||M$6(Cl)||M$6(Mc)||M$6(Ef)||M$6(Zf))){wl=Math.ceil(wl),Sl=Math.ceil(Sl),Cl=Math.ceil(Cl),Mc=Math.ceil(Mc),Ef=Math.ceil(Ef),Zf=Math.ceil(Zf);var Jf=wl<=1?1:K$6(Sl/wl,0,1,$i),dp=wl<=1?1:K$6(Cl/wl,0,1,$i),hp=Mc<=1?1:K$6(Ef/Mc,0,1,$i),dg=Mc<=1?1:K$6(Zf/Mc,0,1,$i);Ma=Ri(Ma,{$prev_pageview_last_scroll:Sl,$prev_pageview_last_scroll_percentage:Jf,$prev_pageview_max_scroll:Cl,$prev_pageview_max_scroll_percentage:dp,$prev_pageview_last_content:Ef,$prev_pageview_last_content_percentage:hp,$prev_pageview_max_content:Zf,$prev_pageview_max_content_percentage:dg})}}return va.pathname&&(Ma.$prev_pageview_pathname=va.pathname),va.timestamp&&(Ma.$prev_pageview_duration=(ma.getTime()-va.timestamp.getTime())/1e3),Ma}}var Es=(function(ya){return ya.GZipJS="gzip-js",ya.Base64="base64",ya})({}),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(ya,ma){for(var ba=new ks(31),va=0;va<31;++va)ba[va]=ma+=1<<ya[va-1];var Ma=new Ps(ba[30]);for(va=1;va<30;++va)for(var El=ba[va];El<ba[va+1];++El)Ma[El]=El-ba[va]<<5|va;return[ba,Ma]},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(ya,ma,ba){for(var va=ya.length,Ma=0,El=new ks(ma);Ma<va;++Ma)++El[ya[Ma]-1];var wl,Sl=new ks(ma);for(Ma=0;Ma<ma;++Ma)Sl[Ma]=Sl[Ma-1]+El[Ma-1]<<1;for(wl=new ks(va),Ma=0;Ma<va;++Ma)wl[Ma]=Ds[Sl[ya[Ma]-1]++]>>>15-ya[Ma];return wl},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(ya){return(ya/8>>0)+(7&ya&&1)},Ws=function(ya,ma,ba){(ba==null||ba>ya.length)&&(ba=ya.length);var va=new(ya instanceof ks?ks:ya instanceof Ps?Ps:Ss)(ba-ma);return va.set(ya.subarray(ma,ba)),va},Gs=function(ya,ma,ba){ba<<=7&ma;var va=ma/8>>0;ya[va]|=ba,ya[va+1]|=ba>>>8},Vs=function(ya,ma,ba){ba<<=7&ma;var va=ma/8>>0;ya[va]|=ba,ya[va+1]|=ba>>>8,ya[va+2]|=ba>>>16},Js=function(ya,ma){for(var ba=[],va=0;va<ya.length;++va)ya[va]&&ba.push({s:va,f:ya[va]});var Ma=ba.length,El=ba.slice();if(!Ma)return[new Ss(0),0];if(Ma==1){var wl=new Ss(ba[0].s+1);return wl[ba[0].s]=1,[wl,1]}ba.sort((function(ly,cy){return ly.f-cy.f})),ba.push({s:-1,f:25001});var Sl=ba[0],Cl=ba[1],Mc=0,Ef=1,Zf=2;for(ba[0]={s:-1,f:Sl.f+Cl.f,l:Sl,r:Cl};Ef!=Ma-1;)Sl=ba[ba[Mc].f<ba[Zf].f?Mc++:Zf++],Cl=ba[Mc!=Ef&&ba[Mc].f<ba[Zf].f?Mc++:Zf++],ba[Ef++]={s:-1,f:Sl.f+Cl.f,l:Sl,r:Cl};var Jf=El[0].s;for(va=1;va<Ma;++va)El[va].s>Jf&&(Jf=El[va].s);var dp=new ks(Jf+1),hp=Ks(ba[Ef-1],dp,0);if(hp>ma){va=0;var dg=0,pg=hp-ma,hg=1<<pg;for(El.sort((function(ly,cy){return dp[cy.s]-dp[ly.s]||ly.f-cy.f}));va<Ma;++va){var mg=El[va].s;if(!(dp[mg]>ma))break;dg+=hg-(1<<hp-dp[mg]),dp[mg]=ma}for(dg>>>=pg;dg>0;){var gg=El[va].s;dp[gg]<ma?dg-=1<<ma-dp[gg]++-1:++va}for(;va>=0&&dg;--va){var sy=El[va].s;dp[sy]==ma&&(--dp[sy],++dg)}hp=ma}return[new Ss(dp),hp]},Ks=function(ya,ma,ba){return ya.s==-1?Math.max(Ks(ya.l,ma,ba+1),Ks(ya.r,ma,ba+1)):ma[ya.s]=ba},Ys=function(ya){for(var ma=ya.length;ma&&!ya[--ma];);for(var ba=new ks(++ma),va=0,Ma=ya[0],El=1,wl=function(Cl){ba[va++]=Cl},Sl=1;Sl<=ma;++Sl)if(ya[Sl]==Ma&&Sl!=ma)++El;else{if(!Ma&&El>2){for(;El>138;El-=138)wl(32754);El>2&&(wl(El>10?El-11<<5|28690:El-3<<5|12305),El=0)}else if(El>3){for(wl(Ma),--El;El>6;El-=6)wl(8304);El>2&&(wl(El-3<<5|8208),El=0)}for(;El--;)wl(Ma);El=1,Ma=ya[Sl]}return[ba.subarray(0,va),ma]},Xs=function(ya,ma){for(var ba=0,va=0;va<ma.length;++va)ba+=ya[va]*ma[va];return ba},Qs=function(ya,ma,ba){var va=ba.length,Ma=qs(ma+2);ya[Ma]=255&va,ya[Ma+1]=va>>>8,ya[Ma+2]=255^ya[Ma],ya[Ma+3]=255^ya[Ma+1];for(var El=0;El<va;++El)ya[Ma+El+4]=ba[El];return 8*(Ma+4+va)},Zs=function(ya,ma,ba,va,Ma,El,wl,Sl,Cl,Mc,Ef){Gs(ma,Ef++,ba),++Ma[256];for(var Zf=Js(Ma,15),Jf=Zf[0],dp=Zf[1],hp=Js(El,15),dg=hp[0],pg=hp[1],hg=Ys(Jf),mg=hg[0],gg=hg[1],sy=Ys(dg),ly=sy[0],cy=sy[1],uy=new ks(19),H1=0;H1<mg.length;++H1)uy[31&mg[H1]]++;for(H1=0;H1<ly.length;++H1)uy[31&ly[H1]]++;for(var lE=Js(uy,7),R_=lE[0],V1=lE[1],q1=19;q1>4&&!R_[Cs[q1-1]];--q1);var n0,aE,P_,O_,sN=Mc+5<<3,uN=Xs(Ma,Us)+Xs(El,zs)+wl,lN=Xs(Ma,Jf)+Xs(El,dg)+wl+14+3*q1+Xs(uy,R_)+(2*uy[16]+3*uy[17]+7*uy[18]);if(sN<=uN&&sN<=lN)return Qs(ma,Ef,ya.subarray(Cl,Cl+Mc));if(Gs(ma,Ef,1+(lN<uN)),Ef+=2,lN<uN){n0=Ns(Jf,dp),aE=Jf,P_=Ns(dg,pg),O_=dg;var _F=Ns(R_,V1);for(Gs(ma,Ef,gg-257),Gs(ma,Ef+5,cy-1),Gs(ma,Ef+10,q1-4),Ef+=14,H1=0;H1<q1;++H1)Gs(ma,Ef+3*H1,R_[Cs[H1]]);Ef+=3*q1;for(var eee=[mg,ly],JY=0;JY<2;++JY){var _pe=eee[JY];for(H1=0;H1<_pe.length;++H1){var _Q=31&_pe[H1];Gs(ma,Ef,_F[_Q]),Ef+=R_[_Q],_Q>15&&(Gs(ma,Ef,_pe[H1]>>>5&127),Ef+=_pe[H1]>>>12)}}}else n0=Hs,aE=Us,P_=Bs,O_=zs;for(H1=0;H1<Sl;++H1)if(va[H1]>255){_Q=va[H1]>>>18&31,Vs(ma,Ef,n0[_Q+257]),Ef+=aE[_Q+257],_Q>7&&(Gs(ma,Ef,va[H1]>>>23&31),Ef+=Ts[_Q]);var Cpe=31&va[H1];Vs(ma,Ef,P_[Cpe]),Ef+=O_[Cpe],Cpe>3&&(Vs(ma,Ef,va[H1]>>>5&8191),Ef+=Is[Cpe])}else Vs(ma,Ef,n0[va[H1]]),Ef+=aE[va[H1]];return Vs(ma,Ef,n0[256]),Ef+aE[256]},tn=new Ps([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),en$1=(function(){for(var ya=new Ps(256),ma=0;ma<256;++ma){for(var ba=ma,va=9;--va;)ba=(1&ba&&3988292384)^ba>>>1;ya[ma]=ba}return ya})(),rn$1=function(ya,ma,ba,va,Ma){return(function(El,wl,Sl,Cl,Mc,Ef){var Zf=El.length,Jf=new Ss(Cl+Zf+5*(1+Math.floor(Zf/7e3))+Mc),dp=Jf.subarray(Cl,Jf.length-Mc),hp=0;if(!wl||Zf<8)for(var dg=0;dg<=Zf;dg+=65535){var pg=dg+65535;pg<Zf?hp=Qs(dp,hp,El.subarray(dg,pg)):(dp[dg]=Ef,hp=Qs(dp,hp,El.subarray(dg,Zf)))}else{for(var hg=tn[wl-1],mg=hg>>>13,gg=8191&hg,sy=(1<<Sl)-1,ly=new ks(32768),cy=new ks(sy+1),uy=Math.ceil(Sl/3),H1=2*uy,lE=function(Aht){return(El[Aht]^El[Aht+1]<<uy^El[Aht+2]<<H1)&sy},R_=new Ps(25e3),V1=new ks(288),q1=new ks(32),n0=0,aE=0,P_=(dg=0,0),O_=0,sN=0;dg<Zf;++dg){var uN=lE(dg),lN=32767&dg,_F=cy[uN];if(ly[lN]=_F,cy[uN]=lN,O_<=dg){var eee=Zf-dg;if((n0>7e3||P_>24576)&&eee>423){hp=Zs(El,dp,0,R_,V1,q1,aE,P_,sN,dg-sN,hp),P_=n0=aE=0,sN=dg;for(var JY=0;JY<286;++JY)V1[JY]=0;for(JY=0;JY<30;++JY)q1[JY]=0}var _pe=2,_Q=0,Cpe=gg,Tpe=lN-_F&32767;if(eee>2&&uN==lE(dg-Tpe))for(var opt=Math.min(mg,eee)-1,Kpt=Math.min(32767,dg),Eht=Math.min(258,eee);Tpe<=Kpt&&--Cpe&&lN!=_F;){if(El[dg+_pe]==El[dg+_pe-Tpe]){for(var Jpt=0;Jpt<Eht&&El[dg+Jpt]==El[dg+Jpt-Tpe];++Jpt);if(Jpt>_pe){if(_pe=Jpt,_Q=Tpe,Jpt>opt)break;var kpe=Math.min(Tpe,Jpt-2),Mpe=0;for(JY=0;JY<kpe;++JY){var _ht=dg-Tpe+JY+32768&32767,Wpt=_ht-ly[_ht]+32768&32767;Wpt>Mpe&&(Mpe=Wpt,_F=_ht)}}}Tpe+=(lN=_F)-(_F=ly[lN])+32768&32767}if(_Q){R_[P_++]=268435456|Os[_pe]<<18|As[_Q];var rmt=31&Os[_pe],dmt=31&As[_Q];aE+=Ts[rmt]+Is[dmt],++V1[257+rmt],++q1[dmt],O_=dg+_pe,++n0}else R_[P_++]=El[dg],++V1[El[dg]]}}hp=Zs(El,dp,Ef,R_,V1,q1,aE,P_,sN,dg-sN,hp)}return Ws(Jf,0,Cl+qs(hp)+Mc)})(ya,ma.level==null?6:ma.level,ma.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(ya.length)))):12+ma.mem,ba,va,!0)},sn$1=function(ya,ma,ba){for(;ba;++ma)ya[ma]=ba,ba>>>=8};function nn$1(ya,ma){ma===void 0&&(ma={});var ba=(function(){var Sl=4294967295;return{p:function(Cl){for(var Mc=Sl,Ef=0;Ef<Cl.length;++Ef)Mc=en$1[255&Mc^Cl[Ef]]^Mc>>>8;Sl=Mc},d:function(){return 4294967295^Sl}}})(),va=ya.length;ba.p(ya);var Ma,El=rn$1(ya,ma,10+((Ma=ma).filename&&Ma.filename.length+1||0),8),wl=El.length;return(function(Sl,Cl){var Mc=Cl.filename;if(Sl[0]=31,Sl[1]=139,Sl[2]=8,Sl[8]=Cl.level<2?4:Cl.level==9?2:0,Sl[9]=3,Cl.mtime!=0&&sn$1(Sl,4,Math.floor(new Date(Cl.mtime||Date.now())/1e3)),Mc){Sl[3]=8;for(var Ef=0;Ef<=Mc.length;++Ef)Sl[Ef+10]=Mc.charCodeAt(Ef)}})(El,ma),sn$1(El,wl-8,ba.d()),sn$1(El,wl-4,va),El}var on$1=function(ya){var ma,ba,va,Ma,El="";for(ma=ba=0,va=(ya=(ya+"").replace(/\r\n/g,`
20766
20766
  `).replace(/\r/g,`
20767
20767
  `)).length,Ma=0;Ma<va;Ma++){var wl=ya.charCodeAt(Ma),Sl=null;wl<128?ba++:Sl=wl>127&&wl<2048?String.fromCharCode(wl>>6|192,63&wl|128):String.fromCharCode(wl>>12|224,wl>>6&63|128,63&wl|128),D$b(Sl)||(ba>ma&&(El+=ya.substring(ma,ba)),El+=Sl,ma=ba=Ma+1)}return ba>ma&&(El+=ya.substring(ma,ya.length)),El},an$1=!!u$h||!!l$9,ln="text/plain",un$1=function(ya,ma,ba){var va;ba===void 0&&(ba=!0);var[Ma,El]=ya.split("?"),wl=g$8({},ma),Sl=(va=El?.split("&").map((Mc=>{var Ef,[Zf,Jf]=Mc.split("="),dp=ba&&(Ef=wl[Zf])!==null&&Ef!==void 0?Ef:Jf;return delete wl[Zf],Zf+"="+dp})))!==null&&va!==void 0?va:[],Cl=rr(wl);return Cl&&Sl.push(Cl),Ma+"?"+Sl.join("&")},hn=(ya,ma)=>JSON.stringify(ya,((ba,va)=>typeof va=="bigint"?va.toString():va),ma),dn=ya=>{var{data:ma,compression:ba}=ya;if(ma){if(ba===Es.GZipJS){var va=nn$1((function(Cl,Mc){var Ef=Cl.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(Cl);for(var Zf=new Ss(Cl.length+(Cl.length>>>1)),Jf=0,dp=function(hg){Zf[Jf++]=hg},hp=0;hp<Ef;++hp){if(Jf+5>Zf.length){var dg=new Ss(Jf+8+(Ef-hp<<1));dg.set(Zf),Zf=dg}var pg=Cl.charCodeAt(hp);pg<128||Mc?dp(pg):pg<2048?(dp(192|pg>>>6),dp(128|63&pg)):pg>55295&&pg<57344?(dp(240|(pg=65536+(1047552&pg)|1023&Cl.charCodeAt(++hp))>>>18),dp(128|pg>>>12&63),dp(128|pg>>>6&63),dp(128|63&pg)):(dp(224|pg>>>12),dp(128|pg>>>6&63),dp(128|63&pg))}return Ws(Zf,0,Jf)})(hn(ma)),{mtime:0}),Ma=new Blob([va],{type:ln});return{contentType:ln,body:Ma,estimatedSize:Ma.size}}if(ba===Es.Base64){var El=(function(Cl){var Mc,Ef,Zf,Jf,dp,hp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",dg=0,pg=0,hg="",mg=[];if(!Cl)return Cl;Cl=on$1(Cl);do Mc=(dp=Cl.charCodeAt(dg++)<<16|Cl.charCodeAt(dg++)<<8|Cl.charCodeAt(dg++))>>18&63,Ef=dp>>12&63,Zf=dp>>6&63,Jf=63&dp,mg[pg++]=hp.charAt(Mc)+hp.charAt(Ef)+hp.charAt(Zf)+hp.charAt(Jf);while(dg<Cl.length);switch(hg=mg.join(""),Cl.length%3){case 1:hg=hg.slice(0,-2)+"==";break;case 2:hg=hg.slice(0,-1)+"="}return hg})(hn(ma)),wl=(Cl=>"data="+encodeURIComponent(typeof Cl=="string"?Cl:hn(Cl)))(El);return{contentType:"application/x-www-form-urlencoded",body:wl,estimatedSize:new Blob([wl]).size}}var Sl=hn(ma);return{contentType:"application/json",body:Sl,estimatedSize:new Blob([Sl]).size}}},vn=[];l$9&&vn.push({transport:"fetch",method:ya=>{var ma,ba,{contentType:va,body:Ma,estimatedSize:El}=(ma=dn(ya))!==null&&ma!==void 0?ma:{},wl=new Headers;Ci(ya.headers,(function(Ef,Zf){wl.append(Zf,Ef)})),va&&wl.append("Content-Type",va);var Sl=ya.url,Cl=null;if(h$c){var Mc=new h$c;Cl={signal:Mc.signal,timeout:setTimeout((()=>Mc.abort()),ya.timeout)}}l$9(Sl,g$8({method:ya?.method||"GET",headers:wl,keepalive:ya.method==="POST"&&(El||0)<52428.8,body:Ma,signal:(ba=Cl)==null?void 0:ba.signal},ya.fetchOptions)).then((Ef=>Ef.text().then((Zf=>{var Jf={statusCode:Ef.status,text:Zf};if(Ef.status===200)try{Jf.json=JSON.parse(Zf)}catch(dp){$i.error(dp)}ya.callback==null||ya.callback(Jf)})))).catch((Ef=>{$i.error(Ef),ya.callback==null||ya.callback({statusCode:0,text:Ef})})).finally((()=>Cl?clearTimeout(Cl.timeout):null))}}),u$h&&vn.push({transport:"XHR",method:ya=>{var ma,ba=new u$h;ba.open(ya.method||"GET",ya.url,!0);var{contentType:va,body:Ma}=(ma=dn(ya))!==null&&ma!==void 0?ma:{};Ci(ya.headers,(function(El,wl){ba.setRequestHeader(wl,El)})),va&&ba.setRequestHeader("Content-Type",va),ya.timeout&&(ba.timeout=ya.timeout),ya.disableXHRCredentials||(ba.withCredentials=!0),ba.onreadystatechange=()=>{if(ba.readyState===4){var El={statusCode:ba.status,text:ba.responseText};if(ba.status===200)try{El.json=JSON.parse(ba.responseText)}catch{}ya.callback==null||ya.callback(El)}},ba.send(Ma)}}),n$9!=null&&n$9.sendBeacon&&vn.push({transport:"sendBeacon",method:ya=>{var ma=un$1(ya.url,{beacon:"1"});try{var ba,{contentType:va,body:Ma}=(ba=dn(ya))!==null&&ba!==void 0?ba:{},El=typeof Ma=="string"?new Blob([Ma],{type:va}):Ma;n$9.sendBeacon(ma,El)}catch{}}});var cn$1=function(ya,ma){if(!(function(ba){try{new RegExp(ba)}catch{return!1}return!0})(ma))return!1;try{return new RegExp(ma).test(ya)}catch{return!1}};function fn$1(ya,ma,ba){return hn({distinct_id:ya,userPropertiesToSet:ma,userPropertiesToSetOnce:ba})}var pn={exact:(ya,ma)=>ma.some((ba=>ya.some((va=>ba===va)))),is_not:(ya,ma)=>ma.every((ba=>ya.every((va=>ba!==va)))),regex:(ya,ma)=>ma.some((ba=>ya.some((va=>cn$1(ba,va))))),not_regex:(ya,ma)=>ma.every((ba=>ya.every((va=>!cn$1(ba,va))))),icontains:(ya,ma)=>ma.map(gn).some((ba=>ya.map(gn).some((va=>ba.includes(va))))),not_icontains:(ya,ma)=>ma.map(gn).every((ba=>ya.map(gn).every((va=>!ba.includes(va))))),gt:(ya,ma)=>ma.some((ba=>{var va=parseFloat(ba);return!isNaN(va)&&ya.some((Ma=>va>parseFloat(Ma)))})),lt:(ya,ma)=>ma.some((ba=>{var va=parseFloat(ba);return!isNaN(va)&&ya.some((Ma=>va<parseFloat(Ma)))}))},gn=ya=>ya.toLowerCase();function _n(ya,ma){return!ya||Object.entries(ya).every((ba=>{var[va,Ma]=ba,El=ma?.[va];if(M$6(El)||D$b(El))return!1;var wl=[String(El)],Sl=pn[Ma.operator];return!!Sl&&Sl(Ma.values,wl)}))}var mn=Si("[Error tracking]");class yn{constructor(ma){var ba,va;this.Zt=[],this.ti=new Qt([new vi,new xi,new fi,new ci,new bi,new yi,new gi,new wi],di()),this._instance=ma,this.Zt=(ba=(va=this._instance.persistence)==null?void 0:va.get_property(Ji))!==null&&ba!==void 0?ba:[]}onRemoteConfig(ma){var ba,va,Ma,El=(ba=(va=ma.errorTracking)==null?void 0:va.suppressionRules)!==null&&ba!==void 0?ba:[],wl=(Ma=ma.errorTracking)==null?void 0:Ma.captureExtensionExceptions;this.Zt=El,this._instance.persistence&&this._instance.persistence.register({[Ji]:this.Zt,[Ki]:wl})}get ii(){var ma,ba=!!this._instance.get_property(Ki),va=this._instance.config.error_tracking.captureExtensionExceptions;return(ma=va??ba)!==null&&ma!==void 0&&ma}buildProperties(ma,ba){return this.ti.buildFromUnknown(ma,{syntheticException:ba?.syntheticException,mechanism:{handled:ba?.handled}})}sendExceptionEvent(ma){var ba=ma.$exception_list;if(this.ei(ba)){if(this.ri(ba))return void mn.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(ba))return void mn.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(ba))return void mn.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",ma,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(ma){if(ma.length===0)return!1;var ba=ma.reduce(((va,Ma)=>{var{type:El,value:wl}=Ma;return O$5(El)&&El.length>0&&va.$exception_types.push(El),O$5(wl)&&wl.length>0&&va.$exception_values.push(wl),va}),{$exception_types:[],$exception_values:[]});return this.Zt.some((va=>{var Ma=va.values.map((El=>{var wl,Sl=pn[El.operator],Cl=I$8(El.value)?El.value:[El.value],Mc=(wl=ba[El.key])!==null&&wl!==void 0?wl:[];return Cl.length>0&&Sl(Cl,Mc)}));return va.type==="OR"?Ma.some(Boolean):Ma.every(Boolean)}))}si(ma){return ma.flatMap((ba=>{var va,Ma;return(va=(Ma=ba.stacktrace)==null?void 0:Ma.frames)!==null&&va!==void 0?va:[]})).some((ba=>ba.filename&&ba.filename.startsWith("chrome-extension://")))}ni(ma){if(ma.length>0){var ba,va,Ma,El,wl=(ba=(va=ma[0].stacktrace)==null?void 0:va.frames)!==null&&ba!==void 0?ba:[],Sl=wl[wl.length-1];return(Ma=Sl==null||(El=Sl.filename)==null?void 0:El.includes("posthog.com/static"))!==null&&Ma!==void 0&&Ma}return!1}ei(ma){return!j$a(ma)&&I$8(ma)}}var bn=Si("[FeatureFlags]"),wn=Si("[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=ya=>{var ma={};for(var[ba,va]of Mi(ya||{}))va&&(ma[ba]=va);return ma},In=ya=>{var ma=ya.flags;return ma?(ya.featureFlags=Object.fromEntries(Object.keys(ma).map((ba=>{var va;return[ba,(va=ma[ba].variant)!==null&&va!==void 0?va:ma[ba].enabled]}))),ya.featureFlagPayloads=Object.fromEntries(Object.keys(ma).filter((ba=>ma[ba].enabled)).filter((ba=>{var va;return(va=ma[ba].metadata)==null?void 0:va.payload})).map((ba=>{var va;return[ba,(va=ma[ba].metadata)==null?void 0:va.payload]})))):bn.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),ya},Cn=(function(ya){return ya.FeatureFlags="feature_flags",ya.Recordings="recordings",ya})({});class Rn{constructor(ma){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this._instance=ma,this.featureFlagEventHandlers=[]}ci(){var ma=this._instance.config.evaluation_environments;return ma!=null&&ma.length?ma.filter((ba=>{var va=ba&&typeof ba=="string"&&ba.trim().length>0;return va||bn.error("Invalid evaluation environment found:",ba,"Expected non-empty string"),va})):[]}fi(){return this.ci().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var ma=!this.pi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.gi({disableFlags:ma})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var ma=this._instance.get_property(ne$2),ba=this._instance.get_property(En),va=this._instance.get_property(Sn);if(!va&&!ba)return ma||{};var Ma=Ri({},ma||{}),El=[...new Set([...Object.keys(va||{}),...Object.keys(ba||{})])];for(var wl of El){var Sl,Cl,Mc=Ma[wl],Ef=ba?.[wl],Zf=M$6(Ef)?(Sl=Mc?.enabled)!==null&&Sl!==void 0&&Sl:!!Ef,Jf=M$6(Ef)?Mc.variant:typeof Ef=="string"?Ef:void 0,dp=va?.[wl],hp=g$8({},Mc,{enabled:Zf,variant:Zf?Jf??Mc?.variant:void 0});Zf!==Mc?.enabled&&(hp.original_enabled=Mc?.enabled),Jf!==Mc?.variant&&(hp.original_variant=Mc?.variant),dp&&(hp.metadata=g$8({},Mc?.metadata,{payload:dp,original_payload:Mc==null||(Cl=Mc.metadata)==null?void 0:Cl.payload})),Ma[wl]=hp}return this.oi||(bn.warn(" Overriding feature flag details!",{flagDetails:ma,overriddenPayloads:va,finalDetails:Ma}),this.oi=!0),Ma}getFlagVariants(){var ma=this._instance.get_property(re$1),ba=this._instance.get_property(En);if(!ba)return ma||{};for(var va=Ri({},ma),Ma=Object.keys(ba),El=0;El<Ma.length;El++)va[Ma[El]]=ba[Ma[El]];return this.oi||(bn.warn(" Overriding feature flags!",{enabledFlags:ma,overriddenFlags:ba,finalFlags:va}),this.oi=!0),va}getFlagPayloads(){var ma=this._instance.get_property($n),ba=this._instance.get_property(Sn);if(!ba)return ma||{};for(var va=Ri({},ma||{}),Ma=Object.keys(ba),El=0;El<Ma.length;El++)va[Ma[El]]=ba[Ma[El]];return this.oi||(bn.warn(" Overriding feature flag payloads!",{flagPayloads:ma,overriddenPayloads:ba,finalPayloads:va}),this.oi=!0),va}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.pi||(this.pi=setTimeout((()=>{this.gi()}),5))}mi(){clearTimeout(this.pi),this.pi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.pi||this.reloadFeatureFlags()}setAnonymousDistinctId(ma){this.$anon_distinct_id=ma}setReloadingPaused(ma){this.ui=ma}gi(ma){var ba;if(this.mi(),!this._instance.O())if(this.li)this.hi=!0;else{var va=this._instance.config.token,Ma=this._instance.get_property("$device_id"),El={token:va,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:g$8({},((ba=this._instance.persistence)==null?void 0:ba.get_initial_props())||{},this._instance.get_property(oe$2)||{}),group_properties:this._instance.get_property(ae$3)};D$b(Ma)||M$6(Ma)||(El.$device_id=Ma),(ma!=null&&ma.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(El.disable_flags=!0),this.fi()&&(El.evaluation_environments=this.ci());var wl=this._instance.config.__preview_remote_config,Sl=wl?"/flags/?v=2":"/flags/?v=2&config=true",Cl=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",Mc=this._instance.requestRouter.endpointFor("flags",Sl+Cl);wl&&(El.timezone=cs()),this.li=!0,this._instance._send_request({method:"POST",url:Mc,data:El,compression:this._instance.config.disable_compression?void 0:Es.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:Ef=>{var Zf,Jf,dp=!0;if(Ef.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),dp=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((Jf=Ef.json)!==null&&Jf!==void 0?Jf:{})),!El.disable_flags||this.hi)if(this.vi=!dp,Ef.json&&(Zf=Ef.json.quotaLimited)!=null&&Zf.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 hp;El.disable_flags||this.receivedFeatureFlags((hp=Ef.json)!==null&&hp!==void 0?hp:{},dp),this.hi&&(this.hi=!1,this.gi())}}})}}getFeatureFlag(ma,ba){if(ba===void 0&&(ba={}),this.ai||this.getFlags()&&this.getFlags().length>0){var va=this.getFlagVariants()[ma],Ma=""+va,El=this._instance.get_property(kn)||void 0,wl=this._instance.get_property(Pn)||void 0,Sl=this._instance.get_property(ue$1)||{};if((ba.send_event||!("send_event"in ba))&&(!(ma in Sl)||!Sl[ma].includes(Ma))){var Cl,Mc,Ef,Zf,Jf,dp,hp,dg,pg;I$8(Sl[ma])?Sl[ma].push(Ma):Sl[ma]=[Ma],(Cl=this._instance.persistence)==null||Cl.register({[ue$1]:Sl});var hg=this.getFeatureFlagDetails(ma),mg={$feature_flag:ma,$feature_flag_response:va,$feature_flag_payload:this.getFeatureFlagPayload(ma)||null,$feature_flag_request_id:El,$feature_flag_evaluated_at:wl,$feature_flag_bootstrapped_response:((Mc=this._instance.config.bootstrap)==null||(Mc=Mc.featureFlags)==null?void 0:Mc[ma])||null,$feature_flag_bootstrapped_payload:((Ef=this._instance.config.bootstrap)==null||(Ef=Ef.featureFlagPayloads)==null?void 0:Ef[ma])||null,$used_bootstrap_value:!this.vi};M$6(hg==null||(Zf=hg.metadata)==null?void 0:Zf.version)||(mg.$feature_flag_version=hg.metadata.version);var gg,sy=(Jf=hg==null||(dp=hg.reason)==null?void 0:dp.description)!==null&&Jf!==void 0?Jf:hg==null||(hp=hg.reason)==null?void 0:hp.code;sy&&(mg.$feature_flag_reason=sy),hg!=null&&(dg=hg.metadata)!=null&&dg.id&&(mg.$feature_flag_id=hg.metadata.id),M$6(hg?.original_variant)&&M$6(hg?.original_enabled)||(mg.$feature_flag_original_response=M$6(hg.original_variant)?hg.original_enabled:hg.original_variant),hg!=null&&(pg=hg.metadata)!=null&&pg.original_payload&&(mg.$feature_flag_original_payload=hg==null||(gg=hg.metadata)==null?void 0:gg.original_payload),this._instance.capture("$feature_flag_called",mg)}return va}bn.warn('getFeatureFlag for key "'+ma+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(ma){return this.getFlagsWithDetails()[ma]}getFeatureFlagPayload(ma){return this.getFlagPayloads()[ma]}getRemoteConfigPayload(ma,ba){var va=this._instance.config.token,Ma={distinct_id:this._instance.get_distinct_id(),token:va};this.fi()&&(Ma.evaluation_environments=this.ci()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:Ma,compression:this._instance.config.disable_compression?void 0:Es.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:El=>{var wl,Sl=(wl=El.json)==null?void 0:wl.featureFlagPayloads;ba(Sl?.[ma]||void 0)}})}isFeatureEnabled(ma,ba){if(ba===void 0&&(ba={}),this.ai||this.getFlags()&&this.getFlags().length>0){var va=this.getFeatureFlag(ma,ba);return M$6(va)?void 0:!!va}bn.warn('isFeatureEnabled for key "'+ma+`" failed. Feature flags didn't load in time.`)}addFeatureFlagsHandler(ma){this.featureFlagEventHandlers.push(ma)}removeFeatureFlagsHandler(ma){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((ba=>ba!==ma))}receivedFeatureFlags(ma,ba){if(this._instance.persistence){this.ai=!0;var va=this.getFlagVariants(),Ma=this.getFlagPayloads(),El=this.getFlagsWithDetails();(function(wl,Sl,Cl,Mc,Ef){Cl===void 0&&(Cl={}),Mc===void 0&&(Mc={}),Ef===void 0&&(Ef={});var Zf=In(wl),Jf=Zf.flags,dp=Zf.featureFlags,hp=Zf.featureFlagPayloads;if(dp){var dg=wl.requestId,pg=wl.evaluatedAt;if(I$8(dp)){bn.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var hg={};if(dp)for(var mg=0;mg<dp.length;mg++)hg[dp[mg]]=!0;Sl&&Sl.register({[xn]:dp,[re$1]:hg})}else{var gg=dp,sy=hp,ly=Jf;wl.errorsWhileComputingFlags&&(gg=g$8({},Cl,gg),sy=g$8({},Mc,sy),ly=g$8({},Ef,ly)),Sl&&Sl.register(g$8({[xn]:Object.keys(Tn(gg)),[re$1]:gg||{},[$n]:sy||{},[ne$2]:ly||{}},dg?{[kn]:dg}:{},pg?{[Pn]:pg}:{}))}}})(ma,this._instance.persistence,va,Ma,El),this.bi(ba)}}override(ma,ba){ba===void 0&&(ba=!1),bn.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:ma,suppressWarning:ba})}overrideFeatureFlags(ma){if(!this._instance.__loaded||!this._instance.persistence)return bn.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(ma===!1)return this._instance.persistence.unregister(En),this._instance.persistence.unregister(Sn),this.bi(),wn.info("All overrides cleared");if(ma&&typeof ma=="object"&&("flags"in ma||"payloads"in ma)){var ba,va=ma;if(this.oi=!!((ba=va.suppressWarning)!==null&&ba!==void 0&&ba),"flags"in va){if(va.flags===!1)this._instance.persistence.unregister(En),wn.info("Flag overrides cleared");else if(va.flags){if(I$8(va.flags)){for(var Ma={},El=0;El<va.flags.length;El++)Ma[va.flags[El]]=!0;this._instance.persistence.register({[En]:Ma})}else this._instance.persistence.register({[En]:va.flags});wn.info("Flag overrides set",{flags:va.flags})}}return"payloads"in va&&(va.payloads===!1?(this._instance.persistence.unregister(Sn),wn.info("Payload overrides cleared")):va.payloads&&(this._instance.persistence.register({[Sn]:va.payloads}),wn.info("Payload overrides set",{payloads:va.payloads}))),void this.bi()}this.bi()}onFeatureFlags(ma){if(this.addFeatureFlagsHandler(ma),this.ai){var{flags:ba,flagVariants:va}=this.wi();ma(ba,va)}return()=>this.removeFeatureFlagsHandler(ma)}updateEarlyAccessFeatureEnrollment(ma,ba,va){var Ma,El=(this._instance.get_property(se$3)||[]).find((Mc=>Mc.flagKey===ma)),wl={["$feature_enrollment/"+ma]:ba},Sl={$feature_flag:ma,$feature_enrollment:ba,$set:wl};El&&(Sl.$early_access_feature_name=El.name),va&&(Sl.$feature_enrollment_stage=va),this._instance.capture("$feature_enrollment_update",Sl),this.setPersonPropertiesForFlags(wl,!1);var Cl=g$8({},this.getFlagVariants(),{[ma]:ba});(Ma=this._instance.persistence)==null||Ma.register({[xn]:Object.keys(Tn(Cl)),[re$1]:Cl}),this.bi()}getEarlyAccessFeatures(ma,ba,va){ba===void 0&&(ba=!1);var Ma=this._instance.get_property(se$3),El=va?"&"+va.map((wl=>"stage="+wl)).join("&"):"";if(Ma&&!ba)return ma(Ma);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+El),method:"GET",callback:wl=>{var Sl,Cl;if(wl.json){var Mc=wl.json.earlyAccessFeatures;return(Sl=this._instance.persistence)==null||Sl.unregister(se$3),(Cl=this._instance.persistence)==null||Cl.register({[se$3]:Mc}),ma(Mc)}}})}wi(){var ma=this.getFlags(),ba=this.getFlagVariants();return{flags:ma.filter((va=>ba[va])),flagVariants:Object.keys(ba).filter((va=>ba[va])).reduce(((va,Ma)=>(va[Ma]=ba[Ma],va)),{})}}bi(ma){var{flags:ba,flagVariants:va}=this.wi();this.featureFlagEventHandlers.forEach((Ma=>Ma(ba,va,{errorsLoading:ma})))}setPersonPropertiesForFlags(ma,ba){ba===void 0&&(ba=!0);var va=this._instance.get_property(oe$2)||{};this._instance.register({[oe$2]:g$8({},va,ma)}),ba&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(oe$2)}setGroupPropertiesForFlags(ma,ba){ba===void 0&&(ba=!0);var va=this._instance.get_property(ae$3)||{};Object.keys(va).length!==0&&Object.keys(va).forEach((Ma=>{va[Ma]=g$8({},va[Ma],ma[Ma]),delete ma[Ma]})),this._instance.register({[ae$3]:g$8({},va,ma)}),ba&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(ma){if(ma){var ba=this._instance.get_property(ae$3)||{};this._instance.register({[ae$3]:g$8({},ba,{[ma]:{}})})}else this._instance.unregister(ae$3)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.mi(),this.oi=!1}}var Fn=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"];class Mn{constructor(ma,ba){this.R=ma,this.props={},this.xi=!1,this.Ei=(va=>{var Ma="";return va.token&&(Ma=va.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),va.persistence_name?"ph_"+va.persistence_name:"ph_"+Ma+"_posthog"})(ma),this.Y=this.$i(ma),this.load(),ma.debug&&$i.info("Persistence loaded",ma.persistence,g$8({},this.props)),this.update_config(ma,ma,ba),this.save()}isDisabled(){return!!this.Si}$i(ma){Fn.indexOf(ma.persistence.toLowerCase())===-1&&($i.critical("Unknown persistence type "+ma.persistence+"; falling back to localStorage+cookie"),ma.persistence="localStorage+cookie");var ba=(function(Ma){Ma===void 0&&(Ma=[]);var El=[...Tr,...Ma];return g$8({},Pr,{W:function(wl){try{var Sl={};try{Sl=Sr.W(wl)||{}}catch{}var Cl=Ri(Sl,JSON.parse(Pr.q(wl)||"{}"));return Pr.G(wl,Cl),Cl}catch{}return null},G:function(wl,Sl,Cl,Mc,Ef,Zf){try{Pr.G(wl,Sl,void 0,void 0,Zf);var Jf={};El.forEach((dp=>{Sl[dp]&&(Jf[dp]=Sl[dp])})),Object.keys(Jf).length&&Sr.G(wl,Jf,Cl,Mc,Ef,Zf)}catch(dp){Pr.B(dp)}},V:function(wl,Sl){try{t$9?.localStorage.removeItem(wl),Sr.V(wl,Sl)}catch(Cl){Pr.B(Cl)}}})})(ma.cookie_persisted_properties||[]),va=ma.persistence.toLowerCase();return va==="localstorage"&&Pr.H()?Pr:va==="localstorage+cookie"&&ba.H()?ba:va==="sessionstorage"&&Fr.H()?Fr:va==="memory"?Cr:va==="cookie"?Sr:ba.H()?ba:Sr}properties(){var ma={};return Ci(this.props,(function(ba,va){if(va===re$1&&R$3(ba))for(var Ma=Object.keys(ba),El=0;El<Ma.length;El++)ma["$feature/"+Ma[El]]=ba[Ma[El]];else Sl=va,Cl=!1,(D$b(wl=ye$3)?Cl:s$f&&wl.indexOf===s$f?wl.indexOf(Sl)!=-1:(Ci(wl,(function(Mc){if(Cl||(Cl=Mc===Sl))return Ti})),Cl))||(ma[va]=ba);var wl,Sl,Cl})),ma}load(){if(!this.Si){var ma=this.Y.W(this.Ei);ma&&(this.props=Ri({},ma))}}save(){this.Si||this.Y.G(this.Ei,this.props,this.ki,this.Pi,this.Ti,this.R.debug)}remove(){this.Y.V(this.Ei,!1),this.Y.V(this.Ei,!0)}clear(){this.remove(),this.props={}}register_once(ma,ba,va){if(R$3(ma)){M$6(ba)&&(ba="None"),this.ki=M$6(va)?this.Ii:va;var Ma=!1;if(Ci(ma,((El,wl)=>{this.props.hasOwnProperty(wl)&&this.props[wl]!==ba||(this.props[wl]=El,Ma=!0)})),Ma)return this.save(),!0}return!1}register(ma,ba){if(R$3(ma)){this.ki=M$6(ba)?this.Ii:ba;var va=!1;if(Ci(ma,((Ma,El)=>{ma.hasOwnProperty(El)&&this.props[El]!==Ma&&(this.props[El]=Ma,va=!0)})),va)return this.save(),!0}return!1}unregister(ma){ma in this.props&&(delete this.props[ma],this.save())}update_campaign_params(){if(!this.xi){var ma=os(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);F$8(Di(ma))||this.register(ma),this.xi=!0}}update_search_keyword(){var ma;this.register((ma=o$d?.referrer)?ls(ma):{})}update_referrer_info(){var ma;this.register_once({$referrer:hs(),$referring_domain:o$d!=null&&o$d.referrer&&((ma=er(o$d.referrer))==null?void 0:ma.host)||"$direct"},void 0)}set_initial_person_info(){this.props[ce$3]||this.props[fe$2]||this.register_once({[pe$2]:ds(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var ma={};Ci([fe$2,ce$3],(wl=>{var Sl=this.props[wl];Sl&&Ci(Sl,(function(Cl,Mc){ma["$initial_"+E$7(Mc)]=Cl}))}));var ba,va,Ma=this.props[pe$2];if(Ma){var El=(ba=vs(Ma),va={},Ci(ba,(function(wl,Sl){va["$initial_"+E$7(Sl)]=wl})),va);Ri(ma,El)}return ma}safe_merge(ma){return Ci(this.props,(function(ba,va){va in ma||(ma[va]=ba)})),ma}update_config(ma,ba,va){if(this.Ii=this.ki=ma.cookie_expiration,this.set_disabled(ma.disable_persistence||!!va),this.set_cross_subdomain(ma.cross_subdomain_cookie),this.set_secure(ma.secure_cookie),ma.persistence!==ba.persistence||!((wl,Sl)=>{if(wl.length!==Sl.length)return!1;var Cl=[...wl].sort(),Mc=[...Sl].sort();return Cl.every(((Ef,Zf)=>Ef===Mc[Zf]))})(ma.cookie_persisted_properties||[],ba.cookie_persisted_properties||[])){var Ma=this.$i(ma),El=this.props;this.clear(),this.Y=Ma,this.props=El,this.save()}}set_disabled(ma){this.Si=ma,this.Si?this.remove():this.save()}set_cross_subdomain(ma){ma!==this.Pi&&(this.Pi=ma,this.remove(),this.save())}set_secure(ma){ma!==this.Ti&&(this.Ti=ma,this.remove(),this.save())}set_event_timer(ma,ba){var va=this.props[qi]||{};va[ma]=ba,this.props[qi]=va,this.save()}remove_event_timer(ma){var ba=(this.props[qi]||{})[ma];return M$6(ba)||(delete this.props[qi][ma],this.save()),ba}get_property(ma){return this.props[ma]}set_property(ma,ba){this.props[ma]=ba,this.save()}}var On=Si("[Product Tours]"),An="ph_product_tours";class Dn{constructor(ma){this.Ci=null,this.Ri=null,this._instance=ma}onRemoteConfig(ma){this._instance.persistence&&this._instance.persistence.register({[Qi]:!(ma==null||!ma.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var ma,ba;this.Ci||(ma=this._instance).config.disable_product_tours||(ba=ma.persistence)==null||!ba.get_property(Qi)||this.it((()=>this.Fi()))}it(ma){var ba,va;(ba=v$7.__PosthogExtensions__)!=null&&ba.generateProductTours?ma():(va=v$7.__PosthogExtensions__)==null||va.loadExternalDependency==null||va.loadExternalDependency(this._instance,"product-tours",(Ma=>{Ma?On.error("Could not load product tours script",Ma):ma()}))}Fi(){var ma;!this.Ci&&(ma=v$7.__PosthogExtensions__)!=null&&ma.generateProductTours&&(this.Ci=v$7.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(ma,ba){if(ba===void 0&&(ba=!1),!I$8(this.Ri)||ba){var va=this._instance.persistence;if(va){var Ma=va.props[An];if(I$8(Ma)&&!ba)return this.Ri=Ma,void ma(Ma,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:El=>{var wl=El.statusCode;if(wl!==200||!El.json){var Sl="Product Tours API could not be loaded, status: "+wl;return On.error(Sl),void ma([],{isLoaded:!1,error:Sl})}var Cl=I$8(El.json.product_tours)?El.json.product_tours:[];this.Ri=Cl,va&&va.register({[An]:Cl}),ma(Cl,{isLoaded:!0})}})}else ma(this.Ri,{isLoaded:!0})}getActiveProductTours(ma){j$a(this.Ci)?ma([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ci.getActiveProductTours(ma)}showProductTour(ma){var ba;(ba=this.Ci)==null||ba.showTourById(ma)}previewTour(ma){this.Ci?this.Ci.previewTour(ma):this.it((()=>{var ba;this.Fi(),(ba=this.Ci)==null||ba.previewTour(ma)}))}dismissProductTour(){var ma;(ma=this.Ci)==null||ma.dismissTour("user_clicked_skip")}nextStep(){var ma;(ma=this.Ci)==null||ma.nextStep()}previousStep(){var ma;(ma=this.Ci)==null||ma.previousStep()}clearCache(){var ma;this.Ri=null,(ma=this._instance.persistence)==null||ma.unregister(An)}resetTour(ma){var ba;(ba=this.Ci)==null||ba.resetTour(ma)}resetAllTours(){var ma;(ma=this.Ci)==null||ma.resetAllTours()}cancelPendingTour(ma){var ba;(ba=this.Ci)==null||ba.cancelPendingTour(ma)}}var jn=(function(ya){return ya.Activation="events",ya.Cancellation="cancelEvents",ya})({});(function(ya){return ya.Button="button",ya.Tab="tab",ya.Selector="selector",ya})({});(function(ya){return ya.TopLeft="top_left",ya.TopRight="top_right",ya.TopCenter="top_center",ya.MiddleLeft="middle_left",ya.MiddleRight="middle_right",ya.MiddleCenter="middle_center",ya.Left="left",ya.Center="center",ya.Right="right",ya.NextToTrigger="next_to_trigger",ya})({});(function(ya){return ya.Top="top",ya.Left="left",ya.Right="right",ya.Bottom="bottom",ya})({});var zn=(function(ya){return ya.Popover="popover",ya.API="api",ya.Widget="widget",ya.ExternalSurvey="external_survey",ya})({});(function(ya){return ya.Open="open",ya.MultipleChoice="multiple_choice",ya.SingleChoice="single_choice",ya.Rating="rating",ya.Link="link",ya})({});(function(ya){return ya.NextQuestion="next_question",ya.End="end",ya.ResponseBased="response_based",ya.SpecificQuestion="specific_question",ya})({});(function(ya){return ya.Once="once",ya.Recurring="recurring",ya.Always="always",ya})({});var Wn=(function(ya){return ya.SHOWN="survey shown",ya.DISMISSED="survey dismissed",ya.SENT="survey sent",ya.ABANDONED="survey abandoned",ya})({}),Gn=(function(ya){return ya.SURVEY_ID="$survey_id",ya.SURVEY_NAME="$survey_name",ya.SURVEY_RESPONSE="$survey_response",ya.SURVEY_ITERATION="$survey_iteration",ya.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",ya.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",ya.SURVEY_SUBMISSION_ID="$survey_submission_id",ya.SURVEY_QUESTIONS="$survey_questions",ya.SURVEY_COMPLETED="$survey_completed",ya.PRODUCT_TOUR_ID="$product_tour_id",ya.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",ya})({}),Vn=(function(ya){return ya.Popover="popover",ya.Inline="inline",ya})({}),Jn=Si("[Surveys]"),Kn="seenSurvey_",Yn=(ya,ma)=>{var ba="$survey_"+ma+"/"+ya.id;return ya.current_iteration&&ya.current_iteration>0&&(ba="$survey_"+ma+"/"+ya.id+"/"+ya.current_iteration),ba},Xn=ya=>((ma,ba)=>{var va=""+ma+ba.id;return ba.current_iteration&&ba.current_iteration>0&&(va=""+ma+ba.id+"_"+ba.current_iteration),va})(Kn,ya),Qn=[zn.Popover,zn.Widget,zn.API],Zn={ignoreConditions:!1,ignoreDelay:!1,displayType:Vn.Popover};class to{constructor(){this.Mi={},this.Mi={}}on(ma,ba){return this.Mi[ma]||(this.Mi[ma]=[]),this.Mi[ma].push(ba),()=>{this.Mi[ma]=this.Mi[ma].filter((va=>va!==ba))}}emit(ma,ba){for(var va of this.Mi[ma]||[])va(ba);for(var Ma of this.Mi["*"]||[])Ma(ma,ba)}}function io(ya,ma,ba){if(j$a(ya))return!1;switch(ba){case"exact":return ya===ma;case"contains":var va=ma.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(va,"i").test(ya);case"regex":try{return new RegExp(ma).test(ya)}catch{return!1}default:return!1}}class eo{constructor(ma){this.Oi=new to,this.Ai=(ba,va)=>this.Di(ba,va)&&this.ji(ba,va)&&this.Li(ba,va)&&this.Ni(ba,va),this.Di=(ba,va)=>va==null||!va.event||ba?.event===va?.event,this._instance=ma,this.Ui=new Set,this.zi=new Set}init(){var ma;if(!M$6((ma=this._instance)==null?void 0:ma.Hi)){var ba;(ba=this._instance)==null||ba.Hi(((va,Ma)=>{this.on(va,Ma)}))}}register(ma){var ba,va;if(!M$6((ba=this._instance)==null?void 0:ba.Hi)&&(ma.forEach((wl=>{var Sl,Cl;(Sl=this.zi)==null||Sl.add(wl),(Cl=wl.steps)==null||Cl.forEach((Mc=>{var Ef;(Ef=this.Ui)==null||Ef.add(Mc?.event||"")}))})),(va=this._instance)!=null&&va.autocapture)){var Ma,El=new Set;ma.forEach((wl=>{var Sl;(Sl=wl.steps)==null||Sl.forEach((Cl=>{Cl!=null&&Cl.selector&&El.add(Cl?.selector)}))})),(Ma=this._instance)==null||Ma.autocapture.setElementSelectors(El)}}on(ma,ba){var va;ba!=null&&ma.length!=0&&(this.Ui.has(ma)||this.Ui.has(ba?.event))&&this.zi&&((va=this.zi)==null?void 0:va.size)>0&&this.zi.forEach((Ma=>{this.Bi(ba,Ma)&&this.Oi.emit("actionCaptured",Ma.name)}))}qi(ma){this.onAction("actionCaptured",(ba=>ma(ba)))}Bi(ma,ba){if(ba?.steps==null)return!1;for(var va of ba.steps)if(this.Ai(ma,va))return!0;return!1}onAction(ma,ba){return this.Oi.on(ma,ba)}ji(ma,ba){if(ba!=null&&ba.url){var va,Ma=ma==null||(va=ma.properties)==null?void 0:va.$current_url;if(!Ma||typeof Ma!="string"||!io(Ma,ba.url,ba.url_matching||"contains"))return!1}return!0}Li(ma,ba){return!!this.Wi(ma,ba)&&!!this.Gi(ma,ba)&&!!this.Vi(ma,ba)}Wi(ma,ba){var va;if(ba==null||!ba.href)return!0;var Ma=this.Ji(ma);if(Ma.length>0)return Ma.some((Sl=>io(Sl.href,ba.href,ba.href_matching||"exact")));var El,wl=(ma==null||(va=ma.properties)==null?void 0:va.$elements_chain)||"";return!!wl&&io((El=wl.match(/(?::|")href="(.*?)"/))?El[1]:"",ba.href,ba.href_matching||"exact")}Gi(ma,ba){var va;if(ba==null||!ba.text)return!0;var Ma=this.Ji(ma);if(Ma.length>0)return Ma.some((Mc=>io(Mc.text,ba.text,ba.text_matching||"exact")||io(Mc.$el_text,ba.text,ba.text_matching||"exact")));var El,wl,Sl,Cl=(ma==null||(va=ma.properties)==null?void 0:va.$elements_chain)||"";return!!Cl&&(El=(function(Mc){for(var Ef,Zf=[],Jf=/(?::|")text="(.*?)"/g;!j$a(Ef=Jf.exec(Mc));)Zf.includes(Ef[1])||Zf.push(Ef[1]);return Zf})(Cl),wl=ba.text,Sl=ba.text_matching||"exact",El.some((Mc=>io(Mc,wl,Sl))))}Vi(ma,ba){var va,Ma;if(ba==null||!ba.selector)return!0;var El=ma==null||(va=ma.properties)==null?void 0:va.$element_selectors;if(El!=null&&El.includes(ba.selector))return!0;var wl=(ma==null||(Ma=ma.properties)==null?void 0:Ma.$elements_chain)||"";if(ba.selector_regex&&wl)try{return new RegExp(ba.selector_regex).test(wl)}catch{return!1}return!1}Ji(ma){var ba;return(ma==null||(ba=ma.properties)==null?void 0:ba.$elements)==null?[]:ma?.properties.$elements}Ni(ma,ba){return ba==null||!ba.properties||ba.properties.length===0||_n(ba.properties.reduce(((va,Ma)=>{var El=I$8(Ma.value)?Ma.value.map(String):Ma.value!=null?[String(Ma.value)]:[];return va[Ma.key]={values:El,operator:Ma.operator||"exact"},va}),{}),ma?.properties)}}class ro{constructor(ma){this._instance=ma,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(ma,ba){return!!ma&&_n(ma.propertyFilters,ba?.properties)}Zi(ma,ba){var va=new Map;return ma.forEach((Ma=>{var El;(El=Ma.conditions)==null||(El=El[ba])==null||(El=El.values)==null||El.forEach((wl=>{if(wl!=null&&wl.name){var Sl=va.get(wl.name)||[];Sl.push(Ma.id),va.set(wl.name,Sl)}}))})),va}te(ma,ba,va){var Ma=(va===jn.Activation?this.Ki:this.Yi).get(ma),El=[];return this.ie((wl=>{El=wl.filter((Sl=>Ma?.includes(Sl.id)))})),El.filter((wl=>{var Sl,Cl=(Sl=wl.conditions)==null||(Sl=Sl[va])==null||(Sl=Sl.values)==null?void 0:Sl.find((Mc=>Mc.name===ma));return this.Qi(Cl,ba)}))}register(ma){var ba;M$6((ba=this._instance)==null?void 0:ba.Hi)||(this.ee(ma),this.re(ma))}re(ma){var ba=ma.filter((va=>{var Ma,El;return((Ma=va.conditions)==null?void 0:Ma.actions)&&((El=va.conditions)==null||(El=El.actions)==null||(El=El.values)==null?void 0:El.length)>0}));ba.length!==0&&(this.se==null&&(this.se=new eo(this._instance),this.se.init(),this.se.qi((va=>{this.onAction(va)}))),ba.forEach((va=>{var Ma,El,wl,Sl,Cl;va.conditions&&(Ma=va.conditions)!=null&&Ma.actions&&(El=va.conditions)!=null&&(El=El.actions)!=null&&El.values&&((wl=va.conditions)==null||(wl=wl.actions)==null||(wl=wl.values)==null?void 0:wl.length)>0&&((Sl=this.se)==null||Sl.register(va.conditions.actions.values),(Cl=va.conditions)==null||(Cl=Cl.actions)==null||(Cl=Cl.values)==null||Cl.forEach((Mc=>{if(Mc&&Mc.name){var Ef=this.Xi.get(Mc.name);Ef&&Ef.push(va.id),this.Xi.set(Mc.name,Ef||[va.id])}})))})))}ee(ma){var ba,va=ma.filter((El=>{var wl,Sl;return((wl=El.conditions)==null?void 0:wl.events)&&((Sl=El.conditions)==null||(Sl=Sl.events)==null||(Sl=Sl.values)==null?void 0:Sl.length)>0})),Ma=ma.filter((El=>{var wl,Sl;return((wl=El.conditions)==null?void 0:wl.cancelEvents)&&((Sl=El.conditions)==null||(Sl=Sl.cancelEvents)==null||(Sl=Sl.values)==null?void 0:Sl.length)>0}));(va.length!==0||Ma.length!==0)&&((ba=this._instance)==null||ba.Hi(((El,wl)=>{this.onEvent(El,wl)})),this.Ki=this.Zi(ma,jn.Activation),this.Yi=this.Zi(ma,jn.Cancellation))}onEvent(ma,ba){var va,Ma=this.ne(),El=this.oe(),wl=this.ae(),Sl=((va=this._instance)==null||(va=va.persistence)==null?void 0:va.props[El])||[];if(wl===ma&&ba&&Sl.length>0){var Cl,Mc;Ma.info("event matched, removing item from activated items",{event:ma,eventPayload:ba,existingActivatedItems:Sl});var Ef=(ba==null||(Cl=ba.properties)==null?void 0:Cl.$survey_id)||(ba==null||(Mc=ba.properties)==null?void 0:Mc.$product_tour_id);if(Ef){var Zf=Sl.indexOf(Ef);Zf>=0&&(Sl.splice(Zf,1),this.le(Sl))}}else{if(this.Yi.has(ma)){var Jf=this.te(ma,ba,jn.Cancellation);Jf.length>0&&(Ma.info("cancel event matched, cancelling items",{event:ma,itemsToCancel:Jf.map((hp=>hp.id))}),Jf.forEach((hp=>{var dg=Sl.indexOf(hp.id);dg>=0&&Sl.splice(dg,1),this.ue(hp.id)})),this.le(Sl))}if(this.Ki.has(ma)){Ma.info("event name matched",{event:ma,eventPayload:ba,items:this.Ki.get(ma)});var dp=this.te(ma,ba,jn.Activation);this.le(Sl.concat(dp.map((hp=>hp.id))||[]))}}}onAction(ma){var ba,va=this.oe(),Ma=((ba=this._instance)==null||(ba=ba.persistence)==null?void 0:ba.props[va])||[];this.Xi.has(ma)&&this.le(Ma.concat(this.Xi.get(ma)||[]))}le(ma){var ba,va=this.ne(),Ma=this.oe(),El=[...new Set(ma)].filter((wl=>!this.he(wl)));va.info("updating activated items",{activatedItems:El}),(ba=this._instance)==null||(ba=ba.persistence)==null||ba.register({[Ma]:El})}getActivatedIds(){var ma,ba=this.oe(),va=(ma=this._instance)==null||(ma=ma.persistence)==null?void 0:ma.props[ba];return va||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}}class so extends ro{constructor(ma){super(ma)}oe(){return"$surveys_activated"}ae(){return Wn.SHOWN}ie(ma){var ba;(ba=this._instance)==null||ba.getSurveys(ma)}ue(ma){var ba;(ba=this._instance)==null||ba.cancelPendingSurvey(ma)}ne(){return Jn}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}}class no{constructor(ma){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=ma,this._surveyEventReceiver=null}onRemoteConfig(ma){if(!this._instance.config.disable_surveys){var ba=ma.surveys;if(j$a(ba))return Jn.warn("Flags not loaded yet. Not loading surveys.");var va=I$8(ba);this.ve=va?ba.length>0:ba,Jn.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var ma=[],ba=0;ba<localStorage.length;ba++){var va=localStorage.key(ba);(va!=null&&va.startsWith(Kn)||va!=null&&va.startsWith("inProgressSurvey_"))&&ma.push(va)}ma.forEach((Ma=>localStorage.removeItem(Ma)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)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 ma=v$7?.__PosthogExtensions__;if(ma){if(!M$6(this.ve)||this._instance.config.advanced_enable_surveys){var ba=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var va=ma.generateSurveys;if(va)return void this.ge(va,ba);var Ma=ma.loadExternalDependency;if(!Ma)return void this._e("PostHog loadExternalDependency extension not found.");Ma(this._instance,"surveys",(El=>{El||!ma.generateSurveys?this._e("Could not load surveys script",El):this.ge(ma.generateSurveys,ba)}))}catch(El){throw this._e("Error initializing surveys",El),El}finally{this.ce=!1}}}else Jn.error("PostHog Extensions not found.")}}ge(ma,ba){this._surveyManager=ma(this._instance,ba),this._surveyEventReceiver=new so(this._instance),Jn.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(ma,ba){Jn.error(ma,ba),this.me({isLoaded:!1,error:ma})}onSurveysLoaded(ma){return this.fe.push(ma),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((ba=>ba!==ma))}}getSurveys(ma,ba){if(ba===void 0&&(ba=!1),this._instance.config.disable_surveys)return Jn.info("Disabled. Not loading surveys."),ma([]);var va,Ma=this._instance.get_property(le$2);if(Ma&&!ba)return ma(Ma,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((El=>{var{surveys:wl,context:Sl}=El;return ma(wl,Sl)})):(typeof Promise<"u"&&(this.pe=new Promise((El=>{va=El}))),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:El=>{var wl;this.pe=null;var Sl=El.statusCode;if(Sl!==200||!El.json){var Cl="Surveys API could not be loaded, status: "+Sl;Jn.error(Cl);var Mc={isLoaded:!1,error:Cl};return ma([],Mc),void(va==null||va({surveys:[],context:Mc}))}var Ef,Zf=El.json.surveys||[],Jf=Zf.filter((hp=>(function(dg){return!(!dg.start_date||dg.end_date)})(hp)&&((function(dg){var pg;return!((pg=dg.conditions)==null||(pg=pg.events)==null||(pg=pg.values)==null||!pg.length)})(hp)||(function(dg){var pg;return!((pg=dg.conditions)==null||(pg=pg.actions)==null||(pg=pg.values)==null||!pg.length)})(hp))));Jf.length>0&&((Ef=this._surveyEventReceiver)==null||Ef.register(Jf)),(wl=this._instance.persistence)==null||wl.register({[le$2]:Zf});var dp={isLoaded:!0};ma(Zf,dp),va?.({surveys:Zf,context:dp})}}))}me(ma){for(var ba of this.fe)try{if(!ma.isLoaded)return ba([],ma);this.getSurveys(ba)}catch(va){Jn.error("Error in survey callback",va)}}getActiveMatchingSurveys(ma,ba){if(ba===void 0&&(ba=!1),!j$a(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(ma,ba);Jn.warn("init was not called")}ye(ma){var ba=null;return this.getSurveys((va=>{var Ma;ba=(Ma=va.find((El=>El.id===ma)))!==null&&Ma!==void 0?Ma:null})),ba}be(ma){if(j$a(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var ba=typeof ma=="string"?this.ye(ma):ma;return ba?this._surveyManager.checkSurveyEligibility(ba):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(ma){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 ba=this.be(ma);return{visible:ba.eligible,disabledReason:ba.reason}}canRenderSurveyAsync(ma,ba){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((va=>{this.getSurveys((Ma=>{var El,wl=(El=Ma.find((Cl=>Cl.id===ma)))!==null&&El!==void 0?El:null;if(wl){var Sl=this.be(wl);va({visible:Sl.eligible,disabledReason:Sl.reason})}else va({visible:!1,disabledReason:"Survey not found"})}),ba)}))}renderSurvey(ma,ba){var va;if(j$a(this._surveyManager))Jn.warn("init was not called");else{var Ma=typeof ma=="string"?this.ye(ma):ma;if(Ma!=null&&Ma.id)if(Qn.includes(Ma.type)){var El=o$d?.querySelector(ba);if(El)return(va=Ma.appearance)!=null&&va.surveyPopupDelaySeconds?(Jn.info("Rendering survey "+Ma.id+" with delay of "+Ma.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var wl,Sl;Jn.info("Rendering survey "+Ma.id+" with delay of "+((wl=Ma.appearance)==null?void 0:wl.surveyPopupDelaySeconds)+" seconds"),(Sl=this._surveyManager)==null||Sl.renderSurvey(Ma,El),Jn.info("Survey "+Ma.id+" rendered")}),1e3*Ma.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(Ma,El);Jn.warn("Survey element not found")}else Jn.warn("Surveys of type "+Ma.type+" cannot be rendered in the app");else Jn.warn("Survey not found")}}displaySurvey(ma,ba){var va;if(j$a(this._surveyManager))Jn.warn("init was not called");else{var Ma=this.ye(ma);if(Ma){var El=Ma;if((va=Ma.appearance)!=null&&va.surveyPopupDelaySeconds&&ba.ignoreDelay&&(El=g$8({},Ma,{appearance:g$8({},Ma.appearance,{surveyPopupDelaySeconds:0})})),ba.ignoreConditions===!1){var wl=this.canRenderSurvey(Ma);if(!wl.visible)return void Jn.warn("Survey is not eligible to be displayed: ",wl.disabledReason)}ba.displayType!==Vn.Inline?this._surveyManager.handlePopoverSurvey(El):this.renderSurvey(El,ba.selector)}else Jn.warn("Survey not found")}}cancelPendingSurvey(ma){j$a(this._surveyManager)?Jn.warn("init was not called"):this._surveyManager.cancelSurvey(ma)}handlePageUnload(){var ma;(ma=this._surveyManager)==null||ma.handlePageUnload()}}var oo=Si("[Conversations]");class ao{constructor(ma){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=ma}onRemoteConfig(ma){if(!this._instance.config.disable_conversations){var ba=ma.conversations;j$a(ba)||(U$4(ba)?this.we=ba:(this.we=ba.enabled,this.Ee=ba),this.loadIfEnabled())}}reset(){var ma;(ma=this._conversationsManager)==null||ma.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var ma=v$7?.__PosthogExtensions__;if(ma&&!M$6(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var ba=ma.initConversations;if(ba)return this.$e(ba),void(this.xe=!1);var va=ma.loadExternalDependency;if(!va)return void this.Se("PostHog loadExternalDependency extension not found.");va(this._instance,"conversations",(Ma=>{Ma||!ma.initConversations?this.Se("Could not load conversations script",Ma):this.$e(ma.initConversations),this.xe=!1}))}catch(Ma){this.Se("Error initializing conversations",Ma),this.xe=!1}}else oo.error("Conversations enabled but missing token in remote config.")}}$e(ma){if(this.Ee)try{this._conversationsManager=ma(this.Ee,this._instance),oo.info("Conversations loaded successfully")}catch(ba){this.Se("Error completing conversations initialization",ba)}else oo.error("Cannot complete initialization: remote config is null")}Se(ma,ba){oo.error(ma,ba),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():oo.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!D$b(this._conversationsManager)}isVisible(){var ma,ba;return(ma=(ba=this._conversationsManager)==null?void 0:ba.isVisible())!==null&&ma!==void 0&&ma}sendMessage(ma,ba,va){var Ma=this;return p$c((function*(){return Ma._conversationsManager?Ma._conversationsManager.sendMessage(ma,ba,va):(oo.warn("Conversations not available yet."),null)}))()}getMessages(ma,ba){var va=this;return p$c((function*(){return va._conversationsManager?va._conversationsManager.getMessages(ma,ba):(oo.warn("Conversations not available yet."),null)}))()}markAsRead(ma){var ba=this;return p$c((function*(){return ba._conversationsManager?ba._conversationsManager.markAsRead(ma):(oo.warn("Conversations not available yet."),null)}))()}getTickets(ma){var ba=this;return p$c((function*(){return ba._conversationsManager?ba._conversationsManager.getTickets(ma):(oo.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var ma,ba;return(ma=(ba=this._conversationsManager)==null?void 0:ba.getCurrentTicketId())!==null&&ma!==void 0?ma:null}getWidgetSessionId(){var ma,ba;return(ma=(ba=this._conversationsManager)==null?void 0:ba.getWidgetSessionId())!==null&&ma!==void 0?ma:null}}let lo$1=class{constructor(ma){var ba;this.ke=!1,this.Pe=!1,this._instance=ma,this._instance&&(ba=this._instance.config.logs)!=null&&ba.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(ma){var ba,va=(ba=ma.logs)==null?void 0:ba.captureConsoleLogs;!j$a(va)&&va&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var ma=Si("[logs]"),ba=v$7?.__PosthogExtensions__;if(ba){var va=ba.loadExternalDependency;va?va(this._instance,"logs",(Ma=>{var El;Ma||(El=ba.logs)==null||!El.initializeLogs?ma.error("Could not load logs script",Ma):(ba.logs.initializeLogs(this._instance),this.Pe=!0)})):ma.error("PostHog loadExternalDependency extension not found.")}else ma.error("PostHog Extensions not found.")}}};var uo=Si("[RateLimiter]");class ho{constructor(ma){var ba,va;this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=Ma=>{var El=Ma.text;if(El&&El.length)try{(JSON.parse(El).quota_limited||[]).forEach((wl=>{uo.info((wl||"events")+" is quota limited."),this.serverLimits[wl]=new Date().getTime()+6e4}))}catch(wl){return void uo.warn('could not rate limit - continuing. Error: "'+wl?.message+'"',{text:El})}},this.instance=ma,this.captureEventsPerSecond=((ba=ma.config.rate_limiting)==null?void 0:ba.events_per_second)||10,this.captureEventsBurstLimit=Math.max(((va=ma.config.rate_limiting)==null?void 0:va.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond),this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}clientRateLimitContext(ma){var ba,va,Ma;ma===void 0&&(ma=!1);var El=new Date().getTime(),wl=(ba=(va=this.instance.persistence)==null?void 0:va.get_property(ve$2))!==null&&ba!==void 0?ba:{tokens:this.captureEventsBurstLimit,last:El};wl.tokens+=(El-wl.last)/1e3*this.captureEventsPerSecond,wl.last=El,wl.tokens>this.captureEventsBurstLimit&&(wl.tokens=this.captureEventsBurstLimit);var Sl=wl.tokens<1;return Sl||ma||(wl.tokens=Math.max(0,wl.tokens-1)),!Sl||this.lastEventRateLimited||ma||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=Sl,(Ma=this.instance.persistence)==null||Ma.set_property(ve$2,wl),{isRateLimited:Sl,remainingTokens:wl.tokens}}isServerRateLimited(ma){var ba=this.serverLimits[ma||"events"]||!1;return ba!==!1&&new Date().getTime()<ba}}var vo=Si("[RemoteConfig]");class co{constructor(ma){this._instance=ma}get remoteConfig(){var ma;return(ma=v$7._POSTHOG_REMOTE_CONFIG)==null||(ma=ma[this._instance.config.token])==null?void 0:ma.config}Te(ma){var ba,va;(ba=v$7.__PosthogExtensions__)!=null&&ba.loadExternalDependency?(va=v$7.__PosthogExtensions__)==null||va.loadExternalDependency==null||va.loadExternalDependency(this._instance,"remote-config",(()=>ma(this.remoteConfig))):(vo.error("PostHog Extensions not found. Cannot load remote config."),ma())}Ie(ma){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:ba=>{ma(ba.json)}})}load(){try{if(this.remoteConfig)return vo.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.O())return void vo.warn("Remote config is disabled. Falling back to local config.");this.Te((ma=>{if(!ma)return vo.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((ba=>{this.yi(ba)}));this.yi(ma)}))}catch(ma){vo.error("Error loading remote config",ma)}}yi(ma){ma?this._instance.config.__preview_remote_config?(this._instance.yi(ma),ma.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):vo.info("__preview_remote_config is disabled. Logging config instead",ma):vo.error("Failed to fetch remote config from PostHog.")}}var fo=3e3;class po{constructor(ma,ba){this.Ce=!0,this.Re=[],this.Fe=K$6(ba?.flush_interval_ms||fo,250,5e3,$i.createLogger("flush interval"),fo),this.Me=ma}enqueue(ma){this.Re.push(ma),this.Oe||this.Ae()}unload(){this.De();var ma=this.Re.length>0?this.je():{},ba=Object.values(ma);[...ba.filter((va=>va.url.indexOf("/e")===0)),...ba.filter((va=>va.url.indexOf("/e")!==0))].map((va=>{this.Me(g$8({},va,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var ma=this;this.Ce||(this.Oe=setTimeout((()=>{if(this.De(),this.Re.length>0){var ba=this.je(),va=function(){var El=ba[Ma],wl=new Date().getTime();El.data&&I$8(El.data)&&Ci(El.data,(Sl=>{Sl.offset=Math.abs(Sl.timestamp-wl),delete Sl.timestamp})),ma.Me(El)};for(var Ma in ba)va()}}),this.Fe))}De(){clearTimeout(this.Oe),this.Oe=void 0}je(){var ma={};return Ci(this.Re,(ba=>{var va,Ma=ba,El=(Ma?Ma.batchKey:null)||Ma.url;M$6(ma[El])&&(ma[El]=g$8({},Ma,{data:[]})),(va=ma[El].data)==null||va.push(Ma.data)})),this.Re=[],ma}}var go=["retriesPerformedSoFar"];class _o{constructor(ma){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=ma,this.Re=[],this.Ue=!0,!M$6(t$9)&&"onLine"in t$9.navigator&&(this.Ue=t$9.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},zi(t$9,"online",this.ze),zi(t$9,"offline",this.He))}get length(){return this.Re.length}retriableRequest(ma){var{retriesPerformedSoFar:ba}=ma,va=_$7(ma,go);N$6(ba)&&(va.url=un$1(va.url,{retry_count:ba})),this._instance._send_request(g$8({},va,{callback:Ma=>{Ma.statusCode!==200&&(Ma.statusCode<400||Ma.statusCode>=500)&&(ba??0)<10?this.Be(g$8({retriesPerformedSoFar:ba},va)):va.callback==null||va.callback(Ma)}}))}Be(ma){var ba=ma.retriesPerformedSoFar||0;ma.retriesPerformedSoFar=ba+1;var va=(function(wl){var Sl=3e3*Math.pow(2,wl),Cl=Sl/2,Mc=Math.min(18e5,Sl),Ef=(Math.random()-.5)*(Mc-Cl);return Math.ceil(Mc+Ef)})(ba),Ma=Date.now()+va;this.Re.push({retryAt:Ma,requestOptions:ma});var El="Enqueued failed request for retry in "+va;navigator.onLine||(El+=" (Browser is offline)"),$i.warn(El),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var ma=Date.now(),ba=[],va=this.Re.filter((El=>El.retryAt<ma||(ba.push(El),!1)));if(this.Re=ba,va.length>0)for(var{requestOptions:Ma}of va)this.retriableRequest(Ma)}unload(){for(var{requestOptions:ma}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,M$6(t$9)||(this.ze&&(t$9.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(t$9.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(g$8({},ma,{transport:"sendBeacon"}))}catch(ba){$i.error(ba)}this.Re=[]}}class mo{constructor(ma){this.Ge=()=>{var ba,va,Ma,El;this.Ve||(this.Ve={});var wl=this.scrollElement(),Sl=this.scrollY(),Cl=wl?Math.max(0,wl.scrollHeight-wl.clientHeight):0,Mc=Sl+(wl?.clientHeight||0),Ef=wl?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(Sl),this.Ve.maxScrollY=Math.max(Sl,(ba=this.Ve.maxScrollY)!==null&&ba!==void 0?ba:0),this.Ve.maxScrollHeight=Math.max(Cl,(va=this.Ve.maxScrollHeight)!==null&&va!==void 0?va:0),this.Ve.lastContentY=Mc,this.Ve.maxContentY=Math.max(Mc,(Ma=this.Ve.maxContentY)!==null&&Ma!==void 0?Ma:0),this.Ve.maxContentHeight=Math.max(Ef,(El=this.Ve.maxContentHeight)!==null&&El!==void 0?El:0)},this._instance=ma}getContext(){return this.Ve}resetContext(){var ma=this.Ve;return setTimeout(this.Ge,0),ma}startMeasuringScrollPosition(){zi(t$9,"scroll",this.Ge,{capture:!0}),zi(t$9,"scrollend",this.Ge,{capture:!0}),zi(t$9,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return t$9?.document.documentElement;var ma=I$8(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var ba of ma){var va=t$9?.document.querySelector(ba);if(va)return va}}scrollY(){if(this._instance.config.scroll_root_selector){var ma=this.scrollElement();return ma&&ma.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 ma=this.scrollElement();return ma&&ma.scrollLeft||0}return t$9&&(t$9.scrollX||t$9.pageXOffset||t$9.document.documentElement.scrollLeft)||0}}var yo=ya=>ds(ya?.config.mask_personal_data_properties,ya?.config.custom_personal_data_properties);class bo{constructor(ma,ba,va,Ma){this.Je=El=>{var wl=this.Ke();if(!wl||wl.sessionId!==El){var Sl={sessionId:El,props:this.Ye(this._instance)};this.Xe.register({[de$3]:Sl})}},this._instance=ma,this.Qe=ba,this.Xe=va,this.Ye=Ma||yo,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[de$3]}getSetOnceProps(){var ma,ba=(ma=this.Ke())==null?void 0:ma.props;return ba?"r"in ba?vs(ba):{$referring_domain:ba.referringDomain,$pathname:ba.initialPathName,utm_source:ba.utm_source,utm_campaign:ba.utm_campaign,utm_medium:ba.utm_medium,utm_content:ba.utm_content,utm_term:ba.utm_term}:{}}getSessionProps(){var ma={};return Ci(Di(this.getSetOnceProps()),((ba,va)=>{va==="$current_url"&&(va="url"),ma["$session_entry_"+E$7(va)]=ba})),ma}}var wo=Si("[SessionId]");class xo{on(ma,ba){return this.Ze.on(ma,ba)}constructor(ma,ba,va){var Ma;if(this.tr=[],this.ir=void 0,this.Ze=new to,this.er=(Ef,Zf)=>!(!N$6(Ef)||!N$6(Zf))&&Math.abs(Ef-Zf)>this.sessionTimeoutMs,!ma.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(ma.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=ma.config,this.Xe=ma.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=ba||br,this.ar=va||br;var El=this.R.persistence_name||this.R.token,wl=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*K$6(wl,60,36e3,wo.createLogger("session_idle_timeout_seconds"),1800),ma.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+El+"_window_id",this.hr="ph_"+El+"_primary_window_exists",this.dr()){var Sl=Fr.W(this.ur),Cl=Fr.W(this.hr);Sl&&!Cl?this.rr=Sl:Fr.V(this.ur),Fr.G(this.hr,!0)}if((Ma=this.R.bootstrap)!=null&&Ma.sessionID)try{var Mc=(Ef=>{var Zf=Ef.replace(/-/g,"");if(Zf.length!==32)throw new Error("Not a valid UUID");if(Zf[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(Zf.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),Mc)}catch(Ef){wo.error("Invalid sessionID in bootstrap",Ef)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(ma){return M$6(this.tr)&&(this.tr=[]),this.tr.push(ma),this.sr&&ma(this.sr,this.rr),()=>{this.tr=this.tr.filter((ba=>ba!==ma))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.Si&&Fr.H()}pr(ma){ma!==this.rr&&(this.rr=ma,this.dr()&&Fr.G(this.ur,ma))}gr(){return this.rr?this.rr:this.dr()?Fr.W(this.ur):null}vr(ma,ba,va){ma===this.sr&&ba===this._sessionActivityTimestamp&&va===this._sessionStartTimestamp||(this._sessionStartTimestamp=va,this._sessionActivityTimestamp=ba,this.sr=ma,this.Xe.register({[ie$3]:[ba,ma,va]}))}_r(){var ma=this.Xe.props[ie$3];return I$8(ma)&&ma.length===2&&ma.push(ma[0]),ma||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&t$9&&(t$9.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&Fr.V(this.hr)},zi(t$9,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(ma,ba){if(ma===void 0&&(ma=!1),ba===void 0&&(ba=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var va=ba||new Date().getTime(),[Ma,El,wl]=this._r(),Sl=this.gr(),Cl=N$6(wl)&&Math.abs(va-wl)>864e5,Mc=!1,Ef=!El,Zf=!Ef&&!ma&&this.er(va,Ma);Ef||Zf||Cl?(El=this.nr(),Sl=this.ar(),wo.info("new session ID generated",{sessionId:El,windowId:Sl,changeReason:{noSessionId:Ef,activityTimeout:Zf,sessionPastMaximumLength:Cl}}),wl=va,Mc=!0):Sl||(Sl=this.ar(),Mc=!0);var Jf=N$6(Ma)&&ma&&!Cl?Ma:va,dp=N$6(wl)?wl:new Date().getTime();return this.pr(Sl),this.vr(El,Jf,dp),ma||this.lr(),Mc&&this.tr.forEach((hp=>hp(El,Sl,Mc?{noSessionId:Ef,activityTimeout:Zf,sessionPastMaximumLength:Cl}:void 0))),{sessionId:El,windowId:Sl,sessionStartTimestamp:dp,changeReason:Mc?{noSessionId:Ef,activityTimeout:Zf,sessionPastMaximumLength:Cl}:void 0,lastActivityTimestamp:Ma}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[ma]=this._r();if(this.er(new Date().getTime(),ma)){var ba=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:ba})}}),1.1*this.sessionTimeoutMs)}}var Eo=["$set_once","$set"],$o=Si("[SiteApps]");class So{constructor(ma){this._instance=ma,this.yr=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}br(ma,ba){if(ba){var va=this.globalsForEvent(ba);this.yr.push(va),this.yr.length>1e3&&(this.yr=this.yr.slice(10))}}get siteAppLoaders(){var ma;return(ma=v$7._POSTHOG_REMOTE_CONFIG)==null||(ma=ma[this._instance.config.token])==null?void 0:ma.siteApps}init(){if(this.isEnabled){var ma=this._instance.Hi(this.br.bind(this));this.wr=()=>{ma(),this.yr=[],this.wr=void 0}}}globalsForEvent(ma){var ba,va,Ma,El,wl,Sl,Cl;if(!ma)throw new Error("Event payload is required");var Mc={},Ef=this._instance.get_property("$groups")||[],Zf=this._instance.get_property("$stored_group_properties")||{};for(var[Jf,dp]of Object.entries(Zf))Mc[Jf]={id:Ef[Jf],type:Jf,properties:dp};var{$set_once:hp,$set:dg}=ma;return{event:g$8({},_$7(ma,Eo),{properties:g$8({},ma.properties,dg?{$set:g$8({},(ba=(va=ma.properties)==null?void 0:va.$set)!==null&&ba!==void 0?ba:{},dg)}:{},hp?{$set_once:g$8({},(Ma=(El=ma.properties)==null?void 0:El.$set_once)!==null&&Ma!==void 0?Ma:{},hp)}:{}),elements_chain:(wl=(Sl=ma.properties)==null?void 0:Sl.$elements_chain)!==null&&wl!==void 0?wl:"",distinct_id:(Cl=ma.properties)==null?void 0:Cl.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:Mc}}setupSiteApp(ma){var ba=this.apps[ma.id],va=()=>{var Sl;!ba.errored&&this.yr.length&&($o.info("Processing "+this.yr.length+" events for site app with id "+ma.id),this.yr.forEach((Cl=>ba.processEvent==null?void 0:ba.processEvent(Cl))),ba.processedBuffer=!0),Object.values(this.apps).every((Cl=>Cl.processedBuffer||Cl.errored))&&((Sl=this.wr)==null||Sl.call(this))},Ma=!1,El=Sl=>{ba.errored=!Sl,ba.loaded=!0,$o.info("Site app with id "+ma.id+" "+(Sl?"loaded":"errored")),Ma&&va()};try{var{processEvent:wl}=ma.init({posthog:this._instance,callback:Sl=>{El(Sl)}});wl&&(ba.processEvent=wl),Ma=!0}catch(Sl){$o.error("Error while initializing PostHog app with config id "+ma.id,Sl),El(!1)}if(Ma&&ba.loaded)try{va()}catch(Sl){$o.error("Error while processing buffered events PostHog app with config id "+ma.id,Sl),ba.errored=!0}}Er(){var ma=this.siteAppLoaders||[];for(var ba of ma)this.apps[ba.id]={id:ba.id,loaded:!1,errored:!1,processedBuffer:!1};for(var va of ma)this.setupSiteApp(va)}$r(ma){if(Object.keys(this.apps).length!==0){var ba=this.globalsForEvent(ma);for(var va of Object.values(this.apps))try{va.processEvent==null||va.processEvent(ba)}catch(Ma){$o.error("Error while processing event "+ma.event+" for site app "+va.id,Ma)}}}onRemoteConfig(ma){var ba,va,Ma,El=this;if((ba=this.siteAppLoaders)!=null&&ba.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(Mc=>this.$r(Mc)))):void $o.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((va=this.wr)==null||va.call(this),(Ma=ma.siteApps)!=null&&Ma.length)if(this.isEnabled){var wl=function(Mc){var Ef;v$7["__$$ph_site_app_"+Mc]=El._instance,(Ef=v$7.__PosthogExtensions__)==null||Ef.loadSiteApp==null||Ef.loadSiteApp(El._instance,Cl,(Zf=>{if(Zf)return $o.error("Error while initializing PostHog app with config id "+Mc,Zf)}))};for(var{id:Sl,url:Cl}of ma.siteApps)wl(Sl)}else $o.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}}var ko=function(ya,ma){if(!ya)return!1;var ba=ya.userAgent;if(ba&&y$a(ba,ma))return!0;try{var va=ya?.userAgentData;if(va!=null&&va.brands&&va.brands.some((Ma=>y$a(Ma?.brand,ma))))return!0}catch{}return!!ya.webdriver},Po=(function(ya){return ya.US="us",ya.EU="eu",ya.CUSTOM="custom",ya})({}),To="i.posthog.com";class Io{constructor(ma){this.Sr={},this.instance=ma}get apiHost(){var ma=this.instance.config.api_host.trim().replace(/\/$/,"");return ma==="https://app.posthog.com"?"https://us.i.posthog.com":ma}get flagsApiHost(){var ma=this.instance.config.flags_api_host;return ma?ma.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var ma,ba=(ma=this.instance.config.ui_host)==null?void 0:ma.replace(/\/$/,"");return ba||(ba=this.apiHost.replace("."+To,".posthog.com")),ba==="https://app.posthog.com"?"https://us.posthog.com":ba}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Po.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Po.EU:this.Sr[this.apiHost]=Po.CUSTOM),this.Sr[this.apiHost]}endpointFor(ma,ba){if(ba===void 0&&(ba=""),ba&&(ba=ba[0]==="/"?ba:"/"+ba),ma==="ui")return this.uiHost+ba;if(ma==="flags")return this.flagsApiHost+ba;if(this.region===Po.CUSTOM)return this.apiHost+ba;var va=To+ba;switch(ma){case"assets":return"https://"+this.region+"-assets."+va;case"api":return"https://"+this.region+"."+va}}}var Co={icontains:(ya,ma)=>!!t$9&&ma.href.toLowerCase().indexOf(ya.toLowerCase())>-1,not_icontains:(ya,ma)=>!!t$9&&ma.href.toLowerCase().indexOf(ya.toLowerCase())===-1,regex:(ya,ma)=>!!t$9&&cn$1(ma.href,ya),not_regex:(ya,ma)=>!!t$9&&!cn$1(ma.href,ya),exact:(ya,ma)=>ma.href===ya,is_not:(ya,ma)=>ma.href!==ya};class Ro{constructor(ma){var ba=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(va){va===void 0&&(va=!1),ba.getWebExperiments((Ma=>{Ro.kr("retrieved web experiments from the server"),ba.Pr=new Map,Ma.forEach((El=>{if(El.feature_flag_key){var wl;ba.Pr&&(Ro.kr("setting flag key ",El.feature_flag_key," to web experiment ",El),(wl=ba.Pr)==null||wl.set(El.feature_flag_key,El));var Sl=ba._instance.getFeatureFlag(El.feature_flag_key);O$5(Sl)&&El.variants[Sl]&&ba.Tr(El.name,Sl,El.variants[Sl].transforms)}else if(El.variants)for(var Cl in El.variants){var Mc=El.variants[Cl];Ro.Ir(Mc)&&ba.Tr(El.name,Cl,Mc.transforms)}}))}),va)},this._instance=ma,this._instance.onFeatureFlags((va=>{this.onFeatureFlags(va)}))}onFeatureFlags(ma){if(this._is_bot())Ro.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(j$a(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();Ro.kr("applying feature flags",ma),ma.forEach((ba=>{var va;if(this.Pr&&(va=this.Pr)!=null&&va.has(ba)){var Ma,El=this._instance.getFeatureFlag(ba),wl=(Ma=this.Pr)==null?void 0:Ma.get(ba);El&&wl!=null&&wl.variants[El]&&this.Tr(wl.name,El,wl.variants[El].transforms)}}))}}previewWebExperiment(){var ma=Ro.getWindowLocation();if(ma!=null&&ma.search){var ba=sr(ma?.search,"__experiment_id"),va=sr(ma?.search,"__experiment_variant");ba&&va&&(Ro.kr("previewing web experiments "+ba+" && "+va),this.getWebExperiments((Ma=>{this.Cr(parseInt(ba),va,Ma)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(ma,ba,va){if(this._instance.config.disable_web_experiments&&!va)return ma([]);var Ma=this._instance.get_property("$web_experiments");if(Ma&&!ba)return ma(Ma);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:El=>{if(El.statusCode!==200||!El.json)return ma([]);var wl=El.json.experiments||[];return ma(wl)}})}Cr(ma,ba,va){var Ma=va.filter((El=>El.id===ma));Ma&&Ma.length>0&&(Ro.kr("Previewing web experiment ["+Ma[0].name+"] with variant ["+ba+"]"),this.Tr(Ma[0].name,ba,Ma[0].variants[ba].transforms))}static Ir(ma){return!j$a(ma.conditions)&&Ro.Rr(ma)&&Ro.Fr(ma)}static Rr(ma){var ba;if(j$a(ma.conditions)||j$a((ba=ma.conditions)==null?void 0:ba.url))return!0;var va,Ma,El,wl=Ro.getWindowLocation();return!!wl&&((va=ma.conditions)==null||!va.url||Co[(Ma=(El=ma.conditions)==null?void 0:El.urlMatchType)!==null&&Ma!==void 0?Ma:"icontains"](ma.conditions.url,wl))}static getWindowLocation(){return t$9?.location}static Fr(ma){var ba;if(j$a(ma.conditions)||j$a((ba=ma.conditions)==null?void 0:ba.utm))return!0;var va=os();if(va.utm_source){var Ma,El,wl,Sl,Cl,Mc,Ef,Zf,Jf=(Ma=ma.conditions)==null||(Ma=Ma.utm)==null||!Ma.utm_campaign||((El=ma.conditions)==null||(El=El.utm)==null?void 0:El.utm_campaign)==va.utm_campaign,dp=(wl=ma.conditions)==null||(wl=wl.utm)==null||!wl.utm_source||((Sl=ma.conditions)==null||(Sl=Sl.utm)==null?void 0:Sl.utm_source)==va.utm_source,hp=(Cl=ma.conditions)==null||(Cl=Cl.utm)==null||!Cl.utm_medium||((Mc=ma.conditions)==null||(Mc=Mc.utm)==null?void 0:Mc.utm_medium)==va.utm_medium,dg=(Ef=ma.conditions)==null||(Ef=Ef.utm)==null||!Ef.utm_term||((Zf=ma.conditions)==null||(Zf=Zf.utm)==null?void 0:Zf.utm_term)==va.utm_term;return Jf&&hp&&dg&&dp}return!1}static kr(ma){for(var ba=arguments.length,va=new Array(ba>1?ba-1:0),Ma=1;Ma<ba;Ma++)va[Ma-1]=arguments[Ma];$i.info("[WebExperiments] "+ma,va)}Tr(ma,ba,va){this._is_bot()?Ro.kr("Refusing to render web experiment since the viewer is a likely bot"):ba!=="control"?va.forEach((Ma=>{if(Ma.selector){var El;Ro.kr("applying transform of variant "+ba+" for experiment "+ma+" ",Ma);var wl=(El=document)==null?void 0:El.querySelectorAll(Ma.selector);wl?.forEach((Sl=>{var Cl=Sl;Ma.html&&(Cl.innerHTML=Ma.html),Ma.css&&Cl.setAttribute("style",Ma.css)}))}})):Ro.kr("Control variants leave the page unmodified.")}_is_bot(){return n$9&&this._instance?ko(n$9,this._instance.config.custom_blocked_useragents):void 0}}var Fo=Si("[PostHog ExternalIntegrations]"),Mo$1={intercom:"intercom-integration",crispChat:"crisp-chat-integration"};class Oo{constructor(ma){this._instance=ma}it(ma,ba){var va;(va=v$7.__PosthogExtensions__)==null||va.loadExternalDependency==null||va.loadExternalDependency(this._instance,ma,(Ma=>{if(Ma)return Fo.error("failed to load script",Ma);ba()}))}startIfEnabledOrStop(){var ma=this,ba=function(wl){var Sl,Cl,Mc;!Ma||(Sl=v$7.__PosthogExtensions__)!=null&&(Sl=Sl.integrations)!=null&&Sl[wl]||ma.it(Mo$1[wl],(()=>{var Ef;(Ef=v$7.__PosthogExtensions__)==null||(Ef=Ef.integrations)==null||(Ef=Ef[wl])==null||Ef.start(ma._instance)})),!Ma&&(Cl=v$7.__PosthogExtensions__)!=null&&(Cl=Cl.integrations)!=null&&Cl[wl]&&((Mc=v$7.__PosthogExtensions__)==null||(Mc=Mc.integrations)==null||(Mc=Mc[wl])==null||Mc.stop())};for(var[va,Ma]of Object.entries((El=this._instance.config.integrations)!==null&&El!==void 0?El:{})){var El;ba(va)}}}var Ao="[SessionRecording]",Do=Si(Ao);class jo{get started(){var ma;return!((ma=this.Mr)==null||!ma.isStarted)}get status(){return this.Mr?this.Mr.status:this.Or&&!this.Ar?"disabled":"lazy_loading"}constructor(ma){if(this._forceAllowLocalhostNetworkCapture=!1,this.Or=!1,this.Dr=void 0,this._instance=ma,!this._instance.sessionManager)throw Do.error("started without valid sessionManager"),new Error(Ao+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(Ao+' cannot be used with cookieless_mode="always"')}get Ar(){var ma,ba=!((ma=this._instance.get_property(te$4))==null||!ma.enabled),va=!this._instance.config.disable_session_recording,Ma=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return t$9&&ba&&va&&!Ma}startIfEnabledOrStop(ma){var ba;if(!this.Ar||(ba=this.Mr)==null||!ba.isStarted){var va=!M$6(Object.assign)&&!M$6(Array.from);this.Ar&&va?(this.jr(ma),Do.info("starting")):this.stopRecording()}}jr(ma){var ba,va,Ma;this.Ar&&(v$7!=null&&(ba=v$7.__PosthogExtensions__)!=null&&(ba=ba.rrweb)!=null&&ba.record&&(va=v$7.__PosthogExtensions__)!=null&&va.initSessionRecording?this.Lr(ma):(Ma=v$7.__PosthogExtensions__)==null||Ma.loadExternalDependency==null||Ma.loadExternalDependency(this._instance,this.Nr,(El=>{if(El)return Do.error("could not load recorder",El);this.Lr(ma)})))}stopRecording(){var ma,ba;(ma=this.Dr)==null||ma.call(this),this.Dr=void 0,(ba=this.Mr)==null||ba.stop()}Ur(){var ma;(ma=this._instance.persistence)==null||ma.unregister(ee$4)}zr(ma){if(this._instance.persistence){var ba,va,Ma=this._instance.persistence,El=()=>{var wl=ma.sessionRecording===!1?void 0:ma.sessionRecording,Sl=wl?.sampleRate,Cl=j$a(Sl)?null:parseFloat(Sl);j$a(Cl)&&this.Ur();var Mc=wl?.minimumDurationMilliseconds;Ma.register({[te$4]:g$8({enabled:!!wl},wl,{networkPayloadCapture:g$8({capturePerformance:ma.capturePerformance},wl?.networkPayloadCapture),canvasRecording:{enabled:wl?.recordCanvas,fps:wl?.canvasFps,quality:wl?.canvasQuality},sampleRate:Cl,minimumDurationMilliseconds:M$6(Mc)?null:Mc,endpoint:wl?.endpoint,triggerMatchType:wl?.triggerMatchType,masking:wl?.masking,urlTriggers:wl?.urlTriggers})})};El(),(ba=this.Dr)==null||ba.call(this),this.Dr=(va=this._instance.sessionManager)==null?void 0:va.onSessionId(El)}}onRemoteConfig(ma){"sessionRecording"in ma?ma.sessionRecording!==!1?(this.zr(ma),this.Or=!0,this.startIfEnabledOrStop()):this.Or=!0:Do.info("skipping remote config with no sessionRecording",ma)}log(ma,ba){var va;ba===void 0&&(ba="log"),(va=this.Mr)!=null&&va.log?this.Mr.log(ma,ba):Do.warn("log called before recorder was ready")}get Nr(){var ma,ba,va=(ma=this._instance)==null||(ma=ma.persistence)==null?void 0:ma.get_property(te$4);return(va==null||(ba=va.scriptConfig)==null?void 0:ba.script)||"lazy-recorder"}Lr(ma){var ba,va;if((ba=v$7.__PosthogExtensions__)==null||!ba.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Mr||(this.Mr=(va=v$7.__PosthogExtensions__)==null?void 0:va.initSessionRecording(this._instance),this.Mr._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Mr.start(ma)}onRRwebEmit(ma){var ba;(ba=this.Mr)==null||ba.onRRwebEmit==null||ba.onRRwebEmit(ma)}overrideLinkedFlag(){var ma,ba;this.Mr||(ba=this._instance.persistence)==null||ba.register({$replay_override_linked_flag:!0}),(ma=this.Mr)==null||ma.overrideLinkedFlag()}overrideSampling(){var ma,ba;this.Mr||(ba=this._instance.persistence)==null||ba.register({$replay_override_sampling:!0}),(ma=this.Mr)==null||ma.overrideSampling()}overrideTrigger(ma){var ba,va;this.Mr||(va=this._instance.persistence)==null||va.register({[ma==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(ba=this.Mr)==null||ba.overrideTrigger(ma)}get sdkDebugProperties(){var ma;return((ma=this.Mr)==null?void 0:ma.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(ma,ba){var va;return!((va=this.Mr)==null||!va.tryAddCustomEvent(ma,ba))}}var Lo={},No=()=>{},Uo="posthog",zo=!an$1&&d$6?.indexOf("MSIE")===-1&&d$6?.indexOf("Mozilla")===-1,Ho=ya=>{var ma;return g$8({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:Ni(o$d?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:No,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:ya??"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||(ma=t$9.location)==null?void 0:ma.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:ba=>{var va="Bad HTTP status: "+ba.statusCode+" "+ba.text;$i.error(va)},get_device_id:ba=>ba,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:fo},error_tracking:{},_onCapture:No,__preview_eager_load_replay:!1},(ba=>({rageclick:!(ba&&ba>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(ba&&ba>="2025-05-24")||"history_change",session_recording:ba&&ba>="2025-11-30"?{strictMinimumDuration:!0}:{}}))(ya))},Bo=ya=>{var ma={};M$6(ya.process_person)||(ma.person_profiles=ya.process_person),M$6(ya.xhr_headers)||(ma.request_headers=ya.xhr_headers),M$6(ya.cookie_name)||(ma.persistence_name=ya.cookie_name),M$6(ya.disable_cookie)||(ma.disable_persistence=ya.disable_cookie),M$6(ya.store_google)||(ma.save_campaign_params=ya.store_google),M$6(ya.verbose)||(ma.debug=ya.verbose);var ba=Ri({},ma,ya);return I$8(ya.property_blacklist)&&(M$6(ya.property_denylist)?ba.property_denylist=ya.property_blacklist:I$8(ya.property_denylist)?ba.property_denylist=[...ya.property_blacklist,...ya.property_denylist]:$i.error("Invalid value for property_denylist config: "+ya.property_denylist)),ba};class qo{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(ma){$i.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=ma}}class Wo{get decideEndpointWasHit(){var ma,ba;return(ma=(ba=this.featureFlags)==null?void 0:ba.hasLoadedFlags)!==null&&ma!==void 0&&ma}get flagsEndpointWasHit(){var ma,ba;return(ma=(ba=this.featureFlags)==null?void 0:ba.hasLoadedFlags)!==null&&ma!==void 0&&ma}constructor(){this.webPerformance=new qo,this.Br=!1,this.version=c$e.LIB_VERSION,this.qr=new to,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=Ho(),this.SentryIntegration=Vr,this.sentryIntegration=ma=>(function(ba,va){var Ma=Gr(ba,va);return{name:Wr,processEvent:El=>Ma(El)}})(this,ma),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new Rn(this),this.toolbar=new Qr(this),this.scrollManager=new mo(this),this.pageViewManager=new xs(this),this.surveys=new no(this),this.conversations=new ao(this),this.logs=new lo$1(this),this.experiments=new Ro(this),this.exceptions=new yn(this),this.rateLimiter=new ho(this),this.requestRouter=new Io(this),this.consent=new Or(this),this.externalIntegrations=new Oo(this),this.people={set:(ma,ba,va)=>{var Ma=O$5(ma)?{[ma]:ba}:ma;this.setPersonProperties(Ma),va?.({})},set_once:(ma,ba,va)=>{var Ma=O$5(ma)?{[ma]:ba}:ma;this.setPersonProperties(void 0,Ma),va?.({})}},this.on("eventCaptured",(ma=>$i.info('send "'+ma?.event+'"',ma)))}init(ma,ba,va){if(va&&va!==Uo){var Ma,El=(Ma=Lo[va])!==null&&Ma!==void 0?Ma:new Wo;return El._init(ma,ba,va),Lo[va]=El,Lo[Uo][va]=El,El}return this._init(ma,ba,va)}_init(ma,ba,va){var Ma;if(ba===void 0&&(ba={}),M$6(ma)||A$7(ma))return $i.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={},ba.debug=this.Kr(ba.debug),this.Yr=ba,this.Xr=[],ba.person_profiles&&(this.Vr=ba.person_profiles),this.set_config(Ri({},Ho(ba.defaults),Bo(ba),{name:va,token:ma})),this.config.on_xhr_error&&$i.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=ba.disable_compression?void 0:Es.GZipJS;var El=this.Qr();this.persistence=new Mn(this.config,El),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new Mn(g$8({},this.config,{persistence:"sessionStorage"}),El);var wl=g$8({},this.persistence.props),Sl=g$8({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new po((mg=>this.ts(mg)),this.config.request_queue_config),this.es=new _o(this),this.__request_queue=[];var Cl=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(Cl||(this.sessionManager=new xo(this),this.sessionPropsManager=new bo(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?($i.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(Cl)}),0)):($i.info("Initializing extensions synchronously"),this.rs(Cl)),c$e.DEBUG=c$e.DEBUG||this.config.debug,c$e.DEBUG&&$i.info("Starting in debug mode",{this:this,config:ba,thisC:g$8({},this.config),p:wl,s:Sl}),((Ma=ba.bootstrap)==null?void 0:Ma.distinctID)!==void 0){var Mc,Ef,Zf=this.config.get_device_id(br()),Jf=(Mc=ba.bootstrap)!=null&&Mc.isIdentifiedID?Zf:ba.bootstrap.distinctID;this.persistence.set_property(he$3,(Ef=ba.bootstrap)!=null&&Ef.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:ba.bootstrap.distinctID,$device_id:Jf})}if(this.ss()){var dp,hp,dg=Object.keys(((dp=ba.bootstrap)==null?void 0:dp.featureFlags)||{}).filter((mg=>{var gg;return!((gg=ba.bootstrap)==null||(gg=gg.featureFlags)==null||!gg[mg])})).reduce(((mg,gg)=>{var sy;return mg[gg]=((sy=ba.bootstrap)==null||(sy=sy.featureFlags)==null?void 0:sy[gg])||!1,mg}),{}),pg=Object.keys(((hp=ba.bootstrap)==null?void 0:hp.featureFlagPayloads)||{}).filter((mg=>dg[mg])).reduce(((mg,gg)=>{var sy,ly;return(sy=ba.bootstrap)!=null&&(sy=sy.featureFlagPayloads)!=null&&sy[gg]&&(mg[gg]=(ly=ba.bootstrap)==null||(ly=ly.featureFlagPayloads)==null?void 0:ly[gg]),mg}),{});this.featureFlags.receivedFeatureFlags({featureFlags:dg,featureFlagPayloads:pg})}if(Cl)this.register_once({distinct_id:me$2,$device_id:null},"");else if(!this.get_distinct_id()){var hg=this.config.get_device_id(br());this.register_once({distinct_id:hg,$device_id:hg},""),this.persistence.set_property(he$3,"anonymous")}return zi(t$9,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),ba.segment?qr(this,(()=>this.ns())):this.ns(),C$c(this.config._onCapture)&&this.config._onCapture!==No&&($i.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(mg=>this.config._onCapture(mg.event,mg)))),this.config.ip&&$i.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}rs(ma){var ba=performance.now();this.historyAutocapture=new Hr(this),this.historyAutocapture.startIfEnabled();var va=[];va.push((()=>{new ts(this).startIfEnabledOrStop()})),va.push((()=>{var Ma;this.siteApps=new So(this),(Ma=this.siteApps)==null||Ma.init()})),ma||va.push((()=>{this.sessionRecording=new jo(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||va.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),va.push((()=>{this.autocapture=new cr(this),this.autocapture.startIfEnabled()})),va.push((()=>{this.surveys.loadIfEnabled()})),va.push((()=>{this.logs.loadIfEnabled()})),va.push((()=>{this.conversations.loadIfEnabled()})),va.push((()=>{this.productTours=new Dn(this),this.productTours.loadIfEnabled()})),va.push((()=>{this.heatmaps=new ws(this),this.heatmaps.startIfEnabled()})),va.push((()=>{this.webVitalsAutocapture=new ms(this)})),va.push((()=>{this.exceptionObserver=new Ur(this),this.exceptionObserver.startIfEnabledOrStop()})),va.push((()=>{this.deadClicksAutocapture=new Lr(this,jr),this.deadClicksAutocapture.startIfEnabled()})),va.push((()=>{if(this.os){var Ma=this.os;this.os=void 0,this.yi(Ma)}})),this.ls(va,ba)}ls(ma,ba){for(;ma.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-ba>=30&&ma.length>0)return void setTimeout((()=>{this.ls(ma,ba)}),0);var va=ma.shift();if(va)try{va()}catch(El){$i.error("Error initializing extension:",El)}}var Ma=Math.round(performance.now()-ba);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:Ma}),this.config.__preview_deferred_init_extensions&&$i.info("PostHog extensions initialized ("+Ma+"ms)")}yi(ma){var ba,va,Ma,El,wl,Sl,Cl,Mc,Ef;if(!o$d||!o$d.body)return $i.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(ma)}),500);this.config.__preview_deferred_init_extensions&&(this.os=ma),this.compression=void 0,ma.supportedCompression&&!this.config.disable_compression&&(this.compression=w$9(ma.supportedCompression,Es.GZipJS)?Es.GZipJS:w$9(ma.supportedCompression,Es.Base64)?Es.Base64:void 0),(ba=ma.analytics)!=null&&ba.endpoint&&(this.analyticsDefaultEndpoint=ma.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(va=this.siteApps)==null||va.onRemoteConfig(ma),(Ma=this.sessionRecording)==null||Ma.onRemoteConfig(ma),(El=this.autocapture)==null||El.onRemoteConfig(ma),(wl=this.heatmaps)==null||wl.onRemoteConfig(ma),this.surveys.onRemoteConfig(ma),this.logs.onRemoteConfig(ma),this.conversations.onRemoteConfig(ma),(Sl=this.productTours)==null||Sl.onRemoteConfig(ma),(Cl=this.webVitalsAutocapture)==null||Cl.onRemoteConfig(ma),(Mc=this.exceptionObserver)==null||Mc.onRemoteConfig(ma),this.exceptions.onRemoteConfig(ma),(Ef=this.deadClicksAutocapture)==null||Ef.onRemoteConfig(ma)}ns(){try{this.config.loaded(this)}catch(ma){$i.critical("`loaded` function failed",ma)}this.us(),this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new co(this).load(),this.featureFlags.flags()}us(){var ma;this.is_capturing()&&this.config.request_batching&&((ma=this.Zr)==null||ma.enable())}_dom_loaded(){this.is_capturing()&&Ii(this.__request_queue,(ma=>this.ts(ma))),this.__request_queue=[],this.us()}_handle_unload(){var ma,ba;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(ma=this.Zr)==null||ma.unload(),(ba=this.es)==null||ba.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(ma){this.__loaded&&(zo?this.__request_queue.push(ma):this.rateLimiter.isServerRateLimited(ma.batchKey)||(ma.transport=ma.transport||this.config.api_transport,ma.url=un$1(ma.url,{ip:this.config.ip?1:0}),ma.headers=g$8({},this.config.request_headers,ma.headers),ma.compression=ma.compression==="best-available"?this.compression:ma.compression,ma.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(ma.disableTransport=["sendBeacon"]),ma.fetchOptions=ma.fetchOptions||this.config.fetch_options,(ba=>{var va,Ma,El,wl=g$8({},ba);wl.timeout=wl.timeout||6e4,wl.url=un$1(wl.url,{_:new Date().getTime().toString(),ver:c$e.LIB_VERSION,compression:wl.compression});var Sl=(va=wl.transport)!==null&&va!==void 0?va:"fetch",Cl=vn.filter((Ef=>!wl.disableTransport||!Ef.transport||!wl.disableTransport.includes(Ef.transport))),Mc=(Ma=(El=Ui(Cl,(Ef=>Ef.transport===Sl)))==null?void 0:El.method)!==null&&Ma!==void 0?Ma:Cl[0].method;if(!Mc)throw new Error("No available transport method");Mc(wl)})(g$8({},ma,{callback:ba=>{var va,Ma;this.rateLimiter.checkForLimiting(ba),ba.statusCode>=400&&((va=(Ma=this.config).on_request_error)==null||va.call(Ma,ba)),ma.callback==null||ma.callback(ba)}}))))}ts(ma){this.es?this.es.retriableRequest(ma):this._send_request(ma)}_execute_array(ma){var ba,va=[],Ma=[],El=[];Ii(ma,(Sl=>{Sl&&(ba=Sl[0],I$8(ba)?El.push(Sl):C$c(Sl)?Sl.call(this):I$8(Sl)&&ba==="alias"?va.push(Sl):I$8(Sl)&&ba.indexOf("capture")!==-1&&C$c(this[ba])?El.push(Sl):Ma.push(Sl))}));var wl=function(Sl,Cl){Ii(Sl,(function(Mc){if(I$8(Mc[0])){var Ef=Cl;Ci(Mc,(function(Zf){Ef=Ef[Zf[0]].apply(Ef,Zf.slice(1))}))}else this[Mc[0]].apply(this,Mc.slice(1))}),Cl)};wl(va,this),wl(Ma,this),wl(El,this)}ss(){var ma,ba;return((ma=this.config.bootstrap)==null?void 0:ma.featureFlags)&&Object.keys((ba=this.config.bootstrap)==null?void 0:ba.featureFlags).length>0||!1}push(ma){this._execute_array([ma])}capture(ma,ba,va){var Ma;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!M$6(ma)&&O$5(ma)){var El=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(El&&!this.config.__preview_capture_bot_pageviews)){var wl=va!=null&&va.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(wl==null||!wl.isRateLimited){ba!=null&&ba.$current_url&&!O$5(ba?.$current_url)&&($i.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),ba==null||delete ba.$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 Sl=new Date,Cl=va?.timestamp||Sl,Mc=br(),Ef={uuid:Mc,event:ma,properties:this.calculateEventProperties(ma,ba||{},Cl,Mc)};ma==="$pageview"&&this.config.__preview_capture_bot_pageviews&&El&&(Ef.event="$bot_pageview",Ef.properties.$browser_type="bot"),wl&&(Ef.properties.$lib_rate_limit_remaining_tokens=wl.remainingTokens),va?.$set&&(Ef.$set=va?.$set);var Zf,Jf=ma!=="$groupidentify",dp=this.vs(va?.$set_once,Jf);if(dp&&(Ef.$set_once=dp),(Ef=ji(Ef,va!=null&&va._noTruncate?null:this.config.properties_string_max_length)).timestamp=Cl,M$6(va?.timestamp)||(Ef.properties.$event_time_override_provided=!0,Ef.properties.$event_time_override_system_time=Sl),ma===Wn.DISMISSED||ma===Wn.SENT){var hp=ba?.[Gn.SURVEY_ID],dg=ba?.[Gn.SURVEY_ITERATION];Zf={id:hp,current_iteration:dg},localStorage.getItem(Xn(Zf))||localStorage.setItem(Xn(Zf),"true"),Ef.$set=g$8({},Ef.$set,{[Yn({id:hp,current_iteration:dg},ma===Wn.SENT?"responded":"dismissed")]:!0})}else ma===Wn.SHOWN&&(Ef.$set=g$8({},Ef.$set,{[Gn.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var pg=g$8({},Ef.properties.$set,Ef.$set);if(F$8(pg)||this.setPersonPropertiesForFlags(pg),!j$a(this.config.before_send)){var hg=this.cs(Ef);if(!hg)return;Ef=hg}this.qr.emit("eventCaptured",Ef);var mg={method:"POST",url:(Ma=va?._url)!==null&&Ma!==void 0?Ma:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:Ef,compression:"best-available",batchKey:va?._batchKey};return!this.config.request_batching||va&&(va==null||!va._batchKey)||va!=null&&va.send_instantly?this.ts(mg):this.Zr.enqueue(mg),Ef}$i.critical("This capture call is ignored due to client rate limiting.")}}else $i.error("No event name provided to posthog.capture")}else $i.uninitializedWarning("posthog.capture")}Hi(ma){return this.on("eventCaptured",(ba=>ma(ba.event,ba)))}calculateEventProperties(ma,ba,va,Ma,El){if(va=va||new Date,!this.persistence||!this.sessionPersistence)return ba;var wl=El?void 0:this.persistence.remove_event_timer(ma),Sl=g$8({},ba);if(Sl.token=this.config.token,Sl.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(Sl.$cookieless_mode=!0),ma==="$snapshot"){var Cl=g$8({},this.persistence.properties(),this.sessionPersistence.properties());return Sl.distinct_id=Cl.distinct_id,(!O$5(Sl.distinct_id)&&!L$6(Sl.distinct_id)||A$7(Sl.distinct_id))&&$i.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),Sl}var Mc,Ef=ps(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:Zf,windowId:Jf}=this.sessionManager.checkAndGetSessionAndWindowId(El,va.getTime());Sl.$session_id=Zf,Sl.$window_id=Jf}this.sessionPropsManager&&Ri(Sl,this.sessionPropsManager.getSessionProps());try{var dp;this.sessionRecording&&Ri(Sl,this.sessionRecording.sdkDebugProperties),Sl.$sdk_debug_retry_queue_size=(dp=this.es)==null?void 0:dp.length}catch(hg){Sl.$sdk_debug_error_capturing_properties=String(hg)}if(this.requestRouter.region===Po.CUSTOM&&(Sl.$lib_custom_api_host=this.config.api_host),Mc=ma!=="$pageview"||El?ma!=="$pageleave"||El?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(va):this.pageViewManager.doPageView(va,Ma),Sl=Ri(Sl,Mc),ma==="$pageview"&&o$d&&(Sl.title=o$d.title),!M$6(wl)){var hp=va.getTime()-wl;Sl.$duration=parseFloat((hp/1e3).toFixed(3))}d$6&&this.config.opt_out_useragent_filter&&(Sl.$browser_type=this._is_bot()?"bot":"browser"),(Sl=Ri({},Ef,this.persistence.properties(),this.sessionPersistence.properties(),Sl)).$is_identified=this._isIdentified(),I$8(this.config.property_denylist)?Ci(this.config.property_denylist,(function(hg){delete Sl[hg]})):$i.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var dg=this.config.sanitize_properties;dg&&($i.error("sanitize_properties is deprecated. Use before_send instead"),Sl=dg(Sl,ma));var pg=this.fs();return Sl.$process_person_profile=pg,pg&&!El&&this.ps("_calculate_event_properties"),Sl}vs(ma,ba){var va;if(ba===void 0&&(ba=!0),!this.persistence||!this.fs()||this.Br)return ma;var Ma=this.persistence.get_initial_props(),El=(va=this.sessionPropsManager)==null?void 0:va.getSetOnceProps(),wl=Ri({},Ma,El||{},ma||{}),Sl=this.config.sanitize_properties;return Sl&&($i.error("sanitize_properties is deprecated. Use before_send instead"),wl=Sl(wl,"$set_once")),ba&&(this.Br=!0),F$8(wl)?void 0:wl}register(ma,ba){var va;(va=this.persistence)==null||va.register(ma,ba)}register_once(ma,ba,va){var Ma;(Ma=this.persistence)==null||Ma.register_once(ma,ba,va)}register_for_session(ma){var ba;(ba=this.sessionPersistence)==null||ba.register(ma)}unregister(ma){var ba;(ba=this.persistence)==null||ba.unregister(ma)}unregister_for_session(ma){var ba;(ba=this.sessionPersistence)==null||ba.unregister(ma)}gs(ma,ba){this.register({[ma]:ba})}getFeatureFlag(ma,ba){return this.featureFlags.getFeatureFlag(ma,ba)}getFeatureFlagPayload(ma){var ba=this.featureFlags.getFeatureFlagPayload(ma);try{return JSON.parse(ba)}catch{return ba}}isFeatureEnabled(ma,ba){return this.featureFlags.isFeatureEnabled(ma,ba)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(ma,ba,va){var Ma=va!=null&&va.merge?this.featureFlags.getFlagVariants():{},El=va!=null&&va.merge?this.featureFlags.getFlagPayloads():{},wl=g$8({},Ma,ma),Sl=g$8({},El,ba),Cl={};for(var[Mc,Ef]of Object.entries(wl)){var Zf=typeof Ef=="string";Cl[Mc]={key:Mc,enabled:!!Zf||!!Ef,variant:Zf?Ef:void 0,reason:void 0,metadata:M$6(Sl?.[Mc])?void 0:{id:0,version:void 0,description:void 0,payload:Sl[Mc]}}}this.featureFlags.receivedFeatureFlags({flags:Cl})}updateEarlyAccessFeatureEnrollment(ma,ba,va){this.featureFlags.updateEarlyAccessFeatureEnrollment(ma,ba,va)}getEarlyAccessFeatures(ma,ba,va){return ba===void 0&&(ba=!1),this.featureFlags.getEarlyAccessFeatures(ma,ba,va)}on(ma,ba){return this.qr.on(ma,ba)}onFeatureFlags(ma){return this.featureFlags.onFeatureFlags(ma)}onSurveysLoaded(ma){return this.surveys.onSurveysLoaded(ma)}onSessionId(ma){var ba,va;return(ba=(va=this.sessionManager)==null?void 0:va.onSessionId(ma))!==null&&ba!==void 0?ba:()=>{}}getSurveys(ma,ba){ba===void 0&&(ba=!1),this.surveys.getSurveys(ma,ba)}getActiveMatchingSurveys(ma,ba){ba===void 0&&(ba=!1),this.surveys.getActiveMatchingSurveys(ma,ba)}renderSurvey(ma,ba){this.surveys.renderSurvey(ma,ba)}displaySurvey(ma,ba){ba===void 0&&(ba=Zn),this.surveys.displaySurvey(ma,ba)}cancelPendingSurvey(ma){this.surveys.cancelPendingSurvey(ma)}canRenderSurvey(ma){return this.surveys.canRenderSurvey(ma)}canRenderSurveyAsync(ma,ba){return ba===void 0&&(ba=!1),this.surveys.canRenderSurveyAsync(ma,ba)}identify(ma,ba,va){if(!this.__loaded||!this.persistence)return $i.uninitializedWarning("posthog.identify");if(L$6(ma)&&(ma=ma.toString(),$i.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),ma)if(["distinct_id","distinctid"].includes(ma.toLowerCase()))$i.critical('The string "'+ma+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(ma!==me$2){if(this.ps("posthog.identify")){var Ma=this.get_distinct_id();if(this.register({$user_id:ma}),!this.get_property("$device_id")){var El=Ma;this.register_once({$had_persisted_distinct_id:!0,$device_id:El},"")}ma!==Ma&&ma!==this.get_property(Bi)&&(this.unregister(Bi),this.register({distinct_id:ma}));var wl=(this.persistence.get_property(he$3)||"anonymous")==="anonymous";ma!==Ma&&wl?(this.persistence.set_property(he$3,"identified"),this.setPersonPropertiesForFlags(g$8({},va||{},ba||{}),!1),this.capture("$identify",{distinct_id:ma,$anon_distinct_id:Ma},{$set:ba||{},$set_once:va||{}}),this.Jr=fn$1(ma,ba,va),this.featureFlags.setAnonymousDistinctId(Ma)):(ba||va)&&this.setPersonProperties(ba,va),ma!==Ma&&(this.reloadFeatureFlags(),this.unregister(ue$1))}}else $i.critical('The string "'+me$2+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else $i.error("Unique user id has not been set in posthog.identify")}setPersonProperties(ma,ba){if((ma||ba)&&this.ps("posthog.setPersonProperties")){var va=fn$1(this.get_distinct_id(),ma,ba);this.Jr!==va?(this.setPersonPropertiesForFlags(g$8({},ba||{},ma||{})),this.capture("$set",{$set:ma||{},$set_once:ba||{}}),this.Jr=va):$i.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(ma,ba,va){if(ma&&ba){var Ma=this.getGroups();Ma[ma]!==ba&&this.resetGroupPropertiesForFlags(ma),this.register({$groups:g$8({},Ma,{[ma]:ba})}),va&&(this.capture("$groupidentify",{$group_type:ma,$group_key:ba,$group_set:va}),this.setGroupPropertiesForFlags({[ma]:va})),Ma[ma]===ba||va||this.reloadFeatureFlags()}else $i.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(ma,ba){ba===void 0&&(ba=!0),this.featureFlags.setPersonPropertiesForFlags(ma,ba)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(ma,ba){ba===void 0&&(ba=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(ma,ba)}resetGroupPropertiesForFlags(ma){this.featureFlags.resetGroupPropertiesForFlags(ma)}reset(ma){var ba,va,Ma,El;if($i.info("reset"),!this.__loaded)return $i.uninitializedWarning("posthog.reset");var wl=this.get_property("$device_id");if(this.consent.reset(),(ba=this.persistence)==null||ba.clear(),(va=this.sessionPersistence)==null||va.clear(),this.surveys.reset(),this.featureFlags.reset(),(Ma=this.persistence)==null||Ma.set_property(he$3,"anonymous"),(El=this.sessionManager)==null||El.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:me$2,$device_id:null},"");else{var Sl=this.config.get_device_id(br());this.register_once({distinct_id:Sl,$device_id:ma?Sl:wl},"")}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 ma,ba;return(ma=(ba=this.sessionManager)==null?void 0:ba.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&ma!==void 0?ma:""}get_session_replay_url(ma){if(!this.sessionManager)return"";var{sessionId:ba,sessionStartTimestamp:va}=this.sessionManager.checkAndGetSessionAndWindowId(!0),Ma=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+ba);if(ma!=null&&ma.withTimestamp&&va){var El,wl=(El=ma.timestampLookBack)!==null&&El!==void 0?El:10;if(!va)return Ma;Ma+="?t="+Math.max(Math.floor((new Date().getTime()-va)/1e3)-wl,0)}return Ma}alias(ma,ba){return ma===this.get_property(Hi)?($i.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(M$6(ba)&&(ba=this.get_distinct_id()),ma!==ba?(this.gs(Bi,ma),this.capture("$create_alias",{alias:ma,distinct_id:ba})):($i.warn("alias matches current distinct_id - skipping api call."),this.identify(ma),-1)):void 0}set_config(ma){var ba=g$8({},this.config);if(R$3(ma)){var va,Ma,El,wl,Sl,Cl,Mc;Ri(this.config,Bo(ma));var Ef=this.Qr();(va=this.persistence)==null||va.update_config(this.config,ba,Ef),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new Mn(g$8({},this.config,{persistence:"sessionStorage"}),Ef);var Zf=this.Kr(this.config.debug);U$4(Zf)&&(this.config.debug=Zf),U$4(this.config.debug)&&(this.config.debug?(c$e.DEBUG=!0,Pr.H()&&Pr.G("ph_debug","true"),$i.info("set_config",{config:ma,oldConfig:ba,newConfig:g$8({},this.config)})):(c$e.DEBUG=!1,Pr.H()&&Pr.V("ph_debug"))),(Ma=this.exceptionObserver)==null||Ma.onConfigChange(),(El=this.sessionRecording)==null||El.startIfEnabledOrStop(),(wl=this.autocapture)==null||wl.startIfEnabled(),(Sl=this.heatmaps)==null||Sl.startIfEnabled(),(Cl=this.exceptionObserver)==null||Cl.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(Mc=this.externalIntegrations)==null||Mc.startIfEnabledOrStop()}}startSessionRecording(ma){var ba=ma===!0,va={sampling:ba||!(ma==null||!ma.sampling),linked_flag:ba||!(ma==null||!ma.linked_flag),url_trigger:ba||!(ma==null||!ma.url_trigger),event_trigger:ba||!(ma==null||!ma.event_trigger)};if(Object.values(va).some(Boolean)){var Ma,El,wl,Sl,Cl;(Ma=this.sessionManager)==null||Ma.checkAndGetSessionAndWindowId(),va.sampling&&((El=this.sessionRecording)==null||El.overrideSampling()),va.linked_flag&&((wl=this.sessionRecording)==null||wl.overrideLinkedFlag()),va.url_trigger&&((Sl=this.sessionRecording)==null||Sl.overrideTrigger("url")),va.event_trigger&&((Cl=this.sessionRecording)==null||Cl.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var ma;return!((ma=this.sessionRecording)==null||!ma.started)}captureException(ma,ba){var va=new Error("PostHog syntheticException"),Ma=this.exceptions.buildProperties(ma,{handled:!0,syntheticException:va});return this.exceptions.sendExceptionEvent(g$8({},Ma,ba))}startExceptionAutocapture(ma){this.set_config({capture_exceptions:ma==null||ma})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(ma){return this.toolbar.loadToolbar(ma)}get_property(ma){var ba;return(ba=this.persistence)==null?void 0:ba.props[ma]}getSessionProperty(ma){var ba;return(ba=this.sessionPersistence)==null?void 0:ba.props[ma]}toString(){var ma,ba=(ma=this.config.name)!==null&&ma!==void 0?ma:Uo;return ba!==Uo&&(ba=Uo+"."+ba),ba}_isIdentified(){var ma,ba;return((ma=this.persistence)==null?void 0:ma.get_property(he$3))==="identified"||((ba=this.sessionPersistence)==null?void 0:ba.get_property(he$3))==="identified"}fs(){var ma,ba;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&F$8(this.getGroups())&&((ma=this.persistence)==null||(ma=ma.props)==null||!ma[Bi])&&((ba=this.persistence)==null||(ba=ba.props)==null||!ba[ge$3]))}ds(){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.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}ps(ma){return this.config.person_profiles==="never"?($i.error(ma+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(ge$3,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var ma=this.consent.isOptedOut(),ba=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||ma&&!!ba}_s(){var ma,ba,va,Ma,El=this.Qr();return((ma=this.persistence)==null?void 0:ma.Si)!==El&&((va=this.persistence)==null||va.set_disabled(El)),((ba=this.sessionPersistence)==null?void 0:ba.Si)!==El&&((Ma=this.sessionPersistence)==null||Ma.set_disabled(El)),El}opt_in_capturing(ma){var ba;if(this.config.cookieless_mode!=="always"){var va,Ma,El;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(va=this.sessionManager)==null||va.destroy(),(Ma=this.pageViewManager)==null||Ma.destroy(),this.sessionManager=new xo(this),this.pageViewManager=new xs(this),this.persistence&&(this.sessionPropsManager=new bo(this,this.sessionManager,this.persistence)),this.sessionRecording=new jo(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(ba=this.sessionRecording)==null||ba.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(M$6(ma?.captureEventName)||ma!=null&&ma.captureEventName)&&this.capture((El=ma?.captureEventName)!==null&&El!==void 0?El:"$opt_in",ma?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else $i.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var ma,ba,va;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:me$2,$device_id:null}),(ma=this.sessionManager)==null||ma.destroy(),(ba=this.pageViewManager)==null||ba.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(va=this.sessionRecording)==null||va.stopRecording(),this.sessionRecording=void 0,this.hs())):$i.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 ma=this.consent.consent;return ma===Mr.GRANTED?"granted":ma===Mr.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._s()}_is_bot(){return n$9?ko(n$9,this.config.custom_blocked_useragents):void 0}hs(){o$d&&(o$d.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:o$d.title},{send_instantly:!0}),this.Gr&&(o$d.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),zi(o$d,"visibilitychange",this.Gr)))}debug(ma){ma===!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 ma,ba,va,Ma,El,wl,Sl,Cl=this.Yr||{};return"advanced_disable_flags"in Cl?!!Cl.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?($i.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):(va="advanced_disable_decide",Ma=!1,El=$i,wl=(ba="advanced_disable_flags")in(ma=Cl)&&!M$6(ma[ba]),Sl=va in ma&&!M$6(ma[va]),wl?ma[ba]:Sl?(El&&El.warn("Config field '"+va+"' is deprecated. Please use '"+ba+"' instead. The old field will be removed in a future major version."),ma[va]):Ma)}cs(ma){if(j$a(this.config.before_send))return ma;var ba=I$8(this.config.before_send)?this.config.before_send:[this.config.before_send],va=ma;for(var Ma of ba){if(va=Ma(va),j$a(va)){var El="Event '"+ma.event+"' was rejected in beforeSend function";return H$9(ma.event)?$i.warn(El+". This can cause unexpected behavior."):$i.info(El),null}va.properties&&!F$8(va.properties)||$i.warn("Event '"+ma.event+"' has no properties after beforeSend function, this is likely an error.")}return va}getPageViewId(){var ma;return(ma=this.pageViewManager.Kt)==null?void 0:ma.pageViewId}captureTraceFeedback(ma,ba){this.capture("$ai_feedback",{$ai_trace_id:String(ma),$ai_feedback_text:ba})}captureTraceMetric(ma,ba,va){this.capture("$ai_metric",{$ai_trace_id:String(ma),$ai_metric_name:ba,$ai_metric_value:String(va)})}Kr(ma){var ba=U$4(ma)&&!ma,va=Pr.H()&&Pr.q("ph_debug")==="true";return!ba&&(!!va||ma)}}(function(ya,ma){for(var ba=0;ba<ma.length;ba++)ya.prototype[ma[ba]]=Ai(ya.prototype[ma[ba]])})(Wo,["identify"]);var Go,Jo=(Go=Lo[Uo]=new Wo,(function(){function ya(){ya.done||(ya.done=!0,zo=!1,Ci(Lo,(function(ma){ma._dom_loaded()})))}o$d!=null&&o$d.addEventListener?o$d.readyState==="complete"?ya():zi(o$d,"DOMContentLoaded",ya,{capture:!1}):t$9&&$i.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),Go);const IS_PLAYGROUND$6=!1,metaAxiosInstance$1=axiosInstance("meta"),useAuth=()=>{const ya=useNavigate(),ma=useAppStore(uy=>uy.resetStore),ba=useAppStore(uy=>uy.user),va=useAppStore(uy=>uy.setUser),{initializeApp:Ma,resetInitialization:El}=useAppInitialization(),[wl,Sl]=reactExports.useState(!1),[Cl,Mc]=reactExports.useState(!1),[Ef,Zf]=reactExports.useState(null),Jf=useAppStore(uy=>uy.clearAuth),dp=useAppStore(uy=>uy.setAuthState),hp=useAppStore(uy=>uy.setAuthError),dg=useAppStore(uy=>uy.setAuthData),pg=uy=>{try{const H1=uy.split(".")[1];return JSON.parse(atob(H1)).email||null}catch(H1){console.warn(`Failed to decode JWT token: ${H1}`)}},hg=async(uy,H1)=>{try{dp("loading"),hp(null);const lE=localStorage.getItem("username");if(lE&&lE!==uy){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"),ma(),Jf();const{setLastDataFetch:n0}=useAppStore.getState();n0(0)}const{data:R_}=await metaAxiosInstance$1.post("/agentlang_auth/login",{email:uy,password:H1}),V1=R_;if(V1&&typeof V1=="object"&&V1.id_token){const aE=pg(V1.id_token)||uy;dg({token:V1.id_token,accessToken:V1.access_token,refreshToken:V1.refresh_token,userId:V1.userId,sessionId:V1.sessionId,username:aE});const{setLastDataFetch:P_}=useAppStore.getState();P_(0);try{const O_=String(V1.userId||aE);Jo.identify(O_,{email:aE,sessionId:V1.sessionId,authMethod:"password"})}catch(O_){console.warn("PostHog identify failed:",O_)}}else if(typeof V1=="string"&&V1.includes("/")){if(console.log("Processing legacy login format:",V1),typeof V1.split!="function")throw console.error("loginResult.split is not a function:",{loginResult:V1,type:typeof V1}),new Error("Invalid login result format - split method not available");const[n0,aE]=V1.split("/");if(!n0||!aE)throw console.error("Invalid userId/sessionId format:",{userId:n0,sessionId:aE,loginResult:V1}),new Error("Invalid login result format - missing userId or sessionId");dg({userId:n0,sessionId:aE,username:uy});const{setLastDataFetch:P_}=useAppStore.getState();P_(0);try{const O_=String(n0||uy);Jo.identify(O_,{email:uy,sessionId:aE,authMethod:"password"})}catch(O_){console.warn("PostHog identify failed (legacy):",O_)}}else throw console.error("Login failed - invalid response format:",{loginResult:V1,type:typeof V1,isObject:typeof V1=="object",isString:typeof V1=="string",hasIdToken:V1?.id_token,includesSlash:typeof V1=="string"&&V1.includes("/")}),new Error(`Login failed due to invalid response format. Expected object with id_token or string with '/', got: ${typeof V1}`);y$b.success("Login successful");const{authData:q1}=useAppStore.getState();if(q1.userId)try{const n0=await metaAxiosInstance$1.get(`/agentlang_auth/User/${q1.userId}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile`);if(n0.data&&Array.isArray(n0.data)&&n0.data.length>0){const aE=n0.data[n0.data.length-1].UserProfile;if(aE.id){localStorage.setItem("user_profile_id",aE.id),dg({userProfileId:aE.id});try{const P_=String(q1.userId||q1.username||"unknown");Jo.group("user_profile",aE.id,{email:aE.userEmail||q1.username}),Jo.identify(P_,{email:aE.userEmail||q1.username,userProfileId:aE.id})}catch(P_){console.warn("PostHog person/group update failed:",P_)}}}}catch(n0){console.warn("Failed to fetch user profile after login:",n0)}Ma(),ya("/home")}catch(lE){console.error("Login error:",lE),y$b.error(lE?.response?.data?.reason||"Login failed"),y$b.error(lE?.response?.data?.message||lE?.message||"Login failed")}},mg=async()=>{if(!wl){Sl(!0);try{typeof window<"u"&&window.dispatchEvent(new CustomEvent("userLoggingOut")),IS_PLAYGROUND$6||await metaAxiosInstance$1.post("/agentlang_auth/logout")}catch(uy){console.warn("Logout API call failed, but clearing local data:",uy)}finally{try{Jo.reset()}catch(R_){console.warn("PostHog reset failed:",R_)}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"),ma(),El(),localStorage.removeItem("agentlang-studio-store"),localStorage.removeItem("chatbotMessages");const{setAuthData:uy,setWorkspace:H1,setUser:lE}=useAppStore.getState();uy({token:"",userId:"",sessionId:"",username:"",userProfileId:"",accessToken:"",refreshToken:""}),H1(""),lE({Email:"",CurrentWorkspace:{Id:""},Anthropic:{Key:""},OpenAI:{Key:"",FinetunedModel:""},GitHub:{Username:"",Org:"",Token:""}}),Sl(!1),ya("/")}}},gg=async(uy,H1)=>{try{const{authData:lE}=useAppStore.getState();if(!lE.token){y$b.error("Authentication token not found. Please login again.");return}await metaAxiosInstance$1.post("/agentlang_auth/changePassword",{newPassword:H1,password:uy}),y$b.success("Password changed successfully")}catch(lE){y$b.error(lE?.response?.data?.reason||"Failed to change password")}},sy=async uy=>{try{const{authData:H1}=useAppStore.getState(),{username:lE,userId:R_,userProfileId:V1}=H1;if(!R_||!V1){y$b.error("User ID not found. Please re-login.");return}await metaAxiosInstance$1.put(`/agentlang_auth/User/${R_}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile/${V1}`,{userEmail:lE,userKeys:{OpenAI:uy.OpenAI,Anthropic:uy.Anthropic,GitHub:uy.GitHub}}),va(uy),y$b.success("Profile updated successfully")}catch(H1){y$b.error(H1?.response?.data?.reason||"Failed to update profile")}},ly=reactExports.useCallback(async(uy=!1)=>{const{authData:H1}=useAppStore.getState();let{userId:lE,userProfileId:R_,username:V1}=H1;const{token:q1}=H1;if(R_||(R_=localStorage.getItem("user_profile_id")||""),lE||(lE=localStorage.getItem("user_id")||""),V1||(V1=localStorage.getItem("username")||""),!!!(lE&&V1&&q1)){console.log("Auth not ready for profile fetch:",{userId:lE,username:V1,hasToken:!!q1});return}if(!(!uy&&ba.Email&&!Cl))try{if(Mc(!0),Zf(null),!R_){const P_=await metaAxiosInstance$1.get(`/agentlang_auth/User/${lE}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile`);if(P_.data&&Array.isArray(P_.data)&&P_.data.length>0){const O_=P_.data[P_.data.length-1].UserProfile;if(O_.id){localStorage.setItem("user_profile_id",O_.id);const uN=useAppStore.getState().authData;dg({...uN,userProfileId:O_.id}),console.log("Set userProfileId in auth store:",O_.id)}let sN;try{sN=typeof O_.userKeys=="string"?JSON.parse(O_.userKeys):O_.userKeys}catch{sN={OpenAI:{Key:"",FinetunedModel:""},Anthropic:{Key:""},GitHub:{Username:"",Org:"",Token:""}}}va({Email:O_.userEmail||V1,CurrentWorkspace:{Id:""},...sN});return}console.warn("No user profiles found. User needs to complete signup process to create profile."),Zf("No user profile found. Please contact support if this persists.");return}const aE=await metaAxiosInstance$1.get(`/agentlang_auth/User/${lE}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile/${R_}`);if(!aE.data||Array.isArray(aE.data)&&aE.data.length===0){const P_=await metaAxiosInstance$1.get(`/agentlang_auth/User/${lE}/AgentMeta$UserHasUserProfile/AgentMeta$UserProfile`);if(P_.data&&Array.isArray(P_.data)&&P_.data.length>0){const O_=P_.data[P_.data.length-1].UserProfile;if(O_.id){localStorage.setItem("user_profile_id",O_.id);const uN=useAppStore.getState().authData;dg({...uN,userProfileId:O_.id}),console.log("Set userProfileId in auth store (fallback):",O_.id);try{const lN=String(uN.userId||uN.username||"unknown");Jo.group("user_profile",O_.id,{email:O_.userEmail||uN.username}),Jo.identify(lN,{email:O_.userEmail||uN.username,userProfileId:O_.id})}catch(lN){console.warn("PostHog person/group update failed (fallback):",lN)}}let sN;try{sN=typeof O_.userKeys=="string"?JSON.parse(O_.userKeys):O_.userKeys}catch{sN={OpenAI:{Key:"",FinetunedModel:""},Anthropic:{Key:""},GitHub:{Username:"",Org:"",Token:""}}}va({Email:O_.userEmail||V1,CurrentWorkspace:{Id:""},...sN});return}console.warn("No profiles found for user. User needs to complete signup process."),Zf("No user profile found. Please contact support if this persists.");return}if(aE.data&&Array.isArray(aE.data)&&aE.data.length>0){const P_=aE.data[0].UserProfile;let O_;try{O_=typeof P_.userKeys=="string"?JSON.parse(P_.userKeys):P_.userKeys}catch(uN){console.warn("Failed to parse userKeys JSON:",uN),O_={OpenAI:{Key:"",FinetunedModel:""},Anthropic:{Key:""},GitHub:{Username:"",Org:"",Token:""}}}const sN={Email:P_.userEmail||V1||"",CurrentWorkspace:ba.CurrentWorkspace||{Id:""},Anthropic:O_.Anthropic||{Key:""},OpenAI:O_.OpenAI||{Key:"",FinetunedModel:""},GitHub:O_.GitHub||{Username:"",Org:"",Token:""}};va(sN)}else throw new Error("Unexpected response format")}catch(aE){console.error("useAuth: Failed to fetch user profile:",aE),Zf(aE?.response?.data?.reason||aE?.message||"Failed to fetch user profile")}finally{Mc(!1)}},[ba.CurrentWorkspace,ba.Email,Cl,va,dg]),cy=useAppStore(uy=>uy.authReady);return reactExports.useEffect(()=>{cy&&ly()},[cy,ly]),{login:hg,logoutHandler:mg,changePassword:gg,setUserProfile:sy,isLoggingOut:wl,fetchUserProfile:ly,profileLoading:Cl,profileError:Ef,userProfile:ba}},IS_PLAYGROUND$5=!1,metaAxiosInstance=axiosInstance("meta"),useSignUp=()=>{const ya=useNavigate(),[ma,ba]=reactExports.useState(!1),va=useAppStore(Sl=>Sl.setAuthData),Ma=useAppStore(Sl=>Sl.setUser),{initializeApp:El}=useAppInitialization();return{signUp:reactExports.useCallback(async Sl=>{if(ma)return{success:!1,error:"Sign up already in progress"};ba(!0);try{console.log("Registering new user:",Sl.email);const Cl=await metaAxiosInstance.post("/agentlang_auth/register",{email:Sl.email,password:Sl.password,firstName:Sl.firstName,lastName:Sl.lastName});if(!Cl.data)throw new Error("Registration failed - no response received");const{userId:Mc,email:Ef}=Cl.data;if(!Mc)throw new Error("Registration failed - no userId received");console.log("Creating user profile and workspace...");const Zf=await metaAxiosInstance.post("/AgentMeta/PostSignUp",{userId:Mc,userEmail:Ef||Sl.email,userKeys:{OpenAI:{Key:"",FinetunedModel:""},Anthropic:{Key:""},GitHub:{Username:"",Org:"",Token:""}}});if(!Zf.data||!Array.isArray(Zf.data)||Zf.data.length===0)throw new Error("Failed to create user profile and workspace");const Jf=Zf.data[0];let dp=null,hp=null;if(Jf?.User?.["AgentMeta/UserHasUserProfile"]?.[0]?.UserProfile){const hg=Jf.User["AgentMeta/UserHasUserProfile"][0].UserProfile;dp=hg.id,hg["AgentMeta/UserWorkspace"]?.[0]?.Workspace&&(hp=hg["AgentMeta/UserWorkspace"][0].Workspace.id)}if(!dp)throw new Error("Failed to create user profile");console.log("User profile and workspace created successfully:",{userProfileId:dp,workspaceId:hp}),console.log("Performing automatic login...");const pg=(await metaAxiosInstance.post("/agentlang_auth/login",{email:Sl.email,password:Sl.password})).data;return pg&&typeof pg=="object"&&pg.id_token?(va({token:pg.id_token,accessToken:pg.access_token,refreshToken:pg.refresh_token,userId:pg.userId||Mc,sessionId:pg.sessionId,username:Sl.email,userProfileId:dp}),localStorage.setItem("user_profile_id",dp),hp&&localStorage.setItem("workspace_id",hp),Ma({Email:Sl.email,user_profile_id:dp,CurrentWorkspace:{Id:hp||""},Anthropic:{Key:""},OpenAI:{Key:"",FinetunedModel:""},GitHub:{Username:"",Org:"",Token:""}}),y$b.success("Account created successfully! Welcome!"),IS_PLAYGROUND$5||await El(),ya("/home"),{success:!0,message:"Account created and logged in successfully"}):(y$b.success("Account created successfully! Please login with your credentials."),ya("/"),{success:!0,message:"Account created successfully. Please login."})}catch(Cl){console.error("Sign up failed:",Cl);const Mc=Cl?.response?.data?.reason||Cl?.response?.data?.message||Cl?.message||"Sign up failed. Please try again.";return y$b.error(Mc),{success:!1,error:Mc}}finally{ba(!1)}},[ya,va,Ma,El,ma]),isSigningUp:ma}},getEntities=ya=>{if(!ya)return[];try{return fetchModule$2(ya).getEntityNames()}catch(ma){return console.error("Error fetching module:",ma),[]}},getRecords=ya=>{if(!ya)return[];try{return fetchModule$2(ya).getRecordNames()}catch(ma){return console.error("Error fetching records:",ma),[]}},getEvents=ya=>{if(!ya)return[];try{const ma=fetchModule$2(ya);return ma.getEventNames().filter(va=>!ma.isPrePostEvent(va))}catch(ma){return console.error("Error fetching events:",ma),[]}},getAgents=ya=>{if(!ya)return[];try{return fetchModule$2(ya).getAgentNames()}catch(ma){return console.error("Error fetching agents:",ma),[]}},getDecisions=ya=>{if(!ya)return[];try{return fetchModule$2(ya).getAllDecisions().map(va=>va.name)}catch(ma){return console.error("Error fetching decisions:",ma),[]}},getRelationships=ya=>{if(!ya)return[];try{return fetchModule$2(ya).getRelationshipNames()}catch(ma){return console.error("Error fetching relationships:",ma),[]}},isAgent=(ya,ma)=>!!fetchModule$2(ya).getAgent(ma),isEvent=(ya,ma)=>fetchModule$2(ya).getEventNames().includes(ma),isRecord=(ya,ma)=>fetchModule$2(ya).getRecordNames().includes(ma),isEntity=(ya,ma)=>fetchModule$2(ya).getEntityNames().includes(ma),isRelationship=(ya,ma)=>fetchModule$2(ya).getRelationshipNames().includes(ma),getAgent=(ya,ma)=>fetchModule$2(ya).getAgent(ma),useEntity=()=>{const{zoomHandler:ya}=useZoomHandler(),ma=useMatches(),{id:ba}=ma[ma.length-1]||{},{teamName:va,moduleName:Ma}=useParams(),El=useAppStore(ly=>ly.user),{incrementModuleDbChangeCount:wl}=useAppStore(),Sl=El.GitHub.Token,Cl=El.GitHub.Username,Mc=Wn$1(),{saveUISpec:Ef}=useSaveUISpec(),Zf=async ly=>{if(!va)throw new Error("teamName is undefined");if(!Ma)throw new Error("moduleName is undefined");addEntity(ly,Ma);const cy=fetchModule$2(Ma).toString();if(saveModuleToGit(va,Ma,cy,`Add entity ${ly}`,Cl,Sl),wl(),Mc&&Ef)try{const uy=`${Ma}/${ly}`,H1=repopulateUISchemaForNewEntity(Mc,uy);Ef(H1,`Update UI schema for new entity ${ly}`)}catch(uy){console.error("[useEntity] Failed to repopulate UI schema for new entity:",uy)}setTimeout(()=>{ya(`${Ma}/${ly}`)},100)},Jf=async ly=>{if(!va)throw new Error("teamName is undefined");if(!Ma)throw new Error("moduleName is undefined");addRecord$1(ly,Ma);const cy=fetchModule$2(Ma).toString();saveModuleToGit(va,Ma,cy,`Add record ${ly}`,Cl,Sl),wl(),setTimeout(()=>{ya(`${Ma}/${ly}`)},100)},dp=async ly=>{if(!va)throw new Error("teamName is undefined");if(!Ma)throw new Error("moduleName is undefined");addEvent(ly,Ma),addWorkflow(ly,Ma);const cy=fetchModule$2(Ma).toString();saveModuleToGit(va,Ma,cy,`Add event ${ly}`,Cl,Sl),wl(),setTimeout(()=>{ya(ly)},200)},hp=(ly,cy)=>{let uy;isFqName$1(cy)?uy=nameToPath$1(cy).getEntryName():uy=cy;const H1=uy.replace(/--workflow$/,"");if(isEvent(Ma||"",H1))removeEvent(uy,Ma||"");else{if(!isEvent(Ma||"",H1)&&!isRelationship(Ma||"",H1)){const lE=isFqName$1(cy)?cy:`${Ma}/${H1}`;getRelationships(Ma||"").forEach(V1=>{try{const q1=getRelationship$1(V1,Ma||"");if(q1){const n0=q1.getParentFqName(),aE=q1.getChildFqName();(n0===lE||aE===lE)&&ly.removeEntry(V1)}}catch(q1){console.warn(`Failed to check relationship ${V1} for entity ${lE}:`,q1)}})}ly.removeEntry(uy)}};return{addEntity:Zf,addRecord:Jf,addEvent:dp,deleteHandler:async ly=>{if(!va)throw new Error("teamName is undefined");if(!Ma)throw new Error("moduleName is undefined");const cy=fetchModule$2(Ma||"");ly.forEach(lE=>{hp(cy,lE)});const uy=cy.toString(),H1=`Delete entries ${ly.join(", ")}`;if(saveModuleToGit(va,Ma,uy,H1,Cl,Sl),wl(),setTimeout(()=>{const lE=getEntities(Ma),R_=getRecords(Ma),V1=getEvents(Ma),q1=getAgents(Ma);if(ba==="data-model"||ba==="marketplace-data-model"){if(lE.length>0){ya(`${Ma}/${lE[0]}`);return}if(R_.length>0){ya(`${Ma}/${R_[0]}`);return}}if(ba==="agents"&&q1.length>0){ya(q1[0]);return}if(ba==="workflow"&&V1.length>0){ya(V1[0]);return}},200),Mc&&Ef&&Ma)try{let lE=Mc;const R_=[],V1=[];if(ly.forEach(q1=>{let n0;isFqName$1(q1)?n0=nameToPath$1(q1).getEntryName():n0=q1;const aE=n0.replace(/--workflow$/,"");if(isRelationship(Ma,aE))R_.push(aE);else if(!isEvent(Ma,aE)){const P_=isFqName$1(q1)?q1:`${Ma}/${n0}`;V1.push(P_)}}),R_.length>0&&(lE=repopulateUISchemaAfterRelationshipDeletion(lE,R_[0],Ma)),V1.length>0&&V1.forEach(q1=>{lE=repopulateUISchemaAfterEntityDeletion(lE,q1)}),R_.length>0||V1.length>0){const q1=[...R_.length>0?[`relationships: ${R_.join(", ")}`]:[],...V1.length>0?[`entities: ${V1.join(", ")}`]:[]];Ef(lE,`Update UI schema after deleting ${q1.join(" and ")}`)}}catch(lE){console.error("[useEntity] Failed to repopulate UI schema after entry deletion:",lE)}},addAttribute:async(ly,cy,uy,H1,lE="type",R_=[],V1="",q1)=>{if(!Ma)throw new Error("moduleName is undefined");if(!va)throw new Error("teamName is undefined");const n0=fetchModule$2(Ma),aE=n0.getEntry(ly),P_=lE==="Entity"||lE==="Record",O_=lE==="@oneof",sN=lE==="@enum";let uN;if(sN&&R_.length>0)uN=enumAttributeSpec(new Set(R_)),V1&&(uN=setDefaultAttributeValue(uN,V1));else if(O_){if(!q1)throw new Error("Compound type info is required for Entity or Record types");const lN=`${q1.module}/${q1.entity}`;uN=oneOfAttributeSpec(lN)}else if(P_){if(!q1)throw new Error("Compound type info is required for Entity or Record types");uN={type:`${q1.module}/${q1.entity}`,properties:new Map},H1.forEach(lN=>{uN.properties?.set(lN,!0)})}else uN={type:uy,properties:new Map},H1.forEach(lN=>{uN.properties?.set(lN,!0)}),V1&&(uN=setDefaultAttributeValue(uN,V1));if(aE.addAttribute(cy,uN),saveModuleToGit(va,Ma,n0.toString(),`Add attribute ${cy} to ${ly}`,Cl,Sl),wl(),Mc&&Ef)try{const lN=`${Ma}/${ly}`,_F=repopulateUISchemaForNewAttribute(Mc,lN,cy);Ef(_F,`Update UI schema for new attribute ${cy} in ${ly}`)}catch(lN){console.error(" Failed to repopulate UI schema for new attribute:",lN)}},deleteAttributes:async(ly,cy)=>{if(!Ma)throw new Error("moduleName is undefined");if(!va)throw new Error("teamName is undefined");const uy=isFqName$1(ly)?nameToPath$1(ly).getEntryName():ly,H1=fetchModule$2(Ma),lE=H1.getEntry(uy);if(cy.forEach(R_=>{lE.removeAttribute(R_)}),wl(),saveModuleToGit(va,Ma,H1.toString(),`Delete attributes ${cy.join(", ")} from ${ly}`,Cl,Sl),Mc&&Ef)try{const R_=isFqName$1(ly)?ly:`${Ma}/${uy}`,V1=repopulateUISchemaAfterAttributeDeletion(Mc,R_,cy);Ef(V1,`Update UI schema after deleting attributes ${cy.join(", ")} from ${ly}`)}catch(R_){console.error("[useEntity] Failed to repopulate UI schema after attribute deletion:",R_)}},reorderAttributes:async(ly,cy)=>{if(!Ma)throw new Error("moduleName is undefined");if(!va)throw new Error("teamName is undefined");const uy=isFqName$1(ly)?nameToPath$1(ly).getEntryName():ly,H1=fetchModule$2(Ma);H1.getEntry(uy).reorderAttributes(cy),wl(),await saveModuleToGit(va,Ma,H1.toString(),`Reorder attributes in ${ly}`,Cl,Sl)},setEventPublic:async(ly,cy)=>{if(!va)throw new Error("teamName is undefined");if(!Ma)throw new Error("moduleName is undefined");const uy=isFqName$1(ly)?nameToPath$1(ly).getEntryName():ly,H1=fetchModule$2(Ma);getEvent$1(uy,Ma).setPublic(cy);const R_=H1.toString();wl(),await saveModuleToGit(va,Ma,R_,`Set Public status for Event ${ly}`,Cl,Sl)},getEventPublic:ly=>{if(!Ma)throw new Error("moduleName is undefined");const cy=isFqName$1(ly)?nameToPath$1(ly).getEntryName():ly;return getEvent$1(cy,Ma).isPublic()}}},useEntityDetailsChange=ya=>{const ma=Wn$1();return{onEntityDetailsChange:(va,Ma)=>{if(ya&&ma){const El={...ma,[va]:{...ma?.[va]||{},...Ma}};ya(El,`Update ${va} entity details`)}}}},useModule=()=>{const{incrementModuleDbChangeCount:ya}=useAppStore(),ma=useNavigate(),{pathname:ba}=useLocation(),va=ba.split("/"),Ma=getUserModuleNames(),{teamName:El}=useParams(),wl=useAppStore(dp=>dp.user),Sl=wl.GitHub.Token,Cl=wl.GitHub.Username,Mc=dp=>{ma([...va.slice(0,-1),dp].join("/"))};return{navigateModule:Mc,addModuleHandler:dp=>{addModule$1(dp),saveModuleToGit(El||"local-user",dp,fetchModule$2(dp).toString(),`Add module ${dp} to ${El||"local-user"}`,Cl,Sl),ya(),Mc(dp)},deleteModuleHandler:dp=>{if(Ma.length===1){y$b.error("Cannot delete the last module");return}removeModule(dp),saveModuleToGit(El||"local-user",dp,fetchModule$2(dp).toString(),`Delete module ${dp} from ${El||"local-user"}`,Cl,Sl);const hp=Ma.filter(dg=>dp!==dg);Mc(hp.length>0?hp[hp.length-1]:""),ya()},getModuleCode:dp=>{try{return isModule$1(dp)?fetchModule$2(dp).toString():""}catch(hp){return console.error(hp),""}}}},useOutsideClickHandler=ya=>{const ma=reactExports.useRef(null);return reactExports.useEffect(()=>{const ba=va=>{const Ma=va.target,El=Ma.closest('[role="option"]')||Ma.closest(".dropdown-options")||Ma.closest("[data-headlessui-state]")||Ma.closest("[data-radix-dropdown-menu-content]")||Ma.closest("[data-radix-dropdown-menu-sub-content]")||Ma.closest("[data-query-attribute-menu]")||Ma.closest("[data-radix-portal]")||Ma.closest("[data-radix-popper-content-wrapper]")||Ma.closest(".action-item"),wl=Ma.closest(".chatbot-fab-button"),Sl=Ma.closest(".canvas-node")||Ma.closest(".react-flow__node")||Ma.closest(".react-flow__edge")||Ma.closest("#canvas-area")||Ma.closest(".react-flow");ma.current&&!ma.current.contains(Ma)&&!El&&!wl&&!Sl&&ya()};return document.addEventListener("click",ba,!0),()=>{document.removeEventListener("click",ba,!0)}},[ya]),ma},useRelationship$1=()=>{const{incrementModuleDbChangeCount:ya}=useAppStore(),{teamName:ma,moduleName:ba}=useParams(),va=useAppStore(dp=>dp.user),Ma=va.GitHub.Token,El=va.GitHub.Username,wl=Wn$1(),{saveUISpec:Sl}=useSaveUISpec();return{addRelationship:async(dp,hp,dg,pg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const hg=new Path$1(hp.module,hp.entity),mg=new Path$1(dg.module,dg.entity),gg={path:hg,alias:hp.entity,origName:hg.asFqName(),origAlias:hp.entity},sy={path:mg,alias:dg.entity,origName:mg.asFqName(),origAlias:dg.entity};pg==="contains"&&addContainsRelationship(dp,ba,[gg,sy]),pg==="between"&&addBetweenRelationship(dp,ba,[gg,sy]);const cy=fetchModule$2(ba).toString();if(saveModuleToGit(ma,ba,cy,`Add ${pg} relationship ${dp} between ${hp.entity} and ${dg.entity}`,El,Ma),ya(),wl&&Sl&&ba)try{const uy=repopulateUISchemaForNewRelationship(wl,ba);Sl(uy,`Update UI schema for new relationship ${dp}`)}catch(uy){console.error("[useRelationship] Failed to repopulate UI schema for new relationship:",uy)}},setOneToOne:dp=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");getRelationship$1(dp,ba).setOneToOne(!0);const dg=fetchModule$2(ba).toString();if(console.log("moduleData",dg),ya(),saveModuleToGit(ma,ba,dg,`Set ${dp} to One-to-One relationship`,El,Ma),wl&&Sl&&ba)try{const pg=repopulateUISchemaForNewRelationship(wl,ba);Sl(pg,`Update UI schema for relationship ${dp} change`)}catch(pg){console.error("[useRelationship] Failed to repopulate UI schema for relationship change:",pg)}},setOneToMany:dp=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");getRelationship$1(dp,ba).setOneToMany(!0);const dg=fetchModule$2(ba).toString();if(ya(),saveModuleToGit(ma,ba,dg,`Set ${dp} to One-to-Many relationship`,El,Ma),wl&&Sl&&ba)try{const pg=repopulateUISchemaForNewRelationship(wl,ba);Sl(pg,`Update UI schema for relationship ${dp} change`)}catch(pg){console.error("[useRelationship] Failed to repopulate UI schema for relationship change:",pg)}},setManyToMany:dp=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");getRelationship$1(dp,ba).setManyToMany(!0);const dg=fetchModule$2(ba).toString();if(ya(),saveModuleToGit(ma,ba,dg,`Set ${dp} to Many-to-Many relationship`,El,Ma),wl&&Sl&&ba)try{const pg=repopulateUISchemaForNewRelationship(wl,ba);Sl(pg,`Update UI schema for relationship ${dp} change`)}catch(pg){console.error("[useRelationship] Failed to repopulate UI schema for relationship change:",pg)}},getRelationshipType:dp=>{if(!ba)return null;try{const hp=getRelationship$1(dp,ba);return hp.isOneToOne()?"one-to-one":hp.isOneToMany()?"one-to-many":hp.isManyToMany()?"many-to-many":"contains"}catch(hp){return console.error("Error getting relationship type:",hp),null}}}},useRouteDataFetching=({routePattern:ya,fetchFunction:ma,requiresAuth:ba=!0,dependencies:va=[]})=>{const Ma=useLocation(),El=reactExports.useRef(new Set),wl=reactExports.useRef(null),Sl=useAppStore(pg=>pg.authData),{token:Cl,userId:Mc,userProfileId:Ef,username:Zf}=Sl,Jf=Mc,dp=Ma.pathname.includes(ya),hp=reactExports.useCallback(pg=>`${ya}-${pg}`,[ya]),dg=reactExports.useCallback(async(pg,hg,mg=!1)=>{const gg=hp(pg);try{await ma(pg,hg,mg),El.current.add(gg)}catch(sy){console.error(`useRouteDataFetching: Failed to fetch data for route ${ya}:`,sy)}},[ma,hp,ya]);return reactExports.useEffect(()=>{if(!dp)return;if(wl.current!==Jf&&(El.current.clear(),wl.current=Jf),ba&&!Cl){console.log(`useRouteDataFetching: Authentication required for route ${ya}, but no token found`);return}if(!Jf||!Zf||ba&&!Ef){console.log(`useRouteDataFetching: Missing required data for route ${ya}`,{hasWorkspaceId:!!Jf,hasUsername:!!Zf,hasUserProfileId:!!Ef,hasAuthToken:!!Cl});return}const pg=hp(Jf);if(El.current.has(pg)){console.log(`useRouteDataFetching: Data already fetched for route ${ya} and workspace ${Jf}`);return}dg(Jf,Zf)},[dp,Jf,Zf,Ef,Cl,ba,dg,hp,ya,...va]),{refetch:reactExports.useCallback((pg=!1)=>{if(Jf&&Zf&&(!ba||Ef&&Cl)){const hg=hp(Jf);El.current.delete(hg),dg(Jf,Zf,pg)}},[Jf,Zf,Ef,Cl,ba,dg,hp,ya]),clearCache:reactExports.useCallback(()=>{El.current.clear()},[]),isMatchingRoute:dp,hasRequiredData:!!(Jf&&Zf&&(!ba||Ef&&Cl))}},useStore=()=>{const{moduleName:ya}=useParams(),ma=getModuleNames().filter(El=>El!=="agentlang"),{currentTeam:ba}=useTeams();if(!ya)throw new Error("Module name is undefined");let va;try{va=fetchModule$2(ya)}catch(El){console.error(El)}const Ma=va?va.getEntityNames():[];return{modules:ma,currentModule:va,entities:Ma,currentTeam:ba}},useRbac=()=>{const{teamName:ya,moduleName:ma}=useParams(),ba=useAppStore(lN=>lN.setSelectedRole),va=useAppStore(lN=>lN.setAppConfig),Ma=useAppStore(lN=>lN.appConfig),El=useAppStore(lN=>lN.user),wl=El.GitHub.Token,Sl=El.GitHub.Username,{incrementModuleDbChangeCount:Cl}=useAppStore(),Mc=()=>{if(!ya)throw new Error("Team name is required to save RBAC roles");if(!ma)throw new Error("Module name is required for RBAC operations")},Ef=lN=>{if(!ma)throw new Error("Module name is required for RBAC operations");const _F=getEntity$1(lN,ma);if(!_F)throw new Error(`Entity instance for "${lN}" in module "${ma}" is undefined.`);return _F},Zf=lN=>{if(!ma||!ya)throw new Error("Module name and team name are required for RBAC operations");const eee=fetchModule$2(ma).toString();Cl(),saveModuleToGit(ya,ma,eee,lN,Sl,wl)},Jf=(lN,_F,eee,JY="Toggle")=>{try{Mc();for(const _Q of lN){const Cpe=Ef(_Q),Tpe=Cpe.getRbacSpecifications()||[],opt=eee([...Tpe],_F);Cpe.setRbacSpecifications(opt)}const _pe=`${JY} all RBAC permissions for role: ${_F}`;Zf(_pe)}catch(_pe){throw console.error("Error toggling all RBAC permissions:",_pe),_pe}},dp=(lN,_F,eee,JY,_pe="Toggle")=>{try{Mc();for(const Cpe of lN){const Tpe=Ef(Cpe),opt=Tpe.getRbacSpecifications()||[],Kpt=eee([...opt],_F,JY);Tpe.setRbacSpecifications(Kpt)}const _Q=`${_pe} ${JY} RBAC permission for role: ${_F}`;Zf(_Q)}catch(_Q){throw console.error(`Error toggling ${JY} RBAC permission:`,_Q),_Q}},hp=(lN,_F,eee,JY="Toggle")=>{try{Mc();const _pe=Ef(lN),_Q=_pe.getRbacSpecifications()||[],Cpe=eee([..._Q],_F);_pe.setRbacSpecifications(Cpe);const Tpe=`${JY} all RBAC permissions for role: ${_F} on entity: ${lN}`;Zf(Tpe)}catch(_pe){throw console.error("Error toggling all RBAC permissions for entity:",_pe),_pe}},dg=(lN,_F,eee,JY,_pe="Toggle")=>{try{Mc();const _Q=Ef(lN),Cpe=_Q.getRbacSpecifications()||[],Tpe=eee([...Cpe],_F,JY);_Q.setRbacSpecifications(Tpe);const opt=`${_pe} ${JY} RBAC permission for role: ${_F} on entity: ${lN}`;Zf(opt)}catch(_Q){throw console.error(`Error toggling ${JY} RBAC permission for entity:`,_Q),_Q}},pg=(lN,_F="Save RBAC roles")=>{Mc();const eee={...Ma,rbac:{roles:lN}};if(va(eee),!ya)throw new Error("Team name is required to save RBAC roles");saveConfigToGit(ya,JSON.stringify(eee,null,2),_F,Sl,wl)},hg=lN=>{const _F=Ma?.rbac?.roles||[];pg([..._F,lN],"Add RBAC role"),ba(lN)},mg=lN=>{const eee=(Ma?.rbac?.roles||[]).filter(JY=>JY!==lN);pg(eee,"Delete RBAC role"),ba(eee.at(-1)||"")},gg=(lN,_F)=>{const eee=lN.find(JY=>JY.roles.has(_F));if(eee){if(eee.hasCreatePermission()&&eee.hasReadPermission()&&eee.hasUpdatePermission()&&eee.hasDeletePermission())return lN.filter(_pe=>_pe!==eee);eee.setPermissions(["create","read","update","delete"])}else{const JY=new RbacSpecification;JY.setRoles([_F]),JY.setPermissions(["create","read","update","delete"]),lN.push(JY)}return lN},sy=(lN,_F,eee)=>{const JY=lN.find(_pe=>_pe.roles.has(_F));if(JY)if((()=>{switch(eee){case"create":return JY.hasCreatePermission();case"read":return JY.hasReadPermission();case"update":return JY.hasUpdatePermission();case"delete":return JY.hasDeletePermission()}})()){const Tpe=Array.from(JY.permissions).map(opt=>RbacPermissionFlag$1[opt].toLowerCase()).filter(opt=>opt!==eee);if(Tpe.length===0)return lN.filter(opt=>opt!==JY);JY.setPermissions(Tpe)}else{const _Q=Array.from(JY.permissions).map(Cpe=>RbacPermissionFlag$1[Cpe].toLowerCase());_Q.push(eee),JY.setPermissions(_Q)}else{const _pe=new RbacSpecification;_pe.setRoles([_F]),_pe.setPermissions([eee]),lN.push(_pe)}return lN};return{saveRbacRoles:pg,addRole:hg,deleteRole:mg,allHandler:lN=>{if(!ma)return;const _F=getEntities(ma);Jf(_F,lN,gg)},createHandler:lN=>{if(!ma)return;const _F=getEntities(ma);dp(_F,lN,sy,"create")},readHandler:lN=>{if(!ma)return;const _F=getEntities(ma);dp(_F,lN,sy,"read")},updateHandler:lN=>{if(!ma)return;const _F=getEntities(ma);dp(_F,lN,sy,"update")},deleteHandler:lN=>{if(!ma)return;const _F=getEntities(ma);dp(_F,lN,sy,"delete")},entityAllHandler:(lN,_F)=>{hp(lN,_F,gg)},entityCreateHandler:(lN,_F)=>{dg(lN,_F,sy,"create")},entityReadHandler:(lN,_F)=>{dg(lN,_F,sy,"read")},entityUpdateHandler:(lN,_F)=>{dg(lN,_F,sy,"update")},entityDeleteHandler:(lN,_F)=>{dg(lN,_F,sy,"delete")},addExpression:(lN,_F,eee)=>{try{Mc();const JY=Ef(lN),_pe=JY.getRbacSpecifications()||[],_Q=_pe.find(Tpe=>Tpe.expression),Cpe=Object.entries(eee).filter(([Tpe,opt])=>opt).map(([Tpe])=>Tpe);if(_Q)_Q.setPermissions(Cpe),_Q.setExpression("auth.user",`this.${_F}`);else{const Tpe=new RbacSpecification;Tpe.setPermissions(Cpe),Tpe.setExpression("auth.user",`this.${_F}`),_pe.push(Tpe)}JY.setRbacSpecifications(_pe),Zf(`Add RBAC expression for entity: ${lN}`)}catch(JY){throw console.error("Error setting expression for entity:",JY),JY}},removeExpression:lN=>{try{Mc();const _F=Ef(lN),JY=(_F.getRbacSpecifications()||[]).filter(_pe=>!_pe.expression);_F.setRbacSpecifications(JY),Zf(`Remove RBAC expression for entity: ${lN}`)}catch(_F){throw console.error("Error removing expression for entity:",_F),_F}},getRoleRbacSpec:(lN,_F)=>(Mc(),(Ef(lN).getRbacSpecifications()||[]).find(_Q=>_Q.roles.has(_F))),getRBACExpression:lN=>(Mc(),(Ef(lN).getRbacSpecifications()||[]).find(_pe=>_pe.expression))}},useWorkflow=ya=>{const{teamName:ma,moduleName:ba}=useParams(),va=useAppStore(hp=>hp.user),Ma=va.GitHub.Token,El=va.GitHub.Username,{incrementModuleDbChangeCount:wl}=useAppStore();return{onCreateCrudStatement:async(hp,dg,pg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const hg=fetchModule$2(ba||""),mg=hg.getWorkflowForEvent(ya);let gg;if(dg==="create"?gg=newCreatePattern(hp):dg==="read"?gg=newQueryPattern(hp):dg==="delete"?gg=newDeletePattern(hp):dg==="update"&&(gg=newQueryUpdatePattern(hp)),dg==="loop"?gg=new ForEachPattern$1:dg==="if-else"&&(gg=new IfPattern$1().setElse()),gg&&mg)await mg.setStatementAt(gg.toString(),pg).then(async()=>{wl(),saveModuleToGit(ma,ba,hg.toString(),`Add ${dg} pattern for ${ya}`,El,Ma)});else throw new Error(`Unknown type: ${dg}`)},onDeleteStatementHandler:async hp=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const dg=fetchModule$2(ba||"");dg.getWorkflowForEvent(ya)?.removeStatementAt(hp),wl(),saveModuleToGit(ma,ba,dg.toString(),`Delete pattern for ${ya} at index ${hp}`,El,Ma)},updateStatementHandler:async(hp,dg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const pg=fetchModule$2(ba||"");await pg.getWorkflowForEvent(ya)?.setStatementAt(dg,hp).then(async()=>{wl(),saveModuleToGit(ma,ba,pg.toString(),`Update pattern for ${ya} at index ${hp}`,El,Ma)})},onCreateFunctionCall:async(hp,dg,pg=[])=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const hg=fetchModule$2(ba||""),mg=hg.getWorkflowForEvent(ya),gg=pg.map(ly=>new ExpressionPattern$1(ly.trim())),sy=new FunctionCallPattern$1(dg,gg);if(mg)await mg.setStatementAt(sy.toString(),hp).then(async()=>{wl(),saveModuleToGit(ma,ba,hg.toString(),`Add function call pattern for ${ya}`,El,Ma)});else throw new Error(`Workflow not found for event: ${ya}`)},onCreateExpression:async(hp,dg,pg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const hg=fetchModule$2(ba||""),mg=hg.getWorkflowForEvent(ya),gg=new ExpressionPattern$1(dg);pg&&gg.setAlias(pg),await mg?.setStatementAt(gg.toString(),hp).then(async()=>{wl(),saveModuleToGit(ma,ba,hg.toString(),`Add expression pattern for ${ya}`,El,Ma)})},onCreateLiteralPattern:async(hp,dg,pg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const hg=fetchModule$2(ba||""),mg=hg.getWorkflowForEvent(ya),gg=new LiteralPattern$1(LiteralPatternType$1.REFERENCE,dg);pg&&gg.setAlias(pg),await mg?.setStatementAt(gg.toString(),hp).then(async()=>{wl(),saveModuleToGit(ma,ba,hg.toString(),`Add literal pattern for ${ya}`,El,Ma)})},addTrigger:(hp,dg,pg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");if(pg==="after")if(dg==="create")addAfterCreateWorkflow(hp,ba);else if(dg==="delete")addAfterDeleteWorkflow(hp,ba);else if(dg==="update")addAfterUpdateWorkflow(hp,ba);else throw new Error("Invalid trigger type");else if(pg==="before")if(dg==="create")addBeforeCreateWorkflow(hp);else if(dg==="delete")addBeforeDeleteWorkflow(hp);else if(dg==="update")addBeforeUpdateWorkflow(hp,ba);else throw new Error("Invalid trigger type");else throw new Error("Invalid trigger time");const hg=fetchModule$2(ba||"");wl(),saveModuleToGit(ma,ba,hg.toString(),`Add ${pg} ${dg} trigger for ${hp}`,El,Ma)}}},IS_LOCAL_MODE$3=!0,useAppConfig=()=>{const{teamName:ya}=useParams(),ma=useAppStore(Sl=>Sl.appConfig),ba=useAppStore(Sl=>Sl.setAppConfig),va=useAppStore(Sl=>Sl.user),Ma=va.GitHub.Token,El=va.GitHub.Username;return{saveAppConfig:async Sl=>{if(!ya)throw new Error("Team name is required to save app integrations");let Cl={};try{let Zf;if(IS_LOCAL_MODE$3){const dp=await fetch(`http://localhost:4000/file?path=${encodeURIComponent("config.al")}`);if(dp.ok){const{content:hp}=await dp.json();Zf=hp}else Zf=""}Zf&&Zf.trim()&&(Cl=parseAppConfig(Zf))}catch(Zf){console.warn("Failed to read current config.al, using appConfig state:",Zf),Cl=ma}const Mc={...Cl,...ma,...Sl};ba(Mc);const Ef=formatAppConfig(Mc);await saveConfigToGit(ya,Ef,"Save App Configuration",El,Ma)}}},useFlow=()=>{const{zoomHandler:ya}=useZoomHandler(),{teamName:ma,moduleName:ba}=useParams(),va=useAppStore(dg=>dg.user),{incrementModuleDbChangeCount:Ma,setSelectedDecisionId:El}=useAppStore(),wl=va.GitHub.Token,Sl=va.GitHub.Username;return{addFlow:dg=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const pg=fetchModule$2(ba);pg.addFlow(dg);const hg=pg.toString();saveModuleToGit(ma,ba,hg,`Add flow ${dg}`,Sl,wl),Ma(),setTimeout(()=>{ya(dg)},100)},removeFlow:(dg,pg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const hg=fetchModule$2(ba);hg.removeFlow(dg);const mg=hg.toString();saveModuleToGit(ma,ba,mg,`Remove flow ${dg}`,Sl,wl),Ma(),pg&&setTimeout(()=>{ya(pg)},100)},updateFlow:(dg,pg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const hg=fetchModule$2(ba);hg.removeFlow(dg),hg.addFlow(dg);const mg=hg.getFlow(dg);if(!mg)throw new Error("Flow could not be recreated");pg.forEach(sy=>{const ly=new FlowStepPattern$1(sy.source,sy.target,sy.label);mg.appendStep(ly.toString())});const gg=hg.toString();saveModuleToGit(ma,ba,gg,`Update flow ${dg}`,Sl,wl)},addDecision:dg=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const pg=fetchModule$2(ba);if(pg.getDecision(dg))return;const mg=new Decision$1(dg,pg.name,[]);pg.addDecision(mg);const gg=pg.toString();saveModuleToGit(ma,ba,gg,`Add decision ${dg}`,Sl,wl),Ma(),setTimeout(()=>{El(dg),ya(`decision-node-${dg}`,{openForm:!0})},200)},removeDecision:dg=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const pg=fetchModule$2(ba);if(!pg.getDecision(dg))return;pg.removeDecision(dg);const mg=pg.toString();saveModuleToGit(ma,ba,mg,`Remove decision ${dg}`,Sl,wl)},updateDecision:(dg,pg)=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");const hg=fetchModule$2(ba);if(!hg.getDecision(dg))return;hg.removeDecision(dg);const gg=new Decision$1(dg,hg.name,pg);hg.addDecision(gg);const sy=hg.toString();saveModuleToGit(ma,ba,sy,`Update decision ${dg}`,Sl,wl)},getDecision:dg=>{if(!ma)throw new Error("teamName is undefined");if(!ba)throw new Error("moduleName is undefined");return fetchModule$2(ba).getDecision(dg)}}},useMobile=()=>{const[ya,ma]=reactExports.useState(!1);return reactExports.useEffect(()=>{const ba=()=>{ma(window.innerWidth<768)};return ba(),window.addEventListener("resize",ba),()=>window.removeEventListener("resize",ba)},[]),ya};function transformApiResponseToMarketplaceModel(ya){return{Id:ya.id||"",Name:ya.name||"",Type:ya.type||"",Description:ya.description||"",Version:ya.version||"",Owner:ya.owner||"",GitHubOrg:ya.gitHubOrg||"",GitHubRepo:ya.gitHubRepo||"",Branch:ya.gitHubBranch||ya.branch||"main",CreatedAt:ya.createdAt||"",LastUpdatedAt:ya.lastUpdatedAt||"",Icon:ya.icon||"",MarketPlaceUrl:ya.marketPlaceUrl||"",ExtraDetails:ya.extraDetails||{},GithubOrg:ya.gitHubOrg||"",Config:{},Dependencies:{FractlModels:[],ClojureLibraries:[]},EntityType:"Model",GithubUrl:ya.githubUrl||`https://github.com/${ya.gitHubOrg}/${ya.gitHubRepo}`,__Id__:ya.id||"",Tags:ya.tags||null,isEditable:!1,isPin:!1,isLoading:!1,isError:!1,ErrorMessage:""}}const useMarketplace=()=>{const{error:ya,refetch:ma}=useQuery({queryKey:["marketplace","models"],enabled:!1,queryFn:async()=>{const El=await axiosInstance("marketplace").get("/MarketplaceMeta/Model");console.log("The response of marketplace model is:",El.data);let wl=[];return Array.isArray(El.data)?El.data.length===0?wl=[]:wl=El.data.map(Sl=>Sl.Model||Sl).map(Sl=>transformApiResponseToMarketplaceModel(Sl)):El.data?.result&&Array.isArray(El.data.result)&&(wl=El.data.result.map(Sl=>Sl.Model||Sl).map(Sl=>transformApiResponseToMarketplaceModel(Sl))),wl},staleTime:3e5,gcTime:6e5,retry:(El,wl)=>wl?.response?.status===401||wl?.response?.status===403?!1:El<2}),ba=reactExports.useCallback(async()=>{await ma()},[ma]),va=reactExports.useCallback(async El=>{try{const wl=await axiosInstance("marketplace").post("/MarketplaceMeta/Model",El);return y$b.success("Model published successfully!"),wl.data}catch(wl){const Sl=wl?.response?.data?.reason||"Failed to publish model";throw y$b.error(Sl),wl}},[]),Ma=reactExports.useCallback(async El=>{try{await axiosInstance("marketplace").delete(`/MarketplaceMeta/Model/${El}`),y$b.success("Model deleted successfully!"),await ma()}catch(wl){const Sl=wl?.response?.data?.reason||"Failed to delete model";throw y$b.error(Sl),wl}},[ma]);return{fetchMarketplaceModels:ba,publishModel:va,deleteModel:Ma,refetchMarketplaceModels:ma}},useAddTeam=()=>{const{addWorkspaceApp:ya}=useTeams(),ma=useAppStore(hp=>hp.user),ba=ma.GitHub.Token,va=ma.GitHub.Org,Ma=ma.GitHub.Username,El=useNavigate(),[wl,Sl]=React.useState(!1),[Cl,Mc]=React.useState("creating-repo"),[Ef,Zf]=React.useState("");return{addTeam:async({name:hp})=>{Sl(!0),Mc("creating-repo"),Zf("Creating GitHub repository...");try{const pg=(await createGitHubRepo(ba,hp.toLowerCase(),{private:!0,auto_init:!0},va)).name;Mc("cloning-repo"),Zf("Cloning repository...");try{const hg=`/${pg}`,mg="main",gg=Ma&&Ma.trim().length>0,sy=ba&&ba.trim().length>0;if(!gg||!sy){alert("⚠️ GitHub credentials missing. Please set your GitHub username and token in Settings.");return}const ly=generateGitHubUrl(va,pg,Ma,ba),cy=async()=>{try{await pathExists(hg)&&(console.log(`Cleaning up failed clone: removing ${hg} from IndexedDB`),await removeDirectory(hg))}catch(R_){console.error("Error cleaning up failed clone:",R_)}};try{await cloneRepository(ly,hg,mg,ba)}catch(R_){throw console.error("Failed to clone repository:",R_),await cy(),R_}Mc("adding-files"),Zf("Adding initial files...");const uy={name:pg,version:"0.0.1"},H1=await openRepository(hg);await writeRepoFile(hg,"package.json",JSON.stringify(uy)),await commitChanges(H1,"package.json","Add package.json",{name:Ma,email:Ma}),await writeRepoFile(hg,"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(H1,"config.al","Add config.al",{name:Ma,email:Ma});const lE="src/core.al";await writeRepoFile(hg,lE,`module ${pg.toLowerCase()}.core`),await commitChanges(H1,lE,"Add core.al ",{name:Ma,email:Ma}),Mc("pushing-changes"),Zf("Pushing changes to GitHub..."),await pushChanges(H1,"origin",mg,ba),Mc("loading-module"),Zf("Loading module...");try{await flushAllAndLoad(`/${pg}`,{name:"studio"});const R_=getUserModuleNames();Mc("adding-workspace"),Zf("Adding to workspace...");const V1={name:hp,type:"App",gitHubOrg:va,gitHubRepo:pg,branch:mg,description:"",owner:localStorage.getItem("username")||"",version:"0.0.1",isEditable:!0};await ya(V1),Sl(!1),El(`/design/data-model/${va}/${pg}/${R_[0]}`,{state:{isNewTeam:!0}})}catch(R_){console.error(`Failed to load ${pg}:`,R_);try{await pathExists(hg)&&(console.log(`Cleaning up failed clone: removing ${hg} from IndexedDB`),await removeDirectory(hg))}catch(V1){console.error("Error cleaning up failed clone:",V1)}Sl(!1)}}catch(hg){console.error(`Failed to clone repository: ${hg}`);try{const mg=`/${pg}`;await pathExists(mg)&&(console.log(`Cleaning up failed clone: removing ${mg} from IndexedDB`),await removeDirectory(mg))}catch(mg){console.error("Error cleaning up failed clone:",mg)}Sl(!1)}}catch(dg){console.error("Failed to create GitHub Repository:",dg),Sl(!1)}},isLoading:wl,currentStep:Cl,statusMessage:Ef,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=ya=>{const ma=/(?:git\+)?https:\/\/(?:[^@]+@)?github\.com\/([^/]+)\/([^/.]+)(?:\.git)?(?:#.+)?/,ba=ya.match(ma);if(ba){const[,,va]=ba;return va}return null},getDependenciesRecursive=async(ya,ma,ba=new Set)=>{const va=Object.entries(ma).filter(([El,wl])=>{if(!(typeof wl=="string"&&wl.startsWith("git+http")))return!1;const Mc=(typeof wl=="string"?extractRepoNameFromGitUrl(wl):null)||El.split(".")[0],Ef=!ba.has(Mc);return Ef&&ba.add(Mc),Ef});return va.length===0?[]:(await Promise.all(va.map(async([El,wl])=>{const Cl=(typeof wl=="string"?extractRepoNameFromGitUrl(wl):null)||El.split(".")[0],Mc=[Cl];try{const Ef=await readDependencyPackageJsonFromGit(ya,Cl);if(Ef.dependencies){const Zf=await getDependenciesRecursive(ya,Ef.dependencies,ba);Mc.push(...Zf)}}catch(Ef){console.error(`Failed to process dependency ${Cl}:`,Ef)}return Mc}))).flat()},fetchDependencies=async ya=>{const ba=(await readPackageJsonFromGit(ya)).dependencies||{},va=Object.entries(ba).filter(([,El])=>typeof El=="string"&&El.startsWith("git+http")).map(([El,wl])=>(typeof wl=="string"?extractRepoNameFromGitUrl(wl):null)||El.split(".")[0]),Ma=await getDependenciesRecursive(ya,ba,new Set(va));return Array.from(new Set([...va,...Ma]))},filterModulesForDependency=(ya,ma)=>{const ba=ma.toLowerCase(),va=ba.replace(/_/g,"");return ya.filter(Ma=>{const El=Ma.toLowerCase(),wl=El.split(".")[0];return El.startsWith(ba)||wl===va})},useDependencies=()=>{const{currentTeam:ya}=useTeams(),ma=ya?.GitHubRepo,ba=useQueryClient(),{data:va=[],isLoading:Ma,refetch:El}=useQuery({queryKey:["dependencies",ma],queryFn:()=>fetchDependencies(ma),enabled:!!ma}),wl=getUserModuleNames(),Sl=[ma,...va].map(dp=>({label:dp||"",value:dp||""})),Cl=dp=>filterModulesForDependency(wl,dp),Mc=()=>getTeamModules(ma),Ef=async()=>{await ba.invalidateQueries({queryKey:["dependencies",ma]}),await El()},Zf=ma||"",Jf=Zf?Cl(Zf)[0]:"";return{dependencies:va,dependenciesOptions:Sl,loading:Ma,getDependenciesModule:Cl,getTeamModules:Mc,defaultDependency:Zf,defaultModule:Jf,refetchDependencies:Ef}},useDoubleClick=(ya,ma,ba=300)=>{const va=reactExports.useRef(null),Ma=reactExports.useRef(0),El=reactExports.useCallback(wl=>{wl.stopPropagation(),wl.preventDefault(),Ma.current+=1,Ma.current===1?va.current=setTimeout(()=>{Ma.current===1&&ya(wl),Ma.current=0,va.current=null},ba):Ma.current===2&&(va.current&&(clearTimeout(va.current),va.current=null),ma(wl),Ma.current=0)},[ya,ma,ba]);return reactExports.useEffect(()=>()=>{va.current&&clearTimeout(va.current)},[]),El},validationScehma=create$3().shape({email:create$6().email("Invalid email").required("Email is required"),password:create$6().required("Password is required")}),SignIn=()=>{const{login:ya}=useAuth(),ma=useNavigate();return reactExports.useEffect(()=>{{ma("/design/dashboard");return}},[ma]),jsxRuntimeExports.jsx(Formik,{initialValues:{email:"",password:""},validationSchema:validationScehma,onSubmit:ba=>{const{email:va,password:Ma}=ba;ya(va,Ma)},children:jsxRuntimeExports.jsxs(Form$7,{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(Kht,{name:"email",placeholder:"Email",type:"email"}),jsxRuntimeExports.jsx(Qht,{name:"password",placeholder:"Password"}),jsxRuntimeExports.jsx("div",{className:"auth-link text-right",onClick:()=>ma("/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 ya=useNavigate(),{signUp:ma,isSigningUp:ba}=useSignUp(),[va,Ma]=reactExports.useState(null);return jsxRuntimeExports.jsx(Formik,{initialValues:{firstName:"",lastName:"",email:"",password:"",confirmPassword:""},validationSchema:validationSchema$e,onSubmit:async(El,{setSubmitting:wl})=>{Ma(null);try{const Sl=await ma({firstName:El.firstName,lastName:El.lastName,email:El.email,password:El.password});!Sl.success&&Sl.error&&Ma(Sl.error)}catch{Ma("An unexpected error occurred. Please try again.")}finally{wl(!1)}},children:jsxRuntimeExports.jsxs(Form$7,{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(Kht,{name:"firstName",placeholder:"First Name"}),jsxRuntimeExports.jsx(Kht,{name:"lastName",placeholder:"Last Name"}),jsxRuntimeExports.jsx("div",{className:"col-span-2",children:jsxRuntimeExports.jsx(Kht,{name:"email",placeholder:"Email",type:"email"})}),jsxRuntimeExports.jsx(Qht,{name:"password",placeholder:"Password"}),jsxRuntimeExports.jsx(Qht,{name:"confirmPassword",placeholder:"Confirm Password"})]}),va&&jsxRuntimeExports.jsx("div",{className:"text-red-500 text-sm text-center p-2",children:va}),jsxRuntimeExports.jsx("button",{type:"submit",className:"submit-button",disabled:ba,children:ba?"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:()=>ya("/"),children:"Sign In"})]})]})})},validationSchema$d=create$3().shape({email:create$6().required("Email is required").email("Invalid email address")}),ForgotPassword=()=>{const ya=useNavigate();return jsxRuntimeExports.jsx(Formik,{initialValues:{email:""},validationSchema:validationSchema$d,onSubmit:ma=>{const{email:ba}=ma;console.log(ba)},children:jsxRuntimeExports.jsxs(Form$7,{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(Kht,{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:()=>ya("/"),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 ya=useNavigate();return jsxRuntimeExports.jsx(Formik,{validationSchema:validationSchema$c,initialValues:{email:"",password:"",code:""},onSubmit:ma=>{const{email:ba,password:va,code:Ma}=ma;console.log(ba,va,Ma)},children:jsxRuntimeExports.jsxs(Form$7,{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(Kht,{name:"email",placeholder:"Email",type:"email"}),jsxRuntimeExports.jsx(Qht,{name:"password",placeholder:"Password"}),jsxRuntimeExports.jsx(Qht,{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:()=>ya("/"),children:"Sign In"})]})]})})};var classnames={exports:{}};/*!
@@ -21013,14 +21013,14 @@ In object: ${JSON.stringify(ya)}`)};function p(ya,ma){var ba={};for(var va in ya
21013
21013
  .allow-interactivity-`).concat(ya,` {pointer-events: all;}
21014
21014
  `)},idCounter=0,lockStack=[];function RemoveScrollSideCar(ya){var ma=reactExports.useRef([]),ba=reactExports.useRef([0,0]),va=reactExports.useRef(),Ma=reactExports.useState(idCounter++)[0],El=reactExports.useState(styleSingleton)[0],wl=reactExports.useRef(ya);reactExports.useEffect(function(){wl.current=ya},[ya]),reactExports.useEffect(function(){if(ya.inert){document.body.classList.add("block-interactivity-".concat(Ma));var dg=__spreadArray([ya.lockRef.current],(ya.shards||[]).map(extractRef),!0).filter(Boolean);return dg.forEach(function(pg){return pg.classList.add("allow-interactivity-".concat(Ma))}),function(){document.body.classList.remove("block-interactivity-".concat(Ma)),dg.forEach(function(pg){return pg.classList.remove("allow-interactivity-".concat(Ma))})}}},[ya.inert,ya.lockRef.current,ya.shards]);var Sl=reactExports.useCallback(function(dg,pg){if("touches"in dg&&dg.touches.length===2||dg.type==="wheel"&&dg.ctrlKey)return!wl.current.allowPinchZoom;var hg=getTouchXY(dg),mg=ba.current,gg="deltaX"in dg?dg.deltaX:mg[0]-hg[0],sy="deltaY"in dg?dg.deltaY:mg[1]-hg[1],ly,cy=dg.target,uy=Math.abs(gg)>Math.abs(sy)?"h":"v";if("touches"in dg&&uy==="h"&&cy.type==="range")return!1;var H1=window.getSelection(),lE=H1&&H1.anchorNode,R_=lE?lE===cy||lE.contains(cy):!1;if(R_)return!1;var V1=locationCouldBeScrolled(uy,cy);if(!V1)return!0;if(V1?ly=uy:(ly=uy==="v"?"h":"v",V1=locationCouldBeScrolled(uy,cy)),!V1)return!1;if(!va.current&&"changedTouches"in dg&&(gg||sy)&&(va.current=ly),!ly)return!0;var q1=va.current||ly;return handleScroll(q1,pg,dg,q1==="h"?gg:sy)},[]),Cl=reactExports.useCallback(function(dg){var pg=dg;if(!(!lockStack.length||lockStack[lockStack.length-1]!==El)){var hg="deltaY"in pg?getDeltaXY(pg):getTouchXY(pg),mg=ma.current.filter(function(ly){return ly.name===pg.type&&(ly.target===pg.target||pg.target===ly.shadowParent)&&deltaCompare(ly.delta,hg)})[0];if(mg&&mg.should){pg.cancelable&&pg.preventDefault();return}if(!mg){var gg=(wl.current.shards||[]).map(extractRef).filter(Boolean).filter(function(ly){return ly.contains(pg.target)}),sy=gg.length>0?Sl(pg,gg[0]):!wl.current.noIsolation;sy&&pg.cancelable&&pg.preventDefault()}}},[]),Mc=reactExports.useCallback(function(dg,pg,hg,mg){var gg={name:dg,delta:pg,target:hg,should:mg,shadowParent:getOutermostShadowParent(hg)};ma.current.push(gg),setTimeout(function(){ma.current=ma.current.filter(function(sy){return sy!==gg})},1)},[]),Ef=reactExports.useCallback(function(dg){ba.current=getTouchXY(dg),va.current=void 0},[]),Zf=reactExports.useCallback(function(dg){Mc(dg.type,getDeltaXY(dg),dg.target,Sl(dg,ya.lockRef.current))},[]),Jf=reactExports.useCallback(function(dg){Mc(dg.type,getTouchXY(dg),dg.target,Sl(dg,ya.lockRef.current))},[]);reactExports.useEffect(function(){return lockStack.push(El),ya.setCallbacks({onScrollCapture:Zf,onWheelCapture:Zf,onTouchMoveCapture:Jf}),document.addEventListener("wheel",Cl,nonPassive),document.addEventListener("touchmove",Cl,nonPassive),document.addEventListener("touchstart",Ef,nonPassive),function(){lockStack=lockStack.filter(function(dg){return dg!==El}),document.removeEventListener("wheel",Cl,nonPassive),document.removeEventListener("touchmove",Cl,nonPassive),document.removeEventListener("touchstart",Ef,nonPassive)}},[]);var dp=ya.removeScrollBar,hp=ya.inert;return reactExports.createElement(reactExports.Fragment,null,hp?reactExports.createElement(El,{styles:generateStyle(Ma)}):null,dp?reactExports.createElement(RemoveScrollBar,{noRelative:ya.noRelative,gapMode:ya.gapMode}):null)}function getOutermostShadowParent(ya){for(var ma=null;ya!==null;)ya instanceof ShadowRoot&&(ma=ya.host,ya=ya.host),ya=ya.parentNode;return ma}const SideCar=exportSidecar(effectCar,RemoveScrollSideCar);var ReactRemoveScroll=reactExports.forwardRef(function(ya,ma){return reactExports.createElement(RemoveScroll,__assign({},ya,{ref:ma,sideCar:SideCar}))});ReactRemoveScroll.classNames=RemoveScroll.classNames;var getDefaultParent=function(ya){if(typeof document>"u")return null;var ma=Array.isArray(ya)?ya[0]:ya;return ma.ownerDocument.body},counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(ya){return ya&&(ya.host||unwrapHost(ya.parentNode))},correctTargets=function(ya,ma){return ma.map(function(ba){if(ya.contains(ba))return ba;var va=unwrapHost(ba);return va&&ya.contains(va)?va:(console.error("aria-hidden",ba,"in not contained inside",ya,". Doing nothing"),null)}).filter(function(ba){return!!ba})},applyAttributeToOthers=function(ya,ma,ba,va){var Ma=correctTargets(ma,Array.isArray(ya)?ya:[ya]);markerMap[ba]||(markerMap[ba]=new WeakMap);var El=markerMap[ba],wl=[],Sl=new Set,Cl=new Set(Ma),Mc=function(Zf){!Zf||Sl.has(Zf)||(Sl.add(Zf),Mc(Zf.parentNode))};Ma.forEach(Mc);var Ef=function(Zf){!Zf||Cl.has(Zf)||Array.prototype.forEach.call(Zf.children,function(Jf){if(Sl.has(Jf))Ef(Jf);else try{var dp=Jf.getAttribute(va),hp=dp!==null&&dp!=="false",dg=(counterMap.get(Jf)||0)+1,pg=(El.get(Jf)||0)+1;counterMap.set(Jf,dg),El.set(Jf,pg),wl.push(Jf),dg===1&&hp&&uncontrolledNodes.set(Jf,!0),pg===1&&Jf.setAttribute(ba,"true"),hp||Jf.setAttribute(va,"true")}catch(hg){console.error("aria-hidden: cannot operate on ",Jf,hg)}})};return Ef(ma),Sl.clear(),lockCount++,function(){wl.forEach(function(Zf){var Jf=counterMap.get(Zf)-1,dp=El.get(Zf)-1;counterMap.set(Zf,Jf),El.set(Zf,dp),Jf||(uncontrolledNodes.has(Zf)||Zf.removeAttribute(va),uncontrolledNodes.delete(Zf)),dp||Zf.removeAttribute(ba)}),lockCount--,lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(ya,ma,ba){ba===void 0&&(ba="data-aria-hidden");var va=Array.from(Array.isArray(ya)?ya:[ya]),Ma=getDefaultParent(ya);return Ma?(va.push.apply(va,Array.from(Ma.querySelectorAll("[aria-live], script"))),applyAttributeToOthers(va,Ma,ba,"aria-hidden")):function(){return null}};function useSize(ya){const[ma,ba]=reactExports.useState(void 0);return useLayoutEffect2(()=>{if(ya){ba({width:ya.offsetWidth,height:ya.offsetHeight});const va=new ResizeObserver(Ma=>{if(!Array.isArray(Ma)||!Ma.length)return;const El=Ma[0];let wl,Sl;if("borderBoxSize"in El){const Cl=El.borderBoxSize,Mc=Array.isArray(Cl)?Cl[0]:Cl;wl=Mc.inlineSize,Sl=Mc.blockSize}else wl=ya.offsetWidth,Sl=ya.offsetHeight;ba({width:wl,height:Sl})});return va.observe(ya,{box:"border-box"}),()=>va.unobserve(ya)}else ba(void 0)},[ya]),ma}var NAME="Arrow",Arrow$1=reactExports.forwardRef((ya,ma)=>{const{children:ba,width:va=10,height:Ma=5,...El}=ya;return jsxRuntimeExports.jsx(Primitive.svg,{...El,ref:ma,width:va,height:Ma,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:ya.asChild?ba:jsxRuntimeExports.jsx("polygon",{points:"0,0 30,0 15,10"})})});Arrow$1.displayName=NAME;var Root$1=Arrow$1,POPPER_NAME="Popper",[createPopperContext,createPopperScope]=createContextScope(POPPER_NAME),[PopperProvider,usePopperContext]=createPopperContext(POPPER_NAME),Popper=ya=>{const{__scopePopper:ma,children:ba}=ya,[va,Ma]=reactExports.useState(null);return jsxRuntimeExports.jsx(PopperProvider,{scope:ma,anchor:va,onAnchorChange:Ma,children:ba})};Popper.displayName=POPPER_NAME;var ANCHOR_NAME$1="PopperAnchor",PopperAnchor=reactExports.forwardRef((ya,ma)=>{const{__scopePopper:ba,virtualRef:va,...Ma}=ya,El=usePopperContext(ANCHOR_NAME$1,ba),wl=reactExports.useRef(null),Sl=useComposedRefs(ma,wl),Cl=reactExports.useRef(null);return reactExports.useEffect(()=>{const Mc=Cl.current;Cl.current=va?.current||wl.current,Mc!==Cl.current&&El.onAnchorChange(Cl.current)}),va?null:jsxRuntimeExports.jsx(Primitive.div,{...Ma,ref:Sl})});PopperAnchor.displayName=ANCHOR_NAME$1;var CONTENT_NAME$2="PopperContent",[PopperContentProvider,useContentContext]=createPopperContext(CONTENT_NAME$2),PopperContent=reactExports.forwardRef((ya,ma)=>{const{__scopePopper:ba,side:va="bottom",sideOffset:Ma=0,align:El="center",alignOffset:wl=0,arrowPadding:Sl=0,avoidCollisions:Cl=!0,collisionBoundary:Mc=[],collisionPadding:Ef=0,sticky:Zf="partial",hideWhenDetached:Jf=!1,updatePositionStrategy:dp="optimized",onPlaced:hp,...dg}=ya,pg=usePopperContext(CONTENT_NAME$2,ba),[hg,mg]=reactExports.useState(null),gg=useComposedRefs(ma,opt=>mg(opt)),[sy,ly]=reactExports.useState(null),cy=useSize(sy),uy=cy?.width??0,H1=cy?.height??0,lE=va+(El!=="center"?"-"+El:""),R_=typeof Ef=="number"?Ef:{top:0,right:0,bottom:0,left:0,...Ef},V1=Array.isArray(Mc)?Mc:[Mc],q1=V1.length>0,n0={padding:R_,boundary:V1.filter(isNotNull),altBoundary:q1},{refs:aE,floatingStyles:P_,placement:O_,isPositioned:sN,middlewareData:uN}=useFloating$1({strategy:"fixed",placement:lE,whileElementsMounted:(...opt)=>autoUpdate(...opt,{animationFrame:dp==="always"}),elements:{reference:pg.anchor},middleware:[offset({mainAxis:Ma+H1,alignmentAxis:wl}),Cl&&shift({mainAxis:!0,crossAxis:!1,limiter:Zf==="partial"?limitShift():void 0,...n0}),Cl&&flip({...n0}),size({...n0,apply:({elements:opt,rects:Kpt,availableWidth:Eht,availableHeight:Jpt})=>{const{width:kpe,height:Mpe}=Kpt.reference,_ht=opt.floating.style;_ht.setProperty("--radix-popper-available-width",`${Eht}px`),_ht.setProperty("--radix-popper-available-height",`${Jpt}px`),_ht.setProperty("--radix-popper-anchor-width",`${kpe}px`),_ht.setProperty("--radix-popper-anchor-height",`${Mpe}px`)}}),sy&&arrow({element:sy,padding:Sl}),transformOrigin({arrowWidth:uy,arrowHeight:H1}),Jf&&hide({strategy:"referenceHidden",...n0})]}),[lN,_F]=getSideAndAlignFromPlacement(O_),eee=useCallbackRef$1(hp);useLayoutEffect2(()=>{sN&&eee?.()},[sN,eee]);const JY=uN.arrow?.x,_pe=uN.arrow?.y,_Q=uN.arrow?.centerOffset!==0,[Cpe,Tpe]=reactExports.useState();return useLayoutEffect2(()=>{hg&&Tpe(window.getComputedStyle(hg).zIndex)},[hg]),jsxRuntimeExports.jsx("div",{ref:aE.setFloating,"data-radix-popper-content-wrapper":"",style:{...P_,transform:sN?P_.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Cpe,"--radix-popper-transform-origin":[uN.transformOrigin?.x,uN.transformOrigin?.y].join(" "),...uN.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:ya.dir,children:jsxRuntimeExports.jsx(PopperContentProvider,{scope:ba,placedSide:lN,onArrowChange:ly,arrowX:JY,arrowY:_pe,shouldHideArrow:_Q,children:jsxRuntimeExports.jsx(Primitive.div,{"data-side":lN,"data-align":_F,...dg,ref:gg,style:{...dg.style,animation:sN?void 0:"none"}})})})});PopperContent.displayName=CONTENT_NAME$2;var ARROW_NAME$2="PopperArrow",OPPOSITE_SIDE={top:"bottom",right:"left",bottom:"top",left:"right"},PopperArrow=reactExports.forwardRef(function ya(ma,ba){const{__scopePopper:va,...Ma}=ma,El=useContentContext(ARROW_NAME$2,va),wl=OPPOSITE_SIDE[El.placedSide];return jsxRuntimeExports.jsx("span",{ref:El.onArrowChange,style:{position:"absolute",left:El.arrowX,top:El.arrowY,[wl]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[El.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[El.placedSide],visibility:El.shouldHideArrow?"hidden":void 0},children:jsxRuntimeExports.jsx(Root$1,{...Ma,ref:ba,style:{...Ma.style,display:"block"}})})});PopperArrow.displayName=ARROW_NAME$2;function isNotNull(ya){return ya!==null}var transformOrigin=ya=>({name:"transformOrigin",options:ya,fn(ma){const{placement:ba,rects:va,middlewareData:Ma}=ma,wl=Ma.arrow?.centerOffset!==0,Sl=wl?0:ya.arrowWidth,Cl=wl?0:ya.arrowHeight,[Mc,Ef]=getSideAndAlignFromPlacement(ba),Zf={start:"0%",center:"50%",end:"100%"}[Ef],Jf=(Ma.arrow?.x??0)+Sl/2,dp=(Ma.arrow?.y??0)+Cl/2;let hp="",dg="";return Mc==="bottom"?(hp=wl?Zf:`${Jf}px`,dg=`${-Cl}px`):Mc==="top"?(hp=wl?Zf:`${Jf}px`,dg=`${va.floating.height+Cl}px`):Mc==="right"?(hp=`${-Cl}px`,dg=wl?Zf:`${dp}px`):Mc==="left"&&(hp=`${va.floating.width+Cl}px`,dg=wl?Zf:`${dp}px`),{data:{x:hp,y:dg}}}});function getSideAndAlignFromPlacement(ya){const[ma,ba="center"]=ya.split("-");return[ma,ba]}var Root2$1=Popper,Anchor=PopperAnchor,Content=PopperContent,Arrow=PopperArrow,ENTRY_FOCUS="rovingFocusGroup.onEntryFocus",EVENT_OPTIONS={bubbles:!1,cancelable:!0},GROUP_NAME$2="RovingFocusGroup",[Collection$1,useCollection$1,createCollectionScope$1]=createCollection(GROUP_NAME$2),[createRovingFocusGroupContext,createRovingFocusGroupScope]=createContextScope(GROUP_NAME$2,[createCollectionScope$1]),[RovingFocusProvider,useRovingFocusContext]=createRovingFocusGroupContext(GROUP_NAME$2),RovingFocusGroup=reactExports.forwardRef((ya,ma)=>jsxRuntimeExports.jsx(Collection$1.Provider,{scope:ya.__scopeRovingFocusGroup,children:jsxRuntimeExports.jsx(Collection$1.Slot,{scope:ya.__scopeRovingFocusGroup,children:jsxRuntimeExports.jsx(RovingFocusGroupImpl,{...ya,ref:ma})})}));RovingFocusGroup.displayName=GROUP_NAME$2;var RovingFocusGroupImpl=reactExports.forwardRef((ya,ma)=>{const{__scopeRovingFocusGroup:ba,orientation:va,loop:Ma=!1,dir:El,currentTabStopId:wl,defaultCurrentTabStopId:Sl,onCurrentTabStopIdChange:Cl,onEntryFocus:Mc,preventScrollOnEntryFocus:Ef=!1,...Zf}=ya,Jf=reactExports.useRef(null),dp=useComposedRefs(ma,Jf),hp=useDirection(El),[dg,pg]=useControllableState({prop:wl,defaultProp:Sl??null,onChange:Cl,caller:GROUP_NAME$2}),[hg,mg]=reactExports.useState(!1),gg=useCallbackRef$1(Mc),sy=useCollection$1(ba),ly=reactExports.useRef(!1),[cy,uy]=reactExports.useState(0);return reactExports.useEffect(()=>{const H1=Jf.current;if(H1)return H1.addEventListener(ENTRY_FOCUS,gg),()=>H1.removeEventListener(ENTRY_FOCUS,gg)},[gg]),jsxRuntimeExports.jsx(RovingFocusProvider,{scope:ba,orientation:va,dir:hp,loop:Ma,currentTabStopId:dg,onItemFocus:reactExports.useCallback(H1=>pg(H1),[pg]),onItemShiftTab:reactExports.useCallback(()=>mg(!0),[]),onFocusableItemAdd:reactExports.useCallback(()=>uy(H1=>H1+1),[]),onFocusableItemRemove:reactExports.useCallback(()=>uy(H1=>H1-1),[]),children:jsxRuntimeExports.jsx(Primitive.div,{tabIndex:hg||cy===0?-1:0,"data-orientation":va,...Zf,ref:dp,style:{outline:"none",...ya.style},onMouseDown:composeEventHandlers(ya.onMouseDown,()=>{ly.current=!0}),onFocus:composeEventHandlers(ya.onFocus,H1=>{const lE=!ly.current;if(H1.target===H1.currentTarget&&lE&&!hg){const R_=new CustomEvent(ENTRY_FOCUS,EVENT_OPTIONS);if(H1.currentTarget.dispatchEvent(R_),!R_.defaultPrevented){const V1=sy().filter(O_=>O_.focusable),q1=V1.find(O_=>O_.active),n0=V1.find(O_=>O_.id===dg),P_=[q1,n0,...V1].filter(Boolean).map(O_=>O_.ref.current);focusFirst$1(P_,Ef)}}ly.current=!1}),onBlur:composeEventHandlers(ya.onBlur,()=>mg(!1))})})}),ITEM_NAME$2="RovingFocusGroupItem",RovingFocusGroupItem=reactExports.forwardRef((ya,ma)=>{const{__scopeRovingFocusGroup:ba,focusable:va=!0,active:Ma=!1,tabStopId:El,children:wl,...Sl}=ya,Cl=useId(),Mc=El||Cl,Ef=useRovingFocusContext(ITEM_NAME$2,ba),Zf=Ef.currentTabStopId===Mc,Jf=useCollection$1(ba),{onFocusableItemAdd:dp,onFocusableItemRemove:hp,currentTabStopId:dg}=Ef;return reactExports.useEffect(()=>{if(va)return dp(),()=>hp()},[va,dp,hp]),jsxRuntimeExports.jsx(Collection$1.ItemSlot,{scope:ba,id:Mc,focusable:va,active:Ma,children:jsxRuntimeExports.jsx(Primitive.span,{tabIndex:Zf?0:-1,"data-orientation":Ef.orientation,...Sl,ref:ma,onMouseDown:composeEventHandlers(ya.onMouseDown,pg=>{va?Ef.onItemFocus(Mc):pg.preventDefault()}),onFocus:composeEventHandlers(ya.onFocus,()=>Ef.onItemFocus(Mc)),onKeyDown:composeEventHandlers(ya.onKeyDown,pg=>{if(pg.key==="Tab"&&pg.shiftKey){Ef.onItemShiftTab();return}if(pg.target!==pg.currentTarget)return;const hg=getFocusIntent(pg,Ef.orientation,Ef.dir);if(hg!==void 0){if(pg.metaKey||pg.ctrlKey||pg.altKey||pg.shiftKey)return;pg.preventDefault();let gg=Jf().filter(sy=>sy.focusable).map(sy=>sy.ref.current);if(hg==="last")gg.reverse();else if(hg==="prev"||hg==="next"){hg==="prev"&&gg.reverse();const sy=gg.indexOf(pg.currentTarget);gg=Ef.loop?wrapArray$1(gg,sy+1):gg.slice(sy+1)}setTimeout(()=>focusFirst$1(gg))}}),children:typeof wl=="function"?wl({isCurrentTabStop:Zf,hasTabStop:dg!=null}):wl})})});RovingFocusGroupItem.displayName=ITEM_NAME$2;var MAP_KEY_TO_FOCUS_INTENT={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function getDirectionAwareKey(ya,ma){return ma!=="rtl"?ya:ya==="ArrowLeft"?"ArrowRight":ya==="ArrowRight"?"ArrowLeft":ya}function getFocusIntent(ya,ma,ba){const va=getDirectionAwareKey(ya.key,ba);if(!(ma==="vertical"&&["ArrowLeft","ArrowRight"].includes(va))&&!(ma==="horizontal"&&["ArrowUp","ArrowDown"].includes(va)))return MAP_KEY_TO_FOCUS_INTENT[va]}function focusFirst$1(ya,ma=!1){const ba=document.activeElement;for(const va of ya)if(va===ba||(va.focus({preventScroll:ma}),document.activeElement!==ba))return}function wrapArray$1(ya,ma){return ya.map((ba,va)=>ya[(ma+va)%ya.length])}var Root=RovingFocusGroup,Item=RovingFocusGroupItem,SELECTION_KEYS=["Enter"," "],FIRST_KEYS=["ArrowDown","PageUp","Home"],LAST_KEYS=["ArrowUp","PageDown","End"],FIRST_LAST_KEYS=[...FIRST_KEYS,...LAST_KEYS],SUB_OPEN_KEYS={ltr:[...SELECTION_KEYS,"ArrowRight"],rtl:[...SELECTION_KEYS,"ArrowLeft"]},SUB_CLOSE_KEYS={ltr:["ArrowLeft"],rtl:["ArrowRight"]},MENU_NAME="Menu",[Collection,useCollection,createCollectionScope]=createCollection(MENU_NAME),[createMenuContext,createMenuScope]=createContextScope(MENU_NAME,[createCollectionScope,createPopperScope,createRovingFocusGroupScope]),usePopperScope=createPopperScope(),useRovingFocusGroupScope=createRovingFocusGroupScope(),[MenuProvider,useMenuContext]=createMenuContext(MENU_NAME),[MenuRootProvider,useMenuRootContext]=createMenuContext(MENU_NAME),Menu=ya=>{const{__scopeMenu:ma,open:ba=!1,children:va,dir:Ma,onOpenChange:El,modal:wl=!0}=ya,Sl=usePopperScope(ma),[Cl,Mc]=reactExports.useState(null),Ef=reactExports.useRef(!1),Zf=useCallbackRef$1(El),Jf=useDirection(Ma);return reactExports.useEffect(()=>{const dp=()=>{Ef.current=!0,document.addEventListener("pointerdown",hp,{capture:!0,once:!0}),document.addEventListener("pointermove",hp,{capture:!0,once:!0})},hp=()=>Ef.current=!1;return document.addEventListener("keydown",dp,{capture:!0}),()=>{document.removeEventListener("keydown",dp,{capture:!0}),document.removeEventListener("pointerdown",hp,{capture:!0}),document.removeEventListener("pointermove",hp,{capture:!0})}},[]),jsxRuntimeExports.jsx(Root2$1,{...Sl,children:jsxRuntimeExports.jsx(MenuProvider,{scope:ma,open:ba,onOpenChange:Zf,content:Cl,onContentChange:Mc,children:jsxRuntimeExports.jsx(MenuRootProvider,{scope:ma,onClose:reactExports.useCallback(()=>Zf(!1),[Zf]),isUsingKeyboardRef:Ef,dir:Jf,modal:wl,children:va})})})};Menu.displayName=MENU_NAME;var ANCHOR_NAME="MenuAnchor",MenuAnchor=reactExports.forwardRef((ya,ma)=>{const{__scopeMenu:ba,...va}=ya,Ma=usePopperScope(ba);return jsxRuntimeExports.jsx(Anchor,{...Ma,...va,ref:ma})});MenuAnchor.displayName=ANCHOR_NAME;var PORTAL_NAME$1="MenuPortal",[PortalProvider,usePortalContext]=createMenuContext(PORTAL_NAME$1,{forceMount:void 0}),MenuPortal=ya=>{const{__scopeMenu:ma,forceMount:ba,children:va,container:Ma}=ya,El=useMenuContext(PORTAL_NAME$1,ma);return jsxRuntimeExports.jsx(PortalProvider,{scope:ma,forceMount:ba,children:jsxRuntimeExports.jsx(Presence,{present:ba||El.open,children:jsxRuntimeExports.jsx(Portal$1,{asChild:!0,container:Ma,children:va})})})};MenuPortal.displayName=PORTAL_NAME$1;var CONTENT_NAME$1="MenuContent",[MenuContentProvider,useMenuContentContext]=createMenuContext(CONTENT_NAME$1),MenuContent=reactExports.forwardRef((ya,ma)=>{const ba=usePortalContext(CONTENT_NAME$1,ya.__scopeMenu),{forceMount:va=ba.forceMount,...Ma}=ya,El=useMenuContext(CONTENT_NAME$1,ya.__scopeMenu),wl=useMenuRootContext(CONTENT_NAME$1,ya.__scopeMenu);return jsxRuntimeExports.jsx(Collection.Provider,{scope:ya.__scopeMenu,children:jsxRuntimeExports.jsx(Presence,{present:va||El.open,children:jsxRuntimeExports.jsx(Collection.Slot,{scope:ya.__scopeMenu,children:wl.modal?jsxRuntimeExports.jsx(MenuRootContentModal,{...Ma,ref:ma}):jsxRuntimeExports.jsx(MenuRootContentNonModal,{...Ma,ref:ma})})})})}),MenuRootContentModal=reactExports.forwardRef((ya,ma)=>{const ba=useMenuContext(CONTENT_NAME$1,ya.__scopeMenu),va=reactExports.useRef(null),Ma=useComposedRefs(ma,va);return reactExports.useEffect(()=>{const El=va.current;if(El)return hideOthers(El)},[]),jsxRuntimeExports.jsx(MenuContentImpl,{...ya,ref:Ma,trapFocus:ba.open,disableOutsidePointerEvents:ba.open,disableOutsideScroll:!0,onFocusOutside:composeEventHandlers(ya.onFocusOutside,El=>El.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>ba.onOpenChange(!1)})}),MenuRootContentNonModal=reactExports.forwardRef((ya,ma)=>{const ba=useMenuContext(CONTENT_NAME$1,ya.__scopeMenu);return jsxRuntimeExports.jsx(MenuContentImpl,{...ya,ref:ma,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>ba.onOpenChange(!1)})}),Slot=createSlot("MenuContent.ScrollLock"),MenuContentImpl=reactExports.forwardRef((ya,ma)=>{const{__scopeMenu:ba,loop:va=!1,trapFocus:Ma,onOpenAutoFocus:El,onCloseAutoFocus:wl,disableOutsidePointerEvents:Sl,onEntryFocus:Cl,onEscapeKeyDown:Mc,onPointerDownOutside:Ef,onFocusOutside:Zf,onInteractOutside:Jf,onDismiss:dp,disableOutsideScroll:hp,...dg}=ya,pg=useMenuContext(CONTENT_NAME$1,ba),hg=useMenuRootContext(CONTENT_NAME$1,ba),mg=usePopperScope(ba),gg=useRovingFocusGroupScope(ba),sy=useCollection(ba),[ly,cy]=reactExports.useState(null),uy=reactExports.useRef(null),H1=useComposedRefs(ma,uy,pg.onContentChange),lE=reactExports.useRef(0),R_=reactExports.useRef(""),V1=reactExports.useRef(0),q1=reactExports.useRef(null),n0=reactExports.useRef("right"),aE=reactExports.useRef(0),P_=hp?ReactRemoveScroll:reactExports.Fragment,O_=hp?{as:Slot,allowPinchZoom:!0}:void 0,sN=lN=>{const _F=R_.current+lN,eee=sy().filter(opt=>!opt.disabled),JY=document.activeElement,_pe=eee.find(opt=>opt.ref.current===JY)?.textValue,_Q=eee.map(opt=>opt.textValue),Cpe=getNextMatch(_Q,_F,_pe),Tpe=eee.find(opt=>opt.textValue===Cpe)?.ref.current;(function opt(Kpt){R_.current=Kpt,window.clearTimeout(lE.current),Kpt!==""&&(lE.current=window.setTimeout(()=>opt(""),1e3))})(_F),Tpe&&setTimeout(()=>Tpe.focus())};reactExports.useEffect(()=>()=>window.clearTimeout(lE.current),[]),useFocusGuards();const uN=reactExports.useCallback(lN=>n0.current===q1.current?.side&&isPointerInGraceArea(lN,q1.current?.area),[]);return jsxRuntimeExports.jsx(MenuContentProvider,{scope:ba,searchRef:R_,onItemEnter:reactExports.useCallback(lN=>{uN(lN)&&lN.preventDefault()},[uN]),onItemLeave:reactExports.useCallback(lN=>{uN(lN)||(uy.current?.focus(),cy(null))},[uN]),onTriggerLeave:reactExports.useCallback(lN=>{uN(lN)&&lN.preventDefault()},[uN]),pointerGraceTimerRef:V1,onPointerGraceIntentChange:reactExports.useCallback(lN=>{q1.current=lN},[]),children:jsxRuntimeExports.jsx(P_,{...O_,children:jsxRuntimeExports.jsx(FocusScope,{asChild:!0,trapped:Ma,onMountAutoFocus:composeEventHandlers(El,lN=>{lN.preventDefault(),uy.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:wl,children:jsxRuntimeExports.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:Sl,onEscapeKeyDown:Mc,onPointerDownOutside:Ef,onFocusOutside:Zf,onInteractOutside:Jf,onDismiss:dp,children:jsxRuntimeExports.jsx(Root,{asChild:!0,...gg,dir:hg.dir,orientation:"vertical",loop:va,currentTabStopId:ly,onCurrentTabStopIdChange:cy,onEntryFocus:composeEventHandlers(Cl,lN=>{hg.isUsingKeyboardRef.current||lN.preventDefault()}),preventScrollOnEntryFocus:!0,children:jsxRuntimeExports.jsx(Content,{role:"menu","aria-orientation":"vertical","data-state":getOpenState(pg.open),"data-radix-menu-content":"",dir:hg.dir,...mg,...dg,ref:H1,style:{outline:"none",...dg.style},onKeyDown:composeEventHandlers(dg.onKeyDown,lN=>{const eee=lN.target.closest("[data-radix-menu-content]")===lN.currentTarget,JY=lN.ctrlKey||lN.altKey||lN.metaKey,_pe=lN.key.length===1;eee&&(lN.key==="Tab"&&lN.preventDefault(),!JY&&_pe&&sN(lN.key));const _Q=uy.current;if(lN.target!==_Q||!FIRST_LAST_KEYS.includes(lN.key))return;lN.preventDefault();const Tpe=sy().filter(opt=>!opt.disabled).map(opt=>opt.ref.current);LAST_KEYS.includes(lN.key)&&Tpe.reverse(),focusFirst(Tpe)}),onBlur:composeEventHandlers(ya.onBlur,lN=>{lN.currentTarget.contains(lN.target)||(window.clearTimeout(lE.current),R_.current="")}),onPointerMove:composeEventHandlers(ya.onPointerMove,whenMouse(lN=>{const _F=lN.target,eee=aE.current!==lN.clientX;if(lN.currentTarget.contains(_F)&&eee){const JY=lN.clientX>aE.current?"right":"left";n0.current=JY,aE.current=lN.clientX}}))})})})})})})});MenuContent.displayName=CONTENT_NAME$1;var GROUP_NAME$1="MenuGroup",MenuGroup=reactExports.forwardRef((ya,ma)=>{const{__scopeMenu:ba,...va}=ya;return jsxRuntimeExports.jsx(Primitive.div,{role:"group",...va,ref:ma})});MenuGroup.displayName=GROUP_NAME$1;var LABEL_NAME$1="MenuLabel",MenuLabel=reactExports.forwardRef((ya,ma)=>{const{__scopeMenu:ba,...va}=ya;return jsxRuntimeExports.jsx(Primitive.div,{...va,ref:ma})});MenuLabel.displayName=LABEL_NAME$1;var ITEM_NAME$1="MenuItem",ITEM_SELECT="menu.itemSelect",MenuItem=reactExports.forwardRef((ya,ma)=>{const{disabled:ba=!1,onSelect:va,...Ma}=ya,El=reactExports.useRef(null),wl=useMenuRootContext(ITEM_NAME$1,ya.__scopeMenu),Sl=useMenuContentContext(ITEM_NAME$1,ya.__scopeMenu),Cl=useComposedRefs(ma,El),Mc=reactExports.useRef(!1),Ef=()=>{const Zf=El.current;if(!ba&&Zf){const Jf=new CustomEvent(ITEM_SELECT,{bubbles:!0,cancelable:!0});Zf.addEventListener(ITEM_SELECT,dp=>va?.(dp),{once:!0}),dispatchDiscreteCustomEvent(Zf,Jf),Jf.defaultPrevented?Mc.current=!1:wl.onClose()}};return jsxRuntimeExports.jsx(MenuItemImpl,{...Ma,ref:Cl,disabled:ba,onClick:composeEventHandlers(ya.onClick,Ef),onPointerDown:Zf=>{ya.onPointerDown?.(Zf),Mc.current=!0},onPointerUp:composeEventHandlers(ya.onPointerUp,Zf=>{Mc.current||Zf.currentTarget?.click()}),onKeyDown:composeEventHandlers(ya.onKeyDown,Zf=>{const Jf=Sl.searchRef.current!=="";ba||Jf&&Zf.key===" "||SELECTION_KEYS.includes(Zf.key)&&(Zf.currentTarget.click(),Zf.preventDefault())})})});MenuItem.displayName=ITEM_NAME$1;var MenuItemImpl=reactExports.forwardRef((ya,ma)=>{const{__scopeMenu:ba,disabled:va=!1,textValue:Ma,...El}=ya,wl=useMenuContentContext(ITEM_NAME$1,ba),Sl=useRovingFocusGroupScope(ba),Cl=reactExports.useRef(null),Mc=useComposedRefs(ma,Cl),[Ef,Zf]=reactExports.useState(!1),[Jf,dp]=reactExports.useState("");return reactExports.useEffect(()=>{const hp=Cl.current;hp&&dp((hp.textContent??"").trim())},[El.children]),jsxRuntimeExports.jsx(Collection.ItemSlot,{scope:ba,disabled:va,textValue:Ma??Jf,children:jsxRuntimeExports.jsx(Item,{asChild:!0,...Sl,focusable:!va,children:jsxRuntimeExports.jsx(Primitive.div,{role:"menuitem","data-highlighted":Ef?"":void 0,"aria-disabled":va||void 0,"data-disabled":va?"":void 0,...El,ref:Mc,onPointerMove:composeEventHandlers(ya.onPointerMove,whenMouse(hp=>{va?wl.onItemLeave(hp):(wl.onItemEnter(hp),hp.defaultPrevented||hp.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:composeEventHandlers(ya.onPointerLeave,whenMouse(hp=>wl.onItemLeave(hp))),onFocus:composeEventHandlers(ya.onFocus,()=>Zf(!0)),onBlur:composeEventHandlers(ya.onBlur,()=>Zf(!1))})})})}),CHECKBOX_ITEM_NAME$1="MenuCheckboxItem",MenuCheckboxItem=reactExports.forwardRef((ya,ma)=>{const{checked:ba=!1,onCheckedChange:va,...Ma}=ya;return jsxRuntimeExports.jsx(ItemIndicatorProvider,{scope:ya.__scopeMenu,checked:ba,children:jsxRuntimeExports.jsx(MenuItem,{role:"menuitemcheckbox","aria-checked":isIndeterminate(ba)?"mixed":ba,...Ma,ref:ma,"data-state":getCheckedState(ba),onSelect:composeEventHandlers(Ma.onSelect,()=>va?.(isIndeterminate(ba)?!0:!ba),{checkForDefaultPrevented:!1})})})});MenuCheckboxItem.displayName=CHECKBOX_ITEM_NAME$1;var RADIO_GROUP_NAME$1="MenuRadioGroup",[RadioGroupProvider,useRadioGroupContext]=createMenuContext(RADIO_GROUP_NAME$1,{value:void 0,onValueChange:()=>{}}),MenuRadioGroup=reactExports.forwardRef((ya,ma)=>{const{value:ba,onValueChange:va,...Ma}=ya,El=useCallbackRef$1(va);return jsxRuntimeExports.jsx(RadioGroupProvider,{scope:ya.__scopeMenu,value:ba,onValueChange:El,children:jsxRuntimeExports.jsx(MenuGroup,{...Ma,ref:ma})})});MenuRadioGroup.displayName=RADIO_GROUP_NAME$1;var RADIO_ITEM_NAME$1="MenuRadioItem",MenuRadioItem=reactExports.forwardRef((ya,ma)=>{const{value:ba,...va}=ya,Ma=useRadioGroupContext(RADIO_ITEM_NAME$1,ya.__scopeMenu),El=ba===Ma.value;return jsxRuntimeExports.jsx(ItemIndicatorProvider,{scope:ya.__scopeMenu,checked:El,children:jsxRuntimeExports.jsx(MenuItem,{role:"menuitemradio","aria-checked":El,...va,ref:ma,"data-state":getCheckedState(El),onSelect:composeEventHandlers(va.onSelect,()=>Ma.onValueChange?.(ba),{checkForDefaultPrevented:!1})})})});MenuRadioItem.displayName=RADIO_ITEM_NAME$1;var ITEM_INDICATOR_NAME="MenuItemIndicator",[ItemIndicatorProvider,useItemIndicatorContext]=createMenuContext(ITEM_INDICATOR_NAME,{checked:!1}),MenuItemIndicator=reactExports.forwardRef((ya,ma)=>{const{__scopeMenu:ba,forceMount:va,...Ma}=ya,El=useItemIndicatorContext(ITEM_INDICATOR_NAME,ba);return jsxRuntimeExports.jsx(Presence,{present:va||isIndeterminate(El.checked)||El.checked===!0,children:jsxRuntimeExports.jsx(Primitive.span,{...Ma,ref:ma,"data-state":getCheckedState(El.checked)})})});MenuItemIndicator.displayName=ITEM_INDICATOR_NAME;var SEPARATOR_NAME$1="MenuSeparator",MenuSeparator=reactExports.forwardRef((ya,ma)=>{const{__scopeMenu:ba,...va}=ya;return jsxRuntimeExports.jsx(Primitive.div,{role:"separator","aria-orientation":"horizontal",...va,ref:ma})});MenuSeparator.displayName=SEPARATOR_NAME$1;var ARROW_NAME$1="MenuArrow",MenuArrow=reactExports.forwardRef((ya,ma)=>{const{__scopeMenu:ba,...va}=ya,Ma=usePopperScope(ba);return jsxRuntimeExports.jsx(Arrow,{...Ma,...va,ref:ma})});MenuArrow.displayName=ARROW_NAME$1;var SUB_NAME="MenuSub",[MenuSubProvider,useMenuSubContext]=createMenuContext(SUB_NAME),MenuSub=ya=>{const{__scopeMenu:ma,children:ba,open:va=!1,onOpenChange:Ma}=ya,El=useMenuContext(SUB_NAME,ma),wl=usePopperScope(ma),[Sl,Cl]=reactExports.useState(null),[Mc,Ef]=reactExports.useState(null),Zf=useCallbackRef$1(Ma);return reactExports.useEffect(()=>(El.open===!1&&Zf(!1),()=>Zf(!1)),[El.open,Zf]),jsxRuntimeExports.jsx(Root2$1,{...wl,children:jsxRuntimeExports.jsx(MenuProvider,{scope:ma,open:va,onOpenChange:Zf,content:Mc,onContentChange:Ef,children:jsxRuntimeExports.jsx(MenuSubProvider,{scope:ma,contentId:useId(),triggerId:useId(),trigger:Sl,onTriggerChange:Cl,children:ba})})})};MenuSub.displayName=SUB_NAME;var SUB_TRIGGER_NAME$1="MenuSubTrigger",MenuSubTrigger=reactExports.forwardRef((ya,ma)=>{const ba=useMenuContext(SUB_TRIGGER_NAME$1,ya.__scopeMenu),va=useMenuRootContext(SUB_TRIGGER_NAME$1,ya.__scopeMenu),Ma=useMenuSubContext(SUB_TRIGGER_NAME$1,ya.__scopeMenu),El=useMenuContentContext(SUB_TRIGGER_NAME$1,ya.__scopeMenu),wl=reactExports.useRef(null),{pointerGraceTimerRef:Sl,onPointerGraceIntentChange:Cl}=El,Mc={__scopeMenu:ya.__scopeMenu},Ef=reactExports.useCallback(()=>{wl.current&&window.clearTimeout(wl.current),wl.current=null},[]);return reactExports.useEffect(()=>Ef,[Ef]),reactExports.useEffect(()=>{const Zf=Sl.current;return()=>{window.clearTimeout(Zf),Cl(null)}},[Sl,Cl]),jsxRuntimeExports.jsx(MenuAnchor,{asChild:!0,...Mc,children:jsxRuntimeExports.jsx(MenuItemImpl,{id:Ma.triggerId,"aria-haspopup":"menu","aria-expanded":ba.open,"aria-controls":Ma.contentId,"data-state":getOpenState(ba.open),...ya,ref:composeRefs(ma,Ma.onTriggerChange),onClick:Zf=>{ya.onClick?.(Zf),!(ya.disabled||Zf.defaultPrevented)&&(Zf.currentTarget.focus(),ba.open||ba.onOpenChange(!0))},onPointerMove:composeEventHandlers(ya.onPointerMove,whenMouse(Zf=>{El.onItemEnter(Zf),!Zf.defaultPrevented&&!ya.disabled&&!ba.open&&!wl.current&&(El.onPointerGraceIntentChange(null),wl.current=window.setTimeout(()=>{ba.onOpenChange(!0),Ef()},100))})),onPointerLeave:composeEventHandlers(ya.onPointerLeave,whenMouse(Zf=>{Ef();const Jf=ba.content?.getBoundingClientRect();if(Jf){const dp=ba.content?.dataset.side,hp=dp==="right",dg=hp?-5:5,pg=Jf[hp?"left":"right"],hg=Jf[hp?"right":"left"];El.onPointerGraceIntentChange({area:[{x:Zf.clientX+dg,y:Zf.clientY},{x:pg,y:Jf.top},{x:hg,y:Jf.top},{x:hg,y:Jf.bottom},{x:pg,y:Jf.bottom}],side:dp}),window.clearTimeout(Sl.current),Sl.current=window.setTimeout(()=>El.onPointerGraceIntentChange(null),300)}else{if(El.onTriggerLeave(Zf),Zf.defaultPrevented)return;El.onPointerGraceIntentChange(null)}})),onKeyDown:composeEventHandlers(ya.onKeyDown,Zf=>{const Jf=El.searchRef.current!=="";ya.disabled||Jf&&Zf.key===" "||SUB_OPEN_KEYS[va.dir].includes(Zf.key)&&(ba.onOpenChange(!0),ba.content?.focus(),Zf.preventDefault())})})})});MenuSubTrigger.displayName=SUB_TRIGGER_NAME$1;var SUB_CONTENT_NAME$1="MenuSubContent",MenuSubContent=reactExports.forwardRef((ya,ma)=>{const ba=usePortalContext(CONTENT_NAME$1,ya.__scopeMenu),{forceMount:va=ba.forceMount,...Ma}=ya,El=useMenuContext(CONTENT_NAME$1,ya.__scopeMenu),wl=useMenuRootContext(CONTENT_NAME$1,ya.__scopeMenu),Sl=useMenuSubContext(SUB_CONTENT_NAME$1,ya.__scopeMenu),Cl=reactExports.useRef(null),Mc=useComposedRefs(ma,Cl);return jsxRuntimeExports.jsx(Collection.Provider,{scope:ya.__scopeMenu,children:jsxRuntimeExports.jsx(Presence,{present:va||El.open,children:jsxRuntimeExports.jsx(Collection.Slot,{scope:ya.__scopeMenu,children:jsxRuntimeExports.jsx(MenuContentImpl,{id:Sl.contentId,"aria-labelledby":Sl.triggerId,...Ma,ref:Mc,align:"start",side:wl.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:Ef=>{wl.isUsingKeyboardRef.current&&Cl.current?.focus(),Ef.preventDefault()},onCloseAutoFocus:Ef=>Ef.preventDefault(),onFocusOutside:composeEventHandlers(ya.onFocusOutside,Ef=>{Ef.target!==Sl.trigger&&El.onOpenChange(!1)}),onEscapeKeyDown:composeEventHandlers(ya.onEscapeKeyDown,Ef=>{wl.onClose(),Ef.preventDefault()}),onKeyDown:composeEventHandlers(ya.onKeyDown,Ef=>{const Zf=Ef.currentTarget.contains(Ef.target),Jf=SUB_CLOSE_KEYS[wl.dir].includes(Ef.key);Zf&&Jf&&(El.onOpenChange(!1),Sl.trigger?.focus(),Ef.preventDefault())})})})})})});MenuSubContent.displayName=SUB_CONTENT_NAME$1;function getOpenState(ya){return ya?"open":"closed"}function isIndeterminate(ya){return ya==="indeterminate"}function getCheckedState(ya){return isIndeterminate(ya)?"indeterminate":ya?"checked":"unchecked"}function focusFirst(ya){const ma=document.activeElement;for(const ba of ya)if(ba===ma||(ba.focus(),document.activeElement!==ma))return}function wrapArray(ya,ma){return ya.map((ba,va)=>ya[(ma+va)%ya.length])}function getNextMatch(ya,ma,ba){const Ma=ma.length>1&&Array.from(ma).every(Mc=>Mc===ma[0])?ma[0]:ma,El=ba?ya.indexOf(ba):-1;let wl=wrapArray(ya,Math.max(El,0));Ma.length===1&&(wl=wl.filter(Mc=>Mc!==ba));const Cl=wl.find(Mc=>Mc.toLowerCase().startsWith(Ma.toLowerCase()));return Cl!==ba?Cl:void 0}function isPointInPolygon(ya,ma){const{x:ba,y:va}=ya;let Ma=!1;for(let El=0,wl=ma.length-1;El<ma.length;wl=El++){const Sl=ma[El],Cl=ma[wl],Mc=Sl.x,Ef=Sl.y,Zf=Cl.x,Jf=Cl.y;Ef>va!=Jf>va&&ba<(Zf-Mc)*(va-Ef)/(Jf-Ef)+Mc&&(Ma=!Ma)}return Ma}function isPointerInGraceArea(ya,ma){if(!ma)return!1;const ba={x:ya.clientX,y:ya.clientY};return isPointInPolygon(ba,ma)}function whenMouse(ya){return ma=>ma.pointerType==="mouse"?ya(ma):void 0}var Root3=Menu,Anchor2=MenuAnchor,Portal=MenuPortal,Content2$1=MenuContent,Group=MenuGroup,Label=MenuLabel,Item2$1=MenuItem,CheckboxItem=MenuCheckboxItem,RadioGroup=MenuRadioGroup,RadioItem=MenuRadioItem,ItemIndicator=MenuItemIndicator,Separator=MenuSeparator,Arrow2=MenuArrow,Sub=MenuSub,SubTrigger=MenuSubTrigger,SubContent=MenuSubContent,DROPDOWN_MENU_NAME="DropdownMenu",[createDropdownMenuContext]=createContextScope(DROPDOWN_MENU_NAME,[createMenuScope]),useMenuScope=createMenuScope(),[DropdownMenuProvider,useDropdownMenuContext]=createDropdownMenuContext(DROPDOWN_MENU_NAME),DropdownMenu=ya=>{const{__scopeDropdownMenu:ma,children:ba,dir:va,open:Ma,defaultOpen:El,onOpenChange:wl,modal:Sl=!0}=ya,Cl=useMenuScope(ma),Mc=reactExports.useRef(null),[Ef,Zf]=useControllableState({prop:Ma,defaultProp:El??!1,onChange:wl,caller:DROPDOWN_MENU_NAME});return jsxRuntimeExports.jsx(DropdownMenuProvider,{scope:ma,triggerId:useId(),triggerRef:Mc,contentId:useId(),open:Ef,onOpenChange:Zf,onOpenToggle:reactExports.useCallback(()=>Zf(Jf=>!Jf),[Zf]),modal:Sl,children:jsxRuntimeExports.jsx(Root3,{...Cl,open:Ef,onOpenChange:Zf,dir:va,modal:Sl,children:ba})})};DropdownMenu.displayName=DROPDOWN_MENU_NAME;var TRIGGER_NAME="DropdownMenuTrigger",DropdownMenuTrigger=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,disabled:va=!1,...Ma}=ya,El=useDropdownMenuContext(TRIGGER_NAME,ba),wl=useMenuScope(ba);return jsxRuntimeExports.jsx(Anchor2,{asChild:!0,...wl,children:jsxRuntimeExports.jsx(Primitive.button,{type:"button",id:El.triggerId,"aria-haspopup":"menu","aria-expanded":El.open,"aria-controls":El.open?El.contentId:void 0,"data-state":El.open?"open":"closed","data-disabled":va?"":void 0,disabled:va,...Ma,ref:composeRefs(ma,El.triggerRef),onPointerDown:composeEventHandlers(ya.onPointerDown,Sl=>{!va&&Sl.button===0&&Sl.ctrlKey===!1&&(El.onOpenToggle(),El.open||Sl.preventDefault())}),onKeyDown:composeEventHandlers(ya.onKeyDown,Sl=>{va||(["Enter"," "].includes(Sl.key)&&El.onOpenToggle(),Sl.key==="ArrowDown"&&El.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(Sl.key)&&Sl.preventDefault())})})})});DropdownMenuTrigger.displayName=TRIGGER_NAME;var PORTAL_NAME="DropdownMenuPortal",DropdownMenuPortal=ya=>{const{__scopeDropdownMenu:ma,...ba}=ya,va=useMenuScope(ma);return jsxRuntimeExports.jsx(Portal,{...va,...ba})};DropdownMenuPortal.displayName=PORTAL_NAME;var CONTENT_NAME="DropdownMenuContent",DropdownMenuContent=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useDropdownMenuContext(CONTENT_NAME,ba),El=useMenuScope(ba),wl=reactExports.useRef(!1);return jsxRuntimeExports.jsx(Content2$1,{id:Ma.contentId,"aria-labelledby":Ma.triggerId,...El,...va,ref:ma,onCloseAutoFocus:composeEventHandlers(ya.onCloseAutoFocus,Sl=>{wl.current||Ma.triggerRef.current?.focus(),wl.current=!1,Sl.preventDefault()}),onInteractOutside:composeEventHandlers(ya.onInteractOutside,Sl=>{const Cl=Sl.detail.originalEvent,Mc=Cl.button===0&&Cl.ctrlKey===!0,Ef=Cl.button===2||Mc;(!Ma.modal||Ef)&&(wl.current=!0)}),style:{...ya.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});DropdownMenuContent.displayName=CONTENT_NAME;var GROUP_NAME="DropdownMenuGroup",DropdownMenuGroup=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(Group,{...Ma,...va,ref:ma})});DropdownMenuGroup.displayName=GROUP_NAME;var LABEL_NAME="DropdownMenuLabel",DropdownMenuLabel=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(Label,{...Ma,...va,ref:ma})});DropdownMenuLabel.displayName=LABEL_NAME;var ITEM_NAME="DropdownMenuItem",DropdownMenuItem=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(Item2$1,{...Ma,...va,ref:ma})});DropdownMenuItem.displayName=ITEM_NAME;var CHECKBOX_ITEM_NAME="DropdownMenuCheckboxItem",DropdownMenuCheckboxItem=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(CheckboxItem,{...Ma,...va,ref:ma})});DropdownMenuCheckboxItem.displayName=CHECKBOX_ITEM_NAME;var RADIO_GROUP_NAME="DropdownMenuRadioGroup",DropdownMenuRadioGroup=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(RadioGroup,{...Ma,...va,ref:ma})});DropdownMenuRadioGroup.displayName=RADIO_GROUP_NAME;var RADIO_ITEM_NAME="DropdownMenuRadioItem",DropdownMenuRadioItem=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(RadioItem,{...Ma,...va,ref:ma})});DropdownMenuRadioItem.displayName=RADIO_ITEM_NAME;var INDICATOR_NAME="DropdownMenuItemIndicator",DropdownMenuItemIndicator=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(ItemIndicator,{...Ma,...va,ref:ma})});DropdownMenuItemIndicator.displayName=INDICATOR_NAME;var SEPARATOR_NAME="DropdownMenuSeparator",DropdownMenuSeparator=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(Separator,{...Ma,...va,ref:ma})});DropdownMenuSeparator.displayName=SEPARATOR_NAME;var ARROW_NAME="DropdownMenuArrow",DropdownMenuArrow=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(Arrow2,{...Ma,...va,ref:ma})});DropdownMenuArrow.displayName=ARROW_NAME;var DropdownMenuSub=ya=>{const{__scopeDropdownMenu:ma,children:ba,open:va,onOpenChange:Ma,defaultOpen:El}=ya,wl=useMenuScope(ma),[Sl,Cl]=useControllableState({prop:va,defaultProp:El??!1,onChange:Ma,caller:"DropdownMenuSub"});return jsxRuntimeExports.jsx(Sub,{...wl,open:Sl,onOpenChange:Cl,children:ba})},SUB_TRIGGER_NAME="DropdownMenuSubTrigger",DropdownMenuSubTrigger=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(SubTrigger,{...Ma,...va,ref:ma})});DropdownMenuSubTrigger.displayName=SUB_TRIGGER_NAME;var SUB_CONTENT_NAME="DropdownMenuSubContent",DropdownMenuSubContent=reactExports.forwardRef((ya,ma)=>{const{__scopeDropdownMenu:ba,...va}=ya,Ma=useMenuScope(ba);return jsxRuntimeExports.jsx(SubContent,{...Ma,...va,ref:ma,style:{...ya.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});DropdownMenuSubContent.displayName=SUB_CONTENT_NAME;var Root2=DropdownMenu,Trigger=DropdownMenuTrigger,Portal2=DropdownMenuPortal,Content2=DropdownMenuContent,Item2=DropdownMenuItem,Sub2=DropdownMenuSub,SubTrigger2=DropdownMenuSubTrigger,SubContent2=DropdownMenuSubContent;const EventContext=React.createContext(null),ReferenceSelector=({onSelect:ya})=>{const{moduleName:ma}=useParams(),ba=reactExports.useContext(EventContext),va=getEntities(ma||""),Ma=getEvents(ma||""),El=getRelationships(ma||""),Sl=[...Ma.filter(Jf=>{try{fetchModule$2(ma||"").getWorkflowForEvent(Jf);const dg=getEvent$1(Jf,ma||"")?.getUserAttributeNames()||new Set;return ba?Jf===ba&&dg.size>0:dg.size>0}catch{return!1}}).map(Jf=>({id:Jf,label:Jf,type:"event",icon:icons.action,attributes:Cl(Jf)})),...va.map(Jf=>({id:Jf,label:Jf,type:"entity",icon:icons.entity,attributes:Mc(Jf)})),...El.map(Jf=>({id:Jf,label:Jf,type:"relationship",icon:icons.relationship,attributes:Ef()}))];function Cl(Jf){try{const dp=getEvent$1(Jf,ma||"");return Array.from(dp?.getUserAttributeNames()||[])}catch{return[]}}function Mc(Jf){try{const dp=getEntity$1(Jf,ma||"");return Array.from(dp?.getUserAttributeNames()||[])}catch{return[]}}function Ef(Jf){return[]}const Zf=(Jf,dp)=>{const hp=`${Jf}.${dp}`;ya(hp)};return jsxRuntimeExports.jsx(Portal2,{children:jsxRuntimeExports.jsx(Content2,{className:classNames("context-menu max-h-96 overflow-y-auto **:data-radix-collection-item:bg-primary!**:data-radix-collection-item:hover:bg-hover!**:data-radix-collection-item:text-white!","dropdown-content-width-full"),"data-query-attribute-menu":"true",sideOffset:5,alignOffset:-5,children:Sl.map(Jf=>jsxRuntimeExports.jsxs(Sub2,{children:[jsxRuntimeExports.jsxs(SubTrigger2,{className:"item bg-primary! hover:bg-hover! text-white flex items-center",textValue:Jf.label,children:[jsxRuntimeExports.jsx(Icon,{icon:Jf.icon,className:"icon"}),jsxRuntimeExports.jsx("span",{className:"label grow",children:Jf.label}),Jf.attributes&&Jf.attributes.length>0&&jsxRuntimeExports.jsx(Icon,{icon:"tabler:chevron-right",className:"icon"})]}),jsxRuntimeExports.jsx(Portal2,{children:jsxRuntimeExports.jsx(SubContent2,{className:"context-menu w-max! p-3!",children:Jf.attributes&&Jf.attributes.length>0?Jf.attributes.map(dp=>jsxRuntimeExports.jsx(Item2,{className:"item bg-primary! hover:bg-hover! text-white",onSelect:()=>Zf(Jf.id,dp),children:jsxRuntimeExports.jsx("span",{className:"label",children:dp})},dp)):jsxRuntimeExports.jsx("div",{className:"px-3 py-2 text-sm text-secondary-font",children:"No attributes available"})})})]},Jf.id))})})},EventProvider=EventContext.Provider,safeParse=ya=>{try{const ma=JSON.parse(ya);return typeof ma=="object"&&ma!==null?ma:{}}catch{return{}}},operators=[{value:"=",label:"Equals"},{value:"<>",label:"Not Equals"},{value:"<",label:"Less Than"},{value:"<=",label:"Less Than or Equal To"},{value:">",label:"Greater Than"},{value:">=",label:"Greater Than or Equal To"},{value:"between",label:"Between"}],getDefaultValue=ya=>{switch(ya){case"array":return"[]";case"map":return"{}";case"boolean":return"true";default:return""}},AttributeForm=({name:ya,attribute:ma,idx:ba,options:va,isQuery:Ma=!1})=>{const[El,,wl]=useField(ya),Sl=El.value,Cl=mg=>{wl.setValue(Sl.filter((gg,sy)=>sy!==mg))},Mc=(mg,gg,sy)=>{if(gg==="op")if(Sl[mg].op==="between"||sy==="between"){const H1=sy==="between"?["string","string"]:"string",lE=sy==="between"?["",""]:"";wl.setValue(Sl.map((R_,V1)=>V1===mg?{...R_,op:sy,type:H1,inputValue:lE}:R_))}else wl.setValue(Sl.map((H1,lE)=>lE===mg?{...H1,op:sy}:H1));else wl.setValue(Sl.map((ly,cy)=>cy===mg?{...ly,[gg]:sy}:ly))},Ef=mg=>{console.log("setValue",mg),Mc(ba,"inputValue",mg)},Zf=mg=>{Ef(mg)},Jf=(mg,gg)=>{const sy=Array.isArray(ma.inputValue)?ma.inputValue:[ma.inputValue,""],ly=mg===0?[gg,sy[1]]:[sy[0],gg];wl.setValue(Sl.map((cy,uy)=>uy===ba?{...cy,inputValue:ly}:cy))},dp=(mg,gg)=>{const sy=Array.isArray(ma.type)?ma.type:[ma.type,ma.type],ly=mg===0?[gg,sy[1]]:[sy[0],gg],cy=Array.isArray(ma.inputValue)?ma.inputValue:[ma.inputValue,""],uy=getDefaultValue(gg),H1=mg===0?[uy,cy[1]]:[cy[0],uy];wl.setValue(Sl.map((lE,R_)=>R_===ba?{...lE,type:ly,inputValue:H1}:lE))},hp=ma.op==="between",dg=ma.type,pg=ma.inputValue,hg=(mg,gg,sy)=>{switch(mg){case"expression":return jsxRuntimeExports.jsx("div",{className:"grow",children:jsxRuntimeExports.jsx(ExpressionBuilder,{expression:gg,onExpressionChange:sy})});case"reference":return jsxRuntimeExports.jsxs(Root2,{modal:!1,children:[jsxRuntimeExports.jsx(Trigger,{asChild:!0,children:jsxRuntimeExports.jsx("div",{className:"relative flex items-center w-full",children:jsxRuntimeExports.jsx("input",{type:"text",placeholder:"Value",value:gg,onChange:ly=>sy(ly.target.value),className:"flex-1 bg-transparent border-none outline-none"})})}),jsxRuntimeExports.jsx(ReferenceSelector,{onSelect:Zf})]});case"string":return jsxRuntimeExports.jsxs("div",{className:"relative flex items-center w-full",children:[jsxRuntimeExports.jsx("input",{type:"text",value:gg,className:"flex-1 bg-transparent border-none outline-none",onChange:ly=>sy(ly.target.value)}),jsxRuntimeExports.jsx("button",{type:"button",className:"p-1 hover:bg-gray-600 rounded",onClick:ly=>{ly.preventDefault(),ly.stopPropagation()},children:jsxRuntimeExports.jsx(Icon,{icon:"tabler:chevron-down",className:"text-sm"})})]});case"number":return jsxRuntimeExports.jsx("input",{type:"number",className:"!bg-transparent border-none",value:gg,onChange:ly=>sy(ly.target.value)});case"array":return jsxRuntimeExports.jsx(ArrayInput,{value:gg,setValue:sy});case"map":return jsxRuntimeExports.jsx("div",{className:"ml-4 w-full",children:jsxRuntimeExports.jsx(Oe$1,{restrictDrag:!1,rootName:"data",data:safeParse(gg),onUpdate:ly=>sy(JSON.stringify(ly.newData)),className:"json-editor w-full bg-transparent text-white"})});case"boolean":return jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 grow pl-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center cursor-pointer",onClick:()=>sy("true"),children:[jsxRuntimeExports.jsx(Icon,{icon:gg==="true"?icons.checkboxSelected:icons.checkbox,className:classNames(["text-xl",gg==="true"?"text-checkbox-selected":"text-secondary-font"])}),"True"]}),jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center cursor-pointer",onClick:()=>sy("false"),children:[jsxRuntimeExports.jsx(Icon,{icon:gg==="false"?icons.checkboxSelected:icons.checkbox,className:classNames(["text-xl",gg==="false"?"text-checkbox-selected":"text-secondary-font"])}),"False"]})]});default:return null}};return jsxRuntimeExports.jsxs("div",{className:"bg-primary/50 border border-white/10 rounded-md py-2 px-3 flex items-center gap-3",children:[jsxRuntimeExports.jsx("div",{className:"flex-1",children:jsxRuntimeExports.jsx(Dropdown,{value:ma.name,options:va.map(mg=>({label:mg,value:mg})),onChange:mg=>Mc(ba,"name",mg),placeholder:"Name"})}),Ma&&jsxRuntimeExports.jsx("div",{className:"w-32",children:jsxRuntimeExports.jsx(Dropdown,{value:ma.op||"=",options:operators,onChange:mg=>Mc(ba,"op",mg),placeholder:"Operator"})}),jsxRuntimeExports.jsx("div",{className:"flex-1",children:hp?jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2",children:[0,1].map(mg=>jsxRuntimeExports.jsx("div",{className:"flex-1",children:jsxRuntimeExports.jsxs("div",{className:"relative flex items-center input-container !p-0",children:[jsxRuntimeExports.jsx(Selector,{value:Array.isArray(dg)?dg[mg]:dg,onChange:gg=>dp(mg,gg)}),hg(Array.isArray(dg)?dg[mg]:dg,Array.isArray(pg)?pg[mg]:pg,gg=>Jf(mg,gg))]})},mg))}):jsxRuntimeExports.jsxs("div",{className:"relative flex items-center input-container !p-0",children:[jsxRuntimeExports.jsx(Selector,{value:dg,onChange:mg=>{const gg=getDefaultValue(mg);wl.setValue(Sl.map((sy,ly)=>ly===ba?{...sy,type:mg,inputValue:gg}:sy))}}),hg(dg,pg,Ef)]})}),jsxRuntimeExports.jsx(DeleteButton,{onClickHandler:()=>Cl(ba)})]})},Modal=({name:ya,record:ma,closeHandler:ba,isQuery:va})=>{const{moduleName:Ma}=useParams(),[El,,wl]=useField(ya),Sl=El.value,Cl=useOutsideClickHandler(ba),Mc=()=>{wl.setValue([...Sl,{name:"",type:"reference",inputValue:""}])};let Ef;isAgent(Ma||"",ma)?Ef=getAgent(Ma||"",ma):isEvent(Ma||"",ma)?Ef=getEvent$1(ma,Ma||""):isRecord(Ma||"",ma)?Ef=getRecord(ma,Ma||""):Ef=getEntity$1(ma,Ma||"");const Zf=Array.from(Ef?.getUserAttributeNames()||[]),dp=isAgent(Ma||"",ma)&&!Zf.includes("message")?[...Zf,"message"]:Zf;return jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content w-3/5!",ref:Cl,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Attributes"}),jsxRuntimeExports.jsx("div",{className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ba,children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"icon"})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[Sl.map((hp,dg)=>jsxRuntimeExports.jsx(AttributeForm,{isQuery:va,options:dp,attribute:hp,idx:dg,name:ya},hp.name)),jsxRuntimeExports.jsx("div",{className:"add-workflow-button w-8! h-8! text-xs! bg-highlight!",onClick:Mc,children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})})]})]})})},Attibutes=({name:ya="attributes",text:ma="Add Attributes",record:ba,isQuery:va=!1})=>{const[Ma,El]=reactExports.useState(!1),[wl,,]=useField(ya),Sl=wl.value;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Ma&&reactDomExports.createPortal(jsxRuntimeExports.jsx(Modal,{name:ya,record:ba,isQuery:va,closeHandler:()=>El(!1)}),document.body),Sl.length>0?jsxRuntimeExports.jsxs("div",{className:"bg-secondary/40 border border-white/20 rounded-lg p-4 flex flex-col gap-2 relative",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 ",children:[jsxRuntimeExports.jsx(Icon,{icon:va?"mdi:filter-variant":"mdi:format-list-bulleted",className:"text-blue-400",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"font-semibold text-primary-font",children:va?"Query Attributes":"Attributes"})]}),jsxRuntimeExports.jsx("div",{className:"space-y-2",children:Sl.map((Cl,Mc)=>{const Ef=Cl.op==="between";return jsxRuntimeExports.jsxs("div",{className:"bg-primary border border-white/10 rounded-md p-3 flex items-center gap-3",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-medium text-primary-font w-1/6 line-clamp-1",children:Cl.name}),va&&jsxRuntimeExports.jsx("span",{className:"bg-secondary px-2 py-1 rounded text-xs font-mono text-blue-400",children:Cl.op||"="}),Ef?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 grow",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:arrow-left-right",className:"text-blue-400 shrink-0",width:14,height:14}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx("span",{className:"text-sm text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-1 border border-blue-500/30",children:Cl.inputValue[0]}),jsxRuntimeExports.jsx("span",{className:"text-sm text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-1 border border-blue-500/30",children:Cl.inputValue[1]})]})]}):Cl.type==="expression"?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 grow",children:[jsxRuntimeExports.jsx(Icon,{icon:SELECTOR_ICONS_AND_LABEL.expression.icon,className:"text-blue-400 shrink-0",width:14,height:14}),jsxRuntimeExports.jsx("span",{className:"text-xs text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-2 border border-blue-500/30 font-mono max-w-full overflow-hidden",children:Cl.inputValue||"No expression set"})]}):Cl.type==="reference"?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 grow",children:[jsxRuntimeExports.jsx(Icon,{icon:SELECTOR_ICONS_AND_LABEL.reference.icon,className:"text-blue-400 shrink-0",width:14,height:14}),jsxRuntimeExports.jsx("span",{className:"text-sm text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-1 border border-blue-500/30",children:Cl.inputValue})]}):jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 grow",children:[jsxRuntimeExports.jsx(Icon,{icon:SELECTOR_ICONS_AND_LABEL.string.icon,className:"text-blue-400 shrink-0",width:14,height:14}),jsxRuntimeExports.jsx("span",{className:"text-sm text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-1 border border-blue-500/30",children:Cl.inputValue})]})]},Cl.name||Mc)})}),jsxRuntimeExports.jsx("div",{className:"absolute top-3 right-3",children:jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>El(!0),className:"bg-blue-500/20 hover:bg-blue-500/30 text-blue-400 hover:text-blue-300 p-1 cursor-pointer rounded-md transition-colors border border-blue-500/30",title:`Edit ${va?"query":"update"} attributes`,children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,width:16,height:16})})})]}):jsxRuntimeExports.jsx("div",{className:"primary-button",onClick:()=>El(!0),children:ma})]})},Form$6=({index:ya,event:ma,pattern:ba,closeHandler:va})=>{const{updateStatementHandler:Ma}=useWorkflow(ma),{model:El,module:wl,entity:Sl}=useStatementRecord(ba.getNormalizedRecordName()),{currentTeam:Cl}=useTeams(),Mc=getAttributes(ba.attributes);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6 justify-between",children:[isAgent(wl||"",Sl)?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.agent})}),"Invoke Agent"]}):isEvent(wl||"",Sl)?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-action-bg text-action-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.action})}),"Trigger Event"]}):jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20` text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.create})}),"Create"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:()=>va()})]}),jsxRuntimeExports.jsx(Formik,{initialValues:{model:El,module:wl,entity:Sl,attributes:Mc,alias:ba.alias},onSubmit:Ef=>{const{model:Zf,module:Jf,entity:dp,alias:hp,attributes:dg}=Ef,pg=getEntityNameForStatement(Zf,Jf,dp,Cl?.GitHubRepo),hg=new CrudPattern$1(pg);hp&&hg.setAlias(hp),dg.length>0&&setAttributes(dg,hg),Ma(ya,hg.toString())},children:jsxRuntimeExports.jsxs(Form$7,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx(EntitySelector,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Alias,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Attibutes,{record:ba.getNormalizedRecordName()}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary-button",children:"Save"})]})})]})},AttributeDisplay=({attr:ya,idx:ma})=>{const ba=ya.op==="between";return jsxRuntimeExports.jsxs("div",{className:"bg-primary border border-white/10 rounded-md p-3 flex items-center gap-3",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-medium text-primary-font w-1/6 line-clamp-1",children:ya.name}),jsxRuntimeExports.jsx("span",{className:"bg-secondary px-2 py-1 rounded text-xs font-mono text-blue-400",children:ya.op||"="}),ba?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 grow",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:arrow-left-right",className:"text-blue-400 flex-shrink-0",width:14,height:14}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx("span",{className:"text-sm text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-1 border border-blue-500/30",children:ya.inputValue[0]}),jsxRuntimeExports.jsx("span",{className:"text-sm text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-1 border border-blue-500/30",children:ya.inputValue[1]})]})]}):ya.type==="expression"?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 grow",children:[jsxRuntimeExports.jsx(Icon,{icon:SELECTOR_ICONS_AND_LABEL.expression.icon,className:"text-blue-400 flex-shrink-0",width:14,height:14}),jsxRuntimeExports.jsx("span",{className:"text-xs text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-2 border border-blue-500/30 font-mono max-w-full overflow-hidden",children:ya.inputValue||"No expression set"})]}):ya.type==="reference"?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 grow",children:[jsxRuntimeExports.jsx(Icon,{icon:SELECTOR_ICONS_AND_LABEL.reference.icon,className:"text-blue-400 flex-shrink-0",width:14,height:14}),jsxRuntimeExports.jsx("span",{className:"text-sm text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-1 border border-blue-500/30",children:ya.inputValue})]}):jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 grow",children:[jsxRuntimeExports.jsx(Icon,{icon:SELECTOR_ICONS_AND_LABEL.string.icon,className:"text-blue-400 flex-shrink-0",width:14,height:14}),jsxRuntimeExports.jsx("span",{className:"text-sm text-blue-300 bg-blue-500/20 px-2 py-1 rounded grow line-clamp-1 border border-blue-500/30",children:ya.inputValue})]})]},ya.name||ma)},RelationshipAttributeModal=({relationship:ya,onClose:ma,onSave:ba,initialValues:va=[]})=>{const{moduleName:Ma}=useParams(),{queryAttributes:El,updateAttributes:wl}=reactExports.useMemo(()=>{const Ef=va.filter(Jf=>Jf.isQuery),Zf=va.filter(Jf=>!Jf.isQuery);return{queryAttributes:Ef,updateAttributes:Zf}},[va]),Sl=Ef=>{ba([...Ef.queryAttributes,...Ef.updateAttributes]),ma()};let Cl,Mc=[];try{Cl=getEntity$1(ya.entity,ya.module||Ma||""),Mc=Array.from(Cl?.getUserAttributeNames()||[]).map(Ef=>({label:Ef,value:Ef}))}catch(Ef){console.error("Error getting entity:",Ef),Mc=[]}return reactDomExports.createPortal(jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content !w-3/5",children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Relationship Attributes"}),jsxRuntimeExports.jsx("div",{className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ma,children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"icon"})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Formik,{initialValues:{queryAttributes:El,updateAttributes:wl},onSubmit:Sl,children:({values:Ef,setValues:Zf})=>jsxRuntimeExports.jsx(Form$7,{children:jsxRuntimeExports.jsxs("div",{className:"modal-body",children:[jsxRuntimeExports.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx("h3",{className:"text-lg font-semibold mb-2 text-primary-font",children:"Query Attributes"}),Ef.queryAttributes.map((Jf,dp)=>jsxRuntimeExports.jsx(AttributeForm,{name:"queryAttributes",attribute:Jf,idx:dp,options:Mc.map(hp=>hp.value),isQuery:!0},dp)),jsxRuntimeExports.jsx("div",{className:"add-workflow-button !w-8 !h-8 !text-xs !bg-highlight",onClick:()=>Zf({...Ef,queryAttributes:[...Ef.queryAttributes,{name:"",op:"=",value:null,inputValue:"",type:"string",isQuery:!0}]}),children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx("h3",{className:"text-lg font-semibold mb-2 text-primary-font",children:"Update Attributes"}),Ef.updateAttributes.map((Jf,dp)=>jsxRuntimeExports.jsx(AttributeForm,{name:"updateAttributes",attribute:Jf,idx:dp,options:Mc.map(hp=>hp.value)},dp)),jsxRuntimeExports.jsx("div",{className:"add-workflow-button !w-8 !h-8 !text-xs !bg-highlight",onClick:()=>Zf({...Ef,updateAttributes:[...Ef.updateAttributes,{name:"",op:"=",value:null,inputValue:"",type:"string",isQuery:!1}]}),children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[jsxRuntimeExports.jsx("div",{className:"cancel-button",onClick:ma,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"sure-button",children:"Save"})]})]})})})]})}),document.body)},RelationshipAttributesDisplay=({attributes:ya,setShowModal:ma})=>{const ba=ya.filter(Ma=>Ma.isQuery),va=ya.filter(Ma=>!Ma.isQuery);return ya.length===0?null:jsxRuntimeExports.jsxs("div",{className:"bg-secondary/40 border border-white/20 rounded-lg p-4 flex flex-col gap-2 ",children:[ba.length>0&&jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 ",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:filter-variant",className:"text-blue-400",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"font-semibold text-primary-font",children:"Attributes"})]}),jsxRuntimeExports.jsx("div",{className:"space-y-2",children:ba.map((Ma,El)=>jsxRuntimeExports.jsx(AttributeDisplay,{attr:Ma,idx:El},El))})]}),va.length>0&&jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 ",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:format-list-bulleted",className:"text-blue-400",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"font-semibold text-primary-font",children:"Attributes"})]}),jsxRuntimeExports.jsx("div",{className:"space-y-2",children:va.map((Ma,El)=>jsxRuntimeExports.jsx(AttributeDisplay,{attr:Ma,idx:El},El))})]}),jsxRuntimeExports.jsx("div",{className:"absolute top-3 right-3",children:jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ma(!0),className:"bg-blue-500/20 hover:bg-blue-500/30 text-blue-400 hover:text-blue-300 p-1 cursor-pointer rounded-md transition-colors border border-blue-500/30",title:"Edit upsert criteria",children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,width:16,height:16})})})]})},RelationshipAttributes=({relationship:ya,path:ma,allRelationships:ba,setRelationships:va})=>{const[Ma,El]=reactExports.useState(!1),wl=ya.attributes||[],Sl=Cl=>{const Mc=Cl,Ef=(Zf,Jf,dp)=>Jf.length===0?Zf:Jf.length===1?Zf.map((hp,dg)=>dg===Jf[0]?{...hp,attributes:dp}:hp):Zf.map((hp,dg)=>dg===Jf[0]?{...hp,relationships:Ef(hp.relationships,Jf.slice(1),dp)}:hp);va(Ef(ba,ma,Mc))};return!ya.name||!ya.entity?null:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[wl.length>0?jsxRuntimeExports.jsx("div",{className:"relative",children:jsxRuntimeExports.jsx(RelationshipAttributesDisplay,{attributes:wl,setShowModal:El})}):jsxRuntimeExports.jsx("div",{className:"primary-button",onClick:()=>El(!0),children:"Add Attributes"}),Ma&&jsxRuntimeExports.jsx(RelationshipAttributeModal,{relationship:ya,onClose:()=>El(!1),onSave:Sl,initialValues:wl})]})},RelationshipAccordion=({relationship:ya,path:ma,allRelationships:ba,setRelationships:va})=>{const Ma=getUserModuleNames(),El=ma.length>1,wl=()=>ya.name?ya.name:ya.module?`${ya.module} Relationship`:"New Relationship",Sl=(Ef,Zf)=>{const Jf=(dp,hp,dg,pg)=>hp.length===0?dp:hp.length===1?dp.map((hg,mg)=>mg===hp[0]?{...hg,[dg]:pg}:hg):dp.map((hg,mg)=>mg===hp[0]?{...hg,relationships:Jf(hg.relationships,hp.slice(1),dg,pg)}:hg);va(Jf(ba,ma,Ef,Zf))},Cl=()=>{const Ef={id:v4$2(),name:"",model:ya.model||"",module:ya.module||"",entity:"",attributes:[],relationships:[]},Zf=(Jf,dp,hp)=>dp.length===0?[...Jf,hp]:dp.length===1?Jf.map((dg,pg)=>pg===dp[0]?{...dg,relationships:[...dg.relationships,hp]}:dg):Jf.map((dg,pg)=>pg===dp[0]?{...dg,relationships:Zf(dg.relationships,dp.slice(1),hp)}:dg);va(Zf(ba,ma,Ef))},Mc=()=>{const Ef=(Zf,Jf)=>Jf.length===0?Zf:Jf.length===1?Zf.filter((dp,hp)=>hp!==Jf[0]):Zf.map((dp,hp)=>hp===Jf[0]?{...dp,relationships:Ef(dp.relationships,Jf.slice(1))}:dp);va(Ef(ba,ma))};return jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx(h1,{label:wl(),icon:"mdi:relation-many-to-many",defaultOpen:!0,className:El?"!bg-transparent shadow-none !p-0":"",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 p-2",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[jsxRuntimeExports.jsx(Dropdown,{placeholder:"Model",options:[],value:ya.model,onChange:Ef=>{Sl("model",Ef)}}),jsxRuntimeExports.jsx(Dropdown,{placeholder:"Module",options:Ma.map(Ef=>({label:Ef,value:Ef})),value:ya.module,onChange:Ef=>{Sl("module",Ef)}})]}),jsxRuntimeExports.jsx(Dropdown,{placeholder:"Relationship",options:getRelationships(ya.module).map(Ef=>({label:Ef,value:Ef})),value:ya.name,onChange:Ef=>{Sl("name",Ef)}}),ya.name&&jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Dropdown,{placeholder:"Entity",options:getEntities(ya.module).map(Ef=>({label:Ef,value:Ef})),value:ya.entity,onChange:Ef=>{Sl("entity",Ef)}}),ya.entity&&jsxRuntimeExports.jsx(RelationshipAttributes,{relationship:ya,path:ma,allRelationships:ba,setRelationships:va})]})]}),ya.name&&jsxRuntimeExports.jsxs("div",{className:"mt-3 pt-3 border-t border-white/10",children:[ya.relationships.length>0&&jsxRuntimeExports.jsx("div",{className:"space-y-2 mb-2",children:ya.relationships.map((Ef,Zf)=>jsxRuntimeExports.jsx("div",{className:"rounded border border-white/10 p-2",children:jsxRuntimeExports.jsx(RelationshipAccordion,{relationship:Ef,path:[...ma,Zf],allRelationships:ba,setRelationships:va})},Ef.id))}),jsxRuntimeExports.jsx("div",{className:"add-workflow-button !w-8 !h-8 !text-[12px]",onClick:Cl,title:"Add nested relationship",children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})})]})]})}),jsxRuntimeExports.jsx("button",{onClick:Mc,className:"absolute top-3 right-8 z-10 p-1.5 rounded-md hover:bg-red-500/20 text-red-400 hover:text-red-300 transition-colors cursor-pointer",title:"Delete relationship",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,width:14,height:14})})]})},Relationsihps=()=>{const{teamName:ya,moduleName:ma}=useParams(),[ba,,va]=useField("relationships"),Ma=ba.value,El=()=>{const wl={id:v4$2(),name:"",model:ya||"",module:ma||"",entity:"",attributes:[],relationships:[]};va.setValue([...Ma,wl])};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsx("div",{className:"text-secondary-font",children:"Relationships"}),Ma.map((wl,Sl)=>jsxRuntimeExports.jsx(RelationshipAccordion,{relationship:wl,path:[Sl],allRelationships:Ma,setRelationships:va.setValue},wl.id)),jsxRuntimeExports.jsx("div",{className:"add-workflow-button !w-8 !h-8 !text-[12px]",onClick:El,children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})})]})},Into=()=>{const[ya,,ma]=useField("intoSyntaxInput"),ba=ya.value,va=()=>{const wl={id:v4$2(),key:"",value:""};ma.setValue([...ba,wl])},Ma=(wl,Sl,Cl)=>{const Mc=ba.map(Ef=>Ef.id===wl?{...Ef,[Sl]:Cl}:Ef);ma.setValue(Mc)},El=wl=>{const Sl=ba.filter(Cl=>Cl.id!==wl);ma.setValue(Sl)};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsx("div",{className:"text-secondary-font",children:"Into"}),ba.map(wl=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"relative w-full",children:[jsxRuntimeExports.jsx("input",{type:"text",value:wl.key,placeholder:"",onChange:Sl=>Ma(wl.id,"key",Sl.target.value),className:"floating-input"}),jsxRuntimeExports.jsx("label",{className:"floating-label",children:"Key"})]}),jsxRuntimeExports.jsxs("div",{className:"relative w-full",children:[jsxRuntimeExports.jsx("input",{type:"text",value:wl.value,placeholder:"",onChange:Sl=>Ma(wl.id,"value",Sl.target.value),className:"floating-input"}),jsxRuntimeExports.jsx("label",{className:"floating-label",children:"Value"})]})]}),jsxRuntimeExports.jsx(DeleteButton,{onClickHandler:()=>El(wl.id)})]},wl.id)),jsxRuntimeExports.jsx("div",{className:"add-workflow-button !w-8 !h-8 !text-[12px]",onClick:va,title:"Add into field",children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})})]})},Form$5=({index:ya,event:ma,type:ba,pattern:va,closeHandler:Ma})=>{const{updateStatementHandler:El}=useWorkflow(ma),{model:wl,module:Sl,entity:Cl}=useStatementRecord(va.getNormalizedRecordName()),{currentTeam:Mc}=useTeams(),{formRelationshipInput:Ef}=useRelationship(),Zf=va.relationships?Ef(va.relationships):[],Jf=va.into?getIntoSyntaxInput(va.into):[],{queryAttributes:dp,updateAttributes:hp}=getQueryUpdateAttributes(va.attributes);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6 justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:`context-menu-icon ${ba==="read"?"bg-read-bg text-read-icon":"bg-update-bg text-update-icon"}`,children:jsxRuntimeExports.jsx(Icon,{icon:ba==="read"?icons.read:icons.update})}),ba==="read"?"Read":"Update"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:()=>Ma()})]}),jsxRuntimeExports.jsx(Formik,{initialValues:{model:wl,module:Sl,entity:Cl,alias:va.alias,queryAttributes:dp,updateAttributes:hp,relationships:Zf,intoSyntaxInput:Jf},onSubmit:dg=>{const{model:pg,module:hg,entity:mg,queryAttributes:gg,updateAttributes:sy,alias:ly,relationships:cy,intoSyntaxInput:uy}=dg,lE=getEntityNameForStatement(pg,hg,mg,Mc?.GitHubRepo).replace(/\?/g,""),R_=new CrudPattern$1(gg.length>0?lE:`${lE}?`);ly&&R_.setAlias(ly),gg.length>0&&setAttributes(gg,R_,!0),sy.length>0&&setAttributes(sy,R_),cy.length>0&&formRelationshipOutput(R_,cy),uy.length>0&&addIntoSyntaxInOutput(R_,uy),El(ya,R_.toString())},children:jsxRuntimeExports.jsxs(Form$7,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx(EntitySelector,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Alias,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Attibutes,{name:"queryAttributes",text:"Add Query Attributes",record:va.getNormalizedRecordName(),isQuery:!0}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Attibutes,{name:"updateAttributes",text:"Add Update Attributes",record:va.getNormalizedRecordName()}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Relationsihps,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Into,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary-button",children:"Save"})]})})]})},Form$4=({pattern:ya,closeHandler:ma,index:ba,event:va})=>{const{updateStatementHandler:Ma}=useWorkflow(va),{model:El,module:wl,entity:Sl}=useStatementRecord(ya.getNormalizedRecordName()),{currentTeam:Cl}=useTeams(),{queryAttributes:Mc}=getQueryUpdateAttributes(ya.attributes);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6 justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-delete-bg text-delete-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete})}),"Delete"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:()=>ma()})]}),jsxRuntimeExports.jsx(Formik,{initialValues:{model:El,module:wl,entity:Sl,attributes:Mc,alias:ya.alias},onSubmit:Ef=>{const{model:Zf,module:Jf,entity:dp,alias:hp,attributes:dg}=Ef,pg=getEntityNameForStatement(Zf,Jf,dp,Cl?.GitHubRepo),hg=new CrudPattern$1(pg);hp&&hg.setAlias(hp),dg.length>0&&setAttributes(dg,hg,!0);const mg=new DeletePattern$1(hg);Ma(ba,mg.toString())},children:jsxRuntimeExports.jsxs(Form$7,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx(EntitySelector,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Alias,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Attibutes,{isQuery:!0,record:ya.getNormalizedRecordName()}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary-button",children:"Save"})]})})]})};function useStatementSelector(ya){const{selectedStatement:ma,setSelectedStatement:ba}=useAppStore(),va=ma===ya,Ma=document.getElementById("canvas-area");return{isSelected:va,setSelectedStatement:ba,targetContainer:Ma}}const CrudBadge=({pattern:ya,index:ma,event:ba,path:va,type:Ma,children:El,isTeamEditable:wl})=>{const{isSelected:Sl,setSelectedStatement:Cl,targetContainer:Mc}=useStatementSelector(va),Ef=useOutsideClickHandler(()=>{document.querySelector(".modal-container")||Cl("")});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Sl&&wl&&Mc&&reactDomExports.createPortal(jsxRuntimeExports.jsxs("div",{className:"statement-form",onContextMenu:Zf=>Zf.stopPropagation(),ref:Ef,children:[Ma==="create"&&jsxRuntimeExports.jsx(Form$6,{index:ma,event:ba,pattern:ya,closeHandler:()=>Cl("")}),(Ma==="read"||Ma==="update")&&jsxRuntimeExports.jsx(Form$5,{index:ma,event:ba,type:Ma,pattern:ya,closeHandler:()=>Cl("")}),Ma==="delete"&&jsxRuntimeExports.jsx(Form$4,{index:ma,event:ba,pattern:ya,closeHandler:()=>Cl("")})]}),Mc),jsxRuntimeExports.jsx("div",{className:"workflow-badge group",onClick:Zf=>{Zf.stopPropagation(),wl&&Cl(va)},"data-selected":Sl,children:El})]})},Create=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const{onDeleteStatementHandler:Ma}=useWorkflow(ba),{moduleName:El}=useParams(),wl=ya.getNormalizedRecordName(),Sl=`${ba}:${ma}`;return jsxRuntimeExports.jsx(CrudBadge,{pattern:ya,path:Sl,type:"create",index:ma,event:ba,isTeamEditable:va,children:jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[isAgent(El||"",wl)?jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-[#025cd4]/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.agent})}):isEvent(El||"",wl)?jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-[#025cd4]/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.action})}):jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-[#025cd4]/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.create})}),jsxRuntimeExports.jsx("span",{className:"entity-badge",children:wl})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash",onClick:Cl=>{Cl.stopPropagation(),Ma(ma)},children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none"})})]})})},Read=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const Ma=`${ba}:${ma}`,{onDeleteStatementHandler:El}=useWorkflow(ba),wl=ya.getNormalizedRecordName();return jsxRuntimeExports.jsx(CrudBadge,{path:Ma,type:"read",pattern:ya,index:ma,event:ba,isTeamEditable:va,children:jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-[#025cd4]/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.read})}),jsxRuntimeExports.jsx("span",{className:"entity-badge",children:wl})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash",onClick:Sl=>{Sl.stopPropagation(),El(ma)},children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none"})})]})})},Update=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const Ma=`${ba}:${ma}`,El=ya.getNormalizedRecordName(),{onDeleteStatementHandler:wl}=useWorkflow(ba);return jsxRuntimeExports.jsx(CrudBadge,{path:Ma,type:"update",pattern:ya,index:ma,event:ba,isTeamEditable:va,children:jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-[#025cd4]/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.update})}),jsxRuntimeExports.jsx("span",{className:"entity-badge",children:El})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash",onClick:Sl=>{Sl.stopPropagation(),wl(ma)},children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none"})})]})})},Delete=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const{onDeleteStatementHandler:Ma}=useWorkflow(ba),El=`${ba}:${ma}`,wl=ya.pattern,Sl=wl.getNormalizedRecordName();return jsxRuntimeExports.jsx(CrudBadge,{path:El,type:"delete",pattern:wl,index:ma,event:ba,isTeamEditable:va,children:jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-delete-bg text-delete-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete})}),jsxRuntimeExports.jsx("span",{className:"entity-badge",children:Sl})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash",onClick:Cl=>{Cl.stopPropagation(),Ma(ma)},children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none"})})]})})},schema$4=create$3().shape({condition:create$6().required("Value is required")}),Form$3=({pattern:ya,event:ma,index:ba,closeHandler:va})=>{const{updateStatementHandler:Ma}=useWorkflow(ma);return jsxRuntimeExports.jsx(Formik,{validationSchema:schema$4,initialValues:{condition:`(${ya.condition.toString()})`,alias:ya.alias},onSubmit:El=>{const{condition:wl,alias:Sl}=El,Cl=new ExpressionPattern$1(wl);if(console.log(Cl.toString()),console.log(Cl),wl)ya.setConditionPattern(Cl);else return;Sl&&ya.setAlias(Sl),console.log(ya.toString()),Ma(ba,ya.toString())},children:El=>{const{values:wl,setValues:Sl}=El,Cl=wl.condition;return jsxRuntimeExports.jsxs(Form$7,{className:"statement-form",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6 justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-condition-bg text-condition-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.match})}),"Conditon"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:()=>va()})]}),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",children:"Condition: "}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 col-span-2",children:[jsxRuntimeExports.jsx(ExpressionBuilder,{expression:Cl,onExpressionChange:Mc=>Sl({...wl,condition:Mc}),defaultEmptyVariable:!0}),jsxRuntimeExports.jsx(VE,{fieldName:"condition.value"})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Alias,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary-button",children:"Save"})]})]})}})},If=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const Ma=`${ba}:${ma}`,{isSelected:El,setSelectedStatement:wl,targetContainer:Sl}=useStatementSelector(Ma),Cl=useOutsideClickHandler(()=>wl("")),{onDeleteStatementHandler:Mc}=useWorkflow(ba);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[El&&va&&Sl&&reactDomExports.createPortal(jsxRuntimeExports.jsx("div",{ref:Cl,children:jsxRuntimeExports.jsx(Form$3,{event:ba,pattern:ya,index:ma,closeHandler:()=>wl("")})}),Sl),jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsx("div",{className:"workflow-badge group w-4/5 ml-3 z-[500]","data-selected":El,onClick:Ef=>{Ef.stopPropagation(),va&&wl(Ma)},children:jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-condition-bg text-condition-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.match})}),"If",jsxRuntimeExports.jsx("span",{className:"entity-badge",children:ya.condition.toString()})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash",onClick:Ef=>{Ef.stopPropagation(),Mc(ma)},children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none"})})]})}),jsxRuntimeExports.jsxs("div",{className:"pattern-container ",children:[jsxRuntimeExports.jsx(Statements,{statements:ya.body,index:[...ma],event:ba}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col mt-4",children:[jsxRuntimeExports.jsx("div",{className:"workflow-badge w-4/5 ml-3 z-[500] ",children:jsxRuntimeExports.jsx("div",{className:"header",children:jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-condition-bg text-condition-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.match})}),"Else"]})})}),jsxRuntimeExports.jsx("div",{className:"pattern-container",children:jsxRuntimeExports.jsx(Statements,{statements:ya.elseBody??[],index:[...ma],event:ba,isElseBody:!0})})]})]})]})]})},schema$3=create$3().shape({variable:create$6().required("This field is required")}),Form$2=({pattern:ya,event:ma,index:ba,closeHandler:va})=>{const{updateStatementHandler:Ma}=useWorkflow(ma);return jsxRuntimeExports.jsx(Formik,{validationSchema:schema$3,initialValues:{variable:ya.variable,alias:ya.alias},onSubmit:El=>{const{variable:wl,alias:Sl}=El;ya.setVariable(wl),Sl&&ya.setAlias(Sl),Ma(ba,ya.toString())},children:jsxRuntimeExports.jsxs(Form$7,{className:"statement-form",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6 justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-condition-bg text-condition-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.match})}),"Loop"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:()=>va()})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6",children:[jsxRuntimeExports.jsx("label",{className:"w-1/4 text-secondary-font",children:"Variable: "}),jsxRuntimeExports.jsx(Field,{name:"variable",placeholder:"Variable",className:"!py-2"})]}),jsxRuntimeExports.jsx(VE,{fieldName:"variable"})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Alias,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary-button",children:"Save"})]})]})})},ForEach=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const Ma=`${ba}:${ma}`,{onDeleteStatementHandler:El}=useWorkflow(ba),wl=ya.body,Sl=ya.source,{isSelected:Cl,setSelectedStatement:Mc,targetContainer:Ef}=useStatementSelector(Ma),Zf=useOutsideClickHandler(()=>Mc(""));return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Cl&&va&&Ef&&reactDomExports.createPortal(jsxRuntimeExports.jsx("div",{ref:Zf,children:jsxRuntimeExports.jsx(Form$2,{event:ba,pattern:ya,index:ma,closeHandler:()=>Mc("")})}),Ef),jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsx("div",{className:"workflow-badge group w-4/5 ml-3 z-[500]","data-selected":Cl,onClick:Jf=>{Jf.stopPropagation(),va&&Mc(Ma)},children:jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-loop-bg text-loop-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.loop})}),"Loop",jsxRuntimeExports.jsx("span",{className:"entity-badge",children:ya.variable}),Sl&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{children:"in"}),jsxRuntimeExports.jsx("div",{children:Sl.toString()})]})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash",onClick:Jf=>{Jf.stopPropagation(),El(ma)},children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none"})})]})}),jsxRuntimeExports.jsx("div",{className:"pattern-container",children:jsxRuntimeExports.jsx(Statements,{statements:wl,index:[...ma],event:ba})})]})]})},validationSchema$6=create$3().shape({functionName:create$6().required("Function name is required"),parameters:create$2$1().of(create$8()).required("Parameters are required")}),FunctionCallForm=({pattern:ya,index:ma,event:ba,closeHandler:va})=>{const{updateStatementHandler:Ma}=useWorkflow(ba),[El,wl]=reactExports.useState(!1),Sl={functionName:ya.fnName,parameters:ya.arguments,alias:ya.alias||""},Cl=async Mc=>{wl(!0);try{const Ef=new FunctionCallPattern$1(Mc.functionName,Mc.parameters);Mc.alias&&Ef.setAlias(Mc.alias),Ma(ma,Ef.toString()),va()}catch(Ef){console.error("Failed to update function call:",Ef)}finally{wl(!1)}};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6 justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue-500/20 text-blue-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.function})}),"Function Call"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:()=>va()})]}),jsxRuntimeExports.jsx(Formik,{initialValues:Sl,validationSchema:validationSchema$6,onSubmit:Cl,children:({values:Mc,setFieldValue:Ef})=>jsxRuntimeExports.jsxs(Form$7,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"block font-medium text-gray-300 mb-2",children:"Function Name"}),jsxRuntimeExports.jsx(Kht,{name:"functionName",placeholder:"Enter function name"})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Alias,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between mb-2",children:[jsxRuntimeExports.jsx("label",{className:"block font-medium text-gray-300",children:"Arguments"}),jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>Ef("parameters",[...Mc.parameters,""]),className:"sure-button",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:plus",className:"w-4 h-4"}),"Add Argument"]})]}),jsxRuntimeExports.jsx("div",{className:"space-y-2",children:Mc.parameters.map((Zf,Jf)=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("div",{className:"w-full",children:jsxRuntimeExports.jsx(Kht,{name:`parameters.${Jf}`,placeholder:`Argument ${Jf+1} `})}),Mc.parameters.length>1&&jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{const dp=Mc.parameters.filter((hp,dg)=>dg!==Jf);Ef("parameters",dp)},className:"flex items-center justify-center w-8 h-8 bg-red-600 hover:bg-red-700 text-white rounded border border-red-500 transition-colors",title:"Remove argument",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:close",className:"w-4 h-4"})})]},Jf))})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary-button",disabled:El,children:El?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:loading",className:"w-4 h-4 animate-spin"}),"Updating..."]}):"Save"})]})})]})},FunctionCall=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const{onDeleteStatementHandler:Ma}=useWorkflow(ba),El=`${ba}:${ma}`,{isSelected:wl,setSelectedStatement:Sl,targetContainer:Cl}=useStatementSelector(El),Mc=useOutsideClickHandler(()=>Sl("")),Ef=ya.toString().split("(")[0]||"function",Zf=ya.toString().match(/\((.*)\)/)?.[1]?.split(",").map(Jf=>Jf.trim()).filter(Jf=>Jf.length>0)||[];return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[wl&&va&&Cl&&reactDomExports.createPortal(jsxRuntimeExports.jsx("div",{className:"statement-form",onContextMenu:Jf=>Jf.stopPropagation(),ref:Mc,children:jsxRuntimeExports.jsx(FunctionCallForm,{pattern:ya,index:ma,event:ba,closeHandler:()=>Sl("")})}),Cl),jsxRuntimeExports.jsxs("div",{className:"workflow-badge group",onClick:Jf=>{Jf.stopPropagation(),va&&Sl(El)},"data-selected":wl,children:[jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue-500/20 text-blue-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.function})}),jsxRuntimeExports.jsx("span",{className:"entity-badge",children:Ef})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash",onClick:Jf=>{Jf.stopPropagation(),Ma(ma)},children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none"})})]}),Zf.length>0&&jsxRuntimeExports.jsxs("div",{className:"parameters-list mt-1",children:[jsxRuntimeExports.jsx("div",{className:"text-xs text-secondary-font mb-0.5",children:"Parameters:"}),jsxRuntimeExports.jsx("div",{className:"flex flex-wrap gap-0.5",children:Zf.map((Jf,dp)=>jsxRuntimeExports.jsx("span",{className:"inline-block bg-blue-500/20 text-blue-300 text-xs px-1.5 py-0.5 rounded border border-blue-500/30",children:Jf},dp))})]})]})]})},schema$2=create$3().shape({expression:create$6().required("Expression is required"),alias:create$6().optional()}),Form$1=({pattern:ya,event:ma,index:ba,closeHandler:va})=>{const{updateStatementHandler:Ma}=useWorkflow(ma),[El,wl]=reactExports.useState(!1),Sl={expression:isGroupExpressionPattern(ya)?ya.expression.expression:ya.expression||"",alias:ya.alias||""},Cl=async Mc=>{wl(!0);try{const{expression:Ef,alias:Zf}=Mc;if(Ef){const Jf=new ExpressionPattern$1(Ef);Zf&&Jf.setAlias(Zf),await Ma(ba,Jf.toString()),va()}}catch(Ef){console.error("Failed to update expression:",Ef)}finally{wl(!1)}};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6 justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-filter-bg text-filter-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.expression})}),"Expression"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:()=>va()})]}),jsxRuntimeExports.jsx(Formik,{initialValues:Sl,validationSchema:schema$2,onSubmit:Cl,children:({values:Mc,setFieldValue:Ef})=>jsxRuntimeExports.jsxs(Form$7,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx("label",{className:"text-secondary-font",children:"Expression:"}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsx(ExpressionBuilder,{expression:Mc.expression,onExpressionChange:Zf=>{console.log("Expression changed:",Zf),Ef("expression",Zf)},defaultEmptyVariable:!0,isSimpleMode:!1}),Mc.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:Mc.expression})]})]})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Alias,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary-button",disabled:El,children:El?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:loading",className:"w-4 h-4 animate-spin"}),"Updating..."]}):"Save"})]})})]})},Expression=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const{onDeleteStatementHandler:Ma}=useWorkflow(ba),El=`${ba}:${ma}`,{isSelected:wl,setSelectedStatement:Sl,targetContainer:Cl}=useStatementSelector(El),Mc=useOutsideClickHandler(()=>Sl("")),Ef=isGroupExpressionPattern(ya)?ya.expression.expression:ya.expression,Zf=Jf=>{if(!Jf||Jf.trim()==="")return jsxRuntimeExports.jsx("span",{className:"text-gray-400 italic text-sm px-3 py-2 bg-gray-800 rounded-lg border border-dashed border-gray-600",children:"Click to add expression"});const dp=Jf.split(/(\s+|\(|\))/).filter(hp=>hp.length>0);return jsxRuntimeExports.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:dp.map((hp,dg)=>{const pg=/^[+\-*/<>=!&|]+$/.test(hp)||/^(==|<=|>=|<>|and|or)$/.test(hp.toLowerCase()),hg=/^[()]$/.test(hp),mg=/^\d+(\.\d+)?$/.test(hp),gg=/^[a-zA-Z_][a-zA-Z0-9_.]*$/.test(hp)&&!pg;return pg?jsxRuntimeExports.jsx("span",{className:"inline-flex items-center justify-center text-blue-300 font-semibold bg-blue-900/30 px-2.5 py-1.5 rounded-md border border-blue-700/50 text-sm min-w-[28px] shadow-sm",children:hp},dg):hg?jsxRuntimeExports.jsx("span",{className:"text-blue-200 font-mono text-lg px-1.5 font-bold",children:hp},dg):mg?jsxRuntimeExports.jsx("span",{className:"text-green-300 font-mono bg-green-900/20 px-2.5 py-1.5 rounded-md border border-green-700/50 text-sm",children:hp},dg):gg?jsxRuntimeExports.jsx("span",{className:"text-gray-200 font-medium bg-gray-800/50 px-2.5 py-1.5 rounded-md border border-gray-600/50 text-sm",children:hp},dg):hp.trim()===""?jsxRuntimeExports.jsx("span",{className:"w-1"},dg):jsxRuntimeExports.jsx("span",{className:"text-gray-300",children:hp},dg)})})};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[wl&&va&&Cl&&reactDomExports.createPortal(jsxRuntimeExports.jsx("div",{className:"statement-form",onContextMenu:Jf=>Jf.stopPropagation(),ref:Mc,children:jsxRuntimeExports.jsx(Form$1,{pattern:ya,index:ma,event:ba,closeHandler:()=>Sl("")})}),Cl),jsxRuntimeExports.jsx("div",{className:"workflow-badge group",onClick:Jf=>{Jf.stopPropagation(),va&&Sl(El)},"data-selected":wl,children:jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-3 items-center flex-1 min-w-0",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-filter-bg text-filter-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.expression,className:"text-sm"})}),jsxRuntimeExports.jsx("div",{className:"flex-1 min-w-0",children:Zf(Ef)})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash opacity-0 group-hover:opacity-100 transition-opacity duration-200 hover:bg-red-900/30 hover:text-red-300 rounded-full p-1.5 border border-transparent hover:border-red-700/50",onClick:Jf=>{Jf.stopPropagation(),Ma(ma)},title:"Delete expression",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none text-sm"})})]})})]})},schema$1=create$3().shape({variableName:create$6().required("Variable name is required").matches(/^[a-zA-Z_][a-zA-Z0-9_]*$/,"Variable name must start with a letter or underscore and contain only letters, numbers, and underscores"),alias:create$6().optional()}),Form=({pattern:ya,event:ma,index:ba,closeHandler:va})=>{const{updateStatementHandler:Ma}=useWorkflow(ma),El={variableName:ya.value,alias:ya.alias||ya.aliases?.[0]||""},wl=async Sl=>{const{variableName:Cl,alias:Mc}=Sl,Ef=new LiteralPattern$1(LiteralPatternType$1.REFERENCE,Cl);Mc&&Ef.setAlias(Mc),await Ma(ba,Ef.toString()),va()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-6 justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue-500/20 text-blue-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.filter})}),"Literal Pattern"]}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:()=>va()})]}),jsxRuntimeExports.jsx(Formik,{initialValues:El,validationSchema:schema$1,onSubmit:wl,children:jsxRuntimeExports.jsxs(Form$7,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"block font-medium text-gray-300 mb-2",children:"Variable Name"}),jsxRuntimeExports.jsx(Kht,{name:"variableName",placeholder:"Enter variable name",isFloating:!0})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Alias,{}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary-button",children:"Save"})]})})]})},Literal=({pattern:ya,index:ma,event:ba,isTeamEditable:va})=>{const{onDeleteStatementHandler:Ma}=useWorkflow(ba),El=`${ba}:${ma}`,{isSelected:wl,setSelectedStatement:Sl,targetContainer:Cl}=useStatementSelector(El),Mc=useOutsideClickHandler(()=>Sl("")),Ef=ya.value;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[wl&&va&&Cl&&reactDomExports.createPortal(jsxRuntimeExports.jsx("div",{className:"statement-form",onContextMenu:Zf=>Zf.stopPropagation(),ref:Mc,children:jsxRuntimeExports.jsx(Form,{pattern:ya,index:ma,event:ba,closeHandler:()=>Sl("")})}),Cl),jsxRuntimeExports.jsx("div",{className:"workflow-badge group",onClick:Zf=>{Zf.stopPropagation(),va&&Sl(El)},"data-selected":wl,children:jsxRuntimeExports.jsxs("div",{className:"header",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue-500/20 text-blue-400",children:jsxRuntimeExports.jsx(Icon,{icon:icons.literal})}),jsxRuntimeExports.jsx("span",{className:"entity-badge",children:Ef})]}),va&&jsxRuntimeExports.jsx("div",{className:"trash",onClick:Zf=>{Zf.stopPropagation(),Ma(ma)},children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"pointer-events-none"})})]})})]})},StatementMenu=({event:ya,index:ma,isSmall:ba})=>{const{onCreateCrudStatement:va,onCreateFunctionCall:Ma,onCreateLiteralPattern:El}=useWorkflow(ya),wl=useOutsideClickHandler(()=>{Cl(!1)}),[Sl,Cl]=reactExports.useState(!1),[Mc,Ef]=reactExports.useState(!1),[Zf,Jf]=reactExports.useState(!1),[dp,hp]=reactExports.useState(!1),[dg,pg]=reactExports.useState(!1);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Mc&&reactDomExports.createPortal(jsxRuntimeExports.jsx(Actions,{onCreateCrudStatement:(hg,mg)=>{va(hg,mg,ma),Ef(!1)},closeHandler:()=>Ef(!1)}),document.body),Zf&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddFunctionCall,{closeHandler:()=>Jf(!1),onSubmit:(hg,mg)=>{Ma(ma,hg,mg),Jf(!1)}}),document.body),dp&&reactDomExports.createPortal(jsxRuntimeExports.jsx(Agents$1,{onCreatePattern:hg=>{va(hg,"create",ma),hp(!1)},closeHandler:()=>hp(!1)}),document.body),dg&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddLiteral,{closeHandler:()=>pg(!1),onSubmit:(hg,mg)=>{El(ma,hg,mg),pg(!1)}}),document.body),jsxRuntimeExports.jsxs("div",{className:"relative ml-2",ref:wl,children:[jsxRuntimeExports.jsx("div",{className:classNames(["add-workflow-button",ba?"w-6! h-6! text-[10px]!":""]),onClick:()=>Cl(!Sl),children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})}),Sl&&jsxRuntimeExports.jsxs("div",{className:"workflow-statement-menu",children:[jsxRuntimeExports.jsxs("div",{onClick:()=>Ef(!0),children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.action})}),"Action"]}),jsxRuntimeExports.jsxs("div",{onClick:()=>{hp(!0),Cl(!1)},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.agent})}),"Agent"]}),jsxRuntimeExports.jsxs("div",{onClick:()=>{Jf(!0),Cl(!1)},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.function})}),"Call"]}),jsxRuntimeExports.jsxs("div",{onClick:()=>{va(null,"loop",ma),Cl(!1)},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.loop})}),"Loop"]}),jsxRuntimeExports.jsxs("div",{onClick:()=>{va(null,"if-else",ma),Cl(!1)},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.match})}),"Condition"]}),jsxRuntimeExports.jsxs("div",{onClick:()=>{pg(!0),Cl(!1)},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:icons.literal})}),"Literal"]})]})]})]})},Statements=({statements:ya,event:ma,index:ba,isElseBody:va=!1})=>{const{isEditable:Ma}=useTeams();return jsxRuntimeExports.jsxs(EventProvider,{value:ma,children:[ya.map((El,wl)=>{const Sl=[...ba,va?-wl:wl];return jsxRuntimeExports.jsxs("div",{className:"statement-container",children:[(isExpressionPattern(El)||isGroupExpressionPattern(El))&&jsxRuntimeExports.jsx(Expression,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),isFunctionCallPattern(El)&&jsxRuntimeExports.jsx(FunctionCall,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),isCreatePattern(El)&&jsxRuntimeExports.jsx(Create,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),isQueryPattern$2(El)&&jsxRuntimeExports.jsx(Read,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),isQueryUpdatePattern(El)&&jsxRuntimeExports.jsx(Update,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),isDeletePattern(El)&&jsxRuntimeExports.jsx(Delete,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),isForEachPattern(El)&&jsxRuntimeExports.jsx(ForEach,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),isIfPattern(El)&&jsxRuntimeExports.jsx(If,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),isLiteralPattern(El)&&jsxRuntimeExports.jsx(Literal,{pattern:El,index:Sl,event:ma,isTeamEditable:Ma}),wl!==ya.length-1?jsxRuntimeExports.jsxs("div",{className:"relative group z-999",children:[jsxRuntimeExports.jsx("span",{className:"line"}),jsxRuntimeExports.jsx("div",{className:"absolute top-1/2 -translate-y-1/2 left-2 group-hover:opacity-100 opacity-0",children:Ma&&jsxRuntimeExports.jsx(StatementMenu,{index:Sl,event:ma,isSmall:!0})})]}):Ma&&jsxRuntimeExports.jsx("span",{className:"line"})]},Sl.join("-"))}),Ma?jsxRuntimeExports.jsx(StatementMenu,{index:[...ba,va?-ya.length:ya.length],event:ma}):null]})},Workflow$1=({id:ya,data:ma,selected:ba})=>{const va=ma.label,Ma=useAppStore(Jf=>Jf.moduleDbChangeCount),El=reactExports.useRef(null),{updateNode:wl}=useReactFlow(),{moduleName:Sl}=useParams(),[Cl,Mc]=reactExports.useState(!1),[Ef,Zf]=reactExports.useState([]);return reactExports.useEffect(()=>{(async()=>{try{const dp=fetchModule$2(Sl||""),hp=await Promise.all(dp.getWorkflowForEvent(va)?.statementsToStrings().map(introspect$1)||[]);Zf(hp.flat())}catch(dp){Mc(!0),console.error(dp)}})()},[Sl,va,Ma]),reactExports.useEffect(()=>{if(El.current){const{offsetWidth:Jf,offsetHeight:dp}=El.current;wl(ya,hp=>({...hp,width:Jf,height:dp}))}},[ya,wl]),jsxRuntimeExports.jsxs("div",{ref:El,className:classNames("workflow-node",ba?"border-solid! border-checkbox-selected! shadow-selected-node":"border-dashed border-[rgba(255,255,255,0.6)]"),"data-error":Cl,children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:Position.Top,id:"a"}),jsxRuntimeExports.jsx("div",{onClick:Jf=>Jf.stopPropagation(),children:jsxRuntimeExports.jsx(Statements,{statements:Ef,event:va,index:[]})}),jsxRuntimeExports.jsx(Handle,{type:"source",position:Position.Bottom,id:"b"})]})},Agent=({id:ya,data:ma})=>{const[ba,va]=reactExports.useState(!1),{moduleName:Ma}=useParams(),{getAgentPublic:El}=useAgent(),{isEditable:wl}=useTeams(),Sl=Jf=>{ma.onNodeClick?.(ya,Jf.shiftKey)},Cl=Jf=>{Jf.preventDefault(),Jf.stopPropagation(),ma.onNodeRightClick?.(ya,Jf.clientX,Jf.clientY)},Mc=()=>{try{return El(ya)}catch{return!1}};let Ef;try{Ef=getEvent$1(ya,Ma||"")}catch(Jf){console.error(Jf)}const Zf=Ef?Array.from(Ef?.getUserAttributes()||[]):[];return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[ba&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddAttribute,{entryName:Ef?.name||"",closeHandler:()=>va(!1)}),document.body),jsxRuntimeExports.jsxs("div",{className:"canvas-node border-t-[3px] border-t-action-icon border-2 border-transparent",onClick:Sl,onContextMenu:Cl,children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:Position.Top,id:"a",style:{visibility:"hidden"}}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3 w-full overflow-hidden",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.agent,width:20,height:20,className:"shrink-0 mt-0.5"}),jsxRuntimeExports.jsx("div",{className:"font-semibold flex-1 whitespace-nowrap wrap-break-word min-w-0 leading-none!",children:ya}),wl&&Mc()&&jsxRuntimeExports.jsx(Icon,{icon:icons.public,width:16,height:16})]}),jsxRuntimeExports.jsx(Attributes,{nodeId:ya,schema:Zf}),jsxRuntimeExports.jsx("button",{className:"primary-button",onClick:Jf=>{Jf.stopPropagation(),va(!0)},children:"Add Attribute"}),jsxRuntimeExports.jsx(Handle,{type:"source",position:Position.Bottom,id:"b",style:{visibility:"hidden"}})]})]})},NodeMenu=({menu:ya,closeHandler:ma,type:ba="entity"})=>{const{deleteHandler:va,deleteAttributes:Ma,setEventPublic:El,getEventPublic:wl}=useEntity(),{removeAgent:Sl,setAgentPublic:Cl,getAgentPublic:Mc}=useAgent(),{getNodes:Ef}=useReactFlow(),Zf=ya.id,Jf=useAppStore(lE=>lE.selectedAttributes),dp=useAppStore(lE=>lE.clearSelectedAttributes),hp=()=>{const R_=Ef().filter(q1=>q1.selected),V1=Jf[Zf||""]||[];V1.length>0&&Zf?(Ma(Zf,V1),dp(Zf)):R_.length>0?ba==="agent"?R_.forEach(q1=>{Sl(q1.id)}):va(R_.map(q1=>q1.id)):Zf&&(ba==="agent"?Sl(Zf):va([Zf])),ma()},pg=Ef().filter(lE=>lE.selected),hg=Jf[Zf||""]||[];let mg="Delete";if(hg.length>0)mg=`Delete ${hg.length} Attribute${hg.length>1?"s":""}`;else if(pg.length>0){const lE=pg.filter(aE=>aE.type==="entity"),R_=pg.filter(aE=>aE.type==="record"),V1=pg.filter(aE=>aE.type==="event"),q1=pg.filter(aE=>aE.type==="relationship"),n0=[];lE.length>0&&n0.push(`${lE.length} ${lE.length>1?"Entities":"Entity"}`),R_.length>0&&n0.push(`${R_.length} Record${R_.length>1?"s":""}`),V1.length>0&&n0.push(`${V1.length} Event${V1.length>1?"s":""}`),q1.length>0&&n0.push(`${q1.length} Relationship${q1.length>1?"s":""}`),n0.length>0&&(mg+=` ${n0.join(", ")}`)}const gg=async()=>{if(!(!Zf||ba!=="agent")){try{const lE=Mc(Zf);await Cl(Zf,!lE)}catch(lE){console.error("Error toggling agent public status:",lE)}ma()}},sy=async()=>{if(!(!Zf||ba!=="event")){try{const lE=wl(Zf);await El(Zf,!lE)}catch(lE){console.error("Error toggling event public status:",lE)}ma()}},ly=()=>{if(!Zf||ba!=="agent")return!1;try{return Mc(Zf)}catch{return!1}},cy=()=>{if(!Zf||ba!=="event")return!1;try{return wl(Zf)}catch{return!1}},uy=ly(),H1=cy();return jsxRuntimeExports.jsxs("div",{className:"context-menu",style:ya,children:[ba==="agent"&&jsxRuntimeExports.jsxs("div",{onClick:gg,className:"context-menu-item",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:earth"})}),uy?"Make Private":"Make Public"]}),ba==="event"&&jsxRuntimeExports.jsxs("div",{onClick:sy,className:"context-menu-item",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:earth"})}),H1?"Make Private":"Make Public"]}),jsxRuntimeExports.jsxs("div",{onClick:hp,className:"context-menu-item",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon text-del-icon bg-del-bg",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete})}),mg]})]})},sharedEntityTypes=["event","entity","record","relationship","remoteEntity"],nodeTypes$1=Object.fromEntries([...sharedEntityTypes.map(ya=>[ya,Entity]),["workflow",Workflow$1],["agent",Agent]]),CanvasWithContextMenu=({ContextMenuComponent:ya,nodes:ma,edges:ba,defaultViewport:va,onNodesChange:Ma,onEdgesChange:El,fitView:wl,type:Sl="entity",onPaneClick:Cl})=>{const{isEditable:Mc}=useTeams(),{deleteHandler:Ef,deleteAttributes:Zf}=useEntity(),[Jf,dp]=reactExports.useState([]),[hp,dg]=reactExports.useState(null),[pg,hg]=reactExports.useState(null),mg=reactExports.useRef(null),gg=useAppStore(lE=>lE.selectedAttributes),sy=useAppStore(lE=>lE.clearSelectedAttributes),ly=reactExports.useCallback(lE=>{if(lE.preventDefault(),!Mc||!mg.current)return;const R_=mg.current.getBoundingClientRect();dg(null),hg({position:"absolute",top:`${lE.clientY-R_.top}px`,left:`${lE.clientX-R_.left}px`})},[Mc]),cy=reactExports.useCallback((lE,R_)=>{if(lE.stopPropagation(),lE.preventDefault(),!Mc||!mg.current)return;const V1=mg.current.getBoundingClientRect();hg(null),dg({id:R_.id,type:R_.type,position:"absolute",top:`${lE.clientY-V1.top}px`,left:`${lE.clientX-V1.left}px`})},[Mc]),uy=reactExports.useCallback(()=>{hg(null),dg(null),sy(),Cl&&Cl()},[sy,Cl]);reactExports.useEffect(()=>{const lE=R_=>{R_.key==="Delete"&&(Object.values(gg).some(q1=>q1.length>0)?(Object.entries(gg).forEach(([q1,n0])=>{n0.length>0&&Zf(q1,n0)}),sy()):Jf.length>0&&(Ef(Jf.map(q1=>q1.id)),dp([])))};return window.addEventListener("keydown",lE),()=>window.removeEventListener("keydown",lE)},[Jf,Ef,Zf,gg,sy]);const H1=reactExports.useCallback(({nodes:lE})=>{dp(lE),lE.length>0&&sy()},[sy]);return jsxRuntimeExports.jsxs(index$4,{ref:mg,onContextMenu:ly,onNodeContextMenu:cy,onPaneClick:uy,onSelectionChange:H1,nodeTypes:nodeTypes$1,nodes:ma,edges:ba,onNodesChange:Ma,onEdgesChange:El,defaultViewport:va,fitView:wl,className:"w-full h-full",children:[jsxRuntimeExports.jsx(Background,{}),hp&&jsxRuntimeExports.jsx(NodeMenu,{menu:hp,closeHandler:()=>dg(null),type:hp.type||Sl}),pg&&ya&&jsxRuntimeExports.jsx(ya,{menu:pg,closeHandler:()=>hg(null)})]})},CanvasModal=({modal:ya,setModal:ma})=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[(ya==="Entity"||ya==="Record"||ya==="Module"||ya==="Event"||ya==="Agent")&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddEntity,{type:ya,closeHandler:()=>ma("")}),document.body),ya==="trigger"&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddTrigger,{closeHandler:()=>ma("")}),document.body),ya==="Relationship"&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddRelationship,{closeHandler:()=>ma("")}),document.body)]});var _listCacheClear,hasRequired_listCacheClear;function require_listCacheClear(){if(hasRequired_listCacheClear)return _listCacheClear;hasRequired_listCacheClear=1;function ya(){this.__data__=[],this.size=0}return _listCacheClear=ya,_listCacheClear}var eq_1,hasRequiredEq;function requireEq(){if(hasRequiredEq)return eq_1;hasRequiredEq=1;function ya(ma,ba){return ma===ba||ma!==ma&&ba!==ba}return eq_1=ya,eq_1}var _assocIndexOf,hasRequired_assocIndexOf;function require_assocIndexOf(){if(hasRequired_assocIndexOf)return _assocIndexOf;hasRequired_assocIndexOf=1;var ya=requireEq();function ma(ba,va){for(var Ma=ba.length;Ma--;)if(ya(ba[Ma][0],va))return Ma;return-1}return _assocIndexOf=ma,_assocIndexOf}var _listCacheDelete,hasRequired_listCacheDelete;function require_listCacheDelete(){if(hasRequired_listCacheDelete)return _listCacheDelete;hasRequired_listCacheDelete=1;var ya=require_assocIndexOf(),ma=Array.prototype,ba=ma.splice;function va(Ma){var El=this.__data__,wl=ya(El,Ma);if(wl<0)return!1;var Sl=El.length-1;return wl==Sl?El.pop():ba.call(El,wl,1),--this.size,!0}return _listCacheDelete=va,_listCacheDelete}var _listCacheGet,hasRequired_listCacheGet;function require_listCacheGet(){if(hasRequired_listCacheGet)return _listCacheGet;hasRequired_listCacheGet=1;var ya=require_assocIndexOf();function ma(ba){var va=this.__data__,Ma=ya(va,ba);return Ma<0?void 0:va[Ma][1]}return _listCacheGet=ma,_listCacheGet}var _listCacheHas,hasRequired_listCacheHas;function require_listCacheHas(){if(hasRequired_listCacheHas)return _listCacheHas;hasRequired_listCacheHas=1;var ya=require_assocIndexOf();function ma(ba){return ya(this.__data__,ba)>-1}return _listCacheHas=ma,_listCacheHas}var _listCacheSet,hasRequired_listCacheSet;function require_listCacheSet(){if(hasRequired_listCacheSet)return _listCacheSet;hasRequired_listCacheSet=1;var ya=require_assocIndexOf();function ma(ba,va){var Ma=this.__data__,El=ya(Ma,ba);return El<0?(++this.size,Ma.push([ba,va])):Ma[El][1]=va,this}return _listCacheSet=ma,_listCacheSet}var _ListCache,hasRequired_ListCache;function require_ListCache(){if(hasRequired_ListCache)return _ListCache;hasRequired_ListCache=1;var ya=require_listCacheClear(),ma=require_listCacheDelete(),ba=require_listCacheGet(),va=require_listCacheHas(),Ma=require_listCacheSet();function El(wl){var Sl=-1,Cl=wl==null?0:wl.length;for(this.clear();++Sl<Cl;){var Mc=wl[Sl];this.set(Mc[0],Mc[1])}}return El.prototype.clear=ya,El.prototype.delete=ma,El.prototype.get=ba,El.prototype.has=va,El.prototype.set=Ma,_ListCache=El,_ListCache}var _stackClear,hasRequired_stackClear;function require_stackClear(){if(hasRequired_stackClear)return _stackClear;hasRequired_stackClear=1;var ya=require_ListCache();function ma(){this.__data__=new ya,this.size=0}return _stackClear=ma,_stackClear}var _stackDelete,hasRequired_stackDelete;function require_stackDelete(){if(hasRequired_stackDelete)return _stackDelete;hasRequired_stackDelete=1;function ya(ma){var ba=this.__data__,va=ba.delete(ma);return this.size=ba.size,va}return _stackDelete=ya,_stackDelete}var _stackGet,hasRequired_stackGet;function require_stackGet(){if(hasRequired_stackGet)return _stackGet;hasRequired_stackGet=1;function ya(ma){return this.__data__.get(ma)}return _stackGet=ya,_stackGet}var _stackHas,hasRequired_stackHas;function require_stackHas(){if(hasRequired_stackHas)return _stackHas;hasRequired_stackHas=1;function ya(ma){return this.__data__.has(ma)}return _stackHas=ya,_stackHas}var isFunction_1,hasRequiredIsFunction;function requireIsFunction(){if(hasRequiredIsFunction)return isFunction_1;hasRequiredIsFunction=1;var ya=require_baseGetTag(),ma=requireIsObject(),ba="[object AsyncFunction]",va="[object Function]",Ma="[object GeneratorFunction]",El="[object Proxy]";function wl(Sl){if(!ma(Sl))return!1;var Cl=ya(Sl);return Cl==va||Cl==Ma||Cl==ba||Cl==El}return isFunction_1=wl,isFunction_1}var _coreJsData,hasRequired_coreJsData;function require_coreJsData(){if(hasRequired_coreJsData)return _coreJsData;hasRequired_coreJsData=1;var ya=require_root(),ma=ya["__core-js_shared__"];return _coreJsData=ma,_coreJsData}var _isMasked,hasRequired_isMasked;function require_isMasked(){if(hasRequired_isMasked)return _isMasked;hasRequired_isMasked=1;var ya=require_coreJsData(),ma=(function(){var va=/[^.]+$/.exec(ya&&ya.keys&&ya.keys.IE_PROTO||"");return va?"Symbol(src)_1."+va:""})();function ba(va){return!!ma&&ma in va}return _isMasked=ba,_isMasked}var _toSource,hasRequired_toSource;function require_toSource(){if(hasRequired_toSource)return _toSource;hasRequired_toSource=1;var ya=Function.prototype,ma=ya.toString;function ba(va){if(va!=null){try{return ma.call(va)}catch{}try{return va+""}catch{}}return""}return _toSource=ba,_toSource}var _baseIsNative,hasRequired_baseIsNative;function require_baseIsNative(){if(hasRequired_baseIsNative)return _baseIsNative;hasRequired_baseIsNative=1;var ya=requireIsFunction(),ma=require_isMasked(),ba=requireIsObject(),va=require_toSource(),Ma=/[\\^$.*+?()[\]{}|]/g,El=/^\[object .+?Constructor\]$/,wl=Function.prototype,Sl=Object.prototype,Cl=wl.toString,Mc=Sl.hasOwnProperty,Ef=RegExp("^"+Cl.call(Mc).replace(Ma,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Zf(Jf){if(!ba(Jf)||ma(Jf))return!1;var dp=ya(Jf)?Ef:El;return dp.test(va(Jf))}return _baseIsNative=Zf,_baseIsNative}var _getValue,hasRequired_getValue;function require_getValue(){if(hasRequired_getValue)return _getValue;hasRequired_getValue=1;function ya(ma,ba){return ma?.[ba]}return _getValue=ya,_getValue}var _getNative,hasRequired_getNative;function require_getNative(){if(hasRequired_getNative)return _getNative;hasRequired_getNative=1;var ya=require_baseIsNative(),ma=require_getValue();function ba(va,Ma){var El=ma(va,Ma);return ya(El)?El:void 0}return _getNative=ba,_getNative}var _Map,hasRequired_Map;function require_Map(){if(hasRequired_Map)return _Map;hasRequired_Map=1;var ya=require_getNative(),ma=require_root(),ba=ya(ma,"Map");return _Map=ba,_Map}var _nativeCreate,hasRequired_nativeCreate;function require_nativeCreate(){if(hasRequired_nativeCreate)return _nativeCreate;hasRequired_nativeCreate=1;var ya=require_getNative(),ma=ya(Object,"create");return _nativeCreate=ma,_nativeCreate}var _hashClear,hasRequired_hashClear;function require_hashClear(){if(hasRequired_hashClear)return _hashClear;hasRequired_hashClear=1;var ya=require_nativeCreate();function ma(){this.__data__=ya?ya(null):{},this.size=0}return _hashClear=ma,_hashClear}var _hashDelete,hasRequired_hashDelete;function require_hashDelete(){if(hasRequired_hashDelete)return _hashDelete;hasRequired_hashDelete=1;function ya(ma){var ba=this.has(ma)&&delete this.__data__[ma];return this.size-=ba?1:0,ba}return _hashDelete=ya,_hashDelete}var _hashGet,hasRequired_hashGet;function require_hashGet(){if(hasRequired_hashGet)return _hashGet;hasRequired_hashGet=1;var ya=require_nativeCreate(),ma="__lodash_hash_undefined__",ba=Object.prototype,va=ba.hasOwnProperty;function Ma(El){var wl=this.__data__;if(ya){var Sl=wl[El];return Sl===ma?void 0:Sl}return va.call(wl,El)?wl[El]:void 0}return _hashGet=Ma,_hashGet}var _hashHas,hasRequired_hashHas;function require_hashHas(){if(hasRequired_hashHas)return _hashHas;hasRequired_hashHas=1;var ya=require_nativeCreate(),ma=Object.prototype,ba=ma.hasOwnProperty;function va(Ma){var El=this.__data__;return ya?El[Ma]!==void 0:ba.call(El,Ma)}return _hashHas=va,_hashHas}var _hashSet,hasRequired_hashSet;function require_hashSet(){if(hasRequired_hashSet)return _hashSet;hasRequired_hashSet=1;var ya=require_nativeCreate(),ma="__lodash_hash_undefined__";function ba(va,Ma){var El=this.__data__;return this.size+=this.has(va)?0:1,El[va]=ya&&Ma===void 0?ma:Ma,this}return _hashSet=ba,_hashSet}var _Hash,hasRequired_Hash;function require_Hash(){if(hasRequired_Hash)return _Hash;hasRequired_Hash=1;var ya=require_hashClear(),ma=require_hashDelete(),ba=require_hashGet(),va=require_hashHas(),Ma=require_hashSet();function El(wl){var Sl=-1,Cl=wl==null?0:wl.length;for(this.clear();++Sl<Cl;){var Mc=wl[Sl];this.set(Mc[0],Mc[1])}}return El.prototype.clear=ya,El.prototype.delete=ma,El.prototype.get=ba,El.prototype.has=va,El.prototype.set=Ma,_Hash=El,_Hash}var _mapCacheClear,hasRequired_mapCacheClear;function require_mapCacheClear(){if(hasRequired_mapCacheClear)return _mapCacheClear;hasRequired_mapCacheClear=1;var ya=require_Hash(),ma=require_ListCache(),ba=require_Map();function va(){this.size=0,this.__data__={hash:new ya,map:new(ba||ma),string:new ya}}return _mapCacheClear=va,_mapCacheClear}var _isKeyable,hasRequired_isKeyable;function require_isKeyable(){if(hasRequired_isKeyable)return _isKeyable;hasRequired_isKeyable=1;function ya(ma){var ba=typeof ma;return ba=="string"||ba=="number"||ba=="symbol"||ba=="boolean"?ma!=="__proto__":ma===null}return _isKeyable=ya,_isKeyable}var _getMapData,hasRequired_getMapData;function require_getMapData(){if(hasRequired_getMapData)return _getMapData;hasRequired_getMapData=1;var ya=require_isKeyable();function ma(ba,va){var Ma=ba.__data__;return ya(va)?Ma[typeof va=="string"?"string":"hash"]:Ma.map}return _getMapData=ma,_getMapData}var _mapCacheDelete,hasRequired_mapCacheDelete;function require_mapCacheDelete(){if(hasRequired_mapCacheDelete)return _mapCacheDelete;hasRequired_mapCacheDelete=1;var ya=require_getMapData();function ma(ba){var va=ya(this,ba).delete(ba);return this.size-=va?1:0,va}return _mapCacheDelete=ma,_mapCacheDelete}var _mapCacheGet,hasRequired_mapCacheGet;function require_mapCacheGet(){if(hasRequired_mapCacheGet)return _mapCacheGet;hasRequired_mapCacheGet=1;var ya=require_getMapData();function ma(ba){return ya(this,ba).get(ba)}return _mapCacheGet=ma,_mapCacheGet}var _mapCacheHas,hasRequired_mapCacheHas;function require_mapCacheHas(){if(hasRequired_mapCacheHas)return _mapCacheHas;hasRequired_mapCacheHas=1;var ya=require_getMapData();function ma(ba){return ya(this,ba).has(ba)}return _mapCacheHas=ma,_mapCacheHas}var _mapCacheSet,hasRequired_mapCacheSet;function require_mapCacheSet(){if(hasRequired_mapCacheSet)return _mapCacheSet;hasRequired_mapCacheSet=1;var ya=require_getMapData();function ma(ba,va){var Ma=ya(this,ba),El=Ma.size;return Ma.set(ba,va),this.size+=Ma.size==El?0:1,this}return _mapCacheSet=ma,_mapCacheSet}var _MapCache,hasRequired_MapCache;function require_MapCache(){if(hasRequired_MapCache)return _MapCache;hasRequired_MapCache=1;var ya=require_mapCacheClear(),ma=require_mapCacheDelete(),ba=require_mapCacheGet(),va=require_mapCacheHas(),Ma=require_mapCacheSet();function El(wl){var Sl=-1,Cl=wl==null?0:wl.length;for(this.clear();++Sl<Cl;){var Mc=wl[Sl];this.set(Mc[0],Mc[1])}}return El.prototype.clear=ya,El.prototype.delete=ma,El.prototype.get=ba,El.prototype.has=va,El.prototype.set=Ma,_MapCache=El,_MapCache}var _stackSet,hasRequired_stackSet;function require_stackSet(){if(hasRequired_stackSet)return _stackSet;hasRequired_stackSet=1;var ya=require_ListCache(),ma=require_Map(),ba=require_MapCache(),va=200;function Ma(El,wl){var Sl=this.__data__;if(Sl instanceof ya){var Cl=Sl.__data__;if(!ma||Cl.length<va-1)return Cl.push([El,wl]),this.size=++Sl.size,this;Sl=this.__data__=new ba(Cl)}return Sl.set(El,wl),this.size=Sl.size,this}return _stackSet=Ma,_stackSet}var _Stack,hasRequired_Stack;function require_Stack(){if(hasRequired_Stack)return _Stack;hasRequired_Stack=1;var ya=require_ListCache(),ma=require_stackClear(),ba=require_stackDelete(),va=require_stackGet(),Ma=require_stackHas(),El=require_stackSet();function wl(Sl){var Cl=this.__data__=new ya(Sl);this.size=Cl.size}return wl.prototype.clear=ma,wl.prototype.delete=ba,wl.prototype.get=va,wl.prototype.has=Ma,wl.prototype.set=El,_Stack=wl,_Stack}var _arrayEach,hasRequired_arrayEach;function require_arrayEach(){if(hasRequired_arrayEach)return _arrayEach;hasRequired_arrayEach=1;function ya(ma,ba){for(var va=-1,Ma=ma==null?0:ma.length;++va<Ma&&ba(ma[va],va,ma)!==!1;);return ma}return _arrayEach=ya,_arrayEach}var _defineProperty$2,hasRequired_defineProperty;function require_defineProperty(){if(hasRequired_defineProperty)return _defineProperty$2;hasRequired_defineProperty=1;var ya=require_getNative(),ma=(function(){try{var ba=ya(Object,"defineProperty");return ba({},"",{}),ba}catch{}})();return _defineProperty$2=ma,_defineProperty$2}var _baseAssignValue,hasRequired_baseAssignValue;function require_baseAssignValue(){if(hasRequired_baseAssignValue)return _baseAssignValue;hasRequired_baseAssignValue=1;var ya=require_defineProperty();function ma(ba,va,Ma){va=="__proto__"&&ya?ya(ba,va,{configurable:!0,enumerable:!0,value:Ma,writable:!0}):ba[va]=Ma}return _baseAssignValue=ma,_baseAssignValue}var _assignValue,hasRequired_assignValue;function require_assignValue(){if(hasRequired_assignValue)return _assignValue;hasRequired_assignValue=1;var ya=require_baseAssignValue(),ma=requireEq(),ba=Object.prototype,va=ba.hasOwnProperty;function Ma(El,wl,Sl){var Cl=El[wl];(!(va.call(El,wl)&&ma(Cl,Sl))||Sl===void 0&&!(wl in El))&&ya(El,wl,Sl)}return _assignValue=Ma,_assignValue}var _copyObject,hasRequired_copyObject;function require_copyObject(){if(hasRequired_copyObject)return _copyObject;hasRequired_copyObject=1;var ya=require_assignValue(),ma=require_baseAssignValue();function ba(va,Ma,El,wl){var Sl=!El;El||(El={});for(var Cl=-1,Mc=Ma.length;++Cl<Mc;){var Ef=Ma[Cl],Zf=wl?wl(El[Ef],va[Ef],Ef,El,va):void 0;Zf===void 0&&(Zf=va[Ef]),Sl?ma(El,Ef,Zf):ya(El,Ef,Zf)}return El}return _copyObject=ba,_copyObject}var _baseTimes,hasRequired_baseTimes;function require_baseTimes(){if(hasRequired_baseTimes)return _baseTimes;hasRequired_baseTimes=1;function ya(ma,ba){for(var va=-1,Ma=Array(ma);++va<ma;)Ma[va]=ba(va);return Ma}return _baseTimes=ya,_baseTimes}var _baseIsArguments,hasRequired_baseIsArguments;function require_baseIsArguments(){if(hasRequired_baseIsArguments)return _baseIsArguments;hasRequired_baseIsArguments=1;var ya=require_baseGetTag(),ma=requireIsObjectLike(),ba="[object Arguments]";function va(Ma){return ma(Ma)&&ya(Ma)==ba}return _baseIsArguments=va,_baseIsArguments}var isArguments_1,hasRequiredIsArguments;function requireIsArguments(){if(hasRequiredIsArguments)return isArguments_1;hasRequiredIsArguments=1;var ya=require_baseIsArguments(),ma=requireIsObjectLike(),ba=Object.prototype,va=ba.hasOwnProperty,Ma=ba.propertyIsEnumerable,El=ya((function(){return arguments})())?ya:function(wl){return ma(wl)&&va.call(wl,"callee")&&!Ma.call(wl,"callee")};return isArguments_1=El,isArguments_1}var isArray_1,hasRequiredIsArray;function requireIsArray(){if(hasRequiredIsArray)return isArray_1;hasRequiredIsArray=1;var ya=Array.isArray;return isArray_1=ya,isArray_1}var isBuffer={exports:{}},stubFalse_1,hasRequiredStubFalse;function requireStubFalse(){if(hasRequiredStubFalse)return stubFalse_1;hasRequiredStubFalse=1;function ya(){return!1}return stubFalse_1=ya,stubFalse_1}isBuffer.exports;var hasRequiredIsBuffer;function requireIsBuffer(){return hasRequiredIsBuffer||(hasRequiredIsBuffer=1,(function(ya,ma){var ba=require_root(),va=requireStubFalse(),Ma=ma&&!ma.nodeType&&ma,El=Ma&&!0&&ya&&!ya.nodeType&&ya,wl=El&&El.exports===Ma,Sl=wl?ba.Buffer:void 0,Cl=Sl?Sl.isBuffer:void 0,Mc=Cl||va;ya.exports=Mc})(isBuffer,isBuffer.exports)),isBuffer.exports}var _isIndex,hasRequired_isIndex;function require_isIndex(){if(hasRequired_isIndex)return _isIndex;hasRequired_isIndex=1;var ya=9007199254740991,ma=/^(?:0|[1-9]\d*)$/;function ba(va,Ma){var El=typeof va;return Ma=Ma??ya,!!Ma&&(El=="number"||El!="symbol"&&ma.test(va))&&va>-1&&va%1==0&&va<Ma}return _isIndex=ba,_isIndex}var isLength_1,hasRequiredIsLength;function requireIsLength(){if(hasRequiredIsLength)return isLength_1;hasRequiredIsLength=1;var ya=9007199254740991;function ma(ba){return typeof ba=="number"&&ba>-1&&ba%1==0&&ba<=ya}return isLength_1=ma,isLength_1}var _baseIsTypedArray,hasRequired_baseIsTypedArray;function require_baseIsTypedArray(){if(hasRequired_baseIsTypedArray)return _baseIsTypedArray;hasRequired_baseIsTypedArray=1;var ya=require_baseGetTag(),ma=requireIsLength(),ba=requireIsObjectLike(),va="[object Arguments]",Ma="[object Array]",El="[object Boolean]",wl="[object Date]",Sl="[object Error]",Cl="[object Function]",Mc="[object Map]",Ef="[object Number]",Zf="[object Object]",Jf="[object RegExp]",dp="[object Set]",hp="[object String]",dg="[object WeakMap]",pg="[object ArrayBuffer]",hg="[object DataView]",mg="[object Float32Array]",gg="[object Float64Array]",sy="[object Int8Array]",ly="[object Int16Array]",cy="[object Int32Array]",uy="[object Uint8Array]",H1="[object Uint8ClampedArray]",lE="[object Uint16Array]",R_="[object Uint32Array]",V1={};V1[mg]=V1[gg]=V1[sy]=V1[ly]=V1[cy]=V1[uy]=V1[H1]=V1[lE]=V1[R_]=!0,V1[va]=V1[Ma]=V1[pg]=V1[El]=V1[hg]=V1[wl]=V1[Sl]=V1[Cl]=V1[Mc]=V1[Ef]=V1[Zf]=V1[Jf]=V1[dp]=V1[hp]=V1[dg]=!1;function q1(n0){return ba(n0)&&ma(n0.length)&&!!V1[ya(n0)]}return _baseIsTypedArray=q1,_baseIsTypedArray}var _baseUnary,hasRequired_baseUnary;function require_baseUnary(){if(hasRequired_baseUnary)return _baseUnary;hasRequired_baseUnary=1;function ya(ma){return function(ba){return ma(ba)}}return _baseUnary=ya,_baseUnary}var _nodeUtil={exports:{}};_nodeUtil.exports;var hasRequired_nodeUtil;function require_nodeUtil(){return hasRequired_nodeUtil||(hasRequired_nodeUtil=1,(function(ya,ma){var ba=require_freeGlobal(),va=ma&&!ma.nodeType&&ma,Ma=va&&!0&&ya&&!ya.nodeType&&ya,El=Ma&&Ma.exports===va,wl=El&&ba.process,Sl=(function(){try{var Cl=Ma&&Ma.require&&Ma.require("util").types;return Cl||wl&&wl.binding&&wl.binding("util")}catch{}})();ya.exports=Sl})(_nodeUtil,_nodeUtil.exports)),_nodeUtil.exports}var isTypedArray_1,hasRequiredIsTypedArray;function requireIsTypedArray(){if(hasRequiredIsTypedArray)return isTypedArray_1;hasRequiredIsTypedArray=1;var ya=require_baseIsTypedArray(),ma=require_baseUnary(),ba=require_nodeUtil(),va=ba&&ba.isTypedArray,Ma=va?ma(va):ya;return isTypedArray_1=Ma,isTypedArray_1}var _arrayLikeKeys,hasRequired_arrayLikeKeys;function require_arrayLikeKeys(){if(hasRequired_arrayLikeKeys)return _arrayLikeKeys;hasRequired_arrayLikeKeys=1;var ya=require_baseTimes(),ma=requireIsArguments(),ba=requireIsArray(),va=requireIsBuffer(),Ma=require_isIndex(),El=requireIsTypedArray(),wl=Object.prototype,Sl=wl.hasOwnProperty;function Cl(Mc,Ef){var Zf=ba(Mc),Jf=!Zf&&ma(Mc),dp=!Zf&&!Jf&&va(Mc),hp=!Zf&&!Jf&&!dp&&El(Mc),dg=Zf||Jf||dp||hp,pg=dg?ya(Mc.length,String):[],hg=pg.length;for(var mg in Mc)(Ef||Sl.call(Mc,mg))&&!(dg&&(mg=="length"||dp&&(mg=="offset"||mg=="parent")||hp&&(mg=="buffer"||mg=="byteLength"||mg=="byteOffset")||Ma(mg,hg)))&&pg.push(mg);return pg}return _arrayLikeKeys=Cl,_arrayLikeKeys}var _isPrototype,hasRequired_isPrototype;function require_isPrototype(){if(hasRequired_isPrototype)return _isPrototype;hasRequired_isPrototype=1;var ya=Object.prototype;function ma(ba){var va=ba&&ba.constructor,Ma=typeof va=="function"&&va.prototype||ya;return ba===Ma}return _isPrototype=ma,_isPrototype}var _overArg,hasRequired_overArg;function require_overArg(){if(hasRequired_overArg)return _overArg;hasRequired_overArg=1;function ya(ma,ba){return function(va){return ma(ba(va))}}return _overArg=ya,_overArg}var _nativeKeys,hasRequired_nativeKeys;function require_nativeKeys(){if(hasRequired_nativeKeys)return _nativeKeys;hasRequired_nativeKeys=1;var ya=require_overArg(),ma=ya(Object.keys,Object);return _nativeKeys=ma,_nativeKeys}var _baseKeys,hasRequired_baseKeys;function require_baseKeys(){if(hasRequired_baseKeys)return _baseKeys;hasRequired_baseKeys=1;var ya=require_isPrototype(),ma=require_nativeKeys(),ba=Object.prototype,va=ba.hasOwnProperty;function Ma(El){if(!ya(El))return ma(El);var wl=[];for(var Sl in Object(El))va.call(El,Sl)&&Sl!="constructor"&&wl.push(Sl);return wl}return _baseKeys=Ma,_baseKeys}var isArrayLike_1,hasRequiredIsArrayLike;function requireIsArrayLike(){if(hasRequiredIsArrayLike)return isArrayLike_1;hasRequiredIsArrayLike=1;var ya=requireIsFunction(),ma=requireIsLength();function ba(va){return va!=null&&ma(va.length)&&!ya(va)}return isArrayLike_1=ba,isArrayLike_1}var keys_1,hasRequiredKeys;function requireKeys(){if(hasRequiredKeys)return keys_1;hasRequiredKeys=1;var ya=require_arrayLikeKeys(),ma=require_baseKeys(),ba=requireIsArrayLike();function va(Ma){return ba(Ma)?ya(Ma):ma(Ma)}return keys_1=va,keys_1}var _baseAssign,hasRequired_baseAssign;function require_baseAssign(){if(hasRequired_baseAssign)return _baseAssign;hasRequired_baseAssign=1;var ya=require_copyObject(),ma=requireKeys();function ba(va,Ma){return va&&ya(Ma,ma(Ma),va)}return _baseAssign=ba,_baseAssign}var _nativeKeysIn,hasRequired_nativeKeysIn;function require_nativeKeysIn(){if(hasRequired_nativeKeysIn)return _nativeKeysIn;hasRequired_nativeKeysIn=1;function ya(ma){var ba=[];if(ma!=null)for(var va in Object(ma))ba.push(va);return ba}return _nativeKeysIn=ya,_nativeKeysIn}var _baseKeysIn,hasRequired_baseKeysIn;function require_baseKeysIn(){if(hasRequired_baseKeysIn)return _baseKeysIn;hasRequired_baseKeysIn=1;var ya=requireIsObject(),ma=require_isPrototype(),ba=require_nativeKeysIn(),va=Object.prototype,Ma=va.hasOwnProperty;function El(wl){if(!ya(wl))return ba(wl);var Sl=ma(wl),Cl=[];for(var Mc in wl)Mc=="constructor"&&(Sl||!Ma.call(wl,Mc))||Cl.push(Mc);return Cl}return _baseKeysIn=El,_baseKeysIn}var keysIn_1,hasRequiredKeysIn;function requireKeysIn(){if(hasRequiredKeysIn)return keysIn_1;hasRequiredKeysIn=1;var ya=require_arrayLikeKeys(),ma=require_baseKeysIn(),ba=requireIsArrayLike();function va(Ma){return ba(Ma)?ya(Ma,!0):ma(Ma)}return keysIn_1=va,keysIn_1}var _baseAssignIn,hasRequired_baseAssignIn;function require_baseAssignIn(){if(hasRequired_baseAssignIn)return _baseAssignIn;hasRequired_baseAssignIn=1;var ya=require_copyObject(),ma=requireKeysIn();function ba(va,Ma){return va&&ya(Ma,ma(Ma),va)}return _baseAssignIn=ba,_baseAssignIn}var _cloneBuffer={exports:{}};_cloneBuffer.exports;var hasRequired_cloneBuffer;function require_cloneBuffer(){return hasRequired_cloneBuffer||(hasRequired_cloneBuffer=1,(function(ya,ma){var ba=require_root(),va=ma&&!ma.nodeType&&ma,Ma=va&&!0&&ya&&!ya.nodeType&&ya,El=Ma&&Ma.exports===va,wl=El?ba.Buffer:void 0,Sl=wl?wl.allocUnsafe:void 0;function Cl(Mc,Ef){if(Ef)return Mc.slice();var Zf=Mc.length,Jf=Sl?Sl(Zf):new Mc.constructor(Zf);return Mc.copy(Jf),Jf}ya.exports=Cl})(_cloneBuffer,_cloneBuffer.exports)),_cloneBuffer.exports}var _copyArray,hasRequired_copyArray;function require_copyArray(){if(hasRequired_copyArray)return _copyArray;hasRequired_copyArray=1;function ya(ma,ba){var va=-1,Ma=ma.length;for(ba||(ba=Array(Ma));++va<Ma;)ba[va]=ma[va];return ba}return _copyArray=ya,_copyArray}var _arrayFilter,hasRequired_arrayFilter;function require_arrayFilter(){if(hasRequired_arrayFilter)return _arrayFilter;hasRequired_arrayFilter=1;function ya(ma,ba){for(var va=-1,Ma=ma==null?0:ma.length,El=0,wl=[];++va<Ma;){var Sl=ma[va];ba(Sl,va,ma)&&(wl[El++]=Sl)}return wl}return _arrayFilter=ya,_arrayFilter}var stubArray_1,hasRequiredStubArray;function requireStubArray(){if(hasRequiredStubArray)return stubArray_1;hasRequiredStubArray=1;function ya(){return[]}return stubArray_1=ya,stubArray_1}var _getSymbols,hasRequired_getSymbols;function require_getSymbols(){if(hasRequired_getSymbols)return _getSymbols;hasRequired_getSymbols=1;var ya=require_arrayFilter(),ma=requireStubArray(),ba=Object.prototype,va=ba.propertyIsEnumerable,Ma=Object.getOwnPropertySymbols,El=Ma?function(wl){return wl==null?[]:(wl=Object(wl),ya(Ma(wl),function(Sl){return va.call(wl,Sl)}))}:ma;return _getSymbols=El,_getSymbols}var _copySymbols,hasRequired_copySymbols;function require_copySymbols(){if(hasRequired_copySymbols)return _copySymbols;hasRequired_copySymbols=1;var ya=require_copyObject(),ma=require_getSymbols();function ba(va,Ma){return ya(va,ma(va),Ma)}return _copySymbols=ba,_copySymbols}var _arrayPush,hasRequired_arrayPush;function require_arrayPush(){if(hasRequired_arrayPush)return _arrayPush;hasRequired_arrayPush=1;function ya(ma,ba){for(var va=-1,Ma=ba.length,El=ma.length;++va<Ma;)ma[El+va]=ba[va];return ma}return _arrayPush=ya,_arrayPush}var _getPrototype,hasRequired_getPrototype;function require_getPrototype(){if(hasRequired_getPrototype)return _getPrototype;hasRequired_getPrototype=1;var ya=require_overArg(),ma=ya(Object.getPrototypeOf,Object);return _getPrototype=ma,_getPrototype}var _getSymbolsIn,hasRequired_getSymbolsIn;function require_getSymbolsIn(){if(hasRequired_getSymbolsIn)return _getSymbolsIn;hasRequired_getSymbolsIn=1;var ya=require_arrayPush(),ma=require_getPrototype(),ba=require_getSymbols(),va=requireStubArray(),Ma=Object.getOwnPropertySymbols,El=Ma?function(wl){for(var Sl=[];wl;)ya(Sl,ba(wl)),wl=ma(wl);return Sl}:va;return _getSymbolsIn=El,_getSymbolsIn}var _copySymbolsIn,hasRequired_copySymbolsIn;function require_copySymbolsIn(){if(hasRequired_copySymbolsIn)return _copySymbolsIn;hasRequired_copySymbolsIn=1;var ya=require_copyObject(),ma=require_getSymbolsIn();function ba(va,Ma){return ya(va,ma(va),Ma)}return _copySymbolsIn=ba,_copySymbolsIn}var _baseGetAllKeys,hasRequired_baseGetAllKeys;function require_baseGetAllKeys(){if(hasRequired_baseGetAllKeys)return _baseGetAllKeys;hasRequired_baseGetAllKeys=1;var ya=require_arrayPush(),ma=requireIsArray();function ba(va,Ma,El){var wl=Ma(va);return ma(va)?wl:ya(wl,El(va))}return _baseGetAllKeys=ba,_baseGetAllKeys}var _getAllKeys,hasRequired_getAllKeys;function require_getAllKeys(){if(hasRequired_getAllKeys)return _getAllKeys;hasRequired_getAllKeys=1;var ya=require_baseGetAllKeys(),ma=require_getSymbols(),ba=requireKeys();function va(Ma){return ya(Ma,ba,ma)}return _getAllKeys=va,_getAllKeys}var _getAllKeysIn,hasRequired_getAllKeysIn;function require_getAllKeysIn(){if(hasRequired_getAllKeysIn)return _getAllKeysIn;hasRequired_getAllKeysIn=1;var ya=require_baseGetAllKeys(),ma=require_getSymbolsIn(),ba=requireKeysIn();function va(Ma){return ya(Ma,ba,ma)}return _getAllKeysIn=va,_getAllKeysIn}var _DataView,hasRequired_DataView;function require_DataView(){if(hasRequired_DataView)return _DataView;hasRequired_DataView=1;var ya=require_getNative(),ma=require_root(),ba=ya(ma,"DataView");return _DataView=ba,_DataView}var _Promise,hasRequired_Promise;function require_Promise(){if(hasRequired_Promise)return _Promise;hasRequired_Promise=1;var ya=require_getNative(),ma=require_root(),ba=ya(ma,"Promise");return _Promise=ba,_Promise}var _Set,hasRequired_Set;function require_Set(){if(hasRequired_Set)return _Set;hasRequired_Set=1;var ya=require_getNative(),ma=require_root(),ba=ya(ma,"Set");return _Set=ba,_Set}var _WeakMap,hasRequired_WeakMap;function require_WeakMap(){if(hasRequired_WeakMap)return _WeakMap;hasRequired_WeakMap=1;var ya=require_getNative(),ma=require_root(),ba=ya(ma,"WeakMap");return _WeakMap=ba,_WeakMap}var _getTag,hasRequired_getTag;function require_getTag(){if(hasRequired_getTag)return _getTag;hasRequired_getTag=1;var ya=require_DataView(),ma=require_Map(),ba=require_Promise(),va=require_Set(),Ma=require_WeakMap(),El=require_baseGetTag(),wl=require_toSource(),Sl="[object Map]",Cl="[object Object]",Mc="[object Promise]",Ef="[object Set]",Zf="[object WeakMap]",Jf="[object DataView]",dp=wl(ya),hp=wl(ma),dg=wl(ba),pg=wl(va),hg=wl(Ma),mg=El;return(ya&&mg(new ya(new ArrayBuffer(1)))!=Jf||ma&&mg(new ma)!=Sl||ba&&mg(ba.resolve())!=Mc||va&&mg(new va)!=Ef||Ma&&mg(new Ma)!=Zf)&&(mg=function(gg){var sy=El(gg),ly=sy==Cl?gg.constructor:void 0,cy=ly?wl(ly):"";if(cy)switch(cy){case dp:return Jf;case hp:return Sl;case dg:return Mc;case pg:return Ef;case hg:return Zf}return sy}),_getTag=mg,_getTag}var _initCloneArray,hasRequired_initCloneArray;function require_initCloneArray(){if(hasRequired_initCloneArray)return _initCloneArray;hasRequired_initCloneArray=1;var ya=Object.prototype,ma=ya.hasOwnProperty;function ba(va){var Ma=va.length,El=new va.constructor(Ma);return Ma&&typeof va[0]=="string"&&ma.call(va,"index")&&(El.index=va.index,El.input=va.input),El}return _initCloneArray=ba,_initCloneArray}var _Uint8Array,hasRequired_Uint8Array;function require_Uint8Array(){if(hasRequired_Uint8Array)return _Uint8Array;hasRequired_Uint8Array=1;var ya=require_root(),ma=ya.Uint8Array;return _Uint8Array=ma,_Uint8Array}var _cloneArrayBuffer,hasRequired_cloneArrayBuffer;function require_cloneArrayBuffer(){if(hasRequired_cloneArrayBuffer)return _cloneArrayBuffer;hasRequired_cloneArrayBuffer=1;var ya=require_Uint8Array();function ma(ba){var va=new ba.constructor(ba.byteLength);return new ya(va).set(new ya(ba)),va}return _cloneArrayBuffer=ma,_cloneArrayBuffer}var _cloneDataView,hasRequired_cloneDataView;function require_cloneDataView(){if(hasRequired_cloneDataView)return _cloneDataView;hasRequired_cloneDataView=1;var ya=require_cloneArrayBuffer();function ma(ba,va){var Ma=va?ya(ba.buffer):ba.buffer;return new ba.constructor(Ma,ba.byteOffset,ba.byteLength)}return _cloneDataView=ma,_cloneDataView}var _cloneRegExp,hasRequired_cloneRegExp;function require_cloneRegExp(){if(hasRequired_cloneRegExp)return _cloneRegExp;hasRequired_cloneRegExp=1;var ya=/\w*$/;function ma(ba){var va=new ba.constructor(ba.source,ya.exec(ba));return va.lastIndex=ba.lastIndex,va}return _cloneRegExp=ma,_cloneRegExp}var _cloneSymbol,hasRequired_cloneSymbol;function require_cloneSymbol(){if(hasRequired_cloneSymbol)return _cloneSymbol;hasRequired_cloneSymbol=1;var ya=require_Symbol(),ma=ya?ya.prototype:void 0,ba=ma?ma.valueOf:void 0;function va(Ma){return ba?Object(ba.call(Ma)):{}}return _cloneSymbol=va,_cloneSymbol}var _cloneTypedArray,hasRequired_cloneTypedArray;function require_cloneTypedArray(){if(hasRequired_cloneTypedArray)return _cloneTypedArray;hasRequired_cloneTypedArray=1;var ya=require_cloneArrayBuffer();function ma(ba,va){var Ma=va?ya(ba.buffer):ba.buffer;return new ba.constructor(Ma,ba.byteOffset,ba.length)}return _cloneTypedArray=ma,_cloneTypedArray}var _initCloneByTag,hasRequired_initCloneByTag;function require_initCloneByTag(){if(hasRequired_initCloneByTag)return _initCloneByTag;hasRequired_initCloneByTag=1;var ya=require_cloneArrayBuffer(),ma=require_cloneDataView(),ba=require_cloneRegExp(),va=require_cloneSymbol(),Ma=require_cloneTypedArray(),El="[object Boolean]",wl="[object Date]",Sl="[object Map]",Cl="[object Number]",Mc="[object RegExp]",Ef="[object Set]",Zf="[object String]",Jf="[object Symbol]",dp="[object ArrayBuffer]",hp="[object DataView]",dg="[object Float32Array]",pg="[object Float64Array]",hg="[object Int8Array]",mg="[object Int16Array]",gg="[object Int32Array]",sy="[object Uint8Array]",ly="[object Uint8ClampedArray]",cy="[object Uint16Array]",uy="[object Uint32Array]";function H1(lE,R_,V1){var q1=lE.constructor;switch(R_){case dp:return ya(lE);case El:case wl:return new q1(+lE);case hp:return ma(lE,V1);case dg:case pg:case hg:case mg:case gg:case sy:case ly:case cy:case uy:return Ma(lE,V1);case Sl:return new q1;case Cl:case Zf:return new q1(lE);case Mc:return ba(lE);case Ef:return new q1;case Jf:return va(lE)}}return _initCloneByTag=H1,_initCloneByTag}var _baseCreate,hasRequired_baseCreate;function require_baseCreate(){if(hasRequired_baseCreate)return _baseCreate;hasRequired_baseCreate=1;var ya=requireIsObject(),ma=Object.create,ba=(function(){function va(){}return function(Ma){if(!ya(Ma))return{};if(ma)return ma(Ma);va.prototype=Ma;var El=new va;return va.prototype=void 0,El}})();return _baseCreate=ba,_baseCreate}var _initCloneObject,hasRequired_initCloneObject;function require_initCloneObject(){if(hasRequired_initCloneObject)return _initCloneObject;hasRequired_initCloneObject=1;var ya=require_baseCreate(),ma=require_getPrototype(),ba=require_isPrototype();function va(Ma){return typeof Ma.constructor=="function"&&!ba(Ma)?ya(ma(Ma)):{}}return _initCloneObject=va,_initCloneObject}var _baseIsMap,hasRequired_baseIsMap;function require_baseIsMap(){if(hasRequired_baseIsMap)return _baseIsMap;hasRequired_baseIsMap=1;var ya=require_getTag(),ma=requireIsObjectLike(),ba="[object Map]";function va(Ma){return ma(Ma)&&ya(Ma)==ba}return _baseIsMap=va,_baseIsMap}var isMap_1,hasRequiredIsMap;function requireIsMap(){if(hasRequiredIsMap)return isMap_1;hasRequiredIsMap=1;var ya=require_baseIsMap(),ma=require_baseUnary(),ba=require_nodeUtil(),va=ba&&ba.isMap,Ma=va?ma(va):ya;return isMap_1=Ma,isMap_1}var _baseIsSet,hasRequired_baseIsSet;function require_baseIsSet(){if(hasRequired_baseIsSet)return _baseIsSet;hasRequired_baseIsSet=1;var ya=require_getTag(),ma=requireIsObjectLike(),ba="[object Set]";function va(Ma){return ma(Ma)&&ya(Ma)==ba}return _baseIsSet=va,_baseIsSet}var isSet_1,hasRequiredIsSet;function requireIsSet(){if(hasRequiredIsSet)return isSet_1;hasRequiredIsSet=1;var ya=require_baseIsSet(),ma=require_baseUnary(),ba=require_nodeUtil(),va=ba&&ba.isSet,Ma=va?ma(va):ya;return isSet_1=Ma,isSet_1}var _baseClone,hasRequired_baseClone;function require_baseClone(){if(hasRequired_baseClone)return _baseClone;hasRequired_baseClone=1;var ya=require_Stack(),ma=require_arrayEach(),ba=require_assignValue(),va=require_baseAssign(),Ma=require_baseAssignIn(),El=require_cloneBuffer(),wl=require_copyArray(),Sl=require_copySymbols(),Cl=require_copySymbolsIn(),Mc=require_getAllKeys(),Ef=require_getAllKeysIn(),Zf=require_getTag(),Jf=require_initCloneArray(),dp=require_initCloneByTag(),hp=require_initCloneObject(),dg=requireIsArray(),pg=requireIsBuffer(),hg=requireIsMap(),mg=requireIsObject(),gg=requireIsSet(),sy=requireKeys(),ly=requireKeysIn(),cy=1,uy=2,H1=4,lE="[object Arguments]",R_="[object Array]",V1="[object Boolean]",q1="[object Date]",n0="[object Error]",aE="[object Function]",P_="[object GeneratorFunction]",O_="[object Map]",sN="[object Number]",uN="[object Object]",lN="[object RegExp]",_F="[object Set]",eee="[object String]",JY="[object Symbol]",_pe="[object WeakMap]",_Q="[object ArrayBuffer]",Cpe="[object DataView]",Tpe="[object Float32Array]",opt="[object Float64Array]",Kpt="[object Int8Array]",Eht="[object Int16Array]",Jpt="[object Int32Array]",kpe="[object Uint8Array]",Mpe="[object Uint8ClampedArray]",_ht="[object Uint16Array]",Wpt="[object Uint32Array]",rmt={};rmt[lE]=rmt[R_]=rmt[_Q]=rmt[Cpe]=rmt[V1]=rmt[q1]=rmt[Tpe]=rmt[opt]=rmt[Kpt]=rmt[Eht]=rmt[Jpt]=rmt[O_]=rmt[sN]=rmt[uN]=rmt[lN]=rmt[_F]=rmt[eee]=rmt[JY]=rmt[kpe]=rmt[Mpe]=rmt[_ht]=rmt[Wpt]=!0,rmt[n0]=rmt[aE]=rmt[_pe]=!1;function dmt(Aht,Smt,Nmt,Dmt,wmt,Xht){var bmt,kmt=Smt&cy,Cmt=Smt&uy,qmt=Smt&H1;if(Nmt&&(bmt=wmt?Nmt(Aht,Dmt,wmt,Xht):Nmt(Aht)),bmt!==void 0)return bmt;if(!mg(Aht))return Aht;var Hpt=dg(Aht);if(Hpt){if(bmt=Jf(Aht),!kmt)return wl(Aht,bmt)}else{var XY=Zf(Aht),Epe=XY==aE||XY==P_;if(pg(Aht))return El(Aht,kmt);if(XY==uN||XY==lE||Epe&&!wmt){if(bmt=Cmt||Epe?{}:hp(Aht),!kmt)return Cmt?Cl(Aht,Ma(bmt,Aht)):Sl(Aht,va(bmt,Aht))}else{if(!rmt[XY])return wmt?Aht:{};bmt=dp(Aht,XY,kmt)}}Xht||(Xht=new ya);var Zpt=Xht.get(Aht);if(Zpt)return Zpt;Xht.set(Aht,bmt),gg(Aht)?Aht.forEach(function(Ape){bmt.add(dmt(Ape,Smt,Nmt,Ape,Aht,Xht))}):hg(Aht)&&Aht.forEach(function(Ape,qpt){bmt.set(qpt,dmt(Ape,Smt,Nmt,qpt,Aht,Xht))});var Q_e=qmt?Cmt?Ef:Mc:Cmt?ly:sy,Ppe=Hpt?void 0:Q_e(Aht);return ma(Ppe||Aht,function(Ape,qpt){Ppe&&(qpt=Ape,Ape=Aht[qpt]),ba(bmt,qpt,dmt(Ape,Smt,Nmt,qpt,Aht,Xht))}),bmt}return _baseClone=dmt,_baseClone}var clone_1,hasRequiredClone;function requireClone(){if(hasRequiredClone)return clone_1;hasRequiredClone=1;var ya=require_baseClone(),ma=4;function ba(va){return ya(va,ma)}return clone_1=ba,clone_1}var constant_1,hasRequiredConstant;function requireConstant(){if(hasRequiredConstant)return constant_1;hasRequiredConstant=1;function ya(ma){return function(){return ma}}return constant_1=ya,constant_1}var _createBaseFor,hasRequired_createBaseFor;function require_createBaseFor(){if(hasRequired_createBaseFor)return _createBaseFor;hasRequired_createBaseFor=1;function ya(ma){return function(ba,va,Ma){for(var El=-1,wl=Object(ba),Sl=Ma(ba),Cl=Sl.length;Cl--;){var Mc=Sl[ma?Cl:++El];if(va(wl[Mc],Mc,wl)===!1)break}return ba}}return _createBaseFor=ya,_createBaseFor}var _baseFor,hasRequired_baseFor;function require_baseFor(){if(hasRequired_baseFor)return _baseFor;hasRequired_baseFor=1;var ya=require_createBaseFor(),ma=ya();return _baseFor=ma,_baseFor}var _baseForOwn,hasRequired_baseForOwn;function require_baseForOwn(){if(hasRequired_baseForOwn)return _baseForOwn;hasRequired_baseForOwn=1;var ya=require_baseFor(),ma=requireKeys();function ba(va,Ma){return va&&ya(va,Ma,ma)}return _baseForOwn=ba,_baseForOwn}var _createBaseEach,hasRequired_createBaseEach;function require_createBaseEach(){if(hasRequired_createBaseEach)return _createBaseEach;hasRequired_createBaseEach=1;var ya=requireIsArrayLike();function ma(ba,va){return function(Ma,El){if(Ma==null)return Ma;if(!ya(Ma))return ba(Ma,El);for(var wl=Ma.length,Sl=va?wl:-1,Cl=Object(Ma);(va?Sl--:++Sl<wl)&&El(Cl[Sl],Sl,Cl)!==!1;);return Ma}}return _createBaseEach=ma,_createBaseEach}var _baseEach,hasRequired_baseEach;function require_baseEach(){if(hasRequired_baseEach)return _baseEach;hasRequired_baseEach=1;var ya=require_baseForOwn(),ma=require_createBaseEach(),ba=ma(ya);return _baseEach=ba,_baseEach}var identity_1,hasRequiredIdentity;function requireIdentity(){if(hasRequiredIdentity)return identity_1;hasRequiredIdentity=1;function ya(ma){return ma}return identity_1=ya,identity_1}var _castFunction,hasRequired_castFunction;function require_castFunction(){if(hasRequired_castFunction)return _castFunction;hasRequired_castFunction=1;var ya=requireIdentity();function ma(ba){return typeof ba=="function"?ba:ya}return _castFunction=ma,_castFunction}var forEach_1,hasRequiredForEach;function requireForEach(){if(hasRequiredForEach)return forEach_1;hasRequiredForEach=1;var ya=require_arrayEach(),ma=require_baseEach(),ba=require_castFunction(),va=requireIsArray();function Ma(El,wl){var Sl=va(El)?ya:ma;return Sl(El,ba(wl))}return forEach_1=Ma,forEach_1}var each,hasRequiredEach;function requireEach(){return hasRequiredEach||(hasRequiredEach=1,each=requireForEach()),each}var _baseFilter,hasRequired_baseFilter;function require_baseFilter(){if(hasRequired_baseFilter)return _baseFilter;hasRequired_baseFilter=1;var ya=require_baseEach();function ma(ba,va){var Ma=[];return ya(ba,function(El,wl,Sl){va(El,wl,Sl)&&Ma.push(El)}),Ma}return _baseFilter=ma,_baseFilter}var _setCacheAdd,hasRequired_setCacheAdd;function require_setCacheAdd(){if(hasRequired_setCacheAdd)return _setCacheAdd;hasRequired_setCacheAdd=1;var ya="__lodash_hash_undefined__";function ma(ba){return this.__data__.set(ba,ya),this}return _setCacheAdd=ma,_setCacheAdd}var _setCacheHas,hasRequired_setCacheHas;function require_setCacheHas(){if(hasRequired_setCacheHas)return _setCacheHas;hasRequired_setCacheHas=1;function ya(ma){return this.__data__.has(ma)}return _setCacheHas=ya,_setCacheHas}var _SetCache,hasRequired_SetCache;function require_SetCache(){if(hasRequired_SetCache)return _SetCache;hasRequired_SetCache=1;var ya=require_MapCache(),ma=require_setCacheAdd(),ba=require_setCacheHas();function va(Ma){var El=-1,wl=Ma==null?0:Ma.length;for(this.__data__=new ya;++El<wl;)this.add(Ma[El])}return va.prototype.add=va.prototype.push=ma,va.prototype.has=ba,_SetCache=va,_SetCache}var _arraySome,hasRequired_arraySome;function require_arraySome(){if(hasRequired_arraySome)return _arraySome;hasRequired_arraySome=1;function ya(ma,ba){for(var va=-1,Ma=ma==null?0:ma.length;++va<Ma;)if(ba(ma[va],va,ma))return!0;return!1}return _arraySome=ya,_arraySome}var _cacheHas,hasRequired_cacheHas;function require_cacheHas(){if(hasRequired_cacheHas)return _cacheHas;hasRequired_cacheHas=1;function ya(ma,ba){return ma.has(ba)}return _cacheHas=ya,_cacheHas}var _equalArrays,hasRequired_equalArrays;function require_equalArrays(){if(hasRequired_equalArrays)return _equalArrays;hasRequired_equalArrays=1;var ya=require_SetCache(),ma=require_arraySome(),ba=require_cacheHas(),va=1,Ma=2;function El(wl,Sl,Cl,Mc,Ef,Zf){var Jf=Cl&va,dp=wl.length,hp=Sl.length;if(dp!=hp&&!(Jf&&hp>dp))return!1;var dg=Zf.get(wl),pg=Zf.get(Sl);if(dg&&pg)return dg==Sl&&pg==wl;var hg=-1,mg=!0,gg=Cl&Ma?new ya:void 0;for(Zf.set(wl,Sl),Zf.set(Sl,wl);++hg<dp;){var sy=wl[hg],ly=Sl[hg];if(Mc)var cy=Jf?Mc(ly,sy,hg,Sl,wl,Zf):Mc(sy,ly,hg,wl,Sl,Zf);if(cy!==void 0){if(cy)continue;mg=!1;break}if(gg){if(!ma(Sl,function(uy,H1){if(!ba(gg,H1)&&(sy===uy||Ef(sy,uy,Cl,Mc,Zf)))return gg.push(H1)})){mg=!1;break}}else if(!(sy===ly||Ef(sy,ly,Cl,Mc,Zf))){mg=!1;break}}return Zf.delete(wl),Zf.delete(Sl),mg}return _equalArrays=El,_equalArrays}var _mapToArray,hasRequired_mapToArray;function require_mapToArray(){if(hasRequired_mapToArray)return _mapToArray;hasRequired_mapToArray=1;function ya(ma){var ba=-1,va=Array(ma.size);return ma.forEach(function(Ma,El){va[++ba]=[El,Ma]}),va}return _mapToArray=ya,_mapToArray}var _setToArray,hasRequired_setToArray;function require_setToArray(){if(hasRequired_setToArray)return _setToArray;hasRequired_setToArray=1;function ya(ma){var ba=-1,va=Array(ma.size);return ma.forEach(function(Ma){va[++ba]=Ma}),va}return _setToArray=ya,_setToArray}var _equalByTag,hasRequired_equalByTag;function require_equalByTag(){if(hasRequired_equalByTag)return _equalByTag;hasRequired_equalByTag=1;var ya=require_Symbol(),ma=require_Uint8Array(),ba=requireEq(),va=require_equalArrays(),Ma=require_mapToArray(),El=require_setToArray(),wl=1,Sl=2,Cl="[object Boolean]",Mc="[object Date]",Ef="[object Error]",Zf="[object Map]",Jf="[object Number]",dp="[object RegExp]",hp="[object Set]",dg="[object String]",pg="[object Symbol]",hg="[object ArrayBuffer]",mg="[object DataView]",gg=ya?ya.prototype:void 0,sy=gg?gg.valueOf:void 0;function ly(cy,uy,H1,lE,R_,V1,q1){switch(H1){case mg:if(cy.byteLength!=uy.byteLength||cy.byteOffset!=uy.byteOffset)return!1;cy=cy.buffer,uy=uy.buffer;case hg:return!(cy.byteLength!=uy.byteLength||!V1(new ma(cy),new ma(uy)));case Cl:case Mc:case Jf:return ba(+cy,+uy);case Ef:return cy.name==uy.name&&cy.message==uy.message;case dp:case dg:return cy==uy+"";case Zf:var n0=Ma;case hp:var aE=lE&wl;if(n0||(n0=El),cy.size!=uy.size&&!aE)return!1;var P_=q1.get(cy);if(P_)return P_==uy;lE|=Sl,q1.set(cy,uy);var O_=va(n0(cy),n0(uy),lE,R_,V1,q1);return q1.delete(cy),O_;case pg:if(sy)return sy.call(cy)==sy.call(uy)}return!1}return _equalByTag=ly,_equalByTag}var _equalObjects,hasRequired_equalObjects;function require_equalObjects(){if(hasRequired_equalObjects)return _equalObjects;hasRequired_equalObjects=1;var ya=require_getAllKeys(),ma=1,ba=Object.prototype,va=ba.hasOwnProperty;function Ma(El,wl,Sl,Cl,Mc,Ef){var Zf=Sl&ma,Jf=ya(El),dp=Jf.length,hp=ya(wl),dg=hp.length;if(dp!=dg&&!Zf)return!1;for(var pg=dp;pg--;){var hg=Jf[pg];if(!(Zf?hg in wl:va.call(wl,hg)))return!1}var mg=Ef.get(El),gg=Ef.get(wl);if(mg&&gg)return mg==wl&&gg==El;var sy=!0;Ef.set(El,wl),Ef.set(wl,El);for(var ly=Zf;++pg<dp;){hg=Jf[pg];var cy=El[hg],uy=wl[hg];if(Cl)var H1=Zf?Cl(uy,cy,hg,wl,El,Ef):Cl(cy,uy,hg,El,wl,Ef);if(!(H1===void 0?cy===uy||Mc(cy,uy,Sl,Cl,Ef):H1)){sy=!1;break}ly||(ly=hg=="constructor")}if(sy&&!ly){var lE=El.constructor,R_=wl.constructor;lE!=R_&&"constructor"in El&&"constructor"in wl&&!(typeof lE=="function"&&lE instanceof lE&&typeof R_=="function"&&R_ instanceof R_)&&(sy=!1)}return Ef.delete(El),Ef.delete(wl),sy}return _equalObjects=Ma,_equalObjects}var _baseIsEqualDeep,hasRequired_baseIsEqualDeep;function require_baseIsEqualDeep(){if(hasRequired_baseIsEqualDeep)return _baseIsEqualDeep;hasRequired_baseIsEqualDeep=1;var ya=require_Stack(),ma=require_equalArrays(),ba=require_equalByTag(),va=require_equalObjects(),Ma=require_getTag(),El=requireIsArray(),wl=requireIsBuffer(),Sl=requireIsTypedArray(),Cl=1,Mc="[object Arguments]",Ef="[object Array]",Zf="[object Object]",Jf=Object.prototype,dp=Jf.hasOwnProperty;function hp(dg,pg,hg,mg,gg,sy){var ly=El(dg),cy=El(pg),uy=ly?Ef:Ma(dg),H1=cy?Ef:Ma(pg);uy=uy==Mc?Zf:uy,H1=H1==Mc?Zf:H1;var lE=uy==Zf,R_=H1==Zf,V1=uy==H1;if(V1&&wl(dg)){if(!wl(pg))return!1;ly=!0,lE=!1}if(V1&&!lE)return sy||(sy=new ya),ly||Sl(dg)?ma(dg,pg,hg,mg,gg,sy):ba(dg,pg,uy,hg,mg,gg,sy);if(!(hg&Cl)){var q1=lE&&dp.call(dg,"__wrapped__"),n0=R_&&dp.call(pg,"__wrapped__");if(q1||n0){var aE=q1?dg.value():dg,P_=n0?pg.value():pg;return sy||(sy=new ya),gg(aE,P_,hg,mg,sy)}}return V1?(sy||(sy=new ya),va(dg,pg,hg,mg,gg,sy)):!1}return _baseIsEqualDeep=hp,_baseIsEqualDeep}var _baseIsEqual,hasRequired_baseIsEqual;function require_baseIsEqual(){if(hasRequired_baseIsEqual)return _baseIsEqual;hasRequired_baseIsEqual=1;var ya=require_baseIsEqualDeep(),ma=requireIsObjectLike();function ba(va,Ma,El,wl,Sl){return va===Ma?!0:va==null||Ma==null||!ma(va)&&!ma(Ma)?va!==va&&Ma!==Ma:ya(va,Ma,El,wl,ba,Sl)}return _baseIsEqual=ba,_baseIsEqual}var _baseIsMatch,hasRequired_baseIsMatch;function require_baseIsMatch(){if(hasRequired_baseIsMatch)return _baseIsMatch;hasRequired_baseIsMatch=1;var ya=require_Stack(),ma=require_baseIsEqual(),ba=1,va=2;function Ma(El,wl,Sl,Cl){var Mc=Sl.length,Ef=Mc,Zf=!Cl;if(El==null)return!Ef;for(El=Object(El);Mc--;){var Jf=Sl[Mc];if(Zf&&Jf[2]?Jf[1]!==El[Jf[0]]:!(Jf[0]in El))return!1}for(;++Mc<Ef;){Jf=Sl[Mc];var dp=Jf[0],hp=El[dp],dg=Jf[1];if(Zf&&Jf[2]){if(hp===void 0&&!(dp in El))return!1}else{var pg=new ya;if(Cl)var hg=Cl(hp,dg,dp,El,wl,pg);if(!(hg===void 0?ma(dg,hp,ba|va,Cl,pg):hg))return!1}}return!0}return _baseIsMatch=Ma,_baseIsMatch}var _isStrictComparable,hasRequired_isStrictComparable;function require_isStrictComparable(){if(hasRequired_isStrictComparable)return _isStrictComparable;hasRequired_isStrictComparable=1;var ya=requireIsObject();function ma(ba){return ba===ba&&!ya(ba)}return _isStrictComparable=ma,_isStrictComparable}var _getMatchData,hasRequired_getMatchData;function require_getMatchData(){if(hasRequired_getMatchData)return _getMatchData;hasRequired_getMatchData=1;var ya=require_isStrictComparable(),ma=requireKeys();function ba(va){for(var Ma=ma(va),El=Ma.length;El--;){var wl=Ma[El],Sl=va[wl];Ma[El]=[wl,Sl,ya(Sl)]}return Ma}return _getMatchData=ba,_getMatchData}var _matchesStrictComparable,hasRequired_matchesStrictComparable;function require_matchesStrictComparable(){if(hasRequired_matchesStrictComparable)return _matchesStrictComparable;hasRequired_matchesStrictComparable=1;function ya(ma,ba){return function(va){return va==null?!1:va[ma]===ba&&(ba!==void 0||ma in Object(va))}}return _matchesStrictComparable=ya,_matchesStrictComparable}var _baseMatches,hasRequired_baseMatches;function require_baseMatches(){if(hasRequired_baseMatches)return _baseMatches;hasRequired_baseMatches=1;var ya=require_baseIsMatch(),ma=require_getMatchData(),ba=require_matchesStrictComparable();function va(Ma){var El=ma(Ma);return El.length==1&&El[0][2]?ba(El[0][0],El[0][1]):function(wl){return wl===Ma||ya(wl,Ma,El)}}return _baseMatches=va,_baseMatches}var _isKey,hasRequired_isKey;function require_isKey(){if(hasRequired_isKey)return _isKey;hasRequired_isKey=1;var ya=requireIsArray(),ma=requireIsSymbol(),ba=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,va=/^\w*$/;function Ma(El,wl){if(ya(El))return!1;var Sl=typeof El;return Sl=="number"||Sl=="symbol"||Sl=="boolean"||El==null||ma(El)?!0:va.test(El)||!ba.test(El)||wl!=null&&El in Object(wl)}return _isKey=Ma,_isKey}var memoize_1,hasRequiredMemoize;function requireMemoize(){if(hasRequiredMemoize)return memoize_1;hasRequiredMemoize=1;var ya=require_MapCache(),ma="Expected a function";function ba(va,Ma){if(typeof va!="function"||Ma!=null&&typeof Ma!="function")throw new TypeError(ma);var El=function(){var wl=arguments,Sl=Ma?Ma.apply(this,wl):wl[0],Cl=El.cache;if(Cl.has(Sl))return Cl.get(Sl);var Mc=va.apply(this,wl);return El.cache=Cl.set(Sl,Mc)||Cl,Mc};return El.cache=new(ba.Cache||ya),El}return ba.Cache=ya,memoize_1=ba,memoize_1}var _memoizeCapped,hasRequired_memoizeCapped;function require_memoizeCapped(){if(hasRequired_memoizeCapped)return _memoizeCapped;hasRequired_memoizeCapped=1;var ya=requireMemoize(),ma=500;function ba(va){var Ma=ya(va,function(wl){return El.size===ma&&El.clear(),wl}),El=Ma.cache;return Ma}return _memoizeCapped=ba,_memoizeCapped}var _stringToPath,hasRequired_stringToPath;function require_stringToPath(){if(hasRequired_stringToPath)return _stringToPath;hasRequired_stringToPath=1;var ya=require_memoizeCapped(),ma=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ba=/\\(\\)?/g,va=ya(function(Ma){var El=[];return Ma.charCodeAt(0)===46&&El.push(""),Ma.replace(ma,function(wl,Sl,Cl,Mc){El.push(Cl?Mc.replace(ba,"$1"):Sl||wl)}),El});return _stringToPath=va,_stringToPath}var _arrayMap,hasRequired_arrayMap;function require_arrayMap(){if(hasRequired_arrayMap)return _arrayMap;hasRequired_arrayMap=1;function ya(ma,ba){for(var va=-1,Ma=ma==null?0:ma.length,El=Array(Ma);++va<Ma;)El[va]=ba(ma[va],va,ma);return El}return _arrayMap=ya,_arrayMap}var _baseToString,hasRequired_baseToString;function require_baseToString(){if(hasRequired_baseToString)return _baseToString;hasRequired_baseToString=1;var ya=require_Symbol(),ma=require_arrayMap(),ba=requireIsArray(),va=requireIsSymbol(),Ma=ya?ya.prototype:void 0,El=Ma?Ma.toString:void 0;function wl(Sl){if(typeof Sl=="string")return Sl;if(ba(Sl))return ma(Sl,wl)+"";if(va(Sl))return El?El.call(Sl):"";var Cl=Sl+"";return Cl=="0"&&1/Sl==-1/0?"-0":Cl}return _baseToString=wl,_baseToString}var toString_1,hasRequiredToString;function requireToString(){if(hasRequiredToString)return toString_1;hasRequiredToString=1;var ya=require_baseToString();function ma(ba){return ba==null?"":ya(ba)}return toString_1=ma,toString_1}var _castPath,hasRequired_castPath;function require_castPath(){if(hasRequired_castPath)return _castPath;hasRequired_castPath=1;var ya=requireIsArray(),ma=require_isKey(),ba=require_stringToPath(),va=requireToString();function Ma(El,wl){return ya(El)?El:ma(El,wl)?[El]:ba(va(El))}return _castPath=Ma,_castPath}var _toKey,hasRequired_toKey;function require_toKey(){if(hasRequired_toKey)return _toKey;hasRequired_toKey=1;var ya=requireIsSymbol();function ma(ba){if(typeof ba=="string"||ya(ba))return ba;var va=ba+"";return va=="0"&&1/ba==-1/0?"-0":va}return _toKey=ma,_toKey}var _baseGet,hasRequired_baseGet;function require_baseGet(){if(hasRequired_baseGet)return _baseGet;hasRequired_baseGet=1;var ya=require_castPath(),ma=require_toKey();function ba(va,Ma){Ma=ya(Ma,va);for(var El=0,wl=Ma.length;va!=null&&El<wl;)va=va[ma(Ma[El++])];return El&&El==wl?va:void 0}return _baseGet=ba,_baseGet}var get_1,hasRequiredGet;function requireGet(){if(hasRequiredGet)return get_1;hasRequiredGet=1;var ya=require_baseGet();function ma(ba,va,Ma){var El=ba==null?void 0:ya(ba,va);return El===void 0?Ma:El}return get_1=ma,get_1}var _baseHasIn,hasRequired_baseHasIn;function require_baseHasIn(){if(hasRequired_baseHasIn)return _baseHasIn;hasRequired_baseHasIn=1;function ya(ma,ba){return ma!=null&&ba in Object(ma)}return _baseHasIn=ya,_baseHasIn}var _hasPath,hasRequired_hasPath;function require_hasPath(){if(hasRequired_hasPath)return _hasPath;hasRequired_hasPath=1;var ya=require_castPath(),ma=requireIsArguments(),ba=requireIsArray(),va=require_isIndex(),Ma=requireIsLength(),El=require_toKey();function wl(Sl,Cl,Mc){Cl=ya(Cl,Sl);for(var Ef=-1,Zf=Cl.length,Jf=!1;++Ef<Zf;){var dp=El(Cl[Ef]);if(!(Jf=Sl!=null&&Mc(Sl,dp)))break;Sl=Sl[dp]}return Jf||++Ef!=Zf?Jf:(Zf=Sl==null?0:Sl.length,!!Zf&&Ma(Zf)&&va(dp,Zf)&&(ba(Sl)||ma(Sl)))}return _hasPath=wl,_hasPath}var hasIn_1,hasRequiredHasIn;function requireHasIn(){if(hasRequiredHasIn)return hasIn_1;hasRequiredHasIn=1;var ya=require_baseHasIn(),ma=require_hasPath();function ba(va,Ma){return va!=null&&ma(va,Ma,ya)}return hasIn_1=ba,hasIn_1}var _baseMatchesProperty,hasRequired_baseMatchesProperty;function require_baseMatchesProperty(){if(hasRequired_baseMatchesProperty)return _baseMatchesProperty;hasRequired_baseMatchesProperty=1;var ya=require_baseIsEqual(),ma=requireGet(),ba=requireHasIn(),va=require_isKey(),Ma=require_isStrictComparable(),El=require_matchesStrictComparable(),wl=require_toKey(),Sl=1,Cl=2;function Mc(Ef,Zf){return va(Ef)&&Ma(Zf)?El(wl(Ef),Zf):function(Jf){var dp=ma(Jf,Ef);return dp===void 0&&dp===Zf?ba(Jf,Ef):ya(Zf,dp,Sl|Cl)}}return _baseMatchesProperty=Mc,_baseMatchesProperty}var _baseProperty,hasRequired_baseProperty;function require_baseProperty(){if(hasRequired_baseProperty)return _baseProperty;hasRequired_baseProperty=1;function ya(ma){return function(ba){return ba?.[ma]}}return _baseProperty=ya,_baseProperty}var _basePropertyDeep,hasRequired_basePropertyDeep;function require_basePropertyDeep(){if(hasRequired_basePropertyDeep)return _basePropertyDeep;hasRequired_basePropertyDeep=1;var ya=require_baseGet();function ma(ba){return function(va){return ya(va,ba)}}return _basePropertyDeep=ma,_basePropertyDeep}var property_1,hasRequiredProperty;function requireProperty(){if(hasRequiredProperty)return property_1;hasRequiredProperty=1;var ya=require_baseProperty(),ma=require_basePropertyDeep(),ba=require_isKey(),va=require_toKey();function Ma(El){return ba(El)?ya(va(El)):ma(El)}return property_1=Ma,property_1}var _baseIteratee,hasRequired_baseIteratee;function require_baseIteratee(){if(hasRequired_baseIteratee)return _baseIteratee;hasRequired_baseIteratee=1;var ya=require_baseMatches(),ma=require_baseMatchesProperty(),ba=requireIdentity(),va=requireIsArray(),Ma=requireProperty();function El(wl){return typeof wl=="function"?wl:wl==null?ba:typeof wl=="object"?va(wl)?ma(wl[0],wl[1]):ya(wl):Ma(wl)}return _baseIteratee=El,_baseIteratee}var filter_1,hasRequiredFilter;function requireFilter(){if(hasRequiredFilter)return filter_1;hasRequiredFilter=1;var ya=require_arrayFilter(),ma=require_baseFilter(),ba=require_baseIteratee(),va=requireIsArray();function Ma(El,wl){var Sl=va(El)?ya:ma;return Sl(El,ba(wl,3))}return filter_1=Ma,filter_1}var _baseHas,hasRequired_baseHas;function require_baseHas(){if(hasRequired_baseHas)return _baseHas;hasRequired_baseHas=1;var ya=Object.prototype,ma=ya.hasOwnProperty;function ba(va,Ma){return va!=null&&ma.call(va,Ma)}return _baseHas=ba,_baseHas}var has_1,hasRequiredHas;function requireHas(){if(hasRequiredHas)return has_1;hasRequiredHas=1;var ya=require_baseHas(),ma=require_hasPath();function ba(va,Ma){return va!=null&&ma(va,Ma,ya)}return has_1=ba,has_1}var isEmpty_1,hasRequiredIsEmpty;function requireIsEmpty(){if(hasRequiredIsEmpty)return isEmpty_1;hasRequiredIsEmpty=1;var ya=require_baseKeys(),ma=require_getTag(),ba=requireIsArguments(),va=requireIsArray(),Ma=requireIsArrayLike(),El=requireIsBuffer(),wl=require_isPrototype(),Sl=requireIsTypedArray(),Cl="[object Map]",Mc="[object Set]",Ef=Object.prototype,Zf=Ef.hasOwnProperty;function Jf(dp){if(dp==null)return!0;if(Ma(dp)&&(va(dp)||typeof dp=="string"||typeof dp.splice=="function"||El(dp)||Sl(dp)||ba(dp)))return!dp.length;var hp=ma(dp);if(hp==Cl||hp==Mc)return!dp.size;if(wl(dp))return!ya(dp).length;for(var dg in dp)if(Zf.call(dp,dg))return!1;return!0}return isEmpty_1=Jf,isEmpty_1}var isUndefined_1,hasRequiredIsUndefined;function requireIsUndefined(){if(hasRequiredIsUndefined)return isUndefined_1;hasRequiredIsUndefined=1;function ya(ma){return ma===void 0}return isUndefined_1=ya,isUndefined_1}var _baseMap,hasRequired_baseMap;function require_baseMap(){if(hasRequired_baseMap)return _baseMap;hasRequired_baseMap=1;var ya=require_baseEach(),ma=requireIsArrayLike();function ba(va,Ma){var El=-1,wl=ma(va)?Array(va.length):[];return ya(va,function(Sl,Cl,Mc){wl[++El]=Ma(Sl,Cl,Mc)}),wl}return _baseMap=ba,_baseMap}var map_1,hasRequiredMap;function requireMap(){if(hasRequiredMap)return map_1;hasRequiredMap=1;var ya=require_arrayMap(),ma=require_baseIteratee(),ba=require_baseMap(),va=requireIsArray();function Ma(El,wl){var Sl=va(El)?ya:ba;return Sl(El,ma(wl,3))}return map_1=Ma,map_1}var _arrayReduce,hasRequired_arrayReduce;function require_arrayReduce(){if(hasRequired_arrayReduce)return _arrayReduce;hasRequired_arrayReduce=1;function ya(ma,ba,va,Ma){var El=-1,wl=ma==null?0:ma.length;for(Ma&&wl&&(va=ma[++El]);++El<wl;)va=ba(va,ma[El],El,ma);return va}return _arrayReduce=ya,_arrayReduce}var _baseReduce,hasRequired_baseReduce;function require_baseReduce(){if(hasRequired_baseReduce)return _baseReduce;hasRequired_baseReduce=1;function ya(ma,ba,va,Ma,El){return El(ma,function(wl,Sl,Cl){va=Ma?(Ma=!1,wl):ba(va,wl,Sl,Cl)}),va}return _baseReduce=ya,_baseReduce}var reduce_1,hasRequiredReduce;function requireReduce(){if(hasRequiredReduce)return reduce_1;hasRequiredReduce=1;var ya=require_arrayReduce(),ma=require_baseEach(),ba=require_baseIteratee(),va=require_baseReduce(),Ma=requireIsArray();function El(wl,Sl,Cl){var Mc=Ma(wl)?ya:va,Ef=arguments.length<3;return Mc(wl,ba(Sl,4),Cl,Ef,ma)}return reduce_1=El,reduce_1}var isString_1,hasRequiredIsString;function requireIsString(){if(hasRequiredIsString)return isString_1;hasRequiredIsString=1;var ya=require_baseGetTag(),ma=requireIsArray(),ba=requireIsObjectLike(),va="[object String]";function Ma(El){return typeof El=="string"||!ma(El)&&ba(El)&&ya(El)==va}return isString_1=Ma,isString_1}var _asciiSize,hasRequired_asciiSize;function require_asciiSize(){if(hasRequired_asciiSize)return _asciiSize;hasRequired_asciiSize=1;var ya=require_baseProperty(),ma=ya("length");return _asciiSize=ma,_asciiSize}var _hasUnicode,hasRequired_hasUnicode;function require_hasUnicode(){if(hasRequired_hasUnicode)return _hasUnicode;hasRequired_hasUnicode=1;var ya="\\ud800-\\udfff",ma="\\u0300-\\u036f",ba="\\ufe20-\\ufe2f",va="\\u20d0-\\u20ff",Ma=ma+ba+va,El="\\ufe0e\\ufe0f",wl="\\u200d",Sl=RegExp("["+wl+ya+Ma+El+"]");function Cl(Mc){return Sl.test(Mc)}return _hasUnicode=Cl,_hasUnicode}var _unicodeSize,hasRequired_unicodeSize;function require_unicodeSize(){if(hasRequired_unicodeSize)return _unicodeSize;hasRequired_unicodeSize=1;var ya="\\ud800-\\udfff",ma="\\u0300-\\u036f",ba="\\ufe20-\\ufe2f",va="\\u20d0-\\u20ff",Ma=ma+ba+va,El="\\ufe0e\\ufe0f",wl="["+ya+"]",Sl="["+Ma+"]",Cl="\\ud83c[\\udffb-\\udfff]",Mc="(?:"+Sl+"|"+Cl+")",Ef="[^"+ya+"]",Zf="(?:\\ud83c[\\udde6-\\uddff]){2}",Jf="[\\ud800-\\udbff][\\udc00-\\udfff]",dp="\\u200d",hp=Mc+"?",dg="["+El+"]?",pg="(?:"+dp+"(?:"+[Ef,Zf,Jf].join("|")+")"+dg+hp+")*",hg=dg+hp+pg,mg="(?:"+[Ef+Sl+"?",Sl,Zf,Jf,wl].join("|")+")",gg=RegExp(Cl+"(?="+Cl+")|"+mg+hg,"g");function sy(ly){for(var cy=gg.lastIndex=0;gg.test(ly);)++cy;return cy}return _unicodeSize=sy,_unicodeSize}var _stringSize,hasRequired_stringSize;function require_stringSize(){if(hasRequired_stringSize)return _stringSize;hasRequired_stringSize=1;var ya=require_asciiSize(),ma=require_hasUnicode(),ba=require_unicodeSize();function va(Ma){return ma(Ma)?ba(Ma):ya(Ma)}return _stringSize=va,_stringSize}var size_1,hasRequiredSize;function requireSize(){if(hasRequiredSize)return size_1;hasRequiredSize=1;var ya=require_baseKeys(),ma=require_getTag(),ba=requireIsArrayLike(),va=requireIsString(),Ma=require_stringSize(),El="[object Map]",wl="[object Set]";function Sl(Cl){if(Cl==null)return 0;if(ba(Cl))return va(Cl)?Ma(Cl):Cl.length;var Mc=ma(Cl);return Mc==El||Mc==wl?Cl.size:ya(Cl).length}return size_1=Sl,size_1}var transform_1,hasRequiredTransform;function requireTransform(){if(hasRequiredTransform)return transform_1;hasRequiredTransform=1;var ya=require_arrayEach(),ma=require_baseCreate(),ba=require_baseForOwn(),va=require_baseIteratee(),Ma=require_getPrototype(),El=requireIsArray(),wl=requireIsBuffer(),Sl=requireIsFunction(),Cl=requireIsObject(),Mc=requireIsTypedArray();function Ef(Zf,Jf,dp){var hp=El(Zf),dg=hp||wl(Zf)||Mc(Zf);if(Jf=va(Jf,4),dp==null){var pg=Zf&&Zf.constructor;dg?dp=hp?new pg:[]:Cl(Zf)?dp=Sl(pg)?ma(Ma(Zf)):{}:dp={}}return(dg?ya:ba)(Zf,function(hg,mg,gg){return Jf(dp,hg,mg,gg)}),dp}return transform_1=Ef,transform_1}var _isFlattenable,hasRequired_isFlattenable;function require_isFlattenable(){if(hasRequired_isFlattenable)return _isFlattenable;hasRequired_isFlattenable=1;var ya=require_Symbol(),ma=requireIsArguments(),ba=requireIsArray(),va=ya?ya.isConcatSpreadable:void 0;function Ma(El){return ba(El)||ma(El)||!!(va&&El&&El[va])}return _isFlattenable=Ma,_isFlattenable}var _baseFlatten,hasRequired_baseFlatten;function require_baseFlatten(){if(hasRequired_baseFlatten)return _baseFlatten;hasRequired_baseFlatten=1;var ya=require_arrayPush(),ma=require_isFlattenable();function ba(va,Ma,El,wl,Sl){var Cl=-1,Mc=va.length;for(El||(El=ma),Sl||(Sl=[]);++Cl<Mc;){var Ef=va[Cl];Ma>0&&El(Ef)?Ma>1?ba(Ef,Ma-1,El,wl,Sl):ya(Sl,Ef):wl||(Sl[Sl.length]=Ef)}return Sl}return _baseFlatten=ba,_baseFlatten}var _apply,hasRequired_apply;function require_apply(){if(hasRequired_apply)return _apply;hasRequired_apply=1;function ya(ma,ba,va){switch(va.length){case 0:return ma.call(ba);case 1:return ma.call(ba,va[0]);case 2:return ma.call(ba,va[0],va[1]);case 3:return ma.call(ba,va[0],va[1],va[2])}return ma.apply(ba,va)}return _apply=ya,_apply}var _overRest,hasRequired_overRest;function require_overRest(){if(hasRequired_overRest)return _overRest;hasRequired_overRest=1;var ya=require_apply(),ma=Math.max;function ba(va,Ma,El){return Ma=ma(Ma===void 0?va.length-1:Ma,0),function(){for(var wl=arguments,Sl=-1,Cl=ma(wl.length-Ma,0),Mc=Array(Cl);++Sl<Cl;)Mc[Sl]=wl[Ma+Sl];Sl=-1;for(var Ef=Array(Ma+1);++Sl<Ma;)Ef[Sl]=wl[Sl];return Ef[Ma]=El(Mc),ya(va,this,Ef)}}return _overRest=ba,_overRest}var _baseSetToString,hasRequired_baseSetToString;function require_baseSetToString(){if(hasRequired_baseSetToString)return _baseSetToString;hasRequired_baseSetToString=1;var ya=requireConstant(),ma=require_defineProperty(),ba=requireIdentity(),va=ma?function(Ma,El){return ma(Ma,"toString",{configurable:!0,enumerable:!1,value:ya(El),writable:!0})}:ba;return _baseSetToString=va,_baseSetToString}var _shortOut,hasRequired_shortOut;function require_shortOut(){if(hasRequired_shortOut)return _shortOut;hasRequired_shortOut=1;var ya=800,ma=16,ba=Date.now;function va(Ma){var El=0,wl=0;return function(){var Sl=ba(),Cl=ma-(Sl-wl);if(wl=Sl,Cl>0){if(++El>=ya)return arguments[0]}else El=0;return Ma.apply(void 0,arguments)}}return _shortOut=va,_shortOut}var _setToString,hasRequired_setToString;function require_setToString(){if(hasRequired_setToString)return _setToString;hasRequired_setToString=1;var ya=require_baseSetToString(),ma=require_shortOut(),ba=ma(ya);return _setToString=ba,_setToString}var _baseRest,hasRequired_baseRest;function require_baseRest(){if(hasRequired_baseRest)return _baseRest;hasRequired_baseRest=1;var ya=requireIdentity(),ma=require_overRest(),ba=require_setToString();function va(Ma,El){return ba(ma(Ma,El,ya),Ma+"")}return _baseRest=va,_baseRest}var _baseFindIndex,hasRequired_baseFindIndex;function require_baseFindIndex(){if(hasRequired_baseFindIndex)return _baseFindIndex;hasRequired_baseFindIndex=1;function ya(ma,ba,va,Ma){for(var El=ma.length,wl=va+(Ma?1:-1);Ma?wl--:++wl<El;)if(ba(ma[wl],wl,ma))return wl;return-1}return _baseFindIndex=ya,_baseFindIndex}var _baseIsNaN,hasRequired_baseIsNaN;function require_baseIsNaN(){if(hasRequired_baseIsNaN)return _baseIsNaN;hasRequired_baseIsNaN=1;function ya(ma){return ma!==ma}return _baseIsNaN=ya,_baseIsNaN}var _strictIndexOf,hasRequired_strictIndexOf;function require_strictIndexOf(){if(hasRequired_strictIndexOf)return _strictIndexOf;hasRequired_strictIndexOf=1;function ya(ma,ba,va){for(var Ma=va-1,El=ma.length;++Ma<El;)if(ma[Ma]===ba)return Ma;return-1}return _strictIndexOf=ya,_strictIndexOf}var _baseIndexOf,hasRequired_baseIndexOf;function require_baseIndexOf(){if(hasRequired_baseIndexOf)return _baseIndexOf;hasRequired_baseIndexOf=1;var ya=require_baseFindIndex(),ma=require_baseIsNaN(),ba=require_strictIndexOf();function va(Ma,El,wl){return El===El?ba(Ma,El,wl):ya(Ma,ma,wl)}return _baseIndexOf=va,_baseIndexOf}var _arrayIncludes,hasRequired_arrayIncludes;function require_arrayIncludes(){if(hasRequired_arrayIncludes)return _arrayIncludes;hasRequired_arrayIncludes=1;var ya=require_baseIndexOf();function ma(ba,va){var Ma=ba==null?0:ba.length;return!!Ma&&ya(ba,va,0)>-1}return _arrayIncludes=ma,_arrayIncludes}var _arrayIncludesWith,hasRequired_arrayIncludesWith;function require_arrayIncludesWith(){if(hasRequired_arrayIncludesWith)return _arrayIncludesWith;hasRequired_arrayIncludesWith=1;function ya(ma,ba,va){for(var Ma=-1,El=ma==null?0:ma.length;++Ma<El;)if(va(ba,ma[Ma]))return!0;return!1}return _arrayIncludesWith=ya,_arrayIncludesWith}var noop_1,hasRequiredNoop;function requireNoop(){if(hasRequiredNoop)return noop_1;hasRequiredNoop=1;function ya(){}return noop_1=ya,noop_1}var _createSet,hasRequired_createSet;function require_createSet(){if(hasRequired_createSet)return _createSet;hasRequired_createSet=1;var ya=require_Set(),ma=requireNoop(),ba=require_setToArray(),va=1/0,Ma=ya&&1/ba(new ya([,-0]))[1]==va?function(El){return new ya(El)}:ma;return _createSet=Ma,_createSet}var _baseUniq,hasRequired_baseUniq;function require_baseUniq(){if(hasRequired_baseUniq)return _baseUniq;hasRequired_baseUniq=1;var ya=require_SetCache(),ma=require_arrayIncludes(),ba=require_arrayIncludesWith(),va=require_cacheHas(),Ma=require_createSet(),El=require_setToArray(),wl=200;function Sl(Cl,Mc,Ef){var Zf=-1,Jf=ma,dp=Cl.length,hp=!0,dg=[],pg=dg;if(Ef)hp=!1,Jf=ba;else if(dp>=wl){var hg=Mc?null:Ma(Cl);if(hg)return El(hg);hp=!1,Jf=va,pg=new ya}else pg=Mc?[]:dg;e:for(;++Zf<dp;){var mg=Cl[Zf],gg=Mc?Mc(mg):mg;if(mg=Ef||mg!==0?mg:0,hp&&gg===gg){for(var sy=pg.length;sy--;)if(pg[sy]===gg)continue e;Mc&&pg.push(gg),dg.push(mg)}else Jf(pg,gg,Ef)||(pg!==dg&&pg.push(gg),dg.push(mg))}return dg}return _baseUniq=Sl,_baseUniq}var isArrayLikeObject_1,hasRequiredIsArrayLikeObject;function requireIsArrayLikeObject(){if(hasRequiredIsArrayLikeObject)return isArrayLikeObject_1;hasRequiredIsArrayLikeObject=1;var ya=requireIsArrayLike(),ma=requireIsObjectLike();function ba(va){return ma(va)&&ya(va)}return isArrayLikeObject_1=ba,isArrayLikeObject_1}var union_1,hasRequiredUnion;function requireUnion(){if(hasRequiredUnion)return union_1;hasRequiredUnion=1;var ya=require_baseFlatten(),ma=require_baseRest(),ba=require_baseUniq(),va=requireIsArrayLikeObject(),Ma=ma(function(El){return ba(ya(El,1,va,!0))});return union_1=Ma,union_1}var _baseValues,hasRequired_baseValues;function require_baseValues(){if(hasRequired_baseValues)return _baseValues;hasRequired_baseValues=1;var ya=require_arrayMap();function ma(ba,va){return ya(va,function(Ma){return ba[Ma]})}return _baseValues=ma,_baseValues}var values_1,hasRequiredValues;function requireValues(){if(hasRequiredValues)return values_1;hasRequiredValues=1;var ya=require_baseValues(),ma=requireKeys();function ba(va){return va==null?[]:ya(va,ma(va))}return values_1=ba,values_1}var lodash_1$1,hasRequiredLodash$1;function requireLodash$1(){if(hasRequiredLodash$1)return lodash_1$1;hasRequiredLodash$1=1;var ya;if(typeof commonjsRequire=="function")try{ya={clone:requireClone(),constant:requireConstant(),each:requireEach(),filter:requireFilter(),has:requireHas(),isArray:requireIsArray(),isEmpty:requireIsEmpty(),isFunction:requireIsFunction(),isUndefined:requireIsUndefined(),keys:requireKeys(),map:requireMap(),reduce:requireReduce(),size:requireSize(),transform:requireTransform(),union:requireUnion(),values:requireValues()}}catch{}return ya||(ya=window._),lodash_1$1=ya,lodash_1$1}var graph,hasRequiredGraph;function requireGraph(){if(hasRequiredGraph)return graph;hasRequiredGraph=1;var ya=requireLodash$1();graph=Ma;var ma="\0",ba="\0",va="";function Ma(Ef){this._isDirected=ya.has(Ef,"directed")?Ef.directed:!0,this._isMultigraph=ya.has(Ef,"multigraph")?Ef.multigraph:!1,this._isCompound=ya.has(Ef,"compound")?Ef.compound:!1,this._label=void 0,this._defaultNodeLabelFn=ya.constant(void 0),this._defaultEdgeLabelFn=ya.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[ba]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}Ma.prototype._nodeCount=0,Ma.prototype._edgeCount=0,Ma.prototype.isDirected=function(){return this._isDirected},Ma.prototype.isMultigraph=function(){return this._isMultigraph},Ma.prototype.isCompound=function(){return this._isCompound},Ma.prototype.setGraph=function(Ef){return this._label=Ef,this},Ma.prototype.graph=function(){return this._label},Ma.prototype.setDefaultNodeLabel=function(Ef){return ya.isFunction(Ef)||(Ef=ya.constant(Ef)),this._defaultNodeLabelFn=Ef,this},Ma.prototype.nodeCount=function(){return this._nodeCount},Ma.prototype.nodes=function(){return ya.keys(this._nodes)},Ma.prototype.sources=function(){var Ef=this;return ya.filter(this.nodes(),function(Zf){return ya.isEmpty(Ef._in[Zf])})},Ma.prototype.sinks=function(){var Ef=this;return ya.filter(this.nodes(),function(Zf){return ya.isEmpty(Ef._out[Zf])})},Ma.prototype.setNodes=function(Ef,Zf){var Jf=arguments,dp=this;return ya.each(Ef,function(hp){Jf.length>1?dp.setNode(hp,Zf):dp.setNode(hp)}),this},Ma.prototype.setNode=function(Ef,Zf){return ya.has(this._nodes,Ef)?(arguments.length>1&&(this._nodes[Ef]=Zf),this):(this._nodes[Ef]=arguments.length>1?Zf:this._defaultNodeLabelFn(Ef),this._isCompound&&(this._parent[Ef]=ba,this._children[Ef]={},this._children[ba][Ef]=!0),this._in[Ef]={},this._preds[Ef]={},this._out[Ef]={},this._sucs[Ef]={},++this._nodeCount,this)},Ma.prototype.node=function(Ef){return this._nodes[Ef]},Ma.prototype.hasNode=function(Ef){return ya.has(this._nodes,Ef)},Ma.prototype.removeNode=function(Ef){var Zf=this;if(ya.has(this._nodes,Ef)){var Jf=function(dp){Zf.removeEdge(Zf._edgeObjs[dp])};delete this._nodes[Ef],this._isCompound&&(this._removeFromParentsChildList(Ef),delete this._parent[Ef],ya.each(this.children(Ef),function(dp){Zf.setParent(dp)}),delete this._children[Ef]),ya.each(ya.keys(this._in[Ef]),Jf),delete this._in[Ef],delete this._preds[Ef],ya.each(ya.keys(this._out[Ef]),Jf),delete this._out[Ef],delete this._sucs[Ef],--this._nodeCount}return this},Ma.prototype.setParent=function(Ef,Zf){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(ya.isUndefined(Zf))Zf=ba;else{Zf+="";for(var Jf=Zf;!ya.isUndefined(Jf);Jf=this.parent(Jf))if(Jf===Ef)throw new Error("Setting "+Zf+" as parent of "+Ef+" would create a cycle");this.setNode(Zf)}return this.setNode(Ef),this._removeFromParentsChildList(Ef),this._parent[Ef]=Zf,this._children[Zf][Ef]=!0,this},Ma.prototype._removeFromParentsChildList=function(Ef){delete this._children[this._parent[Ef]][Ef]},Ma.prototype.parent=function(Ef){if(this._isCompound){var Zf=this._parent[Ef];if(Zf!==ba)return Zf}},Ma.prototype.children=function(Ef){if(ya.isUndefined(Ef)&&(Ef=ba),this._isCompound){var Zf=this._children[Ef];if(Zf)return ya.keys(Zf)}else{if(Ef===ba)return this.nodes();if(this.hasNode(Ef))return[]}},Ma.prototype.predecessors=function(Ef){var Zf=this._preds[Ef];if(Zf)return ya.keys(Zf)},Ma.prototype.successors=function(Ef){var Zf=this._sucs[Ef];if(Zf)return ya.keys(Zf)},Ma.prototype.neighbors=function(Ef){var Zf=this.predecessors(Ef);if(Zf)return ya.union(Zf,this.successors(Ef))},Ma.prototype.isLeaf=function(Ef){var Zf;return this.isDirected()?Zf=this.successors(Ef):Zf=this.neighbors(Ef),Zf.length===0},Ma.prototype.filterNodes=function(Ef){var Zf=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});Zf.setGraph(this.graph());var Jf=this;ya.each(this._nodes,function(dg,pg){Ef(pg)&&Zf.setNode(pg,dg)}),ya.each(this._edgeObjs,function(dg){Zf.hasNode(dg.v)&&Zf.hasNode(dg.w)&&Zf.setEdge(dg,Jf.edge(dg))});var dp={};function hp(dg){var pg=Jf.parent(dg);return pg===void 0||Zf.hasNode(pg)?(dp[dg]=pg,pg):pg in dp?dp[pg]:hp(pg)}return this._isCompound&&ya.each(Zf.nodes(),function(dg){Zf.setParent(dg,hp(dg))}),Zf},Ma.prototype.setDefaultEdgeLabel=function(Ef){return ya.isFunction(Ef)||(Ef=ya.constant(Ef)),this._defaultEdgeLabelFn=Ef,this},Ma.prototype.edgeCount=function(){return this._edgeCount},Ma.prototype.edges=function(){return ya.values(this._edgeObjs)},Ma.prototype.setPath=function(Ef,Zf){var Jf=this,dp=arguments;return ya.reduce(Ef,function(hp,dg){return dp.length>1?Jf.setEdge(hp,dg,Zf):Jf.setEdge(hp,dg),dg}),this},Ma.prototype.setEdge=function(){var Ef,Zf,Jf,dp,hp=!1,dg=arguments[0];typeof dg=="object"&&dg!==null&&"v"in dg?(Ef=dg.v,Zf=dg.w,Jf=dg.name,arguments.length===2&&(dp=arguments[1],hp=!0)):(Ef=dg,Zf=arguments[1],Jf=arguments[3],arguments.length>2&&(dp=arguments[2],hp=!0)),Ef=""+Ef,Zf=""+Zf,ya.isUndefined(Jf)||(Jf=""+Jf);var pg=Sl(this._isDirected,Ef,Zf,Jf);if(ya.has(this._edgeLabels,pg))return hp&&(this._edgeLabels[pg]=dp),this;if(!ya.isUndefined(Jf)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(Ef),this.setNode(Zf),this._edgeLabels[pg]=hp?dp:this._defaultEdgeLabelFn(Ef,Zf,Jf);var hg=Cl(this._isDirected,Ef,Zf,Jf);return Ef=hg.v,Zf=hg.w,Object.freeze(hg),this._edgeObjs[pg]=hg,El(this._preds[Zf],Ef),El(this._sucs[Ef],Zf),this._in[Zf][pg]=hg,this._out[Ef][pg]=hg,this._edgeCount++,this},Ma.prototype.edge=function(Ef,Zf,Jf){var dp=arguments.length===1?Mc(this._isDirected,arguments[0]):Sl(this._isDirected,Ef,Zf,Jf);return this._edgeLabels[dp]},Ma.prototype.hasEdge=function(Ef,Zf,Jf){var dp=arguments.length===1?Mc(this._isDirected,arguments[0]):Sl(this._isDirected,Ef,Zf,Jf);return ya.has(this._edgeLabels,dp)},Ma.prototype.removeEdge=function(Ef,Zf,Jf){var dp=arguments.length===1?Mc(this._isDirected,arguments[0]):Sl(this._isDirected,Ef,Zf,Jf),hp=this._edgeObjs[dp];return hp&&(Ef=hp.v,Zf=hp.w,delete this._edgeLabels[dp],delete this._edgeObjs[dp],wl(this._preds[Zf],Ef),wl(this._sucs[Ef],Zf),delete this._in[Zf][dp],delete this._out[Ef][dp],this._edgeCount--),this},Ma.prototype.inEdges=function(Ef,Zf){var Jf=this._in[Ef];if(Jf){var dp=ya.values(Jf);return Zf?ya.filter(dp,function(hp){return hp.v===Zf}):dp}},Ma.prototype.outEdges=function(Ef,Zf){var Jf=this._out[Ef];if(Jf){var dp=ya.values(Jf);return Zf?ya.filter(dp,function(hp){return hp.w===Zf}):dp}},Ma.prototype.nodeEdges=function(Ef,Zf){var Jf=this.inEdges(Ef,Zf);if(Jf)return Jf.concat(this.outEdges(Ef,Zf))};function El(Ef,Zf){Ef[Zf]?Ef[Zf]++:Ef[Zf]=1}function wl(Ef,Zf){--Ef[Zf]||delete Ef[Zf]}function Sl(Ef,Zf,Jf,dp){var hp=""+Zf,dg=""+Jf;if(!Ef&&hp>dg){var pg=hp;hp=dg,dg=pg}return hp+va+dg+va+(ya.isUndefined(dp)?ma:dp)}function Cl(Ef,Zf,Jf,dp){var hp=""+Zf,dg=""+Jf;if(!Ef&&hp>dg){var pg=hp;hp=dg,dg=pg}var hg={v:hp,w:dg};return dp&&(hg.name=dp),hg}function Mc(Ef,Zf){return Sl(Ef,Zf.v,Zf.w,Zf.name)}return graph}var version$1,hasRequiredVersion$1;function requireVersion$1(){return hasRequiredVersion$1||(hasRequiredVersion$1=1,version$1="2.1.8"),version$1}var lib,hasRequiredLib;function requireLib(){return hasRequiredLib||(hasRequiredLib=1,lib={Graph:requireGraph(),version:requireVersion$1()}),lib}var json,hasRequiredJson;function requireJson(){if(hasRequiredJson)return json;hasRequiredJson=1;var ya=requireLodash$1(),ma=requireGraph();json={write:ba,read:El};function ba(wl){var Sl={options:{directed:wl.isDirected(),multigraph:wl.isMultigraph(),compound:wl.isCompound()},nodes:va(wl),edges:Ma(wl)};return ya.isUndefined(wl.graph())||(Sl.value=ya.clone(wl.graph())),Sl}function va(wl){return ya.map(wl.nodes(),function(Sl){var Cl=wl.node(Sl),Mc=wl.parent(Sl),Ef={v:Sl};return ya.isUndefined(Cl)||(Ef.value=Cl),ya.isUndefined(Mc)||(Ef.parent=Mc),Ef})}function Ma(wl){return ya.map(wl.edges(),function(Sl){var Cl=wl.edge(Sl),Mc={v:Sl.v,w:Sl.w};return ya.isUndefined(Sl.name)||(Mc.name=Sl.name),ya.isUndefined(Cl)||(Mc.value=Cl),Mc})}function El(wl){var Sl=new ma(wl.options).setGraph(wl.value);return ya.each(wl.nodes,function(Cl){Sl.setNode(Cl.v,Cl.value),Cl.parent&&Sl.setParent(Cl.v,Cl.parent)}),ya.each(wl.edges,function(Cl){Sl.setEdge({v:Cl.v,w:Cl.w,name:Cl.name},Cl.value)}),Sl}return json}var components_1,hasRequiredComponents;function requireComponents(){if(hasRequiredComponents)return components_1;hasRequiredComponents=1;var ya=requireLodash$1();components_1=ma;function ma(ba){var va={},Ma=[],El;function wl(Sl){ya.has(va,Sl)||(va[Sl]=!0,El.push(Sl),ya.each(ba.successors(Sl),wl),ya.each(ba.predecessors(Sl),wl))}return ya.each(ba.nodes(),function(Sl){El=[],wl(Sl),El.length&&Ma.push(El)}),Ma}return components_1}var priorityQueue,hasRequiredPriorityQueue;function requirePriorityQueue(){if(hasRequiredPriorityQueue)return priorityQueue;hasRequiredPriorityQueue=1;var ya=requireLodash$1();priorityQueue=ma;function ma(){this._arr=[],this._keyIndices={}}return ma.prototype.size=function(){return this._arr.length},ma.prototype.keys=function(){return this._arr.map(function(ba){return ba.key})},ma.prototype.has=function(ba){return ya.has(this._keyIndices,ba)},ma.prototype.priority=function(ba){var va=this._keyIndices[ba];if(va!==void 0)return this._arr[va].priority},ma.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},ma.prototype.add=function(ba,va){var Ma=this._keyIndices;if(ba=String(ba),!ya.has(Ma,ba)){var El=this._arr,wl=El.length;return Ma[ba]=wl,El.push({key:ba,priority:va}),this._decrease(wl),!0}return!1},ma.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var ba=this._arr.pop();return delete this._keyIndices[ba.key],this._heapify(0),ba.key},ma.prototype.decrease=function(ba,va){var Ma=this._keyIndices[ba];if(va>this._arr[Ma].priority)throw new Error("New priority is greater than current priority. Key: "+ba+" Old: "+this._arr[Ma].priority+" New: "+va);this._arr[Ma].priority=va,this._decrease(Ma)},ma.prototype._heapify=function(ba){var va=this._arr,Ma=2*ba,El=Ma+1,wl=ba;Ma<va.length&&(wl=va[Ma].priority<va[wl].priority?Ma:wl,El<va.length&&(wl=va[El].priority<va[wl].priority?El:wl),wl!==ba&&(this._swap(ba,wl),this._heapify(wl)))},ma.prototype._decrease=function(ba){for(var va=this._arr,Ma=va[ba].priority,El;ba!==0&&(El=ba>>1,!(va[El].priority<Ma));)this._swap(ba,El),ba=El},ma.prototype._swap=function(ba,va){var Ma=this._arr,El=this._keyIndices,wl=Ma[ba],Sl=Ma[va];Ma[ba]=Sl,Ma[va]=wl,El[Sl.key]=ba,El[wl.key]=va},priorityQueue}var dijkstra_1,hasRequiredDijkstra;function requireDijkstra(){if(hasRequiredDijkstra)return dijkstra_1;hasRequiredDijkstra=1;var ya=requireLodash$1(),ma=requirePriorityQueue();dijkstra_1=va;var ba=ya.constant(1);function va(El,wl,Sl,Cl){return Ma(El,String(wl),Sl||ba,Cl||function(Mc){return El.outEdges(Mc)})}function Ma(El,wl,Sl,Cl){var Mc={},Ef=new ma,Zf,Jf,dp=function(hp){var dg=hp.v!==Zf?hp.v:hp.w,pg=Mc[dg],hg=Sl(hp),mg=Jf.distance+hg;if(hg<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+hp+" Weight: "+hg);mg<pg.distance&&(pg.distance=mg,pg.predecessor=Zf,Ef.decrease(dg,mg))};for(El.nodes().forEach(function(hp){var dg=hp===wl?0:Number.POSITIVE_INFINITY;Mc[hp]={distance:dg},Ef.add(hp,dg)});Ef.size()>0&&(Zf=Ef.removeMin(),Jf=Mc[Zf],Jf.distance!==Number.POSITIVE_INFINITY);)Cl(Zf).forEach(dp);return Mc}return dijkstra_1}var dijkstraAll_1,hasRequiredDijkstraAll;function requireDijkstraAll(){if(hasRequiredDijkstraAll)return dijkstraAll_1;hasRequiredDijkstraAll=1;var ya=requireDijkstra(),ma=requireLodash$1();dijkstraAll_1=ba;function ba(va,Ma,El){return ma.transform(va.nodes(),function(wl,Sl){wl[Sl]=ya(va,Sl,Ma,El)},{})}return dijkstraAll_1}var tarjan_1,hasRequiredTarjan;function requireTarjan(){if(hasRequiredTarjan)return tarjan_1;hasRequiredTarjan=1;var ya=requireLodash$1();tarjan_1=ma;function ma(ba){var va=0,Ma=[],El={},wl=[];function Sl(Cl){var Mc=El[Cl]={onStack:!0,lowlink:va,index:va++};if(Ma.push(Cl),ba.successors(Cl).forEach(function(Jf){ya.has(El,Jf)?El[Jf].onStack&&(Mc.lowlink=Math.min(Mc.lowlink,El[Jf].index)):(Sl(Jf),Mc.lowlink=Math.min(Mc.lowlink,El[Jf].lowlink))}),Mc.lowlink===Mc.index){var Ef=[],Zf;do Zf=Ma.pop(),El[Zf].onStack=!1,Ef.push(Zf);while(Cl!==Zf);wl.push(Ef)}}return ba.nodes().forEach(function(Cl){ya.has(El,Cl)||Sl(Cl)}),wl}return tarjan_1}var findCycles_1,hasRequiredFindCycles;function requireFindCycles(){if(hasRequiredFindCycles)return findCycles_1;hasRequiredFindCycles=1;var ya=requireLodash$1(),ma=requireTarjan();findCycles_1=ba;function ba(va){return ya.filter(ma(va),function(Ma){return Ma.length>1||Ma.length===1&&va.hasEdge(Ma[0],Ma[0])})}return findCycles_1}var floydWarshall_1,hasRequiredFloydWarshall;function requireFloydWarshall(){if(hasRequiredFloydWarshall)return floydWarshall_1;hasRequiredFloydWarshall=1;var ya=requireLodash$1();floydWarshall_1=ba;var ma=ya.constant(1);function ba(Ma,El,wl){return va(Ma,El||ma,wl||function(Sl){return Ma.outEdges(Sl)})}function va(Ma,El,wl){var Sl={},Cl=Ma.nodes();return Cl.forEach(function(Mc){Sl[Mc]={},Sl[Mc][Mc]={distance:0},Cl.forEach(function(Ef){Mc!==Ef&&(Sl[Mc][Ef]={distance:Number.POSITIVE_INFINITY})}),wl(Mc).forEach(function(Ef){var Zf=Ef.v===Mc?Ef.w:Ef.v,Jf=El(Ef);Sl[Mc][Zf]={distance:Jf,predecessor:Mc}})}),Cl.forEach(function(Mc){var Ef=Sl[Mc];Cl.forEach(function(Zf){var Jf=Sl[Zf];Cl.forEach(function(dp){var hp=Jf[Mc],dg=Ef[dp],pg=Jf[dp],hg=hp.distance+dg.distance;hg<pg.distance&&(pg.distance=hg,pg.predecessor=dg.predecessor)})})}),Sl}return floydWarshall_1}var topsort_1,hasRequiredTopsort;function requireTopsort(){if(hasRequiredTopsort)return topsort_1;hasRequiredTopsort=1;var ya=requireLodash$1();topsort_1=ma,ma.CycleException=ba;function ma(va){var Ma={},El={},wl=[];function Sl(Cl){if(ya.has(El,Cl))throw new ba;ya.has(Ma,Cl)||(El[Cl]=!0,Ma[Cl]=!0,ya.each(va.predecessors(Cl),Sl),delete El[Cl],wl.push(Cl))}if(ya.each(va.sinks(),Sl),ya.size(Ma)!==va.nodeCount())throw new ba;return wl}function ba(){}return ba.prototype=new Error,topsort_1}var isAcyclic_1,hasRequiredIsAcyclic;function requireIsAcyclic(){if(hasRequiredIsAcyclic)return isAcyclic_1;hasRequiredIsAcyclic=1;var ya=requireTopsort();isAcyclic_1=ma;function ma(ba){try{ya(ba)}catch(va){if(va instanceof ya.CycleException)return!1;throw va}return!0}return isAcyclic_1}var dfs_1,hasRequiredDfs;function requireDfs(){if(hasRequiredDfs)return dfs_1;hasRequiredDfs=1;var ya=requireLodash$1();dfs_1=ma;function ma(va,Ma,El){ya.isArray(Ma)||(Ma=[Ma]);var wl=(va.isDirected()?va.successors:va.neighbors).bind(va),Sl=[],Cl={};return ya.each(Ma,function(Mc){if(!va.hasNode(Mc))throw new Error("Graph does not have node: "+Mc);ba(va,Mc,El==="post",Cl,wl,Sl)}),Sl}function ba(va,Ma,El,wl,Sl,Cl){ya.has(wl,Ma)||(wl[Ma]=!0,El||Cl.push(Ma),ya.each(Sl(Ma),function(Mc){ba(va,Mc,El,wl,Sl,Cl)}),El&&Cl.push(Ma))}return dfs_1}var postorder_1,hasRequiredPostorder;function requirePostorder(){if(hasRequiredPostorder)return postorder_1;hasRequiredPostorder=1;var ya=requireDfs();postorder_1=ma;function ma(ba,va){return ya(ba,va,"post")}return postorder_1}var preorder_1,hasRequiredPreorder;function requirePreorder(){if(hasRequiredPreorder)return preorder_1;hasRequiredPreorder=1;var ya=requireDfs();preorder_1=ma;function ma(ba,va){return ya(ba,va,"pre")}return preorder_1}var prim_1,hasRequiredPrim;function requirePrim(){if(hasRequiredPrim)return prim_1;hasRequiredPrim=1;var ya=requireLodash$1(),ma=requireGraph(),ba=requirePriorityQueue();prim_1=va;function va(Ma,El){var wl=new ma,Sl={},Cl=new ba,Mc;function Ef(Jf){var dp=Jf.v===Mc?Jf.w:Jf.v,hp=Cl.priority(dp);if(hp!==void 0){var dg=El(Jf);dg<hp&&(Sl[dp]=Mc,Cl.decrease(dp,dg))}}if(Ma.nodeCount()===0)return wl;ya.each(Ma.nodes(),function(Jf){Cl.add(Jf,Number.POSITIVE_INFINITY),wl.setNode(Jf)}),Cl.decrease(Ma.nodes()[0],0);for(var Zf=!1;Cl.size()>0;){if(Mc=Cl.removeMin(),ya.has(Sl,Mc))wl.setEdge(Mc,Sl[Mc]);else{if(Zf)throw new Error("Input graph is not connected: "+Ma);Zf=!0}Ma.nodeEdges(Mc).forEach(Ef)}return wl}return prim_1}var alg,hasRequiredAlg;function requireAlg(){return hasRequiredAlg||(hasRequiredAlg=1,alg={components:requireComponents(),dijkstra:requireDijkstra(),dijkstraAll:requireDijkstraAll(),findCycles:requireFindCycles(),floydWarshall:requireFloydWarshall(),isAcyclic:requireIsAcyclic(),postorder:requirePostorder(),preorder:requirePreorder(),prim:requirePrim(),tarjan:requireTarjan(),topsort:requireTopsort()}),alg}var graphlib,hasRequiredGraphlib$1;function requireGraphlib$1(){if(hasRequiredGraphlib$1)return graphlib;hasRequiredGraphlib$1=1;var ya=requireLib();return graphlib={Graph:ya.Graph,json:requireJson(),alg:requireAlg(),version:ya.version},graphlib}var graphlib_1,hasRequiredGraphlib;function requireGraphlib(){if(hasRequiredGraphlib)return graphlib_1;hasRequiredGraphlib=1;var ya;if(typeof commonjsRequire=="function")try{ya=requireGraphlib$1()}catch{}return ya||(ya=window.graphlib),graphlib_1=ya,graphlib_1}var cloneDeep_1,hasRequiredCloneDeep;function requireCloneDeep(){if(hasRequiredCloneDeep)return cloneDeep_1;hasRequiredCloneDeep=1;var ya=require_baseClone(),ma=1,ba=4;function va(Ma){return ya(Ma,ma|ba)}return cloneDeep_1=va,cloneDeep_1}var _isIterateeCall,hasRequired_isIterateeCall;function require_isIterateeCall(){if(hasRequired_isIterateeCall)return _isIterateeCall;hasRequired_isIterateeCall=1;var ya=requireEq(),ma=requireIsArrayLike(),ba=require_isIndex(),va=requireIsObject();function Ma(El,wl,Sl){if(!va(Sl))return!1;var Cl=typeof wl;return(Cl=="number"?ma(Sl)&&ba(wl,Sl.length):Cl=="string"&&wl in Sl)?ya(Sl[wl],El):!1}return _isIterateeCall=Ma,_isIterateeCall}var defaults_1,hasRequiredDefaults;function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var ya=require_baseRest(),ma=requireEq(),ba=require_isIterateeCall(),va=requireKeysIn(),Ma=Object.prototype,El=Ma.hasOwnProperty,wl=ya(function(Sl,Cl){Sl=Object(Sl);var Mc=-1,Ef=Cl.length,Zf=Ef>2?Cl[2]:void 0;for(Zf&&ba(Cl[0],Cl[1],Zf)&&(Ef=1);++Mc<Ef;)for(var Jf=Cl[Mc],dp=va(Jf),hp=-1,dg=dp.length;++hp<dg;){var pg=dp[hp],hg=Sl[pg];(hg===void 0||ma(hg,Ma[pg])&&!El.call(Sl,pg))&&(Sl[pg]=Jf[pg])}return Sl});return defaults_1=wl,defaults_1}var _createFind,hasRequired_createFind;function require_createFind(){if(hasRequired_createFind)return _createFind;hasRequired_createFind=1;var ya=require_baseIteratee(),ma=requireIsArrayLike(),ba=requireKeys();function va(Ma){return function(El,wl,Sl){var Cl=Object(El);if(!ma(El)){var Mc=ya(wl,3);El=ba(El),wl=function(Zf){return Mc(Cl[Zf],Zf,Cl)}}var Ef=Ma(El,wl,Sl);return Ef>-1?Cl[Mc?El[Ef]:Ef]:void 0}}return _createFind=va,_createFind}var toFinite_1,hasRequiredToFinite;function requireToFinite(){if(hasRequiredToFinite)return toFinite_1;hasRequiredToFinite=1;var ya=requireToNumber(),ma=1/0,ba=17976931348623157e292;function va(Ma){if(!Ma)return Ma===0?Ma:0;if(Ma=ya(Ma),Ma===ma||Ma===-ma){var El=Ma<0?-1:1;return El*ba}return Ma===Ma?Ma:0}return toFinite_1=va,toFinite_1}var toInteger_1,hasRequiredToInteger;function requireToInteger(){if(hasRequiredToInteger)return toInteger_1;hasRequiredToInteger=1;var ya=requireToFinite();function ma(ba){var va=ya(ba),Ma=va%1;return va===va?Ma?va-Ma:va:0}return toInteger_1=ma,toInteger_1}var findIndex_1,hasRequiredFindIndex;function requireFindIndex(){if(hasRequiredFindIndex)return findIndex_1;hasRequiredFindIndex=1;var ya=require_baseFindIndex(),ma=require_baseIteratee(),ba=requireToInteger(),va=Math.max;function Ma(El,wl,Sl){var Cl=El==null?0:El.length;if(!Cl)return-1;var Mc=Sl==null?0:ba(Sl);return Mc<0&&(Mc=va(Cl+Mc,0)),ya(El,ma(wl,3),Mc)}return findIndex_1=Ma,findIndex_1}var find_1,hasRequiredFind;function requireFind(){if(hasRequiredFind)return find_1;hasRequiredFind=1;var ya=require_createFind(),ma=requireFindIndex(),ba=ya(ma);return find_1=ba,find_1}var flatten_1,hasRequiredFlatten;function requireFlatten(){if(hasRequiredFlatten)return flatten_1;hasRequiredFlatten=1;var ya=require_baseFlatten();function ma(ba){var va=ba==null?0:ba.length;return va?ya(ba,1):[]}return flatten_1=ma,flatten_1}var forIn_1,hasRequiredForIn;function requireForIn(){if(hasRequiredForIn)return forIn_1;hasRequiredForIn=1;var ya=require_baseFor(),ma=require_castFunction(),ba=requireKeysIn();function va(Ma,El){return Ma==null?Ma:ya(Ma,ma(El),ba)}return forIn_1=va,forIn_1}var last_1,hasRequiredLast;function requireLast(){if(hasRequiredLast)return last_1;hasRequiredLast=1;function ya(ma){var ba=ma==null?0:ma.length;return ba?ma[ba-1]:void 0}return last_1=ya,last_1}var mapValues_1,hasRequiredMapValues;function requireMapValues(){if(hasRequiredMapValues)return mapValues_1;hasRequiredMapValues=1;var ya=require_baseAssignValue(),ma=require_baseForOwn(),ba=require_baseIteratee();function va(Ma,El){var wl={};return El=ba(El,3),ma(Ma,function(Sl,Cl,Mc){ya(wl,Cl,El(Sl,Cl,Mc))}),wl}return mapValues_1=va,mapValues_1}var _baseExtremum,hasRequired_baseExtremum;function require_baseExtremum(){if(hasRequired_baseExtremum)return _baseExtremum;hasRequired_baseExtremum=1;var ya=requireIsSymbol();function ma(ba,va,Ma){for(var El=-1,wl=ba.length;++El<wl;){var Sl=ba[El],Cl=va(Sl);if(Cl!=null&&(Mc===void 0?Cl===Cl&&!ya(Cl):Ma(Cl,Mc)))var Mc=Cl,Ef=Sl}return Ef}return _baseExtremum=ma,_baseExtremum}var _baseGt,hasRequired_baseGt;function require_baseGt(){if(hasRequired_baseGt)return _baseGt;hasRequired_baseGt=1;function ya(ma,ba){return ma>ba}return _baseGt=ya,_baseGt}var max_1,hasRequiredMax;function requireMax(){if(hasRequiredMax)return max_1;hasRequiredMax=1;var ya=require_baseExtremum(),ma=require_baseGt(),ba=requireIdentity();function va(Ma){return Ma&&Ma.length?ya(Ma,ba,ma):void 0}return max_1=va,max_1}var _assignMergeValue,hasRequired_assignMergeValue;function require_assignMergeValue(){if(hasRequired_assignMergeValue)return _assignMergeValue;hasRequired_assignMergeValue=1;var ya=require_baseAssignValue(),ma=requireEq();function ba(va,Ma,El){(El!==void 0&&!ma(va[Ma],El)||El===void 0&&!(Ma in va))&&ya(va,Ma,El)}return _assignMergeValue=ba,_assignMergeValue}var isPlainObject_1,hasRequiredIsPlainObject;function requireIsPlainObject(){if(hasRequiredIsPlainObject)return isPlainObject_1;hasRequiredIsPlainObject=1;var ya=require_baseGetTag(),ma=require_getPrototype(),ba=requireIsObjectLike(),va="[object Object]",Ma=Function.prototype,El=Object.prototype,wl=Ma.toString,Sl=El.hasOwnProperty,Cl=wl.call(Object);function Mc(Ef){if(!ba(Ef)||ya(Ef)!=va)return!1;var Zf=ma(Ef);if(Zf===null)return!0;var Jf=Sl.call(Zf,"constructor")&&Zf.constructor;return typeof Jf=="function"&&Jf instanceof Jf&&wl.call(Jf)==Cl}return isPlainObject_1=Mc,isPlainObject_1}var _safeGet,hasRequired_safeGet;function require_safeGet(){if(hasRequired_safeGet)return _safeGet;hasRequired_safeGet=1;function ya(ma,ba){if(!(ba==="constructor"&&typeof ma[ba]=="function")&&ba!="__proto__")return ma[ba]}return _safeGet=ya,_safeGet}var toPlainObject_1,hasRequiredToPlainObject;function requireToPlainObject(){if(hasRequiredToPlainObject)return toPlainObject_1;hasRequiredToPlainObject=1;var ya=require_copyObject(),ma=requireKeysIn();function ba(va){return ya(va,ma(va))}return toPlainObject_1=ba,toPlainObject_1}var _baseMergeDeep,hasRequired_baseMergeDeep;function require_baseMergeDeep(){if(hasRequired_baseMergeDeep)return _baseMergeDeep;hasRequired_baseMergeDeep=1;var ya=require_assignMergeValue(),ma=require_cloneBuffer(),ba=require_cloneTypedArray(),va=require_copyArray(),Ma=require_initCloneObject(),El=requireIsArguments(),wl=requireIsArray(),Sl=requireIsArrayLikeObject(),Cl=requireIsBuffer(),Mc=requireIsFunction(),Ef=requireIsObject(),Zf=requireIsPlainObject(),Jf=requireIsTypedArray(),dp=require_safeGet(),hp=requireToPlainObject();function dg(pg,hg,mg,gg,sy,ly,cy){var uy=dp(pg,mg),H1=dp(hg,mg),lE=cy.get(H1);if(lE){ya(pg,mg,lE);return}var R_=ly?ly(uy,H1,mg+"",pg,hg,cy):void 0,V1=R_===void 0;if(V1){var q1=wl(H1),n0=!q1&&Cl(H1),aE=!q1&&!n0&&Jf(H1);R_=H1,q1||n0||aE?wl(uy)?R_=uy:Sl(uy)?R_=va(uy):n0?(V1=!1,R_=ma(H1,!0)):aE?(V1=!1,R_=ba(H1,!0)):R_=[]:Zf(H1)||El(H1)?(R_=uy,El(uy)?R_=hp(uy):(!Ef(uy)||Mc(uy))&&(R_=Ma(H1))):V1=!1}V1&&(cy.set(H1,R_),sy(R_,H1,gg,ly,cy),cy.delete(H1)),ya(pg,mg,R_)}return _baseMergeDeep=dg,_baseMergeDeep}var _baseMerge,hasRequired_baseMerge;function require_baseMerge(){if(hasRequired_baseMerge)return _baseMerge;hasRequired_baseMerge=1;var ya=require_Stack(),ma=require_assignMergeValue(),ba=require_baseFor(),va=require_baseMergeDeep(),Ma=requireIsObject(),El=requireKeysIn(),wl=require_safeGet();function Sl(Cl,Mc,Ef,Zf,Jf){Cl!==Mc&&ba(Mc,function(dp,hp){if(Jf||(Jf=new ya),Ma(dp))va(Cl,Mc,hp,Ef,Sl,Zf,Jf);else{var dg=Zf?Zf(wl(Cl,hp),dp,hp+"",Cl,Mc,Jf):void 0;dg===void 0&&(dg=dp),ma(Cl,hp,dg)}},El)}return _baseMerge=Sl,_baseMerge}var _createAssigner,hasRequired_createAssigner;function require_createAssigner(){if(hasRequired_createAssigner)return _createAssigner;hasRequired_createAssigner=1;var ya=require_baseRest(),ma=require_isIterateeCall();function ba(va){return ya(function(Ma,El){var wl=-1,Sl=El.length,Cl=Sl>1?El[Sl-1]:void 0,Mc=Sl>2?El[2]:void 0;for(Cl=va.length>3&&typeof Cl=="function"?(Sl--,Cl):void 0,Mc&&ma(El[0],El[1],Mc)&&(Cl=Sl<3?void 0:Cl,Sl=1),Ma=Object(Ma);++wl<Sl;){var Ef=El[wl];Ef&&va(Ma,Ef,wl,Cl)}return Ma})}return _createAssigner=ba,_createAssigner}var merge_1,hasRequiredMerge;function requireMerge(){if(hasRequiredMerge)return merge_1;hasRequiredMerge=1;var ya=require_baseMerge(),ma=require_createAssigner(),ba=ma(function(va,Ma,El){ya(va,Ma,El)});return merge_1=ba,merge_1}var _baseLt,hasRequired_baseLt;function require_baseLt(){if(hasRequired_baseLt)return _baseLt;hasRequired_baseLt=1;function ya(ma,ba){return ma<ba}return _baseLt=ya,_baseLt}var min_1,hasRequiredMin;function requireMin(){if(hasRequiredMin)return min_1;hasRequiredMin=1;var ya=require_baseExtremum(),ma=require_baseLt(),ba=requireIdentity();function va(Ma){return Ma&&Ma.length?ya(Ma,ba,ma):void 0}return min_1=va,min_1}var minBy_1,hasRequiredMinBy;function requireMinBy(){if(hasRequiredMinBy)return minBy_1;hasRequiredMinBy=1;var ya=require_baseExtremum(),ma=require_baseIteratee(),ba=require_baseLt();function va(Ma,El){return Ma&&Ma.length?ya(Ma,ma(El,2),ba):void 0}return minBy_1=va,minBy_1}var _baseSet,hasRequired_baseSet;function require_baseSet(){if(hasRequired_baseSet)return _baseSet;hasRequired_baseSet=1;var ya=require_assignValue(),ma=require_castPath(),ba=require_isIndex(),va=requireIsObject(),Ma=require_toKey();function El(wl,Sl,Cl,Mc){if(!va(wl))return wl;Sl=ma(Sl,wl);for(var Ef=-1,Zf=Sl.length,Jf=Zf-1,dp=wl;dp!=null&&++Ef<Zf;){var hp=Ma(Sl[Ef]),dg=Cl;if(hp==="__proto__"||hp==="constructor"||hp==="prototype")return wl;if(Ef!=Jf){var pg=dp[hp];dg=Mc?Mc(pg,hp,dp):void 0,dg===void 0&&(dg=va(pg)?pg:ba(Sl[Ef+1])?[]:{})}ya(dp,hp,dg),dp=dp[hp]}return wl}return _baseSet=El,_baseSet}var _basePickBy,hasRequired_basePickBy;function require_basePickBy(){if(hasRequired_basePickBy)return _basePickBy;hasRequired_basePickBy=1;var ya=require_baseGet(),ma=require_baseSet(),ba=require_castPath();function va(Ma,El,wl){for(var Sl=-1,Cl=El.length,Mc={};++Sl<Cl;){var Ef=El[Sl],Zf=ya(Ma,Ef);wl(Zf,Ef)&&ma(Mc,ba(Ef,Ma),Zf)}return Mc}return _basePickBy=va,_basePickBy}var _basePick,hasRequired_basePick;function require_basePick(){if(hasRequired_basePick)return _basePick;hasRequired_basePick=1;var ya=require_basePickBy(),ma=requireHasIn();function ba(va,Ma){return ya(va,Ma,function(El,wl){return ma(va,wl)})}return _basePick=ba,_basePick}var _flatRest,hasRequired_flatRest;function require_flatRest(){if(hasRequired_flatRest)return _flatRest;hasRequired_flatRest=1;var ya=requireFlatten(),ma=require_overRest(),ba=require_setToString();function va(Ma){return ba(ma(Ma,void 0,ya),Ma+"")}return _flatRest=va,_flatRest}var pick_1,hasRequiredPick;function requirePick(){if(hasRequiredPick)return pick_1;hasRequiredPick=1;var ya=require_basePick(),ma=require_flatRest(),ba=ma(function(va,Ma){return va==null?{}:ya(va,Ma)});return pick_1=ba,pick_1}var _baseRange,hasRequired_baseRange;function require_baseRange(){if(hasRequired_baseRange)return _baseRange;hasRequired_baseRange=1;var ya=Math.ceil,ma=Math.max;function ba(va,Ma,El,wl){for(var Sl=-1,Cl=ma(ya((Ma-va)/(El||1)),0),Mc=Array(Cl);Cl--;)Mc[wl?Cl:++Sl]=va,va+=El;return Mc}return _baseRange=ba,_baseRange}var _createRange,hasRequired_createRange;function require_createRange(){if(hasRequired_createRange)return _createRange;hasRequired_createRange=1;var ya=require_baseRange(),ma=require_isIterateeCall(),ba=requireToFinite();function va(Ma){return function(El,wl,Sl){return Sl&&typeof Sl!="number"&&ma(El,wl,Sl)&&(wl=Sl=void 0),El=ba(El),wl===void 0?(wl=El,El=0):wl=ba(wl),Sl=Sl===void 0?El<wl?1:-1:ba(Sl),ya(El,wl,Sl,Ma)}}return _createRange=va,_createRange}var range_1,hasRequiredRange;function requireRange(){if(hasRequiredRange)return range_1;hasRequiredRange=1;var ya=require_createRange(),ma=ya();return range_1=ma,range_1}var _baseSortBy,hasRequired_baseSortBy;function require_baseSortBy(){if(hasRequired_baseSortBy)return _baseSortBy;hasRequired_baseSortBy=1;function ya(ma,ba){var va=ma.length;for(ma.sort(ba);va--;)ma[va]=ma[va].value;return ma}return _baseSortBy=ya,_baseSortBy}var _compareAscending,hasRequired_compareAscending;function require_compareAscending(){if(hasRequired_compareAscending)return _compareAscending;hasRequired_compareAscending=1;var ya=requireIsSymbol();function ma(ba,va){if(ba!==va){var Ma=ba!==void 0,El=ba===null,wl=ba===ba,Sl=ya(ba),Cl=va!==void 0,Mc=va===null,Ef=va===va,Zf=ya(va);if(!Mc&&!Zf&&!Sl&&ba>va||Sl&&Cl&&Ef&&!Mc&&!Zf||El&&Cl&&Ef||!Ma&&Ef||!wl)return 1;if(!El&&!Sl&&!Zf&&ba<va||Zf&&Ma&&wl&&!El&&!Sl||Mc&&Ma&&wl||!Cl&&wl||!Ef)return-1}return 0}return _compareAscending=ma,_compareAscending}var _compareMultiple,hasRequired_compareMultiple;function require_compareMultiple(){if(hasRequired_compareMultiple)return _compareMultiple;hasRequired_compareMultiple=1;var ya=require_compareAscending();function ma(ba,va,Ma){for(var El=-1,wl=ba.criteria,Sl=va.criteria,Cl=wl.length,Mc=Ma.length;++El<Cl;){var Ef=ya(wl[El],Sl[El]);if(Ef){if(El>=Mc)return Ef;var Zf=Ma[El];return Ef*(Zf=="desc"?-1:1)}}return ba.index-va.index}return _compareMultiple=ma,_compareMultiple}var _baseOrderBy,hasRequired_baseOrderBy;function require_baseOrderBy(){if(hasRequired_baseOrderBy)return _baseOrderBy;hasRequired_baseOrderBy=1;var ya=require_arrayMap(),ma=require_baseGet(),ba=require_baseIteratee(),va=require_baseMap(),Ma=require_baseSortBy(),El=require_baseUnary(),wl=require_compareMultiple(),Sl=requireIdentity(),Cl=requireIsArray();function Mc(Ef,Zf,Jf){Zf.length?Zf=ya(Zf,function(dg){return Cl(dg)?function(pg){return ma(pg,dg.length===1?dg[0]:dg)}:dg}):Zf=[Sl];var dp=-1;Zf=ya(Zf,El(ba));var hp=va(Ef,function(dg,pg,hg){var mg=ya(Zf,function(gg){return gg(dg)});return{criteria:mg,index:++dp,value:dg}});return Ma(hp,function(dg,pg){return wl(dg,pg,Jf)})}return _baseOrderBy=Mc,_baseOrderBy}var sortBy_1,hasRequiredSortBy;function requireSortBy(){if(hasRequiredSortBy)return sortBy_1;hasRequiredSortBy=1;var ya=require_baseFlatten(),ma=require_baseOrderBy(),ba=require_baseRest(),va=require_isIterateeCall(),Ma=ba(function(El,wl){if(El==null)return[];var Sl=wl.length;return Sl>1&&va(El,wl[0],wl[1])?wl=[]:Sl>2&&va(wl[0],wl[1],wl[2])&&(wl=[wl[0]]),ma(El,ya(wl,1),[])});return sortBy_1=Ma,sortBy_1}var uniqueId_1,hasRequiredUniqueId;function requireUniqueId(){if(hasRequiredUniqueId)return uniqueId_1;hasRequiredUniqueId=1;var ya=requireToString(),ma=0;function ba(va){var Ma=++ma;return ya(va)+Ma}return uniqueId_1=ba,uniqueId_1}var _baseZipObject,hasRequired_baseZipObject;function require_baseZipObject(){if(hasRequired_baseZipObject)return _baseZipObject;hasRequired_baseZipObject=1;function ya(ma,ba,va){for(var Ma=-1,El=ma.length,wl=ba.length,Sl={};++Ma<El;){var Cl=Ma<wl?ba[Ma]:void 0;va(Sl,ma[Ma],Cl)}return Sl}return _baseZipObject=ya,_baseZipObject}var zipObject_1,hasRequiredZipObject;function requireZipObject(){if(hasRequiredZipObject)return zipObject_1;hasRequiredZipObject=1;var ya=require_assignValue(),ma=require_baseZipObject();function ba(va,Ma){return ma(va||[],Ma||[],ya)}return zipObject_1=ba,zipObject_1}var lodash_1,hasRequiredLodash;function requireLodash(){if(hasRequiredLodash)return lodash_1;hasRequiredLodash=1;var ya;if(typeof commonjsRequire=="function")try{ya={cloneDeep:requireCloneDeep(),constant:requireConstant(),defaults:requireDefaults(),each:requireEach(),filter:requireFilter(),find:requireFind(),flatten:requireFlatten(),forEach:requireForEach(),forIn:requireForIn(),has:requireHas(),isUndefined:requireIsUndefined(),last:requireLast(),map:requireMap(),mapValues:requireMapValues(),max:requireMax(),merge:requireMerge(),min:requireMin(),minBy:requireMinBy(),now:requireNow(),pick:requirePick(),range:requireRange(),reduce:requireReduce(),sortBy:requireSortBy(),uniqueId:requireUniqueId(),values:requireValues(),zipObject:requireZipObject()}}catch{}return ya||(ya=window._),lodash_1=ya,lodash_1}var list,hasRequiredList;function requireList(){if(hasRequiredList)return list;hasRequiredList=1,list=ya;function ya(){var va={};va._next=va._prev=va,this._sentinel=va}ya.prototype.dequeue=function(){var va=this._sentinel,Ma=va._prev;if(Ma!==va)return ma(Ma),Ma},ya.prototype.enqueue=function(va){var Ma=this._sentinel;va._prev&&va._next&&ma(va),va._next=Ma._next,Ma._next._prev=va,Ma._next=va,va._prev=Ma},ya.prototype.toString=function(){for(var va=[],Ma=this._sentinel,El=Ma._prev;El!==Ma;)va.push(JSON.stringify(El,ba)),El=El._prev;return"["+va.join(", ")+"]"};function ma(va){va._prev._next=va._next,va._next._prev=va._prev,delete va._next,delete va._prev}function ba(va,Ma){if(va!=="_next"&&va!=="_prev")return Ma}return list}var greedyFas,hasRequiredGreedyFas;function requireGreedyFas(){if(hasRequiredGreedyFas)return greedyFas;hasRequiredGreedyFas=1;var ya=requireLodash(),ma=requireGraphlib().Graph,ba=requireList();greedyFas=Ma;var va=ya.constant(1);function Ma(Mc,Ef){if(Mc.nodeCount()<=1)return[];var Zf=Sl(Mc,Ef||va),Jf=El(Zf.graph,Zf.buckets,Zf.zeroIdx);return ya.flatten(ya.map(Jf,function(dp){return Mc.outEdges(dp.v,dp.w)}),!0)}function El(Mc,Ef,Zf){for(var Jf=[],dp=Ef[Ef.length-1],hp=Ef[0],dg;Mc.nodeCount();){for(;dg=hp.dequeue();)wl(Mc,Ef,Zf,dg);for(;dg=dp.dequeue();)wl(Mc,Ef,Zf,dg);if(Mc.nodeCount()){for(var pg=Ef.length-2;pg>0;--pg)if(dg=Ef[pg].dequeue(),dg){Jf=Jf.concat(wl(Mc,Ef,Zf,dg,!0));break}}}return Jf}function wl(Mc,Ef,Zf,Jf,dp){var hp=dp?[]:void 0;return ya.forEach(Mc.inEdges(Jf.v),function(dg){var pg=Mc.edge(dg),hg=Mc.node(dg.v);dp&&hp.push({v:dg.v,w:dg.w}),hg.out-=pg,Cl(Ef,Zf,hg)}),ya.forEach(Mc.outEdges(Jf.v),function(dg){var pg=Mc.edge(dg),hg=dg.w,mg=Mc.node(hg);mg.in-=pg,Cl(Ef,Zf,mg)}),Mc.removeNode(Jf.v),hp}function Sl(Mc,Ef){var Zf=new ma,Jf=0,dp=0;ya.forEach(Mc.nodes(),function(pg){Zf.setNode(pg,{v:pg,in:0,out:0})}),ya.forEach(Mc.edges(),function(pg){var hg=Zf.edge(pg.v,pg.w)||0,mg=Ef(pg),gg=hg+mg;Zf.setEdge(pg.v,pg.w,gg),dp=Math.max(dp,Zf.node(pg.v).out+=mg),Jf=Math.max(Jf,Zf.node(pg.w).in+=mg)});var hp=ya.range(dp+Jf+3).map(function(){return new ba}),dg=Jf+1;return ya.forEach(Zf.nodes(),function(pg){Cl(hp,dg,Zf.node(pg))}),{graph:Zf,buckets:hp,zeroIdx:dg}}function Cl(Mc,Ef,Zf){Zf.out?Zf.in?Mc[Zf.out-Zf.in+Ef].enqueue(Zf):Mc[Mc.length-1].enqueue(Zf):Mc[0].enqueue(Zf)}return greedyFas}var acyclic,hasRequiredAcyclic;function requireAcyclic(){if(hasRequiredAcyclic)return acyclic;hasRequiredAcyclic=1;var ya=requireLodash(),ma=requireGreedyFas();acyclic={run:ba,undo:Ma};function ba(El){var wl=El.graph().acyclicer==="greedy"?ma(El,Sl(El)):va(El);ya.forEach(wl,function(Cl){var Mc=El.edge(Cl);El.removeEdge(Cl),Mc.forwardName=Cl.name,Mc.reversed=!0,El.setEdge(Cl.w,Cl.v,Mc,ya.uniqueId("rev"))});function Sl(Cl){return function(Mc){return Cl.edge(Mc).weight}}}function va(El){var wl=[],Sl={},Cl={};function Mc(Ef){ya.has(Cl,Ef)||(Cl[Ef]=!0,Sl[Ef]=!0,ya.forEach(El.outEdges(Ef),function(Zf){ya.has(Sl,Zf.w)?wl.push(Zf):Mc(Zf.w)}),delete Sl[Ef])}return ya.forEach(El.nodes(),Mc),wl}function Ma(El){ya.forEach(El.edges(),function(wl){var Sl=El.edge(wl);if(Sl.reversed){El.removeEdge(wl);var Cl=Sl.forwardName;delete Sl.reversed,delete Sl.forwardName,El.setEdge(wl.w,wl.v,Sl,Cl)}})}return acyclic}var util$1,hasRequiredUtil$1;function requireUtil$1(){if(hasRequiredUtil$1)return util$1;hasRequiredUtil$1=1;var ya=requireLodash(),ma=requireGraphlib().Graph;util$1={addDummyNode:ba,simplify:va,asNonCompoundGraph:Ma,successorWeights:El,predecessorWeights:wl,intersectRect:Sl,buildLayerMatrix:Cl,normalizeRanks:Mc,removeEmptyRanks:Ef,addBorderNode:Zf,maxRank:Jf,partition:dp,time:hp,notime:dg};function ba(pg,hg,mg,gg){var sy;do sy=ya.uniqueId(gg);while(pg.hasNode(sy));return mg.dummy=hg,pg.setNode(sy,mg),sy}function va(pg){var hg=new ma().setGraph(pg.graph());return ya.forEach(pg.nodes(),function(mg){hg.setNode(mg,pg.node(mg))}),ya.forEach(pg.edges(),function(mg){var gg=hg.edge(mg.v,mg.w)||{weight:0,minlen:1},sy=pg.edge(mg);hg.setEdge(mg.v,mg.w,{weight:gg.weight+sy.weight,minlen:Math.max(gg.minlen,sy.minlen)})}),hg}function Ma(pg){var hg=new ma({multigraph:pg.isMultigraph()}).setGraph(pg.graph());return ya.forEach(pg.nodes(),function(mg){pg.children(mg).length||hg.setNode(mg,pg.node(mg))}),ya.forEach(pg.edges(),function(mg){hg.setEdge(mg,pg.edge(mg))}),hg}function El(pg){var hg=ya.map(pg.nodes(),function(mg){var gg={};return ya.forEach(pg.outEdges(mg),function(sy){gg[sy.w]=(gg[sy.w]||0)+pg.edge(sy).weight}),gg});return ya.zipObject(pg.nodes(),hg)}function wl(pg){var hg=ya.map(pg.nodes(),function(mg){var gg={};return ya.forEach(pg.inEdges(mg),function(sy){gg[sy.v]=(gg[sy.v]||0)+pg.edge(sy).weight}),gg});return ya.zipObject(pg.nodes(),hg)}function Sl(pg,hg){var mg=pg.x,gg=pg.y,sy=hg.x-mg,ly=hg.y-gg,cy=pg.width/2,uy=pg.height/2;if(!sy&&!ly)throw new Error("Not possible to find intersection inside of the rectangle");var H1,lE;return Math.abs(ly)*cy>Math.abs(sy)*uy?(ly<0&&(uy=-uy),H1=uy*sy/ly,lE=uy):(sy<0&&(cy=-cy),H1=cy,lE=cy*ly/sy),{x:mg+H1,y:gg+lE}}function Cl(pg){var hg=ya.map(ya.range(Jf(pg)+1),function(){return[]});return ya.forEach(pg.nodes(),function(mg){var gg=pg.node(mg),sy=gg.rank;ya.isUndefined(sy)||(hg[sy][gg.order]=mg)}),hg}function Mc(pg){var hg=ya.min(ya.map(pg.nodes(),function(mg){return pg.node(mg).rank}));ya.forEach(pg.nodes(),function(mg){var gg=pg.node(mg);ya.has(gg,"rank")&&(gg.rank-=hg)})}function Ef(pg){var hg=ya.min(ya.map(pg.nodes(),function(ly){return pg.node(ly).rank})),mg=[];ya.forEach(pg.nodes(),function(ly){var cy=pg.node(ly).rank-hg;mg[cy]||(mg[cy]=[]),mg[cy].push(ly)});var gg=0,sy=pg.graph().nodeRankFactor;ya.forEach(mg,function(ly,cy){ya.isUndefined(ly)&&cy%sy!==0?--gg:gg&&ya.forEach(ly,function(uy){pg.node(uy).rank+=gg})})}function Zf(pg,hg,mg,gg){var sy={width:0,height:0};return arguments.length>=4&&(sy.rank=mg,sy.order=gg),ba(pg,"border",sy,hg)}function Jf(pg){return ya.max(ya.map(pg.nodes(),function(hg){var mg=pg.node(hg).rank;if(!ya.isUndefined(mg))return mg}))}function dp(pg,hg){var mg={lhs:[],rhs:[]};return ya.forEach(pg,function(gg){hg(gg)?mg.lhs.push(gg):mg.rhs.push(gg)}),mg}function hp(pg,hg){var mg=ya.now();try{return hg()}finally{console.log(pg+" time: "+(ya.now()-mg)+"ms")}}function dg(pg,hg){return hg()}return util$1}var normalize,hasRequiredNormalize;function requireNormalize(){if(hasRequiredNormalize)return normalize;hasRequiredNormalize=1;var ya=requireLodash(),ma=requireUtil$1();normalize={run:ba,undo:Ma};function ba(El){El.graph().dummyChains=[],ya.forEach(El.edges(),function(wl){va(El,wl)})}function va(El,wl){var Sl=wl.v,Cl=El.node(Sl).rank,Mc=wl.w,Ef=El.node(Mc).rank,Zf=wl.name,Jf=El.edge(wl),dp=Jf.labelRank;if(Ef!==Cl+1){El.removeEdge(wl);var hp,dg,pg;for(pg=0,++Cl;Cl<Ef;++pg,++Cl)Jf.points=[],dg={width:0,height:0,edgeLabel:Jf,edgeObj:wl,rank:Cl},hp=ma.addDummyNode(El,"edge",dg,"_d"),Cl===dp&&(dg.width=Jf.width,dg.height=Jf.height,dg.dummy="edge-label",dg.labelpos=Jf.labelpos),El.setEdge(Sl,hp,{weight:Jf.weight},Zf),pg===0&&El.graph().dummyChains.push(hp),Sl=hp;El.setEdge(Sl,Mc,{weight:Jf.weight},Zf)}}function Ma(El){ya.forEach(El.graph().dummyChains,function(wl){var Sl=El.node(wl),Cl=Sl.edgeLabel,Mc;for(El.setEdge(Sl.edgeObj,Cl);Sl.dummy;)Mc=El.successors(wl)[0],El.removeNode(wl),Cl.points.push({x:Sl.x,y:Sl.y}),Sl.dummy==="edge-label"&&(Cl.x=Sl.x,Cl.y=Sl.y,Cl.width=Sl.width,Cl.height=Sl.height),wl=Mc,Sl=El.node(wl)})}return normalize}var util,hasRequiredUtil;function requireUtil(){if(hasRequiredUtil)return util;hasRequiredUtil=1;var ya=requireLodash();util={longestPath:ma,slack:ba};function ma(va){var Ma={};function El(wl){var Sl=va.node(wl);if(ya.has(Ma,wl))return Sl.rank;Ma[wl]=!0;var Cl=ya.min(ya.map(va.outEdges(wl),function(Mc){return El(Mc.w)-va.edge(Mc).minlen}));return(Cl===Number.POSITIVE_INFINITY||Cl===void 0||Cl===null)&&(Cl=0),Sl.rank=Cl}ya.forEach(va.sources(),El)}function ba(va,Ma){return va.node(Ma.w).rank-va.node(Ma.v).rank-va.edge(Ma).minlen}return util}var feasibleTree_1,hasRequiredFeasibleTree;function requireFeasibleTree(){if(hasRequiredFeasibleTree)return feasibleTree_1;hasRequiredFeasibleTree=1;var ya=requireLodash(),ma=requireGraphlib().Graph,ba=requireUtil().slack;feasibleTree_1=va;function va(Sl){var Cl=new ma({directed:!1}),Mc=Sl.nodes()[0],Ef=Sl.nodeCount();Cl.setNode(Mc,{});for(var Zf,Jf;Ma(Cl,Sl)<Ef;)Zf=El(Cl,Sl),Jf=Cl.hasNode(Zf.v)?ba(Sl,Zf):-ba(Sl,Zf),wl(Cl,Sl,Jf);return Cl}function Ma(Sl,Cl){function Mc(Ef){ya.forEach(Cl.nodeEdges(Ef),function(Zf){var Jf=Zf.v,dp=Ef===Jf?Zf.w:Jf;!Sl.hasNode(dp)&&!ba(Cl,Zf)&&(Sl.setNode(dp,{}),Sl.setEdge(Ef,dp,{}),Mc(dp))})}return ya.forEach(Sl.nodes(),Mc),Sl.nodeCount()}function El(Sl,Cl){return ya.minBy(Cl.edges(),function(Mc){if(Sl.hasNode(Mc.v)!==Sl.hasNode(Mc.w))return ba(Cl,Mc)})}function wl(Sl,Cl,Mc){ya.forEach(Sl.nodes(),function(Ef){Cl.node(Ef).rank+=Mc})}return feasibleTree_1}var networkSimplex_1,hasRequiredNetworkSimplex;function requireNetworkSimplex(){if(hasRequiredNetworkSimplex)return networkSimplex_1;hasRequiredNetworkSimplex=1;var ya=requireLodash(),ma=requireFeasibleTree(),ba=requireUtil().slack,va=requireUtil().longestPath,Ma=requireGraphlib().alg.preorder,El=requireGraphlib().alg.postorder,wl=requireUtil$1().simplify;networkSimplex_1=Sl,Sl.initLowLimValues=Zf,Sl.initCutValues=Cl,Sl.calcCutValue=Ef,Sl.leaveEdge=dp,Sl.enterEdge=hp,Sl.exchangeEdges=dg;function Sl(gg){gg=wl(gg),va(gg);var sy=ma(gg);Zf(sy),Cl(sy,gg);for(var ly,cy;ly=dp(sy);)cy=hp(sy,gg,ly),dg(sy,gg,ly,cy)}function Cl(gg,sy){var ly=El(gg,gg.nodes());ly=ly.slice(0,ly.length-1),ya.forEach(ly,function(cy){Mc(gg,sy,cy)})}function Mc(gg,sy,ly){var cy=gg.node(ly),uy=cy.parent;gg.edge(ly,uy).cutvalue=Ef(gg,sy,ly)}function Ef(gg,sy,ly){var cy=gg.node(ly),uy=cy.parent,H1=!0,lE=sy.edge(ly,uy),R_=0;return lE||(H1=!1,lE=sy.edge(uy,ly)),R_=lE.weight,ya.forEach(sy.nodeEdges(ly),function(V1){var q1=V1.v===ly,n0=q1?V1.w:V1.v;if(n0!==uy){var aE=q1===H1,P_=sy.edge(V1).weight;if(R_+=aE?P_:-P_,hg(gg,ly,n0)){var O_=gg.edge(ly,n0).cutvalue;R_+=aE?-O_:O_}}}),R_}function Zf(gg,sy){arguments.length<2&&(sy=gg.nodes()[0]),Jf(gg,{},1,sy)}function Jf(gg,sy,ly,cy,uy){var H1=ly,lE=gg.node(cy);return sy[cy]=!0,ya.forEach(gg.neighbors(cy),function(R_){ya.has(sy,R_)||(ly=Jf(gg,sy,ly,R_,cy))}),lE.low=H1,lE.lim=ly++,uy?lE.parent=uy:delete lE.parent,ly}function dp(gg){return ya.find(gg.edges(),function(sy){return gg.edge(sy).cutvalue<0})}function hp(gg,sy,ly){var cy=ly.v,uy=ly.w;sy.hasEdge(cy,uy)||(cy=ly.w,uy=ly.v);var H1=gg.node(cy),lE=gg.node(uy),R_=H1,V1=!1;H1.lim>lE.lim&&(R_=lE,V1=!0);var q1=ya.filter(sy.edges(),function(n0){return V1===mg(gg,gg.node(n0.v),R_)&&V1!==mg(gg,gg.node(n0.w),R_)});return ya.minBy(q1,function(n0){return ba(sy,n0)})}function dg(gg,sy,ly,cy){var uy=ly.v,H1=ly.w;gg.removeEdge(uy,H1),gg.setEdge(cy.v,cy.w,{}),Zf(gg),Cl(gg,sy),pg(gg,sy)}function pg(gg,sy){var ly=ya.find(gg.nodes(),function(uy){return!sy.node(uy).parent}),cy=Ma(gg,ly);cy=cy.slice(1),ya.forEach(cy,function(uy){var H1=gg.node(uy).parent,lE=sy.edge(uy,H1),R_=!1;lE||(lE=sy.edge(H1,uy),R_=!0),sy.node(uy).rank=sy.node(H1).rank+(R_?lE.minlen:-lE.minlen)})}function hg(gg,sy,ly){return gg.hasEdge(sy,ly)}function mg(gg,sy,ly){return ly.low<=sy.lim&&sy.lim<=ly.lim}return networkSimplex_1}var rank_1,hasRequiredRank;function requireRank(){if(hasRequiredRank)return rank_1;hasRequiredRank=1;var ya=requireUtil(),ma=ya.longestPath,ba=requireFeasibleTree(),va=requireNetworkSimplex();rank_1=Ma;function Ma(Cl){switch(Cl.graph().ranker){case"network-simplex":Sl(Cl);break;case"tight-tree":wl(Cl);break;case"longest-path":El(Cl);break;default:Sl(Cl)}}var El=ma;function wl(Cl){ma(Cl),ba(Cl)}function Sl(Cl){va(Cl)}return rank_1}var parentDummyChains_1,hasRequiredParentDummyChains;function requireParentDummyChains(){if(hasRequiredParentDummyChains)return parentDummyChains_1;hasRequiredParentDummyChains=1;var ya=requireLodash();parentDummyChains_1=ma;function ma(Ma){var El=va(Ma);ya.forEach(Ma.graph().dummyChains,function(wl){for(var Sl=Ma.node(wl),Cl=Sl.edgeObj,Mc=ba(Ma,El,Cl.v,Cl.w),Ef=Mc.path,Zf=Mc.lca,Jf=0,dp=Ef[Jf],hp=!0;wl!==Cl.w;){if(Sl=Ma.node(wl),hp){for(;(dp=Ef[Jf])!==Zf&&Ma.node(dp).maxRank<Sl.rank;)Jf++;dp===Zf&&(hp=!1)}if(!hp){for(;Jf<Ef.length-1&&Ma.node(dp=Ef[Jf+1]).minRank<=Sl.rank;)Jf++;dp=Ef[Jf]}Ma.setParent(wl,dp),wl=Ma.successors(wl)[0]}})}function ba(Ma,El,wl,Sl){var Cl=[],Mc=[],Ef=Math.min(El[wl].low,El[Sl].low),Zf=Math.max(El[wl].lim,El[Sl].lim),Jf,dp;Jf=wl;do Jf=Ma.parent(Jf),Cl.push(Jf);while(Jf&&(El[Jf].low>Ef||Zf>El[Jf].lim));for(dp=Jf,Jf=Sl;(Jf=Ma.parent(Jf))!==dp;)Mc.push(Jf);return{path:Cl.concat(Mc.reverse()),lca:dp}}function va(Ma){var El={},wl=0;function Sl(Cl){var Mc=wl;ya.forEach(Ma.children(Cl),Sl),El[Cl]={low:Mc,lim:wl++}}return ya.forEach(Ma.children(),Sl),El}return parentDummyChains_1}var nestingGraph,hasRequiredNestingGraph;function requireNestingGraph(){if(hasRequiredNestingGraph)return nestingGraph;hasRequiredNestingGraph=1;var ya=requireLodash(),ma=requireUtil$1();nestingGraph={run:ba,cleanup:wl};function ba(Sl){var Cl=ma.addDummyNode(Sl,"root",{},"_root"),Mc=Ma(Sl),Ef=ya.max(ya.values(Mc))-1,Zf=2*Ef+1;Sl.graph().nestingRoot=Cl,ya.forEach(Sl.edges(),function(dp){Sl.edge(dp).minlen*=Zf});var Jf=El(Sl)+1;ya.forEach(Sl.children(),function(dp){va(Sl,Cl,Zf,Jf,Ef,Mc,dp)}),Sl.graph().nodeRankFactor=Zf}function va(Sl,Cl,Mc,Ef,Zf,Jf,dp){var hp=Sl.children(dp);if(!hp.length){dp!==Cl&&Sl.setEdge(Cl,dp,{weight:0,minlen:Mc});return}var dg=ma.addBorderNode(Sl,"_bt"),pg=ma.addBorderNode(Sl,"_bb"),hg=Sl.node(dp);Sl.setParent(dg,dp),hg.borderTop=dg,Sl.setParent(pg,dp),hg.borderBottom=pg,ya.forEach(hp,function(mg){va(Sl,Cl,Mc,Ef,Zf,Jf,mg);var gg=Sl.node(mg),sy=gg.borderTop?gg.borderTop:mg,ly=gg.borderBottom?gg.borderBottom:mg,cy=gg.borderTop?Ef:2*Ef,uy=sy!==ly?1:Zf-Jf[dp]+1;Sl.setEdge(dg,sy,{weight:cy,minlen:uy,nestingEdge:!0}),Sl.setEdge(ly,pg,{weight:cy,minlen:uy,nestingEdge:!0})}),Sl.parent(dp)||Sl.setEdge(Cl,dg,{weight:0,minlen:Zf+Jf[dp]})}function Ma(Sl){var Cl={};function Mc(Ef,Zf){var Jf=Sl.children(Ef);Jf&&Jf.length&&ya.forEach(Jf,function(dp){Mc(dp,Zf+1)}),Cl[Ef]=Zf}return ya.forEach(Sl.children(),function(Ef){Mc(Ef,1)}),Cl}function El(Sl){return ya.reduce(Sl.edges(),function(Cl,Mc){return Cl+Sl.edge(Mc).weight},0)}function wl(Sl){var Cl=Sl.graph();Sl.removeNode(Cl.nestingRoot),delete Cl.nestingRoot,ya.forEach(Sl.edges(),function(Mc){var Ef=Sl.edge(Mc);Ef.nestingEdge&&Sl.removeEdge(Mc)})}return nestingGraph}var addBorderSegments_1,hasRequiredAddBorderSegments;function requireAddBorderSegments(){if(hasRequiredAddBorderSegments)return addBorderSegments_1;hasRequiredAddBorderSegments=1;var ya=requireLodash(),ma=requireUtil$1();addBorderSegments_1=ba;function ba(Ma){function El(wl){var Sl=Ma.children(wl),Cl=Ma.node(wl);if(Sl.length&&ya.forEach(Sl,El),ya.has(Cl,"minRank")){Cl.borderLeft=[],Cl.borderRight=[];for(var Mc=Cl.minRank,Ef=Cl.maxRank+1;Mc<Ef;++Mc)va(Ma,"borderLeft","_bl",wl,Cl,Mc),va(Ma,"borderRight","_br",wl,Cl,Mc)}}ya.forEach(Ma.children(),El)}function va(Ma,El,wl,Sl,Cl,Mc){var Ef={width:0,height:0,rank:Mc,borderType:El},Zf=Cl[El][Mc-1],Jf=ma.addDummyNode(Ma,"border",Ef,wl);Cl[El][Mc]=Jf,Ma.setParent(Jf,Sl),Zf&&Ma.setEdge(Zf,Jf,{weight:1})}return addBorderSegments_1}var coordinateSystem,hasRequiredCoordinateSystem;function requireCoordinateSystem(){if(hasRequiredCoordinateSystem)return coordinateSystem;hasRequiredCoordinateSystem=1;var ya=requireLodash();coordinateSystem={adjust:ma,undo:ba};function ma(Mc){var Ef=Mc.graph().rankdir.toLowerCase();(Ef==="lr"||Ef==="rl")&&va(Mc)}function ba(Mc){var Ef=Mc.graph().rankdir.toLowerCase();(Ef==="bt"||Ef==="rl")&&El(Mc),(Ef==="lr"||Ef==="rl")&&(Sl(Mc),va(Mc))}function va(Mc){ya.forEach(Mc.nodes(),function(Ef){Ma(Mc.node(Ef))}),ya.forEach(Mc.edges(),function(Ef){Ma(Mc.edge(Ef))})}function Ma(Mc){var Ef=Mc.width;Mc.width=Mc.height,Mc.height=Ef}function El(Mc){ya.forEach(Mc.nodes(),function(Ef){wl(Mc.node(Ef))}),ya.forEach(Mc.edges(),function(Ef){var Zf=Mc.edge(Ef);ya.forEach(Zf.points,wl),ya.has(Zf,"y")&&wl(Zf)})}function wl(Mc){Mc.y=-Mc.y}function Sl(Mc){ya.forEach(Mc.nodes(),function(Ef){Cl(Mc.node(Ef))}),ya.forEach(Mc.edges(),function(Ef){var Zf=Mc.edge(Ef);ya.forEach(Zf.points,Cl),ya.has(Zf,"x")&&Cl(Zf)})}function Cl(Mc){var Ef=Mc.x;Mc.x=Mc.y,Mc.y=Ef}return coordinateSystem}var initOrder_1,hasRequiredInitOrder;function requireInitOrder(){if(hasRequiredInitOrder)return initOrder_1;hasRequiredInitOrder=1;var ya=requireLodash();initOrder_1=ma;function ma(ba){var va={},Ma=ya.filter(ba.nodes(),function(Mc){return!ba.children(Mc).length}),El=ya.max(ya.map(Ma,function(Mc){return ba.node(Mc).rank})),wl=ya.map(ya.range(El+1),function(){return[]});function Sl(Mc){if(!ya.has(va,Mc)){va[Mc]=!0;var Ef=ba.node(Mc);wl[Ef.rank].push(Mc),ya.forEach(ba.successors(Mc),Sl)}}var Cl=ya.sortBy(Ma,function(Mc){return ba.node(Mc).rank});return ya.forEach(Cl,Sl),wl}return initOrder_1}var crossCount_1,hasRequiredCrossCount;function requireCrossCount(){if(hasRequiredCrossCount)return crossCount_1;hasRequiredCrossCount=1;var ya=requireLodash();crossCount_1=ma;function ma(va,Ma){for(var El=0,wl=1;wl<Ma.length;++wl)El+=ba(va,Ma[wl-1],Ma[wl]);return El}function ba(va,Ma,El){for(var wl=ya.zipObject(El,ya.map(El,function(Jf,dp){return dp})),Sl=ya.flatten(ya.map(Ma,function(Jf){return ya.sortBy(ya.map(va.outEdges(Jf),function(dp){return{pos:wl[dp.w],weight:va.edge(dp).weight}}),"pos")}),!0),Cl=1;Cl<El.length;)Cl<<=1;var Mc=2*Cl-1;Cl-=1;var Ef=ya.map(new Array(Mc),function(){return 0}),Zf=0;return ya.forEach(Sl.forEach(function(Jf){var dp=Jf.pos+Cl;Ef[dp]+=Jf.weight;for(var hp=0;dp>0;)dp%2&&(hp+=Ef[dp+1]),dp=dp-1>>1,Ef[dp]+=Jf.weight;Zf+=Jf.weight*hp})),Zf}return crossCount_1}var barycenter_1,hasRequiredBarycenter;function requireBarycenter(){if(hasRequiredBarycenter)return barycenter_1;hasRequiredBarycenter=1;var ya=requireLodash();barycenter_1=ma;function ma(ba,va){return ya.map(va,function(Ma){var El=ba.inEdges(Ma);if(El.length){var wl=ya.reduce(El,function(Sl,Cl){var Mc=ba.edge(Cl),Ef=ba.node(Cl.v);return{sum:Sl.sum+Mc.weight*Ef.order,weight:Sl.weight+Mc.weight}},{sum:0,weight:0});return{v:Ma,barycenter:wl.sum/wl.weight,weight:wl.weight}}else return{v:Ma}})}return barycenter_1}var resolveConflicts_1,hasRequiredResolveConflicts;function requireResolveConflicts(){if(hasRequiredResolveConflicts)return resolveConflicts_1;hasRequiredResolveConflicts=1;var ya=requireLodash();resolveConflicts_1=ma;function ma(Ma,El){var wl={};ya.forEach(Ma,function(Cl,Mc){var Ef=wl[Cl.v]={indegree:0,in:[],out:[],vs:[Cl.v],i:Mc};ya.isUndefined(Cl.barycenter)||(Ef.barycenter=Cl.barycenter,Ef.weight=Cl.weight)}),ya.forEach(El.edges(),function(Cl){var Mc=wl[Cl.v],Ef=wl[Cl.w];!ya.isUndefined(Mc)&&!ya.isUndefined(Ef)&&(Ef.indegree++,Mc.out.push(wl[Cl.w]))});var Sl=ya.filter(wl,function(Cl){return!Cl.indegree});return ba(Sl)}function ba(Ma){var El=[];function wl(Mc){return function(Ef){Ef.merged||(ya.isUndefined(Ef.barycenter)||ya.isUndefined(Mc.barycenter)||Ef.barycenter>=Mc.barycenter)&&va(Mc,Ef)}}function Sl(Mc){return function(Ef){Ef.in.push(Mc),--Ef.indegree===0&&Ma.push(Ef)}}for(;Ma.length;){var Cl=Ma.pop();El.push(Cl),ya.forEach(Cl.in.reverse(),wl(Cl)),ya.forEach(Cl.out,Sl(Cl))}return ya.map(ya.filter(El,function(Mc){return!Mc.merged}),function(Mc){return ya.pick(Mc,["vs","i","barycenter","weight"])})}function va(Ma,El){var wl=0,Sl=0;Ma.weight&&(wl+=Ma.barycenter*Ma.weight,Sl+=Ma.weight),El.weight&&(wl+=El.barycenter*El.weight,Sl+=El.weight),Ma.vs=El.vs.concat(Ma.vs),Ma.barycenter=wl/Sl,Ma.weight=Sl,Ma.i=Math.min(El.i,Ma.i),El.merged=!0}return resolveConflicts_1}var sort_1,hasRequiredSort;function requireSort(){if(hasRequiredSort)return sort_1;hasRequiredSort=1;var ya=requireLodash(),ma=requireUtil$1();sort_1=ba;function ba(El,wl){var Sl=ma.partition(El,function(dg){return ya.has(dg,"barycenter")}),Cl=Sl.lhs,Mc=ya.sortBy(Sl.rhs,function(dg){return-dg.i}),Ef=[],Zf=0,Jf=0,dp=0;Cl.sort(Ma(!!wl)),dp=va(Ef,Mc,dp),ya.forEach(Cl,function(dg){dp+=dg.vs.length,Ef.push(dg.vs),Zf+=dg.barycenter*dg.weight,Jf+=dg.weight,dp=va(Ef,Mc,dp)});var hp={vs:ya.flatten(Ef,!0)};return Jf&&(hp.barycenter=Zf/Jf,hp.weight=Jf),hp}function va(El,wl,Sl){for(var Cl;wl.length&&(Cl=ya.last(wl)).i<=Sl;)wl.pop(),El.push(Cl.vs),Sl++;return Sl}function Ma(El){return function(wl,Sl){return wl.barycenter<Sl.barycenter?-1:wl.barycenter>Sl.barycenter?1:El?Sl.i-wl.i:wl.i-Sl.i}}return sort_1}var sortSubgraph_1,hasRequiredSortSubgraph;function requireSortSubgraph(){if(hasRequiredSortSubgraph)return sortSubgraph_1;hasRequiredSortSubgraph=1;var ya=requireLodash(),ma=requireBarycenter(),ba=requireResolveConflicts(),va=requireSort();sortSubgraph_1=Ma;function Ma(Sl,Cl,Mc,Ef){var Zf=Sl.children(Cl),Jf=Sl.node(Cl),dp=Jf?Jf.borderLeft:void 0,hp=Jf?Jf.borderRight:void 0,dg={};dp&&(Zf=ya.filter(Zf,function(ly){return ly!==dp&&ly!==hp}));var pg=ma(Sl,Zf);ya.forEach(pg,function(ly){if(Sl.children(ly.v).length){var cy=Ma(Sl,ly.v,Mc,Ef);dg[ly.v]=cy,ya.has(cy,"barycenter")&&wl(ly,cy)}});var hg=ba(pg,Mc);El(hg,dg);var mg=va(hg,Ef);if(dp&&(mg.vs=ya.flatten([dp,mg.vs,hp],!0),Sl.predecessors(dp).length)){var gg=Sl.node(Sl.predecessors(dp)[0]),sy=Sl.node(Sl.predecessors(hp)[0]);ya.has(mg,"barycenter")||(mg.barycenter=0,mg.weight=0),mg.barycenter=(mg.barycenter*mg.weight+gg.order+sy.order)/(mg.weight+2),mg.weight+=2}return mg}function El(Sl,Cl){ya.forEach(Sl,function(Mc){Mc.vs=ya.flatten(Mc.vs.map(function(Ef){return Cl[Ef]?Cl[Ef].vs:Ef}),!0)})}function wl(Sl,Cl){ya.isUndefined(Sl.barycenter)?(Sl.barycenter=Cl.barycenter,Sl.weight=Cl.weight):(Sl.barycenter=(Sl.barycenter*Sl.weight+Cl.barycenter*Cl.weight)/(Sl.weight+Cl.weight),Sl.weight+=Cl.weight)}return sortSubgraph_1}var buildLayerGraph_1,hasRequiredBuildLayerGraph;function requireBuildLayerGraph(){if(hasRequiredBuildLayerGraph)return buildLayerGraph_1;hasRequiredBuildLayerGraph=1;var ya=requireLodash(),ma=requireGraphlib().Graph;buildLayerGraph_1=ba;function ba(Ma,El,wl){var Sl=va(Ma),Cl=new ma({compound:!0}).setGraph({root:Sl}).setDefaultNodeLabel(function(Mc){return Ma.node(Mc)});return ya.forEach(Ma.nodes(),function(Mc){var Ef=Ma.node(Mc),Zf=Ma.parent(Mc);(Ef.rank===El||Ef.minRank<=El&&El<=Ef.maxRank)&&(Cl.setNode(Mc),Cl.setParent(Mc,Zf||Sl),ya.forEach(Ma[wl](Mc),function(Jf){var dp=Jf.v===Mc?Jf.w:Jf.v,hp=Cl.edge(dp,Mc),dg=ya.isUndefined(hp)?0:hp.weight;Cl.setEdge(dp,Mc,{weight:Ma.edge(Jf).weight+dg})}),ya.has(Ef,"minRank")&&Cl.setNode(Mc,{borderLeft:Ef.borderLeft[El],borderRight:Ef.borderRight[El]}))}),Cl}function va(Ma){for(var El;Ma.hasNode(El=ya.uniqueId("_root")););return El}return buildLayerGraph_1}var addSubgraphConstraints_1,hasRequiredAddSubgraphConstraints;function requireAddSubgraphConstraints(){if(hasRequiredAddSubgraphConstraints)return addSubgraphConstraints_1;hasRequiredAddSubgraphConstraints=1;var ya=requireLodash();addSubgraphConstraints_1=ma;function ma(ba,va,Ma){var El={},wl;ya.forEach(Ma,function(Sl){for(var Cl=ba.parent(Sl),Mc,Ef;Cl;){if(Mc=ba.parent(Cl),Mc?(Ef=El[Mc],El[Mc]=Cl):(Ef=wl,wl=Cl),Ef&&Ef!==Cl){va.setEdge(Ef,Cl);return}Cl=Mc}})}return addSubgraphConstraints_1}var order_1,hasRequiredOrder;function requireOrder(){if(hasRequiredOrder)return order_1;hasRequiredOrder=1;var ya=requireLodash(),ma=requireInitOrder(),ba=requireCrossCount(),va=requireSortSubgraph(),Ma=requireBuildLayerGraph(),El=requireAddSubgraphConstraints(),wl=requireGraphlib().Graph,Sl=requireUtil$1();order_1=Cl;function Cl(Jf){var dp=Sl.maxRank(Jf),hp=Mc(Jf,ya.range(1,dp+1),"inEdges"),dg=Mc(Jf,ya.range(dp-1,-1,-1),"outEdges"),pg=ma(Jf);Zf(Jf,pg);for(var hg=Number.POSITIVE_INFINITY,mg,gg=0,sy=0;sy<4;++gg,++sy){Ef(gg%2?hp:dg,gg%4>=2),pg=Sl.buildLayerMatrix(Jf);var ly=ba(Jf,pg);ly<hg&&(sy=0,mg=ya.cloneDeep(pg),hg=ly)}Zf(Jf,mg)}function Mc(Jf,dp,hp){return ya.map(dp,function(dg){return Ma(Jf,dg,hp)})}function Ef(Jf,dp){var hp=new wl;ya.forEach(Jf,function(dg){var pg=dg.graph().root,hg=va(dg,pg,hp,dp);ya.forEach(hg.vs,function(mg,gg){dg.node(mg).order=gg}),El(dg,hp,hg.vs)})}function Zf(Jf,dp){ya.forEach(dp,function(hp){ya.forEach(hp,function(dg,pg){Jf.node(dg).order=pg})})}return order_1}var bk,hasRequiredBk;function requireBk(){if(hasRequiredBk)return bk;hasRequiredBk=1;var ya=requireLodash(),ma=requireGraphlib().Graph,ba=requireUtil$1();bk={positionX:hp,findType1Conflicts:va,findType2Conflicts:Ma,addConflict:wl,hasConflict:Sl,verticalAlignment:Cl,horizontalCompaction:Mc,alignCoordinates:Jf,findSmallestWidthAlignment:Zf,balance:dp};function va(hg,mg){var gg={};function sy(ly,cy){var uy=0,H1=0,lE=ly.length,R_=ya.last(cy);return ya.forEach(cy,function(V1,q1){var n0=El(hg,V1),aE=n0?hg.node(n0).order:lE;(n0||V1===R_)&&(ya.forEach(cy.slice(H1,q1+1),function(P_){ya.forEach(hg.predecessors(P_),function(O_){var sN=hg.node(O_),uN=sN.order;(uN<uy||aE<uN)&&!(sN.dummy&&hg.node(P_).dummy)&&wl(gg,O_,P_)})}),H1=q1+1,uy=aE)}),cy}return ya.reduce(mg,sy),gg}function Ma(hg,mg){var gg={};function sy(cy,uy,H1,lE,R_){var V1;ya.forEach(ya.range(uy,H1),function(q1){V1=cy[q1],hg.node(V1).dummy&&ya.forEach(hg.predecessors(V1),function(n0){var aE=hg.node(n0);aE.dummy&&(aE.order<lE||aE.order>R_)&&wl(gg,n0,V1)})})}function ly(cy,uy){var H1=-1,lE,R_=0;return ya.forEach(uy,function(V1,q1){if(hg.node(V1).dummy==="border"){var n0=hg.predecessors(V1);n0.length&&(lE=hg.node(n0[0]).order,sy(uy,R_,q1,H1,lE),R_=q1,H1=lE)}sy(uy,R_,uy.length,lE,cy.length)}),uy}return ya.reduce(mg,ly),gg}function El(hg,mg){if(hg.node(mg).dummy)return ya.find(hg.predecessors(mg),function(gg){return hg.node(gg).dummy})}function wl(hg,mg,gg){if(mg>gg){var sy=mg;mg=gg,gg=sy}var ly=hg[mg];ly||(hg[mg]=ly={}),ly[gg]=!0}function Sl(hg,mg,gg){if(mg>gg){var sy=mg;mg=gg,gg=sy}return ya.has(hg[mg],gg)}function Cl(hg,mg,gg,sy){var ly={},cy={},uy={};return ya.forEach(mg,function(H1){ya.forEach(H1,function(lE,R_){ly[lE]=lE,cy[lE]=lE,uy[lE]=R_})}),ya.forEach(mg,function(H1){var lE=-1;ya.forEach(H1,function(R_){var V1=sy(R_);if(V1.length){V1=ya.sortBy(V1,function(O_){return uy[O_]});for(var q1=(V1.length-1)/2,n0=Math.floor(q1),aE=Math.ceil(q1);n0<=aE;++n0){var P_=V1[n0];cy[R_]===R_&&lE<uy[P_]&&!Sl(gg,R_,P_)&&(cy[P_]=R_,cy[R_]=ly[R_]=ly[P_],lE=uy[P_])}}})}),{root:ly,align:cy}}function Mc(hg,mg,gg,sy,ly){var cy={},uy=Ef(hg,mg,gg,ly),H1=ly?"borderLeft":"borderRight";function lE(q1,n0){for(var aE=uy.nodes(),P_=aE.pop(),O_={};P_;)O_[P_]?q1(P_):(O_[P_]=!0,aE.push(P_),aE=aE.concat(n0(P_))),P_=aE.pop()}function R_(q1){cy[q1]=uy.inEdges(q1).reduce(function(n0,aE){return Math.max(n0,cy[aE.v]+uy.edge(aE))},0)}function V1(q1){var n0=uy.outEdges(q1).reduce(function(P_,O_){return Math.min(P_,cy[O_.w]-uy.edge(O_))},Number.POSITIVE_INFINITY),aE=hg.node(q1);n0!==Number.POSITIVE_INFINITY&&aE.borderType!==H1&&(cy[q1]=Math.max(cy[q1],n0))}return lE(R_,uy.predecessors.bind(uy)),lE(V1,uy.successors.bind(uy)),ya.forEach(sy,function(q1){cy[q1]=cy[gg[q1]]}),cy}function Ef(hg,mg,gg,sy){var ly=new ma,cy=hg.graph(),uy=dg(cy.nodesep,cy.edgesep,sy);return ya.forEach(mg,function(H1){var lE;ya.forEach(H1,function(R_){var V1=gg[R_];if(ly.setNode(V1),lE){var q1=gg[lE],n0=ly.edge(q1,V1);ly.setEdge(q1,V1,Math.max(uy(hg,R_,lE),n0||0))}lE=R_})}),ly}function Zf(hg,mg){return ya.minBy(ya.values(mg),function(gg){var sy=Number.NEGATIVE_INFINITY,ly=Number.POSITIVE_INFINITY;return ya.forIn(gg,function(cy,uy){var H1=pg(hg,uy)/2;sy=Math.max(cy+H1,sy),ly=Math.min(cy-H1,ly)}),sy-ly})}function Jf(hg,mg){var gg=ya.values(mg),sy=ya.min(gg),ly=ya.max(gg);ya.forEach(["u","d"],function(cy){ya.forEach(["l","r"],function(uy){var H1=cy+uy,lE=hg[H1],R_;if(lE!==mg){var V1=ya.values(lE);R_=uy==="l"?sy-ya.min(V1):ly-ya.max(V1),R_&&(hg[H1]=ya.mapValues(lE,function(q1){return q1+R_}))}})})}function dp(hg,mg){return ya.mapValues(hg.ul,function(gg,sy){if(mg)return hg[mg.toLowerCase()][sy];var ly=ya.sortBy(ya.map(hg,sy));return(ly[1]+ly[2])/2})}function hp(hg){var mg=ba.buildLayerMatrix(hg),gg=ya.merge(va(hg,mg),Ma(hg,mg)),sy={},ly;ya.forEach(["u","d"],function(uy){ly=uy==="u"?mg:ya.values(mg).reverse(),ya.forEach(["l","r"],function(H1){H1==="r"&&(ly=ya.map(ly,function(q1){return ya.values(q1).reverse()}));var lE=(uy==="u"?hg.predecessors:hg.successors).bind(hg),R_=Cl(hg,ly,gg,lE),V1=Mc(hg,ly,R_.root,R_.align,H1==="r");H1==="r"&&(V1=ya.mapValues(V1,function(q1){return-q1})),sy[uy+H1]=V1})});var cy=Zf(hg,sy);return Jf(sy,cy),dp(sy,hg.graph().align)}function dg(hg,mg,gg){return function(sy,ly,cy){var uy=sy.node(ly),H1=sy.node(cy),lE=0,R_;if(lE+=uy.width/2,ya.has(uy,"labelpos"))switch(uy.labelpos.toLowerCase()){case"l":R_=-uy.width/2;break;case"r":R_=uy.width/2;break}if(R_&&(lE+=gg?R_:-R_),R_=0,lE+=(uy.dummy?mg:hg)/2,lE+=(H1.dummy?mg:hg)/2,lE+=H1.width/2,ya.has(H1,"labelpos"))switch(H1.labelpos.toLowerCase()){case"l":R_=H1.width/2;break;case"r":R_=-H1.width/2;break}return R_&&(lE+=gg?R_:-R_),R_=0,lE}}function pg(hg,mg){return hg.node(mg).width}return bk}var position_1,hasRequiredPosition;function requirePosition(){if(hasRequiredPosition)return position_1;hasRequiredPosition=1;var ya=requireLodash(),ma=requireUtil$1(),ba=requireBk().positionX;position_1=va;function va(El){El=ma.asNonCompoundGraph(El),Ma(El),ya.forEach(ba(El),function(wl,Sl){El.node(Sl).x=wl})}function Ma(El){var wl=ma.buildLayerMatrix(El),Sl=El.graph().ranksep,Cl=0;ya.forEach(wl,function(Mc){var Ef=ya.max(ya.map(Mc,function(Zf){return El.node(Zf).height}));ya.forEach(Mc,function(Zf){El.node(Zf).y=Cl+Ef/2}),Cl+=Ef+Sl})}return position_1}var layout_1,hasRequiredLayout;function requireLayout(){if(hasRequiredLayout)return layout_1;hasRequiredLayout=1;var ya=requireLodash(),ma=requireAcyclic(),ba=requireNormalize(),va=requireRank(),Ma=requireUtil$1().normalizeRanks,El=requireParentDummyChains(),wl=requireUtil$1().removeEmptyRanks,Sl=requireNestingGraph(),Cl=requireAddBorderSegments(),Mc=requireCoordinateSystem(),Ef=requireOrder(),Zf=requirePosition(),Jf=requireUtil$1(),dp=requireGraphlib().Graph;layout_1=hp;function hp(_Q,Cpe){var Tpe=Cpe&&Cpe.debugTiming?Jf.time:Jf.notime;Tpe("layout",function(){var opt=Tpe(" buildLayoutGraph",function(){return lE(_Q)});Tpe(" runLayout",function(){dg(opt,Tpe)}),Tpe(" updateInputGraph",function(){pg(_Q,opt)})})}function dg(_Q,Cpe){Cpe(" makeSpaceForEdgeLabels",function(){R_(_Q)}),Cpe(" removeSelfEdges",function(){lN(_Q)}),Cpe(" acyclic",function(){ma.run(_Q)}),Cpe(" nestingGraph.run",function(){Sl.run(_Q)}),Cpe(" rank",function(){va(Jf.asNonCompoundGraph(_Q))}),Cpe(" injectEdgeLabelProxies",function(){V1(_Q)}),Cpe(" removeEmptyRanks",function(){wl(_Q)}),Cpe(" nestingGraph.cleanup",function(){Sl.cleanup(_Q)}),Cpe(" normalizeRanks",function(){Ma(_Q)}),Cpe(" assignRankMinMax",function(){q1(_Q)}),Cpe(" removeEdgeLabelProxies",function(){n0(_Q)}),Cpe(" normalize.run",function(){ba.run(_Q)}),Cpe(" parentDummyChains",function(){El(_Q)}),Cpe(" addBorderSegments",function(){Cl(_Q)}),Cpe(" order",function(){Ef(_Q)}),Cpe(" insertSelfEdges",function(){_F(_Q)}),Cpe(" adjustCoordinateSystem",function(){Mc.adjust(_Q)}),Cpe(" position",function(){Zf(_Q)}),Cpe(" positionSelfEdges",function(){eee(_Q)}),Cpe(" removeBorderNodes",function(){uN(_Q)}),Cpe(" normalize.undo",function(){ba.undo(_Q)}),Cpe(" fixupEdgeLabelCoords",function(){O_(_Q)}),Cpe(" undoCoordinateSystem",function(){Mc.undo(_Q)}),Cpe(" translateGraph",function(){aE(_Q)}),Cpe(" assignNodeIntersects",function(){P_(_Q)}),Cpe(" reversePoints",function(){sN(_Q)}),Cpe(" acyclic.undo",function(){ma.undo(_Q)})}function pg(_Q,Cpe){ya.forEach(_Q.nodes(),function(Tpe){var opt=_Q.node(Tpe),Kpt=Cpe.node(Tpe);opt&&(opt.x=Kpt.x,opt.y=Kpt.y,Cpe.children(Tpe).length&&(opt.width=Kpt.width,opt.height=Kpt.height))}),ya.forEach(_Q.edges(),function(Tpe){var opt=_Q.edge(Tpe),Kpt=Cpe.edge(Tpe);opt.points=Kpt.points,ya.has(Kpt,"x")&&(opt.x=Kpt.x,opt.y=Kpt.y)}),_Q.graph().width=Cpe.graph().width,_Q.graph().height=Cpe.graph().height}var hg=["nodesep","edgesep","ranksep","marginx","marginy"],mg={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},gg=["acyclicer","ranker","rankdir","align"],sy=["width","height"],ly={width:0,height:0},cy=["minlen","weight","width","height","labeloffset"],uy={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},H1=["labelpos"];function lE(_Q){var Cpe=new dp({multigraph:!0,compound:!0}),Tpe=_pe(_Q.graph());return Cpe.setGraph(ya.merge({},mg,JY(Tpe,hg),ya.pick(Tpe,gg))),ya.forEach(_Q.nodes(),function(opt){var Kpt=_pe(_Q.node(opt));Cpe.setNode(opt,ya.defaults(JY(Kpt,sy),ly)),Cpe.setParent(opt,_Q.parent(opt))}),ya.forEach(_Q.edges(),function(opt){var Kpt=_pe(_Q.edge(opt));Cpe.setEdge(opt,ya.merge({},uy,JY(Kpt,cy),ya.pick(Kpt,H1)))}),Cpe}function R_(_Q){var Cpe=_Q.graph();Cpe.ranksep/=2,ya.forEach(_Q.edges(),function(Tpe){var opt=_Q.edge(Tpe);opt.minlen*=2,opt.labelpos.toLowerCase()!=="c"&&(Cpe.rankdir==="TB"||Cpe.rankdir==="BT"?opt.width+=opt.labeloffset:opt.height+=opt.labeloffset)})}function V1(_Q){ya.forEach(_Q.edges(),function(Cpe){var Tpe=_Q.edge(Cpe);if(Tpe.width&&Tpe.height){var opt=_Q.node(Cpe.v),Kpt=_Q.node(Cpe.w),Eht={rank:(Kpt.rank-opt.rank)/2+opt.rank,e:Cpe};Jf.addDummyNode(_Q,"edge-proxy",Eht,"_ep")}})}function q1(_Q){var Cpe=0;ya.forEach(_Q.nodes(),function(Tpe){var opt=_Q.node(Tpe);opt.borderTop&&(opt.minRank=_Q.node(opt.borderTop).rank,opt.maxRank=_Q.node(opt.borderBottom).rank,Cpe=ya.max(Cpe,opt.maxRank))}),_Q.graph().maxRank=Cpe}function n0(_Q){ya.forEach(_Q.nodes(),function(Cpe){var Tpe=_Q.node(Cpe);Tpe.dummy==="edge-proxy"&&(_Q.edge(Tpe.e).labelRank=Tpe.rank,_Q.removeNode(Cpe))})}function aE(_Q){var Cpe=Number.POSITIVE_INFINITY,Tpe=0,opt=Number.POSITIVE_INFINITY,Kpt=0,Eht=_Q.graph(),Jpt=Eht.marginx||0,kpe=Eht.marginy||0;function Mpe(_ht){var Wpt=_ht.x,rmt=_ht.y,dmt=_ht.width,Aht=_ht.height;Cpe=Math.min(Cpe,Wpt-dmt/2),Tpe=Math.max(Tpe,Wpt+dmt/2),opt=Math.min(opt,rmt-Aht/2),Kpt=Math.max(Kpt,rmt+Aht/2)}ya.forEach(_Q.nodes(),function(_ht){Mpe(_Q.node(_ht))}),ya.forEach(_Q.edges(),function(_ht){var Wpt=_Q.edge(_ht);ya.has(Wpt,"x")&&Mpe(Wpt)}),Cpe-=Jpt,opt-=kpe,ya.forEach(_Q.nodes(),function(_ht){var Wpt=_Q.node(_ht);Wpt.x-=Cpe,Wpt.y-=opt}),ya.forEach(_Q.edges(),function(_ht){var Wpt=_Q.edge(_ht);ya.forEach(Wpt.points,function(rmt){rmt.x-=Cpe,rmt.y-=opt}),ya.has(Wpt,"x")&&(Wpt.x-=Cpe),ya.has(Wpt,"y")&&(Wpt.y-=opt)}),Eht.width=Tpe-Cpe+Jpt,Eht.height=Kpt-opt+kpe}function P_(_Q){ya.forEach(_Q.edges(),function(Cpe){var Tpe=_Q.edge(Cpe),opt=_Q.node(Cpe.v),Kpt=_Q.node(Cpe.w),Eht,Jpt;Tpe.points?(Eht=Tpe.points[0],Jpt=Tpe.points[Tpe.points.length-1]):(Tpe.points=[],Eht=Kpt,Jpt=opt),Tpe.points.unshift(Jf.intersectRect(opt,Eht)),Tpe.points.push(Jf.intersectRect(Kpt,Jpt))})}function O_(_Q){ya.forEach(_Q.edges(),function(Cpe){var Tpe=_Q.edge(Cpe);if(ya.has(Tpe,"x"))switch((Tpe.labelpos==="l"||Tpe.labelpos==="r")&&(Tpe.width-=Tpe.labeloffset),Tpe.labelpos){case"l":Tpe.x-=Tpe.width/2+Tpe.labeloffset;break;case"r":Tpe.x+=Tpe.width/2+Tpe.labeloffset;break}})}function sN(_Q){ya.forEach(_Q.edges(),function(Cpe){var Tpe=_Q.edge(Cpe);Tpe.reversed&&Tpe.points.reverse()})}function uN(_Q){ya.forEach(_Q.nodes(),function(Cpe){if(_Q.children(Cpe).length){var Tpe=_Q.node(Cpe),opt=_Q.node(Tpe.borderTop),Kpt=_Q.node(Tpe.borderBottom),Eht=_Q.node(ya.last(Tpe.borderLeft)),Jpt=_Q.node(ya.last(Tpe.borderRight));Tpe.width=Math.abs(Jpt.x-Eht.x),Tpe.height=Math.abs(Kpt.y-opt.y),Tpe.x=Eht.x+Tpe.width/2,Tpe.y=opt.y+Tpe.height/2}}),ya.forEach(_Q.nodes(),function(Cpe){_Q.node(Cpe).dummy==="border"&&_Q.removeNode(Cpe)})}function lN(_Q){ya.forEach(_Q.edges(),function(Cpe){if(Cpe.v===Cpe.w){var Tpe=_Q.node(Cpe.v);Tpe.selfEdges||(Tpe.selfEdges=[]),Tpe.selfEdges.push({e:Cpe,label:_Q.edge(Cpe)}),_Q.removeEdge(Cpe)}})}function _F(_Q){var Cpe=Jf.buildLayerMatrix(_Q);ya.forEach(Cpe,function(Tpe){var opt=0;ya.forEach(Tpe,function(Kpt,Eht){var Jpt=_Q.node(Kpt);Jpt.order=Eht+opt,ya.forEach(Jpt.selfEdges,function(kpe){Jf.addDummyNode(_Q,"selfedge",{width:kpe.label.width,height:kpe.label.height,rank:Jpt.rank,order:Eht+ ++opt,e:kpe.e,label:kpe.label},"_se")}),delete Jpt.selfEdges})})}function eee(_Q){ya.forEach(_Q.nodes(),function(Cpe){var Tpe=_Q.node(Cpe);if(Tpe.dummy==="selfedge"){var opt=_Q.node(Tpe.e.v),Kpt=opt.x+opt.width/2,Eht=opt.y,Jpt=Tpe.x-Kpt,kpe=opt.height/2;_Q.setEdge(Tpe.e,Tpe.label),_Q.removeNode(Cpe),Tpe.label.points=[{x:Kpt+2*Jpt/3,y:Eht-kpe},{x:Kpt+5*Jpt/6,y:Eht-kpe},{x:Kpt+Jpt,y:Eht},{x:Kpt+5*Jpt/6,y:Eht+kpe},{x:Kpt+2*Jpt/3,y:Eht+kpe}],Tpe.label.x=Tpe.x,Tpe.label.y=Tpe.y}})}function JY(_Q,Cpe){return ya.mapValues(ya.pick(_Q,Cpe),Number)}function _pe(_Q){var Cpe={};return ya.forEach(_Q,function(Tpe,opt){Cpe[opt.toLowerCase()]=Tpe}),Cpe}return layout_1}var debug,hasRequiredDebug;function requireDebug(){if(hasRequiredDebug)return debug;hasRequiredDebug=1;var ya=requireLodash(),ma=requireUtil$1(),ba=requireGraphlib().Graph;debug={debugOrdering:va};function va(Ma){var El=ma.buildLayerMatrix(Ma),wl=new ba({compound:!0,multigraph:!0}).setGraph({});return ya.forEach(Ma.nodes(),function(Sl){wl.setNode(Sl,{label:Sl}),wl.setParent(Sl,"layer"+Ma.node(Sl).rank)}),ya.forEach(Ma.edges(),function(Sl){wl.setEdge(Sl.v,Sl.w,{},Sl.name)}),ya.forEach(El,function(Sl,Cl){var Mc="layer"+Cl;wl.setNode(Mc,{rank:"same"}),ya.reduce(Sl,function(Ef,Zf){return wl.setEdge(Ef,Zf,{style:"invis"}),Zf})}),wl}return debug}var version,hasRequiredVersion;function requireVersion(){return hasRequiredVersion||(hasRequiredVersion=1,version="0.8.5"),version}var dagre$1,hasRequiredDagre;function requireDagre(){return hasRequiredDagre||(hasRequiredDagre=1,dagre$1={graphlib:requireGraphlib(),layout:requireLayout(),debug:requireDebug(),util:{time:requireUtil$1().time,notime:requireUtil$1().notime},version:requireVersion()}),dagre$1}var dagreExports=requireDagre();const dagre=getDefaultExportFromCjs(dagreExports);function dagreLayout(ya,ma,ba="TB",va=600,Ma=200){const El=new dagre.graphlib.Graph;El.setDefaultEdgeLabel(()=>({})),El.setGraph({rankdir:ba,nodesep:va,ranksep:Ma});for(const Cl of ya){const Mc=Cl.width,Ef=Cl.height;El.setNode(Cl.id,{width:Mc,height:Ef})}for(const Cl of ma)El.setEdge(Cl.source,Cl.target);dagre.layout(El);const wl=ya.map(Cl=>{const Mc=El.node(Cl.id),Ef=Cl.width,Zf=Cl.height,Jf=Mc.x-Ef/2,dp=Mc.y-Zf/2;return{...Cl,position:{x:Jf,y:dp}}}),Sl=wl.filter(Cl=>Cl.type==="event");if(Sl.length>1){const Cl=Math.min(...Sl.map(Mc=>Mc.position.y));wl.forEach(Mc=>{Mc.type==="event"&&(Mc.position.y=Cl)})}return{nodes:wl,edges:ma}}const DEFAULT_WIDTH=300,DEFAULT_HEIGHT=109,useGraphData$1=()=>{const{moduleName:ya}=useParams(),{getNode:ma}=useReactFlow();return{getGraphData:(va,Ma,El)=>{const wl=El?.includeRecords!==!1,Sl=new Map,Cl=new Set,Mc=[],Ef=[],Zf=(dg,pg)=>{const hg=ma(dg);if(!Sl.has(dg)){const gg=nameToPath$1(dg).getModuleName()===ya,sy={id:dg,type:pg,position:{x:0,y:0},height:hg?.height??DEFAULT_HEIGHT,width:hg?.width??DEFAULT_WIDTH,data:{label:dg},selectable:gg};Sl.set(dg,sy),Mc.push(sy)}},Jf=(dg,pg)=>{const hg=`${dg}-${pg}`;Cl.has(hg)||(Cl.add(hg),Ef.push({id:hg,source:dg,target:pg,style:{stroke:"#E58A1E"}}))};va&&va.walk(dg=>Zf(dg,"entity"),(dg,pg,hg)=>{const mg=hg.getFqName();Zf(mg,"relationship"),Jf(dg,mg),Jf(mg,pg)},()=>{});const dp=wl?Ma.getRecordNames().map(dg=>{const pg=`${Ma.name}/${dg}`,hg=ma(pg);return{id:pg,type:"record",position:{x:0,y:0},height:hg?.height??DEFAULT_HEIGHT,width:hg?.width??DEFAULT_WIDTH,data:{label:dg}}}):[],hp=dagreLayout([...Mc,...dp],Ef);return va&&va.walk(()=>{},()=>{},(dg,pg,hg)=>{const mg=hg.getFqName();if(hp.nodes.find(H1=>H1.id===mg))return;const gg=hp.nodes.find(H1=>H1.id===dg),sy=hp.nodes.find(H1=>H1.id===pg);if(!gg||!sy)return;const ly=(gg.position.x+sy.position.x)/2,cy=(gg.position.y+sy.position.y)/2,uy={id:mg,type:"relationship",width:DEFAULT_WIDTH,height:DEFAULT_HEIGHT,position:{x:ly,y:cy},data:{label:mg}};hp.nodes.push(uy),Jf(dg,mg),Jf(mg,pg)}),{nodes:hp.nodes,edges:Array.from(Cl).map(dg=>{const pg=Ef.find(hg=>hg.id===dg);if(!pg)throw new Error(`Edge not found: ${dg}`);return pg})}}}},DataModel=()=>{const{getGraphData:ya}=useGraphData$1(),[ma,ba]=reactExports.useState(""),va=useAppStore(sy=>sy.moduleDbChangeCount),Ma=useAppStore(sy=>sy.selectedEntity),El=useAppStore(sy=>sy.setSelectedEntity),{moduleName:wl}=useParams(),Cl=useLocation()?.state?.focusEntityId,{zoomHandler:Mc}=useZoomHandler(),Ef=useAppStore(sy=>sy.currentFocusedNode),Zf=useAppStore(sy=>sy.pushFocusedNode),[Jf,dp,hp]=useNodesState([]),[dg,pg,hg]=useEdgesState([]),mg={x:100,y:50,zoom:.6};reactExports.useEffect(()=>{if(Cl&&Jf.length>0){const sy=Jf.find(ly=>ly.id===Cl);if(sy){const cy=useAppStore.getState().currentFocusedNode;(!cy||cy===INITIAL_VIEWPORT_NODE_ID)&&Zf(INITIAL_VIEWPORT_NODE_ID),Mc(sy.id)}}},[Cl,Jf,Mc,Zf]),reactExports.useEffect(()=>{Ef===null&&Ma&&El(null)},[Ef,Ma,El]);const gg=reactExports.useCallback(sy=>{hp(sy),sy.forEach(ly=>{if(ly.type==="select"&&ly.selected){const cy=Jf.find(uy=>uy.id===ly.id);if(cy){El({name:cy.id,type:cy.type||"entity"});const H1=useAppStore.getState().currentFocusedNode;(!H1||H1===INITIAL_VIEWPORT_NODE_ID)&&Zf(INITIAL_VIEWPORT_NODE_ID),Mc(cy.id)}}else ly.type==="select"&&!ly.selected&&El(null)})},[Jf,hp,Mc,Zf,El]);return reactExports.useEffect(()=>{const sy=()=>{try{if(!wl||!isModule$1(wl))return{nodes:[],edges:[]};const cy=fetchModule$2(wl),uy=buildGraph(cy.name);return ya(uy,cy)}catch(cy){return console.error("Failed to fetch module:",cy),{nodes:[],edges:[]}}},ly=sy();dp(ly.nodes),pg(ly.edges),setTimeout(()=>{const cy=sy();dp(cy.nodes),pg(cy.edges)},1)},[va,wl]),jsxRuntimeExports.jsxs("div",{className:"relative w-full h-full",children:[ma&&jsxRuntimeExports.jsx(CanvasModal,{modal:ma,setModal:ba}),jsxRuntimeExports.jsx(CanvasWithContextMenu,{ContextMenuComponent:({menu:sy,closeHandler:ly})=>jsxRuntimeExports.jsx(DataModelMenu,{menu:sy,setModal:ba,closeHandler:ly}),nodes:Jf,edges:dg,onNodesChange:gg,onEdgesChange:hg,defaultViewport:mg})]})},useGraphData=()=>{const{getNode:ya}=useReactFlow();return{getGraphData:ba=>{const va=[],Ma=[],El=ba.getAgentNames();return ba.getEventNames().filter(wl=>!El.includes(wl)).forEach(wl=>{const Sl=ya(wl);va.push({id:wl,type:"event",position:{x:0,y:0},height:Sl?.height??109,width:Sl?.width??300,data:{label:wl}});try{const Cl=ba.getWorkflowForEvent(wl);if(!Cl)return;va.push({id:Cl?.name,type:"workflow",position:{x:0,y:0},height:Sl?.height??109,width:Sl?.width??300,data:{label:wl}}),Ma.push({id:`${wl}-${Cl.name}`,source:wl,target:Cl.name,style:{stroke:"#FFFFFF99"}})}catch(Cl){console.error(Cl)}}),dagreLayout(va,Ma)}}},Workflow=()=>{const{getGraphData:ya}=useGraphData(),ma=useAppStore(pg=>pg.moduleDbChangeCount),ba=useAppStore(pg=>pg.setSelectedWorkflow),{moduleName:va}=useParams(),El=useLocation()?.state?.focusEventId,{zoomHandler:wl}=useZoomHandler(),[Sl,Cl,Mc]=useNodesState([]),[Ef,Zf,Jf]=useEdgesState([]);reactExports.useEffect(()=>{if(El&&Sl.length>0){const pg=Sl.find(hg=>hg.type==="event"&&hg.data?.label===El);pg&&wl(pg.id)}},[El,Sl,wl]);const dp=reactExports.useCallback(pg=>{const hg=[...pg];pg.forEach(mg=>{if(mg.type==="select"){const gg=mg.id,sy=Sl.find(cy=>cy.id===gg);if(!sy)return;mg.selected&&(sy.type==="workflow"||sy.type==="event")?ba(gg):mg.selected||ba(null);let ly;if(sy.type==="workflow"){const cy=Ef.find(uy=>uy.target===gg);cy&&(ly=cy.source)}else if(sy.type==="event"){const cy=Ef.find(uy=>uy.source===gg);cy&&(ly=cy.target)}ly&&(hg.some(uy=>uy.type==="select"&&uy.id===ly&&"selected"in uy&&uy.selected===mg.selected)||hg.push({type:"select",id:ly,selected:mg.selected}))}}),Mc(hg)},[Sl,Ef,Mc,ba]);reactExports.useEffect(()=>{const pg=()=>{try{if(!va||!isModule$1(va))return{nodes:[],edges:[]};const mg=fetchModule$2(va);return ya(mg)}catch(mg){return console.error("Failed to fetch module:",mg),{nodes:[],edges:[]}}},hg=pg();Cl(hg.nodes),Zf(hg.edges),setTimeout(()=>{const mg=pg();Cl(mg.nodes),Zf(mg.edges)},1)},[va,ma]);const[hp,dg]=reactExports.useState("");return jsxRuntimeExports.jsxs("div",{className:"relative w-full h-full",children:[hp&&jsxRuntimeExports.jsx(CanvasModal,{modal:hp,setModal:dg}),jsxRuntimeExports.jsx(CanvasWithContextMenu,{ContextMenuComponent:({menu:pg,closeHandler:hg})=>jsxRuntimeExports.jsx(WorkflowMenu,{menu:pg,setModal:dg,closeHandler:hg}),nodes:Sl,edges:Ef,onNodesChange:dp,onEdgesChange:Jf,defaultViewport:{x:100,y:50,zoom:.6},type:"workflow"})]})},convertString=ya=>ya.toLowerCase().replace(/\s+/g,"-"),RoleList=({option:ya,deleteRoleHandler:ma})=>{const{label:ba,value:va}=ya;return jsxRuntimeExports.jsx(It,{value:va,id:convertString(va),className:({focus:Ma})=>`option ${Ma?"bg-hover text-primary-font":""}`,children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between w-full",children:[jsxRuntimeExports.jsx("span",{children:ba}),va!=="Create Role"&&va!=="*"&&va!=="admin"&&jsxRuntimeExports.jsx("div",{className:"z-[999] trash p-1",id:`${convertString(va)}-delete`,onClick:Ma=>{Ma.stopPropagation(),ma()},children:jsxRuntimeExports.jsx(Icon,{icon:"ph:x",className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon"})})]})})},SecurityDropdown=({label:ya,value:ma,options:ba,placeholder:va,onChange:Ma,onDeleteRole:El})=>jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2 grow h-fit w-full",children:jsxRuntimeExports.jsx(Mo,{className:"relative grow",as:"div",value:ma,onChange:Ma,children:({open:wl})=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Mt$1,{className:"dropdown-button",children:[jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("p",{className:`${ya?"floating-input":"text-gray-500"} line-clamp-1`,children:ya||va}),ma&&jsxRuntimeExports.jsx("label",{htmlFor:"floating-input",className:"floating-label",children:va})]}),jsxRuntimeExports.jsx(Icon,{icon:"ph:caret-down-bold"})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:wl&&jsxRuntimeExports.jsx(Bt,{static:!0,as:motion.div,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},anchor:"bottom",className:"dropdown-options",children:ba.map(Sl=>jsxRuntimeExports.jsx(RoleList,{option:Sl,deleteRoleHandler:()=>El(Sl.value)},Sl.value))})})]})})});function useTimeoutFn(ya,ma){var ba=reactExports.useRef(!1),va=reactExports.useRef(),Ma=reactExports.useRef(ya),El=reactExports.useCallback(function(){return ba.current},[]),wl=reactExports.useCallback(function(){ba.current=!1,va.current&&clearTimeout(va.current),va.current=setTimeout(function(){ba.current=!0,Ma.current()},ma)},[ma]),Sl=reactExports.useCallback(function(){ba.current=null,va.current&&clearTimeout(va.current)},[]);return reactExports.useEffect(function(){Ma.current=ya},[ya]),reactExports.useEffect(function(){return wl(),Sl},[ma]),[El,Sl,wl]}function useDebounce(ya,ma,ba){ba===void 0&&(ba=[]);var va=useTimeoutFn(ya,ma),Ma=va[0],El=va[1],wl=va[2];return reactExports.useEffect(wl,ba),[Ma,El]}var useEffectOnce=function(ya){reactExports.useEffect(ya,[])};const RoleSelect=()=>{const{moduleName:ya}=useParams(),[ma,ba]=reactExports.useState(!1),va=useAppStore(dg=>dg.selectedRole),Ma=useAppStore(dg=>dg.appConfig),El=useAppStore(dg=>dg.setSelectedRole),{deleteRole:wl}=useRbac();useEffectOnce(()=>{va||El("*")});const Sl=Ma.rbac?.roles||[],Cl=[{label:"All",value:"*"},{label:"Admin",value:"admin"},...Sl.map(dg=>({label:dg,value:dg})),{label:"Create Role",value:"Create Role"}],Mc=dg=>{dg==="Create Role"?ba(!0):El(dg)},Ef=dg=>{wl(dg)},Jf=getEntities(ya||"").map(dg=>{const hg=getEntity$1(dg,ya||"")?.getRbacSpecifications();if(hg){const mg=hg.find(gg=>gg.roles.has(va));return mg?{hasCreate:mg.hasCreatePermission(),hasRead:mg.hasReadPermission(),hasUpdate:mg.hasUpdatePermission(),hasDelete:mg.hasDeletePermission()}:{hasCreate:!1,hasRead:!1,hasUpdate:!1,hasDelete:!1}}return{hasCreate:!1,hasRead:!1,hasUpdate:!1,hasDelete:!1}}).filter(dg=>dg!==null),dp=dg=>Jf.every(pg=>pg[dg]),hp={create:dp("hasCreate"),read:dp("hasRead"),update:dp("hasUpdate"),delete:dp("hasDelete")};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[ma&&reactDomExports.createPortal(jsxRuntimeExports.jsx(AddRole,{closeHandler:()=>ba(!1)}),document.body),jsxRuntimeExports.jsxs("div",{className:"bg-primary rounded-xl shadow-lg p-4 flex flex-col items-center gap-2.5 absolute top-2 z-999 left-1/2 -translate-x-1/2 w-1/6",children:[jsxRuntimeExports.jsx(SecurityDropdown,{label:Cl.find(dg=>dg.value===va)?.label||"",value:va,options:Cl,placeholder:"Select Role",onChange:Mc,onDeleteRole:Ef}),va&&jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(RbacComponent,{permission:hp})})]})]})},Security=()=>{const{getGraphData:ya}=useGraphData$1(),ma=useAppStore(Mc=>Mc.moduleDbChangeCount),{moduleName:ba}=useParams(),[va,Ma,El]=useNodesState([]),[wl,Sl,Cl]=useEdgesState([]);return reactExports.useEffect(()=>{const Mc=()=>{try{if(!ba||!isModule$1(ba))return{nodes:[],edges:[]};const Zf=fetchModule$2(ba||""),Jf=buildGraph(Zf.name);return ya(Jf,Zf,{includeRecords:!1})}catch(Zf){return console.error("Failed to fetch module:",Zf),{nodes:[],edges:[]}}},Ef=Mc();Ma(Ef.nodes),Sl(Ef.edges),setTimeout(()=>{const Zf=Mc();Ma(Zf.nodes),Sl(Zf.edges)},1)},[ma,ba]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(RoleSelect,{}),jsxRuntimeExports.jsx(CanvasWithContextMenu,{nodes:va,edges:wl,onNodesChange:El,onEdgesChange:Cl,defaultViewport:{x:100,y:120,zoom:.6}})]})},configurationSchema={service:{port:8080},store:{type:"sqlite",host:"localhost",username:"",password:"",dbname:"",port:5432},rbac:{enabled:!1},auth:{enabled:!1},auditTrail:{enabled:!0},monitoring:{enabled:!0}},tabs=[{name:"General",icon:"mdi:cog",key:"general"},{name:"LLM",icon:"hugeicons:ai-brain-05",key:"llm"},{name:"Integrations",icon:"mdi:connection",key:"integrations"},{name:"Store",icon:"mdi:database",key:"store"}],GeneralTabContent=()=>{const{currentTeam:ya}=useTeams(),ma=ya?.GitHubRepo,ba=useAppStore(sy=>sy.incrementModuleDbChangeCount),{values:va,setFieldValue:Ma,submitForm:El}=useFormikContext(),[wl,Sl]=reactExports.useState(""),[Cl,Mc]=reactExports.useState(!0),Ef=useAppStore(sy=>sy.user),Zf=Ef.GitHub.Token,Jf=Ef.GitHub.Username,dp=reactExports.useRef(!0),{saveAppConfig:hp}=useAppConfig(),dg=useAppStore(sy=>sy.appConfig),pg=reactExports.useMemo(()=>{const sy=getTeamModules(ma),ly=[];return sy.forEach(cy=>{getEntities(cy).forEach(H1=>{ly.push({label:`${cy}/${H1}`,value:`${cy}/${H1}`})})}),ly},[ma]),hg=reactExports.useCallback(async sy=>{if(ma)try{const ly=await readPackageJsonFromGit(ma);ly.agentlang||(ly.agentlang={});const cy=JSON.stringify(ly,null,2);sy.length>0?ly.agentlang.config=sy:(delete ly.agentlang.config,Object.keys(ly.agentlang).length===0&&delete ly.agentlang);const uy=JSON.stringify(ly,null,2);if(cy===uy)return;await savePackageJsonToGit(ma,uy,"Update config entities from app configuration",Jf,Zf)}finally{ba()}},[ma,Jf,Zf,ba]);reactExports.useEffect(()=>{(async()=>{if(Mc(!0),ma)try{const ly=await readPackageJsonFromGit(ma);if(Sl(ly?.icon||icons.agent),ly?.agentlang?.config&&Array.isArray(ly.agentlang.config)){const cy=ly.agentlang.config;Ma("configEntities",cy)}}catch(ly){console.error("Failed to fetch icon and entity:",ly)}finally{Mc(!1)}else Mc(!1)})()},[ma,Ma]),reactExports.useEffect(()=>{if(dp.current){dp.current=!1;return}hg(va.configEntities)},[va.configEntities,hg]);const mg=async sy=>{if(Sl(sy),ma)try{const ly=await readPackageJsonFromGit(ma);ly.icon=sy,await savePackageJsonToGit(ma,JSON.stringify(ly,null,2),"Update icon from app configuration",Jf,Zf)}finally{ba()}},gg=async(sy,ly)=>{Ma(sy,ly),await El()};return jsxRuntimeExports.jsxs("div",{className:"space-y-6",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:image",width:16,height:16,className:"text-blue-400"}),"App Icon"]}),jsxRuntimeExports.jsx(MO,{icon:wl,onIconChange:mg,children:jsxRuntimeExports.jsxs("button",{type:"button",className:"w-full flex items-center justify-center gap-2 px-3 py-2.5 bg-secondary border border-transparent focus:outline-none focus:border-[rgba(255,255,255,0.4)] rounded-md text-font cursor-pointer hover:border-white/20 transition-all",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2 ",children:jsxRuntimeExports.jsx(Icon,{icon:wl||icons.agent,width:20,height:20})}),jsxRuntimeExports.jsx(Icon,{icon:"mdi:chevron-down",width:16,height:16,className:"text-gray-400"})]})})]}),jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:network-port",width:16,height:16,className:"text-blue-400"}),"Port"]}),jsxRuntimeExports.jsx(Kht,{name:"service.port",type:"number",placeholder:"Enter Port",isFloating:!1})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsx(Checkbox,{isSelected:va.rbac.enabled,label:" Role-Based Access Control (RBAC)",onClick:()=>gg("rbac.enabled",!va.rbac.enabled)}),jsxRuntimeExports.jsx(Checkbox,{isSelected:va.auth.enabled,label:" Authentication",onClick:()=>gg("auth.enabled",!va.auth.enabled)}),jsxRuntimeExports.jsx(Checkbox,{isSelected:va.auditTrail.enabled,label:"Audit Trail",onClick:()=>gg("auditTrail.enabled",!va.auditTrail.enabled)}),jsxRuntimeExports.jsx(Checkbox,{isSelected:va.monitoring.enabled,label:"Monitoring",onClick:()=>gg("monitoring.enabled",!va.monitoring.enabled)})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center justify-between mb-2",children:jsxRuntimeExports.jsxs("h3",{className:"text-base font-medium text-white flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:cog",width:18,height:18,className:"text-blue-400"}),"Config Entities"]})}),Cl?jsxRuntimeExports.jsx("div",{className:"flex items-center justify-center p-8 bg-secondary/50 rounded-lg border border-white/10",children:jsxRuntimeExports.jsx(Icon,{icon:"eos-icons:loading",className:"h-6 w-6 text-white"})}):jsxRuntimeExports.jsx(FieldArray,{name:"configEntities",children:({remove:sy,push:ly})=>jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4",children:[(va.configEntities||[]).length>0?(va.configEntities||[]).map((cy,uy)=>{const H1=pg.filter(lE=>!va.configEntities.includes(lE.value)||lE.value===cy);return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 bg-secondary/50 rounded-lg p-5 border border-white/10 hover:border-white/20 transition-all",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 mb-2 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:database-cog",width:16,height:16,className:"text-blue-400"}),"Select Config entity"]}),jsxRuntimeExports.jsx(F$e,{fieldName:`configEntities[${uy}]`,options:H1})]}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>sy(uy),className:"mt-7 p-1.5 text-gray-400 hover:text-red-400 hover:bg-red-500/10 rounded transition-all cursor-pointer",title:"Remove config entity",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:close",width:20,height:20})})]}),cy&&jsxRuntimeExports.jsx("div",{className:"pt-3 border-t border-white/10",children:jsxRuntimeExports.jsx(ConfigEntityForm,{entityFqn:cy,appConfig:dg,showHeader:!1,onSave:hp})})]},uy)}):jsxRuntimeExports.jsxs("div",{className:"text-center py-8 bg-secondary/30 rounded-lg border border-dashed border-white/20",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:database-cog-outline",width:32,height:32,className:"text-gray-500 mx-auto mb-2"}),jsxRuntimeExports.jsx("p",{className:"text-sm text-gray-400",children:"No config entities added yet"})]}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ly(""),className:"add-workflow-button w-full",children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})})]})})]})]})},GeneralTab=()=>{const ya=useAppStore(Sl=>Sl.appConfig),{saveAppConfig:ma}=useAppConfig(),{teamName:ba}=useParams(),[va,Ma]=reactExports.useState([]);reactExports.useEffect(()=>{(async()=>{if(ba)try{const Cl=await readPackageJsonFromGit(ba);if(Cl?.agentlang?.config&&Array.isArray(Cl.agentlang.config)){const Mc=Cl.agentlang.config;Ma(Mc)}}catch(Cl){console.error("Error loading entity from package.json:",Cl)}})()},[ba]);const El={service:{port:ya?.service?.port||configurationSchema.service.port},rbac:{enabled:ya?.rbac?.enabled??configurationSchema.rbac.enabled},auth:{enabled:ya?.auth?.enabled??configurationSchema.auth.enabled},auditTrail:{enabled:ya?.auditTrail?.enabled??configurationSchema.auditTrail.enabled},monitoring:{enabled:ya?.monitoring?.enabled??configurationSchema.monitoring.enabled},configEntities:va},wl=async Sl=>{try{const Cl={service:Sl.service,rbac:Sl.rbac,auth:Sl.auth,auditTrail:Sl.auditTrail,monitoring:Sl.monitoring,selectedEntities:void 0,configEntities:void 0};await ma(Cl)}catch(Cl){console.error("Error saving general configuration:",Cl)}};return jsxRuntimeExports.jsx(Formik,{enableReinitialize:!0,initialValues:El,onSubmit:wl,children:jsxRuntimeExports.jsx(GeneralTabContent,{})})},IntegrationRow=({integration:ya,source:ma,onRemove:ba})=>{const[va,Ma]=reactExports.useState(!1),[El,wl]=reactExports.useState(null),[Sl,Cl]=reactExports.useState(!1),{deleteIntegration:Mc}=useIntegration("config"),Ef=Jf=>{Jf.stopPropagation(),wl(ya)},Zf=async()=>{if(El){Cl(!0);try{await Mc(El.name),ba(El),wl(null)}catch(Jf){console.error("Failed to delete integration:",Jf)}finally{Cl(!1)}}};return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col border border-border-color rounded-lg overflow-hidden bg-secondary/50 hover:bg-secondary transition-all",children:[jsxRuntimeExports.jsxs("div",{className:`flex items-center justify-between p-3 cursor-pointer ${va?"rounded-t-lg":"rounded-lg"}`,onClick:()=>Ma(!va),children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[jsxRuntimeExports.jsx("div",{className:"p-0.5 hover:bg-white/10 rounded-full transition-colors",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:chevron-right",className:`transition-transform duration-200 text-gray-400 ${va?"rotate-90":""}`,width:18,height:18})}),jsxRuntimeExports.jsx(TeamOrDepIcon,{name:ya.userData?.isRemoteIntegration&&ya.userData?.GitHubRepo?ya.userData.GitHubRepo:ya.name,width:18,height:18}),jsxRuntimeExports.jsx("span",{className:"text-sm font-medium text-primary-font",children:ya.name})]}),jsxRuntimeExports.jsx("div",{className:"flex items-center gap-1.5",children:jsxRuntimeExports.jsx("button",{type:"button",onClick:Ef,className:"text-secondary-font hover:text-maroon hover:scale-110 transition-all duration-200 p-1 rounded-md hover:bg-red-900/20 cursor-pointer",title:"Remove integration",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:close",width:18,height:18})})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:(va||El)&&jsxRuntimeExports.jsx(motion.div,{className:"border-t border-border-color bg-primary/20 overflow-hidden",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2,ease:"easeInOut"},children:jsxRuntimeExports.jsxs("div",{className:"p-3 flex flex-col gap-3",children:[El&&jsxRuntimeExports.jsx("div",{className:"border border-border-color rounded-lg bg-secondary/50",children:jsxRuntimeExports.jsx(ConfirmDelete,{closeHandler:()=>wl(null),onConfirm:Zf,title:"Delete Integration",message:`Are you sure you want to delete the integration "${El.name}"? This will remove it from package.json and config.al.`,itemName:El.name,isLoading:Sl,mode:"inline"})}),va&&jsxRuntimeExports.jsx(IntegrationConfig,{integration:ya,source:ma})]})})})]})})},ENABLE_WORKSPACE_INTEGRATIONS=!1,IntegrationsTab=()=>{const{integrationData:ya}=useIntegration("config");useIntegration("api");const{workspaceIntegrations:ma,localIntegrations:ba}=reactExports.useMemo(()=>{const mg=ya??[],gg=mg.filter(ly=>ly.userData?.isRemoteIntegration===!0),sy=mg.filter(ly=>!ly.userData?.isRemoteIntegration);return{workspaceIntegrations:gg,localIntegrations:sy}},[ya]),[va,Ma]=reactExports.useState(!1),[El,wl]=reactExports.useState(!1),[Sl,Cl]=reactExports.useState(ma),[Mc,Ef]=reactExports.useState(ba),[Zf,Jf]=reactExports.useState(!1),[dp,hp]=reactExports.useState(),[dg,pg]=reactExports.useState("");reactExports.useEffect(()=>{Cl(ma),Ef(ba)},[ma,ba]);const hg=mg=>{const gg=Mc.some(sy=>sy.name===mg.name);Ef(gg?Mc.filter(sy=>sy.name!==mg.name):[...Mc,mg])};return jsxRuntimeExports.jsxs("div",{id:"app-integrations",className:"flex flex-col gap-8",children:[ENABLE_WORKSPACE_INTEGRATIONS,jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsx(h1,{label:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{children:"Configured Integrations"}),jsxRuntimeExports.jsxs("span",{className:"text-sm text-gray-400 font-normal",children:[Mc.length," configured"]})]}),defaultOpen:!0,icon:"mdi:cog",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 pt-4",children:[El&&jsxRuntimeExports.jsxs("div",{className:"border border-border-color rounded-lg bg-secondary/50 p-4",children:[jsxRuntimeExports.jsx("div",{className:"max-h-[400px] overflow-y-auto mb-4",children:jsxRuntimeExports.jsx(Integrations,{isModal:!0,source:"config",selectedIntegrations:Mc.map(mg=>mg.name),onToggleIntegration:hg})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"flex justify-end mt-4",children:jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>wl(!1),className:"sure-button",children:"Done"})})]}),Mc.length===0?jsxRuntimeExports.jsx("div",{className:"w-full p-6 bg-secondary border border-dashed border-border-color rounded-lg text-center",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center gap-3 text-secondary-font",children:[jsxRuntimeExports.jsx("div",{className:"p-3 rounded-lg bg-blue-600/20 border border-blue-500/30",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:cog",width:24,height:24,className:"text-blue-400"})}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("p",{className:"text-sm font-medium text-primary-font mb-1",children:"No integrations configured"})})]})}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-3",children:Mc.map(mg=>jsxRuntimeExports.jsx(IntegrationRow,{integration:mg,source:"config",onRemove:gg=>{Ef(Mc.filter(sy=>sy.name!==gg.name))}},mg.name))})]})}),jsxRuntimeExports.jsx(h1,{label:"Resolvers",defaultOpen:!1,icon:"mdi:check-circle-outline",actions:jsxRuntimeExports.jsx(TooltipComponent,{text:"New Integration",children:jsxRuntimeExports.jsx("div",{onClick:()=>pg(dg?"":"addIntegration"),className:"header-action-icon",children:jsxRuntimeExports.jsx(Icon,{icon:dg==="addIntegration"?"mdi:chevron-up":icons.integration})})}),children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 pt-4",children:[dg==="addIntegration"&&jsxRuntimeExports.jsx("div",{className:"border border-border-color rounded-lg bg-secondary/50 p-4",children:jsxRuntimeExports.jsx(AddIntegration,{closeHandler:()=>pg(""),source:"config",mode:"inline"})}),jsxRuntimeExports.jsx("div",{className:"p-4",children:jsxRuntimeExports.jsx("div",{className:"w-full p-6 bg-secondary border border-dashed border-border-color rounded-lg text-center",children:jsxRuntimeExports.jsx("p",{className:"text-secondary-font",children:"No resolved integrations"})})})]})})]})]})},AutoSave$1=()=>{const{values:ya,submitForm:ma,dirty:ba}=useFormikContext();return useDebounce(()=>{ba&&ma()},1e3,[ya]),null},StoreTab=()=>{const ya=useAppStore(Ma=>Ma.appConfig),{saveAppConfig:ma}=useAppConfig(),ba={store:{type:ya?.store?.type||configurationSchema.store.type,host:ya?.store?.host||configurationSchema.store.host,username:ya?.store?.username||configurationSchema.store.username,password:ya?.store?.password||configurationSchema.store.password,dbname:ya?.store?.dbname||configurationSchema.store.dbname,port:ya?.store?.port||configurationSchema.store.port}},va=async Ma=>{try{const El={store:Ma.store};await ma(El)}catch(El){console.error("Error saving store configuration:",El)}};return jsxRuntimeExports.jsx(Formik,{enableReinitialize:!0,initialValues:ba,onSubmit:va,children:jsxRuntimeExports.jsxs(Form$7,{className:"space-y-6",children:[jsxRuntimeExports.jsx(AutoSave$1,{}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:database",width:16,height:16,className:"text-blue-400"}),"Database Type"]}),jsxRuntimeExports.jsx(Kht,{name:"store.type",placeholder:"Enter database type",isFloating:!1})]}),jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:web",width:16,height:16,className:"text-blue-400"}),"Host"]}),jsxRuntimeExports.jsx(Kht,{name:"store.host",placeholder:"Enter database host",isFloating:!1})]})]}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:account",width:16,height:16,className:"text-blue-400"}),"Username"]}),jsxRuntimeExports.jsx(Kht,{name:"store.username",placeholder:"Enter database username",isFloating:!1})]}),jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:lock",width:16,height:16,className:"text-blue-400"}),"Password"]}),jsxRuntimeExports.jsx(Qht,{name:"store.password",placeholder:"Enter password",isFloating:!1})]})]}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:database",width:16,height:16,className:"text-blue-400"}),"Database Name"]}),jsxRuntimeExports.jsx(Kht,{name:"store.dbname",placeholder:"Enter database name",isFloating:!1})]}),jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("label",{className:"text-sm font-medium text-gray-300 flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:network-port",width:16,height:16,className:"text-blue-400"}),"Port"]}),jsxRuntimeExports.jsx(Kht,{name:"store.port",type:"number",placeholder:"Enter database port",isFloating:!1})]})]})]})})},LLM_SERVICES=[{label:"OpenAI",value:"openai"},{label:"Anthropic",value:"anthropic"}],OPENAI_MODELS=[{label:"gpt-5.2",value:"gpt-5.2"},{label:"gpt-5.1",value:"gpt-5.1"},{label:"gpt-5",value:"gpt-5"},{label:"o3-pro",value:"o3-pro"},{label:"o3",value:"o3"},{label:"o1",value:"o1"},{label:"gpt-5-mini",value:"gpt-5-mini"},{label:"gpt-4o",value:"gpt-4o"}],ANTHROPIC_MODELS=[{label:"claude-opus-4-5-20251124",value:"claude-opus-4-5-20251124"},{label:"claude-sonnet-4-5-20250929",value:"claude-sonnet-4-5-20250929"},{label:"claude-haiku-4-5-20251015",value:"claude-haiku-4-5-20251015"},{label:"claude-3-7-sonnet-20250219",value:"claude-3-7-sonnet-20250219"},{label:"claude-3-5-sonnet-20241022",value:"claude-3-5-sonnet-20241022"}],getModelsForService=ya=>{switch(ya){case"openai":return OPENAI_MODELS;case"anthropic":return ANTHROPIC_MODELS;default:return[]}},LLMModal=({onAdd:ya,closeHandler:ma,mode:ba="modal",initialValues:va,isEditMode:Ma=!1})=>{const wl=va||{name:"",service:"openai",config:{model:"",maxTokens:4096,temperature:.7,apiKey:""}},Sl=Mc=>{ya(Mc),ma()},Cl=jsxRuntimeExports.jsxs("div",{className:ba==="inline"?"w-full flex flex-col gap-4":"modal-content w-[600px]!",children:[(!Ma||ba!=="inline")&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:ba==="inline"?"flex items-center justify-between":"modal-header",children:[jsxRuntimeExports.jsx("div",{className:ba==="inline"?"text-lg font-semibold text-primary-font":"modal-title",children:Ma?"Edit LLM Configuration":"Add LLM Configuration"}),jsxRuntimeExports.jsx(Icon,{icon:"mdi:close",className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ma})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}})]}),jsxRuntimeExports.jsx(Formik,{initialValues:wl,onSubmit:Sl,enableReinitialize:Ma,children:({submitForm:Mc,values:Ef})=>{const Zf=getModelsForService(Ef.service||"openai"),Jf=Ef.config?.model||"",dp=Jf&&!Zf.find(hp=>hp.value===Jf)?[...Zf,{label:Jf,value:Jf}]:Zf;return jsxRuntimeExports.jsxs("div",{className:ba==="inline"?"flex flex-col gap-4":"flex flex-col gap-0",children:[jsxRuntimeExports.jsx("div",{className:ba==="inline"?"flex flex-col gap-6":"p-6 overflow-y-auto max-h-[60vh]",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-6",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[jsxRuntimeExports.jsx(Kht,{name:"name",label:"Name",placeholder:"e.g. llm01",isFloating:!1}),jsxRuntimeExports.jsx(F$e,{fieldName:"service",options:LLM_SERVICES,label:"LLM Service",placeholder:"LLM Service",isFloating:!1})]}),jsxRuntimeExports.jsxs("div",{className:"bg-gray-800/30 p-4 rounded-lg border border-gray-700/50",children:[jsxRuntimeExports.jsx("h3",{className:"text-sm font-semibold mb-4 text-gray-300",children:"Configuration"}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx(ept,{fieldName:"config.model",options:dp,label:"Model",placeholder:Ef.service==="openai"?"e.g. gpt-4o":Ef.service==="anthropic"?"e.g. claude-3-5-sonnet-20241022":"Type model name",isFloating:!1}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[jsxRuntimeExports.jsx(Kht,{name:"config.maxTokens",label:"Max Tokens",type:"number",placeholder:"e.g. 4096",isFloating:!1}),jsxRuntimeExports.jsx(Kht,{name:"config.temperature",label:"Temperature",type:"number",placeholder:"e.g. 0.7",isFloating:!1})]})]})]})]})}),(!Ma||ba!=="inline")&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-footer",children:jsxRuntimeExports.jsxs("div",{className:"flex justify-end gap-3",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"cancel-button",onClick:ma,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"button",className:"sure-button",onClick:Mc,children:Ma?"Update LLM":"Add LLM"})]})})]}),Ma&&ba==="inline"&&jsxRuntimeExports.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"cancel-button",onClick:ma,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"button",className:"sure-button",onClick:Mc,children:"Update LLM"})]})]})}})]});return ba==="inline"?jsxRuntimeExports.jsx("div",{className:"w-full",children:Cl}):jsxRuntimeExports.jsx("div",{className:"modal-container",children:Cl})},LLMRow=({llm:ya,index:ma,onUpdate:ba,onRemove:va})=>{const[Ma,El]=reactExports.useState(!1),[wl,Sl]=reactExports.useState(null),[Cl,Mc]=reactExports.useState(!1),Ef=Jf=>{Jf.stopPropagation(),Sl(ma)},Zf=async()=>{if(wl!==null){Mc(!0);try{va(wl),Sl(null)}catch(Jf){console.error("Failed to delete LLM:",Jf)}finally{Mc(!1)}}};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col border border-border-color rounded-lg overflow-hidden bg-secondary/50 hover:bg-secondary transition-all",children:[jsxRuntimeExports.jsxs("div",{className:`flex items-center justify-between p-3 cursor-pointer ${Ma?"rounded-t-lg":"rounded-lg"}`,onClick:()=>El(!Ma),children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[jsxRuntimeExports.jsx("div",{className:"p-0.5 hover:bg-white/10 rounded-full transition-colors",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:chevron-right",className:`transition-transform duration-200 text-gray-400 ${Ma?"rotate-90":""}`,width:18,height:18})}),jsxRuntimeExports.jsx("div",{className:"context-menu-icon bg-entity-bg text-entity-icon",children:jsxRuntimeExports.jsx(Icon,{icon:"hugeicons:ai-brain-05",width:16,height:16})}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-medium text-primary-font",children:ya.name||"Unnamed"}),jsxRuntimeExports.jsxs("span",{className:"text-xs text-secondary-font",children:[ya.service," ",ya.config?.model?`- ${ya.config.model}`:""]})]})]}),jsxRuntimeExports.jsx("div",{className:"flex items-center gap-1.5",children:jsxRuntimeExports.jsx("button",{type:"button",onClick:Ef,className:"text-secondary-font hover:text-maroon hover:scale-110 transition-all duration-200 p-1 rounded-md hover:bg-red-900/20 cursor-pointer",title:"Remove LLM",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:close",width:18,height:18})})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:(Ma||wl!==null)&&jsxRuntimeExports.jsx(motion.div,{className:"border-t border-border-color bg-primary/20 overflow-hidden",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2,ease:"easeInOut"},children:jsxRuntimeExports.jsxs("div",{className:"p-3 flex flex-col gap-3",children:[wl!==null&&jsxRuntimeExports.jsx("div",{className:"border border-border-color rounded-lg bg-secondary/50",children:jsxRuntimeExports.jsx(ConfirmDelete,{closeHandler:()=>Sl(null),onConfirm:Zf,title:"Delete LLM Configuration",message:`Are you sure you want to delete the LLM configuration "${ya.name}"? This will remove it from the configuration.`,itemName:ya.name,isLoading:Cl,mode:"inline"})}),Ma&&jsxRuntimeExports.jsx(LLMModal,{onAdd:Jf=>{ba(ma,Jf),El(!1)},closeHandler:()=>El(!1),mode:"inline",initialValues:ya,isEditMode:!0})]})})})]})},AutoSave=()=>{const{values:ya,submitForm:ma,dirty:ba}=useFormikContext();return reactExports.useEffect(()=>{if(ba){const va=setTimeout(()=>{ma()},500);return()=>clearTimeout(va)}},[ya,ma,ba]),null},LLMTab=()=>{const ya=useAppStore(Cl=>Cl.appConfig),{saveAppConfig:ma}=useAppConfig(),[ba,va]=reactExports.useState(!1),wl={llms:ya.llms&&Array.isArray(ya.llms)&&ya.llms.length>0?ya.llms:[]},Sl=async Cl=>{await ma({llms:Cl.llms})};return jsxRuntimeExports.jsx(Formik,{enableReinitialize:!0,initialValues:wl,onSubmit:Sl,children:({values:Cl,setFieldValue:Mc})=>jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-6",children:[jsxRuntimeExports.jsx(AutoSave,{}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx("div",{className:"p-2 rounded-lg bg-blue/20 border border-blue",children:jsxRuntimeExports.jsx(Icon,{icon:"hugeicons:ai-brain-05",width:18,height:18,className:"text-white"})}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"text-lg font-semibold text-primary-font",children:"LLM Configurations"}),jsxRuntimeExports.jsxs("p",{className:"text-sm text-gray-400",children:[Cl.llms.length," configured"]})]})]}),jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>va(!ba),className:"sure-button",children:[jsxRuntimeExports.jsx(Icon,{icon:ba?"mdi:chevron-up":"mdi:plus",width:16,height:16}),ba?"":"Add LLM"]})]}),jsxRuntimeExports.jsx(Divider,{sx:{borderColor:"rgba(255,255,255,0.1)"}}),ba&&jsxRuntimeExports.jsx("div",{className:"border border-border-color rounded-lg bg-secondary/50 p-4",children:jsxRuntimeExports.jsx(LLMModal,{onAdd:Ef=>{Mc("llms",[...Cl.llms,Ef]),va(!1)},closeHandler:()=>va(!1),mode:"inline"})}),Cl.llms.length===0?jsxRuntimeExports.jsx("div",{className:"w-full p-6 bg-secondary border border-dashed border-border-color rounded-lg text-center",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center gap-3 text-secondary-font",children:[jsxRuntimeExports.jsx("div",{className:"p-3 rounded-lg bg-blue-600/20 border border-blue-500/30",children:jsxRuntimeExports.jsx(Icon,{icon:"hugeicons:ai-brain-05",width:24,height:24,className:"text-blue-400"})}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("p",{className:"text-sm font-medium text-primary-font mb-1",children:"No LLMs configured"}),jsxRuntimeExports.jsx("p",{className:"text-xs",children:"Click “Add LLM” to configure a model"})]})]})}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-3",children:Cl.llms.map((Ef,Zf)=>jsxRuntimeExports.jsx(LLMRow,{llm:Ef,index:Zf,onUpdate:(Jf,dp)=>{const hp=[...Cl.llms];hp[Jf]=dp,Mc("llms",hp)},onRemove:Jf=>{const dp=[...Cl.llms];dp.splice(Jf,1),Mc("llms",dp)}},`${Ef.name}-${Zf}`))})]})]})})},AppConfiguration=()=>jsxRuntimeExports.jsx("div",{className:"dashboard-content",children:jsxRuntimeExports.jsxs(Be,{children:[jsxRuntimeExports.jsxs("div",{className:"sticky top-0 z-10 bg-primary -mx-3 sm:-mx-4 md:-mx-6 lg:-mx-8 px-3 sm:px-4 md:px-6 lg:px-8 pt-3 sm:pt-4 pb-2 backdrop-blur-sm",children:[jsxRuntimeExports.jsxs("div",{className:"dashboard-content-header",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1 px-3",children:[jsxRuntimeExports.jsxs("h4",{className:"flex items-end gap-2 text-sm sm:text-base",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:cog",className:"w-5 h-5 sm:w-6 sm:h-6"}),jsxRuntimeExports.jsx("div",{className:"flex items-end gap-2",children:"App Configuration"})]}),jsxRuntimeExports.jsx("div",{className:"font-normal text-secondary-font text-left text-xs sm:text-sm",children:"Configure your application integration settings and system configuration"})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}})]}),jsxRuntimeExports.jsx(We,{className:"flex space-x-1 rounded-xl bg-gray-800/50 p-1 mb-6 mt-4",children:tabs.map(ya=>jsxRuntimeExports.jsx(dt,{className:"w-full rounded-lg py-2.5 text-sm font-medium leading-5 data-selected:bg-blue-600 data-selected:text-white data-selected:shadow data-hover:text-white data-hover:bg-gray-700/50 text-gray-400 hover:text-white hover:bg-gray-700/50 cursor-pointer focus:outline-none",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:ya.icon,width:16,height:16}),ya.name]})},ya.key))})]}),jsxRuntimeExports.jsxs(je$1,{children:[jsxRuntimeExports.jsx(Ke,{children:jsxRuntimeExports.jsx(GeneralTab,{})}),jsxRuntimeExports.jsx(Ke,{children:jsxRuntimeExports.jsx(LLMTab,{})}),jsxRuntimeExports.jsx(Ke,{children:jsxRuntimeExports.jsx(IntegrationsTab,{})}),jsxRuntimeExports.jsx(Ke,{children:jsxRuntimeExports.jsx(StoreTab,{})})]})]})}),Settings$1=()=>jsxRuntimeExports.jsx("div",{id:"team-settings-container",className:" relative w-full h-full flex overflow-hidden",children:jsxRuntimeExports.jsx("div",{className:"w-full text-white p-8 overflow-auto",children:jsxRuntimeExports.jsx(AppConfiguration,{})})}),DeploymentDetail=()=>{const{deploymentId:ya}=useParams(),ma=useNavigate(),{deploymentsData:ba,isLoadingDeployments:va,isErrorDeployments:Ma}=useDeployments();if(va)return jsxRuntimeExports.jsx("div",{className:"m-6 grow",children:jsxRuntimeExports.jsx(Deployments,{})});const wl=Object.values(ba||{}).flat().filter(Mc=>Mc.Type==="App").find(Mc=>Mc.DeploymentId===ya);if(Ma||!wl)return jsxRuntimeExports.jsx("div",{className:"m-6 grow",children:jsxRuntimeExports.jsx("div",{className:"max-w-2xl mx-auto",children:jsxRuntimeExports.jsxs("div",{className:"text-center py-16",children:[jsxRuntimeExports.jsx("div",{className:"w-16 h-16 mx-auto mb-6 bg-gray-100/5 rounded-full flex items-center justify-center",children:jsxRuntimeExports.jsx(Icon,{icon:"tabler:alert-circle",className:"w-8 h-8 text-gray-400"})}),jsxRuntimeExports.jsx("h2",{className:"text-xl font-medium text-gray-200 mb-2",children:"Deployment Not Found"}),jsxRuntimeExports.jsx("p",{className:"text-gray-500 mb-8",children:"The deployment you are looking for does not exist or has been removed."}),jsxRuntimeExports.jsxs("button",{onClick:()=>ma("/home"),className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-gray-300 hover:text-white transition-colors",children:[jsxRuntimeExports.jsx(Icon,{icon:"tabler:arrow-left",className:"w-4 h-4"}),"Back to Home"]})]})})});const Sl=wl.Status,Cl=()=>Sl==="Failed"?"status-badge error-badge":Sl==="Running"?"status-badge success-badge":"status-badge progress-badge";return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 bg-secondary rounded-lg p-2 m-4 w-full",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsxs("button",{onClick:()=>ma("/home"),className:"flex items-center gap-1 text-gray-400 hover:text-white transition-colors cursor-pointer",children:[jsxRuntimeExports.jsx(Icon,{icon:"tabler:arrow-left",className:"w-4 h-4"}),jsxRuntimeExports.jsx("span",{className:"text-xs",children:"Back"})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"tabler:rocket",className:"w-4 h-4"}),jsxRuntimeExports.jsx("span",{className:"font-medium text-white text-sm",children:wl.Repo})]})]}),jsxRuntimeExports.jsx("div",{className:Cl(),children:Sl})]}),jsxRuntimeExports.jsx("div",{className:"h-full bg-primary/5 rounded-lg border border-primary/10 overflow-hidden",children:jsxRuntimeExports.jsx("iframe",{src:wl.ExternalUrl,className:"w-full h-full border-0",title:"Application Preview",sandbox:"allow-scripts allow-same-origin allow-forms"})})]})},validationSchema$5=create$3().shape({GitHub:create$3().shape({Username:create$6().required("Username is required"),Org:create$6().required("Organization is required"),Token:create$6().matches(/^ghp_[A-Za-z0-9]{36}$/,"Invalid GitHub token format").required("Token is required")})}),GitHubForm=({isActive:ya})=>{const ma=useAppStore(va=>va.user),{setUserProfile:ba}=useAuth();return jsxRuntimeExports.jsx(Formik,{enableReinitialize:!0,initialValues:ma,onSubmit:va=>{ba(va)},validationSchema:validationSchema$5,children:jsxRuntimeExports.jsxs(Form$7,{id:"github",className:`flex flex-col gap-4 w-full p-8 rounded-md border border-solid border-border-color ${ya?"highlight-color":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.github,width:16,height:16}),jsxRuntimeExports.jsx("h4",{children:"GitHub Configuration"})]}),jsxRuntimeExports.jsx("p",{children:"Configure your Github Account's Credentials"}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}})]}),jsxRuntimeExports.jsx(Kht,{name:"GitHub.Username",placeholder:"Github Username"}),jsxRuntimeExports.jsx(Kht,{name:"GitHub.Org",placeholder:"Github Organization"}),jsxRuntimeExports.jsx(Qht,{name:"GitHub.Token",placeholder:"Github Token"}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"sure-button",children:"Save"})]})})},schema=create$3().shape({Anthropic:create$3().shape({Key:create$6().matches(/^sk-ant-[a-zA-Z0-9-]+$/,"Invalid Anthropic key format").required("Anthropic Key is required")}),OpenAI:create$3().shape({Key:create$6().matches(/^sk-[a-zA-Z0-9_-]{20,}$/,"Invalid OpenAI key format").required("OpenAI Key is required"),FinetunedModel:create$6().optional()})}),CopilotForm=({isActive:ya})=>{const ma=useAppStore(va=>va.user),{setUserProfile:ba}=useAuth();return jsxRuntimeExports.jsx(Formik,{enableReinitialize:!0,initialValues:ma,onSubmit:va=>{ba(va)},validationSchema:schema,children:jsxRuntimeExports.jsxs(Form$7,{id:"copilot",className:`flex flex-col gap-4 w-full p-8 rounded-md border border-solid border-border-color ${ya?"highlight-color":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.generativeAI,width:16,height:16}),jsxRuntimeExports.jsx("h4",{children:"Co-Pilot Configuration"})]}),jsxRuntimeExports.jsx("p",{children:"Specify Co-Pilot's parameters"}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}})]}),jsxRuntimeExports.jsx(Qht,{name:"OpenAI.Key",placeholder:"OpenAI Key"}),jsxRuntimeExports.jsx(Kht,{name:"OpenAI.FinetunedModel",placeholder:"Finetuned Model"}),jsxRuntimeExports.jsx(Qht,{name:"Anthropic.Key",placeholder:"Anthropic Key"}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"sure-button",children:"Save"})]})})},ChangePassword=({isActive:ya})=>{const{changePassword:ma}=useAuth();return jsxRuntimeExports.jsx(Formik,{enableReinitialize:!0,initialValues:{currentPassword:"",newPassword:""},onSubmit:ba=>{const{currentPassword:va,newPassword:Ma}=ba;ma(va,Ma)},children:jsxRuntimeExports.jsxs(Form$7,{id:"changePassword",className:`flex flex-col gap-4 w-full p-8 rounded-md border border-solid border-border-color ${ya?"highlight-color":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.changePassword,width:16,height:16}),jsxRuntimeExports.jsx("h4",{children:"Change Password"})]}),jsxRuntimeExports.jsx("p",{children:"Change your password"}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}})]}),jsxRuntimeExports.jsx(Qht,{name:"currentPassword",placeholder:"Current Password"}),jsxRuntimeExports.jsx(Qht,{name:"newPassword",placeholder:"New Password"}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("button",{type:"submit",className:"sure-button",children:"Change Password"})]})})},UserConfiguration=({isModal:ya=!1})=>{const[ma,ba]=reactExports.useState("github"),[va,Ma]=reactExports.useState(!1),{profileLoading:El,profileError:wl,fetchUserProfile:Sl}=useAuth(),Cl=async(dp,hp,dg)=>{await Sl(dg)},{refetch:Mc}=useRouteDataFetching({routePattern:"/configuration",fetchFunction:Cl,requiresAuth:!0}),Ef=dp=>{ba(dp),scrollIntoView(dp)},Zf=async()=>{try{Ma(!0),console.log("UserConfiguration: Manual refresh triggered for user profile"),await Mc(!0),y$b.success("User profile refreshed successfully")}catch(dp){console.error("Failed to refresh user profile:",dp),y$b.error("Failed to refresh user profile")}finally{Ma(!1)}},Jf=async()=>{try{Ma(!0),await Sl(!0),y$b.success("User profile loaded successfully")}catch(dp){console.error("Failed to retry user profile fetch:",dp),y$b.error("Failed to load user profile")}finally{Ma(!1)}};return jsxRuntimeExports.jsxs("div",{className:"p-2 flex gap-2 w-full",children:[!ya&&jsxRuntimeExports.jsxs("div",{className:"flex gap-2 flex-col rounded-md border border-solid border-border-color p-3 min-w-[15%] h-fit",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("h3",{children:"User Configuration"}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[(El||va)&&jsxRuntimeExports.jsx(Icon,{icon:"eos-icons:loading",width:14,height:14,className:"animate-spin text-blue-500"}),jsxRuntimeExports.jsx("button",{onClick:Zf,disabled:El||va,className:`text-xs cursor-pointer ${El||va?"text-gray-400 cursor-not-allowed":"text-blue-500 hover:text-blue-600"}`,title:"Refresh user profile data",children:"Refresh"})]})]}),wl&&jsxRuntimeExports.jsx("div",{className:"bg-red-50 border border-red-200 rounded-md p-2 mb-2",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("p",{className:"text-xs text-red-600",children:"Failed to load profile"}),jsxRuntimeExports.jsx("button",{onClick:Jf,disabled:va,className:"text-xs text-red-600 hover:text-red-700 cursor-pointer",children:"Retry"})]})}),jsxRuntimeExports.jsxs("div",{onClick:()=>Ef("github"),className:`flex gap-2 cursor-pointer p-3 rounded-md duration-300 border-solid border-[1px] ${ma==="github"?"highlight-color text-primary-font border-border-color":"border-transparent text-secondary-font hover:text-primary-font hover:highlight-color"}`,children:[jsxRuntimeExports.jsx(Icon,{icon:icons.github,width:16,height:16}),jsxRuntimeExports.jsx("p",{children:"GitHub"})]}),jsxRuntimeExports.jsxs("div",{onClick:()=>Ef("copilot"),className:`flex gap-2 cursor-pointer p-3 rounded-md duration-300 border-solid border-[1px] ${ma==="copilot"?"highlight-color text-primary-font border-border-color":"border-transparent text-secondary-font hover:text-primary-font hover:highlight-color"}`,children:[jsxRuntimeExports.jsx(Icon,{icon:icons.generativeAI,width:16,height:16}),jsxRuntimeExports.jsx("p",{children:"Co-pilot"})]}),jsxRuntimeExports.jsxs("div",{onClick:()=>Ef("changePassword"),className:`flex gap-2 cursor-pointer p-3 rounded-md duration-300 border-solid border-[1px] ${ma==="changePassword"?"highlight-color text-primary-font border-border-color":"border-transparent text-secondary-font hover:text-primary-font hover:highlight-color"}`,children:[jsxRuntimeExports.jsx(Icon,{icon:icons.changePassword,width:16,height:16}),jsxRuntimeExports.jsx("p",{children:"Change Password"})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 w-full h-full overflow-auto scrollbar-none",children:[jsxRuntimeExports.jsx(GitHubForm,{isActive:ma==="github"}),jsxRuntimeExports.jsx(CopilotForm,{isActive:ma==="copilot"}),!ya&&jsxRuntimeExports.jsx(ChangePassword,{isActive:ma==="changePassword"})]})]})},MultiSelectOption=({isSelected:ya,label:ma,value:ba,onSelect:va})=>jsxRuntimeExports.jsx(It,{value:ba,className:({focus:Ma})=>`option ${Ma?"bg-hover text-primary-font":""}`,onClick:()=>va(ba),children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 cursor-pointer",children:[jsxRuntimeExports.jsx(Icon,{icon:ya?icons.checkboxSelected:icons.checkbox,color:ya?"#1976d2":"",width:"20px",height:"20px"}),ma]})}),ToolsDropdown=({name:ya})=>{const{dependenciesOptions:ma,getDependenciesModule:ba,defaultDependency:va,defaultModule:Ma}=useDependencies(),[El,wl]=reactExports.useState(va||""),[Sl,Cl]=reactExports.useState(Ma||""),Mc=ba(El).map(uy=>({label:uy,value:uy})),[Ef,Zf,Jf]=useField(ya),dp=Ef.value,hp=getEntities(Sl),dg=getEvents(Sl),pg=getRecords(Sl),[hg,mg]=reactExports.useState(!1),gg=useOutsideClickHandler(()=>mg(!1)),sy=uy=>dp.includes(uy),ly=uy=>{if(sy(uy)){const H1=dp.filter(lE=>lE!==uy);Jf.setValue(H1)}else Jf.setValue([...dp,uy])},cy=uy=>uy.map(H1=>({label:H1,value:`${Sl}/${H1}`}));return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[jsxRuntimeExports.jsx(Dropdown,{value:El,options:ma,placeholder:"Model",onChange:uy=>{wl(uy);const H1=ba(uy);Cl(H1[0])}}),jsxRuntimeExports.jsx(Dropdown,{value:Sl,options:Mc,placeholder:"Module",onChange:uy=>{Cl(uy)}})]}),jsxRuntimeExports.jsxs(Mo,{as:"div",ref:gg,className:"dropdown-menu",value:dp,onChange:uy=>{if(uy.length>dp.length){const H1=uy.find(lE=>!dp.includes(lE));H1&&ly(H1)}else{const H1=dp.find(lE=>!uy.includes(lE));H1&&ly(H1)}},children:[jsxRuntimeExports.jsxs(Mt$1,{className:"dropdown-button",onClick:()=>mg(!hg),children:["Tools: ",dp.length," selected",jsxRuntimeExports.jsx(Icon,{icon:"ph:caret-down-bold"})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:hg&&jsxRuntimeExports.jsxs(Bt,{static:!0,as:motion.div,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"dropdown-options",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col ",children:[jsxRuntimeExports.jsx("span",{className:"px-2 py-1",children:"Entities"}),hp.length===0?jsxRuntimeExports.jsx("span",{className:"no-dropdown-item",children:"No entities available"}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1",children:cy(hp).map(uy=>jsxRuntimeExports.jsx(MultiSelectOption,{isSelected:sy(uy.value),label:uy.label,value:uy.value,onSelect:ly},uy.value))})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col ",children:[jsxRuntimeExports.jsx("span",{className:"px-2 py-1",children:"Events"}),dg.length===0?jsxRuntimeExports.jsx("span",{className:"no-dropdown-item",children:"No events available"}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1",children:cy(dg).map(uy=>jsxRuntimeExports.jsx(MultiSelectOption,{isSelected:sy(uy.value),label:uy.label,value:uy.value,onSelect:ly},uy.value))})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsx("span",{className:"px-2 py-1",children:"Records"}),pg.length===0?jsxRuntimeExports.jsx("span",{className:"no-dropdown-item",children:"No records available"}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1",children:cy(pg).map(uy=>jsxRuntimeExports.jsx(MultiSelectOption,{isSelected:sy(uy.value),label:uy.label,value:uy.value,onSelect:ly},uy.value))})]})]})})]})]})},AddToolsModal=({agent:ya,closeModal:ma})=>{const ba=useOutsideClickHandler(ma),{setAgentTools:va}=useAgent();return reactDomExports.createPortal(jsxRuntimeExports.jsx(Formik,{initialValues:{tools:ya.getTools()||[]},onSubmit:Ma=>{try{const wl=Ma.tools;va(ya.getName(),wl),ma()}catch(El){console.error("Error updating agent tools:",El)}},children:jsxRuntimeExports.jsx(Form$7,{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content",ref:ba,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Tools"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ma})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(ToolsDropdown,{name:"tools"})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[jsxRuntimeExports.jsx("div",{className:"cancel-button",onClick:ma,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"sure-button",children:"Save"})]})]})})}),document.body)},AgentFormSection=({children:ya})=>jsxRuntimeExports.jsx("div",{className:"bg-[rgba(255,255,255,0.05)] backdrop-blur-sm rounded-xl border border-[rgba(255,255,255,0.1)] p-4 shadow-lg flex flex-col gap-2",children:ya}),AgentTools=({agent:ya,isEditable:ma=!0})=>{const{moduleName:ba}=useParams(),[va,Ma]=reactExports.useState(!1),El=ya.getTools()||[],wl=Array.isArray(El)&&El.length>0,{setAgentTools:Sl}=useAgent();return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.tool,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"External capabilities the agent can use to accomplish the task",position:"right",children:jsxRuntimeExports.jsx("div",{className:"text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Tools"})})})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[wl&&ma&&jsxRuntimeExports.jsx("button",{onClick:()=>Ma(!0),className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header)] flex items-center gap-2 text-sm cursor-pointer transition-all transform hover:scale-110",children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,width:16,height:16})}),!wl&&ma&&jsxRuntimeExports.jsx("button",{onClick:()=>Ma(!0),className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer transition-all transform hover:scale-110",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})]})]}),wl&&jsxRuntimeExports.jsx("div",{className:"grid grid-cols-2 gap-2",children:Array.isArray(El)&&El.map((Cl,Mc)=>jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-2 bg-blue/20 border border-blue rounded-lg text-white group min-w-0",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[jsxRuntimeExports.jsx(TeamOrDepIcon,{name:Cl.split("/").length>1?Cl.split("/")[0]:Cl}),jsxRuntimeExports.jsx("span",{className:"text-sm font-medium whitespace-nowrap overflow-hidden truncate min-w-0",children:Cl.split("/").length>1&&Cl.split("/")[0]!==ba?Cl:Cl.split("/").pop()})]}),ma&&jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"cursor-pointer hover:text-red-400 transition-all transform hover:scale-110 opacity-0 group-hover:opacity-100 shrink-0",onClick:()=>{const Ef=El.filter((Zf,Jf)=>Jf!==Mc);Sl(ya.getName(),Ef)}})]},Mc))}),va&&jsxRuntimeExports.jsx(AddToolsModal,{agent:ya,closeModal:()=>Ma(!1)})]})},IS_PLAYGROUND$3=!1,AgentLLMModal=({agent:ya,closeModal:ma})=>{const ba=useOutsideClickHandler(ma),{setAgentLLM:va}=useAgent();return reactDomExports.createPortal(jsxRuntimeExports.jsx(Formik,{initialValues:{llm:ya.getLLM()},onSubmit:Ma=>{va(ya.getName(),Ma.llm),ma()},children:jsxRuntimeExports.jsx(Form$7,{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content !w-[90%] h-[80%]",ref:ba,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Select Language Model"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ma})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(LLM,{isModal:!0}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[jsxRuntimeExports.jsx("div",{className:"cancel-button",onClick:ma,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"sure-button",children:"Save"})]})]})})}),document.body)},AgentLLM=({agent:ya,isEditable:ma=!0})=>{const[ba,va]=reactExports.useState(!1),Ma=ya.getLLM(),El=!!Ma,wl=ma;return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between ",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.llm,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Select the language model for the agent",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"!text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"LLM"})})})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[El&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-[#025cd4]/20 border border-[#025cd4] rounded-lg text-white group",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.llm,width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm font-medium",children:Ma}),wl&&jsxRuntimeExports.jsx("button",{onClick:()=>va(!0),className:"cursor-pointer hover:text-blue-300 transition-all opacity-0 group-hover:opacity-100 transform hover:scale-110",children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,width:16,height:16})})]}),!El&&wl&&jsxRuntimeExports.jsx("button",{onClick:()=>va(!0),className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-[rgba(255,255,255,0.1)] flex items-center gap-2 text-sm cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})]})]}),ba&&IS_PLAYGROUND$3,ba&&!IS_PLAYGROUND$3&&jsxRuntimeExports.jsx(AgentLLMModal,{agent:ya,closeModal:()=>va(!1)})]})};async function initializeAgentLang(ya){return await initializeRuntime(ya)}function updateAgentLangApiKeys(ya){updateApiKeys(ya)}const index$1=Object.freeze(Object.defineProperty({__proto__:null,AgentLangRuntime,executeAgentLangStatement:executeStatement,executeStatement,fetchLatestMonitorForEvent,fetchMonitorsForEvent,getRuntime,initializeAgentLang,initializeRuntime,loadAgentCraftModule,prepareRuntimeForAppLoad,queryLLMEntities,updateAgentLangApiKeys,updateApiKeys},Symbol.toStringTag,{value:"Module"}));function stripModuleWrapper(ya){const ma=`module TempValidation
21015
21015
 
21016
- `;return ya.startsWith(ma)?ya.substring(ma.length):ya}class CopilotService{static instance;constructor(){}static getInstance(){return CopilotService.instance||(CopilotService.instance=new CopilotService),CopilotService.instance}async processRequest(ma){try{const ba=this.validateRequest(ma);if(ba)return{success:!1,error:ba};await loadAgentCraftModule();const va=await this.buildContext(ma),Ma=await this.analyzeRequest(ma,va);if(Ma.length===0)return{success:!0,analysis:"No changes needed based on the request."};console.log(`📋 Analyzed request: ${Ma.length} action(s) needed`);const El=await this.processActions(Ma,ma,va);await this.applyStructuralChanges(El,ma.moduleName);const wl=this.buildCommitMessage(El),Sl=this.buildModuleSourceWithCodeComponents(El,ma.moduleName);ma.githubUsername&&ma.githubToken?(await saveModuleToGit(ma.teamName,ma.moduleName,Sl,wl,ma.githubUsername,ma.githubToken),console.log("✅ Saved changes to git")):console.log("✅ Changes applied locally (no git push in local mode)");const Cl=El.map(Mc=>({type:`${Mc.componentType}-${Mc.type}`,target:Mc.componentName,description:Mc.analysis}));return this.updateMetadata(ma,Cl).catch(Mc=>{console.error("⚠️ Background metadata update failed:",Mc)}),{success:!0,analysis:this.buildAnalysisSummary(El),commitMessage:wl,actions:El}}catch(ba){return console.error("❌ CopilotService error:",ba),{success:!1,error:ba.message||"Unknown error occurred"}}}validateRequest(ma){return ma.userMessage?.trim()?ma.moduleName?ma.teamName?null:"Team name is required":"Module name is required":"User message is required"}async buildContext(ma){try{const{contextSummary:ba}=await buildFullUpdateContext(ma.teamName,ma.moduleName);return ba}catch{return console.warn("Could not build full context, using minimal context"),fetchModule$2(ma.moduleName)?.toString()||""}}detectMentionedComponents(ma,ba){const va=fetchModule$2(ba),Ma=[],El=va.entries||[],wl=va.getAgents?.()||[],Sl=getEvents(ba)||[],Cl=getRelationships(ba)||[],Mc=[...El.map(Zf=>({name:Zf.name,type:"entity"})),...wl.map(Zf=>({name:Zf.name,type:"agent"})),...Sl.map(Zf=>({name:Zf,type:"event"})),...Cl.map(Zf=>({name:Zf,type:"relationship"}))],Ef=ma.userMessage.toLowerCase();for(const Zf of Mc)new RegExp(`\\b${Zf.name.toLowerCase()}\\b`).test(Ef)&&Ma.push({name:Zf.name,type:Zf.type,exists:!0});return Ma}async analyzeRequest(ma,ba){if(ma.componentName&&ma.componentType){console.log(`🎯 Scoped mode: Operating on ${ma.componentType} "${ma.componentName}"`);const Ef=fetchModule$2(ma.moduleName),Zf=this.componentExists(Ef,ma.componentName,ma.componentType,ma.moduleName);return console.log(` Component ${Zf?"exists, will update":"does not exist, will create"}`),[{type:Zf?"update":"create",componentType:ma.componentType,componentName:ma.componentName,reason:ma.userMessage}]}console.log("🌐 General mode: Analyzing what components to create/modify...");const va=this.detectMentionedComponents(ma,ma.moduleName);let Ma=ma.userMessage;if(va.length>0){const Ef=va.map(Zf=>`${Zf.name} (${Zf.type}, exists: ${Zf.exists})`).join(", ");Ma=`${ma.userMessage}
21016
+ `;return ya.startsWith(ma)?ya.substring(ma.length):ya}class CopilotService{static instance;constructor(){}static getInstance(){return CopilotService.instance||(CopilotService.instance=new CopilotService),CopilotService.instance}async processRequest(ma){try{const ba=this.validateRequest(ma);if(ba)return{success:!1,error:ba};await loadAgentCraftModule();const va=await this.buildContext(ma),Ma=await this.analyzeRequest(ma,va);if(Ma.length===0)return{success:!0,analysis:"No changes needed based on the request."};console.log(`📋 Analyzed request: ${Ma.length} action(s) needed`);const El=await this.processActions(Ma,ma,va);await this.applyStructuralChanges(El,ma.moduleName);const wl=this.buildCommitMessage(El),Sl=this.buildModuleSourceWithCodeComponents(El,ma.moduleName);await saveModuleToGit(ma.teamName,ma.moduleName,Sl,wl,ma.githubUsername||"",ma.githubToken||""),console.log("✅ Saved changes");const Cl=El.map(Mc=>({type:`${Mc.componentType}-${Mc.type}`,target:Mc.componentName,description:Mc.analysis}));return this.updateMetadata(ma,Cl).catch(Mc=>{console.error("⚠️ Background metadata update failed:",Mc)}),{success:!0,analysis:this.buildAnalysisSummary(El),commitMessage:wl,actions:El}}catch(ba){return console.error("❌ CopilotService error:",ba),{success:!1,error:ba.message||"Unknown error occurred"}}}validateRequest(ma){return ma.userMessage?.trim()?ma.moduleName?ma.teamName?null:"Team name is required":"Module name is required":"User message is required"}async buildContext(ma){try{const{contextSummary:ba}=await buildFullUpdateContext(ma.teamName,ma.moduleName);return ba}catch{return console.warn("Could not build full context, using minimal context"),fetchModule$2(ma.moduleName)?.toString()||""}}detectMentionedComponents(ma,ba){const va=fetchModule$2(ba),Ma=[],El=va.entries||[],wl=va.getAgents?.()||[],Sl=getEvents(ba)||[],Cl=getRelationships(ba)||[],Mc=[...El.map(Zf=>({name:Zf.name,type:"entity"})),...wl.map(Zf=>({name:Zf.name,type:"agent"})),...Sl.map(Zf=>({name:Zf,type:"event"})),...Cl.map(Zf=>({name:Zf,type:"relationship"}))],Ef=ma.userMessage.toLowerCase();for(const Zf of Mc)new RegExp(`\\b${Zf.name.toLowerCase()}\\b`).test(Ef)&&Ma.push({name:Zf.name,type:Zf.type,exists:!0});return Ma}async analyzeRequest(ma,ba){if(ma.componentName&&ma.componentType){console.log(`🎯 Scoped mode: Operating on ${ma.componentType} "${ma.componentName}"`);const Ef=fetchModule$2(ma.moduleName),Zf=this.componentExists(Ef,ma.componentName,ma.componentType,ma.moduleName);return console.log(` Component ${Zf?"exists, will update":"does not exist, will create"}`),[{type:Zf?"update":"create",componentType:ma.componentType,componentName:ma.componentName,reason:ma.userMessage}]}console.log("🌐 General mode: Analyzing what components to create/modify...");const va=this.detectMentionedComponents(ma,ma.moduleName);let Ma=ma.userMessage;if(va.length>0){const Ef=va.map(Zf=>`${Zf.name} (${Zf.type}, exists: ${Zf.exists})`).join(", ");Ma=`${ma.userMessage}
21017
21017
 
21018
21018
  CONTEXT: The following components are mentioned and already exist in the module: ${Ef}. If the user is asking to modify these components, use UPDATE action type, not CREATE.`,console.log(` 🧠 Detected ${va.length} existing component(s) mentioned:`,va.map(Zf=>Zf.name).join(", "))}const El=JSON.stringify({userMessage:Ma,moduleName:ma.moduleName,metadataContext:ba}),Sl=`{AgentCraft/analyzeRequest {message: "${e$b(El)}"}}`,Cl=await executeStatement(Sl);if(!Cl||typeof Cl!="object")throw new Error("Invalid response from request analyzer");let Mc=[];try{const Ef=Cl.actions;typeof Ef=="string"?Mc=JSON.parse(Ef):Array.isArray(Ef)&&(Mc=Ef)}catch(Ef){throw console.error("Failed to parse analyzed actions:",Ef),new Error("Failed to analyze request")}return Mc}componentExists(ma,ba,va,Ma){try{switch(va){case"entity":case"record":return!!ma.getEntry?.(ba);case"agent":return!!ma.getAgent?.(ba);case"event":return getEvents(Ma).includes(ba);case"workflow":return!!ma.getWorkflowForEvent?.(ba);case"relationship":return getRelationships(Ma).includes(ba);default:return!1}}catch{return!1}}async processActions(ma,ba,va){const Ma=[];for(const El of ma){console.log(`🔧 Processing: ${El.type} ${El.componentType} ${El.componentName}`);try{let wl;if(El.type==="create"?wl=await this.generateComponent(El,ba,va):El.type==="update"?wl=await this.updateComponent(El,ba,va):wl={...El,analysis:`Removed ${El.componentType} ${El.componentName}`},Ma.push(wl),wl.componentType==="entity"||wl.componentType==="record")try{console.log(`⚡ Applying ${wl.componentType} ${wl.componentName} to runtime immediately...`),wl.componentType==="entity"?await this.addEntityToStore(wl,ba.moduleName):await this.addRecordToStore(wl,ba.moduleName),console.log(`✅ ${wl.componentType} ${wl.componentName} now available in runtime`)}catch(Sl){console.error(`❌ Failed to apply ${wl.componentType} immediately:`,Sl),wl.analysis+=` (Warning: Failed to apply immediately - ${Sl instanceof Error?Sl.message:"Unknown error"})`}}catch(wl){console.error(`❌ Failed to process ${El.componentType} ${El.componentName}:`,wl),Ma.push({...El,analysis:`Failed to ${El.type} ${El.componentType} ${El.componentName}: ${wl instanceof Error?wl.message:"Unknown error"}`})}}return Ma}async generateComponent(ma,ba,va){const Ma=JSON.stringify({userMessage:ma.reason||ba.userMessage,componentName:ma.componentName,moduleName:ba.moduleName,metadataContext:va}),El=e$b(Ma),wl=this.getGeneratorEventName(ma.componentType),Sl=`{AgentCraft/${wl} {message: "${El}"}}`,Cl=await executeStatement(Sl);if(!Cl||typeof Cl!="object")throw new Error(`Invalid response from ${wl}`);const Mc=Cl;if(ma.componentType==="entity"||ma.componentType==="record"){let Jf=[];if(Mc.attributes)try{Jf=typeof Mc.attributes=="string"?JSON.parse(Mc.attributes):Mc.attributes}catch(hp){console.warn("Failed to parse attributes:",hp)}let dp;if(Mc.meta)try{dp=typeof Mc.meta=="string"?JSON.parse(Mc.meta):Mc.meta}catch(hp){console.warn("Failed to parse meta:",hp)}return{...ma,componentName:Mc.componentName||ma.componentName,attributes:Jf,meta:dp,analysis:Mc.analysis||`Created ${ma.componentType} ${ma.componentName}`}}else if(ma.componentType==="relationship"){if(!Mc.relationshipType||!Mc.fromEntity||!Mc.toEntity){const Jf=[];throw Mc.relationshipType||Jf.push("relationshipType"),Mc.fromEntity||Jf.push("fromEntity"),Mc.toEntity||Jf.push("toEntity"),new Error(`AI generated incomplete relationship data. Missing fields: ${Jf.join(", ")}`)}return{...ma,componentName:Mc.componentName||ma.componentName,relationshipType:Mc.relationshipType,fromEntity:Mc.fromEntity,toEntity:Mc.toEntity,cardinality:Mc.cardinality||"",analysis:Mc.analysis||`Created ${ma.componentType} ${ma.componentName}`}}const Ef=Mc.definition||Mc.code||Mc.generatedCode||"",Zf=stripModuleWrapper(Ef);return console.log(`📝 Generated ${ma.componentType} code:`,{componentName:Mc.componentName||ma.componentName,hasCode:!!Zf,codeLength:Zf.length,codePreview:Zf.substring(0,200)}),{...ma,componentName:Mc.componentName||ma.componentName,generatedCode:Zf,analysis:Mc.analysis||`Created ${ma.componentType} ${ma.componentName}`}}async updateComponent(ma,ba,va){const Ma=this.getCurrentDefinition(ba.moduleName,ma.componentName,ma.componentType),El=JSON.stringify({currentDefinition:Ma,userMessage:ma.reason||ba.userMessage,moduleName:ba.moduleName,metadataContext:va}),wl=e$b(El),Sl=this.getUpdaterEventName(ma.componentType),Cl=`{AgentCraft/${Sl} {message: "${wl}"}}`,Mc=await executeStatement(Cl);if(!Mc||typeof Mc!="object")throw new Error(`Invalid response from ${Sl}`);const Ef=Mc;if(ma.componentType==="entity"||ma.componentType==="record"){let dp=[];if(Ef.attributes)try{dp=typeof Ef.attributes=="string"?JSON.parse(Ef.attributes):Ef.attributes}catch(dg){console.warn("Failed to parse attributes:",dg)}let hp;if(Ef.meta)try{hp=typeof Ef.meta=="string"?JSON.parse(Ef.meta):Ef.meta}catch(dg){console.warn("Failed to parse meta:",dg)}return{...ma,componentName:Ef.componentName||ma.componentName,attributes:dp,meta:hp,analysis:Ef.analysis||`Updated ${ma.componentType} ${ma.componentName}`}}else if(ma.componentType==="relationship")return{...ma,componentName:Ef.componentName||ma.componentName,relationshipType:Ef.relationshipType,fromEntity:Ef.fromEntity,toEntity:Ef.toEntity,cardinality:Ef.cardinality||"",analysis:Ef.analysis||`Updated ${ma.componentType} ${ma.componentName}`};const Zf=Ef.definition||Ef.code||Ef.generatedCode||"",Jf=stripModuleWrapper(Zf);return{...ma,componentName:Ef.componentName||ma.componentName,generatedCode:Jf,analysis:Ef.analysis||`Updated ${ma.componentType} ${ma.componentName}`}}getCurrentDefinition(ma,ba,va){const Ma=fetchModule$2(ma);try{switch(va){case"entity":case"record":return Ma.getEntry?.(ba)?.toString()||"";case"agent":return Ma.getAgent?.(ba)?.toString()||"";case"event":return getEvent$1(ba,ma)?.toString()||"";case"workflow":return Ma.getWorkflowForEvent?.(ba)?.toString()||"";case"relationship":return getRelationship$1(ba,ma)?.toString()||"";default:return""}}catch{return""}}getGeneratorEventName(ma){return{entity:"generateEntityComponent",record:"generateEntityComponent",agent:"generateAgentComponent",event:"generateEventComponent",workflow:"generateWorkflowComponent",relationship:"generateRelationshipComponent"}[ma]}getUpdaterEventName(ma){return{entity:"updateEntityComponent",record:"updateEntityComponent",agent:"updateAgentComponent",event:"updateEventComponent",workflow:"updateWorkflowComponent",relationship:"updateRelationshipComponent"}[ma]}async applyStructuralChanges(ma,ba){const va=fetchModule$2(ba);for(const Ma of ma)if(Ma.type==="update"||Ma.type==="delete")try{console.log(`🗑️ Removing ${Ma.type==="delete"?"":"old version of "}${Ma.componentName}...`);const El=Ma.componentName,wl=El.replace(/--workflow$/,"");if(isEvent(ba,wl))removeEvent(El,ba);else{if(Ma.componentType==="entity"&&!isRelationship(ba,wl)){const Sl=isFqName$1(El)?El:`${ba}/${wl}`,Cl=getRelationships(ba);console.log(`🔍 Checking relationships for entity ${Sl}...`),Cl.forEach(Mc=>{try{const Ef=getRelationship$1(Mc,ba);if(Ef){const Zf=Ef.getParentFqName(),Jf=Ef.getChildFqName();(Zf===Sl||Jf===Sl)&&(console.log(`🗑️ Removing relationship ${Mc} involving ${Sl}`),va.removeEntry(Mc))}}catch(Ef){console.warn(`Failed to check relationship ${Mc} for entity ${Sl}:`,Ef)}})}va.removeEntry(El)}}catch(El){console.warn(`Could not remove ${Ma.componentName}:`,El)}for(const Ma of ma){if(Ma.type==="delete"){console.log(`✅ Deleted ${Ma.componentType} ${Ma.componentName}`);continue}try{switch(Ma.componentType){case"entity":case"record":console.log(`⏭️ Skipping ${Ma.componentType} ${Ma.componentName} (already applied during processing)`);break;case"relationship":console.log(`➕ Adding ${Ma.type==="create"?"new":"updated"} relationship ${Ma.componentName}`),await this.addRelationshipToStore(Ma,ba);break;case"workflow":case"event":case"agent":console.log(`📝 Will append ${Ma.componentType} ${Ma.componentName} to module source`);break;default:console.warn(`Component type ${Ma.componentType} not supported. Skipping.`)}}catch(El){console.error(`❌ Failed to apply ${Ma.componentType} ${Ma.componentName}:`,El),Ma.analysis=`Failed to apply ${Ma.componentType} ${Ma.componentName}: ${El instanceof Error?El.message:"Unknown error"}`}}console.log("✅ Applied structural changes to runtime")}buildModuleSourceWithCodeComponents(ma,ba){let va=fetchModule$2(ba).toString();console.log(`📄 Current module source: ${va.length} chars`);const Ma=ma.filter(El=>["workflow","event","agent"].includes(El.componentType));for(const El of Ma){if(!El.generatedCode){console.warn(`⚠️ No code for ${El.componentType} ${El.componentName}, skipping`);continue}let wl=El.generatedCode;wl=wl.split(`
21019
21019
  `).filter(Mc=>{const Ef=Mc.trim();return!/^module\s+[\w.]+\s*$/.test(Ef)}).join(`
21020
21020
  `).trim(),console.log(`➕ Appending ${El.componentType} ${El.componentName} (${wl.length} chars)`),va+=`
21021
21021
 
21022
21022
  `+wl}return console.log(`📄 Final module source: ${va.length} chars`),va}async addEntityToStore(ma,ba){const va=addEntity(ma.componentName,ba);if(ma.attributes)for(const Ma of ma.attributes){const El=this.buildAttributeSpec(Ma);va.addAttribute(Ma.name,El)}ma.meta?.documentation&&va.addMeta("documentation",ma.meta.documentation)}async addRecordToStore(ma,ba){const va=addRecord$1(ma.componentName,ba);if(ma.attributes)for(const Ma of ma.attributes){const El=this.buildAttributeSpec(Ma);va.addAttribute(Ma.name,El)}ma.meta?.documentation&&va.addMeta("documentation",ma.meta.documentation)}async addRelationshipToStore(ma,ba){if(!ma.relationshipType||!ma.fromEntity||!ma.toEntity)throw new Error(`Relationship ${ma.componentName} missing required fields: relationshipType, fromEntity, toEntity`);const va=ma.relationshipType,{newRelNodeEntry:Ma}=await __vitePreload(async()=>{const{newRelNodeEntry:Sl}=await Promise.resolve().then(()=>module$1);return{newRelNodeEntry:Sl}},void 0),El=Ma(`${ba}/${ma.fromEntity}`),wl=Ma(`${ba}/${ma.toEntity}`);addRelationship(ma.componentName,va,[El,wl],ba)}buildAttributeSpec(ma){let ba={type:ma.type,properties:new Map};if(ma.properties){const va=ma.properties.trim().split(/\s+/);for(const Ma of va){if(!Ma)continue;const El=Ma.match(/^@default\((.+)\)$/);if(El){const wl=El[1];ba=setDefaultAttributeValue(ba,wl)}else ba.properties?.set(Ma,!0)}}return ba}buildCommitMessage(ma){if(ma.length===0)return"AI: No changes";const ba=Ma=>{switch(Ma){case"create":return"Create";case"update":return"Update";case"delete":return"Delete";default:return"Modify"}};if(ma.length===1){const Ma=ma[0];return`AI: ${ba(Ma.type)} ${Ma.componentType} ${Ma.componentName}`}return`AI: ${ma.map(Ma=>`${ba(Ma.type)} ${Ma.componentType} ${Ma.componentName}`).join(", ")}`}buildAnalysisSummary(ma){const ba=[];for(const va of ma){if(va.analysis.includes("Failed to")||va.analysis.includes("Cannot create")||va.analysis.includes("does not exist"))continue;let Ma="",El="";va.type==="create"?(Ma="✅",El="Created"):va.type==="update"?(Ma="🔄",El="Updated"):va.type==="delete"&&(Ma="🗑️",El="Deleted"),ba.push(`${Ma} ${El} ${va.componentType} **${va.componentName}**`)}return ba.length>0?ba.join(`
21023
- `):"No changes made"}async updateMetadata(ma,ba){try{console.log("🔄 Updating metadata after changes...");const Ma=fetchModule$2(ma.moduleName)?.toString()||"";let El={};if(ma.githubUsername&&ma.githubToken){const{readMetadataFileFromGit:Zf}=await __vitePreload(async()=>{const{readMetadataFileFromGit:Jf}=await Promise.resolve().then(()=>utils);return{readMetadataFileFromGit:Jf}},void 0);El=await Zf(ma.teamName)||{}}const wl={moduleName:ma.moduleName,dataModelRequest:"Analyze existing module",workflowRequest:"Analyze existing module",agentRequest:"Analyze existing module",generatedCode:Ma},Cl=`{AgentCraft/GenerateMetadata {message: "${e$b(JSON.stringify(wl))}"}}`,Mc=await executeStatement(Cl);console.log("📋 Metadata generation result type:",typeof Mc),console.log("📋 Metadata generation result:",JSON.stringify(Mc,null,2));let Ef={};try{if(typeof Mc=="string"){console.log("📋 Result is string, parsing...");const Zf=Mc.match(/\{[\s\S]*\}/);Zf&&(Ef=JSON.parse(Zf[0]),Ef.content&&(Ef=JSON.parse(Ef.content)))}else if(typeof Mc=="object"&&Mc!==null){console.log("📋 Result is object, extracting content...");const Zf=Mc.content;Zf?(console.log("📋 Found content field:",typeof Zf),Ef=typeof Zf=="string"?JSON.parse(Zf):Zf):(console.log("📋 No content field, using result directly"),Ef=Mc)}else console.warn("📋 Unexpected result type or null result");console.log("📋 Parsed metadata keys:",Object.keys(Ef||{}).join(", "))}catch(Zf){console.warn("Failed to parse metadata result, using existing:",Zf),Ef={...El}}Ef.updateHistory=El.updateHistory||[];for(const Zf of ba)Ef.updateHistory.push({timestamp:new Date().toISOString(),type:Zf.type,target:Zf.target,description:Zf.description,triggeredBy:"copilot"});if(Ef.updateHistory.length>50&&(Ef.updateHistory=Ef.updateHistory.slice(-50)),Ef.module&&(Ef.module.lastUpdatedAt=new Date().toISOString()),ma.githubUsername&&ma.githubToken){const{saveMetadataFileToGit:Zf}=await __vitePreload(async()=>{const{saveMetadataFileToGit:dp}=await Promise.resolve().then(()=>utils);return{saveMetadataFileToGit:dp}},void 0),Jf=ba.map(dp=>`${dp.type}:${dp.target}`).join(", ");await Zf(ma.teamName,JSON.stringify(Ef,null,2),`Update metadata after ${Jf}`,ma.githubUsername,ma.githubToken),console.log("✅ Metadata updated successfully")}else console.log("✅ Metadata updated locally (no git push in local mode)")}catch(va){console.error("❌ Failed to update metadata:",va)}}}const copilotService=CopilotService.getInstance(),truncateText=(ya,ma)=>!ya||ya.trim()===""?"Not set":ya.length<=ma?ya:`${ya.substring(0,ma)}...`,validationSchema$4=create$3({cond:create$6().trim().required("Required"),then:create$6().trim().required("Required")}),DirectiveItem=({directive:ya,onValidChange:ma,onRemoveDirective:ba})=>{const[va,Ma]=reactExports.useState(""),[El,wl]=reactExports.useState(""),[Sl,Cl]=reactExports.useState(!1);reactExports.useEffect(()=>{(async()=>{const dp=(await introspect$1(ya.cond))[0],hp=dp.condition;Ma(String(hp.value));const dg=dp.body[0];wl(dg?dg.value:""),Cl(dp.body.toString().length===0||dp.condition.toString().length===0)})()},[ya.name,ya.cond]);const Mc=reactExports.useMemo(()=>({cond:va,then:El}),[va,El]),Ef=reactExports.useCallback(Zf=>{ma(ya.id,Zf)},[ya.id,ma]);return jsxRuntimeExports.jsxs("div",{id:`directive-${ya.id}`,children:[jsxRuntimeExports.jsxs("div",{onClick:()=>Cl(!Sl),className:classNames(["grid grid-cols-1 sm:grid-cols-12 p-3 gap-2 sm:gap-4 bg-secondary cursor-pointer items-center group",Sl?"rounded-t-md":"rounded-md"]),children:[jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-11 mb-2 sm:mb-0",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"If"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(va||"",20)})]}),!Sl&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Then"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(El||"",20)})]})]})}),jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-1 flex justify-end items-center",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"cursor-pointer hover:text-red-400 transition-colors opacity-0 group-hover:opacity-100",onClick:Zf=>{Zf.stopPropagation(),ba(ya.id)}})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:Sl&&jsxRuntimeExports.jsx(motion.div,{className:"p-4 py-1 bg-secondary rounded-b-md",initial:{height:0},animate:{height:"auto"},exit:{height:0},style:{overflow:"hidden"},children:jsxRuntimeExports.jsx(Formik,{initialValues:Mc,validationSchema:validationSchema$4,validateOnBlur:!0,validateOnChange:!0,onSubmit:Ef,enableReinitialize:!0,children:({errors:Zf,touched:Jf,isValid:dp,dirty:hp})=>jsxRuntimeExports.jsxs(Form$7,{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(Field,{as:"textarea",name:"cond",placeholder:"Enter condition...",rows:3,className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)] resize-none"}),Jf.cond&&Zf.cond&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Zf.cond})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white w-fit",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Then"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(El||"",20)})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(Field,{as:"textarea",name:"then",placeholder:"Enter action...",rows:3,className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)] resize-none"}),Jf.then&&Zf.then&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Zf.then})]}),jsxRuntimeExports.jsx("div",{className:"flex justify-end",children:jsxRuntimeExports.jsxs("button",{type:"submit",disabled:!dp||!hp,className:"px-4 py-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-md text-[rgba(255,255,255,0.9)] hover:bg-table-header disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:content-save",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Save"})]})})]})})})})]},ya.id)},DirectiveForm=({directives:ya,onValidChange:ma,onRemoveDirective:ba})=>{const va=El=>{if(typeof El=="string")return El;try{return JSON.stringify(El)}catch{return String(El??"")}},Ma=reactExports.useMemo(()=>ya.map(El=>({...El,cond:va(El.cond),then:va(El.then)})),[ya]);return jsxRuntimeExports.jsx("div",{className:"mt-4",children:jsxRuntimeExports.jsx("div",{className:"space-y-4",children:Ma.map(El=>jsxRuntimeExports.jsx(DirectiveItem,{directive:El,onValidChange:ma,onRemoveDirective:ba},El.id))})})},AgentDirectives=({agent:ya,isEditable:ma=!0})=>{const{getAgentDirectives:ba,removeAgentDirective:va,addAgentDirective:Ma,updateAgentDirective:El}=useAgent();useAppStore(Jf=>Jf.moduleDbChangeCount);const wl=ya.getName(),Sl=reactExports.useMemo(()=>ba(wl).map(dp=>({id:dp.name,name:dp.name,then:dp.def.then,cond:dp.def.if})),[ba,wl]),Cl=(Jf,dp,hp)=>{let dg=0;return dp.forEach(pg=>{if(pg.name&&pg.name.startsWith(`${Jf}.${hp}`)){const hg=pg.name.match(/(\d+)$/);if(hg){const mg=parseInt(hg[1],10);mg>dg&&(dg=mg)}}}),`${Jf}.${hp}${String(dg+1).padStart(2,"0")}`},Mc=async()=>{const Jf=Cl(wl,Sl,"dir");Ma(Jf),requestAnimationFrame(()=>{const dp=document.getElementById(`directive-${Jf}`);console.log(dp),dp&&dp.scrollIntoView({behavior:"smooth",block:"center"})})},Ef=Jf=>{va(Jf)},Zf=(Jf,dp)=>{El(Jf,dp.cond,dp.then)};return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.match,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define conditional rules and actions for the agent",position:"right",children:jsxRuntimeExports.jsx("p",{className:"text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Directives"})})})]}),ma&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:jsxRuntimeExports.jsx("button",{onClick:Mc,className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})})]}),Sl.length>0&&jsxRuntimeExports.jsx(DirectiveForm,{directives:Sl,onValidChange:Zf,onRemoveDirective:Ef})]})},ResponseSchemaDropdown=({name:ya})=>{const[ma,ba,va]=useField(ya),Ma=ma.value,wl=getUserModuleNames().flatMap(Mc=>getRecords(Mc).map(Ef=>`${Mc}/${Ef}`)),Sl=Mc=>{va.setValue(Mc)},Cl=Mc=>Mc.map(Ef=>({label:Ef,value:Ef}));return jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2",children:jsxRuntimeExports.jsx(Mo,{as:"div",className:"dropdown-menu",value:Ma,onChange:Sl,children:({open:Mc})=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Mt$1,{className:"dropdown-button",children:[Ma?` ${Ma}`:"Select Record",jsxRuntimeExports.jsx(Icon,{icon:"ph:caret-down-bold"})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:Mc&&jsxRuntimeExports.jsx(Bt,{static:!0,as:motion.div,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"dropdown-options",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsx("span",{className:"px-2 py-1",children:"Records"}),wl.length===0?jsxRuntimeExports.jsx("span",{className:"no-dropdown-item",children:"No records available"}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1",children:Cl(wl).map(Ef=>jsxRuntimeExports.jsx(It,{value:Ef.value,className:({focus:Zf})=>`option ${Zf?"bg-hover text-primary-font":""}`,children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 cursor-pointer",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.record,width:"20px",height:"20px"}),Ef.label]})},Ef.value))})]})})})]})})})},ResponseSchemaModal=({agent:ya,closeModal:ma})=>{const ba=useOutsideClickHandler(ma),{setAgentResponseSchema:va}=useAgent();return reactDomExports.createPortal(jsxRuntimeExports.jsx(Formik,{initialValues:{responseSchema:ya.attributes.get("responseSchema")||""},onSubmit:Ma=>{try{va(ya.getName(),Ma.responseSchema),ma()}catch(El){console.error("Error updating agent response schema:",El)}},children:jsxRuntimeExports.jsx(Form$7,{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content",ref:ba,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Select Response Schema"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ma})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(ResponseSchemaDropdown,{name:"responseSchema"})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[jsxRuntimeExports.jsx("div",{className:"cancel-button",onClick:ma,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"sure-button",children:"Save"})]})]})})}),document.body)},AgentResponseSchema=({agent:ya,isEditable:ma=!0})=>{const[ba,va]=reactExports.useState(!1),Ma=useNavigate(),{githubOrg:El,teamName:wl,moduleName:Sl}=useParams(),{setAgentResponseSchema:Cl}=useAgent(),Mc=ya.getResponseSchema(),Ef=!!Mc,Zf=()=>{Mc&&Ma(`/design/data-model/${El}/${wl}/${Sl}`,{state:{focusEntityId:Mc}})};return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.record,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define the expected response structure for the agent",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"!text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Response Schema"})})})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[Ef&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-[#025cd4]/20 border border-[#025cd4] rounded-lg text-white cursor-pointer hover:bg-[#025cd4]/30 transition-colors group",onClick:Zf,title:"Click to view in Data Model",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.record,width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm font-medium",children:Mc}),ma&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntimeExports.jsx("button",{onClick:Jf=>{Jf.stopPropagation(),va(!0)},className:"cursor-pointer hover:text-blue-300 transition-colors opacity-0 group-hover:opacity-100",children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,width:16,height:16})}),jsxRuntimeExports.jsx("button",{onClick:async Jf=>{Jf.stopPropagation(),await Cl(ya.name,"")},className:"cursor-pointer hover:text-red-400 transition-colors opacity-0 group-hover:opacity-100",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,width:16,height:16})})]})]}),!Ef&&ma&&jsxRuntimeExports.jsx("button",{onClick:()=>va(!0),className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-[rgba(255,255,255,0.1)] flex items-center gap-2 text-sm cursor-pointer transition-all transform hover:scale-110",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})]})]}),ba&&jsxRuntimeExports.jsx(ResponseSchemaModal,{agent:ya,closeModal:()=>va(!1)})]})},EventDropdown=({value:ya,onChange:ma})=>{const{moduleName:ba}=useParams(),Ma=getEvents(ba||""),El=Sl=>{ma(Sl)},wl=Sl=>Sl.map(Cl=>({label:Cl,value:Cl}));return jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2",children:jsxRuntimeExports.jsx(Mo,{as:"div",className:"dropdown-menu",value:ya,onChange:El,children:({open:Sl})=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Mt$1,{className:"dropdown-button",children:[ya?` ${ya}`:"Select Event",jsxRuntimeExports.jsx(Icon,{icon:"ph:caret-down-bold"})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:Sl&&jsxRuntimeExports.jsx(Bt,{static:!0,as:motion.div,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"dropdown-options",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsx("span",{className:"px-2 py-1",children:"Events"}),Ma.length===0?jsxRuntimeExports.jsx("span",{className:"no-dropdown-item",children:"No events available"}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1",children:wl(Ma).map(Cl=>jsxRuntimeExports.jsx(It,{value:Cl.value,className:({focus:Mc})=>`option ${Mc?"bg-hover text-primary-font":""}`,children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 cursor-pointer",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.action,width:"20px",height:"20px"}),Cl.label]})},Cl.value))})]})})})]})})})},validationSchema$3=create$3({user:create$6().trim().required("Required"),ai:create$6().trim().required("Required")}),ScenarioItem=({entry:ya,onValidChange:ma,onRemoveEntry:ba})=>{const[va,Ma]=reactExports.useState(ya.user.length===0||ya.ai.length===0),El=reactExports.useMemo(()=>({user:ya.user,ai:ya.ai}),[ya.user,ya.ai]);return jsxRuntimeExports.jsxs("div",{id:`scenario-${ya.id}`,children:[jsxRuntimeExports.jsxs("div",{onClick:()=>Ma(!va),className:classNames(["grid grid-cols-1 sm:grid-cols-12 p-3 gap-2 sm:gap-4 bg-secondary cursor-pointer items-center group",va?"rounded-t-md":"rounded-md"]),children:[jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-11 mb-2 sm:mb-0",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"User"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.user,30)})]}),!va&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"AI"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.ai,30)})]})]})}),jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-1 flex justify-end items-center",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"cursor-pointer hover:text-red-400 transition-colors opacity-0 group-hover:opacity-100",onClick:wl=>{wl.stopPropagation(),ba(ya.id)}})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:va&&jsxRuntimeExports.jsx(motion.div,{className:"p-4 py-1 bg-secondary rounded-b-md",initial:{height:0},animate:{height:"auto"},exit:{height:0},style:{overflow:"hidden"},children:jsxRuntimeExports.jsx(Formik,{initialValues:El,validationSchema:validationSchema$3,validateOnChange:!0,validateOnBlur:!0,onSubmit:wl=>ma(ya.id,wl),enableReinitialize:!0,children:({isValid:wl,dirty:Sl,errors:Cl,touched:Mc})=>jsxRuntimeExports.jsxs(Form$7,{className:"space-y-4",children:[jsxRuntimeExports.jsx("input",{type:"text",value:ya.name,placeholder:"Enter scenario name",className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(0,0,0,0.2)]",disabled:!0,readOnly:!0}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"block text-sm font-medium text-[rgba(255,255,255,0.7)] mb-2",children:"User Input"}),jsxRuntimeExports.jsx(Field,{as:"input",name:"user",placeholder:"Enter user input...",className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)]"}),Mc.user&&Cl.user&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Cl.user})]}),jsxRuntimeExports.jsxs("div",{className:"flex w-fit items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"AI"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.ai,30)})]}),jsxRuntimeExports.jsx("label",{className:"block text-sm font-medium text-[rgba(255,255,255,0.7)] mb-2",children:"AI Response (Event)"}),jsxRuntimeExports.jsx(Field,{name:"ai",children:({field:Ef,form:Zf})=>jsxRuntimeExports.jsx(EventDropdown,{value:Ef.value,onChange:Jf=>Zf.setFieldValue("ai",Jf)})}),Mc.ai&&Cl.ai&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Cl.ai}),jsxRuntimeExports.jsx("div",{className:"flex justify-end",children:jsxRuntimeExports.jsxs("button",{type:"submit",disabled:!wl||!Sl,className:"px-4 py-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-md text-[rgba(255,255,255,0.9)] hover:bg-table-header disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:content-save",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Save"})]})})]})})})})]},ya.id)},ScenariosForm=({entries:ya,onValidChange:ma,onRemoveEntry:ba})=>jsxRuntimeExports.jsx("div",{className:"mt-4",children:jsxRuntimeExports.jsx("div",{className:"space-y-4",children:ya.map(va=>jsxRuntimeExports.jsx(ScenarioItem,{entry:va,onValidChange:ma,onRemoveEntry:ba},va.id))})}),AgentScenarios=({agent:ya,isEditable:ma=!0})=>{const{getAgentScenarios:ba,addAgentScenario:va,updateAgentScenario:Ma,removeAgentScenario:El}=useAgent();useAppStore(Jf=>Jf.moduleDbChangeCount);const wl=ya.getName(),Sl=reactExports.useMemo(()=>ba(wl).map(dp=>({id:dp.name,name:dp.name,user:dp.def.user,ai:dp.def.ai})),[ba,wl]),Cl=(Jf,dp,hp)=>{let dg=0;return dp.forEach(pg=>{if(pg.name&&pg.name.startsWith(`${Jf}.${hp}`)){const hg=pg.name.match(/(\d+)$/);if(hg){const mg=parseInt(hg[1],10);mg>dg&&(dg=mg)}}}),`${Jf}.${hp}${String(dg+1).padStart(2,"0")}`},Mc=()=>{const Jf=Cl(ya.getName(),Sl,"scenario");va(Jf),requestAnimationFrame(()=>{const dp=document.getElementById(`scenario-${Jf}`);dp&&dp.scrollIntoView({behavior:"smooth",block:"center"})})},Ef=(Jf,dp)=>{Ma(Jf,dp.user,dp.ai)},Zf=Jf=>{El(Jf)};return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:script-text",width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define example scenarios for the agent to learn from",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"!text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Scenarios"})})})]}),ma&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:jsxRuntimeExports.jsx("button",{onClick:Mc,className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer transition-all transform hover:scale-110",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})})]}),Sl.length>0&&jsxRuntimeExports.jsx(ScenariosForm,{entries:Sl,onValidChange:Ef,onRemoveEntry:Zf})]})},validationSchema$2=create$3({meaning:create$6().trim().required("Required"),synonyms:create$2$1().of(create$6()).required()}),GlossaryItem=({entry:ya,onValidChange:ma,onRemoveEntry:ba})=>{const[va,Ma]=reactExports.useState(ya.name.length===0||ya.meaning.length===0),El=reactExports.useMemo(()=>({name:ya.name,meaning:ya.meaning,synonyms:ya.synonyms}),[ya.name,ya.meaning,ya.synonyms]);return jsxRuntimeExports.jsxs("div",{id:`glossary-${ya.id}`,children:[jsxRuntimeExports.jsxs("div",{onClick:()=>Ma(!va),className:classNames(["grid grid-cols-1 sm:grid-cols-12 p-3 gap-2 sm:gap-4 bg-secondary cursor-pointer items-center group",va?"rounded-t-md":"rounded-md"]),children:[jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-11 mb-2 sm:mb-0",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[va&&jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Name"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.name,10)})]}),!va&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white ",children:jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.meaning,10)})}),!va&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:ya.synonyms.length>0?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 flex-wrap max-w-[240px]",children:[ya.synonyms.slice(0,2).map((wl,Sl)=>jsxRuntimeExports.jsx("span",{className:"px-2 py-0.5 bg-[rgba(255,255,255,0.06)] border border-[rgba(255,255,255,0.15)] rounded-full text-xs",children:wl},Sl)),ya.synonyms.length>2&&jsxRuntimeExports.jsxs("span",{className:"text-xs opacity-80",children:["+",ya.synonyms.length-2," more"]})]}):jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Not set"})})]})}),jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-1 flex justify-end items-center",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"cursor-pointer hover:text-red-400 transition-colors opacity-0 group-hover:opacity-100",onClick:wl=>{wl.stopPropagation(),ba(ya.id)}})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:va&&jsxRuntimeExports.jsx(motion.div,{className:"p-4 py-1 bg-secondary rounded-b-md",initial:{height:0},animate:{height:"auto"},exit:{height:0},style:{overflow:"hidden"},children:jsxRuntimeExports.jsx(Formik,{initialValues:El,validationSchema:validationSchema$2,validateOnChange:!0,validateOnBlur:!0,onSubmit:wl=>ma(ya.id,wl),enableReinitialize:!0,children:({isValid:wl,dirty:Sl,errors:Cl,touched:Mc,values:Ef,setFieldValue:Zf})=>jsxRuntimeExports.jsxs(Form$7,{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"block text-xs mb-1 opacity-80",children:"Name"}),jsxRuntimeExports.jsx("input",{type:"text",value:Ef.name,onChange:Jf=>Zf("name",Jf.target.value),placeholder:"Enter glossary display name",className:"w-full p-3 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(0,0,0,0.2)]"})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white w-fit",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Meaning"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.meaning,20)})]}),jsxRuntimeExports.jsx(Field,{as:"textarea",name:"meaning",placeholder:"Enter the meaning or definition",rows:3,className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(0,0,0,0.2)] resize-none"}),Mc.meaning&&Cl.meaning&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Cl.meaning}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white w-fit",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Synonyms"}),Ef.synonyms.length>0?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 flex-wrap max-w-[320px]",children:[ya.synonyms.slice(0,5).map((Jf,dp)=>jsxRuntimeExports.jsx("span",{className:"px-2 py-0.5 bg-[rgba(255,255,255,0.06)] border border-[rgba(255,255,255,0.15)] rounded-full text-xs",children:Jf},dp)),Ef.synonyms.length>5&&jsxRuntimeExports.jsxs("span",{className:"text-xs opacity-80",children:["+",Ef.synonyms.length-5," more"]})]}):jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Not set"})]}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TagInput,{value:Ef.synonyms,onChangeHandler:Jf=>Zf("synonyms",Jf),label:"Add synonyms"})}),jsxRuntimeExports.jsx("div",{className:"flex justify-end",children:jsxRuntimeExports.jsxs("button",{type:"submit",disabled:!wl||!Sl,className:"px-4 py-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-md text-[rgba(255,255,255,0.9)] hover:bg-table-header disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:content-save",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Save"})]})})]})})})})]},ya.id)},GlossaryForm=({entries:ya,onValidChange:ma,onRemoveEntry:ba})=>jsxRuntimeExports.jsx("div",{className:"mt-4",children:jsxRuntimeExports.jsx("div",{className:"space-y-4",children:ya.map(va=>jsxRuntimeExports.jsx(GlossaryItem,{entry:va,onValidChange:ma,onRemoveEntry:ba},va.id))})}),AgentGlossary=({agent:ya,isEditable:ma=!0})=>{const{getAgentGlossary:ba,addAgentGlossaryEntry:va,updateAgentGlossaryEntry:Ma,removeAgentGlossary:El}=useAgent(),wl=useAppStore(Jf=>Jf.moduleDbChangeCount),Sl=reactExports.useMemo(()=>ba(ya.getName()).map(dp=>({id:dp.name,glossaryName:dp.name,name:dp.def.name||"",meaning:dp.def.meaning,synonyms:typeof dp.def.synonyms=="string"?dp.def.synonyms.split(", "):dp.def.synonyms||[]})),[ba,ya.getName(),wl]),Cl=(Jf,dp)=>{const hp=ba(Jf);let dg=0;return hp.forEach(pg=>{const hg=pg.name;if(hg&&hg.startsWith(`${Jf}.${dp}`)){const mg=hg.match(/(\d+)$/);if(mg){const gg=parseInt(mg[1],10);gg>dg&&(dg=gg)}}}),`${Jf}.${dp}${String(dg+1).padStart(2,"0")}`},Mc=async()=>{const Jf=Cl(ya.getName(),"glossary");va(Jf,""),requestAnimationFrame(()=>{const dp=document.getElementById(`glossary-${Jf}`);dp&&dp.scrollIntoView({behavior:"smooth",block:"center"})})},Ef=(Jf,dp)=>{Ma(Jf,dp.meaning,dp.synonyms||[],dp.name||"")},Zf=Jf=>{El(Jf)};return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:book-open-variant",width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define glossary terms and their meanings for the agent",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"!text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Glossary"})})})]}),ma&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:jsxRuntimeExports.jsx("button",{onClick:Mc,className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})})]}),Sl.length>0&&jsxRuntimeExports.jsx(GlossaryForm,{entries:Sl,onValidChange:Ef,onRemoveEntry:Zf})]})},AgentForm=({agentId:ya})=>{const ma=useAppStore(pg=>pg.moduleDbChangeCount),ba=useAppStore(pg=>pg.setSelectedAgentId),{getAgent:va,setAgentInstruction:Ma,setAgentRole:El}=useAgent(),{currentTeam:wl}=useTeams(),Sl=ya?va(ya):null,[Cl,Mc]=reactExports.useState(Sl?.getInstruction()),[Ef,Zf]=reactExports.useState(Sl?.attributes.get("role")||""),Jf=reactExports.useRef(null),dp=wl?.isEditable||!1;reactExports.useEffect(()=>{if(Sl&&ya){const pg=Sl.getInstruction()||"",hg=Sl.attributes.get("role")||"";Mc(pg),Zf(hg)}else Mc(""),Zf("")},[Sl,ya,ma]),reactExports.useEffect(()=>{const pg=Jf.current;if(pg){pg.style.height="auto";const hg=Math.min(pg.scrollHeight,1e3);pg.style.height=`${hg}px`}},[Cl]);const hp=()=>{ya&&dp&&Ma(ya,Cl||"")},dg=()=>{ya&&dp&&El(ya,Ef||"")};return jsxRuntimeExports.jsxs("div",{className:"p-4 transition-all duration-300 w-full flex flex-col gap-4 h-full",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center gap-4",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx("div",{className:"relative",children:jsxRuntimeExports.jsx("div",{className:"dashboard-model-icon text-xl!",children:jsxRuntimeExports.jsx(Icon,{icon:icons.agent,className:"text-white"})})}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Agent Configuration",position:"right",children:jsxRuntimeExports.jsx("h4",{children:ya})})})]})}),jsxRuntimeExports.jsx("button",{onClick:()=>ba(null),className:"w-6 h-6 text-base bg-secondary rounded-xl flex items-center justify-center shadow-lg cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"text-white"})})]})}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 overflow-y-auto scrollbar-none",children:[jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3 ",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.agent,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define the agent's primary role and purpose",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"text-sm! font-semibold text-[rgba(255,255,255,0.9)]",children:"Role"})})})]}),jsxRuntimeExports.jsx("input",{className:`w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)] resize-none ${dp?"":"opacity-50 cursor-not-allowed"}`,placeholder:"Enter the agent's role and primary responsibilities...",value:Ef,onChange:pg=>dp&&Zf(pg.target.value),onBlur:dg,disabled:!dp})]}),jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3 ",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.instruction,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Guide the agent's behavior and responses",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"text-sm! font-semibold text-[rgba(255,255,255,0.9)]",children:"Instructions"})})})]}),jsxRuntimeExports.jsx("textarea",{ref:Jf,className:`w-full min-h-32 p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)] resize-none overflow-y-auto ${dp?"":"opacity-50 cursor-not-allowed"}`,placeholder:"Enter detailed instructions for the agent...",value:Cl,onChange:pg=>{if(dp){Mc(pg.target.value);const hg=pg.target;hg.style.height="auto";const mg=Math.min(hg.scrollHeight,1e3);hg.style.height=`${mg}px`}},onBlur:hp,disabled:!dp,style:{maxHeight:"1000px"}})]}),Sl&&jsxRuntimeExports.jsx(AgentLLM,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentTools,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentDirectives,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentGlossary,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentResponseSchema,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentScenarios,{agent:Sl,isEditable:dp})]})]})},DecisionForm=({decisionId:ya})=>{const[ma,ba]=reactExports.useState([]),{getNodes:va,setNodes:Ma}=useReactFlow(),El=useAppStore(Ef=>Ef.setSelectedDecisionId),{updateDecision:wl,getDecision:Sl}=useFlow();reactExports.useEffect(()=>{(async()=>{const Zf=Sl(ya);if(!Zf)return;const dp=(await Promise.all(Zf.cases.map(async hp=>await introspectCase(hp)))).map(hp=>{const dg=isExpressionPattern(hp.condition)||isGroupExpressionPattern(hp.condition),pg=hp.body;return{kind:dg?"expression":"string",condition:dg?hp.condition.toString():hp.condition.value,action:pg.value}});ba(dp)})()},[ya]);const Cl={cases:[...ma,{kind:"string",condition:"",action:""}]},Mc=Ef=>{const Zf=Ef.kind==="expression"?new ExpressionPattern$1(Ef.condition):LiteralPattern$1.String(Ef.condition),Jf=LiteralPattern$1.Id(Ef.action);return new CasePattern$1(Zf,Jf).toString()};return jsxRuntimeExports.jsxs("div",{className:"p-4 transition-all duration-300 w-full flex flex-col gap-4 h-full",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center gap-4",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx("div",{className:"relative",children:jsxRuntimeExports.jsx("div",{className:"dashboard-model-icon text-xl!",children:jsxRuntimeExports.jsx(Icon,{icon:icons.decision,className:"text-white"})})}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("h4",{children:ya})})]})}),jsxRuntimeExports.jsx("button",{onClick:()=>El(null),className:"w-6 h-6 text-base bg-secondary rounded-xl flex items-center justify-center shadow-lg cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"text-white"})})]})}),jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-4 overflow-y-auto scrollbar-none",children:jsxRuntimeExports.jsx(Formik,{initialValues:Cl,enableReinitialize:!0,onSubmit:Ef=>{const Jf=va().find(hp=>hp.type==="decision"&&hp.data?.name===ya);Jf&&Ma(hp=>{const dg=hp.map(pg=>{if(pg.id===Jf.id&&pg.type==="decision"){const hg=Ef.cases.filter(mg=>mg.condition.trim()&&mg.action.trim()).map((mg,gg)=>({id:(Array.isArray(pg.data.conditions)?pg.data.conditions:[])[gg]?.id||`cond-${Jf.id}-${gg+1}`,label:mg.action}));return{...pg,data:{...pg.data,conditions:hg}}}return pg});return console.log(dg),dg});const dp=Ef.cases.filter(hp=>hp.condition.trim()&&hp.action.trim()).map(Mc);wl(ya,dp)},children:({values:Ef,setFieldValue:Zf,isValid:Jf,dirty:dp})=>jsxRuntimeExports.jsxs(Form$7,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx(FieldArray,{name:"cases",render:hp=>jsxRuntimeExports.jsx(DecisionCasesList,{cases:Ef.cases,onChangeKind:(dg,pg)=>Zf(`cases.${dg}.kind`,pg),onChangeCondition:(dg,pg)=>Zf(`cases.${dg}.condition`,pg),onChangeAction:(dg,pg)=>Zf(`cases.${dg}.action`,pg),onRemove:dg=>hp.remove(dg),onAdd:()=>hp.push({kind:"string",condition:"",action:""}),onAddAt:dg=>hp.insert(dg,{kind:"string",condition:"",action:""})})}),jsxRuntimeExports.jsx("div",{className:"flex",children:jsxRuntimeExports.jsxs("button",{type:"submit",disabled:!Jf||!dp,className:"w-full px-4 py-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-md text-[rgba(255,255,255,0.9)] hover:bg-table-header disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:content-save",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Save"})]})})]})})})]})},DecisionCasesList=({cases:ya,onChangeKind:ma,onChangeCondition:ba,onChangeAction:va,onRemove:Ma,onAdd:El,onAddAt:wl})=>{const Sl=reactExports.useRef(null);reactExports.useEffect(()=>{const Mc=Ef=>{if(Ef.ctrlKey&&Ef.key==="Enter"){Ef.preventDefault();const Zf=document.activeElement;if(!Zf)return;const Jf=Zf.closest("[data-case-index]");if(!Jf)return;const dp=parseInt(Jf.getAttribute("data-case-index")||"-1",10);if(dp===-1)return;const dg=dp===ya.length-1?ya.length:dp+1;wl(dg),requestAnimationFrame(()=>{setTimeout(()=>{const pg=document.querySelector(`[data-case-index="${dg}"]`);if(pg){const hg=pg.querySelector('input[data-input-type="condition"]');if(hg){hg.focus();return}const mg=pg.querySelector("[data-expression-builder]");if(mg){const gg=mg.querySelector("input");if(gg){gg.focus();return}}}},50)})}};return document.addEventListener("keydown",Mc),()=>{document.removeEventListener("keydown",Mc)}},[ya.length,wl]);const Cl=Mc=>{Sl.current=Mc};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center justify-end",children:jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{const Mc=ya.length;El(),requestAnimationFrame(()=>{const Ef=document.getElementById(`decision-case-${Mc}`);Ef&&Ef.scrollIntoView({behavior:"smooth",block:"center"})})},className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})}),ya.map((Mc,Ef)=>jsxRuntimeExports.jsxs("div",{id:`decision-case-${Ef}`,"data-case-index":Ef,className:"flex flex-col gap-3 p-3 bg-secondary rounded-md",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntimeExports.jsx("label",{className:"text-sm text-[rgba(255,255,255,0.7)]",children:"Condition"}),jsxRuntimeExports.jsxs("div",{className:"relative flex items-center input-container p-0!",children:[jsxRuntimeExports.jsx(Selector,{value:Mc.kind,onChange:Zf=>ma(Ef,Zf),allowed:["string","expression"]}),Mc.kind==="expression"?jsxRuntimeExports.jsx("div",{className:"grow","data-expression-builder":!0,onFocus:()=>Cl(Ef),tabIndex:-1,children:jsxRuntimeExports.jsx(ExpressionBuilder,{expression:Mc.condition,onExpressionChange:Zf=>ba(Ef,Zf)})}):jsxRuntimeExports.jsx("input",{"data-input-type":"condition",className:"flex-1 bg-transparent border-none outline-none",placeholder:"Match string, e.g. salary is greater than 1000",value:Mc.condition,onChange:Zf=>ba(Ef,Zf.target.value),onFocus:()=>Cl(Ef)})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1 flex-1",children:[jsxRuntimeExports.jsx("label",{className:"text-sm text-[rgba(255,255,255,0.7)]",children:"Action"}),jsxRuntimeExports.jsx("input",{"data-input-type":"action",className:"bg-secondary text-white rounded px-2 py-1 text-sm",placeholder:"Action",value:Mc.action,onChange:Zf=>va(Ef,Zf.target.value),onFocus:()=>Cl(Ef)})]}),jsxRuntimeExports.jsx("div",{className:"flex items-end",children:jsxRuntimeExports.jsx("button",{type:"button",className:"w-6 h-6 text-base bg-secondary rounded-xl flex items-center justify-center shadow-lg cursor-pointer",onClick:()=>Ma(Ef),title:"Remove case",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"text-white"})})})]})]},Ef))]})},ActivityTaskNode=({data:ya})=>{const{name:ma,nodeId:ba,isSelected:va,onNodeClick:Ma,getEdgesForNode:El,onDeleteEdge:wl,onNodeRightClick:Sl,isEditable:Cl}=ya,Mc=hp=>{if(!El||!wl)return;const pg=El(ba).find(hg=>hp==="source"?hg.source===ba:hg.target===ba);pg&&wl(pg.id)},Ef=!!El?.(ba).some(hp=>hp.target===ba),Zf=!!El?.(ba).some(hp=>hp.source===ba),{moduleName:Jf}=useParams(),dp=()=>{const hp=ma;return isAgent(Jf||"",hp)?icons.agent:isEvent(Jf||"",hp)?icons.action:icons.record};return jsxRuntimeExports.jsxs("div",{className:`w-[300px]! workflow-badge px-3! py-0! ${va?" border-checkbox-selected":"border-transparent"} group`,onClick:hp=>{hp.stopPropagation(),Ma(ba,hp.ctrlKey||hp.metaKey)},onContextMenu:Cl?hp=>{hp.preventDefault(),hp.stopPropagation(),Sl(ba,hp.clientX,hp.clientY)}:hp=>hp.preventDefault(),children:[jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:Position.Top,className:"border-2 border-solid border-primary-font"}),Cl&&Ef&&jsxRuntimeExports.jsx("button",{title:"Remove incoming connection",onClick:hp=>{hp.stopPropagation(),Mc("target")},className:"absolute -top-5 left-1/2 -translate-x-1/2 w-5 h-5 grid place-items-center rounded-full bg-white border shadow hover:bg-red-500 hover:text-white text-gray-600 opacity-0 group-hover:opacity-100 cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"w-3 h-3"})})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:dp()})}),jsxRuntimeExports.jsx("span",{className:"py-0.5 px-4 rounded-md bg-secondary border border-border-color w-fit break-all text-primary-font text-sm",children:ma})]}),jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx(Handle,{type:"source",position:Position.Bottom,className:"border-2 border-solid border-primary-font"}),Cl&&Zf&&jsxRuntimeExports.jsx("button",{title:"Remove outgoing connection",onClick:hp=>{hp.stopPropagation(),Mc("source")},className:"absolute -bottom-5 left-1/2 -translate-x-1/2 w-5 h-5 grid place-items-center rounded-full bg-white border shadow hover:bg-red-500 hover:text-white text-gray-600 opacity-0 group-hover:opacity-100 cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"w-3 h-3"})})]})]})},ConditionLabel=({nodeId:ya,condition:ma,onUpdate:ba,layout:va="horizontal",isEditable:Ma})=>{const[El,wl]=reactExports.useState(!1),[Sl,Cl]=reactExports.useState(ma.label),Mc=reactExports.useRef(null),Ef=()=>{Sl.trim()!==""&&Sl.trim()!==ma.label?ba(ya,ma.id,Sl.trim()):Cl(ma.label),wl(!1)},Zf=Jf=>{Jf.key==="Enter"?Ef():Jf.key==="Escape"&&(Cl(ma.label),wl(!1))};return reactExports.useEffect(()=>{El&&Mc.current?.focus()},[El]),El?jsxRuntimeExports.jsx("input",{ref:Mc,type:"text",value:Sl,onChange:Jf=>Cl(Jf.target.value),onBlur:Ef,onKeyDown:Zf,className:"text-xs py-1! px-2! border border-blue-500 rounded shadow-lg focus:ring-2 focus:ring-blue-300 outline-none",style:{width:`${Math.max(80,Sl.length*8+10)}px`}}):va==="vertical"?jsxRuntimeExports.jsx("div",{className:"nodrag nopan group flex flex-col items-center gap-1",children:jsxRuntimeExports.jsx("div",{onClick:Jf=>{Jf.stopPropagation(),Ma&&wl(!0)},title:"Click to edit",className:"relative group text-xs py-1 px-2 bg-primary text-primary-font rounded shadow-sm cursor-pointer hover:bg-muted transition-colors",children:ma.label})}):jsxRuntimeExports.jsx("div",{className:"nodrag nopan group relative",children:jsxRuntimeExports.jsx("div",{className:"flex items-center gap-1",children:jsxRuntimeExports.jsx("div",{onClick:Jf=>{Jf.stopPropagation(),Ma&&wl(!0)},title:"Click to edit",className:"text-xs py-1 px-2 bg-primary text-primary-font rounded shadow-sm cursor-pointer hover:bg-muted transition-colors",children:ma.label})})})},DecisionGatewayNode=({data:ya})=>{const{name:ma,nodeId:ba,isSelected:va,onNodeClick:Ma,conditions:El=[],onUpdateCondition:wl,getEdgesForNode:Sl,onDeleteEdge:Cl,onNodeRightClick:Mc,isEditable:Ef}=ya,dp=Math.max(280,80*(El.length+1)),hp=!!Sl?.(ba).some(pg=>pg.target===ba),dg=pg=>{if(pg.stopPropagation(),!Sl||!Cl)return;const hg=Sl(ba).find(mg=>mg.target===ba);hg&&Cl(hg.id)};return jsxRuntimeExports.jsxs("div",{className:"relative mx-auto group",style:{width:`${dp}px`,height:"88px"},children:[jsxRuntimeExports.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 -top-2",children:jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx(Handle,{type:"target",className:"border-2 border-solid border-primary-font",position:Position.Top}),hp&&Ef&&jsxRuntimeExports.jsx("button",{title:"Remove incoming connection",onClick:dg,className:"absolute -top-4 left-1/2 -translate-x-1/2 w-5 h-5 grid place-items-center rounded-full bg-white border shadow hover:bg-red-500 hover:text-white text-gray-600 opacity-0 group-hover:opacity-100 cursor-pointer z-[5]",children:"×"})]})}),jsxRuntimeExports.jsx("div",{className:`absolute inset-0 shadow-sm cursor-pointer ${va?"bg-checkbox-selected":"bg-secondary"}`,style:{clipPath:"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",padding:"2px"},onClick:pg=>{pg.stopPropagation(),Ma(ba,pg.ctrlKey||pg.metaKey)},onContextMenu:Ef?pg=>{pg.preventDefault(),pg.stopPropagation(),Mc(ba,pg.clientX,pg.clientY)}:pg=>pg.preventDefault(),children:jsxRuntimeExports.jsx("div",{className:"w-full h-full flex flex-col items-center justify-center bg-primary",style:{clipPath:"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)"},children:jsxRuntimeExports.jsx("div",{className:"font-medium text-xs text-primary-font",children:ma})})}),El.map((pg,hg)=>{const gg=`calc(${100/(El.length+1)}% * ${hg+1})`;return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"absolute",style:{bottom:0,left:gg,transform:"translateX(-50%)"},children:jsxRuntimeExports.jsx(Handle,{type:"source",position:Position.Bottom,id:pg.id,className:"border-2 border-solid border-primary-font",style:{boxShadow:"0 2px 4px rgba(0,0,0,0.2)"}})}),jsxRuntimeExports.jsx("div",{className:"absolute group/cond",style:{bottom:"-40px",left:gg,transform:"translateX(-50%)"},children:jsxRuntimeExports.jsx(ConditionLabel,{nodeId:ba,condition:pg,onUpdate:wl,layout:"vertical",isEditable:Ef})})]},pg.id)})]})},DecisionNode=({id:ya,data:ma})=>jsxRuntimeExports.jsx("div",{className:"relative mx-auto group",style:{width:"280px",height:"88px"},children:jsxRuntimeExports.jsx("div",{className:`absolute inset-0 shadow-sm cursor-pointer ${ma.isSelected?"bg-checkbox-selected":"bg-secondary"}`,style:{clipPath:"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",padding:"2px"},onClick:ba=>{ba.stopPropagation(),ma.onNodeClick?.(ya,ba.ctrlKey||ba.metaKey)},onContextMenu:ma.isEditable?ba=>{ba.preventDefault(),ba.stopPropagation(),ma.onNodeRightClick?.(ya,ba.clientX,ba.clientY)}:ba=>ba.preventDefault(),children:jsxRuntimeExports.jsx("div",{className:"w-full h-full flex flex-col items-center justify-center bg-primary",style:{clipPath:"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)"},children:jsxRuntimeExports.jsx("div",{className:"font-medium text-xs text-primary-font",children:ma.name})})})}),AddSwimlaneNode=({index:ya,swimlaneId:ma,onAddNode:ba})=>{const[va,Ma]=reactExports.useState(null);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[reactDomExports.createPortal(va&&(va==="decision"?jsxRuntimeExports.jsx(Agents$1,{showDecisions:!0,closeHandler:()=>Ma(null),onCreatePattern:El=>{ba(ma,va,El,ya),Ma(null)}}):jsxRuntimeExports.jsx(Agents$1,{showEvents:!0,closeHandler:()=>Ma(null),onCreatePattern:El=>{ba(ma,va,El,ya),Ma(null)}})),document.body),jsxRuntimeExports.jsxs(lo,{as:"div",className:"relative",onClick:El=>El.stopPropagation(),children:[jsxRuntimeExports.jsx(ft,{className:"add-workflow-button w-6! h-6! text-[10px]!",title:"Add Node in Flow",children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})}),jsxRuntimeExports.jsxs(yt,{portal:!0,className:"context-menu",anchor:"bottom start",children:[jsxRuntimeExports.jsx(gt,{children:jsxRuntimeExports.jsxs("div",{className:"context-menu-icon justify-start! ",onClick:()=>Ma("activity"),children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-record-bg text-record-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.instruction})}),"Step"]})}),jsxRuntimeExports.jsx(gt,{children:jsxRuntimeExports.jsxs("div",{className:"context-menu-icon justify-start! ",onClick:()=>Ma("decision"),children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.decision})}),"Decision"]})})]})]})]})},SwimlaneNode=({data:ya})=>{const{onAddNode:ma,swimlaneId:ba,onSwimlaneRightClick:va,isSelected:Ma,onSwimlaneClick:El,childCount:wl=0,width:Sl,isEditable:Cl,name:Mc,hasUnconnectedChildren:Ef}=ya,dp=ya.height??60+wl*160,hp=wl>0&&Ef?.()===!0;return jsxRuntimeExports.jsxs("div",{className:`group relative rounded-md text-left border-2 ${Ma?"border-solid! border-checkbox-selected! shadow-selected-node":hp?"border-dashed border-orange-500 animate-incomplete-border":"border-dashed border-[rgba(255,255,255,0.6)]"}`,style:{height:`${dp}px`,width:`${ya?.width||Sl||750}px`},onClick:Cl?dg=>{dg.stopPropagation(),El(ba,dg.ctrlKey||dg.metaKey)}:void 0,onContextMenu:Cl?dg=>{dg.preventDefault(),dg.stopPropagation(),va(ba,dg.clientX,dg.clientY)}:dg=>dg.preventDefault(),children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:Position.Top,style:{visibility:"hidden"}}),jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between p-4 gap-2 bg-primary rounded-t-lg relative",onClick:dg=>{dg.stopPropagation()},children:[jsxRuntimeExports.jsx("div",{className:"font-semibold text-sm py-1",children:Mc||ba}),hp&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-orange-500 animate-pulse",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:alert-circle",className:"w-4 h-4"}),jsxRuntimeExports.jsx("div",{className:"leading-none!",children:"Connect steps to save flow"})]}),Cl&&jsxRuntimeExports.jsx(AddSwimlaneNode,{index:0,swimlaneId:ba,onAddNode:ma})]})]})},SWIMLANE_WIDTH=450,CHILD_NODE_WIDTH=300,HORIZONTAL_PADDING=60,CHILD_LEFT_X=30,NODE_SPACING=160,NODE_START_Y=110,DECISION_BASE_WIDTH=280,DECISION_HANDLE_MIN_SPACING=80,SWIMLANE_EXTRA_MARGIN=20,NODE_HEIGHT=50,DECISION_NODE_HEIGHT=88,CONDITION_LABEL_HEIGHT=40;function getDecisionWidth(ya){const ma=Array.isArray(ya?.data?.conditions)?ya.data.conditions.length:0;return Math.max(DECISION_BASE_WIDTH,DECISION_HANDLE_MIN_SPACING*(ma+1))}function getNodeHeight(ya){if(ya.type==="decision"){const ma=Array.isArray(ya?.data?.conditions)&&ya.data.conditions.length>0;return DECISION_NODE_HEIGHT+(ma?CONDITION_LABEL_HEIGHT:0)}return NODE_HEIGHT}function layoutSwimlane(ya,ma,ba){return layoutSwimlaneWithDagre(ya,ma,ba)}function layoutSwimlaneWithDagre(ya,ma,ba){const va=ya.find(cy=>cy.id===ba);if(!va)return ya;const Ma=ya.filter(cy=>cy.parentId===ba);if(Ma.length===0)return ya.map(cy=>cy.id===ba?{...cy,data:{...cy.data,width:SWIMLANE_WIDTH,height:NODE_START_Y,childCount:0}}:cy);const El=new Set(Ma.map(cy=>cy.id)),wl=ma.filter(cy=>cy&&El.has(cy.source)&&El.has(cy.target)),Sl=cy=>cy.type==="decision"?getDecisionWidth(cy):CHILD_NODE_WIDTH,Cl=Ma.map(cy=>({id:cy.id,width:Sl(cy),height:getNodeHeight(cy),position:{x:0,y:0},data:{}})),{nodes:Mc}=dagreLayout(Cl,wl,"TB",HORIZONTAL_PADDING,NODE_SPACING);let Ef=1/0,Zf=-1/0,Jf=1/0,dp=-1/0;for(const cy of Mc)Ef=Math.min(Ef,cy.position.x),Zf=Math.max(Zf,cy.position.x+cy.width),Jf=Math.min(Jf,cy.position.y),dp=Math.max(dp,cy.position.y+cy.height);const hp=isFinite(Ef)?Zf-Ef:0,dg=isFinite(Jf)?dp-Jf:0,pg=Math.max(SWIMLANE_WIDTH,hp+2*CHILD_LEFT_X+SWIMLANE_EXTRA_MARGIN),hg=Math.max(CHILD_LEFT_X,(pg-hp)/2),mg=dg+2*NODE_START_Y,gg=va.data?.width||SWIMLANE_WIDTH,sy=pg-gg,ly=new Map;for(const cy of Mc){const uy=cy.position.x-(isFinite(Ef)?Ef:0)+hg,H1=cy.position.y-(isFinite(Jf)?Jf:0)+NODE_START_Y;ly.set(cy.id,{x:uy,y:H1})}return ya.map(cy=>{if(cy.id===ba)return{...cy,data:{...cy.data,width:pg,height:mg,childCount:Ma.length}};if(cy.parentId===ba){const uy=ly.get(cy.id);if(uy)return{...cy,position:{x:uy.x,y:uy.y}}}return cy.type==="swimlane"&&cy.position.x>va.position.x&&sy!==0?{...cy,position:{...cy.position,x:cy.position.x+sy}}:cy})}function layoutSwimlaneContainersWithDagre(ya,ma,ba){const va=ya.filter(Mc=>Mc.type==="swimlane");if(va.length===0)return ya;const Ma=new Map;ba.forEach((Mc,Ef)=>{Mc.forEach(Zf=>Ma.set(Zf,Ef))});const El=new Map;va.forEach(Mc=>{const Ef=Ma.get(Mc.data.name)||"__no_agent__";El.has(Ef)||El.set(Ef,[]),El.get(Ef)?.push(Mc.id)});const wl=ma.map(Mc=>Mc.name).filter(Mc=>El.has(Mc)).concat(El.has("__no_agent__")?["__no_agent__"]:[]),Sl=new Map;let Cl=50;return wl.forEach(Mc=>{const Zf=(El.get(Mc)||[]).map(Jf=>va.find(dp=>dp.id===Jf)).filter(Jf=>!!Jf);if(Zf.length>0){const Jf=Zf.map(hg=>({id:hg.id,width:hg.data?.width||SWIMLANE_WIDTH,height:hg.data?.height||NODE_START_Y,position:{x:0,y:0},data:{}})),dp=Zf.slice(0,-1).map((hg,mg)=>({id:`l-${Mc}-${mg}`,source:hg.id,target:Zf[mg+1].id})),{nodes:hp}=dagreLayout(Jf,dp,"LR",HORIZONTAL_PADDING,NODE_SPACING);let dg=1/0;hp.forEach(hg=>dg=Math.min(dg,hg.position.x));let pg=0;hp.forEach(hg=>{const mg=Cl+hg.position.x-dg;Sl.set(hg.id,{x:mg,y:500}),pg=Math.max(pg,mg+hg.width-Cl)}),Cl+=pg+HORIZONTAL_PADDING*2}}),ya.map(Mc=>{if(Mc.type==="swimlane"){const Ef=Sl.get(Mc.id);if(Ef)return{...Mc,position:Ef}}return Mc})}const useSwimlaneDataManager=(ya,ma,ba,va)=>{const{addFlow:Ma,removeFlow:El,updateFlow:wl,removeDecision:Sl,getDecision:Cl}=useFlow(),{removeAgent:Mc,getAgentFlows:Ef}=useAgent(),Zf=reactExports.useCallback(sy=>{const ly=ya.find(H1=>H1.id===sy.source),cy=ly?.type==="decision";let uy;if(cy&&sy.sourceHandle){const H1=ly?.data?.conditions?.find(lE=>lE.id===sy.sourceHandle);H1&&(uy=H1.label)}va(H1=>{const lE=addEdge({...sy,type:"default",animated:!1,style:{stroke:"#FFFFFF99"},data:{isCondition:cy,label:uy}},H1);if(ly?.parentId){const R_=ly.parentId,V1=ya.find(n0=>n0.id===R_),q1=lE.filter(n0=>ya.find(aE=>aE.id===n0.source)?.parentId===R_).map(n0=>{const aE=ya.find(O_=>O_.id===n0.source),P_=ya.find(O_=>O_.id===n0.target);return{source:aE?.data.name,target:P_?.data.name,label:n0.data?.label}});V1&&wl(V1.data.name,q1)}return lE}),ma(H1=>{const lE=H1.find(n0=>n0.id===sy.source),R_=H1.find(n0=>n0.id===sy.target);if(!lE||!R_)return H1;const V1=lE?.parentId||lE?.data?.parentSwimlane;if(!V1)return H1;const q1=[...ba,{source:sy.source,target:sy.target}];return layoutSwimlane(H1,q1,V1)})},[ya,va,ma,ba,wl]),Jf=reactExports.useCallback(sy=>{const ly=ya.find(aE=>aE.id===sy);if(!ly)return;const cy=String(ly.data.parentSwimlane),uy=ya.find(aE=>aE.id===cy),H1=ya.filter(aE=>aE.id!==sy),lE=ba.filter(aE=>aE.source!==sy&&aE.target!==sy),R_=lE.filter(aE=>H1.find(P_=>P_.id===aE.source)?.parentId===cy).map(aE=>{const P_=H1.find(sN=>sN.id===aE.source),O_=H1.find(sN=>sN.id===aE.target);return{source:P_?.data.name,target:O_?.data.name,label:aE.data?.label}});uy&&wl(uy.data.name,R_),va(lE);const V1=H1.filter(aE=>aE.data.parentSwimlane===cy).sort((aE,P_)=>{const O_=aE.data.childIndex,sN=P_.data.childIndex;return O_-sN}).map((aE,P_)=>({...aE,data:{...aE.data,childIndex:P_}})),q1=H1.map(aE=>aE.data?.parentSwimlane===cy&&V1.find(P_=>P_.id===aE.id)||aE),n0=layoutSwimlane(q1,lE,cy);ma(n0)},[ya,ba,ma,va,wl]),dp=reactExports.useCallback(sy=>{const ly=ya.find(cy=>cy.id===sy);if(ly)if(ly.type==="agent"){const cy=Ef(sy);ya.filter(H1=>H1.type==="swimlane"&&cy.some(lE=>lE.name===H1.data.name)).forEach(H1=>dp(H1.id)),Mc(sy)}else if(ly.type==="decisionNode"){const cy=ly.data?.name||ly.id;try{Sl(cy)}catch{}ya.filter(H1=>H1.type==="decision"&&H1.data?.name===cy).forEach(H1=>Jf(H1.id)),ma(H1=>H1.filter(lE=>lE.id!==sy))}else if(ly.type==="swimlane"){const cy=ly.data.agentName;El(ly.data.name,cy);const uy=new Set([sy]);ya.forEach(H1=>{H1.parentId===sy&&uy.add(H1.id)}),ma(H1=>{const lE=H1.filter(R_=>!uy.has(R_.id));return layoutSwimlane(lE,ba,"")}),va(H1=>H1.filter(lE=>!(uy.has(lE.source)||uy.has(lE.target))))}else ly.parentId&&Jf(sy)},[ya,ma,va,Jf,El,ba,Mc,Ef,Sl]),hp=reactExports.useCallback(async(sy,ly="activity",cy,uy)=>{const H1=v4$2();let lE=[];if(ly==="decision")try{const R_=Cl(cy);R_&&R_.cases&&R_.cases.length>0&&(lE=(await Promise.all(R_.cases.map(async n0=>await introspectCase(n0)))).map(n0=>n0.body.value).map((n0,aE)=>({id:`cond-${H1}-${aE+1}`,label:n0})))}catch(R_){console.error("Error loading decision cases:",R_),lE=[{id:`cond-${H1}-1`,label:"Yes"},{id:`cond-${H1}-2`,label:"No"}]}ma(R_=>{const V1=R_.filter(JY=>JY.parentId===sy),q1=uy!==void 0&&uy>=0&&uy<=V1.length?uy:0,n0=V1.sort((JY,_pe)=>{const _Q=JY.data.childIndex,Cpe=_pe.data.childIndex;return _Q-Cpe}),aE={name:cy,parentSwimlane:sy,childIndex:q1,isStart:ly==="start",...ly==="decision"&&{conditions:lE.length>0?lE:[{id:`cond-${H1}-1`,label:"Yes"},{id:`cond-${H1}-2`,label:"No"}]}},O_=R_.find(JY=>JY.id===sy)?.data?.width||280,sN={id:H1,type:ly==="start"?"startEvent":ly==="end"?"endEvent":ly,position:{x:ly==="decision"?(O_-220)/2:O_-220-30,y:70+q1*160},data:aE,draggable:!1,parentId:sy,extent:"parent"},uN=[...n0.slice(0,q1),sN,...n0.slice(q1)].map((JY,_pe)=>({...JY,data:{...JY.data,childIndex:_pe}})),lN=R_.filter(JY=>JY.parentId!==sy||JY.id===sy),_F=R_.find(JY=>JY.id===sy);if(!_F)return R_;const eee=[...lN.filter(JY=>JY.id!==sy),_F,...uN];return layoutSwimlane(eee,ba,sy)})},[ma,ba,Cl]),dg=reactExports.useCallback((sy,ly)=>{ma(cy=>{if(cy.some(n0=>n0.data.name===sy))return cy;const uy=cy.filter(n0=>n0.type==="swimlane"),H1=uy.length>0?Math.max(...uy.map(n0=>n0.position.x+(n0.data?.width||280))):50,lE=(isFinite(H1)?H1:50)+60,V1={id:v4$2(),type:"swimlane",position:{x:lE,y:70},data:{name:sy,childCount:0,width:280,height:70,agentName:ly},draggable:!1},q1=[...cy,V1];return layoutSwimlane(q1,ba,"")}),Ma(sy)},[ma,Ma,ba]),pg=reactExports.useCallback(sy=>{const ly=ba.find(R_=>R_.id===sy),uy=ya.find(R_=>R_.id===ly?.source)?.parentId,H1=ya.find(R_=>R_.id===uy),lE=ba.filter(R_=>R_.id!==sy);if(va(lE),H1){const R_=lE.filter(V1=>ya.find(q1=>q1.id===V1.source)?.parentId===uy).map(V1=>{const q1=ya.find(aE=>aE.id===V1.source),n0=ya.find(aE=>aE.id===V1.target);return{source:q1?.data.name,target:n0?.data.name,label:V1.data?.label}});wl(H1.data.name,R_),ma(V1=>layoutSwimlane(V1,lE,uy))}},[ba,va,ya,ma,wl]),hg=reactExports.useCallback(sy=>{ma(ly=>ly.map(cy=>{if(cy.id===sy&&cy.type==="decision"){const uy=Array.isArray(cy.data.conditions)?cy.data.conditions:[],lE={id:`cond-${cy.id}-${uy.length+1}`,label:`Condition ${uy.length+1}`};return{...cy,data:{...cy.data,conditions:[...uy,lE]}}}return cy}))},[ma]),mg=reactExports.useCallback((sy,ly,cy)=>{ma(uy=>uy.map(H1=>{if(H1.id===sy&&H1.type==="decision"){const R_=(Array.isArray(H1.data.conditions)?H1.data.conditions:[]).map(V1=>V1.id===ly?{...V1,label:cy}:V1);return{...H1,data:{...H1.data,conditions:R_}}}return H1}))},[ma]),gg=reactExports.useCallback((sy,ly)=>{let cy;va(uy=>{if(cy=uy.find(H1=>H1.source===sy&&H1.sourceHandle===ly),cy){const H1=uy.filter(q1=>q1.id!==cy?.id),R_=ya.find(q1=>q1.id===cy?.source)?.parentId,V1=ya.find(q1=>q1.id===R_);if(V1){const q1=H1.filter(n0=>ya.find(aE=>aE.id===n0.source)?.parentId===R_).map(n0=>{const aE=ya.find(O_=>O_.id===n0.source),P_=ya.find(O_=>O_.id===n0.target);return{source:aE?.data.name,target:P_?.data.name,label:n0.data?.label}});wl(V1.data.name,q1)}return H1}return uy}),ma(uy=>{let H1=uy.map(lE=>{if(lE.id===sy&&lE.type==="decision"){const V1=(Array.isArray(lE.data.conditions)?lE.data.conditions:[]).filter(q1=>q1.id!==ly);if(V1.length>0)return{...lE,data:{...lE.data,conditions:V1}}}return lE});if(cy){const lE=H1.find(q1=>q1.id===cy?.source),R_=lE?.parentId||lE.data?.parentSwimlane,V1=ya.find(q1=>q1.id===R_);lE&&V1&&(H1=layoutSwimlane(H1,ba,R_))}return H1})},[ba,va,ma,ya,wl]);return{onConnect:Zf,addNodeToSwimlane:hp,deleteNode:dp,addNewSwimlane:dg,addConditionToGateway:hg,updateConditionLabel:mg,deleteCondition:gg,deleteEdge:pg}},useSwimlaneInteraction=(ya,ma,ba,va,Ma,El,wl,Sl)=>{const{removeFlow:Cl,updateFlow:Mc}=useFlow(),Ef=useAppStore(V1=>V1.setSelectedAgentId),Zf=useAppStore(V1=>V1.setSelectedDecisionId),{moduleName:Jf,teamName:dp,githubOrg:hp}=useParams(),dg=useNavigate(),{zoomHandler:pg}=useZoomHandler(),[hg,mg]=reactExports.useState(null),[gg,sy]=reactExports.useState(!1),ly=reactExports.useCallback(()=>{mg(null),sy(!0)},[]),cy=reactExports.useCallback(()=>{sy(!1)},[]),uy=reactExports.useCallback(()=>{const V1=new Set(Ma);wl.forEach(sN=>{Cl(sN),V1.add(sN),ya.forEach(uN=>{uN.parentId===sN&&V1.add(uN.id)})});const q1=ya.filter(sN=>!V1.has(sN.id)),n0=ba.filter(sN=>!(V1.has(sN.source)||V1.has(sN.target)));va(n0);const aE=new Set;Ma.forEach(sN=>{const uN=ya.find(lN=>lN.id===sN);uN&&typeof uN.data.parentSwimlane=="string"&&aE.add(uN.data.parentSwimlane)}),aE.forEach(sN=>{const uN=n0.filter(lN=>ya.find(_F=>_F.id===lN.source)?.parentId===sN).map(lN=>({source:lN.source,target:lN.target,label:lN.data?.label}));Mc(sN,uN)});const P_=q1.filter(sN=>sN.type==="swimlane").sort((sN,uN)=>sN.position.x-uN.position.x),O_=q1.map(sN=>{if(sN.type==="swimlane"){const lN=50+P_.findIndex(JY=>JY.id===sN.id)*330,_F=q1.filter(JY=>JY.parentId===sN.id),eee=70+_F.length*160+0;return{...sN,position:{...sN.position,x:lN},data:{...sN.data,childCount:_F.length,height:eee}}}if(typeof sN.data.parentSwimlane=="string"&&aE.has(sN.data.parentSwimlane)){const uN=sN.data.parentSwimlane,_F=q1.filter(eee=>eee.data.parentSwimlane===uN).sort((eee,JY)=>{const _pe=eee.data.childIndex,_Q=JY.data.childIndex;return _pe-_Q}).findIndex(eee=>eee.id===sN.id);return{...sN,data:{...sN.data,childIndex:_F},position:{x:(sN.type==="decision",30),y:70+_F*160}}}return sN});ma(O_),El(new Set),Sl(new Set),mg(null)},[ya,ba,Ma,wl,ma,va,Cl,Mc,El,Sl]),H1=reactExports.useCallback((V1,q1)=>{const n0=ya.find(aE=>aE.id===V1);if(n0&&n0.type==="decision"){const aE=n0.data.name,P_=ya.find(O_=>O_.type==="decisionNode"&&O_.data?.name===aE);Ef(null),Zf(aE);return}if(n0&&n0.type==="decisionNode"){Zf(n0.data.name),Ef(null);return}if(n0&&n0.type==="activity"){const aE=n0.data.name;if(isAgent(Jf||"",aE)){const P_=ya.find(O_=>O_.id===aE);P_&&(Ef(P_.id),Zf(null),pg(P_.id))}else isEvent(Jf||"",aE)&&dg(`/design/workflow/${hp}/${dp}/${Jf}`,{state:{focusEventId:aE}});return}if(n0&&n0.type==="agent"){Ef(V1),Zf(null),setTimeout(()=>{pg(V1)},300);return}Sl(new Set),El(q1?new Set(Ma.has(V1)?[...Ma].filter(aE=>aE!==V1):[...Ma,V1]):new Set([V1]))},[Ma,El,Sl,ya,Jf,hp,dp,pg,dg,Ef,Zf]),lE=reactExports.useCallback((V1,q1)=>{El(new Set),Sl(q1?new Set(wl.has(V1)?[...wl].filter(n0=>n0!==V1):[...wl,V1]):new Set([V1]))},[wl,Sl,El]),R_=reactExports.useCallback(()=>{El(new Set),Sl(new Set),mg(null),Ef(null),Zf(null)},[El,Sl,Ef,Zf]);return{contextMenu:hg,setContextMenu:mg,isAddFlowModalOpen:gg,openAddFlowModal:ly,closeAddFlowModal:cy,deleteSelected:uy,handleNodeClick:H1,handleSwimlaneClick:lE,handleCanvasClick:R_}};function buildInitialStateFromFlows(ya,ma,ba,va){const Ma=[];let El=0;const wl=new Map;for(const[sy,ly]of ba)for(const cy of ly)wl.set(cy,sy);const Sl=[],Cl=[];let Mc=50;for(const sy of ya){const ly=v4$2(),cy=sy.name.replace(/\.flow$/,"");Sl.push({id:ly,type:"swimlane",position:{x:Mc,y:500},data:{name:cy,childCount:0,width:280,height:70,agentName:wl.get(cy)},draggable:!1});const uy=sy.toGraph(),H1=[],lE=new Map,R_=new Map;for(const q1 of uy){let n0=R_.get(q1.label);if(!n0)n0={label:q1.label,type:q1.type,on:q1.on?new Set(q1.on):void 0,next:new Set(q1.next||[])},R_.set(q1.label,n0);else{if(q1.next)for(const aE of q1.next)n0.next.add(aE);if((q1.on||n0.on)&&(n0.on||(n0.on=new Set),q1.on))for(const aE of q1.on)n0.on.add(aE);q1.type==="condition"&&(n0.type="condition")}}for(const q1 of R_.values()){const n0=v4$2();lE.set(q1.label,n0),El++;const aE=q1.type==="condition",P_=q1.on?Array.from(q1.on):[];H1.push({id:n0,type:aE?"decision":"activity",position:{x:0,y:0},data:{name:q1.label,description:aE?"Decision point":"Action",parentSwimlane:ly,...aE?{conditions:P_.map((O_,sN)=>({id:`cond-${n0}-${sN+1}`,label:O_}))}:{}},draggable:!1,parentId:ly,extent:"parent"})}for(const q1 of R_.values()){const n0=lE.get(q1.label);if(!n0)continue;const aE=Array.from(q1.next);for(let P_=0;P_<aE.length;P_++){const O_=aE[P_];let sN=lE.get(O_);sN||(sN=v4$2(),lE.set(O_,sN),El++,H1.push({id:sN,type:"activity",position:{x:0,y:0},data:{name:O_,description:"Action",parentSwimlane:ly},draggable:!1,parentId:ly,extent:"parent"}));const uN=q1.type==="condition";Ma.push({id:`${n0}-${sN}-${P_}`,source:n0,target:sN,type:"default",animated:!1,style:{stroke:"#FFFFFF99"},...uN?{sourceHandle:`cond-${n0}-${P_+1}`,data:{isCondition:!0}}:{}})}}Cl.push(...H1);const V1=Sl[Sl.length-1];V1&&(V1.data.height=70+H1.length*160,V1.data.childCount=H1.length),Mc+=350}const Ef=new Set(Sl.map(sy=>sy.data?.name));for(const[sy,ly]of ba)for(const cy of ly)Ef.has(cy)||(Sl.push({id:v4$2(),type:"swimlane",position:{x:Mc,y:500},data:{name:cy,childCount:0,width:280,height:70,agentName:sy},draggable:!1}),Ef.add(cy),Mc+=350);let Zf=[...Sl,...Cl];for(const sy of Sl)Zf=layoutSwimlane(Zf,Ma,sy.id);const Jf=layoutSwimlaneContainersWithDagre(Zf,ma,ba),dp=new Map(Jf.filter(sy=>sy.type==="swimlane").map(sy=>[sy.data.name,sy])),hp=[...Jf],dg=[...Ma],pg=new Set;for(const[sy,ly]of ba)if(ly.length>0){const cy=ly.map(uy=>dp.get(uy)).filter(uy=>!!uy).sort((uy,H1)=>uy.position.x-H1.position.x);if(cy.length>0){pg.add(sy);const uy=cy[0],H1=cy[cy.length-1],lE=H1.position.x+(H1.data?.width||280)-uy.position.x,V1=uy.position.x+lE/2-300/2;hp.push({id:sy,type:"agent",position:{x:V1,y:300},data:{label:sy}});for(const q1 of cy)dg.push({id:`${sy}-${q1.id}`,source:sy,target:q1.id,type:"default",style:{stroke:"#FFFFFF99"}})}}let hg=100;for(const{name:sy}of ma)pg.has(sy)||(hp.push({id:sy,type:"agent",position:{x:hg,y:-400},data:{label:sy}}),hg+=350);let mg=120;const gg=-50;for(const sy of va)hp.push({id:`decision-node-${sy}`,type:"decisionNode",position:{x:mg,y:gg},data:{name:sy}}),mg+=350;return{nodes:hp,edges:dg,nextNodeCounter:El}}const useSwimlaneState=({flowId:ya})=>{const{moduleName:ma}=useParams(),{getAgentFlows:ba}=useAgent(),va=useAppStore(sN=>sN.moduleDbChangeCount),[Ma,El,wl]=useNodesState([]),[Sl,Cl,Mc]=useEdgesState([]),[Ef,Zf]=reactExports.useState(new Set),[Jf,dp]=reactExports.useState(new Set),[hp,dg]=reactExports.useState(!1),[pg,hg]=reactExports.useState(!1),[mg,gg]=reactExports.useState(!1),[sy,ly]=reactExports.useState(null),cy=reactExports.useMemo(()=>{if(!ma)return null;try{const sN=fetchModule$2(ma),uN=ya?.replace(/\.flow$/,""),lN=uN?[sN.getFlow(uN)]:sN.getAllFlows(),_F=sN.getAgentNames(),JY=_F.map(Cpe=>sN.getAgent(Cpe)).map((Cpe,Tpe)=>({agent:Cpe,name:_F[Tpe]})),_pe=sN.getAllDecisions().map(Cpe=>Cpe.name),_Q=new Map;return JY.forEach(({name:Cpe})=>{const Tpe=ba(Cpe).map(opt=>opt.name.replace(/\.flow$/,""));_Q.set(Cpe,Tpe)}),{flows:lN,agentsWithCleanNames:JY,agentToFlowsMap:_Q,decisions:_pe}}catch(sN){return console.error("Failed to fetch module data:",sN),null}},[ma,ya,va]),uy=reactExports.useMemo(()=>cy?buildInitialStateFromFlows(cy.flows,cy.agentsWithCleanNames,cy.agentToFlowsMap,cy.decisions):{nodes:[],edges:[],nextNodeCounter:0},[cy]);reactExports.useEffect(()=>{El(uy.nodes),Cl(uy.edges)},[uy,El,Cl]);const H1=useSwimlaneDataManager(Ma,El,Sl,Cl),lE=useSwimlaneInteraction(Ma,El,Sl,Cl,Ef,Zf,Jf,dp),R_=()=>dg(!0),V1=()=>dg(!1),q1=()=>hg(!0),n0=()=>hg(!1),aE=sN=>{if(!Ma.some(lN=>lN.type==="swimlane"&&lN.data?.agentName===sN)){H1.addNewSwimlane(sN,sN);return}ly(sN),gg(!0)},P_=()=>{gg(!1),ly(null)};return{nodes:Ma,edges:Sl,onNodesChange:wl,onEdgesChange:Mc,...H1,addNewSwimlane:sN=>{sy&&H1.addNewSwimlane(sN,sy),P_()},...lE,selectedNodes:Ef,selectedSwimlanes:Jf,setSelectedNodes:Zf,setSelectedSwimlanes:dp,isAddAgentModalOpen:hp,openAddAgentModal:R_,closeAddAgentModal:V1,isAddDecisionModalOpen:pg,openAddDecisionModal:q1,closeAddDecisionModal:n0,isAddFlowModalOpen:mg,openAddFlowModal:aE,closeAddFlowModal:P_}},useSwimlaneHandlers=({setContextMenu:ya,deleteNode:ma,nodes:ba,openAddFlowModal:va})=>{const{setAgentPublic:Ma,getAgentPublic:El,getAgentFlows:wl}=useAgent(),Sl=reactExports.useCallback(Ef=>{Ef.defaultPrevented||(Ef.preventDefault(),ya({type:"canvas",x:Ef.clientX,y:Ef.clientY,onClose:()=>ya(null)}))},[ya]),Cl=reactExports.useCallback((Ef,Zf,Jf)=>{ba.find(hp=>hp.id===Ef)&&ya({type:"swimlane",x:Zf,y:Jf,onClose:()=>ya(null),onDelete:()=>ma(Ef),deleteLabel:"Delete Flow"})},[ba,ma,ya]),Mc=reactExports.useCallback((Ef,Zf,Jf)=>{const dp=ba.find(pg=>pg.id===Ef);if(!dp)return;let hp="Delete Node",dg;switch(dp.type){case"agent":{hp="Delete Agent";const pg=dp.data?.label||dp.id;let hg=!1;try{hg=El(pg)}catch{hg=!1}dg=[...wl(pg).length>0?[]:[{label:"Add Flow",action:()=>va(pg)}],{label:hg?"Make Private":"Make Public",action:async()=>{try{const sy=El(pg);await Ma(pg,!sy)}catch(sy){console.error("Error toggling agent public status:",sy)}}}];break}case"decisionNode":hp="Delete Decision";break;case"decision":hp="Delete Decision";break;case"activity":hp="Delete Activity";break;case"startEvent":hp="Delete Start Event";break;case"endEvent":hp="Delete End Event";break}ya({type:"node",x:Zf,y:Jf,onClose:()=>ya(null),onDelete:()=>ma(Ef),deleteLabel:hp,addOptions:dg})},[ba,ma,ya,va,Ma,El,wl]);return{handleCanvasRightClick:Sl,handleSwimlaneRightClick:Cl,handleNodeRightClick:Mc}},validationSchema$1=create$3().shape({name:create$6().required("Flow's Name is required").max(50,"Flow's Name must be less than 50 characters").matches(/^[a-zA-Z0-9_-]+$/,"Flow's Name cannot contain special characters or spaces")}),AddFlowModal=({onClose:ya,onSubmit:ma})=>{const ba=reactExports.useRef(null),va=useOutsideClickHandler(ya);return reactExports.useEffect(()=>{ba.current&&ba.current.focus()},[]),jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{name:""},onSubmit:Ma=>{ma(Ma.name),ya()},validationSchema:validationSchema$1,children:jsxRuntimeExports.jsxs(Form$7,{className:"modal-content",ref:va,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Flow"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ya})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(Kht,{name:"name",placeholder:"Flow Name",ref:ba})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:ya})]})})})},AgentFlowMenu=({menu:ya})=>{const{x:ma,y:ba,onClose:va,onDelete:Ma,deleteLabel:El,addOptions:wl}=ya;return jsxRuntimeExports.jsxs("div",{className:"context-menu fixed bg-white p-1 rounded-lg shadow-lg z-[999]",style:{top:ba,left:ma},onMouseLeave:va,children:[wl&&wl.map((Sl,Cl)=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-md transition-colors duration-100 hover:bg-gray-100 cursor-pointer",onClick:()=>{Sl.action(),va()},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:Sl.label==="Public"?"mdi:earth":icons.agentFlow})}),Sl.label]},Cl)),Ma&&jsxRuntimeExports.jsxs("div",{className:"context-menu-item",onClick:()=>{Ma(),console.log("onDelete",Ma),va()},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon text-del-icon bg-del-bg",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete})}),El]})]})},nodeTypes={swimlane:SwimlaneNode,activity:ActivityTaskNode,startEvent:ActivityTaskNode,endEvent:ActivityTaskNode,decision:DecisionGatewayNode,decisionNode:DecisionNode,agent:Agent},SwimlaneDiagram=({flowId:ya,zoomOnScroll:ma=!0,isInteractive:ba=!0})=>{const{isEditable:va}=useTeams(),Ma=va&&ba,{fitView:El}=useReactFlow(),{nodes:wl,edges:Sl,contextMenu:Cl,selectedNodes:Mc,selectedSwimlanes:Ef,setContextMenu:Zf,onNodesChange:Jf,onEdgesChange:dp,onConnect:hp,deleteNode:dg,addNodeToSwimlane:pg,addNewSwimlane:hg,updateConditionLabel:mg,handleNodeClick:gg,handleSwimlaneClick:sy,handleCanvasClick:ly,deleteEdge:cy,deleteCondition:uy,isAddFlowModalOpen:H1,openAddFlowModal:lE,closeAddFlowModal:R_,isAddAgentModalOpen:V1,openAddAgentModal:q1,closeAddAgentModal:n0,isAddDecisionModalOpen:aE,openAddDecisionModal:P_,closeAddDecisionModal:O_}=useSwimlaneState({flowId:ya}),{handleCanvasRightClick:sN,handleSwimlaneRightClick:uN,handleNodeRightClick:lN}=useSwimlaneHandlers({setContextMenu:Zf,deleteNode:dg,nodes:wl,openAddFlowModal:lE}),_F=wl.map(_pe=>{let _Q;return _pe.type==="swimlane"&&(_Q=()=>{const Cpe=wl.filter(Tpe=>Tpe.parentId===_pe.id);return Cpe.length===0?!1:Cpe.some(Tpe=>!Sl.some(Kpt=>Kpt.source===Tpe.id||Kpt.target===Tpe.id))}),{..._pe,data:{..._pe.data,isEditable:Ma,swimlaneId:_pe.id,onAddNode:pg,onSwimlaneRightClick:uN,onNodeRightClick:lN,onUpdateCondition:mg,onDeleteCondition:uy,nodeId:_pe.id,isSelected:_pe.type==="swimlane"?Ef.has(_pe.id):Mc.has(_pe.id),onNodeClick:gg,onSwimlaneClick:sy,getEdgesForNode:Cpe=>Sl.filter(Tpe=>Tpe.source===Cpe||Tpe.target===Cpe),onDeleteEdge:cy,hasUnconnectedChildren:_Q}}}),eee=Sl.map(_pe=>({..._pe,data:{..._pe.data,onDelete:cy,getConditionByHandle:(_Q,Cpe)=>{const Tpe=wl.find(Eht=>Eht.id===_Q);if(!Tpe||Tpe.type!=="decision")return null;const Kpt=(Tpe.data?.conditions||[]).find(Eht=>Eht.id===Cpe);return Kpt?{nodeId:_Q,condition:Kpt}:null},onUpdateCondition:mg,onDeleteCondition:uy}})),JY=reactExports.useRef(!1);return reactExports.useEffect(()=>{JY.current||setTimeout(()=>{El(),JY.current=!0},200)},[El]),jsxRuntimeExports.jsxs("div",{className:"relative w-full h-full agentic-flow",children:[jsxRuntimeExports.jsxs(index$4,{onPaneClick:Ma?ly:void 0,nodes:_F,edges:eee,onNodesChange:Ma?Jf:void 0,onEdgesChange:Ma?dp:void 0,onConnect:Ma?hp:void 0,onContextMenu:Ma?sN:_pe=>_pe.preventDefault(),fitView:!0,nodeTypes,nodesDraggable:Ma,zoomOnScroll:ma,defaultEdgeOptions:{type:"default",style:{stroke:"#FFFFFF99"},markerEnd:{type:MarkerType.ArrowClosed,color:"#FFFFFF99"},animated:!1},children:[jsxRuntimeExports.jsx(Background,{}),Cl&&Cl.type==="canvas"&&jsxRuntimeExports.jsx(AgentMenu,{menu:{top:Cl.y,left:Cl.x},setModal:_pe=>_pe==="Decision"?P_():q1(),closeHandler:Cl.onClose}),Cl&&Cl.type!=="canvas"&&jsxRuntimeExports.jsx(AgentFlowMenu,{menu:Cl})]}),Ma&&V1&&jsxRuntimeExports.jsx(AddEntity,{closeHandler:n0,type:"Agent"}),Ma&&aE&&jsxRuntimeExports.jsx(AddDecision,{closeHandler:O_}),Ma&&H1&&jsxRuntimeExports.jsx(AddFlowModal,{onClose:R_,onSubmit:hg})]})},AgentFlow=()=>{const{moduleName:ya}=useParams(),ma=useAppStore(Mc=>Mc.selectedAgentId),ba=useAppStore(Mc=>Mc.selectedDecisionId),{getAgents:va,getAgentFlows:Ma}=useAgent(),El=useAppStore(Mc=>Mc.setSelectedAgentId),Sl=useLocation()?.state?.focusAgentId,{zoomHandler:Cl}=useZoomHandler();return reactExports.useEffect(()=>{const Mc=va();if(Sl){Mc.includes(Sl)?(El(Sl),setTimeout(()=>{Cl(Sl)},300)):El(null);return}if(Mc.length>0){const Ef=Mc.filter(dp=>Ma(dp).length>0),Zf=Mc.filter(dp=>Ma(dp).length===0),Jf=Ef.length>0?Ef[0]:Zf[0];Jf?(El(Jf),setTimeout(()=>{Cl(Jf)},300)):El(null)}else El(null)},[Sl,ya]),jsxRuntimeExports.jsxs("div",{className:"relative w-full h-full flex overflow-hidden",children:[jsxRuntimeExports.jsx(motion.div,{className:"h-full",animate:{width:ma||ba?"60%":"100%"},transition:{duration:.3,ease:"easeInOut"},children:jsxRuntimeExports.jsx(SwimlaneDiagram,{})}),jsxRuntimeExports.jsx(AnimatePresence,{children:(ma||ba)&&jsxRuntimeExports.jsx(motion.div,{className:"w-2/5 shrink-0 h-full overflow-auto border-l border-table-header bg-primary",initial:{x:"100%"},animate:{x:0},exit:{x:"100%"},transition:{duration:.3,ease:"easeInOut"},children:ma?jsxRuntimeExports.jsx(AgentForm,{agentId:ma}):jsxRuntimeExports.jsx(DecisionForm,{decisionId:ba})})})]})};function NoModule(){const[ya,ma]=reactExports.useState(""),[ba,va]=reactExports.useState(!1),Ma=useNavigate(),{githubOrg:El,teamName:wl}=useParams(),Sl=useAppStore(Zf=>Zf.incrementModuleDbChangeCount),Cl=useAppStore(Zf=>Zf.user),Mc=async()=>{if(!(!ya||!wl)){va(!0);try{const Zf=ya.includes(".")?ya:`${wl}.${ya}`;try{addModule$1(Zf)}catch(Jf){console.warn("Failed to load new module into runtime immediately:",Jf)}await saveModuleToGit(wl,Zf,fetchModule$2(Zf).toString(),`Initial module creation: ${Zf}`,Cl.GitHub.Username,Cl.GitHub.Token),Sl(),Ma(`/design/data-model/${El}/${wl}/${Zf}`)}catch(Zf){console.error("Failed to create module:",Zf)}finally{va(!1)}}},Ef=Zf=>{Zf.key==="Enter"&&Mc()};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full text-white bg-primary",children:[jsxRuntimeExports.jsx("h2",{className:"text-2xl font-bold mb-4",children:"No Module Found"}),jsxRuntimeExports.jsx("p",{className:"mb-6 text-gray-400",children:"There are no modules in this repository. Would you like to create one?"}),jsxRuntimeExports.jsxs("div",{className:"flex gap-3 w-full max-w-md",children:[jsxRuntimeExports.jsx("input",{type:"text",value:ya,onChange:Zf=>ma(Zf.target.value),onKeyDown:Ef,placeholder:"Module Name (e.g. app.core)",className:"flex-1 px-4 py-2 rounded bg-secondary border border-border-color focus:outline-none focus:border-blue text-white placeholder-gray-500",autoFocus:!0,disabled:ba}),jsxRuntimeExports.jsx("button",{onClick:Mc,disabled:!ya||ba,className:"px-6 py-2 bg-blue hover:bg-blue-600 rounded font-medium disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:ba?"Creating...":"Create"})]})]})}const GenerateAppModal=({closeHandler:ya,initialPrompt:ma})=>{const[ba,va]=reactExports.useState([]),[Ma,El]=reactExports.useState(ma||""),[wl,Sl]=reactExports.useState(!1),Cl=reactExports.useRef(null),Mc=useNavigate(),Ef=useLocation(),{user:Zf,addConversationMessage:Jf,updateConversationStatus:dp,addBackgroundGeneration:hp,updateBackgroundGeneration:dg,removeBackgroundGeneration:pg}=useAppStore(),hg=useOutsideClickHandler(ya),[mg,gg]=reactExports.useState(null);reactExports.useEffect(()=>{Cl.current?.scrollIntoView({behavior:"smooth"})},[ba]),reactExports.useEffect(()=>{loadAgentCraftModule()},[]),reactExports.useEffect(()=>{const V1=Ef.state;if(V1?.restoreGeneration&&V1?.generationId){const q1=useAppStore.getState().backgroundGenerations[V1.generationId];if(q1){gg(q1.id),Sl(q1.status==="in-progress");const n0=[{id:`msg-user-${q1.id}`,type:"user",content:q1.userPrompt,timestamp:q1.startedAt},{id:`msg-assistant-${q1.id}`,type:"assistant",content:q1.moduleName?`Generated module: ${q1.moduleName}`:q1.currentStep,timestamp:q1.startedAt,metadata:{steps:q1.steps}}];va(n0)}}else if(V1?.resumeConversation&&V1?.appId){const q1=useAppStore.getState().getConversationHistory(V1.appId);if(q1){const n0=q1.map(aE=>({id:aE.id,type:aE.role,content:aE.content,timestamp:new Date(aE.timestamp)}));va(n0)}}},[Ef]);const sy=V1=>{const q1={...V1,id:`msg-${Date.now()}`,timestamp:new Date};return va(n0=>[...n0,q1]),q1},ly=(V1,q1)=>{va(n0=>n0.map(aE=>aE.id===V1?{...aE,...q1}:aE))},cy=(V1,q1,n0)=>{va(aE=>aE.map(P_=>P_.id===V1?{...P_,metadata:{...P_.metadata,steps:P_.metadata?.steps?.map(O_=>O_.id===q1?{...O_,status:n0}:O_)}}:P_))},uy=V1=>{if(typeof V1=="string"){const q1=V1.match(/module\s+(\w+)/);return q1?q1[1]:"GeneratedApp"}return V1?.moduleName||"GeneratedApp"},H1=async()=>{if(!Ma.trim()||wl)return;const V1=Ma.trim();El(""),Sl(!0),sy({type:"user",content:V1});const q1=`gen-${Date.now()}`;gg(q1);const n0=[{id:"analyzing",label:"Analyzing requirements",status:"in-progress"},{id:"generating",label:"Generating code",status:"pending"},{id:"creating",label:"Creating workspace",status:"pending"},{id:"deploying",label:"Setting up environment",status:"pending"}],aE=sy({type:"assistant",content:"Starting app generation...",metadata:{steps:n0}}),P_=Zf?.GitHub?.Org||"default-org";hp({id:q1,appId:"",userPrompt:V1,status:"in-progress",currentStep:"Analyzing requirements",steps:n0,startedAt:new Date,githubOrg:P_});try{const O_=await executeStatement(`{AgentCraft/generateAgentlang {requirements "${V1.replace(/"/g,'\\"')}"}}`);cy(aE.id,"analyzing","completed"),cy(aE.id,"generating","in-progress"),dg(q1,{currentStep:"Generating code",steps:n0.map(lN=>lN.id==="analyzing"?{...lN,status:"completed"}:lN.id==="generating"?{...lN,status:"in-progress"}:lN)});const sN=uy(O_);cy(aE.id,"generating","completed"),cy(aE.id,"creating","in-progress"),ly(aE.id,{content:`Generated module: ${sN}`});const uN=`${P_}/${sN}`;dg(q1,{appId:uN,moduleName:sN,currentStep:"Creating workspace",steps:n0.map(lN=>lN.id==="generating"?{...lN,status:"completed"}:lN.id==="creating"?{...lN,status:"in-progress"}:lN)}),ba.forEach(lN=>{Jf(uN,{role:lN.type,content:lN.content})}),Jf(uN,{role:"user",content:V1}),Jf(uN,{role:"assistant",content:`Successfully generated ${sN}`}),dp(uN,"completed");try{console.log("📝 Generating architecture metadata...");const lN=await executeStatement(`{AgentCraft/requirementDistiller {message "${V1.replace(/"/g,'\\"')}"}}`);let _F={};try{const Tpe=lN.match(/\{[\s\S]*\}/);Tpe&&(_F=JSON.parse(Tpe[0]))}catch{console.warn("Could not parse requirements, using fallback"),_F={moduleName:sN,dataModelRequest:V1,workflowRequest:V1,agentRequest:V1}}const eee={moduleName:sN,dataModelRequest:_F.dataModelRequest||V1,workflowRequest:_F.workflowRequest||V1,agentRequest:_F.agentRequest||V1,generatedCode:O_},_pe=`{AgentCraft/GenerateMetadata {message: "${JSON.stringify(eee).replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}"}}`,_Q=await executeStatement(_pe);let Cpe=_Q;try{const Tpe=_Q.match(/\{[\s\S]*\}/);Tpe&&(Cpe=JSON.parse(Tpe[0]).content||_Q)}catch{console.warn("Using raw metadata result")}if(Zf?.GitHub?.Username&&Zf?.GitHub?.Token)try{const Tpe=typeof Cpe=="string"?Cpe:JSON.stringify(Cpe,null,2);await saveMetadataFileToGit(sN.toLowerCase(),Tpe,"Create architecture metadata",Zf.GitHub.Username,Zf.GitHub.Token),console.log("✅ Architecture metadata saved to .agentlang.metadata.json")}catch(Tpe){console.error("Failed to save architecture metadata:",Tpe)}else console.warn("GitHub credentials not available, skipping metadata save")}catch(lN){console.error("Failed to generate architecture metadata:",lN)}cy(aE.id,"creating","completed"),cy(aE.id,"deploying","completed"),ly(aE.id,{content:`Successfully created ${sN}! Opening workspace...`,metadata:{steps:aE.metadata?.steps?.map(lN=>({...lN,status:"completed"})),generatedApp:{name:sN,moduleName:sN,githubOrg:P_}}}),dg(q1,{status:"completed",currentStep:"Completed",completedAt:new Date,steps:n0.map(lN=>({...lN,status:"completed"}))}),Sl(!1),setTimeout(()=>{Mc(`/design/data-model/${P_}/${sN}/${sN}`,{state:{from:"/generate",generationContext:{appId:uN,hasHistory:!0}}}),pg(q1),ya()},1e3)}catch(O_){console.error("Generation error:",O_);const sN=aE.metadata?.steps?.find(lN=>lN.status==="in-progress"),uN=O_.message||"Failed to generate app. Please try again or provide more details.";ly(aE.id,{content:uN,metadata:{...aE.metadata,steps:aE.metadata?.steps?.map(lN=>lN.status==="in-progress"?{...lN,status:"error"}:lN),error:{message:uN,stepId:sN?.id||"generating",retryCount:0}}}),dg(q1,{status:"error",error:uN,completedAt:new Date,steps:n0.map(lN=>lN.status==="in-progress"?{...lN,status:"error"}:lN)}),Sl(!1)}},lE=V1=>{const q1=ba.findIndex(aE=>aE.id===V1),n0=ba.slice(0,q1).reverse().find(aE=>aE.type==="user");n0&&El(n0.content)},R_=V1=>{V1.key==="Enter"&&!V1.shiftKey&&(V1.preventDefault(),H1())};return jsxRuntimeExports.jsx("div",{className:"modal-container",onClick:ya,children:jsxRuntimeExports.jsxs("div",{ref:hg,className:"modal-content max-w-4xl w-full h-[80vh] flex flex-col",onClick:V1=>V1.stopPropagation(),children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.generativeAI,className:"w-6 h-6"}),jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Generate Application"}),wl&&jsxRuntimeExports.jsxs("div",{className:"text-xs text-gray-400 flex items-center gap-1.5",children:[jsxRuntimeExports.jsx("div",{className:"w-1.5 h-1.5 bg-blue-500 rounded-full animate-pulse"}),"Generating in background..."]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[wl&&jsxRuntimeExports.jsx("div",{title:"Minimize (generation continues in background)",children:jsxRuntimeExports.jsx(Icon,{icon:icons.caretDown,className:"cursor-pointer hover:opacity-70 rotate-180",onClick:ya})}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer hover:opacity-70",onClick:ya})]})]}),jsxRuntimeExports.jsxs("div",{className:"modal-body flex-1 overflow-y-auto space-y-4",children:[ba.length===0&&jsxRuntimeExports.jsxs("div",{className:"text-center text-gray-400 mt-8",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.generativeAI,className:"w-16 h-16 mx-auto mb-4 opacity-50"}),jsxRuntimeExports.jsx("p",{className:"text-lg mb-2",children:"What would you like to build?"}),jsxRuntimeExports.jsx("p",{className:"text-sm",children:"Example: “Build a todo app with priority levels and due dates”"}),jsxRuntimeExports.jsx("p",{className:"text-sm mt-1",children:"or “Create a CRM system with contacts, deals, and tasks”"})]}),ba.map(V1=>jsxRuntimeExports.jsx("div",{className:`flex ${V1.type==="user"?"justify-end":"justify-start"}`,children:jsxRuntimeExports.jsxs("div",{className:`max-w-[80%] rounded-lg p-4 ${V1.type==="user"?"bg-blue-600 text-white":"bg-gray-700 text-gray-100"}`,children:[jsxRuntimeExports.jsx("div",{className:"whitespace-pre-wrap",children:V1.content}),V1.metadata?.steps&&jsxRuntimeExports.jsx("div",{className:"mt-4 space-y-2",children:V1.metadata.steps.map(q1=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[q1.status==="completed"&&jsxRuntimeExports.jsx(Icon,{icon:icons.check,className:"w-4 h-4 text-green-400"}),q1.status==="in-progress"&&jsxRuntimeExports.jsx("div",{className:"w-4 h-4 border-2 border-blue-400 border-t-transparent rounded-full animate-spin"}),q1.status==="error"&&jsxRuntimeExports.jsx(Icon,{icon:icons.error,className:"w-4 h-4 text-red-400"}),q1.status==="pending"&&jsxRuntimeExports.jsx("div",{className:"w-4 h-4 border-2 border-gray-500 rounded-full"}),jsxRuntimeExports.jsx("span",{children:q1.label})]},q1.id))}),V1.metadata?.error&&jsxRuntimeExports.jsxs("div",{className:"mt-4 p-3 bg-red-900/30 border border-red-700 rounded",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-red-300",children:V1.metadata.error.message}),jsxRuntimeExports.jsx("button",{className:"mt-2 text-xs text-blue-300 hover:underline",onClick:()=>lE(V1.id),children:"Try again"})]})]})},V1.id)),jsxRuntimeExports.jsx("div",{ref:Cl})]}),jsxRuntimeExports.jsx("div",{className:"modal-footer border-t border-gray-700 pt-4",children:jsxRuntimeExports.jsxs("div",{className:"flex gap-2 w-full",children:[jsxRuntimeExports.jsx("input",{type:"text",value:Ma,onChange:V1=>El(V1.target.value),onKeyPress:R_,placeholder:"Describe your application or provide more details...",className:"flex-1 px-4 py-2 bg-gray-800 border border-gray-600 rounded-lg focus:outline-none focus:border-blue-500 text-white",disabled:wl}),jsxRuntimeExports.jsx("button",{onClick:H1,disabled:!Ma.trim()||wl,className:"px-6 py-2 bg-blue-600 hover:bg-blue-700 disabled:bg-gray-600 disabled:cursor-not-allowed rounded-lg transition-colors flex items-center gap-2",children:wl?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Icon,{icon:icons.loading,className:"w-5 h-5"}),"Generating..."]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Icon,{icon:icons.send,className:"w-5 h-5"}),"Send"]})})]})})]})})},Generate=()=>{const ya=useNavigate(),ba=useLocation().state?.prompt,va=()=>{ya("/design/dashboard")};return jsxRuntimeExports.jsx(GenerateAppModal,{closeHandler:va,initialPrompt:ba})},NavbarItem=({label:ya,icon:ma,isOpen:ba,isSmall:va=!1,isLoading:Ma=!1})=>jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[jsxRuntimeExports.jsx("div",{className:"relative",children:Ma?jsxRuntimeExports.jsx(Icon,{icon:"mdi:loading",className:`${va?"w-4.5 h-4.5":"w-6 h-6"} animate-spin`}):jsxRuntimeExports.jsx(Icon,{icon:ma,className:va?"w-4.5 h-4.5":"w-6 h-6"})}),jsxRuntimeExports.jsx(AnimatePresence,{initial:!1,children:ba&&jsxRuntimeExports.jsx(motion.span,{initial:{opacity:0,x:8},animate:{opacity:1,x:0},exit:{opacity:0,x:8},transition:{duration:.2},className:"ml-3 whitespace-nowrap text-sm",children:Ma?"Signing out...":ya},"label")})]}),MobileNavbarItem=({label:ya,icon:ma,isActive:ba,onClick:va})=>jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center justify-center p-2 rounded-md cursor-pointer transition-all duration-300 relative group",ba?"text-font-table-header bg-table-header shadow-lg":"text-secondary-font hover:text-font-table-header hover:bg-table-header/50"),onClick:va,children:[jsxRuntimeExports.jsxs("div",{className:classNames("relative mb-1 transition-transform duration-300",ba?"scale-110":"group-hover:scale-105"),children:[jsxRuntimeExports.jsx(Icon,{icon:ma,className:"w-5 h-5"}),ba&&jsxRuntimeExports.jsx("div",{className:"absolute -top-1 -right-1 w-1.5 h-1.5 bg-font-table-header rounded-full animate-pulse"})]}),jsxRuntimeExports.jsx("span",{className:classNames("text-xs font-medium transition-all duration-300",ba?"text-font-table-header":"text-secondary-font group-hover:text-font-table-header"),children:ya}),ba&&jsxRuntimeExports.jsx("div",{className:"absolute -bottom-0.5 left-1/2 transform -translate-x-1/2 w-6 h-0.5 bg-font-table-header rounded-full"})]}),LogoutConfirmationModal=({isOpen:ya,onConfirm:ma,onCancel:ba,isLoggingOut:va})=>{const Ma=useOutsideClickHandler(ba);return ya?jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content",ref:Ma,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Sign Out"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:ba})]}),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-blue-500/20 rounded-full flex items-center justify-center",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:logout",className:"text-blue-500 text-xl"})}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"text-lg font-medium text-white",children:"Sign Out"}),jsxRuntimeExports.jsx("p",{className:"text-sm text-gray-400",children:"Account logout"})]})]}),jsxRuntimeExports.jsx("p",{className:"text-gray-300 text-sm leading-relaxed",children:"Are you sure you want to sign out? You'll need to log in again to access your account."}),jsxRuntimeExports.jsx("div",{className:"mt-4 p-3 bg-blue-500/10 border border-blue-500/20 rounded-lg",children:jsxRuntimeExports.jsxs("p",{className:"text-blue-400 text-xs",children:[jsxRuntimeExports.jsx(Icon,{icon:"material-symbols:info-outline",className:"inline mr-1"}),"Your session will be cleared and you'll be redirected to the login page."]})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[jsxRuntimeExports.jsx("button",{className:"cancel-button",onClick:ba,disabled:va,children:"Cancel"}),jsxRuntimeExports.jsx("button",{className:"sure-button",onClick:ma,disabled:va,children:va?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(CircularProgress,{size:16,color:"inherit"}),"Signing out..."]}):"Sign Out"})]})]})}):null},MobileNavbar=({pathname:ya,navigate:ma,handleLogoutClick:ba,isLoggingOut:va})=>{const Ma=ya.includes("home"),El=ya.includes("dashboard"),wl=ya.includes("data-model")||ya.includes("agents")||ya.includes("workflow")||ya.includes("security")||ya.includes("settings"),Sl=ya.includes("hub"),Cl=ya.includes("config"),Mc=ya.includes("documents"),Ef=ya.includes("integrations"),Zf=ya.includes("llms");return jsxRuntimeExports.jsxs("div",{className:"lg:hidden fixed bottom-0 left-0 right-0 z-500",children:[jsxRuntimeExports.jsx("div",{className:"absolute inset-0 bg-primary border-t border-border-color"}),jsxRuntimeExports.jsxs("div",{className:"relative flex items-center justify-around p-2 pb-3",children:[jsxRuntimeExports.jsx(MobileNavbarItem,{label:"Home",icon:icons.home,isActive:Ma,onClick:()=>ma("/home")}),jsxRuntimeExports.jsx(MobileNavbarItem,{label:"Agents",icon:icons.team,isActive:El||wl,onClick:()=>ma("/design/dashboard")}),jsxRuntimeExports.jsx(MobileNavbarItem,{label:"Hub",icon:icons.hub,isActive:Sl,onClick:()=>ma("/hub")}),jsxRuntimeExports.jsx(MobileNavbarItem,{label:"Settings",icon:icons.setting,isActive:Cl,onClick:()=>ma("/configuration")}),jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center justify-center p-2 rounded-md cursor-pointer transition-all duration-300 relative group",va?"text-font-table-header cursor-not-allowed opacity-60":"text-secondary-font hover:text-red-400 hover:bg-table-header/50"),onClick:ba,children:[jsxRuntimeExports.jsx("div",{className:classNames("relative mb-1 transition-transform duration-300",va?"animate-pulse":"group-hover:scale-105 group-hover:rotate-12"),children:jsxRuntimeExports.jsx(Icon,{icon:va?"mdi:loading":icons.logout,className:"w-5 h-5"})}),jsxRuntimeExports.jsx("span",{className:classNames("text-xs font-medium transition-all duration-300",va?"text-font-table-header":"text-secondary-font group-hover:text-red-400"),children:va?"Signing out...":"Logout"})]})]}),(El||wl||Mc||Ef||Zf)&&jsxRuntimeExports.jsx(motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:"border-t border-border-color bg-primary/95 backdrop-blur-sm",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-around p-2",children:[jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center p-2 rounded-md cursor-pointer transition-all duration-300",Mc?"bg-table-header text-font-table-header":"text-secondary-font hover:text-font-table-header hover:bg-table-header/50"),onClick:()=>ma("/design/documents"),children:[jsxRuntimeExports.jsx(Icon,{icon:icons.document,className:"w-4 h-4 mb-1"}),jsxRuntimeExports.jsx("span",{className:"text-xs font-medium",children:"Documents"})]}),jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center p-2 rounded-md cursor-pointer transition-all duration-300",Ef?"bg-table-header text-font-table-header":"text-secondary-font hover:text-font-table-header hover:bg-table-header/50"),onClick:()=>ma("/design/integrations"),children:[jsxRuntimeExports.jsx(Icon,{icon:icons.integration,className:"w-4 h-4 mb-1"}),jsxRuntimeExports.jsx("span",{className:"text-xs font-medium",children:"Integrations"})]}),jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center p-2 rounded-md cursor-pointer transition-all duration-300",Zf?"bg-table-header text-font-table-header":"text-secondary-font hover:text-font-table-header hover:bg-table-header/50"),onClick:()=>ma("/design/llms"),children:[jsxRuntimeExports.jsx(Icon,{icon:icons.llm,className:"w-4 h-4 mb-1"}),jsxRuntimeExports.jsx("span",{className:"text-xs font-medium",children:"LLMs"})]})]})}),jsxRuntimeExports.jsx("div",{className:"h-1 bg-primary"})]})},Navbar=()=>{const{logoutHandler:ya,isLoggingOut:ma}=useAuth(),ba=useNavigate(),[va,Ma]=reactExports.useState(!1),[El,wl]=reactExports.useState(!1),{pathname:Sl}=useLocation(),Cl=useMatches(),{id:Mc}=Cl[Cl.length-1],Ef=Mc==="ui",Zf=Mc==="home",Jf=Mc==="deployment-detail",dp=Sl.includes("design"),hp=Sl.includes("dashboard"),dg=Mc==="agent-flow"||Mc==="data-model"||Mc==="agents"||Mc==="workflow"||Mc==="security"||Mc==="settings"||Ef,pg=Mc==="integrations",hg=Mc==="llms",mg=Mc==="config",{deploymentId:gg}=useParams(),sy=useAppStore(H1=>H1.recentlyVisitedDeployments),ly=()=>{ma||wl(!0)},cy=()=>{wl(!1),ya()},uy=()=>{wl(!1)};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(motion.div,{animate:{width:va?"200px":"72px"},className:"p-2 flex-col gap-1 border-r border-border-color overflow-hidden hidden lg:flex",onMouseEnter:()=>Ma(!0),onMouseLeave:()=>Ma(!1),children:[jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-4 border-transparent border",Zf?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/home"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Home",icon:icons.home,isOpen:va})}),(Zf||Jf)&&sy.length>0&&jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1 ml-4",children:sy.map(H1=>{const lE=Jf&&H1.DeploymentId===gg;return jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-2.5 border-transparent border",lE?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba(`/deployment/${H1.DeploymentId}`),children:jsxRuntimeExports.jsx(NavbarItem,{label:H1.Repo,icon:icons.deploy,isOpen:va,isSmall:!0})},H1.DeploymentId)})}),jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-4 border-transparent border",hp||dg?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/design/dashboard"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Agents",icon:icons.team,isOpen:va})}),dp&&jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1 ml-4",children:[jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-2.5 border-transparent border",pg?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/design/integrations"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Integrations",icon:icons.integration,isOpen:va,isSmall:!0})}),jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-2.5 border-transparent border",hg?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/design/llms"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"LLMs",icon:icons.llm,isOpen:va,isSmall:!0})})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col mt-auto gap-2",children:[jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-4 border-transparent border",mg?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/configuration"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Configuration",icon:icons.setting,isOpen:va})}),jsxRuntimeExports.jsx("div",{onClick:ly,className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-4 border-transparent border",ma?"text-secondary-font cursor-not-allowed opacity-60":"text-secondary-font hover:selected-tab"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Logout",icon:icons.logout,isOpen:va,isLoading:ma})}),jsxRuntimeExports.jsxs("div",{className:"flex items-end px-4 py-2 cursor-pointer",onClick:()=>ba("/design/dashboard"),children:[jsxRuntimeExports.jsx("img",{src:"/assets/fractl-logo-small.png",alt:"Fractl Logo",className:"w-6 max-w-6 opacity-80 hover:opacity-100 transition-opacity"}),jsxRuntimeExports.jsx(AnimatePresence,{initial:!1,children:va&&jsxRuntimeExports.jsx(motion.span,{initial:{opacity:0,x:8},animate:{opacity:1,x:0},exit:{opacity:0,x:8},transition:{duration:.2},className:"ml-3 whitespace-nowrap text-sm tracking-widest",children:"FRACTL"},"fractl-label")})]})]})]}),jsxRuntimeExports.jsx(MobileNavbar,{pathname:Sl,navigate:ba,handleLogoutClick:ly,isLoggingOut:ma}),reactDomExports.createPortal(jsxRuntimeExports.jsx(LogoutConfirmationModal,{isOpen:El,onConfirm:cy,onCancel:uy,isLoggingOut:ma}),document.body)]})},ResolverSelector=({resolvers:ya,onResolverSelect:ma,onCancel:ba,isValidating:va=!1,allowCustomResolver:Ma=!0})=>{const[El,wl]=reactExports.useState(null),[Sl,Cl]=reactExports.useState(!1),[Mc,Ef]=reactExports.useState(""),[Zf,Jf]=reactExports.useState(""),[dp,hp]=reactExports.useState("main"),[dg,pg]=reactExports.useState(""),hg=ya.filter(ly=>ly.Name.toLowerCase().includes(dg.toLowerCase())||ly.Description?.toLowerCase().includes(dg.toLowerCase())||ly.GitHubOrg?.toLowerCase().includes(dg.toLowerCase())),mg=ly=>{wl(ly)},gg=()=>{if(Sl){if(Mc&&Zf){const ly={isCustom:!0,Name:`${Mc}/${Zf}`,GitHubOrg:Mc,GitHubRepo:Zf,Branch:dp||"main",Description:"Custom resolver"};ma(ly)}}else El&&ma(El)},sy=ly=>{if(ly.Icon)return jsxRuntimeExports.jsx("img",{src:ly.Icon,alt:ly.Name,className:"w-8 h-8 object-contain",onError:uy=>{uy.target.style.display="none"}});const cy={OpenAPI:"mdi:api","Camel-XML":"simple-icons:apachecamel",Team:"mdi:account-group",Jira:"logos:jira",Slack:"logos:slack-icon",Odoo:"simple-icons:odoo"};return jsxRuntimeExports.jsx(Icon,{icon:cy[ly.Type]||"material-symbols:code",className:"w-8 h-8"})};return jsxRuntimeExports.jsx("div",{className:"p-4 bg-secondary/50 border-t border-secondary",children:jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"text-base font-medium text-primary-font",children:"Select an Integration"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font mt-1",children:"Choose an integration source for your agent"})]}),jsxRuntimeExports.jsx("button",{onClick:ba,className:"text-secondary-font hover:text-primary-font transition-colors",disabled:va,children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:close",className:"w-5 h-5"})})]}),!Sl&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 bg-primary rounded-md border border-transparent focus-within:border-blue focus-within:ring-1 focus-within:ring-blue",children:[jsxRuntimeExports.jsx("div",{className:"pl-3 flex-shrink-0",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:magnify",className:"w-4 h-4 text-secondary-font"})}),jsxRuntimeExports.jsx("input",{type:"text",value:dg,onChange:ly=>pg(ly.target.value),placeholder:"Search integrations...",className:"flex-1 bg-transparent text-primary-font pr-4 py-2 text-sm outline-none"})]}),Ma&&jsxRuntimeExports.jsxs("div",{className:"flex gap-2 border-b border-secondary pb-2",children:[jsxRuntimeExports.jsx("button",{onClick:()=>{Cl(!1),wl(null)},className:`px-3 py-1.5 text-xs rounded-md transition-colors ${Sl?"bg-transparent text-secondary-font hover:text-primary-font":"bg-blue text-white"}`,children:"Available Integrations"}),jsxRuntimeExports.jsx("button",{onClick:()=>{Cl(!0),wl(null)},className:`px-3 py-1.5 text-xs rounded-md transition-colors ${Sl?"bg-blue text-white":"bg-transparent text-secondary-font hover:text-primary-font"}`,children:"Custom Integration"})]}),jsxRuntimeExports.jsx(AnimatePresence,{mode:"wait",children:Sl?jsxRuntimeExports.jsx(motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},className:"space-y-3",children:jsxRuntimeExports.jsxs("div",{className:"bg-primary rounded-lg p-4 space-y-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:information-outline",className:"w-4 h-4 text-blue flex-shrink-0 mt-0.5"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font",children:"Enter the GitHub organization and repository name of your custom integration. We'll validate it before proceeding."})]}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"GitHub Org"}),jsxRuntimeExports.jsx("input",{type:"text",value:Mc,onChange:ly=>Ef(ly.target.value),placeholder:"e.g., fractl-io",className:"w-full bg-secondary text-primary-font px-3 py-2 rounded-md text-sm focus:outline-none focus:ring-1 focus:ring-blue"})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"Repository"}),jsxRuntimeExports.jsx("input",{type:"text",value:Zf,onChange:ly=>Jf(ly.target.value),placeholder:"e.g., my-resolver",className:"w-full bg-secondary text-primary-font px-3 py-2 rounded-md text-sm focus:outline-none focus:ring-1 focus:ring-blue"})]})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"Branch (optional)"}),jsxRuntimeExports.jsx("input",{type:"text",value:dp,onChange:ly=>hp(ly.target.value),placeholder:"main",className:"w-full bg-secondary text-primary-font px-3 py-2 rounded-md text-sm focus:outline-none focus:ring-1 focus:ring-blue"})]})]})},"custom-input"):jsxRuntimeExports.jsx(motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},className:"space-y-2 max-h-80 overflow-y-auto",children:hg.length===0?jsxRuntimeExports.jsxs("div",{className:"text-center py-8 text-secondary-font text-sm",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:folder-open-outline",className:"w-12 h-12 mx-auto mb-2 opacity-50"}),jsxRuntimeExports.jsx("p",{children:"No integrations found"}),Ma&&jsxRuntimeExports.jsx("button",{onClick:()=>Cl(!0),className:"mt-2 text-blue hover:text-blue-hover text-xs",children:"Try adding a custom integration"})]}):hg.map(ly=>jsxRuntimeExports.jsx(motion.div,{onClick:()=>mg(ly),className:`p-3 bg-primary rounded-lg cursor-pointer transition-all border ${El?.Id===ly.Id?"border-blue shadow-md":"border-transparent hover:border-secondary"}`,whileHover:{scale:1.01},whileTap:{scale:.99},children:jsxRuntimeExports.jsxs("div",{className:"flex gap-3",children:[jsxRuntimeExports.jsx("div",{className:"flex-shrink-0 flex items-center justify-center w-10 h-10 bg-secondary rounded",children:sy(ly)}),jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsx("h4",{className:"text-sm font-medium text-primary-font truncate",children:ly.Name}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font line-clamp-2 mt-0.5",children:ly.Description||"No description available"})]}),El?.Id===ly.Id&&jsxRuntimeExports.jsx(Icon,{icon:"mdi:check-circle",className:"w-5 h-5 text-blue flex-shrink-0"})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3 mt-2 text-xs",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 text-secondary-font",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:github",className:"w-3 h-3"}),jsxRuntimeExports.jsxs("span",{className:"truncate",children:[ly.GitHubOrg,"/",ly.GitHubRepo]})]}),ly.Type&&jsxRuntimeExports.jsx("span",{className:"px-2 py-0.5 bg-secondary rounded text-secondary-font",children:ly.Type})]})]})]})},ly.Id))},"resolver-list")}),jsxRuntimeExports.jsxs("div",{className:"space-y-2 pt-2",children:[jsxRuntimeExports.jsx("button",{onClick:gg,disabled:va||!Sl&&!El||Sl&&(!Mc||!Zf),className:"w-full bg-blue hover:bg-blue-hover text-white px-4 py-2 rounded-md text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:va?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"}),jsxRuntimeExports.jsx("span",{children:"Validating..."})]}):"Continue with Integration"}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("div",{className:"flex-1 h-px bg-secondary"}),jsxRuntimeExports.jsx("span",{className:"text-xs text-secondary-font",children:"or"}),jsxRuntimeExports.jsx("div",{className:"flex-1 h-px bg-secondary"})]}),jsxRuntimeExports.jsxs("button",{onClick:()=>ma(null),disabled:va,className:"w-full bg-secondary hover:bg-secondary/70 text-primary-font px-4 py-2 rounded-md text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:close-circle",className:"w-4 h-4"}),jsxRuntimeExports.jsx("span",{children:"Skip & Build Without Integrations"})]})]})]})})};new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString();const createPlaygroundResolverFileSystem=async ya=>{const ma=`/resolvers/${ya.GitHubRepo}`;try{await openRepository(ma);const ba=`# ${ya.Name} Resolver
21023
+ `):"No changes made"}async updateMetadata(ma,ba){try{console.log("🔄 Updating metadata after changes...");const Ma=fetchModule$2(ma.moduleName)?.toString()||"",{readMetadataFileFromGit:El}=await __vitePreload(async()=>{const{readMetadataFileFromGit:hp}=await Promise.resolve().then(()=>utils);return{readMetadataFileFromGit:hp}},void 0),wl=await El(ma.teamName)||{},Sl={moduleName:ma.moduleName,dataModelRequest:"Analyze existing module",workflowRequest:"Analyze existing module",agentRequest:"Analyze existing module",generatedCode:Ma},Mc=`{AgentCraft/GenerateMetadata {message: "${e$b(JSON.stringify(Sl))}"}}`,Ef=await executeStatement(Mc);console.log("📋 Metadata generation result type:",typeof Ef),console.log("📋 Metadata generation result:",JSON.stringify(Ef,null,2));let Zf={};try{if(typeof Ef=="string"){console.log("📋 Result is string, parsing...");const hp=Ef.match(/\{[\s\S]*\}/);hp&&(Zf=JSON.parse(hp[0]),Zf.content&&(Zf=JSON.parse(Zf.content)))}else if(typeof Ef=="object"&&Ef!==null){console.log("📋 Result is object, extracting content...");const hp=Ef.content;hp?(console.log("📋 Found content field:",typeof hp),Zf=typeof hp=="string"?JSON.parse(hp):hp):(console.log("📋 No content field, using result directly"),Zf=Ef)}else console.warn("📋 Unexpected result type or null result");console.log("📋 Parsed metadata keys:",Object.keys(Zf||{}).join(", "))}catch(hp){console.warn("Failed to parse metadata result, using existing:",hp),Zf={...wl}}Zf.updateHistory=wl.updateHistory||[];for(const hp of ba)Zf.updateHistory.push({timestamp:new Date().toISOString(),type:hp.type,target:hp.target,description:hp.description,triggeredBy:"copilot"});Zf.updateHistory.length>50&&(Zf.updateHistory=Zf.updateHistory.slice(-50)),Zf.module&&(Zf.module.lastUpdatedAt=new Date().toISOString());const{saveMetadataFileToGit:Jf}=await __vitePreload(async()=>{const{saveMetadataFileToGit:hp}=await Promise.resolve().then(()=>utils);return{saveMetadataFileToGit:hp}},void 0),dp=ba.map(hp=>`${hp.type}:${hp.target}`).join(", ");await Jf(ma.teamName,JSON.stringify(Zf,null,2),`Update metadata after ${dp}`,ma.githubUsername||"",ma.githubToken||""),console.log("✅ Metadata updated")}catch(va){console.error("❌ Failed to update metadata:",va)}}}const copilotService=CopilotService.getInstance(),truncateText=(ya,ma)=>!ya||ya.trim()===""?"Not set":ya.length<=ma?ya:`${ya.substring(0,ma)}...`,validationSchema$4=create$3({cond:create$6().trim().required("Required"),then:create$6().trim().required("Required")}),DirectiveItem=({directive:ya,onValidChange:ma,onRemoveDirective:ba})=>{const[va,Ma]=reactExports.useState(""),[El,wl]=reactExports.useState(""),[Sl,Cl]=reactExports.useState(!1);reactExports.useEffect(()=>{(async()=>{const dp=(await introspect$1(ya.cond))[0],hp=dp.condition;Ma(String(hp.value));const dg=dp.body[0];wl(dg?dg.value:""),Cl(dp.body.toString().length===0||dp.condition.toString().length===0)})()},[ya.name,ya.cond]);const Mc=reactExports.useMemo(()=>({cond:va,then:El}),[va,El]),Ef=reactExports.useCallback(Zf=>{ma(ya.id,Zf)},[ya.id,ma]);return jsxRuntimeExports.jsxs("div",{id:`directive-${ya.id}`,children:[jsxRuntimeExports.jsxs("div",{onClick:()=>Cl(!Sl),className:classNames(["grid grid-cols-1 sm:grid-cols-12 p-3 gap-2 sm:gap-4 bg-secondary cursor-pointer items-center group",Sl?"rounded-t-md":"rounded-md"]),children:[jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-11 mb-2 sm:mb-0",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"If"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(va||"",20)})]}),!Sl&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Then"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(El||"",20)})]})]})}),jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-1 flex justify-end items-center",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"cursor-pointer hover:text-red-400 transition-colors opacity-0 group-hover:opacity-100",onClick:Zf=>{Zf.stopPropagation(),ba(ya.id)}})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:Sl&&jsxRuntimeExports.jsx(motion.div,{className:"p-4 py-1 bg-secondary rounded-b-md",initial:{height:0},animate:{height:"auto"},exit:{height:0},style:{overflow:"hidden"},children:jsxRuntimeExports.jsx(Formik,{initialValues:Mc,validationSchema:validationSchema$4,validateOnBlur:!0,validateOnChange:!0,onSubmit:Ef,enableReinitialize:!0,children:({errors:Zf,touched:Jf,isValid:dp,dirty:hp})=>jsxRuntimeExports.jsxs(Form$7,{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(Field,{as:"textarea",name:"cond",placeholder:"Enter condition...",rows:3,className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)] resize-none"}),Jf.cond&&Zf.cond&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Zf.cond})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white w-fit",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Then"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(El||"",20)})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(Field,{as:"textarea",name:"then",placeholder:"Enter action...",rows:3,className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)] resize-none"}),Jf.then&&Zf.then&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Zf.then})]}),jsxRuntimeExports.jsx("div",{className:"flex justify-end",children:jsxRuntimeExports.jsxs("button",{type:"submit",disabled:!dp||!hp,className:"px-4 py-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-md text-[rgba(255,255,255,0.9)] hover:bg-table-header disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:content-save",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Save"})]})})]})})})})]},ya.id)},DirectiveForm=({directives:ya,onValidChange:ma,onRemoveDirective:ba})=>{const va=El=>{if(typeof El=="string")return El;try{return JSON.stringify(El)}catch{return String(El??"")}},Ma=reactExports.useMemo(()=>ya.map(El=>({...El,cond:va(El.cond),then:va(El.then)})),[ya]);return jsxRuntimeExports.jsx("div",{className:"mt-4",children:jsxRuntimeExports.jsx("div",{className:"space-y-4",children:Ma.map(El=>jsxRuntimeExports.jsx(DirectiveItem,{directive:El,onValidChange:ma,onRemoveDirective:ba},El.id))})})},AgentDirectives=({agent:ya,isEditable:ma=!0})=>{const{getAgentDirectives:ba,removeAgentDirective:va,addAgentDirective:Ma,updateAgentDirective:El}=useAgent();useAppStore(Jf=>Jf.moduleDbChangeCount);const wl=ya.getName(),Sl=reactExports.useMemo(()=>ba(wl).map(dp=>({id:dp.name,name:dp.name,then:dp.def.then,cond:dp.def.if})),[ba,wl]),Cl=(Jf,dp,hp)=>{let dg=0;return dp.forEach(pg=>{if(pg.name&&pg.name.startsWith(`${Jf}.${hp}`)){const hg=pg.name.match(/(\d+)$/);if(hg){const mg=parseInt(hg[1],10);mg>dg&&(dg=mg)}}}),`${Jf}.${hp}${String(dg+1).padStart(2,"0")}`},Mc=async()=>{const Jf=Cl(wl,Sl,"dir");Ma(Jf),requestAnimationFrame(()=>{const dp=document.getElementById(`directive-${Jf}`);console.log(dp),dp&&dp.scrollIntoView({behavior:"smooth",block:"center"})})},Ef=Jf=>{va(Jf)},Zf=(Jf,dp)=>{El(Jf,dp.cond,dp.then)};return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.match,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define conditional rules and actions for the agent",position:"right",children:jsxRuntimeExports.jsx("p",{className:"text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Directives"})})})]}),ma&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:jsxRuntimeExports.jsx("button",{onClick:Mc,className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})})]}),Sl.length>0&&jsxRuntimeExports.jsx(DirectiveForm,{directives:Sl,onValidChange:Zf,onRemoveDirective:Ef})]})},ResponseSchemaDropdown=({name:ya})=>{const[ma,ba,va]=useField(ya),Ma=ma.value,wl=getUserModuleNames().flatMap(Mc=>getRecords(Mc).map(Ef=>`${Mc}/${Ef}`)),Sl=Mc=>{va.setValue(Mc)},Cl=Mc=>Mc.map(Ef=>({label:Ef,value:Ef}));return jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2",children:jsxRuntimeExports.jsx(Mo,{as:"div",className:"dropdown-menu",value:Ma,onChange:Sl,children:({open:Mc})=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Mt$1,{className:"dropdown-button",children:[Ma?` ${Ma}`:"Select Record",jsxRuntimeExports.jsx(Icon,{icon:"ph:caret-down-bold"})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:Mc&&jsxRuntimeExports.jsx(Bt,{static:!0,as:motion.div,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"dropdown-options",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsx("span",{className:"px-2 py-1",children:"Records"}),wl.length===0?jsxRuntimeExports.jsx("span",{className:"no-dropdown-item",children:"No records available"}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1",children:Cl(wl).map(Ef=>jsxRuntimeExports.jsx(It,{value:Ef.value,className:({focus:Zf})=>`option ${Zf?"bg-hover text-primary-font":""}`,children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 cursor-pointer",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.record,width:"20px",height:"20px"}),Ef.label]})},Ef.value))})]})})})]})})})},ResponseSchemaModal=({agent:ya,closeModal:ma})=>{const ba=useOutsideClickHandler(ma),{setAgentResponseSchema:va}=useAgent();return reactDomExports.createPortal(jsxRuntimeExports.jsx(Formik,{initialValues:{responseSchema:ya.attributes.get("responseSchema")||""},onSubmit:Ma=>{try{va(ya.getName(),Ma.responseSchema),ma()}catch(El){console.error("Error updating agent response schema:",El)}},children:jsxRuntimeExports.jsx(Form$7,{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content",ref:ba,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Select Response Schema"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ma})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(ResponseSchemaDropdown,{name:"responseSchema"})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[jsxRuntimeExports.jsx("div",{className:"cancel-button",onClick:ma,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"sure-button",children:"Save"})]})]})})}),document.body)},AgentResponseSchema=({agent:ya,isEditable:ma=!0})=>{const[ba,va]=reactExports.useState(!1),Ma=useNavigate(),{githubOrg:El,teamName:wl,moduleName:Sl}=useParams(),{setAgentResponseSchema:Cl}=useAgent(),Mc=ya.getResponseSchema(),Ef=!!Mc,Zf=()=>{Mc&&Ma(`/design/data-model/${El}/${wl}/${Sl}`,{state:{focusEntityId:Mc}})};return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.record,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define the expected response structure for the agent",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"!text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Response Schema"})})})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[Ef&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-[#025cd4]/20 border border-[#025cd4] rounded-lg text-white cursor-pointer hover:bg-[#025cd4]/30 transition-colors group",onClick:Zf,title:"Click to view in Data Model",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.record,width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm font-medium",children:Mc}),ma&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntimeExports.jsx("button",{onClick:Jf=>{Jf.stopPropagation(),va(!0)},className:"cursor-pointer hover:text-blue-300 transition-colors opacity-0 group-hover:opacity-100",children:jsxRuntimeExports.jsx(Icon,{icon:icons.edit,width:16,height:16})}),jsxRuntimeExports.jsx("button",{onClick:async Jf=>{Jf.stopPropagation(),await Cl(ya.name,"")},className:"cursor-pointer hover:text-red-400 transition-colors opacity-0 group-hover:opacity-100",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,width:16,height:16})})]})]}),!Ef&&ma&&jsxRuntimeExports.jsx("button",{onClick:()=>va(!0),className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-[rgba(255,255,255,0.1)] flex items-center gap-2 text-sm cursor-pointer transition-all transform hover:scale-110",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})]})]}),ba&&jsxRuntimeExports.jsx(ResponseSchemaModal,{agent:ya,closeModal:()=>va(!1)})]})},EventDropdown=({value:ya,onChange:ma})=>{const{moduleName:ba}=useParams(),Ma=getEvents(ba||""),El=Sl=>{ma(Sl)},wl=Sl=>Sl.map(Cl=>({label:Cl,value:Cl}));return jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2",children:jsxRuntimeExports.jsx(Mo,{as:"div",className:"dropdown-menu",value:ya,onChange:El,children:({open:Sl})=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Mt$1,{className:"dropdown-button",children:[ya?` ${ya}`:"Select Event",jsxRuntimeExports.jsx(Icon,{icon:"ph:caret-down-bold"})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:Sl&&jsxRuntimeExports.jsx(Bt,{static:!0,as:motion.div,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"dropdown-options",children:jsxRuntimeExports.jsxs("div",{className:"flex flex-col",children:[jsxRuntimeExports.jsx("span",{className:"px-2 py-1",children:"Events"}),Ma.length===0?jsxRuntimeExports.jsx("span",{className:"no-dropdown-item",children:"No events available"}):jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1",children:wl(Ma).map(Cl=>jsxRuntimeExports.jsx(It,{value:Cl.value,className:({focus:Mc})=>`option ${Mc?"bg-hover text-primary-font":""}`,children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 cursor-pointer",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.action,width:"20px",height:"20px"}),Cl.label]})},Cl.value))})]})})})]})})})},validationSchema$3=create$3({user:create$6().trim().required("Required"),ai:create$6().trim().required("Required")}),ScenarioItem=({entry:ya,onValidChange:ma,onRemoveEntry:ba})=>{const[va,Ma]=reactExports.useState(ya.user.length===0||ya.ai.length===0),El=reactExports.useMemo(()=>({user:ya.user,ai:ya.ai}),[ya.user,ya.ai]);return jsxRuntimeExports.jsxs("div",{id:`scenario-${ya.id}`,children:[jsxRuntimeExports.jsxs("div",{onClick:()=>Ma(!va),className:classNames(["grid grid-cols-1 sm:grid-cols-12 p-3 gap-2 sm:gap-4 bg-secondary cursor-pointer items-center group",va?"rounded-t-md":"rounded-md"]),children:[jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-11 mb-2 sm:mb-0",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"User"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.user,30)})]}),!va&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"AI"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.ai,30)})]})]})}),jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-1 flex justify-end items-center",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"cursor-pointer hover:text-red-400 transition-colors opacity-0 group-hover:opacity-100",onClick:wl=>{wl.stopPropagation(),ba(ya.id)}})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:va&&jsxRuntimeExports.jsx(motion.div,{className:"p-4 py-1 bg-secondary rounded-b-md",initial:{height:0},animate:{height:"auto"},exit:{height:0},style:{overflow:"hidden"},children:jsxRuntimeExports.jsx(Formik,{initialValues:El,validationSchema:validationSchema$3,validateOnChange:!0,validateOnBlur:!0,onSubmit:wl=>ma(ya.id,wl),enableReinitialize:!0,children:({isValid:wl,dirty:Sl,errors:Cl,touched:Mc})=>jsxRuntimeExports.jsxs(Form$7,{className:"space-y-4",children:[jsxRuntimeExports.jsx("input",{type:"text",value:ya.name,placeholder:"Enter scenario name",className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(0,0,0,0.2)]",disabled:!0,readOnly:!0}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"block text-sm font-medium text-[rgba(255,255,255,0.7)] mb-2",children:"User Input"}),jsxRuntimeExports.jsx(Field,{as:"input",name:"user",placeholder:"Enter user input...",className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)]"}),Mc.user&&Cl.user&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Cl.user})]}),jsxRuntimeExports.jsxs("div",{className:"flex w-fit items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"AI"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.ai,30)})]}),jsxRuntimeExports.jsx("label",{className:"block text-sm font-medium text-[rgba(255,255,255,0.7)] mb-2",children:"AI Response (Event)"}),jsxRuntimeExports.jsx(Field,{name:"ai",children:({field:Ef,form:Zf})=>jsxRuntimeExports.jsx(EventDropdown,{value:Ef.value,onChange:Jf=>Zf.setFieldValue("ai",Jf)})}),Mc.ai&&Cl.ai&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Cl.ai}),jsxRuntimeExports.jsx("div",{className:"flex justify-end",children:jsxRuntimeExports.jsxs("button",{type:"submit",disabled:!wl||!Sl,className:"px-4 py-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-md text-[rgba(255,255,255,0.9)] hover:bg-table-header disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:content-save",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Save"})]})})]})})})})]},ya.id)},ScenariosForm=({entries:ya,onValidChange:ma,onRemoveEntry:ba})=>jsxRuntimeExports.jsx("div",{className:"mt-4",children:jsxRuntimeExports.jsx("div",{className:"space-y-4",children:ya.map(va=>jsxRuntimeExports.jsx(ScenarioItem,{entry:va,onValidChange:ma,onRemoveEntry:ba},va.id))})}),AgentScenarios=({agent:ya,isEditable:ma=!0})=>{const{getAgentScenarios:ba,addAgentScenario:va,updateAgentScenario:Ma,removeAgentScenario:El}=useAgent();useAppStore(Jf=>Jf.moduleDbChangeCount);const wl=ya.getName(),Sl=reactExports.useMemo(()=>ba(wl).map(dp=>({id:dp.name,name:dp.name,user:dp.def.user,ai:dp.def.ai})),[ba,wl]),Cl=(Jf,dp,hp)=>{let dg=0;return dp.forEach(pg=>{if(pg.name&&pg.name.startsWith(`${Jf}.${hp}`)){const hg=pg.name.match(/(\d+)$/);if(hg){const mg=parseInt(hg[1],10);mg>dg&&(dg=mg)}}}),`${Jf}.${hp}${String(dg+1).padStart(2,"0")}`},Mc=()=>{const Jf=Cl(ya.getName(),Sl,"scenario");va(Jf),requestAnimationFrame(()=>{const dp=document.getElementById(`scenario-${Jf}`);dp&&dp.scrollIntoView({behavior:"smooth",block:"center"})})},Ef=(Jf,dp)=>{Ma(Jf,dp.user,dp.ai)},Zf=Jf=>{El(Jf)};return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:script-text",width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define example scenarios for the agent to learn from",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"!text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Scenarios"})})})]}),ma&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:jsxRuntimeExports.jsx("button",{onClick:Mc,className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer transition-all transform hover:scale-110",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})})]}),Sl.length>0&&jsxRuntimeExports.jsx(ScenariosForm,{entries:Sl,onValidChange:Ef,onRemoveEntry:Zf})]})},validationSchema$2=create$3({meaning:create$6().trim().required("Required"),synonyms:create$2$1().of(create$6()).required()}),GlossaryItem=({entry:ya,onValidChange:ma,onRemoveEntry:ba})=>{const[va,Ma]=reactExports.useState(ya.name.length===0||ya.meaning.length===0),El=reactExports.useMemo(()=>({name:ya.name,meaning:ya.meaning,synonyms:ya.synonyms}),[ya.name,ya.meaning,ya.synonyms]);return jsxRuntimeExports.jsxs("div",{id:`glossary-${ya.id}`,children:[jsxRuntimeExports.jsxs("div",{onClick:()=>Ma(!va),className:classNames(["grid grid-cols-1 sm:grid-cols-12 p-3 gap-2 sm:gap-4 bg-secondary cursor-pointer items-center group",va?"rounded-t-md":"rounded-md"]),children:[jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-11 mb-2 sm:mb-0",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:[va&&jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Name"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.name,10)})]}),!va&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white ",children:jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.meaning,10)})}),!va&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white",children:ya.synonyms.length>0?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 flex-wrap max-w-[240px]",children:[ya.synonyms.slice(0,2).map((wl,Sl)=>jsxRuntimeExports.jsx("span",{className:"px-2 py-0.5 bg-[rgba(255,255,255,0.06)] border border-[rgba(255,255,255,0.15)] rounded-full text-xs",children:wl},Sl)),ya.synonyms.length>2&&jsxRuntimeExports.jsxs("span",{className:"text-xs opacity-80",children:["+",ya.synonyms.length-2," more"]})]}):jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Not set"})})]})}),jsxRuntimeExports.jsx("div",{className:"col-span-1 sm:col-span-1 flex justify-end items-center",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"cursor-pointer hover:text-red-400 transition-colors opacity-0 group-hover:opacity-100",onClick:wl=>{wl.stopPropagation(),ba(ya.id)}})})]}),jsxRuntimeExports.jsx(AnimatePresence,{children:va&&jsxRuntimeExports.jsx(motion.div,{className:"p-4 py-1 bg-secondary rounded-b-md",initial:{height:0},animate:{height:"auto"},exit:{height:0},style:{overflow:"hidden"},children:jsxRuntimeExports.jsx(Formik,{initialValues:El,validationSchema:validationSchema$2,validateOnChange:!0,validateOnBlur:!0,onSubmit:wl=>ma(ya.id,wl),enableReinitialize:!0,children:({isValid:wl,dirty:Sl,errors:Cl,touched:Mc,values:Ef,setFieldValue:Zf})=>jsxRuntimeExports.jsxs(Form$7,{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"block text-xs mb-1 opacity-80",children:"Name"}),jsxRuntimeExports.jsx("input",{type:"text",value:Ef.name,onChange:Jf=>Zf("name",Jf.target.value),placeholder:"Enter glossary display name",className:"w-full p-3 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(0,0,0,0.2)]"})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white w-fit",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Meaning"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:truncateText(ya.meaning,20)})]}),jsxRuntimeExports.jsx(Field,{as:"textarea",name:"meaning",placeholder:"Enter the meaning or definition",rows:3,className:"w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(0,0,0,0.2)] resize-none"}),Mc.meaning&&Cl.meaning&&jsxRuntimeExports.jsx("div",{className:"text-red-400 text-xs mt-1",children:Cl.meaning}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-blue/20 border border-blue rounded-full text-white w-fit",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-semibold",children:"Synonyms"}),Ef.synonyms.length>0?jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 flex-wrap max-w-[320px]",children:[ya.synonyms.slice(0,5).map((Jf,dp)=>jsxRuntimeExports.jsx("span",{className:"px-2 py-0.5 bg-[rgba(255,255,255,0.06)] border border-[rgba(255,255,255,0.15)] rounded-full text-xs",children:Jf},dp)),Ef.synonyms.length>5&&jsxRuntimeExports.jsxs("span",{className:"text-xs opacity-80",children:["+",Ef.synonyms.length-5," more"]})]}):jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Not set"})]}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TagInput,{value:Ef.synonyms,onChangeHandler:Jf=>Zf("synonyms",Jf),label:"Add synonyms"})}),jsxRuntimeExports.jsx("div",{className:"flex justify-end",children:jsxRuntimeExports.jsxs("button",{type:"submit",disabled:!wl||!Sl,className:"px-4 py-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-md text-[rgba(255,255,255,0.9)] hover:bg-table-header disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:content-save",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Save"})]})})]})})})})]},ya.id)},GlossaryForm=({entries:ya,onValidChange:ma,onRemoveEntry:ba})=>jsxRuntimeExports.jsx("div",{className:"mt-4",children:jsxRuntimeExports.jsx("div",{className:"space-y-4",children:ya.map(va=>jsxRuntimeExports.jsx(GlossaryItem,{entry:va,onValidChange:ma,onRemoveEntry:ba},va.id))})}),AgentGlossary=({agent:ya,isEditable:ma=!0})=>{const{getAgentGlossary:ba,addAgentGlossaryEntry:va,updateAgentGlossaryEntry:Ma,removeAgentGlossary:El}=useAgent(),wl=useAppStore(Jf=>Jf.moduleDbChangeCount),Sl=reactExports.useMemo(()=>ba(ya.getName()).map(dp=>({id:dp.name,glossaryName:dp.name,name:dp.def.name||"",meaning:dp.def.meaning,synonyms:typeof dp.def.synonyms=="string"?dp.def.synonyms.split(", "):dp.def.synonyms||[]})),[ba,ya.getName(),wl]),Cl=(Jf,dp)=>{const hp=ba(Jf);let dg=0;return hp.forEach(pg=>{const hg=pg.name;if(hg&&hg.startsWith(`${Jf}.${dp}`)){const mg=hg.match(/(\d+)$/);if(mg){const gg=parseInt(mg[1],10);gg>dg&&(dg=gg)}}}),`${Jf}.${dp}${String(dg+1).padStart(2,"0")}`},Mc=async()=>{const Jf=Cl(ya.getName(),"glossary");va(Jf,""),requestAnimationFrame(()=>{const dp=document.getElementById(`glossary-${Jf}`);dp&&dp.scrollIntoView({behavior:"smooth",block:"center"})})},Ef=(Jf,dp)=>{Ma(Jf,dp.meaning,dp.synonyms||[],dp.name||"")},Zf=Jf=>{El(Jf)};return jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:book-open-variant",width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define glossary terms and their meanings for the agent",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"!text-sm font-semibold text-[rgba(255,255,255,0.9)]",children:"Glossary"})})})]}),ma&&jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:jsxRuntimeExports.jsx("button",{onClick:Mc,className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})})]}),Sl.length>0&&jsxRuntimeExports.jsx(GlossaryForm,{entries:Sl,onValidChange:Ef,onRemoveEntry:Zf})]})},AgentForm=({agentId:ya})=>{const ma=useAppStore(pg=>pg.moduleDbChangeCount),ba=useAppStore(pg=>pg.setSelectedAgentId),{getAgent:va,setAgentInstruction:Ma,setAgentRole:El}=useAgent(),{currentTeam:wl}=useTeams(),Sl=ya?va(ya):null,[Cl,Mc]=reactExports.useState(Sl?.getInstruction()),[Ef,Zf]=reactExports.useState(Sl?.attributes.get("role")||""),Jf=reactExports.useRef(null),dp=wl?.isEditable||!1;reactExports.useEffect(()=>{if(Sl&&ya){const pg=Sl.getInstruction()||"",hg=Sl.attributes.get("role")||"";Mc(pg),Zf(hg)}else Mc(""),Zf("")},[Sl,ya,ma]),reactExports.useEffect(()=>{const pg=Jf.current;if(pg){pg.style.height="auto";const hg=Math.min(pg.scrollHeight,1e3);pg.style.height=`${hg}px`}},[Cl]);const hp=()=>{ya&&dp&&Ma(ya,Cl||"")},dg=()=>{ya&&dp&&El(ya,Ef||"")};return jsxRuntimeExports.jsxs("div",{className:"p-4 transition-all duration-300 w-full flex flex-col gap-4 h-full",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center gap-4",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx("div",{className:"relative",children:jsxRuntimeExports.jsx("div",{className:"dashboard-model-icon text-xl!",children:jsxRuntimeExports.jsx(Icon,{icon:icons.agent,className:"text-white"})})}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Agent Configuration",position:"right",children:jsxRuntimeExports.jsx("h4",{children:ya})})})]})}),jsxRuntimeExports.jsx("button",{onClick:()=>ba(null),className:"w-6 h-6 text-base bg-secondary rounded-xl flex items-center justify-center shadow-lg cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"text-white"})})]})}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 overflow-y-auto scrollbar-none",children:[jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3 ",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.agent,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Define the agent's primary role and purpose",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"text-sm! font-semibold text-[rgba(255,255,255,0.9)]",children:"Role"})})})]}),jsxRuntimeExports.jsx("input",{className:`w-full p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)] resize-none ${dp?"":"opacity-50 cursor-not-allowed"}`,placeholder:"Enter the agent's role and primary responsibilities...",value:Ef,onChange:pg=>dp&&Zf(pg.target.value),onBlur:dg,disabled:!dp})]}),jsxRuntimeExports.jsxs(AgentFormSection,{children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3 ",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.instruction,width:20,height:20,className:"text-white"}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(TooltipComponent,{text:"Guide the agent's behavior and responses",position:"right",children:jsxRuntimeExports.jsx("h3",{className:"text-sm! font-semibold text-[rgba(255,255,255,0.9)]",children:"Instructions"})})})]}),jsxRuntimeExports.jsx("textarea",{ref:Jf,className:`w-full min-h-32 p-4 bg-[rgba(255,255,255,0.02)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] placeholder-[rgba(255,255,255,0.4)] focus:outline-none focus:border-blue focus:ring-2 focus:ring-[rgba(2,92,212,0.2)] resize-none overflow-y-auto ${dp?"":"opacity-50 cursor-not-allowed"}`,placeholder:"Enter detailed instructions for the agent...",value:Cl,onChange:pg=>{if(dp){Mc(pg.target.value);const hg=pg.target;hg.style.height="auto";const mg=Math.min(hg.scrollHeight,1e3);hg.style.height=`${mg}px`}},onBlur:hp,disabled:!dp,style:{maxHeight:"1000px"}})]}),Sl&&jsxRuntimeExports.jsx(AgentLLM,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentTools,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentDirectives,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentGlossary,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentResponseSchema,{agent:Sl,isEditable:dp}),Sl&&jsxRuntimeExports.jsx(AgentScenarios,{agent:Sl,isEditable:dp})]})]})},DecisionForm=({decisionId:ya})=>{const[ma,ba]=reactExports.useState([]),{getNodes:va,setNodes:Ma}=useReactFlow(),El=useAppStore(Ef=>Ef.setSelectedDecisionId),{updateDecision:wl,getDecision:Sl}=useFlow();reactExports.useEffect(()=>{(async()=>{const Zf=Sl(ya);if(!Zf)return;const dp=(await Promise.all(Zf.cases.map(async hp=>await introspectCase(hp)))).map(hp=>{const dg=isExpressionPattern(hp.condition)||isGroupExpressionPattern(hp.condition),pg=hp.body;return{kind:dg?"expression":"string",condition:dg?hp.condition.toString():hp.condition.value,action:pg.value}});ba(dp)})()},[ya]);const Cl={cases:[...ma,{kind:"string",condition:"",action:""}]},Mc=Ef=>{const Zf=Ef.kind==="expression"?new ExpressionPattern$1(Ef.condition):LiteralPattern$1.String(Ef.condition),Jf=LiteralPattern$1.Id(Ef.action);return new CasePattern$1(Zf,Jf).toString()};return jsxRuntimeExports.jsxs("div",{className:"p-4 transition-all duration-300 w-full flex flex-col gap-4 h-full",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center gap-4",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx("div",{className:"relative",children:jsxRuntimeExports.jsx("div",{className:"dashboard-model-icon text-xl!",children:jsxRuntimeExports.jsx(Icon,{icon:icons.decision,className:"text-white"})})}),jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("h4",{children:ya})})]})}),jsxRuntimeExports.jsx("button",{onClick:()=>El(null),className:"w-6 h-6 text-base bg-secondary rounded-xl flex items-center justify-center shadow-lg cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"text-white"})})]})}),jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-4 overflow-y-auto scrollbar-none",children:jsxRuntimeExports.jsx(Formik,{initialValues:Cl,enableReinitialize:!0,onSubmit:Ef=>{const Jf=va().find(hp=>hp.type==="decision"&&hp.data?.name===ya);Jf&&Ma(hp=>{const dg=hp.map(pg=>{if(pg.id===Jf.id&&pg.type==="decision"){const hg=Ef.cases.filter(mg=>mg.condition.trim()&&mg.action.trim()).map((mg,gg)=>({id:(Array.isArray(pg.data.conditions)?pg.data.conditions:[])[gg]?.id||`cond-${Jf.id}-${gg+1}`,label:mg.action}));return{...pg,data:{...pg.data,conditions:hg}}}return pg});return console.log(dg),dg});const dp=Ef.cases.filter(hp=>hp.condition.trim()&&hp.action.trim()).map(Mc);wl(ya,dp)},children:({values:Ef,setFieldValue:Zf,isValid:Jf,dirty:dp})=>jsxRuntimeExports.jsxs(Form$7,{className:"flex flex-col gap-4",children:[jsxRuntimeExports.jsx(FieldArray,{name:"cases",render:hp=>jsxRuntimeExports.jsx(DecisionCasesList,{cases:Ef.cases,onChangeKind:(dg,pg)=>Zf(`cases.${dg}.kind`,pg),onChangeCondition:(dg,pg)=>Zf(`cases.${dg}.condition`,pg),onChangeAction:(dg,pg)=>Zf(`cases.${dg}.action`,pg),onRemove:dg=>hp.remove(dg),onAdd:()=>hp.push({kind:"string",condition:"",action:""}),onAddAt:dg=>hp.insert(dg,{kind:"string",condition:"",action:""})})}),jsxRuntimeExports.jsx("div",{className:"flex",children:jsxRuntimeExports.jsxs("button",{type:"submit",disabled:!Jf||!dp,className:"w-full px-4 py-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-md text-[rgba(255,255,255,0.9)] hover:bg-table-header disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:content-save",width:16,height:16}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Save"})]})})]})})})]})},DecisionCasesList=({cases:ya,onChangeKind:ma,onChangeCondition:ba,onChangeAction:va,onRemove:Ma,onAdd:El,onAddAt:wl})=>{const Sl=reactExports.useRef(null);reactExports.useEffect(()=>{const Mc=Ef=>{if(Ef.ctrlKey&&Ef.key==="Enter"){Ef.preventDefault();const Zf=document.activeElement;if(!Zf)return;const Jf=Zf.closest("[data-case-index]");if(!Jf)return;const dp=parseInt(Jf.getAttribute("data-case-index")||"-1",10);if(dp===-1)return;const dg=dp===ya.length-1?ya.length:dp+1;wl(dg),requestAnimationFrame(()=>{setTimeout(()=>{const pg=document.querySelector(`[data-case-index="${dg}"]`);if(pg){const hg=pg.querySelector('input[data-input-type="condition"]');if(hg){hg.focus();return}const mg=pg.querySelector("[data-expression-builder]");if(mg){const gg=mg.querySelector("input");if(gg){gg.focus();return}}}},50)})}};return document.addEventListener("keydown",Mc),()=>{document.removeEventListener("keydown",Mc)}},[ya.length,wl]);const Cl=Mc=>{Sl.current=Mc};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center justify-end",children:jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{const Mc=ya.length;El(),requestAnimationFrame(()=>{const Ef=document.getElementById(`decision-case-${Mc}`);Ef&&Ef.scrollIntoView({behavior:"smooth",block:"center"})})},className:"p-2 bg-[rgba(255,255,255,0.05)] border border-[rgba(255,255,255,0.2)] rounded-lg text-[rgba(255,255,255,0.9)] hover:bg-table-header flex items-center gap-2 text-sm cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.add,width:16,height:16})})}),ya.map((Mc,Ef)=>jsxRuntimeExports.jsxs("div",{id:`decision-case-${Ef}`,"data-case-index":Ef,className:"flex flex-col gap-3 p-3 bg-secondary rounded-md",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntimeExports.jsx("label",{className:"text-sm text-[rgba(255,255,255,0.7)]",children:"Condition"}),jsxRuntimeExports.jsxs("div",{className:"relative flex items-center input-container p-0!",children:[jsxRuntimeExports.jsx(Selector,{value:Mc.kind,onChange:Zf=>ma(Ef,Zf),allowed:["string","expression"]}),Mc.kind==="expression"?jsxRuntimeExports.jsx("div",{className:"grow","data-expression-builder":!0,onFocus:()=>Cl(Ef),tabIndex:-1,children:jsxRuntimeExports.jsx(ExpressionBuilder,{expression:Mc.condition,onExpressionChange:Zf=>ba(Ef,Zf)})}):jsxRuntimeExports.jsx("input",{"data-input-type":"condition",className:"flex-1 bg-transparent border-none outline-none",placeholder:"Match string, e.g. salary is greater than 1000",value:Mc.condition,onChange:Zf=>ba(Ef,Zf.target.value),onFocus:()=>Cl(Ef)})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1 flex-1",children:[jsxRuntimeExports.jsx("label",{className:"text-sm text-[rgba(255,255,255,0.7)]",children:"Action"}),jsxRuntimeExports.jsx("input",{"data-input-type":"action",className:"bg-secondary text-white rounded px-2 py-1 text-sm",placeholder:"Action",value:Mc.action,onChange:Zf=>va(Ef,Zf.target.value),onFocus:()=>Cl(Ef)})]}),jsxRuntimeExports.jsx("div",{className:"flex items-end",children:jsxRuntimeExports.jsx("button",{type:"button",className:"w-6 h-6 text-base bg-secondary rounded-xl flex items-center justify-center shadow-lg cursor-pointer",onClick:()=>Ma(Ef),title:"Remove case",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete,className:"text-white"})})})]})]},Ef))]})},ActivityTaskNode=({data:ya})=>{const{name:ma,nodeId:ba,isSelected:va,onNodeClick:Ma,getEdgesForNode:El,onDeleteEdge:wl,onNodeRightClick:Sl,isEditable:Cl}=ya,Mc=hp=>{if(!El||!wl)return;const pg=El(ba).find(hg=>hp==="source"?hg.source===ba:hg.target===ba);pg&&wl(pg.id)},Ef=!!El?.(ba).some(hp=>hp.target===ba),Zf=!!El?.(ba).some(hp=>hp.source===ba),{moduleName:Jf}=useParams(),dp=()=>{const hp=ma;return isAgent(Jf||"",hp)?icons.agent:isEvent(Jf||"",hp)?icons.action:icons.record};return jsxRuntimeExports.jsxs("div",{className:`w-[300px]! workflow-badge px-3! py-0! ${va?" border-checkbox-selected":"border-transparent"} group`,onClick:hp=>{hp.stopPropagation(),Ma(ba,hp.ctrlKey||hp.metaKey)},onContextMenu:Cl?hp=>{hp.preventDefault(),hp.stopPropagation(),Sl(ba,hp.clientX,hp.clientY)}:hp=>hp.preventDefault(),children:[jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:Position.Top,className:"border-2 border-solid border-primary-font"}),Cl&&Ef&&jsxRuntimeExports.jsx("button",{title:"Remove incoming connection",onClick:hp=>{hp.stopPropagation(),Mc("target")},className:"absolute -top-5 left-1/2 -translate-x-1/2 w-5 h-5 grid place-items-center rounded-full bg-white border shadow hover:bg-red-500 hover:text-white text-gray-600 opacity-0 group-hover:opacity-100 cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"w-3 h-3"})})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-blue/20 text-white",children:jsxRuntimeExports.jsx(Icon,{icon:dp()})}),jsxRuntimeExports.jsx("span",{className:"py-0.5 px-4 rounded-md bg-secondary border border-border-color w-fit break-all text-primary-font text-sm",children:ma})]}),jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx(Handle,{type:"source",position:Position.Bottom,className:"border-2 border-solid border-primary-font"}),Cl&&Zf&&jsxRuntimeExports.jsx("button",{title:"Remove outgoing connection",onClick:hp=>{hp.stopPropagation(),Mc("source")},className:"absolute -bottom-5 left-1/2 -translate-x-1/2 w-5 h-5 grid place-items-center rounded-full bg-white border shadow hover:bg-red-500 hover:text-white text-gray-600 opacity-0 group-hover:opacity-100 cursor-pointer",children:jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"w-3 h-3"})})]})]})},ConditionLabel=({nodeId:ya,condition:ma,onUpdate:ba,layout:va="horizontal",isEditable:Ma})=>{const[El,wl]=reactExports.useState(!1),[Sl,Cl]=reactExports.useState(ma.label),Mc=reactExports.useRef(null),Ef=()=>{Sl.trim()!==""&&Sl.trim()!==ma.label?ba(ya,ma.id,Sl.trim()):Cl(ma.label),wl(!1)},Zf=Jf=>{Jf.key==="Enter"?Ef():Jf.key==="Escape"&&(Cl(ma.label),wl(!1))};return reactExports.useEffect(()=>{El&&Mc.current?.focus()},[El]),El?jsxRuntimeExports.jsx("input",{ref:Mc,type:"text",value:Sl,onChange:Jf=>Cl(Jf.target.value),onBlur:Ef,onKeyDown:Zf,className:"text-xs py-1! px-2! border border-blue-500 rounded shadow-lg focus:ring-2 focus:ring-blue-300 outline-none",style:{width:`${Math.max(80,Sl.length*8+10)}px`}}):va==="vertical"?jsxRuntimeExports.jsx("div",{className:"nodrag nopan group flex flex-col items-center gap-1",children:jsxRuntimeExports.jsx("div",{onClick:Jf=>{Jf.stopPropagation(),Ma&&wl(!0)},title:"Click to edit",className:"relative group text-xs py-1 px-2 bg-primary text-primary-font rounded shadow-sm cursor-pointer hover:bg-muted transition-colors",children:ma.label})}):jsxRuntimeExports.jsx("div",{className:"nodrag nopan group relative",children:jsxRuntimeExports.jsx("div",{className:"flex items-center gap-1",children:jsxRuntimeExports.jsx("div",{onClick:Jf=>{Jf.stopPropagation(),Ma&&wl(!0)},title:"Click to edit",className:"text-xs py-1 px-2 bg-primary text-primary-font rounded shadow-sm cursor-pointer hover:bg-muted transition-colors",children:ma.label})})})},DecisionGatewayNode=({data:ya})=>{const{name:ma,nodeId:ba,isSelected:va,onNodeClick:Ma,conditions:El=[],onUpdateCondition:wl,getEdgesForNode:Sl,onDeleteEdge:Cl,onNodeRightClick:Mc,isEditable:Ef}=ya,dp=Math.max(280,80*(El.length+1)),hp=!!Sl?.(ba).some(pg=>pg.target===ba),dg=pg=>{if(pg.stopPropagation(),!Sl||!Cl)return;const hg=Sl(ba).find(mg=>mg.target===ba);hg&&Cl(hg.id)};return jsxRuntimeExports.jsxs("div",{className:"relative mx-auto group",style:{width:`${dp}px`,height:"88px"},children:[jsxRuntimeExports.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 -top-2",children:jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx(Handle,{type:"target",className:"border-2 border-solid border-primary-font",position:Position.Top}),hp&&Ef&&jsxRuntimeExports.jsx("button",{title:"Remove incoming connection",onClick:dg,className:"absolute -top-4 left-1/2 -translate-x-1/2 w-5 h-5 grid place-items-center rounded-full bg-white border shadow hover:bg-red-500 hover:text-white text-gray-600 opacity-0 group-hover:opacity-100 cursor-pointer z-[5]",children:"×"})]})}),jsxRuntimeExports.jsx("div",{className:`absolute inset-0 shadow-sm cursor-pointer ${va?"bg-checkbox-selected":"bg-secondary"}`,style:{clipPath:"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",padding:"2px"},onClick:pg=>{pg.stopPropagation(),Ma(ba,pg.ctrlKey||pg.metaKey)},onContextMenu:Ef?pg=>{pg.preventDefault(),pg.stopPropagation(),Mc(ba,pg.clientX,pg.clientY)}:pg=>pg.preventDefault(),children:jsxRuntimeExports.jsx("div",{className:"w-full h-full flex flex-col items-center justify-center bg-primary",style:{clipPath:"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)"},children:jsxRuntimeExports.jsx("div",{className:"font-medium text-xs text-primary-font",children:ma})})}),El.map((pg,hg)=>{const gg=`calc(${100/(El.length+1)}% * ${hg+1})`;return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"absolute",style:{bottom:0,left:gg,transform:"translateX(-50%)"},children:jsxRuntimeExports.jsx(Handle,{type:"source",position:Position.Bottom,id:pg.id,className:"border-2 border-solid border-primary-font",style:{boxShadow:"0 2px 4px rgba(0,0,0,0.2)"}})}),jsxRuntimeExports.jsx("div",{className:"absolute group/cond",style:{bottom:"-40px",left:gg,transform:"translateX(-50%)"},children:jsxRuntimeExports.jsx(ConditionLabel,{nodeId:ba,condition:pg,onUpdate:wl,layout:"vertical",isEditable:Ef})})]},pg.id)})]})},DecisionNode=({id:ya,data:ma})=>jsxRuntimeExports.jsx("div",{className:"relative mx-auto group",style:{width:"280px",height:"88px"},children:jsxRuntimeExports.jsx("div",{className:`absolute inset-0 shadow-sm cursor-pointer ${ma.isSelected?"bg-checkbox-selected":"bg-secondary"}`,style:{clipPath:"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",padding:"2px"},onClick:ba=>{ba.stopPropagation(),ma.onNodeClick?.(ya,ba.ctrlKey||ba.metaKey)},onContextMenu:ma.isEditable?ba=>{ba.preventDefault(),ba.stopPropagation(),ma.onNodeRightClick?.(ya,ba.clientX,ba.clientY)}:ba=>ba.preventDefault(),children:jsxRuntimeExports.jsx("div",{className:"w-full h-full flex flex-col items-center justify-center bg-primary",style:{clipPath:"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)"},children:jsxRuntimeExports.jsx("div",{className:"font-medium text-xs text-primary-font",children:ma.name})})})}),AddSwimlaneNode=({index:ya,swimlaneId:ma,onAddNode:ba})=>{const[va,Ma]=reactExports.useState(null);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[reactDomExports.createPortal(va&&(va==="decision"?jsxRuntimeExports.jsx(Agents$1,{showDecisions:!0,closeHandler:()=>Ma(null),onCreatePattern:El=>{ba(ma,va,El,ya),Ma(null)}}):jsxRuntimeExports.jsx(Agents$1,{showEvents:!0,closeHandler:()=>Ma(null),onCreatePattern:El=>{ba(ma,va,El,ya),Ma(null)}})),document.body),jsxRuntimeExports.jsxs(lo,{as:"div",className:"relative",onClick:El=>El.stopPropagation(),children:[jsxRuntimeExports.jsx(ft,{className:"add-workflow-button w-6! h-6! text-[10px]!",title:"Add Node in Flow",children:jsxRuntimeExports.jsx(Icon,{icon:"fa6-solid:plus"})}),jsxRuntimeExports.jsxs(yt,{portal:!0,className:"context-menu",anchor:"bottom start",children:[jsxRuntimeExports.jsx(gt,{children:jsxRuntimeExports.jsxs("div",{className:"context-menu-icon justify-start! ",onClick:()=>Ma("activity"),children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-record-bg text-record-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.instruction})}),"Step"]})}),jsxRuntimeExports.jsx(gt,{children:jsxRuntimeExports.jsxs("div",{className:"context-menu-icon justify-start! ",onClick:()=>Ma("decision"),children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:icons.decision})}),"Decision"]})})]})]})]})},SwimlaneNode=({data:ya})=>{const{onAddNode:ma,swimlaneId:ba,onSwimlaneRightClick:va,isSelected:Ma,onSwimlaneClick:El,childCount:wl=0,width:Sl,isEditable:Cl,name:Mc,hasUnconnectedChildren:Ef}=ya,dp=ya.height??60+wl*160,hp=wl>0&&Ef?.()===!0;return jsxRuntimeExports.jsxs("div",{className:`group relative rounded-md text-left border-2 ${Ma?"border-solid! border-checkbox-selected! shadow-selected-node":hp?"border-dashed border-orange-500 animate-incomplete-border":"border-dashed border-[rgba(255,255,255,0.6)]"}`,style:{height:`${dp}px`,width:`${ya?.width||Sl||750}px`},onClick:Cl?dg=>{dg.stopPropagation(),El(ba,dg.ctrlKey||dg.metaKey)}:void 0,onContextMenu:Cl?dg=>{dg.preventDefault(),dg.stopPropagation(),va(ba,dg.clientX,dg.clientY)}:dg=>dg.preventDefault(),children:[jsxRuntimeExports.jsx(Handle,{type:"target",position:Position.Top,style:{visibility:"hidden"}}),jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between p-4 gap-2 bg-primary rounded-t-lg relative",onClick:dg=>{dg.stopPropagation()},children:[jsxRuntimeExports.jsx("div",{className:"font-semibold text-sm py-1",children:Mc||ba}),hp&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-orange-500 animate-pulse",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:alert-circle",className:"w-4 h-4"}),jsxRuntimeExports.jsx("div",{className:"leading-none!",children:"Connect steps to save flow"})]}),Cl&&jsxRuntimeExports.jsx(AddSwimlaneNode,{index:0,swimlaneId:ba,onAddNode:ma})]})]})},SWIMLANE_WIDTH=450,CHILD_NODE_WIDTH=300,HORIZONTAL_PADDING=60,CHILD_LEFT_X=30,NODE_SPACING=160,NODE_START_Y=110,DECISION_BASE_WIDTH=280,DECISION_HANDLE_MIN_SPACING=80,SWIMLANE_EXTRA_MARGIN=20,NODE_HEIGHT=50,DECISION_NODE_HEIGHT=88,CONDITION_LABEL_HEIGHT=40;function getDecisionWidth(ya){const ma=Array.isArray(ya?.data?.conditions)?ya.data.conditions.length:0;return Math.max(DECISION_BASE_WIDTH,DECISION_HANDLE_MIN_SPACING*(ma+1))}function getNodeHeight(ya){if(ya.type==="decision"){const ma=Array.isArray(ya?.data?.conditions)&&ya.data.conditions.length>0;return DECISION_NODE_HEIGHT+(ma?CONDITION_LABEL_HEIGHT:0)}return NODE_HEIGHT}function layoutSwimlane(ya,ma,ba){return layoutSwimlaneWithDagre(ya,ma,ba)}function layoutSwimlaneWithDagre(ya,ma,ba){const va=ya.find(cy=>cy.id===ba);if(!va)return ya;const Ma=ya.filter(cy=>cy.parentId===ba);if(Ma.length===0)return ya.map(cy=>cy.id===ba?{...cy,data:{...cy.data,width:SWIMLANE_WIDTH,height:NODE_START_Y,childCount:0}}:cy);const El=new Set(Ma.map(cy=>cy.id)),wl=ma.filter(cy=>cy&&El.has(cy.source)&&El.has(cy.target)),Sl=cy=>cy.type==="decision"?getDecisionWidth(cy):CHILD_NODE_WIDTH,Cl=Ma.map(cy=>({id:cy.id,width:Sl(cy),height:getNodeHeight(cy),position:{x:0,y:0},data:{}})),{nodes:Mc}=dagreLayout(Cl,wl,"TB",HORIZONTAL_PADDING,NODE_SPACING);let Ef=1/0,Zf=-1/0,Jf=1/0,dp=-1/0;for(const cy of Mc)Ef=Math.min(Ef,cy.position.x),Zf=Math.max(Zf,cy.position.x+cy.width),Jf=Math.min(Jf,cy.position.y),dp=Math.max(dp,cy.position.y+cy.height);const hp=isFinite(Ef)?Zf-Ef:0,dg=isFinite(Jf)?dp-Jf:0,pg=Math.max(SWIMLANE_WIDTH,hp+2*CHILD_LEFT_X+SWIMLANE_EXTRA_MARGIN),hg=Math.max(CHILD_LEFT_X,(pg-hp)/2),mg=dg+2*NODE_START_Y,gg=va.data?.width||SWIMLANE_WIDTH,sy=pg-gg,ly=new Map;for(const cy of Mc){const uy=cy.position.x-(isFinite(Ef)?Ef:0)+hg,H1=cy.position.y-(isFinite(Jf)?Jf:0)+NODE_START_Y;ly.set(cy.id,{x:uy,y:H1})}return ya.map(cy=>{if(cy.id===ba)return{...cy,data:{...cy.data,width:pg,height:mg,childCount:Ma.length}};if(cy.parentId===ba){const uy=ly.get(cy.id);if(uy)return{...cy,position:{x:uy.x,y:uy.y}}}return cy.type==="swimlane"&&cy.position.x>va.position.x&&sy!==0?{...cy,position:{...cy.position,x:cy.position.x+sy}}:cy})}function layoutSwimlaneContainersWithDagre(ya,ma,ba){const va=ya.filter(Mc=>Mc.type==="swimlane");if(va.length===0)return ya;const Ma=new Map;ba.forEach((Mc,Ef)=>{Mc.forEach(Zf=>Ma.set(Zf,Ef))});const El=new Map;va.forEach(Mc=>{const Ef=Ma.get(Mc.data.name)||"__no_agent__";El.has(Ef)||El.set(Ef,[]),El.get(Ef)?.push(Mc.id)});const wl=ma.map(Mc=>Mc.name).filter(Mc=>El.has(Mc)).concat(El.has("__no_agent__")?["__no_agent__"]:[]),Sl=new Map;let Cl=50;return wl.forEach(Mc=>{const Zf=(El.get(Mc)||[]).map(Jf=>va.find(dp=>dp.id===Jf)).filter(Jf=>!!Jf);if(Zf.length>0){const Jf=Zf.map(hg=>({id:hg.id,width:hg.data?.width||SWIMLANE_WIDTH,height:hg.data?.height||NODE_START_Y,position:{x:0,y:0},data:{}})),dp=Zf.slice(0,-1).map((hg,mg)=>({id:`l-${Mc}-${mg}`,source:hg.id,target:Zf[mg+1].id})),{nodes:hp}=dagreLayout(Jf,dp,"LR",HORIZONTAL_PADDING,NODE_SPACING);let dg=1/0;hp.forEach(hg=>dg=Math.min(dg,hg.position.x));let pg=0;hp.forEach(hg=>{const mg=Cl+hg.position.x-dg;Sl.set(hg.id,{x:mg,y:500}),pg=Math.max(pg,mg+hg.width-Cl)}),Cl+=pg+HORIZONTAL_PADDING*2}}),ya.map(Mc=>{if(Mc.type==="swimlane"){const Ef=Sl.get(Mc.id);if(Ef)return{...Mc,position:Ef}}return Mc})}const useSwimlaneDataManager=(ya,ma,ba,va)=>{const{addFlow:Ma,removeFlow:El,updateFlow:wl,removeDecision:Sl,getDecision:Cl}=useFlow(),{removeAgent:Mc,getAgentFlows:Ef}=useAgent(),Zf=reactExports.useCallback(sy=>{const ly=ya.find(H1=>H1.id===sy.source),cy=ly?.type==="decision";let uy;if(cy&&sy.sourceHandle){const H1=ly?.data?.conditions?.find(lE=>lE.id===sy.sourceHandle);H1&&(uy=H1.label)}va(H1=>{const lE=addEdge({...sy,type:"default",animated:!1,style:{stroke:"#FFFFFF99"},data:{isCondition:cy,label:uy}},H1);if(ly?.parentId){const R_=ly.parentId,V1=ya.find(n0=>n0.id===R_),q1=lE.filter(n0=>ya.find(aE=>aE.id===n0.source)?.parentId===R_).map(n0=>{const aE=ya.find(O_=>O_.id===n0.source),P_=ya.find(O_=>O_.id===n0.target);return{source:aE?.data.name,target:P_?.data.name,label:n0.data?.label}});V1&&wl(V1.data.name,q1)}return lE}),ma(H1=>{const lE=H1.find(n0=>n0.id===sy.source),R_=H1.find(n0=>n0.id===sy.target);if(!lE||!R_)return H1;const V1=lE?.parentId||lE?.data?.parentSwimlane;if(!V1)return H1;const q1=[...ba,{source:sy.source,target:sy.target}];return layoutSwimlane(H1,q1,V1)})},[ya,va,ma,ba,wl]),Jf=reactExports.useCallback(sy=>{const ly=ya.find(aE=>aE.id===sy);if(!ly)return;const cy=String(ly.data.parentSwimlane),uy=ya.find(aE=>aE.id===cy),H1=ya.filter(aE=>aE.id!==sy),lE=ba.filter(aE=>aE.source!==sy&&aE.target!==sy),R_=lE.filter(aE=>H1.find(P_=>P_.id===aE.source)?.parentId===cy).map(aE=>{const P_=H1.find(sN=>sN.id===aE.source),O_=H1.find(sN=>sN.id===aE.target);return{source:P_?.data.name,target:O_?.data.name,label:aE.data?.label}});uy&&wl(uy.data.name,R_),va(lE);const V1=H1.filter(aE=>aE.data.parentSwimlane===cy).sort((aE,P_)=>{const O_=aE.data.childIndex,sN=P_.data.childIndex;return O_-sN}).map((aE,P_)=>({...aE,data:{...aE.data,childIndex:P_}})),q1=H1.map(aE=>aE.data?.parentSwimlane===cy&&V1.find(P_=>P_.id===aE.id)||aE),n0=layoutSwimlane(q1,lE,cy);ma(n0)},[ya,ba,ma,va,wl]),dp=reactExports.useCallback(sy=>{const ly=ya.find(cy=>cy.id===sy);if(ly)if(ly.type==="agent"){const cy=Ef(sy);ya.filter(H1=>H1.type==="swimlane"&&cy.some(lE=>lE.name===H1.data.name)).forEach(H1=>dp(H1.id)),Mc(sy)}else if(ly.type==="decisionNode"){const cy=ly.data?.name||ly.id;try{Sl(cy)}catch{}ya.filter(H1=>H1.type==="decision"&&H1.data?.name===cy).forEach(H1=>Jf(H1.id)),ma(H1=>H1.filter(lE=>lE.id!==sy))}else if(ly.type==="swimlane"){const cy=ly.data.agentName;El(ly.data.name,cy);const uy=new Set([sy]);ya.forEach(H1=>{H1.parentId===sy&&uy.add(H1.id)}),ma(H1=>{const lE=H1.filter(R_=>!uy.has(R_.id));return layoutSwimlane(lE,ba,"")}),va(H1=>H1.filter(lE=>!(uy.has(lE.source)||uy.has(lE.target))))}else ly.parentId&&Jf(sy)},[ya,ma,va,Jf,El,ba,Mc,Ef,Sl]),hp=reactExports.useCallback(async(sy,ly="activity",cy,uy)=>{const H1=v4$2();let lE=[];if(ly==="decision")try{const R_=Cl(cy);R_&&R_.cases&&R_.cases.length>0&&(lE=(await Promise.all(R_.cases.map(async n0=>await introspectCase(n0)))).map(n0=>n0.body.value).map((n0,aE)=>({id:`cond-${H1}-${aE+1}`,label:n0})))}catch(R_){console.error("Error loading decision cases:",R_),lE=[{id:`cond-${H1}-1`,label:"Yes"},{id:`cond-${H1}-2`,label:"No"}]}ma(R_=>{const V1=R_.filter(JY=>JY.parentId===sy),q1=uy!==void 0&&uy>=0&&uy<=V1.length?uy:0,n0=V1.sort((JY,_pe)=>{const _Q=JY.data.childIndex,Cpe=_pe.data.childIndex;return _Q-Cpe}),aE={name:cy,parentSwimlane:sy,childIndex:q1,isStart:ly==="start",...ly==="decision"&&{conditions:lE.length>0?lE:[{id:`cond-${H1}-1`,label:"Yes"},{id:`cond-${H1}-2`,label:"No"}]}},O_=R_.find(JY=>JY.id===sy)?.data?.width||280,sN={id:H1,type:ly==="start"?"startEvent":ly==="end"?"endEvent":ly,position:{x:ly==="decision"?(O_-220)/2:O_-220-30,y:70+q1*160},data:aE,draggable:!1,parentId:sy,extent:"parent"},uN=[...n0.slice(0,q1),sN,...n0.slice(q1)].map((JY,_pe)=>({...JY,data:{...JY.data,childIndex:_pe}})),lN=R_.filter(JY=>JY.parentId!==sy||JY.id===sy),_F=R_.find(JY=>JY.id===sy);if(!_F)return R_;const eee=[...lN.filter(JY=>JY.id!==sy),_F,...uN];return layoutSwimlane(eee,ba,sy)})},[ma,ba,Cl]),dg=reactExports.useCallback((sy,ly)=>{ma(cy=>{if(cy.some(n0=>n0.data.name===sy))return cy;const uy=cy.filter(n0=>n0.type==="swimlane"),H1=uy.length>0?Math.max(...uy.map(n0=>n0.position.x+(n0.data?.width||280))):50,lE=(isFinite(H1)?H1:50)+60,V1={id:v4$2(),type:"swimlane",position:{x:lE,y:70},data:{name:sy,childCount:0,width:280,height:70,agentName:ly},draggable:!1},q1=[...cy,V1];return layoutSwimlane(q1,ba,"")}),Ma(sy)},[ma,Ma,ba]),pg=reactExports.useCallback(sy=>{const ly=ba.find(R_=>R_.id===sy),uy=ya.find(R_=>R_.id===ly?.source)?.parentId,H1=ya.find(R_=>R_.id===uy),lE=ba.filter(R_=>R_.id!==sy);if(va(lE),H1){const R_=lE.filter(V1=>ya.find(q1=>q1.id===V1.source)?.parentId===uy).map(V1=>{const q1=ya.find(aE=>aE.id===V1.source),n0=ya.find(aE=>aE.id===V1.target);return{source:q1?.data.name,target:n0?.data.name,label:V1.data?.label}});wl(H1.data.name,R_),ma(V1=>layoutSwimlane(V1,lE,uy))}},[ba,va,ya,ma,wl]),hg=reactExports.useCallback(sy=>{ma(ly=>ly.map(cy=>{if(cy.id===sy&&cy.type==="decision"){const uy=Array.isArray(cy.data.conditions)?cy.data.conditions:[],lE={id:`cond-${cy.id}-${uy.length+1}`,label:`Condition ${uy.length+1}`};return{...cy,data:{...cy.data,conditions:[...uy,lE]}}}return cy}))},[ma]),mg=reactExports.useCallback((sy,ly,cy)=>{ma(uy=>uy.map(H1=>{if(H1.id===sy&&H1.type==="decision"){const R_=(Array.isArray(H1.data.conditions)?H1.data.conditions:[]).map(V1=>V1.id===ly?{...V1,label:cy}:V1);return{...H1,data:{...H1.data,conditions:R_}}}return H1}))},[ma]),gg=reactExports.useCallback((sy,ly)=>{let cy;va(uy=>{if(cy=uy.find(H1=>H1.source===sy&&H1.sourceHandle===ly),cy){const H1=uy.filter(q1=>q1.id!==cy?.id),R_=ya.find(q1=>q1.id===cy?.source)?.parentId,V1=ya.find(q1=>q1.id===R_);if(V1){const q1=H1.filter(n0=>ya.find(aE=>aE.id===n0.source)?.parentId===R_).map(n0=>{const aE=ya.find(O_=>O_.id===n0.source),P_=ya.find(O_=>O_.id===n0.target);return{source:aE?.data.name,target:P_?.data.name,label:n0.data?.label}});wl(V1.data.name,q1)}return H1}return uy}),ma(uy=>{let H1=uy.map(lE=>{if(lE.id===sy&&lE.type==="decision"){const V1=(Array.isArray(lE.data.conditions)?lE.data.conditions:[]).filter(q1=>q1.id!==ly);if(V1.length>0)return{...lE,data:{...lE.data,conditions:V1}}}return lE});if(cy){const lE=H1.find(q1=>q1.id===cy?.source),R_=lE?.parentId||lE.data?.parentSwimlane,V1=ya.find(q1=>q1.id===R_);lE&&V1&&(H1=layoutSwimlane(H1,ba,R_))}return H1})},[ba,va,ma,ya,wl]);return{onConnect:Zf,addNodeToSwimlane:hp,deleteNode:dp,addNewSwimlane:dg,addConditionToGateway:hg,updateConditionLabel:mg,deleteCondition:gg,deleteEdge:pg}},useSwimlaneInteraction=(ya,ma,ba,va,Ma,El,wl,Sl)=>{const{removeFlow:Cl,updateFlow:Mc}=useFlow(),Ef=useAppStore(V1=>V1.setSelectedAgentId),Zf=useAppStore(V1=>V1.setSelectedDecisionId),{moduleName:Jf,teamName:dp,githubOrg:hp}=useParams(),dg=useNavigate(),{zoomHandler:pg}=useZoomHandler(),[hg,mg]=reactExports.useState(null),[gg,sy]=reactExports.useState(!1),ly=reactExports.useCallback(()=>{mg(null),sy(!0)},[]),cy=reactExports.useCallback(()=>{sy(!1)},[]),uy=reactExports.useCallback(()=>{const V1=new Set(Ma);wl.forEach(sN=>{Cl(sN),V1.add(sN),ya.forEach(uN=>{uN.parentId===sN&&V1.add(uN.id)})});const q1=ya.filter(sN=>!V1.has(sN.id)),n0=ba.filter(sN=>!(V1.has(sN.source)||V1.has(sN.target)));va(n0);const aE=new Set;Ma.forEach(sN=>{const uN=ya.find(lN=>lN.id===sN);uN&&typeof uN.data.parentSwimlane=="string"&&aE.add(uN.data.parentSwimlane)}),aE.forEach(sN=>{const uN=n0.filter(lN=>ya.find(_F=>_F.id===lN.source)?.parentId===sN).map(lN=>({source:lN.source,target:lN.target,label:lN.data?.label}));Mc(sN,uN)});const P_=q1.filter(sN=>sN.type==="swimlane").sort((sN,uN)=>sN.position.x-uN.position.x),O_=q1.map(sN=>{if(sN.type==="swimlane"){const lN=50+P_.findIndex(JY=>JY.id===sN.id)*330,_F=q1.filter(JY=>JY.parentId===sN.id),eee=70+_F.length*160+0;return{...sN,position:{...sN.position,x:lN},data:{...sN.data,childCount:_F.length,height:eee}}}if(typeof sN.data.parentSwimlane=="string"&&aE.has(sN.data.parentSwimlane)){const uN=sN.data.parentSwimlane,_F=q1.filter(eee=>eee.data.parentSwimlane===uN).sort((eee,JY)=>{const _pe=eee.data.childIndex,_Q=JY.data.childIndex;return _pe-_Q}).findIndex(eee=>eee.id===sN.id);return{...sN,data:{...sN.data,childIndex:_F},position:{x:(sN.type==="decision",30),y:70+_F*160}}}return sN});ma(O_),El(new Set),Sl(new Set),mg(null)},[ya,ba,Ma,wl,ma,va,Cl,Mc,El,Sl]),H1=reactExports.useCallback((V1,q1)=>{const n0=ya.find(aE=>aE.id===V1);if(n0&&n0.type==="decision"){const aE=n0.data.name,P_=ya.find(O_=>O_.type==="decisionNode"&&O_.data?.name===aE);Ef(null),Zf(aE);return}if(n0&&n0.type==="decisionNode"){Zf(n0.data.name),Ef(null);return}if(n0&&n0.type==="activity"){const aE=n0.data.name;if(isAgent(Jf||"",aE)){const P_=ya.find(O_=>O_.id===aE);P_&&(Ef(P_.id),Zf(null),pg(P_.id))}else isEvent(Jf||"",aE)&&dg(`/design/workflow/${hp}/${dp}/${Jf}`,{state:{focusEventId:aE}});return}if(n0&&n0.type==="agent"){Ef(V1),Zf(null),setTimeout(()=>{pg(V1)},300);return}Sl(new Set),El(q1?new Set(Ma.has(V1)?[...Ma].filter(aE=>aE!==V1):[...Ma,V1]):new Set([V1]))},[Ma,El,Sl,ya,Jf,hp,dp,pg,dg,Ef,Zf]),lE=reactExports.useCallback((V1,q1)=>{El(new Set),Sl(q1?new Set(wl.has(V1)?[...wl].filter(n0=>n0!==V1):[...wl,V1]):new Set([V1]))},[wl,Sl,El]),R_=reactExports.useCallback(()=>{El(new Set),Sl(new Set),mg(null),Ef(null),Zf(null)},[El,Sl,Ef,Zf]);return{contextMenu:hg,setContextMenu:mg,isAddFlowModalOpen:gg,openAddFlowModal:ly,closeAddFlowModal:cy,deleteSelected:uy,handleNodeClick:H1,handleSwimlaneClick:lE,handleCanvasClick:R_}};function buildInitialStateFromFlows(ya,ma,ba,va){const Ma=[];let El=0;const wl=new Map;for(const[sy,ly]of ba)for(const cy of ly)wl.set(cy,sy);const Sl=[],Cl=[];let Mc=50;for(const sy of ya){const ly=v4$2(),cy=sy.name.replace(/\.flow$/,"");Sl.push({id:ly,type:"swimlane",position:{x:Mc,y:500},data:{name:cy,childCount:0,width:280,height:70,agentName:wl.get(cy)},draggable:!1});const uy=sy.toGraph(),H1=[],lE=new Map,R_=new Map;for(const q1 of uy){let n0=R_.get(q1.label);if(!n0)n0={label:q1.label,type:q1.type,on:q1.on?new Set(q1.on):void 0,next:new Set(q1.next||[])},R_.set(q1.label,n0);else{if(q1.next)for(const aE of q1.next)n0.next.add(aE);if((q1.on||n0.on)&&(n0.on||(n0.on=new Set),q1.on))for(const aE of q1.on)n0.on.add(aE);q1.type==="condition"&&(n0.type="condition")}}for(const q1 of R_.values()){const n0=v4$2();lE.set(q1.label,n0),El++;const aE=q1.type==="condition",P_=q1.on?Array.from(q1.on):[];H1.push({id:n0,type:aE?"decision":"activity",position:{x:0,y:0},data:{name:q1.label,description:aE?"Decision point":"Action",parentSwimlane:ly,...aE?{conditions:P_.map((O_,sN)=>({id:`cond-${n0}-${sN+1}`,label:O_}))}:{}},draggable:!1,parentId:ly,extent:"parent"})}for(const q1 of R_.values()){const n0=lE.get(q1.label);if(!n0)continue;const aE=Array.from(q1.next);for(let P_=0;P_<aE.length;P_++){const O_=aE[P_];let sN=lE.get(O_);sN||(sN=v4$2(),lE.set(O_,sN),El++,H1.push({id:sN,type:"activity",position:{x:0,y:0},data:{name:O_,description:"Action",parentSwimlane:ly},draggable:!1,parentId:ly,extent:"parent"}));const uN=q1.type==="condition";Ma.push({id:`${n0}-${sN}-${P_}`,source:n0,target:sN,type:"default",animated:!1,style:{stroke:"#FFFFFF99"},...uN?{sourceHandle:`cond-${n0}-${P_+1}`,data:{isCondition:!0}}:{}})}}Cl.push(...H1);const V1=Sl[Sl.length-1];V1&&(V1.data.height=70+H1.length*160,V1.data.childCount=H1.length),Mc+=350}const Ef=new Set(Sl.map(sy=>sy.data?.name));for(const[sy,ly]of ba)for(const cy of ly)Ef.has(cy)||(Sl.push({id:v4$2(),type:"swimlane",position:{x:Mc,y:500},data:{name:cy,childCount:0,width:280,height:70,agentName:sy},draggable:!1}),Ef.add(cy),Mc+=350);let Zf=[...Sl,...Cl];for(const sy of Sl)Zf=layoutSwimlane(Zf,Ma,sy.id);const Jf=layoutSwimlaneContainersWithDagre(Zf,ma,ba),dp=new Map(Jf.filter(sy=>sy.type==="swimlane").map(sy=>[sy.data.name,sy])),hp=[...Jf],dg=[...Ma],pg=new Set;for(const[sy,ly]of ba)if(ly.length>0){const cy=ly.map(uy=>dp.get(uy)).filter(uy=>!!uy).sort((uy,H1)=>uy.position.x-H1.position.x);if(cy.length>0){pg.add(sy);const uy=cy[0],H1=cy[cy.length-1],lE=H1.position.x+(H1.data?.width||280)-uy.position.x,V1=uy.position.x+lE/2-300/2;hp.push({id:sy,type:"agent",position:{x:V1,y:300},data:{label:sy}});for(const q1 of cy)dg.push({id:`${sy}-${q1.id}`,source:sy,target:q1.id,type:"default",style:{stroke:"#FFFFFF99"}})}}let hg=100;for(const{name:sy}of ma)pg.has(sy)||(hp.push({id:sy,type:"agent",position:{x:hg,y:-400},data:{label:sy}}),hg+=350);let mg=120;const gg=-50;for(const sy of va)hp.push({id:`decision-node-${sy}`,type:"decisionNode",position:{x:mg,y:gg},data:{name:sy}}),mg+=350;return{nodes:hp,edges:dg,nextNodeCounter:El}}const useSwimlaneState=({flowId:ya})=>{const{moduleName:ma}=useParams(),{getAgentFlows:ba}=useAgent(),va=useAppStore(sN=>sN.moduleDbChangeCount),[Ma,El,wl]=useNodesState([]),[Sl,Cl,Mc]=useEdgesState([]),[Ef,Zf]=reactExports.useState(new Set),[Jf,dp]=reactExports.useState(new Set),[hp,dg]=reactExports.useState(!1),[pg,hg]=reactExports.useState(!1),[mg,gg]=reactExports.useState(!1),[sy,ly]=reactExports.useState(null),cy=reactExports.useMemo(()=>{if(!ma)return null;try{const sN=fetchModule$2(ma),uN=ya?.replace(/\.flow$/,""),lN=uN?[sN.getFlow(uN)]:sN.getAllFlows(),_F=sN.getAgentNames(),JY=_F.map(Cpe=>sN.getAgent(Cpe)).map((Cpe,Tpe)=>({agent:Cpe,name:_F[Tpe]})),_pe=sN.getAllDecisions().map(Cpe=>Cpe.name),_Q=new Map;return JY.forEach(({name:Cpe})=>{const Tpe=ba(Cpe).map(opt=>opt.name.replace(/\.flow$/,""));_Q.set(Cpe,Tpe)}),{flows:lN,agentsWithCleanNames:JY,agentToFlowsMap:_Q,decisions:_pe}}catch(sN){return console.error("Failed to fetch module data:",sN),null}},[ma,ya,va]),uy=reactExports.useMemo(()=>cy?buildInitialStateFromFlows(cy.flows,cy.agentsWithCleanNames,cy.agentToFlowsMap,cy.decisions):{nodes:[],edges:[],nextNodeCounter:0},[cy]);reactExports.useEffect(()=>{El(uy.nodes),Cl(uy.edges)},[uy,El,Cl]);const H1=useSwimlaneDataManager(Ma,El,Sl,Cl),lE=useSwimlaneInteraction(Ma,El,Sl,Cl,Ef,Zf,Jf,dp),R_=()=>dg(!0),V1=()=>dg(!1),q1=()=>hg(!0),n0=()=>hg(!1),aE=sN=>{if(!Ma.some(lN=>lN.type==="swimlane"&&lN.data?.agentName===sN)){H1.addNewSwimlane(sN,sN);return}ly(sN),gg(!0)},P_=()=>{gg(!1),ly(null)};return{nodes:Ma,edges:Sl,onNodesChange:wl,onEdgesChange:Mc,...H1,addNewSwimlane:sN=>{sy&&H1.addNewSwimlane(sN,sy),P_()},...lE,selectedNodes:Ef,selectedSwimlanes:Jf,setSelectedNodes:Zf,setSelectedSwimlanes:dp,isAddAgentModalOpen:hp,openAddAgentModal:R_,closeAddAgentModal:V1,isAddDecisionModalOpen:pg,openAddDecisionModal:q1,closeAddDecisionModal:n0,isAddFlowModalOpen:mg,openAddFlowModal:aE,closeAddFlowModal:P_}},useSwimlaneHandlers=({setContextMenu:ya,deleteNode:ma,nodes:ba,openAddFlowModal:va})=>{const{setAgentPublic:Ma,getAgentPublic:El,getAgentFlows:wl}=useAgent(),Sl=reactExports.useCallback(Ef=>{Ef.defaultPrevented||(Ef.preventDefault(),ya({type:"canvas",x:Ef.clientX,y:Ef.clientY,onClose:()=>ya(null)}))},[ya]),Cl=reactExports.useCallback((Ef,Zf,Jf)=>{ba.find(hp=>hp.id===Ef)&&ya({type:"swimlane",x:Zf,y:Jf,onClose:()=>ya(null),onDelete:()=>ma(Ef),deleteLabel:"Delete Flow"})},[ba,ma,ya]),Mc=reactExports.useCallback((Ef,Zf,Jf)=>{const dp=ba.find(pg=>pg.id===Ef);if(!dp)return;let hp="Delete Node",dg;switch(dp.type){case"agent":{hp="Delete Agent";const pg=dp.data?.label||dp.id;let hg=!1;try{hg=El(pg)}catch{hg=!1}dg=[...wl(pg).length>0?[]:[{label:"Add Flow",action:()=>va(pg)}],{label:hg?"Make Private":"Make Public",action:async()=>{try{const sy=El(pg);await Ma(pg,!sy)}catch(sy){console.error("Error toggling agent public status:",sy)}}}];break}case"decisionNode":hp="Delete Decision";break;case"decision":hp="Delete Decision";break;case"activity":hp="Delete Activity";break;case"startEvent":hp="Delete Start Event";break;case"endEvent":hp="Delete End Event";break}ya({type:"node",x:Zf,y:Jf,onClose:()=>ya(null),onDelete:()=>ma(Ef),deleteLabel:hp,addOptions:dg})},[ba,ma,ya,va,Ma,El,wl]);return{handleCanvasRightClick:Sl,handleSwimlaneRightClick:Cl,handleNodeRightClick:Mc}},validationSchema$1=create$3().shape({name:create$6().required("Flow's Name is required").max(50,"Flow's Name must be less than 50 characters").matches(/^[a-zA-Z0-9_-]+$/,"Flow's Name cannot contain special characters or spaces")}),AddFlowModal=({onClose:ya,onSubmit:ma})=>{const ba=reactExports.useRef(null),va=useOutsideClickHandler(ya);return reactExports.useEffect(()=>{ba.current&&ba.current.focus()},[]),jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsx(Formik,{initialValues:{name:""},onSubmit:Ma=>{ma(Ma.name),ya()},validationSchema:validationSchema$1,children:jsxRuntimeExports.jsxs(Form$7,{className:"modal-content",ref:va,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Add Flow"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer text-secondary-font duration-300 hover:text-maroon",onClick:ya})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx("div",{className:"modal-body",children:jsxRuntimeExports.jsx(Kht,{name:"name",placeholder:"Flow Name",ref:ba})}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsx(Footer,{label:"Add",closeHandler:ya})]})})})},AgentFlowMenu=({menu:ya})=>{const{x:ma,y:ba,onClose:va,onDelete:Ma,deleteLabel:El,addOptions:wl}=ya;return jsxRuntimeExports.jsxs("div",{className:"context-menu fixed bg-white p-1 rounded-lg shadow-lg z-[999]",style:{top:ba,left:ma},onMouseLeave:va,children:[wl&&wl.map((Sl,Cl)=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-md transition-colors duration-100 hover:bg-gray-100 cursor-pointer",onClick:()=>{Sl.action(),va()},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon bg-agent-bg text-agent-icon",children:jsxRuntimeExports.jsx(Icon,{icon:Sl.label==="Public"?"mdi:earth":icons.agentFlow})}),Sl.label]},Cl)),Ma&&jsxRuntimeExports.jsxs("div",{className:"context-menu-item",onClick:()=>{Ma(),console.log("onDelete",Ma),va()},children:[jsxRuntimeExports.jsx("span",{className:"context-menu-icon text-del-icon bg-del-bg",children:jsxRuntimeExports.jsx(Icon,{icon:icons.delete})}),El]})]})},nodeTypes={swimlane:SwimlaneNode,activity:ActivityTaskNode,startEvent:ActivityTaskNode,endEvent:ActivityTaskNode,decision:DecisionGatewayNode,decisionNode:DecisionNode,agent:Agent},SwimlaneDiagram=({flowId:ya,zoomOnScroll:ma=!0,isInteractive:ba=!0})=>{const{isEditable:va}=useTeams(),Ma=va&&ba,{fitView:El}=useReactFlow(),{nodes:wl,edges:Sl,contextMenu:Cl,selectedNodes:Mc,selectedSwimlanes:Ef,setContextMenu:Zf,onNodesChange:Jf,onEdgesChange:dp,onConnect:hp,deleteNode:dg,addNodeToSwimlane:pg,addNewSwimlane:hg,updateConditionLabel:mg,handleNodeClick:gg,handleSwimlaneClick:sy,handleCanvasClick:ly,deleteEdge:cy,deleteCondition:uy,isAddFlowModalOpen:H1,openAddFlowModal:lE,closeAddFlowModal:R_,isAddAgentModalOpen:V1,openAddAgentModal:q1,closeAddAgentModal:n0,isAddDecisionModalOpen:aE,openAddDecisionModal:P_,closeAddDecisionModal:O_}=useSwimlaneState({flowId:ya}),{handleCanvasRightClick:sN,handleSwimlaneRightClick:uN,handleNodeRightClick:lN}=useSwimlaneHandlers({setContextMenu:Zf,deleteNode:dg,nodes:wl,openAddFlowModal:lE}),_F=wl.map(_pe=>{let _Q;return _pe.type==="swimlane"&&(_Q=()=>{const Cpe=wl.filter(Tpe=>Tpe.parentId===_pe.id);return Cpe.length===0?!1:Cpe.some(Tpe=>!Sl.some(Kpt=>Kpt.source===Tpe.id||Kpt.target===Tpe.id))}),{..._pe,data:{..._pe.data,isEditable:Ma,swimlaneId:_pe.id,onAddNode:pg,onSwimlaneRightClick:uN,onNodeRightClick:lN,onUpdateCondition:mg,onDeleteCondition:uy,nodeId:_pe.id,isSelected:_pe.type==="swimlane"?Ef.has(_pe.id):Mc.has(_pe.id),onNodeClick:gg,onSwimlaneClick:sy,getEdgesForNode:Cpe=>Sl.filter(Tpe=>Tpe.source===Cpe||Tpe.target===Cpe),onDeleteEdge:cy,hasUnconnectedChildren:_Q}}}),eee=Sl.map(_pe=>({..._pe,data:{..._pe.data,onDelete:cy,getConditionByHandle:(_Q,Cpe)=>{const Tpe=wl.find(Eht=>Eht.id===_Q);if(!Tpe||Tpe.type!=="decision")return null;const Kpt=(Tpe.data?.conditions||[]).find(Eht=>Eht.id===Cpe);return Kpt?{nodeId:_Q,condition:Kpt}:null},onUpdateCondition:mg,onDeleteCondition:uy}})),JY=reactExports.useRef(!1);return reactExports.useEffect(()=>{JY.current||setTimeout(()=>{El(),JY.current=!0},200)},[El]),jsxRuntimeExports.jsxs("div",{className:"relative w-full h-full agentic-flow",children:[jsxRuntimeExports.jsxs(index$4,{onPaneClick:Ma?ly:void 0,nodes:_F,edges:eee,onNodesChange:Ma?Jf:void 0,onEdgesChange:Ma?dp:void 0,onConnect:Ma?hp:void 0,onContextMenu:Ma?sN:_pe=>_pe.preventDefault(),fitView:!0,nodeTypes,nodesDraggable:Ma,zoomOnScroll:ma,defaultEdgeOptions:{type:"default",style:{stroke:"#FFFFFF99"},markerEnd:{type:MarkerType.ArrowClosed,color:"#FFFFFF99"},animated:!1},children:[jsxRuntimeExports.jsx(Background,{}),Cl&&Cl.type==="canvas"&&jsxRuntimeExports.jsx(AgentMenu,{menu:{top:Cl.y,left:Cl.x},setModal:_pe=>_pe==="Decision"?P_():q1(),closeHandler:Cl.onClose}),Cl&&Cl.type!=="canvas"&&jsxRuntimeExports.jsx(AgentFlowMenu,{menu:Cl})]}),Ma&&V1&&jsxRuntimeExports.jsx(AddEntity,{closeHandler:n0,type:"Agent"}),Ma&&aE&&jsxRuntimeExports.jsx(AddDecision,{closeHandler:O_}),Ma&&H1&&jsxRuntimeExports.jsx(AddFlowModal,{onClose:R_,onSubmit:hg})]})},AgentFlow=()=>{const{moduleName:ya}=useParams(),ma=useAppStore(Mc=>Mc.selectedAgentId),ba=useAppStore(Mc=>Mc.selectedDecisionId),{getAgents:va,getAgentFlows:Ma}=useAgent(),El=useAppStore(Mc=>Mc.setSelectedAgentId),Sl=useLocation()?.state?.focusAgentId,{zoomHandler:Cl}=useZoomHandler();return reactExports.useEffect(()=>{const Mc=va();if(Sl){Mc.includes(Sl)?(El(Sl),setTimeout(()=>{Cl(Sl)},300)):El(null);return}if(Mc.length>0){const Ef=Mc.filter(dp=>Ma(dp).length>0),Zf=Mc.filter(dp=>Ma(dp).length===0),Jf=Ef.length>0?Ef[0]:Zf[0];Jf?(El(Jf),setTimeout(()=>{Cl(Jf)},300)):El(null)}else El(null)},[Sl,ya]),jsxRuntimeExports.jsxs("div",{className:"relative w-full h-full flex overflow-hidden",children:[jsxRuntimeExports.jsx(motion.div,{className:"h-full",animate:{width:ma||ba?"60%":"100%"},transition:{duration:.3,ease:"easeInOut"},children:jsxRuntimeExports.jsx(SwimlaneDiagram,{})}),jsxRuntimeExports.jsx(AnimatePresence,{children:(ma||ba)&&jsxRuntimeExports.jsx(motion.div,{className:"w-2/5 shrink-0 h-full overflow-auto border-l border-table-header bg-primary",initial:{x:"100%"},animate:{x:0},exit:{x:"100%"},transition:{duration:.3,ease:"easeInOut"},children:ma?jsxRuntimeExports.jsx(AgentForm,{agentId:ma}):jsxRuntimeExports.jsx(DecisionForm,{decisionId:ba})})})]})};function NoModule(){const[ya,ma]=reactExports.useState(""),[ba,va]=reactExports.useState(!1),Ma=useNavigate(),{githubOrg:El,teamName:wl}=useParams(),Sl=useAppStore(Zf=>Zf.incrementModuleDbChangeCount),Cl=useAppStore(Zf=>Zf.user),Mc=async()=>{if(!(!ya||!wl)){va(!0);try{const Zf=ya.includes(".")?ya:`${wl}.${ya}`;try{addModule$1(Zf)}catch(Jf){console.warn("Failed to load new module into runtime immediately:",Jf)}await saveModuleToGit(wl,Zf,fetchModule$2(Zf).toString(),`Initial module creation: ${Zf}`,Cl.GitHub.Username,Cl.GitHub.Token),Sl(),Ma(`/design/data-model/${El}/${wl}/${Zf}`)}catch(Zf){console.error("Failed to create module:",Zf)}finally{va(!1)}}},Ef=Zf=>{Zf.key==="Enter"&&Mc()};return jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full text-white bg-primary",children:[jsxRuntimeExports.jsx("h2",{className:"text-2xl font-bold mb-4",children:"No Module Found"}),jsxRuntimeExports.jsx("p",{className:"mb-6 text-gray-400",children:"There are no modules in this repository. Would you like to create one?"}),jsxRuntimeExports.jsxs("div",{className:"flex gap-3 w-full max-w-md",children:[jsxRuntimeExports.jsx("input",{type:"text",value:ya,onChange:Zf=>ma(Zf.target.value),onKeyDown:Ef,placeholder:"Module Name (e.g. app.core)",className:"flex-1 px-4 py-2 rounded bg-secondary border border-border-color focus:outline-none focus:border-blue text-white placeholder-gray-500",autoFocus:!0,disabled:ba}),jsxRuntimeExports.jsx("button",{onClick:Mc,disabled:!ya||ba,className:"px-6 py-2 bg-blue hover:bg-blue-600 rounded font-medium disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:ba?"Creating...":"Create"})]})]})}const GenerateAppModal=({closeHandler:ya,initialPrompt:ma})=>{const[ba,va]=reactExports.useState([]),[Ma,El]=reactExports.useState(ma||""),[wl,Sl]=reactExports.useState(!1),Cl=reactExports.useRef(null),Mc=useNavigate(),Ef=useLocation(),{user:Zf,addConversationMessage:Jf,updateConversationStatus:dp,addBackgroundGeneration:hp,updateBackgroundGeneration:dg,removeBackgroundGeneration:pg}=useAppStore(),hg=useOutsideClickHandler(ya),[mg,gg]=reactExports.useState(null);reactExports.useEffect(()=>{Cl.current?.scrollIntoView({behavior:"smooth"})},[ba]),reactExports.useEffect(()=>{loadAgentCraftModule()},[]),reactExports.useEffect(()=>{const V1=Ef.state;if(V1?.restoreGeneration&&V1?.generationId){const q1=useAppStore.getState().backgroundGenerations[V1.generationId];if(q1){gg(q1.id),Sl(q1.status==="in-progress");const n0=[{id:`msg-user-${q1.id}`,type:"user",content:q1.userPrompt,timestamp:q1.startedAt},{id:`msg-assistant-${q1.id}`,type:"assistant",content:q1.moduleName?`Generated module: ${q1.moduleName}`:q1.currentStep,timestamp:q1.startedAt,metadata:{steps:q1.steps}}];va(n0)}}else if(V1?.resumeConversation&&V1?.appId){const q1=useAppStore.getState().getConversationHistory(V1.appId);if(q1){const n0=q1.map(aE=>({id:aE.id,type:aE.role,content:aE.content,timestamp:new Date(aE.timestamp)}));va(n0)}}},[Ef]);const sy=V1=>{const q1={...V1,id:`msg-${Date.now()}`,timestamp:new Date};return va(n0=>[...n0,q1]),q1},ly=(V1,q1)=>{va(n0=>n0.map(aE=>aE.id===V1?{...aE,...q1}:aE))},cy=(V1,q1,n0)=>{va(aE=>aE.map(P_=>P_.id===V1?{...P_,metadata:{...P_.metadata,steps:P_.metadata?.steps?.map(O_=>O_.id===q1?{...O_,status:n0}:O_)}}:P_))},uy=V1=>{if(typeof V1=="string"){const q1=V1.match(/module\s+(\w+)/);return q1?q1[1]:"GeneratedApp"}return V1?.moduleName||"GeneratedApp"},H1=async()=>{if(!Ma.trim()||wl)return;const V1=Ma.trim();El(""),Sl(!0),sy({type:"user",content:V1});const q1=`gen-${Date.now()}`;gg(q1);const n0=[{id:"analyzing",label:"Analyzing requirements",status:"in-progress"},{id:"generating",label:"Generating code",status:"pending"},{id:"creating",label:"Creating workspace",status:"pending"},{id:"deploying",label:"Setting up environment",status:"pending"}],aE=sy({type:"assistant",content:"Starting app generation...",metadata:{steps:n0}}),P_=Zf?.GitHub?.Org||"default-org";hp({id:q1,appId:"",userPrompt:V1,status:"in-progress",currentStep:"Analyzing requirements",steps:n0,startedAt:new Date,githubOrg:P_});try{const O_=await executeStatement(`{AgentCraft/generateAgentlang {requirements "${V1.replace(/"/g,'\\"')}"}}`);cy(aE.id,"analyzing","completed"),cy(aE.id,"generating","in-progress"),dg(q1,{currentStep:"Generating code",steps:n0.map(lN=>lN.id==="analyzing"?{...lN,status:"completed"}:lN.id==="generating"?{...lN,status:"in-progress"}:lN)});const sN=uy(O_);cy(aE.id,"generating","completed"),cy(aE.id,"creating","in-progress"),ly(aE.id,{content:`Generated module: ${sN}`});const uN=`${P_}/${sN}`;dg(q1,{appId:uN,moduleName:sN,currentStep:"Creating workspace",steps:n0.map(lN=>lN.id==="generating"?{...lN,status:"completed"}:lN.id==="creating"?{...lN,status:"in-progress"}:lN)}),ba.forEach(lN=>{Jf(uN,{role:lN.type,content:lN.content})}),Jf(uN,{role:"user",content:V1}),Jf(uN,{role:"assistant",content:`Successfully generated ${sN}`}),dp(uN,"completed");try{console.log("📝 Generating architecture metadata...");const lN=await executeStatement(`{AgentCraft/requirementDistiller {message "${V1.replace(/"/g,'\\"')}"}}`);let _F={};try{const Tpe=lN.match(/\{[\s\S]*\}/);Tpe&&(_F=JSON.parse(Tpe[0]))}catch{console.warn("Could not parse requirements, using fallback"),_F={moduleName:sN,dataModelRequest:V1,workflowRequest:V1,agentRequest:V1}}const eee={moduleName:sN,dataModelRequest:_F.dataModelRequest||V1,workflowRequest:_F.workflowRequest||V1,agentRequest:_F.agentRequest||V1,generatedCode:O_},_pe=`{AgentCraft/GenerateMetadata {message: "${JSON.stringify(eee).replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}"}}`,_Q=await executeStatement(_pe);let Cpe=_Q;try{const Tpe=_Q.match(/\{[\s\S]*\}/);Tpe&&(Cpe=JSON.parse(Tpe[0]).content||_Q)}catch{console.warn("Using raw metadata result")}if(Zf?.GitHub?.Username&&Zf?.GitHub?.Token)try{const Tpe=typeof Cpe=="string"?Cpe:JSON.stringify(Cpe,null,2);await saveMetadataFileToGit(sN.toLowerCase(),Tpe,"Create architecture metadata",Zf.GitHub.Username,Zf.GitHub.Token),console.log("✅ Architecture metadata saved to .agentlang.metadata.json")}catch(Tpe){console.error("Failed to save architecture metadata:",Tpe)}else console.warn("GitHub credentials not available, skipping metadata save")}catch(lN){console.error("Failed to generate architecture metadata:",lN)}cy(aE.id,"creating","completed"),cy(aE.id,"deploying","completed"),ly(aE.id,{content:`Successfully created ${sN}! Opening workspace...`,metadata:{steps:aE.metadata?.steps?.map(lN=>({...lN,status:"completed"})),generatedApp:{name:sN,moduleName:sN,githubOrg:P_}}}),dg(q1,{status:"completed",currentStep:"Completed",completedAt:new Date,steps:n0.map(lN=>({...lN,status:"completed"}))}),Sl(!1),setTimeout(()=>{Mc(`/design/data-model/${P_}/${sN}/${sN}`,{state:{from:"/generate",generationContext:{appId:uN,hasHistory:!0}}}),pg(q1),ya()},1e3)}catch(O_){console.error("Generation error:",O_);const sN=aE.metadata?.steps?.find(lN=>lN.status==="in-progress"),uN=O_.message||"Failed to generate app. Please try again or provide more details.";ly(aE.id,{content:uN,metadata:{...aE.metadata,steps:aE.metadata?.steps?.map(lN=>lN.status==="in-progress"?{...lN,status:"error"}:lN),error:{message:uN,stepId:sN?.id||"generating",retryCount:0}}}),dg(q1,{status:"error",error:uN,completedAt:new Date,steps:n0.map(lN=>lN.status==="in-progress"?{...lN,status:"error"}:lN)}),Sl(!1)}},lE=V1=>{const q1=ba.findIndex(aE=>aE.id===V1),n0=ba.slice(0,q1).reverse().find(aE=>aE.type==="user");n0&&El(n0.content)},R_=V1=>{V1.key==="Enter"&&!V1.shiftKey&&(V1.preventDefault(),H1())};return jsxRuntimeExports.jsx("div",{className:"modal-container",onClick:ya,children:jsxRuntimeExports.jsxs("div",{ref:hg,className:"modal-content max-w-4xl w-full h-[80vh] flex flex-col",onClick:V1=>V1.stopPropagation(),children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.generativeAI,className:"w-6 h-6"}),jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Generate Application"}),wl&&jsxRuntimeExports.jsxs("div",{className:"text-xs text-gray-400 flex items-center gap-1.5",children:[jsxRuntimeExports.jsx("div",{className:"w-1.5 h-1.5 bg-blue-500 rounded-full animate-pulse"}),"Generating in background..."]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[wl&&jsxRuntimeExports.jsx("div",{title:"Minimize (generation continues in background)",children:jsxRuntimeExports.jsx(Icon,{icon:icons.caretDown,className:"cursor-pointer hover:opacity-70 rotate-180",onClick:ya})}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"cursor-pointer hover:opacity-70",onClick:ya})]})]}),jsxRuntimeExports.jsxs("div",{className:"modal-body flex-1 overflow-y-auto space-y-4",children:[ba.length===0&&jsxRuntimeExports.jsxs("div",{className:"text-center text-gray-400 mt-8",children:[jsxRuntimeExports.jsx(Icon,{icon:icons.generativeAI,className:"w-16 h-16 mx-auto mb-4 opacity-50"}),jsxRuntimeExports.jsx("p",{className:"text-lg mb-2",children:"What would you like to build?"}),jsxRuntimeExports.jsx("p",{className:"text-sm",children:"Example: “Build a todo app with priority levels and due dates”"}),jsxRuntimeExports.jsx("p",{className:"text-sm mt-1",children:"or “Create a CRM system with contacts, deals, and tasks”"})]}),ba.map(V1=>jsxRuntimeExports.jsx("div",{className:`flex ${V1.type==="user"?"justify-end":"justify-start"}`,children:jsxRuntimeExports.jsxs("div",{className:`max-w-[80%] rounded-lg p-4 ${V1.type==="user"?"bg-blue-600 text-white":"bg-gray-700 text-gray-100"}`,children:[jsxRuntimeExports.jsx("div",{className:"whitespace-pre-wrap",children:V1.content}),V1.metadata?.steps&&jsxRuntimeExports.jsx("div",{className:"mt-4 space-y-2",children:V1.metadata.steps.map(q1=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[q1.status==="completed"&&jsxRuntimeExports.jsx(Icon,{icon:icons.check,className:"w-4 h-4 text-green-400"}),q1.status==="in-progress"&&jsxRuntimeExports.jsx("div",{className:"w-4 h-4 border-2 border-blue-400 border-t-transparent rounded-full animate-spin"}),q1.status==="error"&&jsxRuntimeExports.jsx(Icon,{icon:icons.error,className:"w-4 h-4 text-red-400"}),q1.status==="pending"&&jsxRuntimeExports.jsx("div",{className:"w-4 h-4 border-2 border-gray-500 rounded-full"}),jsxRuntimeExports.jsx("span",{children:q1.label})]},q1.id))}),V1.metadata?.error&&jsxRuntimeExports.jsxs("div",{className:"mt-4 p-3 bg-red-900/30 border border-red-700 rounded",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-red-300",children:V1.metadata.error.message}),jsxRuntimeExports.jsx("button",{className:"mt-2 text-xs text-blue-300 hover:underline",onClick:()=>lE(V1.id),children:"Try again"})]})]})},V1.id)),jsxRuntimeExports.jsx("div",{ref:Cl})]}),jsxRuntimeExports.jsx("div",{className:"modal-footer border-t border-gray-700 pt-4",children:jsxRuntimeExports.jsxs("div",{className:"flex gap-2 w-full",children:[jsxRuntimeExports.jsx("input",{type:"text",value:Ma,onChange:V1=>El(V1.target.value),onKeyPress:R_,placeholder:"Describe your application or provide more details...",className:"flex-1 px-4 py-2 bg-gray-800 border border-gray-600 rounded-lg focus:outline-none focus:border-blue-500 text-white",disabled:wl}),jsxRuntimeExports.jsx("button",{onClick:H1,disabled:!Ma.trim()||wl,className:"px-6 py-2 bg-blue-600 hover:bg-blue-700 disabled:bg-gray-600 disabled:cursor-not-allowed rounded-lg transition-colors flex items-center gap-2",children:wl?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Icon,{icon:icons.loading,className:"w-5 h-5"}),"Generating..."]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Icon,{icon:icons.send,className:"w-5 h-5"}),"Send"]})})]})})]})})},Generate=()=>{const ya=useNavigate(),ba=useLocation().state?.prompt,va=()=>{ya("/design/dashboard")};return jsxRuntimeExports.jsx(GenerateAppModal,{closeHandler:va,initialPrompt:ba})},NavbarItem=({label:ya,icon:ma,isOpen:ba,isSmall:va=!1,isLoading:Ma=!1})=>jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[jsxRuntimeExports.jsx("div",{className:"relative",children:Ma?jsxRuntimeExports.jsx(Icon,{icon:"mdi:loading",className:`${va?"w-4.5 h-4.5":"w-6 h-6"} animate-spin`}):jsxRuntimeExports.jsx(Icon,{icon:ma,className:va?"w-4.5 h-4.5":"w-6 h-6"})}),jsxRuntimeExports.jsx(AnimatePresence,{initial:!1,children:ba&&jsxRuntimeExports.jsx(motion.span,{initial:{opacity:0,x:8},animate:{opacity:1,x:0},exit:{opacity:0,x:8},transition:{duration:.2},className:"ml-3 whitespace-nowrap text-sm",children:Ma?"Signing out...":ya},"label")})]}),MobileNavbarItem=({label:ya,icon:ma,isActive:ba,onClick:va})=>jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center justify-center p-2 rounded-md cursor-pointer transition-all duration-300 relative group",ba?"text-font-table-header bg-table-header shadow-lg":"text-secondary-font hover:text-font-table-header hover:bg-table-header/50"),onClick:va,children:[jsxRuntimeExports.jsxs("div",{className:classNames("relative mb-1 transition-transform duration-300",ba?"scale-110":"group-hover:scale-105"),children:[jsxRuntimeExports.jsx(Icon,{icon:ma,className:"w-5 h-5"}),ba&&jsxRuntimeExports.jsx("div",{className:"absolute -top-1 -right-1 w-1.5 h-1.5 bg-font-table-header rounded-full animate-pulse"})]}),jsxRuntimeExports.jsx("span",{className:classNames("text-xs font-medium transition-all duration-300",ba?"text-font-table-header":"text-secondary-font group-hover:text-font-table-header"),children:ya}),ba&&jsxRuntimeExports.jsx("div",{className:"absolute -bottom-0.5 left-1/2 transform -translate-x-1/2 w-6 h-0.5 bg-font-table-header rounded-full"})]}),LogoutConfirmationModal=({isOpen:ya,onConfirm:ma,onCancel:ba,isLoggingOut:va})=>{const Ma=useOutsideClickHandler(ba);return ya?jsxRuntimeExports.jsx("div",{className:"modal-container",children:jsxRuntimeExports.jsxs("div",{className:"modal-content",ref:Ma,children:[jsxRuntimeExports.jsxs("div",{className:"modal-header",children:[jsxRuntimeExports.jsx("div",{className:"modal-title",children:"Sign Out"}),jsxRuntimeExports.jsx(Icon,{icon:icons.cross,className:"trash-icon",onClick:ba})]}),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-blue-500/20 rounded-full flex items-center justify-center",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:logout",className:"text-blue-500 text-xl"})}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"text-lg font-medium text-white",children:"Sign Out"}),jsxRuntimeExports.jsx("p",{className:"text-sm text-gray-400",children:"Account logout"})]})]}),jsxRuntimeExports.jsx("p",{className:"text-gray-300 text-sm leading-relaxed",children:"Are you sure you want to sign out? You'll need to log in again to access your account."}),jsxRuntimeExports.jsx("div",{className:"mt-4 p-3 bg-blue-500/10 border border-blue-500/20 rounded-lg",children:jsxRuntimeExports.jsxs("p",{className:"text-blue-400 text-xs",children:[jsxRuntimeExports.jsx(Icon,{icon:"material-symbols:info-outline",className:"inline mr-1"}),"Your session will be cleared and you'll be redirected to the login page."]})})]}),jsxRuntimeExports.jsx(Divider,{color:"white",sx:{opacity:.2}}),jsxRuntimeExports.jsxs("div",{className:"modal-footer",children:[jsxRuntimeExports.jsx("button",{className:"cancel-button",onClick:ba,disabled:va,children:"Cancel"}),jsxRuntimeExports.jsx("button",{className:"sure-button",onClick:ma,disabled:va,children:va?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(CircularProgress,{size:16,color:"inherit"}),"Signing out..."]}):"Sign Out"})]})]})}):null},MobileNavbar=({pathname:ya,navigate:ma,handleLogoutClick:ba,isLoggingOut:va})=>{const Ma=ya.includes("home"),El=ya.includes("dashboard"),wl=ya.includes("data-model")||ya.includes("agents")||ya.includes("workflow")||ya.includes("security")||ya.includes("settings"),Sl=ya.includes("hub"),Cl=ya.includes("config"),Mc=ya.includes("documents"),Ef=ya.includes("integrations"),Zf=ya.includes("llms");return jsxRuntimeExports.jsxs("div",{className:"lg:hidden fixed bottom-0 left-0 right-0 z-500",children:[jsxRuntimeExports.jsx("div",{className:"absolute inset-0 bg-primary border-t border-border-color"}),jsxRuntimeExports.jsxs("div",{className:"relative flex items-center justify-around p-2 pb-3",children:[jsxRuntimeExports.jsx(MobileNavbarItem,{label:"Home",icon:icons.home,isActive:Ma,onClick:()=>ma("/home")}),jsxRuntimeExports.jsx(MobileNavbarItem,{label:"Agents",icon:icons.team,isActive:El||wl,onClick:()=>ma("/design/dashboard")}),jsxRuntimeExports.jsx(MobileNavbarItem,{label:"Hub",icon:icons.hub,isActive:Sl,onClick:()=>ma("/hub")}),jsxRuntimeExports.jsx(MobileNavbarItem,{label:"Settings",icon:icons.setting,isActive:Cl,onClick:()=>ma("/configuration")}),jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center justify-center p-2 rounded-md cursor-pointer transition-all duration-300 relative group",va?"text-font-table-header cursor-not-allowed opacity-60":"text-secondary-font hover:text-red-400 hover:bg-table-header/50"),onClick:ba,children:[jsxRuntimeExports.jsx("div",{className:classNames("relative mb-1 transition-transform duration-300",va?"animate-pulse":"group-hover:scale-105 group-hover:rotate-12"),children:jsxRuntimeExports.jsx(Icon,{icon:va?"mdi:loading":icons.logout,className:"w-5 h-5"})}),jsxRuntimeExports.jsx("span",{className:classNames("text-xs font-medium transition-all duration-300",va?"text-font-table-header":"text-secondary-font group-hover:text-red-400"),children:va?"Signing out...":"Logout"})]})]}),(El||wl||Mc||Ef||Zf)&&jsxRuntimeExports.jsx(motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:"border-t border-border-color bg-primary/95 backdrop-blur-sm",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-around p-2",children:[jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center p-2 rounded-md cursor-pointer transition-all duration-300",Mc?"bg-table-header text-font-table-header":"text-secondary-font hover:text-font-table-header hover:bg-table-header/50"),onClick:()=>ma("/design/documents"),children:[jsxRuntimeExports.jsx(Icon,{icon:icons.document,className:"w-4 h-4 mb-1"}),jsxRuntimeExports.jsx("span",{className:"text-xs font-medium",children:"Documents"})]}),jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center p-2 rounded-md cursor-pointer transition-all duration-300",Ef?"bg-table-header text-font-table-header":"text-secondary-font hover:text-font-table-header hover:bg-table-header/50"),onClick:()=>ma("/design/integrations"),children:[jsxRuntimeExports.jsx(Icon,{icon:icons.integration,className:"w-4 h-4 mb-1"}),jsxRuntimeExports.jsx("span",{className:"text-xs font-medium",children:"Integrations"})]}),jsxRuntimeExports.jsxs("div",{className:classNames("flex flex-col items-center p-2 rounded-md cursor-pointer transition-all duration-300",Zf?"bg-table-header text-font-table-header":"text-secondary-font hover:text-font-table-header hover:bg-table-header/50"),onClick:()=>ma("/design/llms"),children:[jsxRuntimeExports.jsx(Icon,{icon:icons.llm,className:"w-4 h-4 mb-1"}),jsxRuntimeExports.jsx("span",{className:"text-xs font-medium",children:"LLMs"})]})]})}),jsxRuntimeExports.jsx("div",{className:"h-1 bg-primary"})]})},Navbar=()=>{const{logoutHandler:ya,isLoggingOut:ma}=useAuth(),ba=useNavigate(),[va,Ma]=reactExports.useState(!1),[El,wl]=reactExports.useState(!1),{pathname:Sl}=useLocation(),Cl=useMatches(),{id:Mc}=Cl[Cl.length-1],Ef=Mc==="ui",Zf=Mc==="home",Jf=Mc==="deployment-detail",dp=Sl.includes("design"),hp=Sl.includes("dashboard"),dg=Mc==="agent-flow"||Mc==="data-model"||Mc==="agents"||Mc==="workflow"||Mc==="security"||Mc==="settings"||Ef,pg=Mc==="integrations",hg=Mc==="llms",mg=Mc==="config",{deploymentId:gg}=useParams(),sy=useAppStore(H1=>H1.recentlyVisitedDeployments),ly=()=>{ma||wl(!0)},cy=()=>{wl(!1),ya()},uy=()=>{wl(!1)};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(motion.div,{animate:{width:va?"200px":"72px"},className:"p-2 flex-col gap-1 border-r border-border-color overflow-hidden hidden lg:flex",onMouseEnter:()=>Ma(!0),onMouseLeave:()=>Ma(!1),children:[jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-4 border-transparent border",Zf?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/home"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Home",icon:icons.home,isOpen:va})}),(Zf||Jf)&&sy.length>0&&jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-1 ml-4",children:sy.map(H1=>{const lE=Jf&&H1.DeploymentId===gg;return jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-2.5 border-transparent border",lE?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba(`/deployment/${H1.DeploymentId}`),children:jsxRuntimeExports.jsx(NavbarItem,{label:H1.Repo,icon:icons.deploy,isOpen:va,isSmall:!0})},H1.DeploymentId)})}),jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-4 border-transparent border",hp||dg?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/design/dashboard"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Agents",icon:icons.team,isOpen:va})}),dp&&jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-1 ml-4",children:[jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-2.5 border-transparent border",pg?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/design/integrations"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Integrations",icon:icons.integration,isOpen:va,isSmall:!0})}),jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-2.5 border-transparent border",hg?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/design/llms"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"LLMs",icon:icons.llm,isOpen:va,isSmall:!0})})]}),jsxRuntimeExports.jsxs("div",{className:"flex flex-col mt-auto gap-2",children:[jsxRuntimeExports.jsx("div",{className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-4 border-transparent border",mg?"selected-tab":"text-secondary-font hover:selected-tab"),onClick:()=>ba("/configuration"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Configuration",icon:icons.setting,isOpen:va})}),jsxRuntimeExports.jsx("div",{onClick:ly,className:classNames("h-10 cursor-pointer relative rounded-md flex items-center p-2 px-4 border-transparent border",ma?"text-secondary-font cursor-not-allowed opacity-60":"text-secondary-font hover:selected-tab"),children:jsxRuntimeExports.jsx(NavbarItem,{label:"Logout",icon:icons.logout,isOpen:va,isLoading:ma})}),jsxRuntimeExports.jsxs("div",{className:"flex items-end px-4 py-2 cursor-pointer",onClick:()=>ba("/design/dashboard"),children:[jsxRuntimeExports.jsx("img",{src:"/assets/fractl-logo-small.png",alt:"Fractl Logo",className:"w-6 max-w-6 opacity-80 hover:opacity-100 transition-opacity"}),jsxRuntimeExports.jsx(AnimatePresence,{initial:!1,children:va&&jsxRuntimeExports.jsx(motion.span,{initial:{opacity:0,x:8},animate:{opacity:1,x:0},exit:{opacity:0,x:8},transition:{duration:.2},className:"ml-3 whitespace-nowrap text-sm tracking-widest",children:"FRACTL"},"fractl-label")})]})]})]}),jsxRuntimeExports.jsx(MobileNavbar,{pathname:Sl,navigate:ba,handleLogoutClick:ly,isLoggingOut:ma}),reactDomExports.createPortal(jsxRuntimeExports.jsx(LogoutConfirmationModal,{isOpen:El,onConfirm:cy,onCancel:uy,isLoggingOut:ma}),document.body)]})},ResolverSelector=({resolvers:ya,onResolverSelect:ma,onCancel:ba,isValidating:va=!1,allowCustomResolver:Ma=!0})=>{const[El,wl]=reactExports.useState(null),[Sl,Cl]=reactExports.useState(!1),[Mc,Ef]=reactExports.useState(""),[Zf,Jf]=reactExports.useState(""),[dp,hp]=reactExports.useState("main"),[dg,pg]=reactExports.useState(""),hg=ya.filter(ly=>ly.Name.toLowerCase().includes(dg.toLowerCase())||ly.Description?.toLowerCase().includes(dg.toLowerCase())||ly.GitHubOrg?.toLowerCase().includes(dg.toLowerCase())),mg=ly=>{wl(ly)},gg=()=>{if(Sl){if(Mc&&Zf){const ly={isCustom:!0,Name:`${Mc}/${Zf}`,GitHubOrg:Mc,GitHubRepo:Zf,Branch:dp||"main",Description:"Custom resolver"};ma(ly)}}else El&&ma(El)},sy=ly=>{if(ly.Icon)return jsxRuntimeExports.jsx("img",{src:ly.Icon,alt:ly.Name,className:"w-8 h-8 object-contain",onError:uy=>{uy.target.style.display="none"}});const cy={OpenAPI:"mdi:api","Camel-XML":"simple-icons:apachecamel",Team:"mdi:account-group",Jira:"logos:jira",Slack:"logos:slack-icon",Odoo:"simple-icons:odoo"};return jsxRuntimeExports.jsx(Icon,{icon:cy[ly.Type]||"material-symbols:code",className:"w-8 h-8"})};return jsxRuntimeExports.jsx("div",{className:"p-4 bg-secondary/50 border-t border-secondary",children:jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"text-base font-medium text-primary-font",children:"Select an Integration"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font mt-1",children:"Choose an integration source for your agent"})]}),jsxRuntimeExports.jsx("button",{onClick:ba,className:"text-secondary-font hover:text-primary-font transition-colors",disabled:va,children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:close",className:"w-5 h-5"})})]}),!Sl&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 bg-primary rounded-md border border-transparent focus-within:border-blue focus-within:ring-1 focus-within:ring-blue",children:[jsxRuntimeExports.jsx("div",{className:"pl-3 flex-shrink-0",children:jsxRuntimeExports.jsx(Icon,{icon:"mdi:magnify",className:"w-4 h-4 text-secondary-font"})}),jsxRuntimeExports.jsx("input",{type:"text",value:dg,onChange:ly=>pg(ly.target.value),placeholder:"Search integrations...",className:"flex-1 bg-transparent text-primary-font pr-4 py-2 text-sm outline-none"})]}),Ma&&jsxRuntimeExports.jsxs("div",{className:"flex gap-2 border-b border-secondary pb-2",children:[jsxRuntimeExports.jsx("button",{onClick:()=>{Cl(!1),wl(null)},className:`px-3 py-1.5 text-xs rounded-md transition-colors ${Sl?"bg-transparent text-secondary-font hover:text-primary-font":"bg-blue text-white"}`,children:"Available Integrations"}),jsxRuntimeExports.jsx("button",{onClick:()=>{Cl(!0),wl(null)},className:`px-3 py-1.5 text-xs rounded-md transition-colors ${Sl?"bg-blue text-white":"bg-transparent text-secondary-font hover:text-primary-font"}`,children:"Custom Integration"})]}),jsxRuntimeExports.jsx(AnimatePresence,{mode:"wait",children:Sl?jsxRuntimeExports.jsx(motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},className:"space-y-3",children:jsxRuntimeExports.jsxs("div",{className:"bg-primary rounded-lg p-4 space-y-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:information-outline",className:"w-4 h-4 text-blue flex-shrink-0 mt-0.5"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font",children:"Enter the GitHub organization and repository name of your custom integration. We'll validate it before proceeding."})]}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"GitHub Org"}),jsxRuntimeExports.jsx("input",{type:"text",value:Mc,onChange:ly=>Ef(ly.target.value),placeholder:"e.g., fractl-io",className:"w-full bg-secondary text-primary-font px-3 py-2 rounded-md text-sm focus:outline-none focus:ring-1 focus:ring-blue"})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"Repository"}),jsxRuntimeExports.jsx("input",{type:"text",value:Zf,onChange:ly=>Jf(ly.target.value),placeholder:"e.g., my-resolver",className:"w-full bg-secondary text-primary-font px-3 py-2 rounded-md text-sm focus:outline-none focus:ring-1 focus:ring-blue"})]})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-secondary-font block mb-1",children:"Branch (optional)"}),jsxRuntimeExports.jsx("input",{type:"text",value:dp,onChange:ly=>hp(ly.target.value),placeholder:"main",className:"w-full bg-secondary text-primary-font px-3 py-2 rounded-md text-sm focus:outline-none focus:ring-1 focus:ring-blue"})]})]})},"custom-input"):jsxRuntimeExports.jsx(motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},className:"space-y-2 max-h-80 overflow-y-auto",children:hg.length===0?jsxRuntimeExports.jsxs("div",{className:"text-center py-8 text-secondary-font text-sm",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:folder-open-outline",className:"w-12 h-12 mx-auto mb-2 opacity-50"}),jsxRuntimeExports.jsx("p",{children:"No integrations found"}),Ma&&jsxRuntimeExports.jsx("button",{onClick:()=>Cl(!0),className:"mt-2 text-blue hover:text-blue-hover text-xs",children:"Try adding a custom integration"})]}):hg.map(ly=>jsxRuntimeExports.jsx(motion.div,{onClick:()=>mg(ly),className:`p-3 bg-primary rounded-lg cursor-pointer transition-all border ${El?.Id===ly.Id?"border-blue shadow-md":"border-transparent hover:border-secondary"}`,whileHover:{scale:1.01},whileTap:{scale:.99},children:jsxRuntimeExports.jsxs("div",{className:"flex gap-3",children:[jsxRuntimeExports.jsx("div",{className:"flex-shrink-0 flex items-center justify-center w-10 h-10 bg-secondary rounded",children:sy(ly)}),jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsx("h4",{className:"text-sm font-medium text-primary-font truncate",children:ly.Name}),jsxRuntimeExports.jsx("p",{className:"text-xs text-secondary-font line-clamp-2 mt-0.5",children:ly.Description||"No description available"})]}),El?.Id===ly.Id&&jsxRuntimeExports.jsx(Icon,{icon:"mdi:check-circle",className:"w-5 h-5 text-blue flex-shrink-0"})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3 mt-2 text-xs",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 text-secondary-font",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:github",className:"w-3 h-3"}),jsxRuntimeExports.jsxs("span",{className:"truncate",children:[ly.GitHubOrg,"/",ly.GitHubRepo]})]}),ly.Type&&jsxRuntimeExports.jsx("span",{className:"px-2 py-0.5 bg-secondary rounded text-secondary-font",children:ly.Type})]})]})]})},ly.Id))},"resolver-list")}),jsxRuntimeExports.jsxs("div",{className:"space-y-2 pt-2",children:[jsxRuntimeExports.jsx("button",{onClick:gg,disabled:va||!Sl&&!El||Sl&&(!Mc||!Zf),className:"w-full bg-blue hover:bg-blue-hover text-white px-4 py-2 rounded-md text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:va?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"}),jsxRuntimeExports.jsx("span",{children:"Validating..."})]}):"Continue with Integration"}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("div",{className:"flex-1 h-px bg-secondary"}),jsxRuntimeExports.jsx("span",{className:"text-xs text-secondary-font",children:"or"}),jsxRuntimeExports.jsx("div",{className:"flex-1 h-px bg-secondary"})]}),jsxRuntimeExports.jsxs("button",{onClick:()=>ma(null),disabled:va,className:"w-full bg-secondary hover:bg-secondary/70 text-primary-font px-4 py-2 rounded-md text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[jsxRuntimeExports.jsx(Icon,{icon:"mdi:close-circle",className:"w-4 h-4"}),jsxRuntimeExports.jsx("span",{children:"Skip & Build Without Integrations"})]})]})]})})};new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString();const createPlaygroundResolverFileSystem=async ya=>{const ma=`/resolvers/${ya.GitHubRepo}`;try{await openRepository(ma);const ba=`# ${ya.Name} Resolver
21024
21024
 
21025
21025
  ${ya.Description}
21026
21026