@persistica/flux-mesh 0.0.21 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var rM=Object.create;var{getPrototypeOf:vM,defineProperty:oC,getOwnPropertyNames:nM}=Object;var $M=Object.prototype.hasOwnProperty;function _M(A){return this[A]}var eM,A0,SB=(A,I,g)=>{var B=A!=null&&typeof A==="object";if(B){var Q=I?eM??=new WeakMap:A0??=new WeakMap,C=Q.get(A);if(C)return C}g=A!=null?rM(vM(A)):{};let E=I||!A||!A.__esModule?oC(g,"default",{value:A,enumerable:!0}):g;for(let D of nM(A))if(!$M.call(E,D))oC(E,D,{get:_M.bind(A,D),enumerable:!0});if(B)Q.set(A,E);return E};var M=(A,I)=>()=>(I||A((I={exports:{}}).exports,I),I.exports);var I0=(A)=>A;function g0(A,I){this[A]=I0.bind(null,I)}var ki=(A,I)=>{for(var g in I)oC(A,g,{get:I[g],enumerable:!0,configurable:!0,set:g0.bind(I,g)})};var Ki=(A,I)=>()=>(A&&(I=A(A=0)),I);var Z=import.meta.require;var PI=M((hC,Vi)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var aB=Z("buffer"),mA=aB.Buffer;function Oi(A,I){for(var g in A)I[g]=A[g]}if(mA.from&&mA.alloc&&mA.allocUnsafe&&mA.allocUnsafeSlow)Vi.exports=aB;else Oi(aB,hC),hC.Buffer=aI;function aI(A,I,g){return mA(A,I,g)}aI.prototype=Object.create(mA.prototype);Oi(mA,aI);aI.from=function(A,I,g){if(typeof A==="number")throw TypeError("Argument must not be a number");return mA(A,I,g)};aI.alloc=function(A,I,g){if(typeof A!=="number")throw TypeError("Argument must be a number");var B=mA(A);if(I!==void 0)if(typeof g==="string")B.fill(I,g);else B.fill(I);else B.fill(0);return B};aI.allocUnsafe=function(A){if(typeof A!=="number")throw TypeError("Argument must be a number");return mA(A)};aI.allocUnsafeSlow=function(A){if(typeof A!=="number")throw TypeError("Argument must be a number");return aB.SlowBuffer(A)}});var UC=M((RV,ji)=>{var HB=PI().Buffer,C0=Z("stream"),E0=Z("util");function cB(A){if(this.buffer=null,this.writable=!0,this.readable=!0,!A)return this.buffer=HB.alloc(0),this;if(typeof A.pipe==="function")return this.buffer=HB.alloc(0),A.pipe(this),this;if(A.length||typeof A==="object")return this.buffer=A,this.writable=!1,process.nextTick(function(){this.emit("end",A),this.readable=!1,this.emit("close")}.bind(this)),this;throw TypeError("Unexpected data type ("+typeof A+")")}E0.inherits(cB,C0);cB.prototype.write=function(I){this.buffer=HB.concat([this.buffer,HB.from(I)]),this.emit("data",I)};cB.prototype.end=function(I){if(I)this.write(I);this.emit("end",I),this.emit("close"),this.writable=!1,this.readable=!1};ji.exports=cB});var bi=M((SV,di)=>{function YC(A){var I=(A/8|0)+(A%8===0?0:1);return I}var D0={ES256:YC(256),ES384:YC(384),ES512:YC(521)};function i0(A){var I=D0[A];if(I)return I;throw Error('Unknown algorithm "'+A+'"')}di.exports=i0});var ti=M((MV,mi)=>{var LB=PI().Buffer,Xi=bi(),sB=128,Pi=0,G0=32,o0=16,w0=2,fi=o0|G0|Pi<<6,qB=w0|Pi<<6;function N0(A){return A.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function li(A){if(LB.isBuffer(A))return A;else if(typeof A==="string")return LB.from(A,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function k0(A,I){A=li(A);var g=Xi(I),B=g+1,Q=A.length,C=0;if(A[C++]!==fi)throw Error('Could not find expected "seq"');var E=A[C++];if(E===(sB|1))E=A[C++];if(Q-C<E)throw Error('"seq" specified length of "'+E+'", only "'+(Q-C)+'" remaining');if(A[C++]!==qB)throw Error('Could not find expected "int" for "r"');var D=A[C++];if(Q-C-2<D)throw Error('"r" specified length of "'+D+'", only "'+(Q-C-2)+'" available');if(B<D)throw Error('"r" specified length of "'+D+'", max of "'+B+'" is acceptable');var i=C;if(C+=D,A[C++]!==qB)throw Error('Could not find expected "int" for "s"');var G=A[C++];if(Q-C!==G)throw Error('"s" specified length of "'+G+'", expected "'+(Q-C)+'"');if(B<G)throw Error('"s" specified length of "'+G+'", max of "'+B+'" is acceptable');var o=C;if(C+=G,C!==Q)throw Error('Expected to consume entire buffer, but "'+(Q-C)+'" bytes remain');var w=g-D,N=g-G,k=LB.allocUnsafe(w+D+N+G);for(C=0;C<w;++C)k[C]=0;A.copy(k,C,i+Math.max(-w,0),i+D),C=g;for(var F=C;C<F+N;++C)k[C]=0;return A.copy(k,C,o+Math.max(-N,0),o+G),k=k.toString("base64"),k=N0(k),k}function zi(A,I,g){var B=0;while(I+B<g&&A[I+B]===0)++B;var Q=A[I+B]>=sB;if(Q)--B;return B}function K0(A,I){A=li(A);var g=Xi(I),B=A.length;if(B!==g*2)throw TypeError('"'+I+'" signatures must be "'+g*2+'" bytes, saw "'+B+'"');var Q=zi(A,0,g),C=zi(A,g,A.length),E=g-Q,D=g-C,i=2+E+1+1+D,G=i<sB,o=LB.allocUnsafe((G?2:3)+i),w=0;if(o[w++]=fi,G)o[w++]=i;else o[w++]=sB|1,o[w++]=i&255;if(o[w++]=qB,o[w++]=E,Q<0)o[w++]=0,w+=A.copy(o,w,0,g);else w+=A.copy(o,w,Q,g);if(o[w++]=qB,o[w++]=D,C<0)o[w++]=0,A.copy(o,w,g);else A.copy(o,w,g+C);return o}mi.exports={derToJose:k0,joseToDer:K0}});var ri=M((yV,ui)=>{var Ug=Z("buffer").Buffer,JC=Z("buffer").SlowBuffer;ui.exports=xB;function xB(A,I){if(!Ug.isBuffer(A)||!Ug.isBuffer(I))return!1;if(A.length!==I.length)return!1;var g=0;for(var B=0;B<A.length;B++)g|=A[B]^I[B];return g===0}xB.install=function(){Ug.prototype.equal=JC.prototype.equal=function(I){return xB(this,I)}};var F0=Ug.prototype.equal,R0=JC.prototype.equal;xB.restore=function(){Ug.prototype.equal=F0,JC.prototype.equal=R0}});var LC=M((hV,BG)=>{var lI=PI().Buffer,pA=Z("crypto"),ni=ti(),vi=Z("util"),S0=`"%s" is not a valid algorithm.
3
3
  Supported algorithms are:
4
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Yg="secret must be a string or buffer",fI="key must be a string or a buffer",M0="key must be a string, a buffer or an object",HC=typeof pA.createPublicKey==="function";if(HC)fI+=" or a KeyObject",Yg+="or a KeyObject";function $i(A){if(lI.isBuffer(A))return;if(typeof A==="string")return;if(!HC)throw dA(fI);if(typeof A!=="object")throw dA(fI);if(typeof A.type!=="string")throw dA(fI);if(typeof A.asymmetricKeyType!=="string")throw dA(fI);if(typeof A.export!=="function")throw dA(fI)}function _i(A){if(lI.isBuffer(A))return;if(typeof A==="string")return;if(typeof A==="object")return;throw dA(M0)}function y0(A){if(lI.isBuffer(A))return;if(typeof A==="string")return A;if(!HC)throw dA(Yg);if(typeof A!=="object")throw dA(Yg);if(A.type!=="secret")throw dA(Yg);if(typeof A.export!=="function")throw dA(Yg)}function cC(A){return A.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function ei(A){A=A.toString();var I=4-A.length%4;if(I!==4)for(var g=0;g<I;++g)A+="=";return A.replace(/\-/g,"+").replace(/_/g,"/")}function dA(A){var I=[].slice.call(arguments,1),g=vi.format.bind(vi,A).apply(null,I);return TypeError(g)}function h0(A){return lI.isBuffer(A)||typeof A==="string"}function Jg(A){if(!h0(A))A=JSON.stringify(A);return A}function AG(A){return function(g,B){y0(B),g=Jg(g);var Q=pA.createHmac("sha"+A,B),C=(Q.update(g),Q.digest("base64"));return cC(C)}}var aC,U0="timingSafeEqual"in pA?function(I,g){if(I.byteLength!==g.byteLength)return!1;return pA.timingSafeEqual(I,g)}:function(I,g){if(!aC)aC=ri();return aC(I,g)};function Y0(A){return function(g,B,Q){var C=AG(A)(g,Q);return U0(lI.from(B),lI.from(C))}}function IG(A){return function(g,B){_i(B),g=Jg(g);var Q=pA.createSign("RSA-SHA"+A),C=(Q.update(g),Q.sign(B,"base64"));return cC(C)}}function gG(A){return function(g,B,Q){$i(Q),g=Jg(g),B=ei(B);var C=pA.createVerify("RSA-SHA"+A);return C.update(g),C.verify(Q,B,"base64")}}function J0(A){return function(g,B){_i(B),g=Jg(g);var Q=pA.createSign("RSA-SHA"+A),C=(Q.update(g),Q.sign({key:B,padding:pA.constants.RSA_PKCS1_PSS_PADDING,saltLength:pA.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return cC(C)}}function a0(A){return function(g,B,Q){$i(Q),g=Jg(g),B=ei(B);var C=pA.createVerify("RSA-SHA"+A);return C.update(g),C.verify({key:Q,padding:pA.constants.RSA_PKCS1_PSS_PADDING,saltLength:pA.constants.RSA_PSS_SALTLEN_DIGEST},B,"base64")}}function H0(A){var I=IG(A);return function(){var B=I.apply(null,arguments);return B=ni.derToJose(B,"ES"+A),B}}function c0(A){var I=gG(A);return function(B,Q,C){Q=ni.joseToDer(Q,"ES"+A).toString("base64");var E=I(B,Q,C);return E}}function L0(){return function(){return""}}function s0(){return function(I,g){return g===""}}BG.exports=function(I){var g={hs:AG,rs:IG,ps:J0,es:H0,none:L0},B={hs:Y0,rs:gG,ps:a0,es:c0,none:s0},Q=I.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!Q)throw dA(S0,I);var C=(Q[1]||Q[3]).toLowerCase(),E=Q[2];return{sign:g[C](E),verify:B[C](E)}}});var sC=M((UV,QG)=>{var q0=Z("buffer").Buffer;QG.exports=function(I){if(typeof I==="string")return I;if(typeof I==="number"||q0.isBuffer(I))return I.toString();return JSON.stringify(I)}});var oG=M((YV,GG)=>{var x0=PI().Buffer,CG=UC(),p0=LC(),Z0=Z("stream"),EG=sC(),qC=Z("util");function DG(A,I){return x0.from(A,I).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function W0(A,I,g){g=g||"utf8";var B=DG(EG(A),"binary"),Q=DG(EG(I),g);return qC.format("%s.%s",B,Q)}function iG(A){var{header:I,payload:g}=A,B=A.secret||A.privateKey,Q=A.encoding,C=p0(I.alg),E=W0(I,g,Q),D=C.sign(E,B);return qC.format("%s.%s",E,D)}function pB(A){var I=A.secret;if(I=I==null?A.privateKey:I,I=I==null?A.key:I,/^hs/i.test(A.header.alg)===!0&&I==null)throw TypeError("secret must be a string or buffer or a KeyObject");var g=new CG(I);this.readable=!0,this.header=A.header,this.encoding=A.encoding,this.secret=this.privateKey=this.key=g,this.payload=new CG(A.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}qC.inherits(pB,Z0);pB.prototype.sign=function(){try{var I=iG({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",I),this.emit("data",I),this.emit("end"),this.readable=!1,I}catch(g){this.readable=!1,this.emit("error",g),this.emit("close")}};pB.sign=iG;GG.exports=pB});var hG=M((JV,yG)=>{var NG=PI().Buffer,wG=UC(),T0=LC(),O0=Z("stream"),kG=sC(),V0=Z("util"),j0=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function d0(A){return Object.prototype.toString.call(A)==="[object Object]"}function b0(A){if(d0(A))return A;try{return JSON.parse(A)}catch(I){return}}function KG(A){var I=A.split(".",1)[0];return b0(NG.from(I,"base64").toString("binary"))}function z0(A){return A.split(".",2).join(".")}function FG(A){return A.split(".")[2]}function X0(A,I){I=I||"utf8";var g=A.split(".")[1];return NG.from(g,"base64").toString(I)}function RG(A){return j0.test(A)&&!!KG(A)}function SG(A,I,g){if(!I){var B=Error("Missing algorithm parameter for jws.verify");throw B.code="MISSING_ALGORITHM",B}A=kG(A);var Q=FG(A),C=z0(A),E=T0(I);return E.verify(C,Q,g)}function MG(A,I){if(I=I||{},A=kG(A),!RG(A))return null;var g=KG(A);if(!g)return null;var B=X0(A);if(g.typ==="JWT"||I.json)B=JSON.parse(B,I.encoding);return{header:g,payload:B,signature:FG(A)}}function mI(A){A=A||{};var I=A.secret;if(I=I==null?A.publicKey:I,I=I==null?A.key:I,/^hs/i.test(A.algorithm)===!0&&I==null)throw TypeError("secret must be a string or buffer or a KeyObject");var g=new wG(I);this.readable=!0,this.algorithm=A.algorithm,this.encoding=A.encoding,this.secret=this.publicKey=this.key=g,this.signature=new wG(A.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}V0.inherits(mI,O0);mI.prototype.verify=function(){try{var I=SG(this.signature.buffer,this.algorithm,this.key.buffer),g=MG(this.signature.buffer,this.encoding);return this.emit("done",I,g),this.emit("data",I),this.emit("end"),this.readable=!1,I}catch(B){this.readable=!1,this.emit("error",B),this.emit("close")}};mI.decode=MG;mI.isValid=RG;mI.verify=SG;yG.exports=mI});var WB=M((f0)=>{var UG=oG(),ZB=hG(),P0=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];f0.ALGORITHMS=P0;f0.sign=UG.sign;f0.verify=ZB.verify;f0.decode=ZB.decode;f0.isValid=ZB.isValid;f0.createSign=function(I){return new UG(I)};f0.createVerify=function(I){return new ZB(I)}});var xC=M((HV,YG)=>{var $0=WB();YG.exports=function(A,I){I=I||{};var g=$0.decode(A,I);if(!g)return null;var B=g.payload;if(typeof B==="string")try{var Q=JSON.parse(B);if(Q!==null&&typeof Q==="object")B=Q}catch(C){}if(I.complete===!0)return{header:g.header,payload:B,signature:g.signature};return B}});var ag=M((cV,JG)=>{var TB=function(A,I){if(Error.call(this,A),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=A,I)this.inner=I};TB.prototype=Object.create(Error.prototype);TB.prototype.constructor=TB;JG.exports=TB});var pC=M((LV,HG)=>{var aG=ag(),OB=function(A,I){aG.call(this,A),this.name="NotBeforeError",this.date=I};OB.prototype=Object.create(aG.prototype);OB.prototype.constructor=OB;HG.exports=OB});var ZC=M((sV,LG)=>{var cG=ag(),VB=function(A,I){cG.call(this,A),this.name="TokenExpiredError",this.expiredAt=I};VB.prototype=Object.create(cG.prototype);VB.prototype.constructor=VB;LG.exports=VB});var qG=M((qV,sG)=>{var tI=1000,uI=tI*60,rI=uI*60,HI=rI*24,_0=HI*7,e0=HI*365.25;sG.exports=function(A,I){I=I||{};var g=typeof A;if(g==="string"&&A.length>0)return Ay(A);else if(g==="number"&&isFinite(A))return I.long?gy(A):Iy(A);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(A))};function Ay(A){if(A=String(A),A.length>100)return;var I=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(A);if(!I)return;var g=parseFloat(I[1]),B=(I[2]||"ms").toLowerCase();switch(B){case"years":case"year":case"yrs":case"yr":case"y":return g*e0;case"weeks":case"week":case"w":return g*_0;case"days":case"day":case"d":return g*HI;case"hours":case"hour":case"hrs":case"hr":case"h":return g*rI;case"minutes":case"minute":case"mins":case"min":case"m":return g*uI;case"seconds":case"second":case"secs":case"sec":case"s":return g*tI;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return g;default:return}}function Iy(A){var I=Math.abs(A);if(I>=HI)return Math.round(A/HI)+"d";if(I>=rI)return Math.round(A/rI)+"h";if(I>=uI)return Math.round(A/uI)+"m";if(I>=tI)return Math.round(A/tI)+"s";return A+"ms"}function gy(A){var I=Math.abs(A);if(I>=HI)return jB(A,I,HI,"day");if(I>=rI)return jB(A,I,rI,"hour");if(I>=uI)return jB(A,I,uI,"minute");if(I>=tI)return jB(A,I,tI,"second");return A+" ms"}function jB(A,I,g,B){var Q=I>=g*1.5;return Math.round(A/g)+" "+B+(Q?"s":"")}});var WC=M((xV,xG)=>{var By=qG();xG.exports=function(A,I){var g=I||Math.floor(Date.now()/1000);if(typeof A==="string"){var B=By(A);if(typeof B>"u")return;return Math.floor(g+B/1000)}else if(typeof A==="number")return g+A;else return}});var Hg=M((pV,pG)=>{var Qy=Number.MAX_SAFE_INTEGER||9007199254740991,Cy=["major","premajor","minor","preminor","patch","prepatch","prerelease"];pG.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Qy,RELEASE_TYPES:Cy,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var cg=M((ZV,ZG)=>{var Ey=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...A)=>console.error("SEMVER",...A):()=>{};ZG.exports=Ey});var vI=M((tA,WG)=>{var{MAX_SAFE_COMPONENT_LENGTH:TC,MAX_SAFE_BUILD_LENGTH:Dy,MAX_LENGTH:iy}=Hg(),Gy=cg();tA=WG.exports={};var oy=tA.re=[],wy=tA.safeRe=[],J=tA.src=[],Ny=tA.safeSrc=[],a=tA.t={},ky=0,OC="[a-zA-Z0-9-]",Ky=[["\\s",1],["\\d",iy],[OC,Dy]],Fy=(A)=>{for(let[I,g]of Ky)A=A.split(`${I}*`).join(`${I}{0,${g}}`).split(`${I}+`).join(`${I}{1,${g}}`);return A},z=(A,I,g)=>{let B=Fy(I),Q=ky++;Gy(A,Q,I),a[A]=Q,J[Q]=I,Ny[Q]=B,oy[Q]=new RegExp(I,g?"g":void 0),wy[Q]=new RegExp(B,g?"g":void 0)};z("NUMERICIDENTIFIER","0|[1-9]\\d*");z("NUMERICIDENTIFIERLOOSE","\\d+");z("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${OC}*`);z("MAINVERSION",`(${J[a.NUMERICIDENTIFIER]})\\.(${J[a.NUMERICIDENTIFIER]})\\.(${J[a.NUMERICIDENTIFIER]})`);z("MAINVERSIONLOOSE",`(${J[a.NUMERICIDENTIFIERLOOSE]})\\.(${J[a.NUMERICIDENTIFIERLOOSE]})\\.(${J[a.NUMERICIDENTIFIERLOOSE]})`);z("PRERELEASEIDENTIFIER",`(?:${J[a.NONNUMERICIDENTIFIER]}|${J[a.NUMERICIDENTIFIER]})`);z("PRERELEASEIDENTIFIERLOOSE",`(?:${J[a.NONNUMERICIDENTIFIER]}|${J[a.NUMERICIDENTIFIERLOOSE]})`);z("PRERELEASE",`(?:-(${J[a.PRERELEASEIDENTIFIER]}(?:\\.${J[a.PRERELEASEIDENTIFIER]})*))`);z("PRERELEASELOOSE",`(?:-?(${J[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${J[a.PRERELEASEIDENTIFIERLOOSE]})*))`);z("BUILDIDENTIFIER",`${OC}+`);z("BUILD",`(?:\\+(${J[a.BUILDIDENTIFIER]}(?:\\.${J[a.BUILDIDENTIFIER]})*))`);z("FULLPLAIN",`v?${J[a.MAINVERSION]}${J[a.PRERELEASE]}?${J[a.BUILD]}?`);z("FULL",`^${J[a.FULLPLAIN]}$`);z("LOOSEPLAIN",`[v=\\s]*${J[a.MAINVERSIONLOOSE]}${J[a.PRERELEASELOOSE]}?${J[a.BUILD]}?`);z("LOOSE",`^${J[a.LOOSEPLAIN]}$`);z("GTLT","((?:<|>)?=?)");z("XRANGEIDENTIFIERLOOSE",`${J[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);z("XRANGEIDENTIFIER",`${J[a.NUMERICIDENTIFIER]}|x|X|\\*`);z("XRANGEPLAIN",`[v=\\s]*(${J[a.XRANGEIDENTIFIER]})(?:\\.(${J[a.XRANGEIDENTIFIER]})(?:\\.(${J[a.XRANGEIDENTIFIER]})(?:${J[a.PRERELEASE]})?${J[a.BUILD]}?)?)?`);z("XRANGEPLAINLOOSE",`[v=\\s]*(${J[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${J[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${J[a.XRANGEIDENTIFIERLOOSE]})(?:${J[a.PRERELEASELOOSE]})?${J[a.BUILD]}?)?)?`);z("XRANGE",`^${J[a.GTLT]}\\s*${J[a.XRANGEPLAIN]}$`);z("XRANGELOOSE",`^${J[a.GTLT]}\\s*${J[a.XRANGEPLAINLOOSE]}$`);z("COERCEPLAIN",`(^|[^\\d])(\\d{1,${TC}})(?:\\.(\\d{1,${TC}}))?(?:\\.(\\d{1,${TC}}))?`);z("COERCE",`${J[a.COERCEPLAIN]}(?:$|[^\\d])`);z("COERCEFULL",J[a.COERCEPLAIN]+`(?:${J[a.PRERELEASE]})?(?:${J[a.BUILD]})?(?:$|[^\\d])`);z("COERCERTL",J[a.COERCE],!0);z("COERCERTLFULL",J[a.COERCEFULL],!0);z("LONETILDE","(?:~>?)");z("TILDETRIM",`(\\s*)${J[a.LONETILDE]}\\s+`,!0);tA.tildeTrimReplace="$1~";z("TILDE",`^${J[a.LONETILDE]}${J[a.XRANGEPLAIN]}$`);z("TILDELOOSE",`^${J[a.LONETILDE]}${J[a.XRANGEPLAINLOOSE]}$`);z("LONECARET","(?:\\^)");z("CARETTRIM",`(\\s*)${J[a.LONECARET]}\\s+`,!0);tA.caretTrimReplace="$1^";z("CARET",`^${J[a.LONECARET]}${J[a.XRANGEPLAIN]}$`);z("CARETLOOSE",`^${J[a.LONECARET]}${J[a.XRANGEPLAINLOOSE]}$`);z("COMPARATORLOOSE",`^${J[a.GTLT]}\\s*(${J[a.LOOSEPLAIN]})$|^$`);z("COMPARATOR",`^${J[a.GTLT]}\\s*(${J[a.FULLPLAIN]})$|^$`);z("COMPARATORTRIM",`(\\s*)${J[a.GTLT]}\\s*(${J[a.LOOSEPLAIN]}|${J[a.XRANGEPLAIN]})`,!0);tA.comparatorTrimReplace="$1$2$3";z("HYPHENRANGE",`^\\s*(${J[a.XRANGEPLAIN]})\\s+-\\s+(${J[a.XRANGEPLAIN]})\\s*$`);z("HYPHENRANGELOOSE",`^\\s*(${J[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${J[a.XRANGEPLAINLOOSE]})\\s*$`);z("STAR","(<|>)?=?\\s*\\*");z("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");z("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var dB=M((WV,TG)=>{var Ry=Object.freeze({loose:!0}),Sy=Object.freeze({}),My=(A)=>{if(!A)return Sy;if(typeof A!=="object")return Ry;return A};TG.exports=My});var VC=M((TV,jG)=>{var OG=/^[0-9]+$/,VG=(A,I)=>{if(typeof A==="number"&&typeof I==="number")return A===I?0:A<I?-1:1;let g=OG.test(A),B=OG.test(I);if(g&&B)A=+A,I=+I;return A===I?0:g&&!B?-1:B&&!g?1:A<I?-1:1},yy=(A,I)=>VG(I,A);jG.exports={compareIdentifiers:VG,rcompareIdentifiers:yy}});var KA=M((OV,bG)=>{var bB=cg(),{MAX_LENGTH:dG,MAX_SAFE_INTEGER:zB}=Hg(),{safeRe:XB,t:PB}=vI(),hy=dB(),{compareIdentifiers:jC}=VC();class bA{constructor(A,I){if(I=hy(I),A instanceof bA)if(A.loose===!!I.loose&&A.includePrerelease===!!I.includePrerelease)return A;else A=A.version;else if(typeof A!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof A}".`);if(A.length>dG)throw TypeError(`version is longer than ${dG} characters`);bB("SemVer",A,I),this.options=I,this.loose=!!I.loose,this.includePrerelease=!!I.includePrerelease;let g=A.trim().match(I.loose?XB[PB.LOOSE]:XB[PB.FULL]);if(!g)throw TypeError(`Invalid Version: ${A}`);if(this.raw=A,this.major=+g[1],this.minor=+g[2],this.patch=+g[3],this.major>zB||this.major<0)throw TypeError("Invalid major version");if(this.minor>zB||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>zB||this.patch<0)throw TypeError("Invalid patch version");if(!g[4])this.prerelease=[];else this.prerelease=g[4].split(".").map((B)=>{if(/^[0-9]+$/.test(B)){let Q=+B;if(Q>=0&&Q<zB)return Q}return B});this.build=g[5]?g[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(A){if(bB("SemVer.compare",this.version,this.options,A),!(A instanceof bA)){if(typeof A==="string"&&A===this.version)return 0;A=new bA(A,this.options)}if(A.version===this.version)return 0;return this.compareMain(A)||this.comparePre(A)}compareMain(A){if(!(A instanceof bA))A=new bA(A,this.options);if(this.major<A.major)return-1;if(this.major>A.major)return 1;if(this.minor<A.minor)return-1;if(this.minor>A.minor)return 1;if(this.patch<A.patch)return-1;if(this.patch>A.patch)return 1;return 0}comparePre(A){if(!(A instanceof bA))A=new bA(A,this.options);if(this.prerelease.length&&!A.prerelease.length)return-1;else if(!this.prerelease.length&&A.prerelease.length)return 1;else if(!this.prerelease.length&&!A.prerelease.length)return 0;let I=0;do{let g=this.prerelease[I],B=A.prerelease[I];if(bB("prerelease compare",I,g,B),g===void 0&&B===void 0)return 0;else if(B===void 0)return 1;else if(g===void 0)return-1;else if(g===B)continue;else return jC(g,B)}while(++I)}compareBuild(A){if(!(A instanceof bA))A=new bA(A,this.options);let I=0;do{let g=this.build[I],B=A.build[I];if(bB("build compare",I,g,B),g===void 0&&B===void 0)return 0;else if(B===void 0)return 1;else if(g===void 0)return-1;else if(g===B)continue;else return jC(g,B)}while(++I)}inc(A,I,g){if(A.startsWith("pre")){if(!I&&g===!1)throw Error("invalid increment argument: identifier is empty");if(I){let B=`-${I}`.match(this.options.loose?XB[PB.PRERELEASELOOSE]:XB[PB.PRERELEASE]);if(!B||B[1]!==I)throw Error(`invalid identifier: ${I}`)}}switch(A){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",I,g);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",I,g);break;case"prepatch":this.prerelease.length=0,this.inc("patch",I,g),this.inc("pre",I,g);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",I,g);this.inc("pre",I,g);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let B=Number(g)?1:0;if(this.prerelease.length===0)this.prerelease=[B];else{let Q=this.prerelease.length;while(--Q>=0)if(typeof this.prerelease[Q]==="number")this.prerelease[Q]++,Q=-2;if(Q===-1){if(I===this.prerelease.join(".")&&g===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(B)}}if(I){let Q=[I,B];if(g===!1)Q=[I];if(jC(this.prerelease[0],I)===0){if(isNaN(this.prerelease[1]))this.prerelease=Q}else this.prerelease=Q}break}default:throw Error(`invalid increment argument: ${A}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}bG.exports=bA});var cI=M((VV,XG)=>{var zG=KA(),Uy=(A,I,g=!1)=>{if(A instanceof zG)return A;try{return new zG(A,I)}catch(B){if(!g)return null;throw B}};XG.exports=Uy});var fG=M((jV,PG)=>{var Yy=cI(),Jy=(A,I)=>{let g=Yy(A,I);return g?g.version:null};PG.exports=Jy});var mG=M((dV,lG)=>{var ay=cI(),Hy=(A,I)=>{let g=ay(A.trim().replace(/^[=v]+/,""),I);return g?g.version:null};lG.exports=Hy});var rG=M((bV,uG)=>{var tG=KA(),cy=(A,I,g,B,Q)=>{if(typeof g==="string")Q=B,B=g,g=void 0;try{return new tG(A instanceof tG?A.version:A,g).inc(I,B,Q).version}catch(C){return null}};uG.exports=cy});var $G=M((zV,nG)=>{var vG=cI(),Ly=(A,I)=>{let g=vG(A,null,!0),B=vG(I,null,!0),Q=g.compare(B);if(Q===0)return null;let C=Q>0,E=C?g:B,D=C?B:g,i=!!E.prerelease.length;if(!!D.prerelease.length&&!i){if(!D.patch&&!D.minor)return"major";if(D.compareMain(E)===0){if(D.minor&&!D.patch)return"minor";return"patch"}}let o=i?"pre":"";if(g.major!==B.major)return o+"major";if(g.minor!==B.minor)return o+"minor";if(g.patch!==B.patch)return o+"patch";return"prerelease"};nG.exports=Ly});var eG=M((XV,_G)=>{var sy=KA(),qy=(A,I)=>new sy(A,I).major;_G.exports=qy});var Io=M((PV,Ao)=>{var xy=KA(),py=(A,I)=>new xy(A,I).minor;Ao.exports=py});var Bo=M((fV,go)=>{var Zy=KA(),Wy=(A,I)=>new Zy(A,I).patch;go.exports=Wy});var Co=M((lV,Qo)=>{var Ty=cI(),Oy=(A,I)=>{let g=Ty(A,I);return g&&g.prerelease.length?g.prerelease:null};Qo.exports=Oy});var ZA=M((mV,Do)=>{var Eo=KA(),Vy=(A,I,g)=>new Eo(A,g).compare(new Eo(I,g));Do.exports=Vy});var Go=M((tV,io)=>{var jy=ZA(),dy=(A,I,g)=>jy(I,A,g);io.exports=dy});var wo=M((uV,oo)=>{var by=ZA(),zy=(A,I)=>by(A,I,!0);oo.exports=zy});var fB=M((rV,ko)=>{var No=KA(),Xy=(A,I,g)=>{let B=new No(A,g),Q=new No(I,g);return B.compare(Q)||B.compareBuild(Q)};ko.exports=Xy});var Fo=M((vV,Ko)=>{var Py=fB(),fy=(A,I)=>A.sort((g,B)=>Py(g,B,I));Ko.exports=fy});var So=M((nV,Ro)=>{var ly=fB(),my=(A,I)=>A.sort((g,B)=>ly(B,g,I));Ro.exports=my});var Lg=M(($V,Mo)=>{var ty=ZA(),uy=(A,I,g)=>ty(A,I,g)>0;Mo.exports=uy});var lB=M((_V,yo)=>{var ry=ZA(),vy=(A,I,g)=>ry(A,I,g)<0;yo.exports=vy});var dC=M((eV,ho)=>{var ny=ZA(),$y=(A,I,g)=>ny(A,I,g)===0;ho.exports=$y});var bC=M((Aj,Uo)=>{var _y=ZA(),ey=(A,I,g)=>_y(A,I,g)!==0;Uo.exports=ey});var mB=M((Ij,Yo)=>{var Ah=ZA(),Ih=(A,I,g)=>Ah(A,I,g)>=0;Yo.exports=Ih});var tB=M((gj,Jo)=>{var gh=ZA(),Bh=(A,I,g)=>gh(A,I,g)<=0;Jo.exports=Bh});var zC=M((Bj,ao)=>{var Qh=dC(),Ch=bC(),Eh=Lg(),Dh=mB(),ih=lB(),Gh=tB(),oh=(A,I,g,B)=>{switch(I){case"===":if(typeof A==="object")A=A.version;if(typeof g==="object")g=g.version;return A===g;case"!==":if(typeof A==="object")A=A.version;if(typeof g==="object")g=g.version;return A!==g;case"":case"=":case"==":return Qh(A,g,B);case"!=":return Ch(A,g,B);case">":return Eh(A,g,B);case">=":return Dh(A,g,B);case"<":return ih(A,g,B);case"<=":return Gh(A,g,B);default:throw TypeError(`Invalid operator: ${I}`)}};ao.exports=oh});var co=M((Qj,Ho)=>{var wh=KA(),Nh=cI(),{safeRe:uB,t:rB}=vI(),kh=(A,I)=>{if(A instanceof wh)return A;if(typeof A==="number")A=String(A);if(typeof A!=="string")return null;I=I||{};let g=null;if(!I.rtl)g=A.match(I.includePrerelease?uB[rB.COERCEFULL]:uB[rB.COERCE]);else{let i=I.includePrerelease?uB[rB.COERCERTLFULL]:uB[rB.COERCERTL],G;while((G=i.exec(A))&&(!g||g.index+g[0].length!==A.length)){if(!g||G.index+G[0].length!==g.index+g[0].length)g=G;i.lastIndex=G.index+G[1].length+G[2].length}i.lastIndex=-1}if(g===null)return null;let B=g[2],Q=g[3]||"0",C=g[4]||"0",E=I.includePrerelease&&g[5]?`-${g[5]}`:"",D=I.includePrerelease&&g[6]?`+${g[6]}`:"";return Nh(`${B}.${Q}.${C}${E}${D}`,I)};Ho.exports=kh});var qo=M((Cj,so)=>{class Lo{constructor(){this.max=1000,this.map=new Map}get(A){let I=this.map.get(A);if(I===void 0)return;else return this.map.delete(A),this.map.set(A,I),I}delete(A){return this.map.delete(A)}set(A,I){if(!this.delete(A)&&I!==void 0){if(this.map.size>=this.max){let B=this.map.keys().next().value;this.delete(B)}this.map.set(A,I)}return this}}so.exports=Lo});var WA=M((Ej,Wo)=>{var Kh=/\s+/g;class sg{constructor(A,I){if(I=Rh(I),A instanceof sg)if(A.loose===!!I.loose&&A.includePrerelease===!!I.includePrerelease)return A;else return new sg(A.raw,I);if(A instanceof XC)return this.raw=A.value,this.set=[[A]],this.formatted=void 0,this;if(this.options=I,this.loose=!!I.loose,this.includePrerelease=!!I.includePrerelease,this.raw=A.trim().replace(Kh," "),this.set=this.raw.split("||").map((g)=>this.parseRange(g.trim())).filter((g)=>g.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let g=this.set[0];if(this.set=this.set.filter((B)=>!po(B[0])),this.set.length===0)this.set=[g];else if(this.set.length>1){for(let B of this.set)if(B.length===1&&Jh(B[0])){this.set=[B];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let A=0;A<this.set.length;A++){if(A>0)this.formatted+="||";let I=this.set[A];for(let g=0;g<I.length;g++){if(g>0)this.formatted+=" ";this.formatted+=I[g].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(A){let g=((this.options.includePrerelease&&Uh)|(this.options.loose&&Yh))+":"+A,B=xo.get(g);if(B)return B;let Q=this.options.loose,C=Q?MA[FA.HYPHENRANGELOOSE]:MA[FA.HYPHENRANGE];A=A.replace(C,Wh(this.options.includePrerelease)),_("hyphen replace",A),A=A.replace(MA[FA.COMPARATORTRIM],Mh),_("comparator trim",A),A=A.replace(MA[FA.TILDETRIM],yh),_("tilde trim",A),A=A.replace(MA[FA.CARETTRIM],hh),_("caret trim",A);let E=A.split(" ").map((o)=>ah(o,this.options)).join(" ").split(/\s+/).map((o)=>Zh(o,this.options));if(Q)E=E.filter((o)=>{return _("loose invalid filter",o,this.options),!!o.match(MA[FA.COMPARATORLOOSE])});_("range list",E);let D=new Map,i=E.map((o)=>new XC(o,this.options));for(let o of i){if(po(o))return[o];D.set(o.value,o)}if(D.size>1&&D.has(""))D.delete("");let G=[...D.values()];return xo.set(g,G),G}intersects(A,I){if(!(A instanceof sg))throw TypeError("a Range is required");return this.set.some((g)=>{return Zo(g,I)&&A.set.some((B)=>{return Zo(B,I)&&g.every((Q)=>{return B.every((C)=>{return Q.intersects(C,I)})})})})}test(A){if(!A)return!1;if(typeof A==="string")try{A=new Sh(A,this.options)}catch(I){return!1}for(let I=0;I<this.set.length;I++)if(Th(this.set[I],A,this.options))return!0;return!1}}Wo.exports=sg;var Fh=qo(),xo=new Fh,Rh=dB(),XC=qg(),_=cg(),Sh=KA(),{safeRe:MA,t:FA,comparatorTrimReplace:Mh,tildeTrimReplace:yh,caretTrimReplace:hh}=vI(),{FLAG_INCLUDE_PRERELEASE:Uh,FLAG_LOOSE:Yh}=Hg(),po=(A)=>A.value==="<0.0.0-0",Jh=(A)=>A.value==="",Zo=(A,I)=>{let g=!0,B=A.slice(),Q=B.pop();while(g&&B.length)g=B.every((C)=>{return Q.intersects(C,I)}),Q=B.pop();return g},ah=(A,I)=>{return A=A.replace(MA[FA.BUILD],""),_("comp",A,I),A=Lh(A,I),_("caret",A),A=Hh(A,I),_("tildes",A),A=qh(A,I),_("xrange",A),A=ph(A,I),_("stars",A),A},yA=(A)=>!A||A.toLowerCase()==="x"||A==="*",Hh=(A,I)=>{return A.trim().split(/\s+/).map((g)=>ch(g,I)).join(" ")},ch=(A,I)=>{let g=I.loose?MA[FA.TILDELOOSE]:MA[FA.TILDE];return A.replace(g,(B,Q,C,E,D)=>{_("tilde",A,B,Q,C,E,D);let i;if(yA(Q))i="";else if(yA(C))i=`>=${Q}.0.0 <${+Q+1}.0.0-0`;else if(yA(E))i=`>=${Q}.${C}.0 <${Q}.${+C+1}.0-0`;else if(D)_("replaceTilde pr",D),i=`>=${Q}.${C}.${E}-${D} <${Q}.${+C+1}.0-0`;else i=`>=${Q}.${C}.${E} <${Q}.${+C+1}.0-0`;return _("tilde return",i),i})},Lh=(A,I)=>{return A.trim().split(/\s+/).map((g)=>sh(g,I)).join(" ")},sh=(A,I)=>{_("caret",A,I);let g=I.loose?MA[FA.CARETLOOSE]:MA[FA.CARET],B=I.includePrerelease?"-0":"";return A.replace(g,(Q,C,E,D,i)=>{_("caret",A,Q,C,E,D,i);let G;if(yA(C))G="";else if(yA(E))G=`>=${C}.0.0${B} <${+C+1}.0.0-0`;else if(yA(D))if(C==="0")G=`>=${C}.${E}.0${B} <${C}.${+E+1}.0-0`;else G=`>=${C}.${E}.0${B} <${+C+1}.0.0-0`;else if(i)if(_("replaceCaret pr",i),C==="0")if(E==="0")G=`>=${C}.${E}.${D}-${i} <${C}.${E}.${+D+1}-0`;else G=`>=${C}.${E}.${D}-${i} <${C}.${+E+1}.0-0`;else G=`>=${C}.${E}.${D}-${i} <${+C+1}.0.0-0`;else if(_("no pr"),C==="0")if(E==="0")G=`>=${C}.${E}.${D}${B} <${C}.${E}.${+D+1}-0`;else G=`>=${C}.${E}.${D}${B} <${C}.${+E+1}.0-0`;else G=`>=${C}.${E}.${D} <${+C+1}.0.0-0`;return _("caret return",G),G})},qh=(A,I)=>{return _("replaceXRanges",A,I),A.split(/\s+/).map((g)=>xh(g,I)).join(" ")},xh=(A,I)=>{A=A.trim();let g=I.loose?MA[FA.XRANGELOOSE]:MA[FA.XRANGE];return A.replace(g,(B,Q,C,E,D,i)=>{_("xRange",A,B,Q,C,E,D,i);let G=yA(C),o=G||yA(E),w=o||yA(D),N=w;if(Q==="="&&N)Q="";if(i=I.includePrerelease?"-0":"",G)if(Q===">"||Q==="<")B="<0.0.0-0";else B="*";else if(Q&&N){if(o)E=0;if(D=0,Q===">")if(Q=">=",o)C=+C+1,E=0,D=0;else E=+E+1,D=0;else if(Q==="<=")if(Q="<",o)C=+C+1;else E=+E+1;if(Q==="<")i="-0";B=`${Q+C}.${E}.${D}${i}`}else if(o)B=`>=${C}.0.0${i} <${+C+1}.0.0-0`;else if(w)B=`>=${C}.${E}.0${i} <${C}.${+E+1}.0-0`;return _("xRange return",B),B})},ph=(A,I)=>{return _("replaceStars",A,I),A.trim().replace(MA[FA.STAR],"")},Zh=(A,I)=>{return _("replaceGTE0",A,I),A.trim().replace(MA[I.includePrerelease?FA.GTE0PRE:FA.GTE0],"")},Wh=(A)=>(I,g,B,Q,C,E,D,i,G,o,w,N)=>{if(yA(B))g="";else if(yA(Q))g=`>=${B}.0.0${A?"-0":""}`;else if(yA(C))g=`>=${B}.${Q}.0${A?"-0":""}`;else if(E)g=`>=${g}`;else g=`>=${g}${A?"-0":""}`;if(yA(G))i="";else if(yA(o))i=`<${+G+1}.0.0-0`;else if(yA(w))i=`<${G}.${+o+1}.0-0`;else if(N)i=`<=${G}.${o}.${w}-${N}`;else if(A)i=`<${G}.${o}.${+w+1}-0`;else i=`<=${i}`;return`${g} ${i}`.trim()},Th=(A,I,g)=>{for(let B=0;B<A.length;B++)if(!A[B].test(I))return!1;if(I.prerelease.length&&!g.includePrerelease){for(let B=0;B<A.length;B++){if(_(A[B].semver),A[B].semver===XC.ANY)continue;if(A[B].semver.prerelease.length>0){let Q=A[B].semver;if(Q.major===I.major&&Q.minor===I.minor&&Q.patch===I.patch)return!0}}return!1}return!0}});var qg=M((Dj,zo)=>{var xg=Symbol("SemVer ANY");class vB{static get ANY(){return xg}constructor(A,I){if(I=To(I),A instanceof vB)if(A.loose===!!I.loose)return A;else A=A.value;if(A=A.trim().split(/\s+/).join(" "),fC("comparator",A,I),this.options=I,this.loose=!!I.loose,this.parse(A),this.semver===xg)this.value="";else this.value=this.operator+this.semver.version;fC("comp",this)}parse(A){let I=this.options.loose?Oo[Vo.COMPARATORLOOSE]:Oo[Vo.COMPARATOR],g=A.match(I);if(!g)throw TypeError(`Invalid comparator: ${A}`);if(this.operator=g[1]!==void 0?g[1]:"",this.operator==="=")this.operator="";if(!g[2])this.semver=xg;else this.semver=new jo(g[2],this.options.loose)}toString(){return this.value}test(A){if(fC("Comparator.test",A,this.options.loose),this.semver===xg||A===xg)return!0;if(typeof A==="string")try{A=new jo(A,this.options)}catch(I){return!1}return PC(A,this.operator,this.semver,this.options)}intersects(A,I){if(!(A instanceof vB))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new bo(A.value,I).test(this.value)}else if(A.operator===""){if(A.value==="")return!0;return new bo(this.value,I).test(A.semver)}if(I=To(I),I.includePrerelease&&(this.value==="<0.0.0-0"||A.value==="<0.0.0-0"))return!1;if(!I.includePrerelease&&(this.value.startsWith("<0.0.0")||A.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&A.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&A.operator.startsWith("<"))return!0;if(this.semver.version===A.semver.version&&this.operator.includes("=")&&A.operator.includes("="))return!0;if(PC(this.semver,"<",A.semver,I)&&this.operator.startsWith(">")&&A.operator.startsWith("<"))return!0;if(PC(this.semver,">",A.semver,I)&&this.operator.startsWith("<")&&A.operator.startsWith(">"))return!0;return!1}}zo.exports=vB;var To=dB(),{safeRe:Oo,t:Vo}=vI(),PC=zC(),fC=cg(),jo=KA(),bo=WA()});var pg=M((ij,Xo)=>{var Oh=WA(),Vh=(A,I,g)=>{try{I=new Oh(I,g)}catch(B){return!1}return I.test(A)};Xo.exports=Vh});var fo=M((Gj,Po)=>{var jh=WA(),dh=(A,I)=>new jh(A,I).set.map((g)=>g.map((B)=>B.value).join(" ").trim().split(" "));Po.exports=dh});var mo=M((oj,lo)=>{var bh=KA(),zh=WA(),Xh=(A,I,g)=>{let B=null,Q=null,C=null;try{C=new zh(I,g)}catch(E){return null}return A.forEach((E)=>{if(C.test(E)){if(!B||Q.compare(E)===-1)B=E,Q=new bh(B,g)}}),B};lo.exports=Xh});var uo=M((wj,to)=>{var Ph=KA(),fh=WA(),lh=(A,I,g)=>{let B=null,Q=null,C=null;try{C=new fh(I,g)}catch(E){return null}return A.forEach((E)=>{if(C.test(E)){if(!B||Q.compare(E)===1)B=E,Q=new Ph(B,g)}}),B};to.exports=lh});var no=M((Nj,vo)=>{var lC=KA(),mh=WA(),ro=Lg(),th=(A,I)=>{A=new mh(A,I);let g=new lC("0.0.0");if(A.test(g))return g;if(g=new lC("0.0.0-0"),A.test(g))return g;g=null;for(let B=0;B<A.set.length;++B){let Q=A.set[B],C=null;if(Q.forEach((E)=>{let D=new lC(E.semver.version);switch(E.operator){case">":if(D.prerelease.length===0)D.patch++;else D.prerelease.push(0);D.raw=D.format();case"":case">=":if(!C||ro(D,C))C=D;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${E.operator}`)}}),C&&(!g||ro(g,C)))g=C}if(g&&A.test(g))return g;return null};vo.exports=th});var _o=M((kj,$o)=>{var uh=WA(),rh=(A,I)=>{try{return new uh(A,I).range||"*"}catch(g){return null}};$o.exports=rh});var nB=M((Kj,gw)=>{var vh=KA(),Iw=qg(),{ANY:nh}=Iw,$h=WA(),_h=pg(),eo=Lg(),Aw=lB(),eh=tB(),AU=mB(),IU=(A,I,g,B)=>{A=new vh(A,B),I=new $h(I,B);let Q,C,E,D,i;switch(g){case">":Q=eo,C=eh,E=Aw,D=">",i=">=";break;case"<":Q=Aw,C=AU,E=eo,D="<",i="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(_h(A,I,B))return!1;for(let G=0;G<I.set.length;++G){let o=I.set[G],w=null,N=null;if(o.forEach((k)=>{if(k.semver===nh)k=new Iw(">=0.0.0");if(w=w||k,N=N||k,Q(k.semver,w.semver,B))w=k;else if(E(k.semver,N.semver,B))N=k}),w.operator===D||w.operator===i)return!1;if((!N.operator||N.operator===D)&&C(A,N.semver))return!1;else if(N.operator===i&&E(A,N.semver))return!1}return!0};gw.exports=IU});var Qw=M((Fj,Bw)=>{var gU=nB(),BU=(A,I,g)=>gU(A,I,">",g);Bw.exports=BU});var Ew=M((Rj,Cw)=>{var QU=nB(),CU=(A,I,g)=>QU(A,I,"<",g);Cw.exports=CU});var Gw=M((Sj,iw)=>{var Dw=WA(),EU=(A,I,g)=>{return A=new Dw(A,g),I=new Dw(I,g),A.intersects(I,g)};iw.exports=EU});var ww=M((Mj,ow)=>{var DU=pg(),iU=ZA();ow.exports=(A,I,g)=>{let B=[],Q=null,C=null,E=A.sort((o,w)=>iU(o,w,g));for(let o of E)if(DU(o,I,g)){if(C=o,!Q)Q=o}else{if(C)B.push([Q,C]);C=null,Q=null}if(Q)B.push([Q,null]);let D=[];for(let[o,w]of B)if(o===w)D.push(o);else if(!w&&o===E[0])D.push("*");else if(!w)D.push(`>=${o}`);else if(o===E[0])D.push(`<=${w}`);else D.push(`${o} - ${w}`);let i=D.join(" || "),G=typeof I.raw==="string"?I.raw:String(I);return i.length<G.length?i:I}});var Sw=M((yj,Rw)=>{var Nw=WA(),tC=qg(),{ANY:mC}=tC,Zg=pg(),uC=ZA(),GU=(A,I,g={})=>{if(A===I)return!0;A=new Nw(A,g),I=new Nw(I,g);let B=!1;A:for(let Q of A.set){for(let C of I.set){let E=wU(Q,C,g);if(B=B||E!==null,E)continue A}if(B)return!1}return!0},oU=[new tC(">=0.0.0-0")],kw=[new tC(">=0.0.0")],wU=(A,I,g)=>{if(A===I)return!0;if(A.length===1&&A[0].semver===mC)if(I.length===1&&I[0].semver===mC)return!0;else if(g.includePrerelease)A=oU;else A=kw;if(I.length===1&&I[0].semver===mC)if(g.includePrerelease)return!0;else I=kw;let B=new Set,Q,C;for(let k of A)if(k.operator===">"||k.operator===">=")Q=Kw(Q,k,g);else if(k.operator==="<"||k.operator==="<=")C=Fw(C,k,g);else B.add(k.semver);if(B.size>1)return null;let E;if(Q&&C){if(E=uC(Q.semver,C.semver,g),E>0)return null;else if(E===0&&(Q.operator!==">="||C.operator!=="<="))return null}for(let k of B){if(Q&&!Zg(k,String(Q),g))return null;if(C&&!Zg(k,String(C),g))return null;for(let F of I)if(!Zg(k,String(F),g))return!1;return!0}let D,i,G,o,w=C&&!g.includePrerelease&&C.semver.prerelease.length?C.semver:!1,N=Q&&!g.includePrerelease&&Q.semver.prerelease.length?Q.semver:!1;if(w&&w.prerelease.length===1&&C.operator==="<"&&w.prerelease[0]===0)w=!1;for(let k of I){if(o=o||k.operator===">"||k.operator===">=",G=G||k.operator==="<"||k.operator==="<=",Q){if(N){if(k.semver.prerelease&&k.semver.prerelease.length&&k.semver.major===N.major&&k.semver.minor===N.minor&&k.semver.patch===N.patch)N=!1}if(k.operator===">"||k.operator===">="){if(D=Kw(Q,k,g),D===k&&D!==Q)return!1}else if(Q.operator===">="&&!Zg(Q.semver,String(k),g))return!1}if(C){if(w){if(k.semver.prerelease&&k.semver.prerelease.length&&k.semver.major===w.major&&k.semver.minor===w.minor&&k.semver.patch===w.patch)w=!1}if(k.operator==="<"||k.operator==="<="){if(i=Fw(C,k,g),i===k&&i!==C)return!1}else if(C.operator==="<="&&!Zg(C.semver,String(k),g))return!1}if(!k.operator&&(C||Q)&&E!==0)return!1}if(Q&&G&&!C&&E!==0)return!1;if(C&&o&&!Q&&E!==0)return!1;if(N||w)return!1;return!0},Kw=(A,I,g)=>{if(!A)return I;let B=uC(A.semver,I.semver,g);return B>0?A:B<0?I:I.operator===">"&&A.operator===">="?I:A},Fw=(A,I,g)=>{if(!A)return I;let B=uC(A.semver,I.semver,g);return B<0?A:B>0?I:I.operator==="<"&&A.operator==="<="?I:A};Rw.exports=GU});var $B=M((hj,hw)=>{var rC=vI(),Mw=Hg(),NU=KA(),yw=VC(),kU=cI(),KU=fG(),FU=mG(),RU=rG(),SU=$G(),MU=eG(),yU=Io(),hU=Bo(),UU=Co(),YU=ZA(),JU=Go(),aU=wo(),HU=fB(),cU=Fo(),LU=So(),sU=Lg(),qU=lB(),xU=dC(),pU=bC(),ZU=mB(),WU=tB(),TU=zC(),OU=co(),VU=qg(),jU=WA(),dU=pg(),bU=fo(),zU=mo(),XU=uo(),PU=no(),fU=_o(),lU=nB(),mU=Qw(),tU=Ew(),uU=Gw(),rU=ww(),vU=Sw();hw.exports={parse:kU,valid:KU,clean:FU,inc:RU,diff:SU,major:MU,minor:yU,patch:hU,prerelease:UU,compare:YU,rcompare:JU,compareLoose:aU,compareBuild:HU,sort:cU,rsort:LU,gt:sU,lt:qU,eq:xU,neq:pU,gte:ZU,lte:WU,cmp:TU,coerce:OU,Comparator:VU,Range:jU,satisfies:dU,toComparators:bU,maxSatisfying:zU,minSatisfying:XU,minVersion:PU,validRange:fU,outside:lU,gtr:mU,ltr:tU,intersects:uU,simplifyRange:rU,subset:vU,SemVer:NU,re:rC.re,src:rC.src,tokens:rC.t,SEMVER_SPEC_VERSION:Mw.SEMVER_SPEC_VERSION,RELEASE_TYPES:Mw.RELEASE_TYPES,compareIdentifiers:yw.compareIdentifiers,rcompareIdentifiers:yw.rcompareIdentifiers}});var Yw=M((Uj,Uw)=>{var nU=$B();Uw.exports=nU.satisfies(process.version,">=15.7.0")});var aw=M((Yj,Jw)=>{var $U=$B();Jw.exports=$U.satisfies(process.version,">=16.9.0")});var vC=M((Jj,Hw)=>{var _U=Yw(),eU=aw(),AY={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},IY={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};Hw.exports=function(A,I){if(!A||!I)return;let g=I.asymmetricKeyType;if(!g)return;let B=AY[g];if(!B)throw Error(`Unknown key type "${g}".`);if(!B.includes(A))throw Error(`"alg" parameter for "${g}" key type must be one of: ${B.join(", ")}.`);if(_U)switch(g){case"ec":let Q=I.asymmetricKeyDetails.namedCurve,C=IY[A];if(Q!==C)throw Error(`"alg" parameter "${A}" requires curve "${C}".`);break;case"rsa-pss":if(eU){let E=parseInt(A.slice(-3),10),{hashAlgorithm:D,mgf1HashAlgorithm:i,saltLength:G}=I.asymmetricKeyDetails;if(D!==`sha${E}`||i!==D)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${A}.`);if(G!==void 0&&G>E>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${A}.`)}break}}});var nC=M((aj,cw)=>{var gY=$B();cw.exports=gY.satisfies(process.version,"^6.12.0 || >=8.0.0")});var qw=M((Hj,sw)=>{var v=ag(),BY=pC(),Lw=ZC(),QY=xC(),CY=WC(),EY=vC(),DY=nC(),iY=WB(),{KeyObject:GY,createSecretKey:oY,createPublicKey:wY}=Z("crypto"),$C=["RS256","RS384","RS512"],NY=["ES256","ES384","ES512"],_C=["RS256","RS384","RS512"],kY=["HS256","HS384","HS512"];if(DY)$C.splice($C.length,0,"PS256","PS384","PS512"),_C.splice(_C.length,0,"PS256","PS384","PS512");sw.exports=function(A,I,g,B){if(typeof g==="function"&&!B)B=g,g={};if(!g)g={};g=Object.assign({},g);let Q;if(B)Q=B;else Q=function(o,w){if(o)throw o;return w};if(g.clockTimestamp&&typeof g.clockTimestamp!=="number")return Q(new v("clockTimestamp must be a number"));if(g.nonce!==void 0&&(typeof g.nonce!=="string"||g.nonce.trim()===""))return Q(new v("nonce must be a non-empty string"));if(g.allowInvalidAsymmetricKeyTypes!==void 0&&typeof g.allowInvalidAsymmetricKeyTypes!=="boolean")return Q(new v("allowInvalidAsymmetricKeyTypes must be a boolean"));let C=g.clockTimestamp||Math.floor(Date.now()/1000);if(!A)return Q(new v("jwt must be provided"));if(typeof A!=="string")return Q(new v("jwt must be a string"));let E=A.split(".");if(E.length!==3)return Q(new v("jwt malformed"));let D;try{D=QY(A,{complete:!0})}catch(o){return Q(o)}if(!D)return Q(new v("invalid token"));let i=D.header,G;if(typeof I==="function"){if(!B)return Q(new v("verify must be called asynchronous if secret or public key is provided as a callback"));G=I}else G=function(o,w){return w(null,I)};return G(i,function(o,w){if(o)return Q(new v("error in secret or public key callback: "+o.message));let N=E[2].trim()!=="";if(!N&&w)return Q(new v("jwt signature is required"));if(N&&!w)return Q(new v("secret or public key must be provided"));if(!N&&!g.algorithms)return Q(new v('please specify "none" in "algorithms" to verify unsigned tokens'));if(w!=null&&!(w instanceof GY))try{w=wY(w)}catch(R){try{w=oY(typeof w==="string"?Buffer.from(w):w)}catch(Y){return Q(new v("secretOrPublicKey is not valid key material"))}}if(!g.algorithms)if(w.type==="secret")g.algorithms=kY;else if(["rsa","rsa-pss"].includes(w.asymmetricKeyType))g.algorithms=_C;else if(w.asymmetricKeyType==="ec")g.algorithms=NY;else g.algorithms=$C;if(g.algorithms.indexOf(D.header.alg)===-1)return Q(new v("invalid algorithm"));if(i.alg.startsWith("HS")&&w.type!=="secret")return Q(new v(`secretOrPublicKey must be a symmetric key when using ${i.alg}`));else if(/^(?:RS|PS|ES)/.test(i.alg)&&w.type!=="public")return Q(new v(`secretOrPublicKey must be an asymmetric key when using ${i.alg}`));if(!g.allowInvalidAsymmetricKeyTypes)try{EY(i.alg,w)}catch(R){return Q(R)}let k;try{k=iY.verify(A,D.header.alg,w)}catch(R){return Q(R)}if(!k)return Q(new v("invalid signature"));let F=D.payload;if(typeof F.nbf<"u"&&!g.ignoreNotBefore){if(typeof F.nbf!=="number")return Q(new v("invalid nbf value"));if(F.nbf>C+(g.clockTolerance||0))return Q(new BY("jwt not active",new Date(F.nbf*1000)))}if(typeof F.exp<"u"&&!g.ignoreExpiration){if(typeof F.exp!=="number")return Q(new v("invalid exp value"));if(C>=F.exp+(g.clockTolerance||0))return Q(new Lw("jwt expired",new Date(F.exp*1000)))}if(g.audience){let R=Array.isArray(g.audience)?g.audience:[g.audience];if(!(Array.isArray(F.aud)?F.aud:[F.aud]).some(function(c){return R.some(function(H){return H instanceof RegExp?H.test(c):H===c})}))return Q(new v("jwt audience invalid. expected: "+R.join(" or ")))}if(g.issuer){if(typeof g.issuer==="string"&&F.iss!==g.issuer||Array.isArray(g.issuer)&&g.issuer.indexOf(F.iss)===-1)return Q(new v("jwt issuer invalid. expected: "+g.issuer))}if(g.subject){if(F.sub!==g.subject)return Q(new v("jwt subject invalid. expected: "+g.subject))}if(g.jwtid){if(F.jti!==g.jwtid)return Q(new v("jwt jwtid invalid. expected: "+g.jwtid))}if(g.nonce){if(F.nonce!==g.nonce)return Q(new v("jwt nonce invalid. expected: "+g.nonce))}if(g.maxAge){if(typeof F.iat!=="number")return Q(new v("iat required when maxAge is specified"));let R=CY(g.maxAge,F.iat);if(typeof R>"u")return Q(new v('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(C>=R+(g.clockTolerance||0))return Q(new Lw("maxAge exceeded",new Date(R*1000)))}if(g.complete===!0){let R=D.signature;return Q(null,{header:i,payload:F,signature:R})}return Q(null,F)})}});var Ow=M((cj,Tw)=>{var xw=1/0,Zw=9007199254740991,KY=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,pw=NaN,FY="[object Arguments]",RY="[object Function]",SY="[object GeneratorFunction]",MY="[object String]",yY="[object Symbol]",hY=/^\s+|\s+$/g,UY=/^[-+]0x[0-9a-f]+$/i,YY=/^0b[01]+$/i,JY=/^0o[0-7]+$/i,aY=/^(?:0|[1-9]\d*)$/,HY=parseInt;function cY(A,I){var g=-1,B=A?A.length:0,Q=Array(B);while(++g<B)Q[g]=I(A[g],g,A);return Q}function LY(A,I,g,B){var Q=A.length,C=g+(B?1:-1);while(B?C--:++C<Q)if(I(A[C],C,A))return C;return-1}function sY(A,I,g){if(I!==I)return LY(A,qY,g);var B=g-1,Q=A.length;while(++B<Q)if(A[B]===I)return B;return-1}function qY(A){return A!==A}function xY(A,I){var g=-1,B=Array(A);while(++g<A)B[g]=I(g);return B}function pY(A,I){return cY(I,function(g){return A[g]})}function ZY(A,I){return function(g){return A(I(g))}}var _B=Object.prototype,AE=_B.hasOwnProperty,eB=_B.toString,WY=_B.propertyIsEnumerable,TY=ZY(Object.keys,Object),OY=Math.max;function VY(A,I){var g=Ww(A)||XY(A)?xY(A.length,String):[],B=g.length,Q=!!B;for(var C in A)if((I||AE.call(A,C))&&!(Q&&(C=="length"||dY(C,B))))g.push(C);return g}function jY(A){if(!bY(A))return TY(A);var I=[];for(var g in Object(A))if(AE.call(A,g)&&g!="constructor")I.push(g);return I}function dY(A,I){return I=I==null?Zw:I,!!I&&(typeof A=="number"||aY.test(A))&&(A>-1&&A%1==0&&A<I)}function bY(A){var I=A&&A.constructor,g=typeof I=="function"&&I.prototype||_B;return A===g}function zY(A,I,g,B){A=IE(A)?A:$Y(A),g=g&&!B?rY(g):0;var Q=A.length;if(g<0)g=OY(Q+g,0);return mY(A)?g<=Q&&A.indexOf(I,g)>-1:!!Q&&sY(A,I,g)>-1}function XY(A){return PY(A)&&AE.call(A,"callee")&&(!WY.call(A,"callee")||eB.call(A)==FY)}var Ww=Array.isArray;function IE(A){return A!=null&&lY(A.length)&&!fY(A)}function PY(A){return gE(A)&&IE(A)}function fY(A){var I=eC(A)?eB.call(A):"";return I==RY||I==SY}function lY(A){return typeof A=="number"&&A>-1&&A%1==0&&A<=Zw}function eC(A){var I=typeof A;return!!A&&(I=="object"||I=="function")}function gE(A){return!!A&&typeof A=="object"}function mY(A){return typeof A=="string"||!Ww(A)&&gE(A)&&eB.call(A)==MY}function tY(A){return typeof A=="symbol"||gE(A)&&eB.call(A)==yY}function uY(A){if(!A)return A===0?A:0;if(A=vY(A),A===xw||A===-xw){var I=A<0?-1:1;return I*KY}return A===A?A:0}function rY(A){var I=uY(A),g=I%1;return I===I?g?I-g:I:0}function vY(A){if(typeof A=="number")return A;if(tY(A))return pw;if(eC(A)){var I=typeof A.valueOf=="function"?A.valueOf():A;A=eC(I)?I+"":I}if(typeof A!="string")return A===0?A:+A;A=A.replace(hY,"");var g=YY.test(A);return g||JY.test(A)?HY(A.slice(2),g?2:8):UY.test(A)?pw:+A}function nY(A){return IE(A)?VY(A):jY(A)}function $Y(A){return A?pY(A,nY(A)):[]}Tw.exports=zY});var jw=M((Lj,Vw)=>{var _Y="[object Boolean]",eY=Object.prototype,AJ=eY.toString;function IJ(A){return A===!0||A===!1||gJ(A)&&AJ.call(A)==_Y}function gJ(A){return!!A&&typeof A=="object"}Vw.exports=IJ});var Pw=M((sj,Xw)=>{var dw=1/0,BJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,bw=NaN,QJ="[object Symbol]",CJ=/^\s+|\s+$/g,EJ=/^[-+]0x[0-9a-f]+$/i,DJ=/^0b[01]+$/i,iJ=/^0o[0-7]+$/i,GJ=parseInt,oJ=Object.prototype,wJ=oJ.toString;function NJ(A){return typeof A=="number"&&A==RJ(A)}function zw(A){var I=typeof A;return!!A&&(I=="object"||I=="function")}function kJ(A){return!!A&&typeof A=="object"}function KJ(A){return typeof A=="symbol"||kJ(A)&&wJ.call(A)==QJ}function FJ(A){if(!A)return A===0?A:0;if(A=SJ(A),A===dw||A===-dw){var I=A<0?-1:1;return I*BJ}return A===A?A:0}function RJ(A){var I=FJ(A),g=I%1;return I===I?g?I-g:I:0}function SJ(A){if(typeof A=="number")return A;if(KJ(A))return bw;if(zw(A)){var I=typeof A.valueOf=="function"?A.valueOf():A;A=zw(I)?I+"":I}if(typeof A!="string")return A===0?A:+A;A=A.replace(CJ,"");var g=DJ.test(A);return g||iJ.test(A)?GJ(A.slice(2),g?2:8):EJ.test(A)?bw:+A}Xw.exports=NJ});var lw=M((qj,fw)=>{var MJ="[object Number]",yJ=Object.prototype,hJ=yJ.toString;function UJ(A){return!!A&&typeof A=="object"}function YJ(A){return typeof A=="number"||UJ(A)&&hJ.call(A)==MJ}fw.exports=YJ});var rw=M((xj,uw)=>{var JJ="[object Object]";function aJ(A){var I=!1;if(A!=null&&typeof A.toString!="function")try{I=!!(A+"")}catch(g){}return I}function HJ(A,I){return function(g){return A(I(g))}}var cJ=Function.prototype,mw=Object.prototype,tw=cJ.toString,LJ=mw.hasOwnProperty,sJ=tw.call(Object),qJ=mw.toString,xJ=HJ(Object.getPrototypeOf,Object);function pJ(A){return!!A&&typeof A=="object"}function ZJ(A){if(!pJ(A)||qJ.call(A)!=JJ||aJ(A))return!1;var I=xJ(A);if(I===null)return!0;var g=LJ.call(I,"constructor")&&I.constructor;return typeof g=="function"&&g instanceof g&&tw.call(g)==sJ}uw.exports=ZJ});var nw=M((pj,vw)=>{var WJ="[object String]",TJ=Object.prototype,OJ=TJ.toString,VJ=Array.isArray;function jJ(A){return!!A&&typeof A=="object"}function dJ(A){return typeof A=="string"||!VJ(A)&&jJ(A)&&OJ.call(A)==WJ}vw.exports=dJ});var IN=M((Zj,AN)=>{var bJ="Expected a function",$w=1/0,zJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,_w=NaN,XJ="[object Symbol]",PJ=/^\s+|\s+$/g,fJ=/^[-+]0x[0-9a-f]+$/i,lJ=/^0b[01]+$/i,mJ=/^0o[0-7]+$/i,tJ=parseInt,uJ=Object.prototype,rJ=uJ.toString;function vJ(A,I){var g;if(typeof I!="function")throw TypeError(bJ);return A=Aa(A),function(){if(--A>0)g=I.apply(this,arguments);if(A<=1)I=void 0;return g}}function nJ(A){return vJ(2,A)}function ew(A){var I=typeof A;return!!A&&(I=="object"||I=="function")}function $J(A){return!!A&&typeof A=="object"}function _J(A){return typeof A=="symbol"||$J(A)&&rJ.call(A)==XJ}function eJ(A){if(!A)return A===0?A:0;if(A=Ia(A),A===$w||A===-$w){var I=A<0?-1:1;return I*zJ}return A===A?A:0}function Aa(A){var I=eJ(A),g=I%1;return I===I?g?I-g:I:0}function Ia(A){if(typeof A=="number")return A;if(_J(A))return _w;if(ew(A)){var I=typeof A.valueOf=="function"?A.valueOf():A;A=ew(I)?I+"":I}if(typeof A!="string")return A===0?A:+A;A=A.replace(PJ,"");var g=lJ.test(A);return g||mJ.test(A)?tJ(A.slice(2),g?2:8):fJ.test(A)?_w:+A}AN.exports=nJ});var oN=M((Wj,GN)=>{var gN=WC(),ga=nC(),Ba=vC(),BN=WB(),Qa=Ow(),AQ=jw(),QN=Pw(),BE=lw(),EN=rw(),DI=nw(),Ca=IN(),{KeyObject:Ea,createSecretKey:Da,createPrivateKey:ia}=Z("crypto"),DN=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(ga)DN.splice(3,0,"PS256","PS384","PS512");var Ga={expiresIn:{isValid:function(A){return QN(A)||DI(A)&&A},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(A){return QN(A)||DI(A)&&A},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(A){return DI(A)||Array.isArray(A)},message:'"audience" must be a string or array'},algorithm:{isValid:Qa.bind(null,DN),message:'"algorithm" must be a valid string enum value'},header:{isValid:EN,message:'"header" must be an object'},encoding:{isValid:DI,message:'"encoding" must be a string'},issuer:{isValid:DI,message:'"issuer" must be a string'},subject:{isValid:DI,message:'"subject" must be a string'},jwtid:{isValid:DI,message:'"jwtid" must be a string'},noTimestamp:{isValid:AQ,message:'"noTimestamp" must be a boolean'},keyid:{isValid:DI,message:'"keyid" must be a string'},mutatePayload:{isValid:AQ,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:AQ,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:AQ,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},oa={iat:{isValid:BE,message:'"iat" should be a number of seconds'},exp:{isValid:BE,message:'"exp" should be a number of seconds'},nbf:{isValid:BE,message:'"nbf" should be a number of seconds'}};function iN(A,I,g,B){if(!EN(g))throw Error('Expected "'+B+'" to be a plain object.');Object.keys(g).forEach(function(Q){let C=A[Q];if(!C){if(!I)throw Error('"'+Q+'" is not allowed in "'+B+'"');return}if(!C.isValid(g[Q]))throw Error(C.message)})}function wa(A){return iN(Ga,!1,A,"options")}function Na(A){return iN(oa,!0,A,"payload")}var CN={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},ka=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];GN.exports=function(A,I,g,B){if(typeof g==="function")B=g,g={};else g=g||{};let Q=typeof A==="object"&&!Buffer.isBuffer(A),C=Object.assign({alg:g.algorithm||"HS256",typ:Q?"JWT":void 0,kid:g.keyid},g.header);function E(G){if(B)return B(G);throw G}if(!I&&g.algorithm!=="none")return E(Error("secretOrPrivateKey must have a value"));if(I!=null&&!(I instanceof Ea))try{I=ia(I)}catch(G){try{I=Da(typeof I==="string"?Buffer.from(I):I)}catch(o){return E(Error("secretOrPrivateKey is not valid key material"))}}if(C.alg.startsWith("HS")&&I.type!=="secret")return E(Error(`secretOrPrivateKey must be a symmetric key when using ${C.alg}`));else if(/^(?:RS|PS|ES)/.test(C.alg)){if(I.type!=="private")return E(Error(`secretOrPrivateKey must be an asymmetric key when using ${C.alg}`));if(!g.allowInsecureKeySizes&&!C.alg.startsWith("ES")&&I.asymmetricKeyDetails!==void 0&&I.asymmetricKeyDetails.modulusLength<2048)return E(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${C.alg}`))}if(typeof A>"u")return E(Error("payload is required"));else if(Q){try{Na(A)}catch(G){return E(G)}if(!g.mutatePayload)A=Object.assign({},A)}else{let G=ka.filter(function(o){return typeof g[o]<"u"});if(G.length>0)return E(Error("invalid "+G.join(",")+" option for "+typeof A+" payload"))}if(typeof A.exp<"u"&&typeof g.expiresIn<"u")return E(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof A.nbf<"u"&&typeof g.notBefore<"u")return E(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{wa(g)}catch(G){return E(G)}if(!g.allowInvalidAsymmetricKeyTypes)try{Ba(C.alg,I)}catch(G){return E(G)}let D=A.iat||Math.floor(Date.now()/1000);if(g.noTimestamp)delete A.iat;else if(Q)A.iat=D;if(typeof g.notBefore<"u"){try{A.nbf=gN(g.notBefore,D)}catch(G){return E(G)}if(typeof A.nbf>"u")return E(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof g.expiresIn<"u"&&typeof A==="object"){try{A.exp=gN(g.expiresIn,D)}catch(G){return E(G)}if(typeof A.exp>"u")return E(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(CN).forEach(function(G){let o=CN[G];if(typeof g[G]<"u"){if(typeof A[o]<"u")return E(Error('Bad "options.'+G+'" option. The payload already has an "'+o+'" property.'));A[o]=g[G]}});let i=g.encoding||"utf8";if(typeof B==="function")B=B&&Ca(B),BN.createSign({header:C,privateKey:I,payload:A,encoding:i}).once("error",B).once("done",function(G){if(!g.allowInsecureKeySizes&&/^(?:RS|PS)/.test(C.alg)&&G.length<256)return B(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${C.alg}`));B(null,G)});else{let G=BN.sign({header:C,payload:A,secret:I,encoding:i});if(!g.allowInsecureKeySizes&&/^(?:RS|PS)/.test(C.alg)&&G.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${C.alg}`);return G}}});var NN=M((Tj,wN)=>{wN.exports={decode:xC(),verify:qw(),sign:oN(),JsonWebTokenError:ag(),NotBeforeError:pC(),TokenExpiredError:ZC()}});var CA=M((Gd,fN)=>{var{defineProperty:KE,getOwnPropertyDescriptor:Fa,getOwnPropertyNames:Ra}=Object,Sa=Object.prototype.hasOwnProperty,Ma=(A,I)=>{for(var g in I)KE(A,g,{get:I[g],enumerable:!0})},ya=(A,I,g,B)=>{if(I&&typeof I==="object"||typeof I==="function"){for(let Q of Ra(I))if(!Sa.call(A,Q)&&Q!==g)KE(A,Q,{get:()=>I[Q],enumerable:!(B=Fa(I,Q))||B.enumerable})}return A},ha=(A)=>ya(KE({},"__esModule",{value:!0}),A),yN={};Ma(yN,{AnyNull:()=>xN,AnyNullClass:()=>KQ,DbNull:()=>sN,DbNullClass:()=>NQ,Decimal:()=>Tg,JsonNull:()=>qN,JsonNullClass:()=>kQ,NullTypes:()=>aa,ObjectEnumValue:()=>LN,PrismaClientInitializationError:()=>hN,PrismaClientKnownRequestError:()=>UN,PrismaClientRustError:()=>YN,PrismaClientRustPanicError:()=>JN,PrismaClientUnknownRequestError:()=>aN,PrismaClientValidationError:()=>HN,Sql:()=>MQ,empty:()=>JH,hasBatchIndex:()=>Ua,isAnyNull:()=>sa,isDbNull:()=>ca,isJsonNull:()=>La,isObjectEnumValue:()=>Ha,join:()=>YH,raw:()=>PN,sql:()=>aH});fN.exports=ha(yN);function Ua(A){return typeof A.batchRequestIdx==="number"}function _I(A,I){Object.defineProperty(A,"name",{value:I,configurable:!0})}var hN=class A extends Error{clientVersion;errorCode;retryable;constructor(I,g,B){super(I);this.name="PrismaClientInitializationError",this.clientVersion=g,this.errorCode=B,Error.captureStackTrace(A)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};_I(hN,"PrismaClientInitializationError");var UN=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(A,{code:I,clientVersion:g,meta:B,batchRequestIdx:Q}){super(A);this.name="PrismaClientKnownRequestError",this.code=I,this.clientVersion=g,this.meta=B,Object.defineProperty(this,"batchRequestIdx",{value:Q,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};_I(UN,"PrismaClientKnownRequestError");function Ya(A){if(A.fields?.message){let I=A.fields?.message;if(A.fields?.file){if(I+=` in ${A.fields.file}`,A.fields?.line)I+=`:${A.fields.line}`;if(A.fields?.column)I+=`:${A.fields.column}`}if(A.fields?.reason)I+=`
4
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Yg="secret must be a string or buffer",fI="key must be a string or a buffer",M0="key must be a string, a buffer or an object",HC=typeof pA.createPublicKey==="function";if(HC)fI+=" or a KeyObject",Yg+="or a KeyObject";function $i(A){if(lI.isBuffer(A))return;if(typeof A==="string")return;if(!HC)throw dA(fI);if(typeof A!=="object")throw dA(fI);if(typeof A.type!=="string")throw dA(fI);if(typeof A.asymmetricKeyType!=="string")throw dA(fI);if(typeof A.export!=="function")throw dA(fI)}function _i(A){if(lI.isBuffer(A))return;if(typeof A==="string")return;if(typeof A==="object")return;throw dA(M0)}function y0(A){if(lI.isBuffer(A))return;if(typeof A==="string")return A;if(!HC)throw dA(Yg);if(typeof A!=="object")throw dA(Yg);if(A.type!=="secret")throw dA(Yg);if(typeof A.export!=="function")throw dA(Yg)}function cC(A){return A.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function ei(A){A=A.toString();var I=4-A.length%4;if(I!==4)for(var g=0;g<I;++g)A+="=";return A.replace(/\-/g,"+").replace(/_/g,"/")}function dA(A){var I=[].slice.call(arguments,1),g=vi.format.bind(vi,A).apply(null,I);return TypeError(g)}function h0(A){return lI.isBuffer(A)||typeof A==="string"}function Jg(A){if(!h0(A))A=JSON.stringify(A);return A}function AG(A){return function(g,B){y0(B),g=Jg(g);var Q=pA.createHmac("sha"+A,B),C=(Q.update(g),Q.digest("base64"));return cC(C)}}var aC,U0="timingSafeEqual"in pA?function(I,g){if(I.byteLength!==g.byteLength)return!1;return pA.timingSafeEqual(I,g)}:function(I,g){if(!aC)aC=ri();return aC(I,g)};function Y0(A){return function(g,B,Q){var C=AG(A)(g,Q);return U0(lI.from(B),lI.from(C))}}function IG(A){return function(g,B){_i(B),g=Jg(g);var Q=pA.createSign("RSA-SHA"+A),C=(Q.update(g),Q.sign(B,"base64"));return cC(C)}}function gG(A){return function(g,B,Q){$i(Q),g=Jg(g),B=ei(B);var C=pA.createVerify("RSA-SHA"+A);return C.update(g),C.verify(Q,B,"base64")}}function J0(A){return function(g,B){_i(B),g=Jg(g);var Q=pA.createSign("RSA-SHA"+A),C=(Q.update(g),Q.sign({key:B,padding:pA.constants.RSA_PKCS1_PSS_PADDING,saltLength:pA.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return cC(C)}}function a0(A){return function(g,B,Q){$i(Q),g=Jg(g),B=ei(B);var C=pA.createVerify("RSA-SHA"+A);return C.update(g),C.verify({key:Q,padding:pA.constants.RSA_PKCS1_PSS_PADDING,saltLength:pA.constants.RSA_PSS_SALTLEN_DIGEST},B,"base64")}}function H0(A){var I=IG(A);return function(){var B=I.apply(null,arguments);return B=ni.derToJose(B,"ES"+A),B}}function c0(A){var I=gG(A);return function(B,Q,C){Q=ni.joseToDer(Q,"ES"+A).toString("base64");var E=I(B,Q,C);return E}}function L0(){return function(){return""}}function s0(){return function(I,g){return g===""}}BG.exports=function(I){var g={hs:AG,rs:IG,ps:J0,es:H0,none:L0},B={hs:Y0,rs:gG,ps:a0,es:c0,none:s0},Q=I.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!Q)throw dA(S0,I);var C=(Q[1]||Q[3]).toLowerCase(),E=Q[2];return{sign:g[C](E),verify:B[C](E)}}});var sC=M((UV,QG)=>{var q0=Z("buffer").Buffer;QG.exports=function(I){if(typeof I==="string")return I;if(typeof I==="number"||q0.isBuffer(I))return I.toString();return JSON.stringify(I)}});var oG=M((YV,GG)=>{var x0=PI().Buffer,CG=UC(),p0=LC(),Z0=Z("stream"),EG=sC(),qC=Z("util");function DG(A,I){return x0.from(A,I).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function W0(A,I,g){g=g||"utf8";var B=DG(EG(A),"binary"),Q=DG(EG(I),g);return qC.format("%s.%s",B,Q)}function iG(A){var{header:I,payload:g}=A,B=A.secret||A.privateKey,Q=A.encoding,C=p0(I.alg),E=W0(I,g,Q),D=C.sign(E,B);return qC.format("%s.%s",E,D)}function pB(A){var I=A.secret;if(I=I==null?A.privateKey:I,I=I==null?A.key:I,/^hs/i.test(A.header.alg)===!0&&I==null)throw TypeError("secret must be a string or buffer or a KeyObject");var g=new CG(I);this.readable=!0,this.header=A.header,this.encoding=A.encoding,this.secret=this.privateKey=this.key=g,this.payload=new CG(A.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}qC.inherits(pB,Z0);pB.prototype.sign=function(){try{var I=iG({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",I),this.emit("data",I),this.emit("end"),this.readable=!1,I}catch(g){this.readable=!1,this.emit("error",g),this.emit("close")}};pB.sign=iG;GG.exports=pB});var hG=M((JV,yG)=>{var NG=PI().Buffer,wG=UC(),T0=LC(),O0=Z("stream"),kG=sC(),V0=Z("util"),j0=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function d0(A){return Object.prototype.toString.call(A)==="[object Object]"}function b0(A){if(d0(A))return A;try{return JSON.parse(A)}catch(I){return}}function KG(A){var I=A.split(".",1)[0];return b0(NG.from(I,"base64").toString("binary"))}function z0(A){return A.split(".",2).join(".")}function FG(A){return A.split(".")[2]}function X0(A,I){I=I||"utf8";var g=A.split(".")[1];return NG.from(g,"base64").toString(I)}function RG(A){return j0.test(A)&&!!KG(A)}function SG(A,I,g){if(!I){var B=Error("Missing algorithm parameter for jws.verify");throw B.code="MISSING_ALGORITHM",B}A=kG(A);var Q=FG(A),C=z0(A),E=T0(I);return E.verify(C,Q,g)}function MG(A,I){if(I=I||{},A=kG(A),!RG(A))return null;var g=KG(A);if(!g)return null;var B=X0(A);if(g.typ==="JWT"||I.json)B=JSON.parse(B,I.encoding);return{header:g,payload:B,signature:FG(A)}}function mI(A){A=A||{};var I=A.secret;if(I=I==null?A.publicKey:I,I=I==null?A.key:I,/^hs/i.test(A.algorithm)===!0&&I==null)throw TypeError("secret must be a string or buffer or a KeyObject");var g=new wG(I);this.readable=!0,this.algorithm=A.algorithm,this.encoding=A.encoding,this.secret=this.publicKey=this.key=g,this.signature=new wG(A.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}V0.inherits(mI,O0);mI.prototype.verify=function(){try{var I=SG(this.signature.buffer,this.algorithm,this.key.buffer),g=MG(this.signature.buffer,this.encoding);return this.emit("done",I,g),this.emit("data",I),this.emit("end"),this.readable=!1,I}catch(B){this.readable=!1,this.emit("error",B),this.emit("close")}};mI.decode=MG;mI.isValid=RG;mI.verify=SG;yG.exports=mI});var WB=M((f0)=>{var UG=oG(),ZB=hG(),P0=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];f0.ALGORITHMS=P0;f0.sign=UG.sign;f0.verify=ZB.verify;f0.decode=ZB.decode;f0.isValid=ZB.isValid;f0.createSign=function(I){return new UG(I)};f0.createVerify=function(I){return new ZB(I)}});var xC=M((HV,YG)=>{var $0=WB();YG.exports=function(A,I){I=I||{};var g=$0.decode(A,I);if(!g)return null;var B=g.payload;if(typeof B==="string")try{var Q=JSON.parse(B);if(Q!==null&&typeof Q==="object")B=Q}catch(C){}if(I.complete===!0)return{header:g.header,payload:B,signature:g.signature};return B}});var ag=M((cV,JG)=>{var TB=function(A,I){if(Error.call(this,A),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=A,I)this.inner=I};TB.prototype=Object.create(Error.prototype);TB.prototype.constructor=TB;JG.exports=TB});var pC=M((LV,HG)=>{var aG=ag(),OB=function(A,I){aG.call(this,A),this.name="NotBeforeError",this.date=I};OB.prototype=Object.create(aG.prototype);OB.prototype.constructor=OB;HG.exports=OB});var ZC=M((sV,LG)=>{var cG=ag(),VB=function(A,I){cG.call(this,A),this.name="TokenExpiredError",this.expiredAt=I};VB.prototype=Object.create(cG.prototype);VB.prototype.constructor=VB;LG.exports=VB});var qG=M((qV,sG)=>{var tI=1000,uI=tI*60,rI=uI*60,HI=rI*24,_0=HI*7,e0=HI*365.25;sG.exports=function(A,I){I=I||{};var g=typeof A;if(g==="string"&&A.length>0)return Ay(A);else if(g==="number"&&isFinite(A))return I.long?gy(A):Iy(A);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(A))};function Ay(A){if(A=String(A),A.length>100)return;var I=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(A);if(!I)return;var g=parseFloat(I[1]),B=(I[2]||"ms").toLowerCase();switch(B){case"years":case"year":case"yrs":case"yr":case"y":return g*e0;case"weeks":case"week":case"w":return g*_0;case"days":case"day":case"d":return g*HI;case"hours":case"hour":case"hrs":case"hr":case"h":return g*rI;case"minutes":case"minute":case"mins":case"min":case"m":return g*uI;case"seconds":case"second":case"secs":case"sec":case"s":return g*tI;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return g;default:return}}function Iy(A){var I=Math.abs(A);if(I>=HI)return Math.round(A/HI)+"d";if(I>=rI)return Math.round(A/rI)+"h";if(I>=uI)return Math.round(A/uI)+"m";if(I>=tI)return Math.round(A/tI)+"s";return A+"ms"}function gy(A){var I=Math.abs(A);if(I>=HI)return jB(A,I,HI,"day");if(I>=rI)return jB(A,I,rI,"hour");if(I>=uI)return jB(A,I,uI,"minute");if(I>=tI)return jB(A,I,tI,"second");return A+" ms"}function jB(A,I,g,B){var Q=I>=g*1.5;return Math.round(A/g)+" "+B+(Q?"s":"")}});var WC=M((xV,xG)=>{var By=qG();xG.exports=function(A,I){var g=I||Math.floor(Date.now()/1000);if(typeof A==="string"){var B=By(A);if(typeof B>"u")return;return Math.floor(g+B/1000)}else if(typeof A==="number")return g+A;else return}});var Hg=M((pV,pG)=>{var Qy=Number.MAX_SAFE_INTEGER||9007199254740991,Cy=["major","premajor","minor","preminor","patch","prepatch","prerelease"];pG.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Qy,RELEASE_TYPES:Cy,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var cg=M((ZV,ZG)=>{var Ey=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...A)=>console.error("SEMVER",...A):()=>{};ZG.exports=Ey});var vI=M((tA,WG)=>{var{MAX_SAFE_COMPONENT_LENGTH:TC,MAX_SAFE_BUILD_LENGTH:Dy,MAX_LENGTH:iy}=Hg(),Gy=cg();tA=WG.exports={};var oy=tA.re=[],wy=tA.safeRe=[],J=tA.src=[],Ny=tA.safeSrc=[],a=tA.t={},ky=0,OC="[a-zA-Z0-9-]",Ky=[["\\s",1],["\\d",iy],[OC,Dy]],Fy=(A)=>{for(let[I,g]of Ky)A=A.split(`${I}*`).join(`${I}{0,${g}}`).split(`${I}+`).join(`${I}{1,${g}}`);return A},z=(A,I,g)=>{let B=Fy(I),Q=ky++;Gy(A,Q,I),a[A]=Q,J[Q]=I,Ny[Q]=B,oy[Q]=new RegExp(I,g?"g":void 0),wy[Q]=new RegExp(B,g?"g":void 0)};z("NUMERICIDENTIFIER","0|[1-9]\\d*");z("NUMERICIDENTIFIERLOOSE","\\d+");z("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${OC}*`);z("MAINVERSION",`(${J[a.NUMERICIDENTIFIER]})\\.(${J[a.NUMERICIDENTIFIER]})\\.(${J[a.NUMERICIDENTIFIER]})`);z("MAINVERSIONLOOSE",`(${J[a.NUMERICIDENTIFIERLOOSE]})\\.(${J[a.NUMERICIDENTIFIERLOOSE]})\\.(${J[a.NUMERICIDENTIFIERLOOSE]})`);z("PRERELEASEIDENTIFIER",`(?:${J[a.NONNUMERICIDENTIFIER]}|${J[a.NUMERICIDENTIFIER]})`);z("PRERELEASEIDENTIFIERLOOSE",`(?:${J[a.NONNUMERICIDENTIFIER]}|${J[a.NUMERICIDENTIFIERLOOSE]})`);z("PRERELEASE",`(?:-(${J[a.PRERELEASEIDENTIFIER]}(?:\\.${J[a.PRERELEASEIDENTIFIER]})*))`);z("PRERELEASELOOSE",`(?:-?(${J[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${J[a.PRERELEASEIDENTIFIERLOOSE]})*))`);z("BUILDIDENTIFIER",`${OC}+`);z("BUILD",`(?:\\+(${J[a.BUILDIDENTIFIER]}(?:\\.${J[a.BUILDIDENTIFIER]})*))`);z("FULLPLAIN",`v?${J[a.MAINVERSION]}${J[a.PRERELEASE]}?${J[a.BUILD]}?`);z("FULL",`^${J[a.FULLPLAIN]}$`);z("LOOSEPLAIN",`[v=\\s]*${J[a.MAINVERSIONLOOSE]}${J[a.PRERELEASELOOSE]}?${J[a.BUILD]}?`);z("LOOSE",`^${J[a.LOOSEPLAIN]}$`);z("GTLT","((?:<|>)?=?)");z("XRANGEIDENTIFIERLOOSE",`${J[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);z("XRANGEIDENTIFIER",`${J[a.NUMERICIDENTIFIER]}|x|X|\\*`);z("XRANGEPLAIN",`[v=\\s]*(${J[a.XRANGEIDENTIFIER]})(?:\\.(${J[a.XRANGEIDENTIFIER]})(?:\\.(${J[a.XRANGEIDENTIFIER]})(?:${J[a.PRERELEASE]})?${J[a.BUILD]}?)?)?`);z("XRANGEPLAINLOOSE",`[v=\\s]*(${J[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${J[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${J[a.XRANGEIDENTIFIERLOOSE]})(?:${J[a.PRERELEASELOOSE]})?${J[a.BUILD]}?)?)?`);z("XRANGE",`^${J[a.GTLT]}\\s*${J[a.XRANGEPLAIN]}$`);z("XRANGELOOSE",`^${J[a.GTLT]}\\s*${J[a.XRANGEPLAINLOOSE]}$`);z("COERCEPLAIN",`(^|[^\\d])(\\d{1,${TC}})(?:\\.(\\d{1,${TC}}))?(?:\\.(\\d{1,${TC}}))?`);z("COERCE",`${J[a.COERCEPLAIN]}(?:$|[^\\d])`);z("COERCEFULL",J[a.COERCEPLAIN]+`(?:${J[a.PRERELEASE]})?(?:${J[a.BUILD]})?(?:$|[^\\d])`);z("COERCERTL",J[a.COERCE],!0);z("COERCERTLFULL",J[a.COERCEFULL],!0);z("LONETILDE","(?:~>?)");z("TILDETRIM",`(\\s*)${J[a.LONETILDE]}\\s+`,!0);tA.tildeTrimReplace="$1~";z("TILDE",`^${J[a.LONETILDE]}${J[a.XRANGEPLAIN]}$`);z("TILDELOOSE",`^${J[a.LONETILDE]}${J[a.XRANGEPLAINLOOSE]}$`);z("LONECARET","(?:\\^)");z("CARETTRIM",`(\\s*)${J[a.LONECARET]}\\s+`,!0);tA.caretTrimReplace="$1^";z("CARET",`^${J[a.LONECARET]}${J[a.XRANGEPLAIN]}$`);z("CARETLOOSE",`^${J[a.LONECARET]}${J[a.XRANGEPLAINLOOSE]}$`);z("COMPARATORLOOSE",`^${J[a.GTLT]}\\s*(${J[a.LOOSEPLAIN]})$|^$`);z("COMPARATOR",`^${J[a.GTLT]}\\s*(${J[a.FULLPLAIN]})$|^$`);z("COMPARATORTRIM",`(\\s*)${J[a.GTLT]}\\s*(${J[a.LOOSEPLAIN]}|${J[a.XRANGEPLAIN]})`,!0);tA.comparatorTrimReplace="$1$2$3";z("HYPHENRANGE",`^\\s*(${J[a.XRANGEPLAIN]})\\s+-\\s+(${J[a.XRANGEPLAIN]})\\s*$`);z("HYPHENRANGELOOSE",`^\\s*(${J[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${J[a.XRANGEPLAINLOOSE]})\\s*$`);z("STAR","(<|>)?=?\\s*\\*");z("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");z("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var dB=M((WV,TG)=>{var Ry=Object.freeze({loose:!0}),Sy=Object.freeze({}),My=(A)=>{if(!A)return Sy;if(typeof A!=="object")return Ry;return A};TG.exports=My});var VC=M((TV,jG)=>{var OG=/^[0-9]+$/,VG=(A,I)=>{if(typeof A==="number"&&typeof I==="number")return A===I?0:A<I?-1:1;let g=OG.test(A),B=OG.test(I);if(g&&B)A=+A,I=+I;return A===I?0:g&&!B?-1:B&&!g?1:A<I?-1:1},yy=(A,I)=>VG(I,A);jG.exports={compareIdentifiers:VG,rcompareIdentifiers:yy}});var KA=M((OV,bG)=>{var bB=cg(),{MAX_LENGTH:dG,MAX_SAFE_INTEGER:zB}=Hg(),{safeRe:XB,t:PB}=vI(),hy=dB(),{compareIdentifiers:jC}=VC();class bA{constructor(A,I){if(I=hy(I),A instanceof bA)if(A.loose===!!I.loose&&A.includePrerelease===!!I.includePrerelease)return A;else A=A.version;else if(typeof A!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof A}".`);if(A.length>dG)throw TypeError(`version is longer than ${dG} characters`);bB("SemVer",A,I),this.options=I,this.loose=!!I.loose,this.includePrerelease=!!I.includePrerelease;let g=A.trim().match(I.loose?XB[PB.LOOSE]:XB[PB.FULL]);if(!g)throw TypeError(`Invalid Version: ${A}`);if(this.raw=A,this.major=+g[1],this.minor=+g[2],this.patch=+g[3],this.major>zB||this.major<0)throw TypeError("Invalid major version");if(this.minor>zB||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>zB||this.patch<0)throw TypeError("Invalid patch version");if(!g[4])this.prerelease=[];else this.prerelease=g[4].split(".").map((B)=>{if(/^[0-9]+$/.test(B)){let Q=+B;if(Q>=0&&Q<zB)return Q}return B});this.build=g[5]?g[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(A){if(bB("SemVer.compare",this.version,this.options,A),!(A instanceof bA)){if(typeof A==="string"&&A===this.version)return 0;A=new bA(A,this.options)}if(A.version===this.version)return 0;return this.compareMain(A)||this.comparePre(A)}compareMain(A){if(!(A instanceof bA))A=new bA(A,this.options);if(this.major<A.major)return-1;if(this.major>A.major)return 1;if(this.minor<A.minor)return-1;if(this.minor>A.minor)return 1;if(this.patch<A.patch)return-1;if(this.patch>A.patch)return 1;return 0}comparePre(A){if(!(A instanceof bA))A=new bA(A,this.options);if(this.prerelease.length&&!A.prerelease.length)return-1;else if(!this.prerelease.length&&A.prerelease.length)return 1;else if(!this.prerelease.length&&!A.prerelease.length)return 0;let I=0;do{let g=this.prerelease[I],B=A.prerelease[I];if(bB("prerelease compare",I,g,B),g===void 0&&B===void 0)return 0;else if(B===void 0)return 1;else if(g===void 0)return-1;else if(g===B)continue;else return jC(g,B)}while(++I)}compareBuild(A){if(!(A instanceof bA))A=new bA(A,this.options);let I=0;do{let g=this.build[I],B=A.build[I];if(bB("build compare",I,g,B),g===void 0&&B===void 0)return 0;else if(B===void 0)return 1;else if(g===void 0)return-1;else if(g===B)continue;else return jC(g,B)}while(++I)}inc(A,I,g){if(A.startsWith("pre")){if(!I&&g===!1)throw Error("invalid increment argument: identifier is empty");if(I){let B=`-${I}`.match(this.options.loose?XB[PB.PRERELEASELOOSE]:XB[PB.PRERELEASE]);if(!B||B[1]!==I)throw Error(`invalid identifier: ${I}`)}}switch(A){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",I,g);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",I,g);break;case"prepatch":this.prerelease.length=0,this.inc("patch",I,g),this.inc("pre",I,g);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",I,g);this.inc("pre",I,g);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let B=Number(g)?1:0;if(this.prerelease.length===0)this.prerelease=[B];else{let Q=this.prerelease.length;while(--Q>=0)if(typeof this.prerelease[Q]==="number")this.prerelease[Q]++,Q=-2;if(Q===-1){if(I===this.prerelease.join(".")&&g===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(B)}}if(I){let Q=[I,B];if(g===!1)Q=[I];if(jC(this.prerelease[0],I)===0){if(isNaN(this.prerelease[1]))this.prerelease=Q}else this.prerelease=Q}break}default:throw Error(`invalid increment argument: ${A}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}bG.exports=bA});var cI=M((VV,XG)=>{var zG=KA(),Uy=(A,I,g=!1)=>{if(A instanceof zG)return A;try{return new zG(A,I)}catch(B){if(!g)return null;throw B}};XG.exports=Uy});var fG=M((jV,PG)=>{var Yy=cI(),Jy=(A,I)=>{let g=Yy(A,I);return g?g.version:null};PG.exports=Jy});var mG=M((dV,lG)=>{var ay=cI(),Hy=(A,I)=>{let g=ay(A.trim().replace(/^[=v]+/,""),I);return g?g.version:null};lG.exports=Hy});var rG=M((bV,uG)=>{var tG=KA(),cy=(A,I,g,B,Q)=>{if(typeof g==="string")Q=B,B=g,g=void 0;try{return new tG(A instanceof tG?A.version:A,g).inc(I,B,Q).version}catch(C){return null}};uG.exports=cy});var $G=M((zV,nG)=>{var vG=cI(),Ly=(A,I)=>{let g=vG(A,null,!0),B=vG(I,null,!0),Q=g.compare(B);if(Q===0)return null;let C=Q>0,E=C?g:B,D=C?B:g,i=!!E.prerelease.length;if(!!D.prerelease.length&&!i){if(!D.patch&&!D.minor)return"major";if(D.compareMain(E)===0){if(D.minor&&!D.patch)return"minor";return"patch"}}let o=i?"pre":"";if(g.major!==B.major)return o+"major";if(g.minor!==B.minor)return o+"minor";if(g.patch!==B.patch)return o+"patch";return"prerelease"};nG.exports=Ly});var eG=M((XV,_G)=>{var sy=KA(),qy=(A,I)=>new sy(A,I).major;_G.exports=qy});var Io=M((PV,Ao)=>{var xy=KA(),py=(A,I)=>new xy(A,I).minor;Ao.exports=py});var Bo=M((fV,go)=>{var Zy=KA(),Wy=(A,I)=>new Zy(A,I).patch;go.exports=Wy});var Co=M((lV,Qo)=>{var Ty=cI(),Oy=(A,I)=>{let g=Ty(A,I);return g&&g.prerelease.length?g.prerelease:null};Qo.exports=Oy});var ZA=M((mV,Do)=>{var Eo=KA(),Vy=(A,I,g)=>new Eo(A,g).compare(new Eo(I,g));Do.exports=Vy});var Go=M((tV,io)=>{var jy=ZA(),dy=(A,I,g)=>jy(I,A,g);io.exports=dy});var wo=M((uV,oo)=>{var by=ZA(),zy=(A,I)=>by(A,I,!0);oo.exports=zy});var fB=M((rV,ko)=>{var No=KA(),Xy=(A,I,g)=>{let B=new No(A,g),Q=new No(I,g);return B.compare(Q)||B.compareBuild(Q)};ko.exports=Xy});var Fo=M((vV,Ko)=>{var Py=fB(),fy=(A,I)=>A.sort((g,B)=>Py(g,B,I));Ko.exports=fy});var So=M((nV,Ro)=>{var ly=fB(),my=(A,I)=>A.sort((g,B)=>ly(B,g,I));Ro.exports=my});var Lg=M(($V,Mo)=>{var ty=ZA(),uy=(A,I,g)=>ty(A,I,g)>0;Mo.exports=uy});var lB=M((_V,yo)=>{var ry=ZA(),vy=(A,I,g)=>ry(A,I,g)<0;yo.exports=vy});var dC=M((eV,ho)=>{var ny=ZA(),$y=(A,I,g)=>ny(A,I,g)===0;ho.exports=$y});var bC=M((Aj,Uo)=>{var _y=ZA(),ey=(A,I,g)=>_y(A,I,g)!==0;Uo.exports=ey});var mB=M((Ij,Yo)=>{var Ah=ZA(),Ih=(A,I,g)=>Ah(A,I,g)>=0;Yo.exports=Ih});var tB=M((gj,Jo)=>{var gh=ZA(),Bh=(A,I,g)=>gh(A,I,g)<=0;Jo.exports=Bh});var zC=M((Bj,ao)=>{var Qh=dC(),Ch=bC(),Eh=Lg(),Dh=mB(),ih=lB(),Gh=tB(),oh=(A,I,g,B)=>{switch(I){case"===":if(typeof A==="object")A=A.version;if(typeof g==="object")g=g.version;return A===g;case"!==":if(typeof A==="object")A=A.version;if(typeof g==="object")g=g.version;return A!==g;case"":case"=":case"==":return Qh(A,g,B);case"!=":return Ch(A,g,B);case">":return Eh(A,g,B);case">=":return Dh(A,g,B);case"<":return ih(A,g,B);case"<=":return Gh(A,g,B);default:throw TypeError(`Invalid operator: ${I}`)}};ao.exports=oh});var co=M((Qj,Ho)=>{var wh=KA(),Nh=cI(),{safeRe:uB,t:rB}=vI(),kh=(A,I)=>{if(A instanceof wh)return A;if(typeof A==="number")A=String(A);if(typeof A!=="string")return null;I=I||{};let g=null;if(!I.rtl)g=A.match(I.includePrerelease?uB[rB.COERCEFULL]:uB[rB.COERCE]);else{let i=I.includePrerelease?uB[rB.COERCERTLFULL]:uB[rB.COERCERTL],G;while((G=i.exec(A))&&(!g||g.index+g[0].length!==A.length)){if(!g||G.index+G[0].length!==g.index+g[0].length)g=G;i.lastIndex=G.index+G[1].length+G[2].length}i.lastIndex=-1}if(g===null)return null;let B=g[2],Q=g[3]||"0",C=g[4]||"0",E=I.includePrerelease&&g[5]?`-${g[5]}`:"",D=I.includePrerelease&&g[6]?`+${g[6]}`:"";return Nh(`${B}.${Q}.${C}${E}${D}`,I)};Ho.exports=kh});var qo=M((Cj,so)=>{class Lo{constructor(){this.max=1000,this.map=new Map}get(A){let I=this.map.get(A);if(I===void 0)return;else return this.map.delete(A),this.map.set(A,I),I}delete(A){return this.map.delete(A)}set(A,I){if(!this.delete(A)&&I!==void 0){if(this.map.size>=this.max){let B=this.map.keys().next().value;this.delete(B)}this.map.set(A,I)}return this}}so.exports=Lo});var WA=M((Ej,Wo)=>{var Kh=/\s+/g;class sg{constructor(A,I){if(I=Rh(I),A instanceof sg)if(A.loose===!!I.loose&&A.includePrerelease===!!I.includePrerelease)return A;else return new sg(A.raw,I);if(A instanceof XC)return this.raw=A.value,this.set=[[A]],this.formatted=void 0,this;if(this.options=I,this.loose=!!I.loose,this.includePrerelease=!!I.includePrerelease,this.raw=A.trim().replace(Kh," "),this.set=this.raw.split("||").map((g)=>this.parseRange(g.trim())).filter((g)=>g.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let g=this.set[0];if(this.set=this.set.filter((B)=>!po(B[0])),this.set.length===0)this.set=[g];else if(this.set.length>1){for(let B of this.set)if(B.length===1&&Jh(B[0])){this.set=[B];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let A=0;A<this.set.length;A++){if(A>0)this.formatted+="||";let I=this.set[A];for(let g=0;g<I.length;g++){if(g>0)this.formatted+=" ";this.formatted+=I[g].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(A){let g=((this.options.includePrerelease&&Uh)|(this.options.loose&&Yh))+":"+A,B=xo.get(g);if(B)return B;let Q=this.options.loose,C=Q?yA[FA.HYPHENRANGELOOSE]:yA[FA.HYPHENRANGE];A=A.replace(C,Wh(this.options.includePrerelease)),_("hyphen replace",A),A=A.replace(yA[FA.COMPARATORTRIM],Mh),_("comparator trim",A),A=A.replace(yA[FA.TILDETRIM],yh),_("tilde trim",A),A=A.replace(yA[FA.CARETTRIM],hh),_("caret trim",A);let E=A.split(" ").map((o)=>ah(o,this.options)).join(" ").split(/\s+/).map((o)=>Zh(o,this.options));if(Q)E=E.filter((o)=>{return _("loose invalid filter",o,this.options),!!o.match(yA[FA.COMPARATORLOOSE])});_("range list",E);let D=new Map,i=E.map((o)=>new XC(o,this.options));for(let o of i){if(po(o))return[o];D.set(o.value,o)}if(D.size>1&&D.has(""))D.delete("");let G=[...D.values()];return xo.set(g,G),G}intersects(A,I){if(!(A instanceof sg))throw TypeError("a Range is required");return this.set.some((g)=>{return Zo(g,I)&&A.set.some((B)=>{return Zo(B,I)&&g.every((Q)=>{return B.every((C)=>{return Q.intersects(C,I)})})})})}test(A){if(!A)return!1;if(typeof A==="string")try{A=new Sh(A,this.options)}catch(I){return!1}for(let I=0;I<this.set.length;I++)if(Th(this.set[I],A,this.options))return!0;return!1}}Wo.exports=sg;var Fh=qo(),xo=new Fh,Rh=dB(),XC=qg(),_=cg(),Sh=KA(),{safeRe:yA,t:FA,comparatorTrimReplace:Mh,tildeTrimReplace:yh,caretTrimReplace:hh}=vI(),{FLAG_INCLUDE_PRERELEASE:Uh,FLAG_LOOSE:Yh}=Hg(),po=(A)=>A.value==="<0.0.0-0",Jh=(A)=>A.value==="",Zo=(A,I)=>{let g=!0,B=A.slice(),Q=B.pop();while(g&&B.length)g=B.every((C)=>{return Q.intersects(C,I)}),Q=B.pop();return g},ah=(A,I)=>{return A=A.replace(yA[FA.BUILD],""),_("comp",A,I),A=Lh(A,I),_("caret",A),A=Hh(A,I),_("tildes",A),A=qh(A,I),_("xrange",A),A=ph(A,I),_("stars",A),A},hA=(A)=>!A||A.toLowerCase()==="x"||A==="*",Hh=(A,I)=>{return A.trim().split(/\s+/).map((g)=>ch(g,I)).join(" ")},ch=(A,I)=>{let g=I.loose?yA[FA.TILDELOOSE]:yA[FA.TILDE];return A.replace(g,(B,Q,C,E,D)=>{_("tilde",A,B,Q,C,E,D);let i;if(hA(Q))i="";else if(hA(C))i=`>=${Q}.0.0 <${+Q+1}.0.0-0`;else if(hA(E))i=`>=${Q}.${C}.0 <${Q}.${+C+1}.0-0`;else if(D)_("replaceTilde pr",D),i=`>=${Q}.${C}.${E}-${D} <${Q}.${+C+1}.0-0`;else i=`>=${Q}.${C}.${E} <${Q}.${+C+1}.0-0`;return _("tilde return",i),i})},Lh=(A,I)=>{return A.trim().split(/\s+/).map((g)=>sh(g,I)).join(" ")},sh=(A,I)=>{_("caret",A,I);let g=I.loose?yA[FA.CARETLOOSE]:yA[FA.CARET],B=I.includePrerelease?"-0":"";return A.replace(g,(Q,C,E,D,i)=>{_("caret",A,Q,C,E,D,i);let G;if(hA(C))G="";else if(hA(E))G=`>=${C}.0.0${B} <${+C+1}.0.0-0`;else if(hA(D))if(C==="0")G=`>=${C}.${E}.0${B} <${C}.${+E+1}.0-0`;else G=`>=${C}.${E}.0${B} <${+C+1}.0.0-0`;else if(i)if(_("replaceCaret pr",i),C==="0")if(E==="0")G=`>=${C}.${E}.${D}-${i} <${C}.${E}.${+D+1}-0`;else G=`>=${C}.${E}.${D}-${i} <${C}.${+E+1}.0-0`;else G=`>=${C}.${E}.${D}-${i} <${+C+1}.0.0-0`;else if(_("no pr"),C==="0")if(E==="0")G=`>=${C}.${E}.${D}${B} <${C}.${E}.${+D+1}-0`;else G=`>=${C}.${E}.${D}${B} <${C}.${+E+1}.0-0`;else G=`>=${C}.${E}.${D} <${+C+1}.0.0-0`;return _("caret return",G),G})},qh=(A,I)=>{return _("replaceXRanges",A,I),A.split(/\s+/).map((g)=>xh(g,I)).join(" ")},xh=(A,I)=>{A=A.trim();let g=I.loose?yA[FA.XRANGELOOSE]:yA[FA.XRANGE];return A.replace(g,(B,Q,C,E,D,i)=>{_("xRange",A,B,Q,C,E,D,i);let G=hA(C),o=G||hA(E),w=o||hA(D),N=w;if(Q==="="&&N)Q="";if(i=I.includePrerelease?"-0":"",G)if(Q===">"||Q==="<")B="<0.0.0-0";else B="*";else if(Q&&N){if(o)E=0;if(D=0,Q===">")if(Q=">=",o)C=+C+1,E=0,D=0;else E=+E+1,D=0;else if(Q==="<=")if(Q="<",o)C=+C+1;else E=+E+1;if(Q==="<")i="-0";B=`${Q+C}.${E}.${D}${i}`}else if(o)B=`>=${C}.0.0${i} <${+C+1}.0.0-0`;else if(w)B=`>=${C}.${E}.0${i} <${C}.${+E+1}.0-0`;return _("xRange return",B),B})},ph=(A,I)=>{return _("replaceStars",A,I),A.trim().replace(yA[FA.STAR],"")},Zh=(A,I)=>{return _("replaceGTE0",A,I),A.trim().replace(yA[I.includePrerelease?FA.GTE0PRE:FA.GTE0],"")},Wh=(A)=>(I,g,B,Q,C,E,D,i,G,o,w,N)=>{if(hA(B))g="";else if(hA(Q))g=`>=${B}.0.0${A?"-0":""}`;else if(hA(C))g=`>=${B}.${Q}.0${A?"-0":""}`;else if(E)g=`>=${g}`;else g=`>=${g}${A?"-0":""}`;if(hA(G))i="";else if(hA(o))i=`<${+G+1}.0.0-0`;else if(hA(w))i=`<${G}.${+o+1}.0-0`;else if(N)i=`<=${G}.${o}.${w}-${N}`;else if(A)i=`<${G}.${o}.${+w+1}-0`;else i=`<=${i}`;return`${g} ${i}`.trim()},Th=(A,I,g)=>{for(let B=0;B<A.length;B++)if(!A[B].test(I))return!1;if(I.prerelease.length&&!g.includePrerelease){for(let B=0;B<A.length;B++){if(_(A[B].semver),A[B].semver===XC.ANY)continue;if(A[B].semver.prerelease.length>0){let Q=A[B].semver;if(Q.major===I.major&&Q.minor===I.minor&&Q.patch===I.patch)return!0}}return!1}return!0}});var qg=M((Dj,zo)=>{var xg=Symbol("SemVer ANY");class vB{static get ANY(){return xg}constructor(A,I){if(I=To(I),A instanceof vB)if(A.loose===!!I.loose)return A;else A=A.value;if(A=A.trim().split(/\s+/).join(" "),fC("comparator",A,I),this.options=I,this.loose=!!I.loose,this.parse(A),this.semver===xg)this.value="";else this.value=this.operator+this.semver.version;fC("comp",this)}parse(A){let I=this.options.loose?Oo[Vo.COMPARATORLOOSE]:Oo[Vo.COMPARATOR],g=A.match(I);if(!g)throw TypeError(`Invalid comparator: ${A}`);if(this.operator=g[1]!==void 0?g[1]:"",this.operator==="=")this.operator="";if(!g[2])this.semver=xg;else this.semver=new jo(g[2],this.options.loose)}toString(){return this.value}test(A){if(fC("Comparator.test",A,this.options.loose),this.semver===xg||A===xg)return!0;if(typeof A==="string")try{A=new jo(A,this.options)}catch(I){return!1}return PC(A,this.operator,this.semver,this.options)}intersects(A,I){if(!(A instanceof vB))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new bo(A.value,I).test(this.value)}else if(A.operator===""){if(A.value==="")return!0;return new bo(this.value,I).test(A.semver)}if(I=To(I),I.includePrerelease&&(this.value==="<0.0.0-0"||A.value==="<0.0.0-0"))return!1;if(!I.includePrerelease&&(this.value.startsWith("<0.0.0")||A.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&A.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&A.operator.startsWith("<"))return!0;if(this.semver.version===A.semver.version&&this.operator.includes("=")&&A.operator.includes("="))return!0;if(PC(this.semver,"<",A.semver,I)&&this.operator.startsWith(">")&&A.operator.startsWith("<"))return!0;if(PC(this.semver,">",A.semver,I)&&this.operator.startsWith("<")&&A.operator.startsWith(">"))return!0;return!1}}zo.exports=vB;var To=dB(),{safeRe:Oo,t:Vo}=vI(),PC=zC(),fC=cg(),jo=KA(),bo=WA()});var pg=M((ij,Xo)=>{var Oh=WA(),Vh=(A,I,g)=>{try{I=new Oh(I,g)}catch(B){return!1}return I.test(A)};Xo.exports=Vh});var fo=M((Gj,Po)=>{var jh=WA(),dh=(A,I)=>new jh(A,I).set.map((g)=>g.map((B)=>B.value).join(" ").trim().split(" "));Po.exports=dh});var mo=M((oj,lo)=>{var bh=KA(),zh=WA(),Xh=(A,I,g)=>{let B=null,Q=null,C=null;try{C=new zh(I,g)}catch(E){return null}return A.forEach((E)=>{if(C.test(E)){if(!B||Q.compare(E)===-1)B=E,Q=new bh(B,g)}}),B};lo.exports=Xh});var uo=M((wj,to)=>{var Ph=KA(),fh=WA(),lh=(A,I,g)=>{let B=null,Q=null,C=null;try{C=new fh(I,g)}catch(E){return null}return A.forEach((E)=>{if(C.test(E)){if(!B||Q.compare(E)===1)B=E,Q=new Ph(B,g)}}),B};to.exports=lh});var no=M((Nj,vo)=>{var lC=KA(),mh=WA(),ro=Lg(),th=(A,I)=>{A=new mh(A,I);let g=new lC("0.0.0");if(A.test(g))return g;if(g=new lC("0.0.0-0"),A.test(g))return g;g=null;for(let B=0;B<A.set.length;++B){let Q=A.set[B],C=null;if(Q.forEach((E)=>{let D=new lC(E.semver.version);switch(E.operator){case">":if(D.prerelease.length===0)D.patch++;else D.prerelease.push(0);D.raw=D.format();case"":case">=":if(!C||ro(D,C))C=D;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${E.operator}`)}}),C&&(!g||ro(g,C)))g=C}if(g&&A.test(g))return g;return null};vo.exports=th});var _o=M((kj,$o)=>{var uh=WA(),rh=(A,I)=>{try{return new uh(A,I).range||"*"}catch(g){return null}};$o.exports=rh});var nB=M((Kj,gw)=>{var vh=KA(),Iw=qg(),{ANY:nh}=Iw,$h=WA(),_h=pg(),eo=Lg(),Aw=lB(),eh=tB(),AU=mB(),IU=(A,I,g,B)=>{A=new vh(A,B),I=new $h(I,B);let Q,C,E,D,i;switch(g){case">":Q=eo,C=eh,E=Aw,D=">",i=">=";break;case"<":Q=Aw,C=AU,E=eo,D="<",i="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(_h(A,I,B))return!1;for(let G=0;G<I.set.length;++G){let o=I.set[G],w=null,N=null;if(o.forEach((k)=>{if(k.semver===nh)k=new Iw(">=0.0.0");if(w=w||k,N=N||k,Q(k.semver,w.semver,B))w=k;else if(E(k.semver,N.semver,B))N=k}),w.operator===D||w.operator===i)return!1;if((!N.operator||N.operator===D)&&C(A,N.semver))return!1;else if(N.operator===i&&E(A,N.semver))return!1}return!0};gw.exports=IU});var Qw=M((Fj,Bw)=>{var gU=nB(),BU=(A,I,g)=>gU(A,I,">",g);Bw.exports=BU});var Ew=M((Rj,Cw)=>{var QU=nB(),CU=(A,I,g)=>QU(A,I,"<",g);Cw.exports=CU});var Gw=M((Sj,iw)=>{var Dw=WA(),EU=(A,I,g)=>{return A=new Dw(A,g),I=new Dw(I,g),A.intersects(I,g)};iw.exports=EU});var ww=M((Mj,ow)=>{var DU=pg(),iU=ZA();ow.exports=(A,I,g)=>{let B=[],Q=null,C=null,E=A.sort((o,w)=>iU(o,w,g));for(let o of E)if(DU(o,I,g)){if(C=o,!Q)Q=o}else{if(C)B.push([Q,C]);C=null,Q=null}if(Q)B.push([Q,null]);let D=[];for(let[o,w]of B)if(o===w)D.push(o);else if(!w&&o===E[0])D.push("*");else if(!w)D.push(`>=${o}`);else if(o===E[0])D.push(`<=${w}`);else D.push(`${o} - ${w}`);let i=D.join(" || "),G=typeof I.raw==="string"?I.raw:String(I);return i.length<G.length?i:I}});var Sw=M((yj,Rw)=>{var Nw=WA(),tC=qg(),{ANY:mC}=tC,Zg=pg(),uC=ZA(),GU=(A,I,g={})=>{if(A===I)return!0;A=new Nw(A,g),I=new Nw(I,g);let B=!1;A:for(let Q of A.set){for(let C of I.set){let E=wU(Q,C,g);if(B=B||E!==null,E)continue A}if(B)return!1}return!0},oU=[new tC(">=0.0.0-0")],kw=[new tC(">=0.0.0")],wU=(A,I,g)=>{if(A===I)return!0;if(A.length===1&&A[0].semver===mC)if(I.length===1&&I[0].semver===mC)return!0;else if(g.includePrerelease)A=oU;else A=kw;if(I.length===1&&I[0].semver===mC)if(g.includePrerelease)return!0;else I=kw;let B=new Set,Q,C;for(let k of A)if(k.operator===">"||k.operator===">=")Q=Kw(Q,k,g);else if(k.operator==="<"||k.operator==="<=")C=Fw(C,k,g);else B.add(k.semver);if(B.size>1)return null;let E;if(Q&&C){if(E=uC(Q.semver,C.semver,g),E>0)return null;else if(E===0&&(Q.operator!==">="||C.operator!=="<="))return null}for(let k of B){if(Q&&!Zg(k,String(Q),g))return null;if(C&&!Zg(k,String(C),g))return null;for(let F of I)if(!Zg(k,String(F),g))return!1;return!0}let D,i,G,o,w=C&&!g.includePrerelease&&C.semver.prerelease.length?C.semver:!1,N=Q&&!g.includePrerelease&&Q.semver.prerelease.length?Q.semver:!1;if(w&&w.prerelease.length===1&&C.operator==="<"&&w.prerelease[0]===0)w=!1;for(let k of I){if(o=o||k.operator===">"||k.operator===">=",G=G||k.operator==="<"||k.operator==="<=",Q){if(N){if(k.semver.prerelease&&k.semver.prerelease.length&&k.semver.major===N.major&&k.semver.minor===N.minor&&k.semver.patch===N.patch)N=!1}if(k.operator===">"||k.operator===">="){if(D=Kw(Q,k,g),D===k&&D!==Q)return!1}else if(Q.operator===">="&&!Zg(Q.semver,String(k),g))return!1}if(C){if(w){if(k.semver.prerelease&&k.semver.prerelease.length&&k.semver.major===w.major&&k.semver.minor===w.minor&&k.semver.patch===w.patch)w=!1}if(k.operator==="<"||k.operator==="<="){if(i=Fw(C,k,g),i===k&&i!==C)return!1}else if(C.operator==="<="&&!Zg(C.semver,String(k),g))return!1}if(!k.operator&&(C||Q)&&E!==0)return!1}if(Q&&G&&!C&&E!==0)return!1;if(C&&o&&!Q&&E!==0)return!1;if(N||w)return!1;return!0},Kw=(A,I,g)=>{if(!A)return I;let B=uC(A.semver,I.semver,g);return B>0?A:B<0?I:I.operator===">"&&A.operator===">="?I:A},Fw=(A,I,g)=>{if(!A)return I;let B=uC(A.semver,I.semver,g);return B<0?A:B>0?I:I.operator==="<"&&A.operator==="<="?I:A};Rw.exports=GU});var $B=M((hj,hw)=>{var rC=vI(),Mw=Hg(),NU=KA(),yw=VC(),kU=cI(),KU=fG(),FU=mG(),RU=rG(),SU=$G(),MU=eG(),yU=Io(),hU=Bo(),UU=Co(),YU=ZA(),JU=Go(),aU=wo(),HU=fB(),cU=Fo(),LU=So(),sU=Lg(),qU=lB(),xU=dC(),pU=bC(),ZU=mB(),WU=tB(),TU=zC(),OU=co(),VU=qg(),jU=WA(),dU=pg(),bU=fo(),zU=mo(),XU=uo(),PU=no(),fU=_o(),lU=nB(),mU=Qw(),tU=Ew(),uU=Gw(),rU=ww(),vU=Sw();hw.exports={parse:kU,valid:KU,clean:FU,inc:RU,diff:SU,major:MU,minor:yU,patch:hU,prerelease:UU,compare:YU,rcompare:JU,compareLoose:aU,compareBuild:HU,sort:cU,rsort:LU,gt:sU,lt:qU,eq:xU,neq:pU,gte:ZU,lte:WU,cmp:TU,coerce:OU,Comparator:VU,Range:jU,satisfies:dU,toComparators:bU,maxSatisfying:zU,minSatisfying:XU,minVersion:PU,validRange:fU,outside:lU,gtr:mU,ltr:tU,intersects:uU,simplifyRange:rU,subset:vU,SemVer:NU,re:rC.re,src:rC.src,tokens:rC.t,SEMVER_SPEC_VERSION:Mw.SEMVER_SPEC_VERSION,RELEASE_TYPES:Mw.RELEASE_TYPES,compareIdentifiers:yw.compareIdentifiers,rcompareIdentifiers:yw.rcompareIdentifiers}});var Yw=M((Uj,Uw)=>{var nU=$B();Uw.exports=nU.satisfies(process.version,">=15.7.0")});var aw=M((Yj,Jw)=>{var $U=$B();Jw.exports=$U.satisfies(process.version,">=16.9.0")});var vC=M((Jj,Hw)=>{var _U=Yw(),eU=aw(),AY={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},IY={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};Hw.exports=function(A,I){if(!A||!I)return;let g=I.asymmetricKeyType;if(!g)return;let B=AY[g];if(!B)throw Error(`Unknown key type "${g}".`);if(!B.includes(A))throw Error(`"alg" parameter for "${g}" key type must be one of: ${B.join(", ")}.`);if(_U)switch(g){case"ec":let Q=I.asymmetricKeyDetails.namedCurve,C=IY[A];if(Q!==C)throw Error(`"alg" parameter "${A}" requires curve "${C}".`);break;case"rsa-pss":if(eU){let E=parseInt(A.slice(-3),10),{hashAlgorithm:D,mgf1HashAlgorithm:i,saltLength:G}=I.asymmetricKeyDetails;if(D!==`sha${E}`||i!==D)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${A}.`);if(G!==void 0&&G>E>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${A}.`)}break}}});var nC=M((aj,cw)=>{var gY=$B();cw.exports=gY.satisfies(process.version,"^6.12.0 || >=8.0.0")});var qw=M((Hj,sw)=>{var v=ag(),BY=pC(),Lw=ZC(),QY=xC(),CY=WC(),EY=vC(),DY=nC(),iY=WB(),{KeyObject:GY,createSecretKey:oY,createPublicKey:wY}=Z("crypto"),$C=["RS256","RS384","RS512"],NY=["ES256","ES384","ES512"],_C=["RS256","RS384","RS512"],kY=["HS256","HS384","HS512"];if(DY)$C.splice($C.length,0,"PS256","PS384","PS512"),_C.splice(_C.length,0,"PS256","PS384","PS512");sw.exports=function(A,I,g,B){if(typeof g==="function"&&!B)B=g,g={};if(!g)g={};g=Object.assign({},g);let Q;if(B)Q=B;else Q=function(o,w){if(o)throw o;return w};if(g.clockTimestamp&&typeof g.clockTimestamp!=="number")return Q(new v("clockTimestamp must be a number"));if(g.nonce!==void 0&&(typeof g.nonce!=="string"||g.nonce.trim()===""))return Q(new v("nonce must be a non-empty string"));if(g.allowInvalidAsymmetricKeyTypes!==void 0&&typeof g.allowInvalidAsymmetricKeyTypes!=="boolean")return Q(new v("allowInvalidAsymmetricKeyTypes must be a boolean"));let C=g.clockTimestamp||Math.floor(Date.now()/1000);if(!A)return Q(new v("jwt must be provided"));if(typeof A!=="string")return Q(new v("jwt must be a string"));let E=A.split(".");if(E.length!==3)return Q(new v("jwt malformed"));let D;try{D=QY(A,{complete:!0})}catch(o){return Q(o)}if(!D)return Q(new v("invalid token"));let i=D.header,G;if(typeof I==="function"){if(!B)return Q(new v("verify must be called asynchronous if secret or public key is provided as a callback"));G=I}else G=function(o,w){return w(null,I)};return G(i,function(o,w){if(o)return Q(new v("error in secret or public key callback: "+o.message));let N=E[2].trim()!=="";if(!N&&w)return Q(new v("jwt signature is required"));if(N&&!w)return Q(new v("secret or public key must be provided"));if(!N&&!g.algorithms)return Q(new v('please specify "none" in "algorithms" to verify unsigned tokens'));if(w!=null&&!(w instanceof GY))try{w=wY(w)}catch(R){try{w=oY(typeof w==="string"?Buffer.from(w):w)}catch(Y){return Q(new v("secretOrPublicKey is not valid key material"))}}if(!g.algorithms)if(w.type==="secret")g.algorithms=kY;else if(["rsa","rsa-pss"].includes(w.asymmetricKeyType))g.algorithms=_C;else if(w.asymmetricKeyType==="ec")g.algorithms=NY;else g.algorithms=$C;if(g.algorithms.indexOf(D.header.alg)===-1)return Q(new v("invalid algorithm"));if(i.alg.startsWith("HS")&&w.type!=="secret")return Q(new v(`secretOrPublicKey must be a symmetric key when using ${i.alg}`));else if(/^(?:RS|PS|ES)/.test(i.alg)&&w.type!=="public")return Q(new v(`secretOrPublicKey must be an asymmetric key when using ${i.alg}`));if(!g.allowInvalidAsymmetricKeyTypes)try{EY(i.alg,w)}catch(R){return Q(R)}let k;try{k=iY.verify(A,D.header.alg,w)}catch(R){return Q(R)}if(!k)return Q(new v("invalid signature"));let F=D.payload;if(typeof F.nbf<"u"&&!g.ignoreNotBefore){if(typeof F.nbf!=="number")return Q(new v("invalid nbf value"));if(F.nbf>C+(g.clockTolerance||0))return Q(new BY("jwt not active",new Date(F.nbf*1000)))}if(typeof F.exp<"u"&&!g.ignoreExpiration){if(typeof F.exp!=="number")return Q(new v("invalid exp value"));if(C>=F.exp+(g.clockTolerance||0))return Q(new Lw("jwt expired",new Date(F.exp*1000)))}if(g.audience){let R=Array.isArray(g.audience)?g.audience:[g.audience];if(!(Array.isArray(F.aud)?F.aud:[F.aud]).some(function(c){return R.some(function(H){return H instanceof RegExp?H.test(c):H===c})}))return Q(new v("jwt audience invalid. expected: "+R.join(" or ")))}if(g.issuer){if(typeof g.issuer==="string"&&F.iss!==g.issuer||Array.isArray(g.issuer)&&g.issuer.indexOf(F.iss)===-1)return Q(new v("jwt issuer invalid. expected: "+g.issuer))}if(g.subject){if(F.sub!==g.subject)return Q(new v("jwt subject invalid. expected: "+g.subject))}if(g.jwtid){if(F.jti!==g.jwtid)return Q(new v("jwt jwtid invalid. expected: "+g.jwtid))}if(g.nonce){if(F.nonce!==g.nonce)return Q(new v("jwt nonce invalid. expected: "+g.nonce))}if(g.maxAge){if(typeof F.iat!=="number")return Q(new v("iat required when maxAge is specified"));let R=CY(g.maxAge,F.iat);if(typeof R>"u")return Q(new v('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(C>=R+(g.clockTolerance||0))return Q(new Lw("maxAge exceeded",new Date(R*1000)))}if(g.complete===!0){let R=D.signature;return Q(null,{header:i,payload:F,signature:R})}return Q(null,F)})}});var Ow=M((cj,Tw)=>{var xw=1/0,Zw=9007199254740991,KY=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,pw=NaN,FY="[object Arguments]",RY="[object Function]",SY="[object GeneratorFunction]",MY="[object String]",yY="[object Symbol]",hY=/^\s+|\s+$/g,UY=/^[-+]0x[0-9a-f]+$/i,YY=/^0b[01]+$/i,JY=/^0o[0-7]+$/i,aY=/^(?:0|[1-9]\d*)$/,HY=parseInt;function cY(A,I){var g=-1,B=A?A.length:0,Q=Array(B);while(++g<B)Q[g]=I(A[g],g,A);return Q}function LY(A,I,g,B){var Q=A.length,C=g+(B?1:-1);while(B?C--:++C<Q)if(I(A[C],C,A))return C;return-1}function sY(A,I,g){if(I!==I)return LY(A,qY,g);var B=g-1,Q=A.length;while(++B<Q)if(A[B]===I)return B;return-1}function qY(A){return A!==A}function xY(A,I){var g=-1,B=Array(A);while(++g<A)B[g]=I(g);return B}function pY(A,I){return cY(I,function(g){return A[g]})}function ZY(A,I){return function(g){return A(I(g))}}var _B=Object.prototype,AE=_B.hasOwnProperty,eB=_B.toString,WY=_B.propertyIsEnumerable,TY=ZY(Object.keys,Object),OY=Math.max;function VY(A,I){var g=Ww(A)||XY(A)?xY(A.length,String):[],B=g.length,Q=!!B;for(var C in A)if((I||AE.call(A,C))&&!(Q&&(C=="length"||dY(C,B))))g.push(C);return g}function jY(A){if(!bY(A))return TY(A);var I=[];for(var g in Object(A))if(AE.call(A,g)&&g!="constructor")I.push(g);return I}function dY(A,I){return I=I==null?Zw:I,!!I&&(typeof A=="number"||aY.test(A))&&(A>-1&&A%1==0&&A<I)}function bY(A){var I=A&&A.constructor,g=typeof I=="function"&&I.prototype||_B;return A===g}function zY(A,I,g,B){A=IE(A)?A:$Y(A),g=g&&!B?rY(g):0;var Q=A.length;if(g<0)g=OY(Q+g,0);return mY(A)?g<=Q&&A.indexOf(I,g)>-1:!!Q&&sY(A,I,g)>-1}function XY(A){return PY(A)&&AE.call(A,"callee")&&(!WY.call(A,"callee")||eB.call(A)==FY)}var Ww=Array.isArray;function IE(A){return A!=null&&lY(A.length)&&!fY(A)}function PY(A){return gE(A)&&IE(A)}function fY(A){var I=eC(A)?eB.call(A):"";return I==RY||I==SY}function lY(A){return typeof A=="number"&&A>-1&&A%1==0&&A<=Zw}function eC(A){var I=typeof A;return!!A&&(I=="object"||I=="function")}function gE(A){return!!A&&typeof A=="object"}function mY(A){return typeof A=="string"||!Ww(A)&&gE(A)&&eB.call(A)==MY}function tY(A){return typeof A=="symbol"||gE(A)&&eB.call(A)==yY}function uY(A){if(!A)return A===0?A:0;if(A=vY(A),A===xw||A===-xw){var I=A<0?-1:1;return I*KY}return A===A?A:0}function rY(A){var I=uY(A),g=I%1;return I===I?g?I-g:I:0}function vY(A){if(typeof A=="number")return A;if(tY(A))return pw;if(eC(A)){var I=typeof A.valueOf=="function"?A.valueOf():A;A=eC(I)?I+"":I}if(typeof A!="string")return A===0?A:+A;A=A.replace(hY,"");var g=YY.test(A);return g||JY.test(A)?HY(A.slice(2),g?2:8):UY.test(A)?pw:+A}function nY(A){return IE(A)?VY(A):jY(A)}function $Y(A){return A?pY(A,nY(A)):[]}Tw.exports=zY});var jw=M((Lj,Vw)=>{var _Y="[object Boolean]",eY=Object.prototype,AJ=eY.toString;function IJ(A){return A===!0||A===!1||gJ(A)&&AJ.call(A)==_Y}function gJ(A){return!!A&&typeof A=="object"}Vw.exports=IJ});var Pw=M((sj,Xw)=>{var dw=1/0,BJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,bw=NaN,QJ="[object Symbol]",CJ=/^\s+|\s+$/g,EJ=/^[-+]0x[0-9a-f]+$/i,DJ=/^0b[01]+$/i,iJ=/^0o[0-7]+$/i,GJ=parseInt,oJ=Object.prototype,wJ=oJ.toString;function NJ(A){return typeof A=="number"&&A==RJ(A)}function zw(A){var I=typeof A;return!!A&&(I=="object"||I=="function")}function kJ(A){return!!A&&typeof A=="object"}function KJ(A){return typeof A=="symbol"||kJ(A)&&wJ.call(A)==QJ}function FJ(A){if(!A)return A===0?A:0;if(A=SJ(A),A===dw||A===-dw){var I=A<0?-1:1;return I*BJ}return A===A?A:0}function RJ(A){var I=FJ(A),g=I%1;return I===I?g?I-g:I:0}function SJ(A){if(typeof A=="number")return A;if(KJ(A))return bw;if(zw(A)){var I=typeof A.valueOf=="function"?A.valueOf():A;A=zw(I)?I+"":I}if(typeof A!="string")return A===0?A:+A;A=A.replace(CJ,"");var g=DJ.test(A);return g||iJ.test(A)?GJ(A.slice(2),g?2:8):EJ.test(A)?bw:+A}Xw.exports=NJ});var lw=M((qj,fw)=>{var MJ="[object Number]",yJ=Object.prototype,hJ=yJ.toString;function UJ(A){return!!A&&typeof A=="object"}function YJ(A){return typeof A=="number"||UJ(A)&&hJ.call(A)==MJ}fw.exports=YJ});var rw=M((xj,uw)=>{var JJ="[object Object]";function aJ(A){var I=!1;if(A!=null&&typeof A.toString!="function")try{I=!!(A+"")}catch(g){}return I}function HJ(A,I){return function(g){return A(I(g))}}var cJ=Function.prototype,mw=Object.prototype,tw=cJ.toString,LJ=mw.hasOwnProperty,sJ=tw.call(Object),qJ=mw.toString,xJ=HJ(Object.getPrototypeOf,Object);function pJ(A){return!!A&&typeof A=="object"}function ZJ(A){if(!pJ(A)||qJ.call(A)!=JJ||aJ(A))return!1;var I=xJ(A);if(I===null)return!0;var g=LJ.call(I,"constructor")&&I.constructor;return typeof g=="function"&&g instanceof g&&tw.call(g)==sJ}uw.exports=ZJ});var nw=M((pj,vw)=>{var WJ="[object String]",TJ=Object.prototype,OJ=TJ.toString,VJ=Array.isArray;function jJ(A){return!!A&&typeof A=="object"}function dJ(A){return typeof A=="string"||!VJ(A)&&jJ(A)&&OJ.call(A)==WJ}vw.exports=dJ});var IN=M((Zj,AN)=>{var bJ="Expected a function",$w=1/0,zJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,_w=NaN,XJ="[object Symbol]",PJ=/^\s+|\s+$/g,fJ=/^[-+]0x[0-9a-f]+$/i,lJ=/^0b[01]+$/i,mJ=/^0o[0-7]+$/i,tJ=parseInt,uJ=Object.prototype,rJ=uJ.toString;function vJ(A,I){var g;if(typeof I!="function")throw TypeError(bJ);return A=Aa(A),function(){if(--A>0)g=I.apply(this,arguments);if(A<=1)I=void 0;return g}}function nJ(A){return vJ(2,A)}function ew(A){var I=typeof A;return!!A&&(I=="object"||I=="function")}function $J(A){return!!A&&typeof A=="object"}function _J(A){return typeof A=="symbol"||$J(A)&&rJ.call(A)==XJ}function eJ(A){if(!A)return A===0?A:0;if(A=Ia(A),A===$w||A===-$w){var I=A<0?-1:1;return I*zJ}return A===A?A:0}function Aa(A){var I=eJ(A),g=I%1;return I===I?g?I-g:I:0}function Ia(A){if(typeof A=="number")return A;if(_J(A))return _w;if(ew(A)){var I=typeof A.valueOf=="function"?A.valueOf():A;A=ew(I)?I+"":I}if(typeof A!="string")return A===0?A:+A;A=A.replace(PJ,"");var g=lJ.test(A);return g||mJ.test(A)?tJ(A.slice(2),g?2:8):fJ.test(A)?_w:+A}AN.exports=nJ});var oN=M((Wj,GN)=>{var gN=WC(),ga=nC(),Ba=vC(),BN=WB(),Qa=Ow(),AQ=jw(),QN=Pw(),BE=lw(),EN=rw(),DI=nw(),Ca=IN(),{KeyObject:Ea,createSecretKey:Da,createPrivateKey:ia}=Z("crypto"),DN=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(ga)DN.splice(3,0,"PS256","PS384","PS512");var Ga={expiresIn:{isValid:function(A){return QN(A)||DI(A)&&A},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(A){return QN(A)||DI(A)&&A},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(A){return DI(A)||Array.isArray(A)},message:'"audience" must be a string or array'},algorithm:{isValid:Qa.bind(null,DN),message:'"algorithm" must be a valid string enum value'},header:{isValid:EN,message:'"header" must be an object'},encoding:{isValid:DI,message:'"encoding" must be a string'},issuer:{isValid:DI,message:'"issuer" must be a string'},subject:{isValid:DI,message:'"subject" must be a string'},jwtid:{isValid:DI,message:'"jwtid" must be a string'},noTimestamp:{isValid:AQ,message:'"noTimestamp" must be a boolean'},keyid:{isValid:DI,message:'"keyid" must be a string'},mutatePayload:{isValid:AQ,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:AQ,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:AQ,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},oa={iat:{isValid:BE,message:'"iat" should be a number of seconds'},exp:{isValid:BE,message:'"exp" should be a number of seconds'},nbf:{isValid:BE,message:'"nbf" should be a number of seconds'}};function iN(A,I,g,B){if(!EN(g))throw Error('Expected "'+B+'" to be a plain object.');Object.keys(g).forEach(function(Q){let C=A[Q];if(!C){if(!I)throw Error('"'+Q+'" is not allowed in "'+B+'"');return}if(!C.isValid(g[Q]))throw Error(C.message)})}function wa(A){return iN(Ga,!1,A,"options")}function Na(A){return iN(oa,!0,A,"payload")}var CN={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},ka=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];GN.exports=function(A,I,g,B){if(typeof g==="function")B=g,g={};else g=g||{};let Q=typeof A==="object"&&!Buffer.isBuffer(A),C=Object.assign({alg:g.algorithm||"HS256",typ:Q?"JWT":void 0,kid:g.keyid},g.header);function E(G){if(B)return B(G);throw G}if(!I&&g.algorithm!=="none")return E(Error("secretOrPrivateKey must have a value"));if(I!=null&&!(I instanceof Ea))try{I=ia(I)}catch(G){try{I=Da(typeof I==="string"?Buffer.from(I):I)}catch(o){return E(Error("secretOrPrivateKey is not valid key material"))}}if(C.alg.startsWith("HS")&&I.type!=="secret")return E(Error(`secretOrPrivateKey must be a symmetric key when using ${C.alg}`));else if(/^(?:RS|PS|ES)/.test(C.alg)){if(I.type!=="private")return E(Error(`secretOrPrivateKey must be an asymmetric key when using ${C.alg}`));if(!g.allowInsecureKeySizes&&!C.alg.startsWith("ES")&&I.asymmetricKeyDetails!==void 0&&I.asymmetricKeyDetails.modulusLength<2048)return E(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${C.alg}`))}if(typeof A>"u")return E(Error("payload is required"));else if(Q){try{Na(A)}catch(G){return E(G)}if(!g.mutatePayload)A=Object.assign({},A)}else{let G=ka.filter(function(o){return typeof g[o]<"u"});if(G.length>0)return E(Error("invalid "+G.join(",")+" option for "+typeof A+" payload"))}if(typeof A.exp<"u"&&typeof g.expiresIn<"u")return E(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof A.nbf<"u"&&typeof g.notBefore<"u")return E(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{wa(g)}catch(G){return E(G)}if(!g.allowInvalidAsymmetricKeyTypes)try{Ba(C.alg,I)}catch(G){return E(G)}let D=A.iat||Math.floor(Date.now()/1000);if(g.noTimestamp)delete A.iat;else if(Q)A.iat=D;if(typeof g.notBefore<"u"){try{A.nbf=gN(g.notBefore,D)}catch(G){return E(G)}if(typeof A.nbf>"u")return E(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof g.expiresIn<"u"&&typeof A==="object"){try{A.exp=gN(g.expiresIn,D)}catch(G){return E(G)}if(typeof A.exp>"u")return E(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(CN).forEach(function(G){let o=CN[G];if(typeof g[G]<"u"){if(typeof A[o]<"u")return E(Error('Bad "options.'+G+'" option. The payload already has an "'+o+'" property.'));A[o]=g[G]}});let i=g.encoding||"utf8";if(typeof B==="function")B=B&&Ca(B),BN.createSign({header:C,privateKey:I,payload:A,encoding:i}).once("error",B).once("done",function(G){if(!g.allowInsecureKeySizes&&/^(?:RS|PS)/.test(C.alg)&&G.length<256)return B(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${C.alg}`));B(null,G)});else{let G=BN.sign({header:C,payload:A,secret:I,encoding:i});if(!g.allowInsecureKeySizes&&/^(?:RS|PS)/.test(C.alg)&&G.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${C.alg}`);return G}}});var NN=M((Tj,wN)=>{wN.exports={decode:xC(),verify:qw(),sign:oN(),JsonWebTokenError:ag(),NotBeforeError:pC(),TokenExpiredError:ZC()}});var CA=M((Gd,fN)=>{var{defineProperty:KE,getOwnPropertyDescriptor:Fa,getOwnPropertyNames:Ra}=Object,Sa=Object.prototype.hasOwnProperty,Ma=(A,I)=>{for(var g in I)KE(A,g,{get:I[g],enumerable:!0})},ya=(A,I,g,B)=>{if(I&&typeof I==="object"||typeof I==="function"){for(let Q of Ra(I))if(!Sa.call(A,Q)&&Q!==g)KE(A,Q,{get:()=>I[Q],enumerable:!(B=Fa(I,Q))||B.enumerable})}return A},ha=(A)=>ya(KE({},"__esModule",{value:!0}),A),yN={};Ma(yN,{AnyNull:()=>xN,AnyNullClass:()=>KQ,DbNull:()=>sN,DbNullClass:()=>NQ,Decimal:()=>Tg,JsonNull:()=>qN,JsonNullClass:()=>kQ,NullTypes:()=>aa,ObjectEnumValue:()=>LN,PrismaClientInitializationError:()=>hN,PrismaClientKnownRequestError:()=>UN,PrismaClientRustError:()=>YN,PrismaClientRustPanicError:()=>JN,PrismaClientUnknownRequestError:()=>aN,PrismaClientValidationError:()=>HN,Sql:()=>MQ,empty:()=>JH,hasBatchIndex:()=>Ua,isAnyNull:()=>sa,isDbNull:()=>ca,isJsonNull:()=>La,isObjectEnumValue:()=>Ha,join:()=>YH,raw:()=>PN,sql:()=>aH});fN.exports=ha(yN);function Ua(A){return typeof A.batchRequestIdx==="number"}function _I(A,I){Object.defineProperty(A,"name",{value:I,configurable:!0})}var hN=class A extends Error{clientVersion;errorCode;retryable;constructor(I,g,B){super(I);this.name="PrismaClientInitializationError",this.clientVersion=g,this.errorCode=B,Error.captureStackTrace(A)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};_I(hN,"PrismaClientInitializationError");var UN=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(A,{code:I,clientVersion:g,meta:B,batchRequestIdx:Q}){super(A);this.name="PrismaClientKnownRequestError",this.code=I,this.clientVersion=g,this.meta=B,Object.defineProperty(this,"batchRequestIdx",{value:Q,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};_I(UN,"PrismaClientKnownRequestError");function Ya(A){if(A.fields?.message){let I=A.fields?.message;if(A.fields?.file){if(I+=` in ${A.fields.file}`,A.fields?.line)I+=`:${A.fields.line}`;if(A.fields?.column)I+=`:${A.fields.column}`}if(A.fields?.reason)I+=`
5
5
  ${A.fields?.reason}`;return I}return"Unknown error"}function Ja(A){return A.fields?.message==="PANIC"}var YN=class extends Error{clientVersion;_isPanic;constructor({clientVersion:A,error:I}){let g=Ya(I);super(g??"Unknown error");this._isPanic=Ja(I),this.clientVersion=A}get[Symbol.toStringTag](){return"PrismaClientRustError"}isPanic(){return this._isPanic}};_I(YN,"PrismaClientRustError");var JN=class extends Error{clientVersion;constructor(A,I){super(A);this.name="PrismaClientRustPanicError",this.clientVersion=I}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};_I(JN,"PrismaClientRustPanicError");var aN=class extends Error{clientVersion;batchRequestIdx;constructor(A,{clientVersion:I,batchRequestIdx:g}){super(A);this.name="PrismaClientUnknownRequestError",this.clientVersion=I,Object.defineProperty(this,"batchRequestIdx",{value:g,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};_I(aN,"PrismaClientUnknownRequestError");var HN=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(A,{clientVersion:I}){super(A);this.clientVersion=I}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};_I(HN,"PrismaClientValidationError");var wQ=Symbol(),cN=Symbol.for("prisma.objectEnumValue"),LN=class{[cN]=!0;#A;constructor(A){if(A===wQ)this.#A=`Prisma.${this._getName()}`;else this.#A=`new Prisma.${this._getNamespace()}.${this._getName()}()`}_getName(){return this.constructor.name}toString(){return this.#A}};function FE(A,I){Object.defineProperty(A,"name",{value:I,configurable:!0})}var RE=class extends LN{_getNamespace(){return"NullTypes"}},NQ=class extends RE{#A};FE(NQ,"DbNull");var kQ=class extends RE{#A};FE(kQ,"JsonNull");var KQ=class extends RE{#A};FE(KQ,"AnyNull");var aa={DbNull:NQ,JsonNull:kQ,AnyNull:KQ},sN=new NQ(wQ),qN=new kQ(wQ),xN=new KQ(wQ);function Ha(A){return typeof A==="object"&&A!==null&&A[cN]===!0}function ca(A){return A===sN}function La(A){return A===qN}function sa(A){return A===xN}var nI=9000000000000000,wI=1e9,oE="0123456789abcdef",iQ="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",GQ="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",wE={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-nI,maxE:nI,crypto:!1},pN,gI,j=!0,FQ="[DecimalError] ",oI=FQ+"Invalid argument: ",ZN=FQ+"Precision limit exceeded",WN=FQ+"crypto unavailable",TN="[object Decimal]",RA=Math.floor,GA=Math.pow,qa=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,xa=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,pa=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ON=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,zA=1e7,W=7,Za=9007199254740991,Wa=iQ.length-1,NE=GQ.length-1,y={toStringTag:TN};y.absoluteValue=y.abs=function(){var A=new this.constructor(this);if(A.s<0)A.s=1;return q(A)};y.ceil=function(){return q(new this.constructor(this),this.e+1,2)};y.clampedTo=y.clamp=function(A,I){var g,B=this,Q=B.constructor;if(A=new Q(A),I=new Q(I),!A.s||!I.s)return new Q(NaN);if(A.gt(I))throw Error(oI+I);return g=B.cmp(A),g<0?A:B.cmp(I)>0?I:new Q(B)};y.comparedTo=y.cmp=function(A){var I,g,B,Q,C=this,E=C.d,D=(A=new C.constructor(A)).d,i=C.s,G=A.s;if(!E||!D)return!i||!G?NaN:i!==G?i:E===D?0:!E^i<0?1:-1;if(!E[0]||!D[0])return E[0]?i:D[0]?-G:0;if(i!==G)return i;if(C.e!==A.e)return C.e>A.e^i<0?1:-1;B=E.length,Q=D.length;for(I=0,g=B<Q?B:Q;I<g;++I)if(E[I]!==D[I])return E[I]>D[I]^i<0?1:-1;return B===Q?0:B>Q^i<0?1:-1};y.cosine=y.cos=function(){var A,I,g=this,B=g.constructor;if(!g.d)return new B(NaN);if(!g.d[0])return new B(1);return A=B.precision,I=B.rounding,B.precision=A+Math.max(g.e,g.sd())+W,B.rounding=1,g=Ta(B,zN(B,g)),B.precision=A,B.rounding=I,q(gI==2||gI==3?g.neg():g,A,I,!0)};y.cubeRoot=y.cbrt=function(){var A,I,g,B,Q,C,E,D,i,G,o=this,w=o.constructor;if(!o.isFinite()||o.isZero())return new w(o);if(j=!1,C=o.s*GA(o.s*o,0.3333333333333333),!C||Math.abs(C)==1/0){if(g=NA(o.d),A=o.e,C=(A-g.length+1)%3)g+=C==1||C==-2?"0":"00";if(C=GA(g,0.3333333333333333),A=RA((A+1)/3)-(A%3==(A<0?-1:2)),C==1/0)g="5e"+A;else g=C.toExponential(),g=g.slice(0,g.indexOf("e")+1)+A;B=new w(g),B.s=o.s}else B=new w(C.toString());E=(A=w.precision)+3;for(;;)if(D=B,i=D.times(D).times(D),G=i.plus(o),B=r(G.plus(o).times(D),G.plus(i),E+2,1),NA(D.d).slice(0,E)===(g=NA(B.d)).slice(0,E))if(g=g.slice(E-3,E+1),g=="9999"||!Q&&g=="4999"){if(!Q){if(q(D,A+1,0),D.times(D).times(D).eq(o)){B=D;break}}E+=4,Q=1}else{if(!+g||!+g.slice(1)&&g.charAt(0)=="5")q(B,A+1,1),I=!B.times(B).times(B).eq(o);break}return j=!0,q(B,A,w.rounding,I)};y.decimalPlaces=y.dp=function(){var A,I=this.d,g=NaN;if(I){if(A=I.length-1,g=(A-RA(this.e/W))*W,A=I[A],A)for(;A%10==0;A/=10)g--;if(g<0)g=0}return g};y.dividedBy=y.div=function(A){return r(this,new this.constructor(A))};y.dividedToIntegerBy=y.divToInt=function(A){var I=this,g=I.constructor;return q(r(I,new g(A),0,1,1),g.precision,g.rounding)};y.equals=y.eq=function(A){return this.cmp(A)===0};y.floor=function(){return q(new this.constructor(this),this.e+1,3)};y.greaterThan=y.gt=function(A){return this.cmp(A)>0};y.greaterThanOrEqualTo=y.gte=function(A){var I=this.cmp(A);return I==1||I===0};y.hyperbolicCosine=y.cosh=function(){var A,I,g,B,Q,C=this,E=C.constructor,D=new E(1);if(!C.isFinite())return new E(C.s?1/0:NaN);if(C.isZero())return D;if(g=E.precision,B=E.rounding,E.precision=g+Math.max(C.e,C.sd())+4,E.rounding=1,Q=C.d.length,Q<32)A=Math.ceil(Q/3),I=(1/SQ(4,A)).toString();else A=16,I="2.3283064365386962890625e-10";C=$I(E,1,C.times(I),new E(1),!0);var i,G=A,o=new E(8);for(;G--;)i=C.times(C),C=D.minus(i.times(o.minus(i.times(o))));return q(C,E.precision=g,E.rounding=B,!0)};y.hyperbolicSine=y.sinh=function(){var A,I,g,B,Q=this,C=Q.constructor;if(!Q.isFinite()||Q.isZero())return new C(Q);if(I=C.precision,g=C.rounding,C.precision=I+Math.max(Q.e,Q.sd())+4,C.rounding=1,B=Q.d.length,B<3)Q=$I(C,2,Q,Q,!0);else{A=1.4*Math.sqrt(B),A=A>16?16:A|0,Q=Q.times(1/SQ(5,A)),Q=$I(C,2,Q,Q,!0);var E,D=new C(5),i=new C(16),G=new C(20);for(;A--;)E=Q.times(Q),Q=Q.times(D.plus(E.times(i.times(E).plus(G))))}return C.precision=I,C.rounding=g,q(Q,I,g,!0)};y.hyperbolicTangent=y.tanh=function(){var A,I,g=this,B=g.constructor;if(!g.isFinite())return new B(g.s);if(g.isZero())return new B(g);return A=B.precision,I=B.rounding,B.precision=A+7,B.rounding=1,r(g.sinh(),g.cosh(),B.precision=A,B.rounding=I)};y.inverseCosine=y.acos=function(){var A=this,I=A.constructor,g=A.abs().cmp(1),B=I.precision,Q=I.rounding;if(g!==-1)return g===0?A.isNeg()?uA(I,B,Q):new I(0):new I(NaN);if(A.isZero())return uA(I,B+4,Q).times(0.5);return I.precision=B+6,I.rounding=1,A=new I(1).minus(A).div(A.plus(1)).sqrt().atan(),I.precision=B,I.rounding=Q,A.times(2)};y.inverseHyperbolicCosine=y.acosh=function(){var A,I,g=this,B=g.constructor;if(g.lte(1))return new B(g.eq(1)?0:NaN);if(!g.isFinite())return new B(g);return A=B.precision,I=B.rounding,B.precision=A+Math.max(Math.abs(g.e),g.sd())+4,B.rounding=1,j=!1,g=g.times(g).minus(1).sqrt().plus(g),j=!0,B.precision=A,B.rounding=I,g.ln()};y.inverseHyperbolicSine=y.asinh=function(){var A,I,g=this,B=g.constructor;if(!g.isFinite()||g.isZero())return new B(g);return A=B.precision,I=B.rounding,B.precision=A+2*Math.max(Math.abs(g.e),g.sd())+6,B.rounding=1,j=!1,g=g.times(g).plus(1).sqrt().plus(g),j=!0,B.precision=A,B.rounding=I,g.ln()};y.inverseHyperbolicTangent=y.atanh=function(){var A,I,g,B,Q=this,C=Q.constructor;if(!Q.isFinite())return new C(NaN);if(Q.e>=0)return new C(Q.abs().eq(1)?Q.s/0:Q.isZero()?Q:NaN);if(A=C.precision,I=C.rounding,B=Q.sd(),Math.max(B,A)<2*-Q.e-1)return q(new C(Q),A,I,!0);return C.precision=g=B-Q.e,Q=r(Q.plus(1),new C(1).minus(Q),g+A,1),C.precision=A+4,C.rounding=1,Q=Q.ln(),C.precision=A,C.rounding=I,Q.times(0.5)};y.inverseSine=y.asin=function(){var A,I,g,B,Q=this,C=Q.constructor;if(Q.isZero())return new C(Q);if(I=Q.abs().cmp(1),g=C.precision,B=C.rounding,I!==-1){if(I===0)return A=uA(C,g+4,B).times(0.5),A.s=Q.s,A;return new C(NaN)}return C.precision=g+6,C.rounding=1,Q=Q.div(new C(1).minus(Q.times(Q)).sqrt().plus(1)).atan(),C.precision=g,C.rounding=B,Q.times(2)};y.inverseTangent=y.atan=function(){var A,I,g,B,Q,C,E,D,i,G=this,o=G.constructor,w=o.precision,N=o.rounding;if(!G.isFinite()){if(!G.s)return new o(NaN);if(w+4<=NE)return E=uA(o,w+4,N).times(0.5),E.s=G.s,E}else if(G.isZero())return new o(G);else if(G.abs().eq(1)&&w+4<=NE)return E=uA(o,w+4,N).times(0.25),E.s=G.s,E;o.precision=D=w+10,o.rounding=1,g=Math.min(28,D/W+2|0);for(A=g;A;--A)G=G.div(G.times(G).plus(1).sqrt().plus(1));j=!1,I=Math.ceil(D/W),B=1,i=G.times(G),E=new o(G),Q=G;for(;A!==-1;)if(Q=Q.times(i),C=E.minus(Q.div(B+=2)),Q=Q.times(i),E=C.plus(Q.div(B+=2)),E.d[I]!==void 0)for(A=I;E.d[A]===C.d[A]&&A--;);if(g)E=E.times(2<<g-1);return j=!0,q(E,o.precision=w,o.rounding=N,!0)};y.isFinite=function(){return!!this.d};y.isInteger=y.isInt=function(){return!!this.d&&RA(this.e/W)>this.d.length-2};y.isNaN=function(){return!this.s};y.isNegative=y.isNeg=function(){return this.s<0};y.isPositive=y.isPos=function(){return this.s>0};y.isZero=function(){return!!this.d&&this.d[0]===0};y.lessThan=y.lt=function(A){return this.cmp(A)<0};y.lessThanOrEqualTo=y.lte=function(A){return this.cmp(A)<1};y.logarithm=y.log=function(A){var I,g,B,Q,C,E,D,i,G=this,o=G.constructor,w=o.precision,N=o.rounding,k=5;if(A==null)A=new o(10),I=!0;else{if(A=new o(A),g=A.d,A.s<0||!g||!g[0]||A.eq(1))return new o(NaN);I=A.eq(10)}if(g=G.d,G.s<0||!g||!g[0]||G.eq(1))return new o(g&&!g[0]?-1/0:G.s!=1?NaN:g?0:1/0);if(I)if(g.length>1)C=!0;else{for(Q=g[0];Q%10===0;)Q/=10;C=Q!==1}if(j=!1,D=w+k,E=GI(G,D),B=I?oQ(o,D+10):GI(A,D),i=r(E,B,D,1),Wg(i.d,Q=w,N))do if(D+=10,E=GI(G,D),B=I?oQ(o,D+10):GI(A,D),i=r(E,B,D,1),!C){if(+NA(i.d).slice(Q+1,Q+15)+1==100000000000000)i=q(i,w+1,0);break}while(Wg(i.d,Q+=10,N));return j=!0,q(i,w,N)};y.minus=y.sub=function(A){var I,g,B,Q,C,E,D,i,G,o,w,N,k=this,F=k.constructor;if(A=new F(A),!k.d||!A.d){if(!k.s||!A.s)A=new F(NaN);else if(k.d)A.s=-A.s;else A=new F(A.d||k.s!==A.s?k:NaN);return A}if(k.s!=A.s)return A.s=-A.s,k.plus(A);if(G=k.d,N=A.d,D=F.precision,i=F.rounding,!G[0]||!N[0]){if(N[0])A.s=-A.s;else if(G[0])A=new F(k);else return new F(i===3?-0:0);return j?q(A,D,i):A}if(g=RA(A.e/W),o=RA(k.e/W),G=G.slice(),C=o-g,C){if(w=C<0,w)I=G,C=-C,E=N.length;else I=N,g=o,E=G.length;if(B=Math.max(Math.ceil(D/W),E)+2,C>B)C=B,I.length=1;I.reverse();for(B=C;B--;)I.push(0);I.reverse()}else{if(B=G.length,E=N.length,w=B<E,w)E=B;for(B=0;B<E;B++)if(G[B]!=N[B]){w=G[B]<N[B];break}C=0}if(w)I=G,G=N,N=I,A.s=-A.s;E=G.length;for(B=N.length-E;B>0;--B)G[E++]=0;for(B=N.length;B>C;){if(G[--B]<N[B]){for(Q=B;Q&&G[--Q]===0;)G[Q]=zA-1;--G[Q],G[B]+=zA}G[B]-=N[B]}for(;G[--E]===0;)G.pop();for(;G[0]===0;G.shift())--g;if(!G[0])return new F(i===3?-0:0);return A.d=G,A.e=RQ(G,g),j?q(A,D,i):A};y.modulo=y.mod=function(A){var I,g=this,B=g.constructor;if(A=new B(A),!g.d||!A.s||A.d&&!A.d[0])return new B(NaN);if(!A.d||g.d&&!g.d[0])return q(new B(g),B.precision,B.rounding);if(j=!1,B.modulo==9)I=r(g,A.abs(),0,3,1),I.s*=A.s;else I=r(g,A,0,B.modulo,1);return I=I.times(A),j=!0,g.minus(I)};y.naturalExponential=y.exp=function(){return kE(this)};y.naturalLogarithm=y.ln=function(){return GI(this)};y.negated=y.neg=function(){var A=new this.constructor(this);return A.s=-A.s,q(A)};y.plus=y.add=function(A){var I,g,B,Q,C,E,D,i,G,o,w=this,N=w.constructor;if(A=new N(A),!w.d||!A.d){if(!w.s||!A.s)A=new N(NaN);else if(!w.d)A=new N(A.d||w.s===A.s?w:NaN);return A}if(w.s!=A.s)return A.s=-A.s,w.minus(A);if(G=w.d,o=A.d,D=N.precision,i=N.rounding,!G[0]||!o[0]){if(!o[0])A=new N(w);return j?q(A,D,i):A}if(C=RA(w.e/W),B=RA(A.e/W),G=G.slice(),Q=C-B,Q){if(Q<0)g=G,Q=-Q,E=o.length;else g=o,B=C,E=G.length;if(C=Math.ceil(D/W),E=C>E?C+1:E+1,Q>E)Q=E,g.length=1;g.reverse();for(;Q--;)g.push(0);g.reverse()}if(E=G.length,Q=o.length,E-Q<0)Q=E,g=o,o=G,G=g;for(I=0;Q;)I=(G[--Q]=G[Q]+o[Q]+I)/zA|0,G[Q]%=zA;if(I)G.unshift(I),++B;for(E=G.length;G[--E]==0;)G.pop();return A.d=G,A.e=RQ(G,B),j?q(A,D,i):A};y.precision=y.sd=function(A){var I,g=this;if(A!==void 0&&A!==!!A&&A!==1&&A!==0)throw Error(oI+A);if(g.d){if(I=VN(g.d),A&&g.e+1>I)I=g.e+1}else I=NaN;return I};y.round=function(){var A=this,I=A.constructor;return q(new I(A),A.e+1,I.rounding)};y.sine=y.sin=function(){var A,I,g=this,B=g.constructor;if(!g.isFinite())return new B(NaN);if(g.isZero())return new B(g);return A=B.precision,I=B.rounding,B.precision=A+Math.max(g.e,g.sd())+W,B.rounding=1,g=Va(B,zN(B,g)),B.precision=A,B.rounding=I,q(gI>2?g.neg():g,A,I,!0)};y.squareRoot=y.sqrt=function(){var A,I,g,B,Q,C,E=this,D=E.d,i=E.e,G=E.s,o=E.constructor;if(G!==1||!D||!D[0])return new o(!G||G<0&&(!D||D[0])?NaN:D?E:1/0);if(j=!1,G=Math.sqrt(+E),G==0||G==1/0){if(I=NA(D),(I.length+i)%2==0)I+="0";if(G=Math.sqrt(I),i=RA((i+1)/2)-(i<0||i%2),G==1/0)I="5e"+i;else I=G.toExponential(),I=I.slice(0,I.indexOf("e")+1)+i;B=new o(I)}else B=new o(G.toString());g=(i=o.precision)+3;for(;;)if(C=B,B=C.plus(r(E,C,g+2,1)).times(0.5),NA(C.d).slice(0,g)===(I=NA(B.d)).slice(0,g))if(I=I.slice(g-3,g+1),I=="9999"||!Q&&I=="4999"){if(!Q){if(q(C,i+1,0),C.times(C).eq(E)){B=C;break}}g+=4,Q=1}else{if(!+I||!+I.slice(1)&&I.charAt(0)=="5")q(B,i+1,1),A=!B.times(B).eq(E);break}return j=!0,q(B,i,o.rounding,A)};y.tangent=y.tan=function(){var A,I,g=this,B=g.constructor;if(!g.isFinite())return new B(NaN);if(g.isZero())return new B(g);return A=B.precision,I=B.rounding,B.precision=A+10,B.rounding=1,g=g.sin(),g.s=1,g=r(g,new B(1).minus(g.times(g)).sqrt(),A+10,0),B.precision=A,B.rounding=I,q(gI==2||gI==4?g.neg():g,A,I,!0)};y.times=y.mul=function(A){var I,g,B,Q,C,E,D,i,G,o=this,w=o.constructor,N=o.d,k=(A=new w(A)).d;if(A.s*=o.s,!N||!N[0]||!k||!k[0])return new w(!A.s||N&&!N[0]&&!k||k&&!k[0]&&!N?NaN:!N||!k?A.s/0:A.s*0);if(g=RA(o.e/W)+RA(A.e/W),i=N.length,G=k.length,i<G)C=N,N=k,k=C,E=i,i=G,G=E;C=[],E=i+G;for(B=E;B--;)C.push(0);for(B=G;--B>=0;){I=0;for(Q=i+B;Q>B;)D=C[Q]+k[B]*N[Q-B-1]+I,C[Q--]=D%zA|0,I=D/zA|0;C[Q]=(C[Q]+I)%zA|0}for(;!C[--E];)C.pop();if(I)++g;else C.shift();return A.d=C,A.e=RQ(C,g),j?q(A,w.precision,w.rounding):A};y.toBinary=function(A,I){return SE(this,2,A,I)};y.toDecimalPlaces=y.toDP=function(A,I){var g=this,B=g.constructor;if(g=new B(g),A===void 0)return g;if(JA(A,0,wI),I===void 0)I=B.rounding;else JA(I,0,8);return q(g,A+g.e+1,I)};y.toExponential=function(A,I){var g,B=this,Q=B.constructor;if(A===void 0)g=rA(B,!0);else{if(JA(A,0,wI),I===void 0)I=Q.rounding;else JA(I,0,8);B=q(new Q(B),A+1,I),g=rA(B,!0,A+1)}return B.isNeg()&&!B.isZero()?"-"+g:g};y.toFixed=function(A,I){var g,B,Q=this,C=Q.constructor;if(A===void 0)g=rA(Q);else{if(JA(A,0,wI),I===void 0)I=C.rounding;else JA(I,0,8);B=q(new C(Q),A+Q.e+1,I),g=rA(B,!1,A+B.e+1)}return Q.isNeg()&&!Q.isZero()?"-"+g:g};y.toFraction=function(A){var I,g,B,Q,C,E,D,i,G,o,w,N,k=this,F=k.d,R=k.constructor;if(!F)return new R(k);if(G=g=new R(1),B=i=new R(0),I=new R(B),C=I.e=VN(F)-k.e-1,E=C%W,I.d[0]=GA(10,E<0?W+E:E),A==null)A=C>0?I:G;else{if(D=new R(A),!D.isInt()||D.lt(G))throw Error(oI+D);A=D.gt(I)?C>0?I:G:D}j=!1,D=new R(NA(F)),o=R.precision,R.precision=C=F.length*W*2;for(;;){if(w=r(D,I,0,1,1),Q=g.plus(w.times(B)),Q.cmp(A)==1)break;g=B,B=Q,Q=G,G=i.plus(w.times(Q)),i=Q,Q=I,I=D.minus(w.times(Q)),D=Q}return Q=r(A.minus(g),B,0,1,1),i=i.plus(Q.times(G)),g=g.plus(Q.times(B)),i.s=G.s=k.s,N=r(G,B,C,1).minus(k).abs().cmp(r(i,g,C,1).minus(k).abs())<1?[G,B]:[i,g],R.precision=o,j=!0,N};y.toHexadecimal=y.toHex=function(A,I){return SE(this,16,A,I)};y.toNearest=function(A,I){var g=this,B=g.constructor;if(g=new B(g),A==null){if(!g.d)return g;A=new B(1),I=B.rounding}else{if(A=new B(A),I===void 0)I=B.rounding;else JA(I,0,8);if(!g.d)return A.s?g:A;if(!A.d){if(A.s)A.s=g.s;return A}}if(A.d[0])j=!1,g=r(g,A,0,I,1).times(A),j=!0,q(g);else A.s=g.s,g=A;return g};y.toNumber=function(){return+this};y.toOctal=function(A,I){return SE(this,8,A,I)};y.toPower=y.pow=function(A){var I,g,B,Q,C,E,D=this,i=D.constructor,G=+(A=new i(A));if(!D.d||!A.d||!D.d[0]||!A.d[0])return new i(GA(+D,G));if(D=new i(D),D.eq(1))return D;if(B=i.precision,C=i.rounding,A.eq(1))return q(D,B,C);if(I=RA(A.e/W),I>=A.d.length-1&&(g=G<0?-G:G)<=Za)return Q=jN(i,D,g,B),A.s<0?new i(1).div(Q):q(Q,B,C);if(E=D.s,E<0){if(I<A.d.length-1)return new i(NaN);if((A.d[I]&1)==0)E=1;if(D.e==0&&D.d[0]==1&&D.d.length==1)return D.s=E,D}if(g=GA(+D,G),I=g==0||!isFinite(g)?RA(G*(Math.log("0."+NA(D.d))/Math.LN10+D.e+1)):new i(g+"").e,I>i.maxE+1||I<i.minE-1)return new i(I>0?E/0:0);if(j=!1,i.rounding=D.s=1,g=Math.min(12,(I+"").length),Q=kE(A.times(GI(D,B+g)),B),Q.d){if(Q=q(Q,B+5,1),Wg(Q.d,B,C)){if(I=B+10,Q=q(kE(A.times(GI(D,I+g)),I),I+5,1),+NA(Q.d).slice(B+1,B+15)+1==100000000000000)Q=q(Q,B+1,0)}}return Q.s=E,j=!0,i.rounding=C,q(Q,B,C)};y.toPrecision=function(A,I){var g,B=this,Q=B.constructor;if(A===void 0)g=rA(B,B.e<=Q.toExpNeg||B.e>=Q.toExpPos);else{if(JA(A,1,wI),I===void 0)I=Q.rounding;else JA(I,0,8);B=q(new Q(B),A,I),g=rA(B,A<=B.e||B.e<=Q.toExpNeg,A)}return B.isNeg()&&!B.isZero()?"-"+g:g};y.toSignificantDigits=y.toSD=function(A,I){var g=this,B=g.constructor;if(A===void 0)A=B.precision,I=B.rounding;else if(JA(A,1,wI),I===void 0)I=B.rounding;else JA(I,0,8);return q(new B(g),A,I)};y.toString=function(){var A=this,I=A.constructor,g=rA(A,A.e<=I.toExpNeg||A.e>=I.toExpPos);return A.isNeg()&&!A.isZero()?"-"+g:g};y.truncated=y.trunc=function(){return q(new this.constructor(this),this.e+1,1)};y.valueOf=y.toJSON=function(){var A=this,I=A.constructor,g=rA(A,A.e<=I.toExpNeg||A.e>=I.toExpPos);return A.isNeg()?"-"+g:g};function NA(A){var I,g,B,Q=A.length-1,C="",E=A[0];if(Q>0){C+=E;for(I=1;I<Q;I++){if(B=A[I]+"",g=W-B.length,g)C+=iI(g);C+=B}if(E=A[I],B=E+"",g=W-B.length,g)C+=iI(g)}else if(E===0)return"0";for(;E%10===0;)E/=10;return C+E}function JA(A,I,g){if(A!==~~A||A<I||A>g)throw Error(oI+A)}function Wg(A,I,g,B){var Q,C,E,D;for(C=A[0];C>=10;C/=10)--I;if(--I<0)I+=W,Q=0;else Q=Math.ceil((I+1)/W),I%=W;if(C=GA(10,W-I),D=A[Q]%C|0,B==null)if(I<3){if(I==0)D=D/100|0;else if(I==1)D=D/10|0;E=g<4&&D==99999||g>3&&D==49999||D==50000||D==0}else E=(g<4&&D+1==C||g>3&&D+1==C/2)&&(A[Q+1]/C/100|0)==GA(10,I-2)-1||(D==C/2||D==0)&&(A[Q+1]/C/100|0)==0;else if(I<4){if(I==0)D=D/1000|0;else if(I==1)D=D/100|0;else if(I==2)D=D/10|0;E=(B||g<4)&&D==9999||!B&&g>3&&D==4999}else E=((B||g<4)&&D+1==C||!B&&g>3&&D+1==C/2)&&(A[Q+1]/C/1000|0)==GA(10,I-3)-1;return E}function EQ(A,I,g){var B,Q=[0],C,E=0,D=A.length;for(;E<D;){for(C=Q.length;C--;)Q[C]*=I;Q[0]+=oE.indexOf(A.charAt(E++));for(B=0;B<Q.length;B++)if(Q[B]>g-1){if(Q[B+1]===void 0)Q[B+1]=0;Q[B+1]+=Q[B]/g|0,Q[B]%=g}}return Q.reverse()}function Ta(A,I){var g,B,Q;if(I.isZero())return I;if(B=I.d.length,B<32)g=Math.ceil(B/3),Q=(1/SQ(4,g)).toString();else g=16,Q="2.3283064365386962890625e-10";A.precision+=g,I=$I(A,1,I.times(Q),new A(1));for(var C=g;C--;){var E=I.times(I);I=E.times(E).minus(E).times(8).plus(1)}return A.precision-=g,I}var r=function(){function A(B,Q,C){var E,D=0,i=B.length;for(B=B.slice();i--;)E=B[i]*Q+D,B[i]=E%C|0,D=E/C|0;if(D)B.unshift(D);return B}function I(B,Q,C,E){var D,i;if(C!=E)i=C>E?1:-1;else for(D=i=0;D<C;D++)if(B[D]!=Q[D]){i=B[D]>Q[D]?1:-1;break}return i}function g(B,Q,C,E){var D=0;for(;C--;)B[C]-=D,D=B[C]<Q[C]?1:0,B[C]=D*E+B[C]-Q[C];for(;!B[0]&&B.length>1;)B.shift()}return function(B,Q,C,E,D,i){var G,o,w,N,k,F,R,Y,L,c,H,P,s,h,x,p,f,U,K,S,d=B.constructor,T=B.s==Q.s?1:-1,O=B.d,V=Q.d;if(!O||!O[0]||!V||!V[0])return new d(!B.s||!Q.s||(O?V&&O[0]==V[0]:!V)?NaN:O&&O[0]==0||!V?T*0:T/0);if(i)k=1,o=B.e-Q.e;else i=zA,k=W,o=RA(B.e/k)-RA(Q.e/k);K=V.length,f=O.length,L=new d(T),c=L.d=[];for(w=0;V[w]==(O[w]||0);w++);if(V[w]>(O[w]||0))o--;if(C==null)h=C=d.precision,E=d.rounding;else if(D)h=C+(B.e-Q.e)+1;else h=C;if(h<0)c.push(1),F=!0;else{if(h=h/k+2|0,w=0,K==1){N=0,V=V[0],h++;for(;(w<f||N)&&h--;w++)x=N*i+(O[w]||0),c[w]=x/V|0,N=x%V|0;F=N||w<f}else{if(N=i/(V[0]+1)|0,N>1)V=A(V,N,i),O=A(O,N,i),K=V.length,f=O.length;p=K,H=O.slice(0,K),P=H.length;for(;P<K;)H[P++]=0;if(S=V.slice(),S.unshift(0),U=V[0],V[1]>=i/2)++U;do{if(N=0,G=I(V,H,K,P),G<0){if(s=H[0],K!=P)s=s*i+(H[1]||0);if(N=s/U|0,N>1){if(N>=i)N=i-1;if(R=A(V,N,i),Y=R.length,P=H.length,G=I(R,H,Y,P),G==1)N--,g(R,K<Y?S:V,Y,i)}else{if(N==0)G=N=1;R=V.slice()}if(Y=R.length,Y<P)R.unshift(0);if(g(H,R,P,i),G==-1){if(P=H.length,G=I(V,H,K,P),G<1)N++,g(H,K<P?S:V,P,i)}P=H.length}else if(G===0)N++,H=[0];if(c[w++]=N,G&&H[0])H[P++]=O[p]||0;else H=[O[p]],P=1}while((p++<f||H[0]!==void 0)&&h--);F=H[0]!==void 0}if(!c[0])c.shift()}if(k==1)L.e=o,pN=F;else{for(w=1,N=c[0];N>=10;N/=10)w++;L.e=w+o*k-1,q(L,D?C+L.e+1:C,E,F)}return L}}();function q(A,I,g,B){var Q,C,E,D,i,G,o,w,N,k=A.constructor;A:if(I!=null){if(w=A.d,!w)return A;for(Q=1,D=w[0];D>=10;D/=10)Q++;if(C=I-Q,C<0)C+=W,E=I,o=w[N=0],i=o/GA(10,Q-E-1)%10|0;else if(N=Math.ceil((C+1)/W),D=w.length,N>=D)if(B){for(;D++<=N;)w.push(0);o=i=0,Q=1,C%=W,E=C-W+1}else break A;else{o=D=w[N];for(Q=1;D>=10;D/=10)Q++;C%=W,E=C-W+Q,i=E<0?0:o/GA(10,Q-E-1)%10|0}if(B=B||I<0||w[N+1]!==void 0||(E<0?o:o%GA(10,Q-E-1)),G=g<4?(i||B)&&(g==0||g==(A.s<0?3:2)):i>5||i==5&&(g==4||B||g==6&&(C>0?E>0?o/GA(10,Q-E):0:w[N-1])%10&1||g==(A.s<0?8:7)),I<1||!w[0]){if(w.length=0,G)I-=A.e+1,w[0]=GA(10,(W-I%W)%W),A.e=-I||0;else w[0]=A.e=0;return A}if(C==0)w.length=N,D=1,N--;else w.length=N+1,D=GA(10,W-C),w[N]=E>0?(o/GA(10,Q-E)%GA(10,E)|0)*D:0;if(G)for(;;)if(N==0){for(C=1,E=w[0];E>=10;E/=10)C++;E=w[0]+=D;for(D=1;E>=10;E/=10)D++;if(C!=D){if(A.e++,w[0]==zA)w[0]=1}break}else{if(w[N]+=D,w[N]!=zA)break;w[N--]=0,D=1}for(C=w.length;w[--C]===0;)w.pop()}if(j){if(A.e>k.maxE)A.d=null,A.e=NaN;else if(A.e<k.minE)A.e=0,A.d=[0]}return A}function rA(A,I,g){if(!A.isFinite())return bN(A);var B,Q=A.e,C=NA(A.d),E=C.length;if(I){if(g&&(B=g-E)>0)C=C.charAt(0)+"."+C.slice(1)+iI(B);else if(E>1)C=C.charAt(0)+"."+C.slice(1);C=C+(A.e<0?"e":"e+")+A.e}else if(Q<0){if(C="0."+iI(-Q-1)+C,g&&(B=g-E)>0)C+=iI(B)}else if(Q>=E){if(C+=iI(Q+1-E),g&&(B=g-Q-1)>0)C=C+"."+iI(B)}else{if((B=Q+1)<E)C=C.slice(0,B)+"."+C.slice(B);if(g&&(B=g-E)>0){if(Q+1===E)C+=".";C+=iI(B)}}return C}function RQ(A,I){var g=A[0];for(I*=W;g>=10;g/=10)I++;return I}function oQ(A,I,g){if(I>Wa){if(j=!0,g)A.precision=g;throw Error(ZN)}return q(new A(iQ),I,1,!0)}function uA(A,I,g){if(I>NE)throw Error(ZN);return q(new A(GQ),I,g,!0)}function VN(A){var I=A.length-1,g=I*W+1;if(I=A[I],I){for(;I%10==0;I/=10)g--;for(I=A[0];I>=10;I/=10)g++}return g}function iI(A){var I="";for(;A--;)I+="0";return I}function jN(A,I,g,B){var Q,C=new A(1),E=Math.ceil(B/W+4);j=!1;for(;;){if(g%2){if(C=C.times(I),SN(C.d,E))Q=!0}if(g=RA(g/2),g===0){if(g=C.d.length-1,Q&&C.d[g]===0)++C.d[g];break}I=I.times(I),SN(I.d,E)}return j=!0,C}function RN(A){return A.d[A.d.length-1]&1}function dN(A,I,g){var B,Q,C=new A(I[0]),E=0;for(;++E<I.length;){if(Q=new A(I[E]),!Q.s){C=Q;break}if(B=C.cmp(Q),B===g||B===0&&C.s===g)C=Q}return C}function kE(A,I){var g,B,Q,C,E,D,i,G=0,o=0,w=0,N=A.constructor,k=N.rounding,F=N.precision;if(!A.d||!A.d[0]||A.e>17)return new N(A.d?!A.d[0]?1:A.s<0?0:1/0:A.s?A.s<0?0:A:NaN);if(I==null)j=!1,i=F;else i=I;D=new N(0.03125);while(A.e>-2)A=A.times(D),w+=5;B=Math.log(GA(2,w))/Math.LN10*2+5|0,i+=B,g=C=E=new N(1),N.precision=i;for(;;){if(C=q(C.times(A),i,1),g=g.times(++o),D=E.plus(r(C,g,i,1)),NA(D.d).slice(0,i)===NA(E.d).slice(0,i)){Q=w;while(Q--)E=q(E.times(E),i,1);if(I==null)if(G<3&&Wg(E.d,i-B,k,G))N.precision=i+=10,g=C=D=new N(1),o=0,G++;else return q(E,N.precision=F,k,j=!0);else return N.precision=F,E}E=D}}function GI(A,I){var g,B,Q,C,E,D,i,G,o,w,N,k=1,F=10,R=A,Y=R.d,L=R.constructor,c=L.rounding,H=L.precision;if(R.s<0||!Y||!Y[0]||!R.e&&Y[0]==1&&Y.length==1)return new L(Y&&!Y[0]?-1/0:R.s!=1?NaN:Y?0:R);if(I==null)j=!1,o=H;else o=I;if(L.precision=o+=F,g=NA(Y),B=g.charAt(0),Math.abs(C=R.e)<1500000000000000){while(B<7&&B!=1||B==1&&g.charAt(1)>3)R=R.times(A),g=NA(R.d),B=g.charAt(0),k++;if(C=R.e,B>1)R=new L("0."+g),C++;else R=new L(B+"."+g.slice(1))}else return G=oQ(L,o+2,H).times(C+""),R=GI(new L(B+"."+g.slice(1)),o-F).plus(G),L.precision=H,I==null?q(R,H,c,j=!0):R;w=R,i=E=R=r(R.minus(1),R.plus(1),o,1),N=q(R.times(R),o,1),Q=3;for(;;){if(E=q(E.times(N),o,1),G=i.plus(r(E,new L(Q),o,1)),NA(G.d).slice(0,o)===NA(i.d).slice(0,o)){if(i=i.times(2),C!==0)i=i.plus(oQ(L,o+2,H).times(C+""));if(i=r(i,new L(k),o,1),I==null)if(Wg(i.d,o-F,c,D))L.precision=o+=F,G=E=R=r(w.minus(1),w.plus(1),o,1),N=q(R.times(R),o,1),Q=D=1;else return q(i,L.precision=H,c,j=!0);else return L.precision=H,i}i=G,Q+=2}}function bN(A){return String(A.s*A.s/0)}function DQ(A,I){var g,B,Q;if((g=I.indexOf("."))>-1)I=I.replace(".","");if((B=I.search(/e/i))>0){if(g<0)g=B;g+=+I.slice(B+1),I=I.substring(0,B)}else if(g<0)g=I.length;for(B=0;I.charCodeAt(B)===48;B++);for(Q=I.length;I.charCodeAt(Q-1)===48;--Q);if(I=I.slice(B,Q),I){if(Q-=B,A.e=g=g-B-1,A.d=[],B=(g+1)%W,g<0)B+=W;if(B<Q){if(B)A.d.push(+I.slice(0,B));for(Q-=W;B<Q;)A.d.push(+I.slice(B,B+=W));I=I.slice(B),B=W-I.length}else B-=Q;for(;B--;)I+="0";if(A.d.push(+I),j){if(A.e>A.constructor.maxE)A.d=null,A.e=NaN;else if(A.e<A.constructor.minE)A.e=0,A.d=[0]}}else A.e=0,A.d=[0];return A}function Oa(A,I){var g,B,Q,C,E,D,i,G,o;if(I.indexOf("_")>-1){if(I=I.replace(/(\d)_(?=\d)/g,"$1"),ON.test(I))return DQ(A,I)}else if(I==="Infinity"||I==="NaN"){if(!+I)A.s=NaN;return A.e=NaN,A.d=null,A}if(xa.test(I))g=16,I=I.toLowerCase();else if(qa.test(I))g=2;else if(pa.test(I))g=8;else throw Error(oI+I);if(C=I.search(/p/i),C>0)i=+I.slice(C+1),I=I.substring(2,C);else I=I.slice(2);if(C=I.indexOf("."),E=C>=0,B=A.constructor,E)I=I.replace(".",""),D=I.length,C=D-C,Q=jN(B,new B(g),C,C*2);G=EQ(I,g,zA),o=G.length-1;for(C=o;G[C]===0;--C)G.pop();if(C<0)return new B(A.s*0);if(A.e=RQ(G,o),A.d=G,j=!1,E)A=r(A,Q,D*4);if(i)A=A.times(Math.abs(i)<54?GA(2,i):Tg.pow(2,i));return j=!0,A}function Va(A,I){var g,B=I.d.length;if(B<3)return I.isZero()?I:$I(A,2,I,I);g=1.4*Math.sqrt(B),g=g>16?16:g|0,I=I.times(1/SQ(5,g)),I=$I(A,2,I,I);var Q,C=new A(5),E=new A(16),D=new A(20);for(;g--;)Q=I.times(I),I=I.times(C.plus(Q.times(E.times(Q).minus(D))));return I}function $I(A,I,g,B,Q){var C,E,D,i,G=1,o=A.precision,w=Math.ceil(o/W);j=!1,i=g.times(g),D=new A(B);for(;;){if(E=r(D.times(i),new A(I++*I++),o,1),D=Q?B.plus(E):B.minus(E),B=r(E.times(i),new A(I++*I++),o,1),E=D.plus(B),E.d[w]!==void 0){for(C=w;E.d[C]===D.d[C]&&C--;);if(C==-1)break}C=D,D=B,B=E,E=C,G++}return j=!0,E.d.length=w+1,E}function SQ(A,I){var g=A;while(--I)g*=A;return g}function zN(A,I){var g,B=I.s<0,Q=uA(A,A.precision,1),C=Q.times(0.5);if(I=I.abs(),I.lte(C))return gI=B?4:1,I;if(g=I.divToInt(Q),g.isZero())gI=B?3:2;else{if(I=I.minus(g.times(Q)),I.lte(C))return gI=RN(g)?B?2:3:B?4:1,I;gI=RN(g)?B?1:4:B?3:2}return I.minus(Q).abs()}function SE(A,I,g,B){var Q,C,E,D,i,G,o,w,N,k=A.constructor,F=g!==void 0;if(F)if(JA(g,1,wI),B===void 0)B=k.rounding;else JA(B,0,8);else g=k.precision,B=k.rounding;if(!A.isFinite())o=bN(A);else{if(o=rA(A),E=o.indexOf("."),F){if(Q=2,I==16)g=g*4-3;else if(I==8)g=g*3-2}else Q=I;if(E>=0)o=o.replace(".",""),N=new k(1),N.e=o.length-E,N.d=EQ(rA(N),10,Q),N.e=N.d.length;w=EQ(o,10,Q),C=i=w.length;for(;w[--i]==0;)w.pop();if(!w[0])o=F?"0p+0":"0";else{if(E<0)C--;else A=new k(A),A.d=w,A.e=C,A=r(A,N,g,B,0,Q),w=A.d,C=A.e,G=pN;if(E=w[g],D=Q/2,G=G||w[g+1]!==void 0,G=B<4?(E!==void 0||G)&&(B===0||B===(A.s<0?3:2)):E>D||E===D&&(B===4||G||B===6&&w[g-1]&1||B===(A.s<0?8:7)),w.length=g,G){for(;++w[--g]>Q-1;)if(w[g]=0,!g)++C,w.unshift(1)}for(i=w.length;!w[i-1];--i);for(E=0,o="";E<i;E++)o+=oE.charAt(w[E]);if(F){if(i>1)if(I==16||I==8){E=I==16?4:3;for(--i;i%E;i++)o+="0";w=EQ(o,Q,I);for(i=w.length;!w[i-1];--i);for(E=1,o="1.";E<i;E++)o+=oE.charAt(w[E])}else o=o.charAt(0)+"."+o.slice(1);o=o+(C<0?"p":"p+")+C}else if(C<0){for(;++C;)o="0"+o;o="0."+o}else if(++C>i)for(C-=i;C--;)o+="0";else if(C<i)o=o.slice(0,C)+"."+o.slice(C)}o=(I==16?"0x":I==2?"0b":I==8?"0o":"")+o}return A.s<0?"-"+o:o}function SN(A,I){if(A.length>I)return A.length=I,!0}function ja(A){return new this(A).abs()}function da(A){return new this(A).acos()}function ba(A){return new this(A).acosh()}function za(A,I){return new this(A).plus(I)}function Xa(A){return new this(A).asin()}function Pa(A){return new this(A).asinh()}function fa(A){return new this(A).atan()}function la(A){return new this(A).atanh()}function ma(A,I){A=new this(A),I=new this(I);var g,B=this.precision,Q=this.rounding,C=B+4;if(!A.s||!I.s)g=new this(NaN);else if(!A.d&&!I.d)g=uA(this,C,1).times(I.s>0?0.25:0.75),g.s=A.s;else if(!I.d||A.isZero())g=I.s<0?uA(this,B,Q):new this(0),g.s=A.s;else if(!A.d||I.isZero())g=uA(this,C,1).times(0.5),g.s=A.s;else if(I.s<0)this.precision=C,this.rounding=1,g=this.atan(r(A,I,C,1)),I=uA(this,C,1),this.precision=B,this.rounding=Q,g=A.s<0?g.minus(I):g.plus(I);else g=this.atan(r(A,I,C,1));return g}function ta(A){return new this(A).cbrt()}function ua(A){return q(A=new this(A),A.e+1,2)}function ra(A,I,g){return new this(A).clamp(I,g)}function va(A){if(!A||typeof A!=="object")throw Error(FQ+"Object expected");var I,g,B,Q=A.defaults===!0,C=["precision",1,wI,"rounding",0,8,"toExpNeg",-nI,0,"toExpPos",0,nI,"maxE",0,nI,"minE",-nI,0,"modulo",0,9];for(I=0;I<C.length;I+=3){if(g=C[I],Q)this[g]=wE[g];if((B=A[g])!==void 0)if(RA(B)===B&&B>=C[I+1]&&B<=C[I+2])this[g]=B;else throw Error(oI+g+": "+B)}if(g="crypto",Q)this[g]=wE[g];if((B=A[g])!==void 0)if(B===!0||B===!1||B===0||B===1)if(B)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[g]=!0;else throw Error(WN);else this[g]=!1;else throw Error(oI+g+": "+B);return this}function na(A){return new this(A).cos()}function $a(A){return new this(A).cosh()}function XN(A){var I,g,B;function Q(C){var E,D,i,G=this;if(!(G instanceof Q))return new Q(C);if(G.constructor=Q,MN(C)){if(G.s=C.s,j)if(!C.d||C.e>Q.maxE)G.e=NaN,G.d=null;else if(C.e<Q.minE)G.e=0,G.d=[0];else G.e=C.e,G.d=C.d.slice();else G.e=C.e,G.d=C.d?C.d.slice():C.d;return}if(i=typeof C,i==="number"){if(C===0){G.s=1/C<0?-1:1,G.e=0,G.d=[0];return}if(C<0)C=-C,G.s=-1;else G.s=1;if(C===~~C&&C<1e7){for(E=0,D=C;D>=10;D/=10)E++;if(j)if(E>Q.maxE)G.e=NaN,G.d=null;else if(E<Q.minE)G.e=0,G.d=[0];else G.e=E,G.d=[C];else G.e=E,G.d=[C];return}if(C*0!==0){if(!C)G.s=NaN;G.e=NaN,G.d=null;return}return DQ(G,C.toString())}if(i==="string"){if((D=C.charCodeAt(0))===45)C=C.slice(1),G.s=-1;else{if(D===43)C=C.slice(1);G.s=1}return ON.test(C)?DQ(G,C):Oa(G,C)}if(i==="bigint"){if(C<0)C=-C,G.s=-1;else G.s=1;return DQ(G,C.toString())}throw Error(oI+C)}if(Q.prototype=y,Q.ROUND_UP=0,Q.ROUND_DOWN=1,Q.ROUND_CEIL=2,Q.ROUND_FLOOR=3,Q.ROUND_HALF_UP=4,Q.ROUND_HALF_DOWN=5,Q.ROUND_HALF_EVEN=6,Q.ROUND_HALF_CEIL=7,Q.ROUND_HALF_FLOOR=8,Q.EUCLID=9,Q.config=Q.set=va,Q.clone=XN,Q.isDecimal=MN,Q.abs=ja,Q.acos=da,Q.acosh=ba,Q.add=za,Q.asin=Xa,Q.asinh=Pa,Q.atan=fa,Q.atanh=la,Q.atan2=ma,Q.cbrt=ta,Q.ceil=ua,Q.clamp=ra,Q.cos=na,Q.cosh=$a,Q.div=_a,Q.exp=ea,Q.floor=AH,Q.hypot=IH,Q.ln=gH,Q.log=BH,Q.log10=CH,Q.log2=QH,Q.max=EH,Q.min=DH,Q.mod=iH,Q.mul=GH,Q.pow=oH,Q.random=wH,Q.round=NH,Q.sign=kH,Q.sin=KH,Q.sinh=FH,Q.sqrt=RH,Q.sub=SH,Q.sum=MH,Q.tan=yH,Q.tanh=hH,Q.trunc=UH,A===void 0)A={};if(A){if(A.defaults!==!0){B=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"];for(I=0;I<B.length;)if(!A.hasOwnProperty(g=B[I++]))A[g]=this[g]}}return Q.config(A),Q}function _a(A,I){return new this(A).div(I)}function ea(A){return new this(A).exp()}function AH(A){return q(A=new this(A),A.e+1,3)}function IH(){var A,I,g=new this(0);j=!1;for(A=0;A<arguments.length;)if(I=new this(arguments[A++]),!I.d){if(I.s)return j=!0,new this(1/0);g=I}else if(g.d)g=g.plus(I.times(I));return j=!0,g.sqrt()}function MN(A){return A instanceof Tg||A&&A.toStringTag===TN||!1}function gH(A){return new this(A).ln()}function BH(A,I){return new this(A).log(I)}function QH(A){return new this(A).log(2)}function CH(A){return new this(A).log(10)}function EH(){return dN(this,arguments,-1)}function DH(){return dN(this,arguments,1)}function iH(A,I){return new this(A).mod(I)}function GH(A,I){return new this(A).mul(I)}function oH(A,I){return new this(A).pow(I)}function wH(A){var I,g,B,Q,C=0,E=new this(1),D=[];if(A===void 0)A=this.precision;else JA(A,1,wI);if(B=Math.ceil(A/W),!this.crypto)for(;C<B;)D[C++]=Math.random()*1e7|0;else if(crypto.getRandomValues){I=crypto.getRandomValues(new Uint32Array(B));for(;C<B;)if(Q=I[C],Q>=4290000000)I[C]=crypto.getRandomValues(new Uint32Array(1))[0];else D[C++]=Q%1e7}else if(crypto.randomBytes){I=crypto.randomBytes(B*=4);for(;C<B;)if(Q=I[C]+(I[C+1]<<8)+(I[C+2]<<16)+((I[C+3]&127)<<24),Q>=2140000000)crypto.randomBytes(4).copy(I,C);else D.push(Q%1e7),C+=4;C=B/4}else throw Error(WN);if(B=D[--C],A%=W,B&&A)Q=GA(10,W-A),D[C]=(B/Q|0)*Q;for(;D[C]===0;C--)D.pop();if(C<0)g=0,D=[0];else{g=-1;for(;D[0]===0;g-=W)D.shift();for(B=1,Q=D[0];Q>=10;Q/=10)B++;if(B<W)g-=W-B}return E.e=g,E.d=D,E}function NH(A){return q(A=new this(A),A.e+1,this.rounding)}function kH(A){return A=new this(A),A.d?A.d[0]?A.s:0*A.s:A.s||NaN}function KH(A){return new this(A).sin()}function FH(A){return new this(A).sinh()}function RH(A){return new this(A).sqrt()}function SH(A,I){return new this(A).sub(I)}function MH(){var A=0,I=arguments,g=new this(I[A]);j=!1;for(;g.s&&++A<I.length;)g=g.plus(I[A]);return j=!0,q(g,this.precision,this.rounding)}function yH(A){return new this(A).tan()}function hH(A){return new this(A).tanh()}function UH(A){return q(A=new this(A),A.e+1,1)}y[Symbol.for("nodejs.util.inspect.custom")]=y.toString;y[Symbol.toStringTag]="Decimal";var Tg=y.constructor=XN(wE);iQ=new Tg(iQ);GQ=new Tg(GQ);var MQ=class A{constructor(I,g){if(I.length-1!==g.length){if(I.length===0)throw TypeError("Expected at least 1 string");throw TypeError(`Expected ${I.length} strings to have ${I.length-1} values`)}let B=g.reduce((E,D)=>E+(D instanceof A?D.values.length:1),0);this.values=Array(B),this.strings=Array(B+1),this.strings[0]=I[0];let Q=0,C=0;while(Q<g.length){let E=g[Q++],D=I[Q];if(E instanceof A){this.strings[C]+=E.strings[0];let i=0;while(i<E.values.length)this.values[C++]=E.values[i++],this.strings[C]=E.strings[i];this.strings[C]+=D}else this.values[C++]=E,this.strings[C]=D}}get sql(){let I=this.strings.length,g=1,B=this.strings[0];while(g<I)B+=`?${this.strings[g++]}`;return B}get statement(){let I=this.strings.length,g=1,B=this.strings[0];while(g<I)B+=`:${g}${this.strings[g++]}`;return B}get text(){let I=this.strings.length,g=1,B=this.strings[0];while(g<I)B+=`$${g}${this.strings[g++]}`;return B}inspect(){return{sql:this.sql,statement:this.statement,text:this.text,values:this.values}}};function YH(A,I=",",g="",B=""){if(A.length===0)throw TypeError("Expected `join([])` to be called with an array of multiple elements, but got an empty array");return new MQ([g,...Array(A.length-1).fill(I),B],A)}function PN(A){return new MQ([A],[])}var JH=PN("");function aH(A,...I){return new MQ(A,I)}/*! Bundled license information:
6
6
 
7
7
  decimal.js/decimal.mjs:
@@ -22,7 +22,7 @@ decimal.js/decimal.mjs:
22
22
  `)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let A=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+A.slice(1):A}};VH();var EL=class{constructor(A){this.value=A}write(A){A.write(this.value)}markAsError(){this.value.markAsError()}},UQ=(A)=>A,FK={bold:UQ,red:UQ,green:UQ,dim:UQ,enabled:!1},DL={bold:ZI,red:VQ,green:mE,dim:fE,enabled:!0},nE={write(A){A.writeLine(",")}},bQ=class{constructor(A){this.contents=A}isUnderlined=!1;color=(A)=>A;underline(){return this.isUnderlined=!0,this}setColor(A){return this.color=A,this}write(A){let I=A.getCurrentLineLength();A.write(this.color(this.contents)),this.isUnderlined&&A.afterNextNewline(()=>{A.write(" ".repeat(I)).writeLine(this.color("~".repeat(this.contents.length)))})}},$E=class{hasError=!1;markAsError(){return this.hasError=!0,this}},RK=class extends $E{items=[];addItem(A){return this.items.push(new EL(A)),this}getField(A){return this.items[A]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map((A)=>A.value.getPrintWidth()))+2}write(A){if(this.items.length===0){this.writeEmpty(A);return}this.writeWithItems(A)}writeEmpty(A){let I=new bQ("[]");this.hasError&&I.setColor(A.context.colors.red).underline(),A.write(I)}writeWithItems(A){let{colors:I}=A.context;A.writeLine("[").withIndent(()=>A.writeJoined(nE,this.items).newLine()).write("]"),this.hasError&&A.afterNextNewline(()=>{A.writeLine(I.red("~".repeat(this.getPrintWidth())))})}asObject(){}},SK=class A extends $E{fields={};suggestions=[];addField(I){this.fields[I.name]=I}addSuggestion(I){this.suggestions.push(I)}getField(I){return this.fields[I]}getDeepField(I){let[g,...B]=I,Q=this.getField(g);if(!Q)return;let C=Q;for(let E of B){let D;if(C.value instanceof A?D=C.value.getField(E):C.value instanceof RK&&(D=C.value.getField(Number(E))),!D)return;C=D}return C}getDeepFieldValue(I){return I.length===0?this:this.getDeepField(I)?.value}hasField(I){return!!this.getField(I)}removeAllFields(){this.fields={}}removeField(I){delete this.fields[I]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(I){return this.getField(I)?.value}getDeepSubSelectionValue(I){let g=this;for(let B of I){if(!(g instanceof A))return;let Q=g.getSubSelectionValue(B);if(!Q)return;g=Q}return g}getDeepSelectionParent(I){let g=this.getSelectionParent();if(!g)return;let B=g;for(let Q of I){let C=B.value.getFieldValue(Q);if(!C||!(C instanceof A))return;let E=C.getSelectionParent();if(!E)return;B=E}return B}getSelectionParent(){let I=this.getField("select")?.value.asObject();if(I)return{kind:"select",value:I};let g=this.getField("include")?.value.asObject();if(g)return{kind:"include",value:g}}getSubSelectionValue(I){return this.getSelectionParent()?.value.fields[I].value}getPrintWidth(){let I=Object.values(this.fields);return I.length==0?2:Math.max(...I.map((g)=>g.getPrintWidth()))+2}write(I){let g=Object.values(this.fields);if(g.length===0&&this.suggestions.length===0){this.writeEmpty(I);return}this.writeWithContents(I,g)}asObject(){return this}writeEmpty(I){let g=new bQ("{}");this.hasError&&g.setColor(I.context.colors.red).underline(),I.write(g)}writeWithContents(I,g){I.writeLine("{").withIndent(()=>{I.writeJoined(nE,[...g,...this.suggestions]).newLine()}),I.write("}"),this.hasError&&I.afterNextNewline(()=>{I.writeLine(I.context.colors.red("~".repeat(this.getPrintWidth())))})}},aA=class extends $E{constructor(A){super();this.text=A}getPrintWidth(){return this.text.length}write(A){let I=new bQ(this.text);this.hasError&&I.underline().setColor(A.context.colors.red),A.write(I)}asObject(){}},MK=class{fields=[];addField(A,I){return this.fields.push({write(g){let{green:B,dim:Q}=g.context.colors;g.write(B(Q(`${A}: ${I}`))).addMarginSymbol(B(Q("+")))}}),this}write(A){let{colors:{green:I}}=A.context;A.writeLine(I("{")).withIndent(()=>{A.writeJoined(nE,this.fields).newLine()}).write(I("}")).addMarginSymbol(I("+"))}};function yK(A,I,g){switch(A.kind){case"MutuallyExclusiveFields":iL(A,I);break;case"IncludeOnScalar":GL(A,I);break;case"EmptySelection":oL(A,I,g);break;case"UnknownSelectionField":KL(A,I);break;case"InvalidSelectionValue":FL(A,I);break;case"UnknownArgument":RL(A,I);break;case"UnknownInputField":SL(A,I);break;case"RequiredArgumentMissing":ML(A,I);break;case"InvalidArgumentType":yL(A,I);break;case"InvalidArgumentValue":hL(A,I);break;case"ValueTooLarge":UL(A,I);break;case"SomeFieldsMissing":YL(A,I);break;case"TooManyFieldsGiven":JL(A,I);break;case"Union":gL(A,I,g);break;default:throw Error("not implemented: "+A.kind)}}function iL(A,I){let g=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject();g&&(g.getField(A.firstField)?.markAsError(),g.getField(A.secondField)?.markAsError()),I.addErrorMessage((B)=>`Please ${B.bold("either")} use ${B.green(`\`${A.firstField}\``)} or ${B.green(`\`${A.secondField}\``)}, but ${B.red("not both")} at the same time.`)}function GL(A,I){let[g,B]=Bg(A.selectionPath),Q=A.outputType,C=I.arguments.getDeepSelectionParent(g)?.value;if(C&&(C.getField(B)?.markAsError(),Q))for(let E of Q.fields)E.isRelation&&C.addSuggestion(new eA(E.name,"true"));I.addErrorMessage((E)=>{let D=`Invalid scalar field ${E.red(`\`${B}\``)} for ${E.bold("include")} statement`;return Q?D+=` on model ${E.bold(Q.name)}. ${$g(E)}`:D+=".",D+=`
23
23
  Note that ${E.bold("include")} statements only accept relation fields.`,D})}function oL(A,I,g){let B=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject();if(B){let Q=B.getField("omit")?.value.asObject();if(Q){wL(A,I,Q);return}if(B.hasField("select")){NL(A,I);return}}if(g?.[OQ(A.outputType.name)]){kL(A,I);return}I.addErrorMessage(()=>`Unknown field at "${A.selectionPath.join(".")} selection"`)}function wL(A,I,g){g.removeAllFields();for(let B of A.outputType.fields)g.addSuggestion(new eA(B.name,"false"));I.addErrorMessage((B)=>`The ${B.red("omit")} statement includes every field of the model ${B.bold(A.outputType.name)}. At least one field must be included in the result`)}function NL(A,I){let g=A.outputType,B=I.arguments.getDeepSelectionParent(A.selectionPath)?.value,Q=B?.isEmpty()??!1;B&&(B.removeAllFields(),YK(B,g)),I.addErrorMessage((C)=>Q?`The ${C.red("`select`")} statement for type ${C.bold(g.name)} must not be empty. ${$g(C)}`:`The ${C.red("`select`")} statement for type ${C.bold(g.name)} needs ${C.bold("at least one truthy value")}.`)}function kL(A,I){let g=new MK;for(let Q of A.outputType.fields)Q.isRelation||g.addField(Q.name,"false");let B=new eA("omit",g).makeRequired();if(A.selectionPath.length===0)I.arguments.addSuggestion(B);else{let[Q,C]=Bg(A.selectionPath),E=I.arguments.getDeepSelectionParent(Q)?.value.asObject()?.getField(C);if(E){let D=E?.value.asObject()??new SK;D.addSuggestion(B),E.value=D}}I.addErrorMessage((Q)=>`The global ${Q.red("omit")} configuration excludes every field of the model ${Q.bold(A.outputType.name)}. At least one field must be included in the result`)}function KL(A,I){let g=JK(A.selectionPath,I);if(g.parentKind!=="unknown"){g.field.markAsError();let B=g.parent;switch(g.parentKind){case"select":YK(B,A.outputType);break;case"include":aL(B,A.outputType);break;case"omit":HL(B,A.outputType);break}}I.addErrorMessage((B)=>{let Q=[`Unknown field ${B.red(`\`${g.fieldName}\``)}`];return g.parentKind!=="unknown"&&Q.push(`for ${B.bold(g.parentKind)} statement`),Q.push(`on model ${B.bold(`\`${A.outputType.name}\``)}.`),Q.push($g(B)),Q.join(" ")})}function FL(A,I){let g=JK(A.selectionPath,I);g.parentKind!=="unknown"&&g.field.value.markAsError(),I.addErrorMessage((B)=>`Invalid value for selection field \`${B.red(g.fieldName)}\`: ${A.underlyingError}`)}function RL(A,I){let g=A.argumentPath[0],B=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject();B&&(B.getField(g)?.markAsError(),cL(B,A.arguments)),I.addErrorMessage((Q)=>hK(Q,g,A.arguments.map((C)=>C.name)))}function SL(A,I){let[g,B]=Bg(A.argumentPath),Q=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject();if(Q){Q.getDeepField(A.argumentPath)?.markAsError();let C=Q.getDeepFieldValue(g)?.asObject();C&&aK(C,A.inputType)}I.addErrorMessage((C)=>hK(C,B,A.inputType.fields.map((E)=>E.name)))}function hK(A,I,g){let B=[`Unknown argument \`${A.red(I)}\`.`],Q=sL(I,g);return Q&&B.push(`Did you mean \`${A.green(Q)}\`?`),g.length>0&&B.push($g(A)),B.join(" ")}function ML(A,I){let g;I.addErrorMessage((i)=>g?.value instanceof aA&&g.value.text==="null"?`Argument \`${i.green(C)}\` must not be ${i.red("null")}.`:`Argument \`${i.green(C)}\` is missing.`);let B=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject();if(!B)return;let[Q,C]=Bg(A.argumentPath),E=new MK,D=B.getDeepFieldValue(Q)?.asObject();if(D){if(g=D.getField(C),g&&D.removeField(C),A.inputTypes.length===1&&A.inputTypes[0].kind==="object"){for(let i of A.inputTypes[0].fields)E.addField(i.name,i.typeNames.join(" | "));D.addSuggestion(new eA(C,E).makeRequired())}else{let i=A.inputTypes.map(UK).join(" | ");D.addSuggestion(new eA(C,i).makeRequired())}if(A.dependentArgumentPath){B.getDeepField(A.dependentArgumentPath)?.markAsError();let[,i]=Bg(A.dependentArgumentPath);I.addErrorMessage((G)=>`Argument \`${G.green(C)}\` is required because argument \`${G.green(i)}\` was provided.`)}}}function UK(A){return A.kind==="list"?`${UK(A.elementType)}[]`:A.name}function yL(A,I){let g=A.argument.name,B=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject();B&&B.getDeepFieldValue(A.argumentPath)?.markAsError(),I.addErrorMessage((Q)=>{let C=zQ("or",A.argument.typeNames.map((E)=>Q.green(E)));return`Argument \`${Q.bold(g)}\`: Invalid value provided. Expected ${C}, provided ${Q.red(A.inferredType)}.`})}function hL(A,I){let g=A.argument.name,B=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject();B&&B.getDeepFieldValue(A.argumentPath)?.markAsError(),I.addErrorMessage((Q)=>{let C=[`Invalid value for argument \`${Q.bold(g)}\``];if(A.underlyingError&&C.push(`: ${A.underlyingError}`),C.push("."),A.argument.typeNames.length>0){let E=zQ("or",A.argument.typeNames.map((D)=>Q.green(D)));C.push(` Expected ${E}.`)}return C.join("")})}function UL(A,I){let g=A.argument.name,B=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject(),Q;if(B){let C=B.getDeepField(A.argumentPath)?.value;C?.markAsError(),C instanceof aA&&(Q=C.text)}I.addErrorMessage((C)=>{let E=["Unable to fit value"];return Q&&E.push(C.red(Q)),E.push(`into a 64-bit signed integer for field \`${C.bold(g)}\``),E.join(" ")})}function YL(A,I){let g=A.argumentPath[A.argumentPath.length-1],B=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject();if(B){let Q=B.getDeepFieldValue(A.argumentPath)?.asObject();Q&&aK(Q,A.inputType)}I.addErrorMessage((Q)=>{let C=[`Argument \`${Q.bold(g)}\` of type ${Q.bold(A.inputType.name)} needs`];return A.constraints.minFieldCount===1?A.constraints.requiredFields?C.push(`${Q.green("at least one of")} ${zQ("or",A.constraints.requiredFields.map((E)=>`\`${Q.bold(E)}\``))} arguments.`):C.push(`${Q.green("at least one")} argument.`):C.push(`${Q.green(`at least ${A.constraints.minFieldCount}`)} arguments.`),C.push($g(Q)),C.join(" ")})}function JL(A,I){let g=A.argumentPath[A.argumentPath.length-1],B=I.arguments.getDeepSubSelectionValue(A.selectionPath)?.asObject(),Q=[];if(B){let C=B.getDeepFieldValue(A.argumentPath)?.asObject();C&&(C.markAsError(),Q=Object.keys(C.getFields()))}I.addErrorMessage((C)=>{let E=[`Argument \`${C.bold(g)}\` of type ${C.bold(A.inputType.name)} needs`];return A.constraints.minFieldCount===1&&A.constraints.maxFieldCount==1?E.push(`${C.green("exactly one")} argument,`):A.constraints.maxFieldCount==1?E.push(`${C.green("at most one")} argument,`):E.push(`${C.green(`at most ${A.constraints.maxFieldCount}`)} arguments,`),E.push(`but you provided ${zQ("and",Q.map((D)=>C.red(D)))}. Please choose`),A.constraints.maxFieldCount===1?E.push("one."):E.push(`${A.constraints.maxFieldCount}.`),E.join(" ")})}function YK(A,I){for(let g of I.fields)A.hasField(g.name)||A.addSuggestion(new eA(g.name,"true"))}function aL(A,I){for(let g of I.fields)g.isRelation&&!A.hasField(g.name)&&A.addSuggestion(new eA(g.name,"true"))}function HL(A,I){for(let g of I.fields)!A.hasField(g.name)&&!g.isRelation&&A.addSuggestion(new eA(g.name,"true"))}function cL(A,I){for(let g of I)A.hasField(g.name)||A.addSuggestion(new eA(g.name,g.typeNames.join(" | ")))}function JK(A,I){let[g,B]=Bg(A),Q=I.arguments.getDeepSubSelectionValue(g)?.asObject();if(!Q)return{parentKind:"unknown",fieldName:B};let C=Q.getFieldValue("select")?.asObject(),E=Q.getFieldValue("include")?.asObject(),D=Q.getFieldValue("omit")?.asObject(),i=C?.getField(B);return C&&i?{parentKind:"select",parent:C,field:i,fieldName:B}:(i=E?.getField(B),E&&i?{parentKind:"include",field:i,parent:E,fieldName:B}:(i=D?.getField(B),D&&i?{parentKind:"omit",field:i,parent:D,fieldName:B}:{parentKind:"unknown",fieldName:B}))}function aK(A,I){if(I.kind==="object")for(let g of I.fields)A.hasField(g.name)||A.addSuggestion(new eA(g.name,g.typeNames.join(" | ")))}function Bg(A){let I=[...A],g=I.pop();if(!g)throw Error("unexpected empty path");return[I,g]}function $g({green:A,enabled:I}){return"Available options are "+(I?`listed in ${A("green")}`:"marked with ?")+"."}function zQ(A,I){if(I.length===1)return I[0];let g=[...I],B=g.pop();return`${g.join(", ")} ${A} ${B}`}var LL=3;function sL(A,I){let g=1/0,B;for(let Q of I){let C=(0,IL.default)(A,Q);C>LL||C<g&&(g=C,B=Q)}return B}var qL=CA(),HK=class{modelName;name;typeName;isList;isEnum;constructor(A,I,g,B,Q){this.modelName=A,this.name=I,this.typeName=g,this.isList=B,this.isEnum=Q}_toGraphQLInputType(){let A=this.isList?"List":"",I=this.isEnum?"Enum":"";return`${A}${I}${this.typeName}FieldRefInput<${this.modelName}>`}};function _E(A){return A instanceof HK}var vN=": ",xL=class{constructor(A,I){this.name=A,this.value=I}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+vN.length}write(A){let I=new bQ(this.name);this.hasError&&I.underline().setColor(A.context.colors.red),A.write(I).write(vN).write(this.value)}},pL=class{arguments;errorMessages=[];constructor(A){this.arguments=A}write(A){A.write(this.arguments)}addErrorMessage(A){this.errorMessages.push(A)}renderAllMessages(A){return this.errorMessages.map((I)=>I(A)).join(`
24
24
  `)}};function eE(A){return new pL(cK(A))}function cK(A){let I=new SK;for(let[g,B]of Object.entries(A)){let Q=new xL(g,LK(B));I.addField(Q)}return I}function LK(A){if(typeof A=="string")return new aA(JSON.stringify(A));if(typeof A=="number"||typeof A=="boolean")return new aA(String(A));if(typeof A=="bigint")return new aA(`${A}n`);if(A===null)return new aA("null");if(A===void 0)return new aA("undefined");if(vE(A))return new aA(`new Prisma.Decimal("${A.toFixed()}")`);if(A instanceof Uint8Array)return Buffer.isBuffer(A)?new aA(`Buffer.alloc(${A.byteLength})`):new aA(`new Uint8Array(${A.byteLength})`);if(A instanceof Date){let I=oK(A)?A.toISOString():"Invalid Date";return new aA(`new Date("${I}")`)}return(0,qL.isObjectEnumValue)(A)?new aA(`Prisma.${A._getName()}`):_E(A)?new aA(`prisma.${OQ(A.modelName)}.$fields.${A.name}`):Array.isArray(A)?ZL(A):typeof A=="object"?cK(A):new aA(Object.prototype.toString.call(A))}function ZL(A){let I=new RK;for(let g of A)I.addItem(LK(g));return I}function sK(A,I){let g=I==="pretty"?DL:FK,B=A.renderAllMessages(g),Q=new KK(0,{colors:g}).write(A).toString();return{message:B,args:Q}}function qK({args:A,errors:I,errorFormat:g,callsite:B,originalMethod:Q,clientVersion:C,globalOmit:E}){let D=eE(A);for(let w of I)yK(w,D,E);let{message:i,args:G}=sK(D,g),o=NK({message:i,callsite:B,originalMethod:Q,showColors:g==="pretty",callArguments:G});throw new Oc.PrismaClientValidationError(o,{clientVersion:C})}function _g(A){return A.replace(/^./,(I)=>I.toLowerCase())}function WL(A,I,g){let B=_g(g);return!I.result||!(I.result.$allModels||I.result[B])?A:TL({...A,...nN(I.name,A,I.result.$allModels),...nN(I.name,A,I.result[B])})}function TL(A){let I=new zg,g=(B,Q)=>I.getOrCreate(B,()=>Q.has(B)?[B]:(Q.add(B),A[B]?A[B].needs.flatMap((C)=>g(C,Q)):[B]));return iK(A,(B)=>({...B,needs:g(B.name,new Set)}))}function nN(A,I,g){return g?iK(g,({needs:B,compute:Q},C)=>({name:C,needs:B?Object.keys(B).filter((E)=>B[E]):[],compute:OL(I,C,Q)})):{}}function OL(A,I,g){let B=A?.[I]?.compute;return B?(Q)=>g({...Q,[I]:B(Q)}):g}function VL(A,I){if(!I)return A;let g={...A};for(let B of Object.values(I))if(A[B.name])for(let Q of B.needs)g[Q]=!0;return g}function jL(A,I){if(!I)return A;let g={...A};for(let B of Object.values(I))if(!A[B.name])for(let Q of B.needs)delete g[Q];return g}var $N=class{constructor(A,I){this.extension=A,this.previous=I}computedFieldsCache=new zg;modelExtensionsCache=new zg;queryCallbacksCache=new zg;clientExtensions=LE(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=LE(()=>{let A=this.previous?.getAllBatchQueryCallbacks()??[],I=this.extension.query?.$__internalBatch;return I?A.concat(I):A});getAllComputedFields(A){return this.computedFieldsCache.getOrCreate(A,()=>WL(this.previous?.getAllComputedFields(A),this.extension,A))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(A){return this.modelExtensionsCache.getOrCreate(A,()=>{let I=_g(A);return!this.extension.model||!(this.extension.model[I]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(A):{...this.previous?.getAllModelExtensions(A),...this.extension.model.$allModels,...this.extension.model[I]}})}getAllQueryCallbacks(A,I){return this.queryCallbacksCache.getOrCreate(`${A}:${I}`,()=>{let g=this.previous?.getAllQueryCallbacks(A,I)??[],B=[],Q=this.extension.query;return!Q||!(Q[A]||Q.$allModels||Q[I]||Q.$allOperations)?g:(Q[A]!==void 0&&(Q[A][I]!==void 0&&B.push(Q[A][I]),Q[A].$allOperations!==void 0&&B.push(Q[A].$allOperations)),A!=="$none"&&Q.$allModels!==void 0&&(Q.$allModels[I]!==void 0&&B.push(Q.$allModels[I]),Q.$allModels.$allOperations!==void 0&&B.push(Q.$allModels.$allOperations)),Q[I]!==void 0&&B.push(Q[I]),Q.$allOperations!==void 0&&B.push(Q.$allOperations),g.concat(B))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},xK=class A{constructor(I){this.head=I}static empty(){return new A}static single(I){return new A(new $N(I))}isEmpty(){return this.head===void 0}append(I){return new A(new $N(I,this.head))}getAllComputedFields(I){return this.head?.getAllComputedFields(I)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(I){return this.head?.getAllModelExtensions(I)}getAllQueryCallbacks(I,g){return this.head?.getAllQueryCallbacks(I,g)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}},pK=class{constructor(A){this.name=A}};function dL(A){return A instanceof pK}function bL(A){return new pK(A)}var ZK=Symbol(),WK=class{constructor(A){if(A!==ZK)throw Error("Skip instance can not be constructed directly")}ifUndefined(A){return A===void 0?TK:A}},TK=new WK(ZK);function KI(A){return A instanceof WK}var zL={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},OK="explicitly `undefined` values are not allowed";function VK({modelName:A,action:I,args:g,runtimeDataModel:B,extensions:Q=xK.empty(),callsite:C,clientMethod:E,errorFormat:D,clientVersion:i,previewFeatures:G,globalOmit:o,wrapRawValues:w}){let N=new vL({runtimeDataModel:B,modelName:A,action:I,rootArgs:g,callsite:C,extensions:Q,selectionPath:[],argumentPath:[],originalMethod:E,errorFormat:D,clientVersion:i,previewFeatures:G,globalOmit:o,wrapRawValues:w});return{modelName:A,action:zL[I],query:ug(g,N)}}function ug({select:A,include:I,...g}={},B){let Q=g.omit;return delete g.omit,{arguments:dK(g,B),selection:XL(A,I,Q,B)}}function XL(A,I,g,B){return A?(I?B.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:B.getSelectionPath()}):g&&B.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:B.getSelectionPath()}),mL(A,B)):PL(B,I,g)}function PL(A,I,g){let B={};return A.modelOrType&&!A.isRawAction()&&(B.$composites=!0,B.$scalars=!0),I&&fL(B,I,A),lL(B,g,A),B}function fL(A,I,g){for(let[B,Q]of Object.entries(I)){if(KI(Q))continue;let C=g.nestSelection(B);if(AD(Q,C),Q===!1||Q===void 0){A[B]=!1;continue}let E=g.findField(B);if(E&&E.kind!=="object"&&g.throwValidationError({kind:"IncludeOnScalar",selectionPath:g.getSelectionPath().concat(B),outputType:g.getOutputTypeDescription()}),E){A[B]=ug(Q===!0?{}:Q,C);continue}if(Q===!0){A[B]=!0;continue}A[B]=ug(Q,C)}}function lL(A,I,g){let B=g.getComputedFields(),Q={...g.getGlobalOmit(),...I},C=jL(Q,B);for(let[E,D]of Object.entries(C)){if(KI(D))continue;AD(D,g.nestSelection(E));let i=g.findField(E);B?.[E]&&!i||(A[E]=!D)}}function mL(A,I){let g={},B=I.getComputedFields(),Q=VL(A,B);for(let[C,E]of Object.entries(Q)){if(KI(E))continue;let D=I.nestSelection(C);AD(E,D);let i=I.findField(C);if(!(B?.[C]&&!i)){if(E===!1||E===void 0||KI(E)){g[C]=!1;continue}if(E===!0){i?.kind==="object"?g[C]=ug({},D):g[C]=!0;continue}g[C]=ug(E,D)}}return g}function jK(A,I){if(A===null)return null;if(typeof A=="string"||typeof A=="number"||typeof A=="boolean")return A;if(typeof A=="bigint")return{$type:"BigInt",value:String(A)};if(rE(A)){if(oK(A))return{$type:"DateTime",value:A.toISOString()};I.throwValidationError({kind:"InvalidArgumentValue",selectionPath:I.getSelectionPath(),argumentPath:I.getArgumentPath(),argument:{name:I.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(dL(A))return{$type:"Param",value:A.name};if(_E(A))return{$type:"FieldRef",value:{_ref:A.name,_container:A.modelName}};if(Array.isArray(A))return tL(A,I);if(ArrayBuffer.isView(A)){let{buffer:g,byteOffset:B,byteLength:Q}=A;return{$type:"Bytes",value:Buffer.from(g,B,Q).toString("base64")}}if(uL(A))return A.values;if(vE(A))return{$type:"Decimal",value:A.toFixed()};if((0,vH.isObjectEnumValue)(A)){let g=A._getName();if(g!=="DbNull"&&g!=="JsonNull"&&g!=="AnyNull")throw Error(`Invalid ObjectEnumValue: expected DbNull, JsonNull, or AnyNull, got ${g}`);return{$type:"Enum",value:g}}if(rL(A))return A.toJSON();if(typeof A=="object")return dK(A,I);I.throwValidationError({kind:"InvalidArgumentValue",selectionPath:I.getSelectionPath(),argumentPath:I.getArgumentPath(),argument:{name:I.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(A)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function dK(A,I){if(I.shouldWrapRawValues()&&A.$type)return{$type:"Raw",value:A};let g={};for(let B in A){let Q=A[B],C=I.nestArgument(B);KI(Q)||(Q!==void 0?g[B]=jK(Q,C):I.isPreviewFeatureOn("strictUndefinedChecks")&&I.throwValidationError({kind:"InvalidArgumentValue",argumentPath:C.getArgumentPath(),selectionPath:I.getSelectionPath(),argument:{name:I.getArgumentName(),typeNames:[]},underlyingError:OK}))}return g}function tL(A,I){let g=[];for(let B=0;B<A.length;B++){let Q=I.nestArgument(String(B)),C=A[B];if(C===void 0||KI(C)){let E=C===void 0?"undefined":"Prisma.skip";I.throwValidationError({kind:"InvalidArgumentValue",selectionPath:Q.getSelectionPath(),argumentPath:Q.getArgumentPath(),argument:{name:`${I.getArgumentName()}[${B}]`,typeNames:[]},underlyingError:`Can not use \`${E}\` value within array. Use \`null\` or filter out \`${E}\` values`})}g.push(jK(C,Q))}return g}function uL(A){return typeof A=="object"&&A!==null&&A.__prismaRawParameters__===!0}function rL(A){return typeof A=="object"&&A!==null&&typeof A.toJSON=="function"}function AD(A,I){A===void 0&&I.isPreviewFeatureOn("strictUndefinedChecks")&&I.throwValidationError({kind:"InvalidSelectionValue",selectionPath:I.getSelectionPath(),underlyingError:OK})}var vL=class A{constructor(I){this.params=I,this.params.modelName&&(this.modelOrType=this.params.runtimeDataModel.models[this.params.modelName]??this.params.runtimeDataModel.types[this.params.modelName])}modelOrType;throwValidationError(I){qK({errors:[I],originalMethod:this.params.originalMethod,args:this.params.rootArgs??{},callsite:this.params.callsite,errorFormat:this.params.errorFormat,clientVersion:this.params.clientVersion,globalOmit:this.params.globalOmit})}getSelectionPath(){return this.params.selectionPath}getArgumentPath(){return this.params.argumentPath}getArgumentName(){return this.params.argumentPath[this.params.argumentPath.length-1]}getOutputTypeDescription(){if(!(!this.params.modelName||!this.modelOrType))return{name:this.params.modelName,fields:this.modelOrType.fields.map((I)=>({name:I.name,typeName:"boolean",isRelation:I.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(I){return this.params.previewFeatures.includes(I)}shouldWrapRawValues(){return this.params.wrapRawValues??!0}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(I){return this.modelOrType?.fields.find((g)=>g.name===I)}nestSelection(I){let g=this.findField(I),B=g?.kind==="object"?g.type:void 0;return new A({...this.params,modelName:B,selectionPath:this.params.selectionPath.concat(I)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[OQ(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:jQ(this.params.action,"Unknown action")}}nestArgument(I){return new A({...this.params,argumentPath:this.params.argumentPath.concat(I)})}};function nL(A,I){let g=LE(()=>$L(I));Object.defineProperty(A,"dmmf",{get:()=>g.get()})}function $L(A){return{datamodel:{models:yE(A.models),enums:yE(A.enums),types:yE(A.types)}}}function yE(A){return Object.entries(A).map(([I,g])=>({name:I,...g}))}var hE=new WeakMap,qQ="$$PrismaTypedSql",bK=class{constructor(A,I){hE.set(this,{sql:A,values:I}),Object.defineProperty(this,qQ,{value:qQ})}get sql(){return hE.get(this).sql}get values(){return hE.get(this).values}};function _L(A){return(...I)=>new bK(A,I)}function zK(A){return A!=null&&A[qQ]===qQ}var eL=CA(),As=Z("async_hooks"),Is=Z("events");function XK(A){return{getKeys(){return Object.keys(A)},getPropertyValue(I){return A[I]}}}function _A(A,I){return{getKeys(){return[A]},getPropertyValue(){return I()}}}function ID(A){let I=new zg;return{getKeys(){return A.getKeys()},getPropertyValue(g){return I.getOrCreate(g,()=>A.getPropertyValue(g))},getPropertyDescriptor(g){return A.getPropertyDescriptor?.(g)}}}var WE={enumerable:!0,configurable:!0,writable:!0};function PK(A){let I=new Set(A);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>WE,has:(g,B)=>I.has(B),set:(g,B,Q)=>I.add(B)&&Reflect.set(g,B,Q),ownKeys:()=>[...I]}}var _N=Symbol.for("nodejs.util.inspect.custom");function Qg(A,I){let g=gs(I),B=new Set,Q=new Proxy(A,{get(C,E){if(B.has(E))return C[E];let D=g.get(E);return D?D.getPropertyValue(E):C[E]},has(C,E){if(B.has(E))return!0;let D=g.get(E);return D?D.has?.(E)??!0:Reflect.has(C,E)},ownKeys(C){let E=eN(Reflect.ownKeys(C),g),D=eN(Array.from(g.keys()),g);return[...new Set([...E,...D,...B])]},set(C,E,D){return g.get(E)?.getPropertyDescriptor?.(E)?.writable===!1?!1:(B.add(E),Reflect.set(C,E,D))},getOwnPropertyDescriptor(C,E){let D=Reflect.getOwnPropertyDescriptor(C,E);if(D&&!D.configurable)return D;let i=g.get(E);return i?i.getPropertyDescriptor?{...WE,...i?.getPropertyDescriptor(E)}:WE:D},defineProperty(C,E,D){return B.add(E),Reflect.defineProperty(C,E,D)},getPrototypeOf:()=>Object.prototype});return Q[_N]=function(){let C={...this};return delete C[_N],C},Q}function gs(A){let I=new Map;for(let g of A){let B=g.getKeys();for(let Q of B)I.set(Q,g)}return I}function eN(A,I){return A.filter((g)=>I.get(g)?.has?.(g)??!0)}function TE(A){return{getKeys(){return A},has(){return!1},getPropertyValue(){}}}function Bs(A){if(A===void 0)return"";let I=eE(A);return new KK(0,{colors:FK}).write(I).toString()}var eg="<unknown>";function Qs(A){var I=A.split(`
25
- `);return I.reduce(function(g,B){var Q=Ds(B)||Gs(B)||Ns(B)||Rs(B)||Ks(B);return Q&&g.push(Q),g},[])}var Cs=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Es=/\((\S*)(?::(\d+))(?::(\d+))\)/;function Ds(A){var I=Cs.exec(A);if(!I)return null;var g=I[2]&&I[2].indexOf("native")===0,B=I[2]&&I[2].indexOf("eval")===0,Q=Es.exec(I[2]);return B&&Q!=null&&(I[2]=Q[1],I[3]=Q[2],I[4]=Q[3]),{file:g?null:I[2],methodName:I[1]||eg,arguments:g?[I[2]]:[],lineNumber:I[3]?+I[3]:null,column:I[4]?+I[4]:null}}var is=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Gs(A){var I=is.exec(A);return I?{file:I[2],methodName:I[1]||eg,arguments:[],lineNumber:+I[3],column:I[4]?+I[4]:null}:null}var os=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,ws=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function Ns(A){var I=os.exec(A);if(!I)return null;var g=I[3]&&I[3].indexOf(" > eval")>-1,B=ws.exec(I[3]);return g&&B!=null&&(I[3]=B[1],I[4]=B[2],I[5]=null),{file:I[3],methodName:I[1]||eg,arguments:I[2]?I[2].split(","):[],lineNumber:I[4]?+I[4]:null,column:I[5]?+I[5]:null}}var ks=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function Ks(A){var I=ks.exec(A);return I?{file:I[3],methodName:I[1]||eg,arguments:[],lineNumber:+I[4],column:I[5]?+I[5]:null}:null}var Fs=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Rs(A){var I=Fs.exec(A);return I?{file:I[2],methodName:I[1]||eg,arguments:[],lineNumber:+I[3],column:I[4]?+I[4]:null}:null}var Ss=class{getLocation(){return null}},Ms=class{_error;constructor(){this._error=Error()}getLocation(){let A=this._error.stack;if(!A)return null;let I=Qs(A).find((g)=>{if(!g.file)return!1;let B=xc(g.file);return B!=="<anonymous>"&&!B.includes("@prisma")&&!B.includes("/packages/client/src/runtime/")&&!B.endsWith("/runtime/client.js")&&!B.startsWith("internal/")&&!g.methodName.includes("new ")&&!g.methodName.includes("getCallSite")&&!g.methodName.includes("Proxy.")&&g.methodName.split(".").length<4});return!I||!I.file?null:{fileName:I.file,lineNumber:I.lineNumber,columnNumber:I.column}}};function lg(A){return A==="minimal"?typeof $EnabledCallSite=="function"&&A!=="minimal"?new $EnabledCallSite:new Ss:new Ms}var ys={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function xQ(A={}){let I=hs(A);return Object.entries(I).reduce((g,[B,Q])=>(ys[B]!==void 0?g.select[B]={select:Q}:g[B]=Q,g),{select:{}})}function hs(A={}){return typeof A._count=="boolean"?{...A,_count:{_all:A._count}}:A}function OE(A={}){return(I)=>(typeof A._count=="boolean"&&(I._count=I._count._all),I)}function Us(A,I){let g=OE(A);return I({action:"aggregate",unpacker:g,argsMapper:xQ})(A)}function Ys(A={}){let{select:I,...g}=A;return typeof I=="object"?xQ({...g,_count:I}):xQ({...g,_count:{_all:!0}})}function Js(A={}){return typeof A.select=="object"?(I)=>OE(A)(I)._count:(I)=>OE(A)(I)._count._all}function as(A,I){return I({action:"count",unpacker:Js(A),argsMapper:Ys})(A)}function Hs(A={}){let I=xQ(A);if(Array.isArray(I.by))for(let g of I.by)typeof g=="string"&&(I.select[g]=!0);else typeof I.by=="string"&&(I.select[I.by]=!0);return I}function cs(A={}){return(I)=>(typeof A?._count=="boolean"&&I.forEach((g)=>{g._count=g._count._all}),I)}function Ls(A,I){return I({action:"groupBy",unpacker:cs(A),argsMapper:Hs})(A)}function ss(A,I,g){if(I==="aggregate")return(B)=>Us(B,g);if(I==="count")return(B)=>as(B,g);if(I==="groupBy")return(B)=>Ls(B,g)}function qs(A,I){let g=I.fields.filter((Q)=>!Q.relationName),B=uH(g,"name");return new Proxy({},{get(Q,C){if(C in Q||typeof C=="symbol")return Q[C];let E=B[C];if(E)return new HK(A,C,E.type,E.isList,E.kind==="enum")},...PK(Object.keys(B))})}var fK=(A)=>Array.isArray(A)?A:A.split("."),lK=(A,I)=>fK(I).reduce((g,B)=>g&&g[B],A),xs=(A,I,g)=>fK(I).reduceRight((B,Q,C,E)=>Object.assign({},lK(A,E.slice(0,C)),{[Q]:B}),g);function ps(A,I){return A===void 0||I===void 0?[]:[...I,"select",A]}function Zs(A,I,g){return I===void 0?A??{}:xs(I,g,A||!0)}function mK(A,I,g,B,Q,C){let E=A._runtimeDataModel.models[I].fields.reduce((D,i)=>({...D,[i.name]:i}),{});return(D)=>{let i=lg(A._errorFormat),G=ps(B,Q),o=Zs(D,C,G),w=g({dataPath:G,callsite:i})(o),N=Ws(A,I);return new Proxy(w,{get(k,F){if(!N.includes(F))return k[F];let R=[E[F].type,g,F],Y=[G,o];return mK(A,...R,...Y)},...PK([...N,...Object.getOwnPropertyNames(w)])})}}function Ws(A,I){return A._runtimeDataModel.models[I].fields.filter((g)=>g.kind==="object").map((g)=>g.name)}var Ts=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Os=["aggregate","count","groupBy"];function Ak(A,I){let g=A._extensions.getAllModelExtensions(I)??{},B=[Vs(A,I),ds(A,I),XK(g),_A("name",()=>I),_A("$name",()=>I),_A("$parent",()=>A._appliedParent)];return Qg({},B)}function Vs(A,I){let g=_g(I),B=Object.keys(dQ).concat("count");return{getKeys(){return B},getPropertyValue(Q){let C=Q,E=(D)=>(i)=>{let G=lg(A._errorFormat);return A._createPrismaPromise((o)=>{let w={args:i,dataPath:[],action:C,model:I,clientMethod:`${g}.${Q}`,jsModelName:g,transaction:o,callsite:G};return A._request({...w,...D})},{action:C,args:i,model:I})};return Ts.includes(C)?mK(A,I,E):js(Q)?ss(A,Q,E):E({})}}}function js(A){return Os.includes(A)}function ds(A,I){return ID(_A("fields",()=>{let g=A._runtimeDataModel.models[I];return qs(I,g)}))}function bs(A){return A.replace(/^./,(I)=>I.toUpperCase())}var VE=Symbol();function jE(A){let I=[zs(A),Xs(A),_A(VE,()=>A),_A("$parent",()=>A._appliedParent)],g=A._extensions.getAllClientExtensions();return g&&I.push(XK(g)),Qg(A,I)}function zs(A){let I=Object.getPrototypeOf(A._originalClient),g=[...new Set(Object.getOwnPropertyNames(I))];return{getKeys(){return g},getPropertyValue(B){return A[B]}}}function Xs(A){let I=Object.keys(A._runtimeDataModel.models),g=I.map(_g),B=[...new Set(I.concat(g))];return ID({getKeys(){return B},getPropertyValue(Q){let C=bs(Q);if(A._runtimeDataModel.models[C]!==void 0)return Ak(A,C);if(A._runtimeDataModel.models[Q]!==void 0)return Ak(A,Q)},getPropertyDescriptor(Q){if(!g.includes(Q))return{enumerable:!1}}})}function Ps(A){return A[VE]?A[VE]:A}function fs(A){if(typeof A=="function")return A(this);let I=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(A)},_appliedParent:{value:this,configurable:!0},$on:{value:void 0}});return jE(I)}function ls({result:A,modelName:I,select:g,omit:B,extensions:Q}){let C=Q.getAllComputedFields(I);if(!C)return A;let E=[],D=[];for(let i of Object.values(C)){if(B){if(B[i.name])continue;let G=i.needs.filter((o)=>B[o]);G.length>0&&D.push(TE(G))}else if(g){if(!g[i.name])continue;let G=i.needs.filter((o)=>!g[o]);G.length>0&&D.push(TE(G))}ms(A,i.needs)&&E.push(ts(i,Qg(A,E)))}return E.length>0||D.length>0?Qg(A,[...E,...D]):A}function ms(A,I){return I.every((g)=>pc(A,g))}function ts(A,I){return ID(_A(A.name,()=>A.compute(I)))}function gD({visitor:A,result:I,args:g,runtimeDataModel:B,modelName:Q}){if(Array.isArray(I)){for(let E=0;E<I.length;E++)I[E]=gD({result:I[E],args:g,modelName:Q,runtimeDataModel:B,visitor:A});return I}let C=A(I,Q,g)??I;return g.include&&Ik({includeOrSelect:g.include,result:C,parentModelName:Q,runtimeDataModel:B,visitor:A}),g.select&&Ik({includeOrSelect:g.select,result:C,parentModelName:Q,runtimeDataModel:B,visitor:A}),C}function Ik({includeOrSelect:A,result:I,parentModelName:g,runtimeDataModel:B,visitor:Q}){for(let[C,E]of Object.entries(A)){if(!E||I[C]==null||KI(E))continue;let D=B.models[g].fields.find((G)=>G.name===C);if(!D||D.kind!=="object"||!D.relationName)continue;let i=typeof E=="object"?E:{};I[C]=gD({visitor:Q,result:I[C],args:i,modelName:D.type,runtimeDataModel:B})}}function us({result:A,modelName:I,args:g,extensions:B,runtimeDataModel:Q,globalOmit:C}){return B.isEmpty()||A==null||typeof A!="object"||!Q.models[I]?A:gD({result:A,args:g??{},modelName:I,runtimeDataModel:Q,visitor:(E,D,i)=>{let G=_g(D);return ls({result:E,modelName:G,select:i.select,omit:i.select?void 0:{...C?.[G],...i.omit},extensions:B})}})}var pQ=CA(),rs=["$connect","$disconnect","$on","$use","$extends"],vs=rs;function ns(A){if(A instanceof pQ.Sql)return $s(A);if(zK(A))return _s(A);if(Array.isArray(A)){let g=[A[0]];for(let B=1;B<A.length;B++)g[B]=mg(A[B]);return g}let I={};for(let g in A)I[g]=mg(A[g]);return I}function $s(A){return new pQ.Sql(A.strings,A.values)}function _s(A){return new bK(A.sql,A.values)}function mg(A){if(typeof A!="object"||A==null||(0,pQ.isObjectEnumValue)(A)||_E(A)||KI(A))return A;if(vE(A))return new pQ.Decimal(A.toFixed());if(rE(A))return new Date(+A);if(ArrayBuffer.isView(A))return A.slice(0);if(Array.isArray(A)){let I=A.length,g;for(g=Array(I);I--;)g[I]=mg(A[I]);return g}if(typeof A=="object"){let I={};for(let g in A)g==="__proto__"?Object.defineProperty(I,g,{value:mg(A[g]),configurable:!0,enumerable:!0,writable:!0}):I[g]=mg(A[g]);return I}jQ(A,"Unknown value")}function tK(A,I,g,B=0){return A._createPrismaPromise((Q)=>{let C=I.customDataProxyFetch;return"transaction"in I&&Q!==void 0&&(I.transaction?.kind==="batch"&&I.transaction.lock.then(),I.transaction=Q),B===g.length?A._executeRequest(I):g[B]({model:I.model,operation:I.model?I.action:I.clientMethod,args:ns(I.args??{}),__internalParams:I,query:(E,D=I)=>{let i=D.customDataProxyFetch;return D.customDataProxyFetch=rK(C,i),D.args=E,tK(A,D,g,B+1)}})})}function es(A,I){let{jsModelName:g,action:B,clientMethod:Q}=I,C=g?B:Q;if(A._extensions.isEmpty())return A._executeRequest(I);let E=A._extensions.getAllQueryCallbacks(g??"$none",C);return tK(A,I,E)}function Aq(A){return(I)=>{let g={requests:I},B=I[0].extensions.getAllBatchQueryCallbacks();return B.length?uK(g,B,0,A):A(g)}}function uK(A,I,g,B){if(g===I.length)return B(A);let Q=A.customDataProxyFetch,C=A.requests[0].transaction;return I[g]({args:{queries:A.requests.map((E)=>({model:E.modelName,operation:E.action,args:E.args})),transaction:C?{isolationLevel:C.kind==="batch"?C.isolationLevel:void 0}:void 0},__internalParams:A,query(E,D=A){let i=D.customDataProxyFetch;return D.customDataProxyFetch=rK(Q,i),uK(D,I,g+1,B)}})}var gk=(A)=>A;function rK(A=gk,I=gk){return(g)=>A(I(g))}function Iq({dataPath:A,modelName:I,args:g,runtimeDataModel:B}){let Q={modelName:I,args:g??{}},C=gq(A);if(!C||C.length===0)return Q;let E=I,D=g??{};for(let i of C){let G=B.models[E];if(!G)return Q;let o=G.fields.find((w)=>w.name===i);if(!o)throw Error(`Could not resolve relation field "${i}" on model "${E}" from dataPath "${A.join(".")}"`);if(o.kind!=="object"||!o.relationName)return Q;E=o.type,D=Bq(D,i)}return{modelName:E,args:D}}function gq(A){let I=[];for(let g=0;g<A.length;g+=2){let B=A[g],Q=A[g+1];if(B!=="select"&&B!=="include"||Q===void 0)return;I.push(Q)}return I}function Bq(A,I){let g=A.select?.[I];if(Bk(g))return g;let B=A.include?.[I];return Bk(B)?B:{}}function Bk(A){return!!A&&typeof A=="object"&&!Array.isArray(A)}var Qq=CA(),ZQ=CA();function iA(A,I){throw Error(I)}function vK(A,I){return A===I||A!==null&&I!==null&&typeof A=="object"&&typeof I=="object"&&Object.keys(A).length===Object.keys(I).length&&Object.keys(A).every((g)=>vK(A[g],I[g]))}function BD(A,I){let g=Object.keys(A),B=Object.keys(I);return(g.length<B.length?g:B).every((Q)=>{if(typeof A[Q]==typeof I[Q]&&typeof A[Q]!="object")return A[Q]===I[Q];if(ZQ.Decimal.isDecimal(A[Q])||ZQ.Decimal.isDecimal(I[Q])){let C=Qk(A[Q]),E=Qk(I[Q]);return C&&E&&C.equals(E)}else if(A[Q]instanceof Uint8Array||I[Q]instanceof Uint8Array){let C=Ck(A[Q]),E=Ck(I[Q]);return C&&E&&C.equals(E)}else{if(A[Q]instanceof Date||I[Q]instanceof Date)return Ek(A[Q])?.getTime()===Ek(I[Q])?.getTime();if(typeof A[Q]=="bigint"||typeof I[Q]=="bigint")return Dk(A[Q])===Dk(I[Q]);if(typeof A[Q]=="number"||typeof I[Q]=="number")return ik(A[Q])===ik(I[Q])}return vK(A[Q],I[Q])})}function Qk(A){return ZQ.Decimal.isDecimal(A)?A:typeof A=="number"||typeof A=="string"?new ZQ.Decimal(A):void 0}function Ck(A){return Buffer.isBuffer(A)?A:A instanceof Uint8Array?Buffer.from(A.buffer,A.byteOffset,A.byteLength):typeof A=="string"?Buffer.from(A,"base64"):void 0}function Ek(A){return A instanceof Date?A:typeof A=="string"||typeof A=="number"?new Date(A):void 0}function Dk(A){return typeof A=="bigint"?A:typeof A=="number"||typeof A=="string"?BigInt(A):void 0}function ik(A){return typeof A=="number"?A:typeof A=="string"?Number(A):void 0}function Cg(A){return JSON.stringify(A,(I,g)=>typeof g=="bigint"?g.toString():ArrayBuffer.isView(g)?Buffer.from(g.buffer,g.byteOffset,g.byteLength).toString("base64"):g)}function Cq(A){return A!==null&&typeof A=="object"&&typeof A.$type=="string"}function Eq(A,I){let g={};for(let B of Object.keys(A))g[B]=I(A[B],B);return g}function WI(A){return A===null?A:Array.isArray(A)?A.map(WI):typeof A=="object"?Cq(A)?Dq(A):A.constructor!==null&&A.constructor.name!=="Object"?A:Eq(A,WI):A}function Dq({$type:A,value:I}){switch(A){case"BigInt":return BigInt(I);case"Bytes":{let{buffer:g,byteOffset:B,byteLength:Q}=Buffer.from(I,"base64");return new Uint8Array(g,B,Q)}case"DateTime":return new Date(I);case"Decimal":return new Qq.Decimal(I);case"Json":return JSON.parse(I);case"Raw":return I;case"FieldRef":throw Error("FieldRef tagged values cannot be deserialized to JavaScript values");case"Enum":return I;default:iA(I,"Unknown tagged value")}}function nK(A){return A.name==="DriverAdapterError"&&typeof A.cause=="object"}var b={Int32:0,Int64:1,Float:2,Double:3,Numeric:4,Boolean:5,Character:6,Text:7,Date:8,Time:9,DateTime:10,Json:11,Enum:12,Bytes:13,Set:14,Uuid:15,Int32Array:64,Int64Array:65,FloatArray:66,DoubleArray:67,NumericArray:68,BooleanArray:69,CharacterArray:70,TextArray:71,DateArray:72,TimeArray:73,DateTimeArray:74,JsonArray:75,EnumArray:76,BytesArray:77,UuidArray:78,UnknownNumber:128},FI=class extends Error{name="UserFacingError";code;meta;constructor(A,I,g){super(A),this.code=I,this.meta=g??{}}toQueryResponseErrorObject(){return{error:this.message,user_facing_error:{is_panic:!1,message:this.message,meta:this.meta,error_code:this.code}}}};function cQ(A){if(!nK(A))throw A;let I=iq(A),g=$K(A);throw!I||!g?A:new FI(g,I,{driverAdapterError:A})}function Gk(A){throw nK(A)?new FI(`Raw query failed. Code: \`${A.cause.originalCode??"N/A"}\`. Message: \`${A.cause.originalMessage??$K(A)}\``,"P2010",{driverAdapterError:A}):A}function iq(A){switch(A.cause.kind){case"AuthenticationFailed":return"P1000";case"DatabaseNotReachable":return"P1001";case"DatabaseDoesNotExist":return"P1003";case"SocketTimeout":return"P1008";case"DatabaseAlreadyExists":return"P1009";case"DatabaseAccessDenied":return"P1010";case"TlsConnectionError":return"P1011";case"ConnectionClosed":return"P1017";case"TransactionAlreadyClosed":return"P1018";case"LengthMismatch":return"P2000";case"UniqueConstraintViolation":return"P2002";case"ForeignKeyConstraintViolation":return"P2003";case"InvalidInputValue":return"P2007";case"UnsupportedNativeDataType":return"P2010";case"NullConstraintViolation":return"P2011";case"ValueOutOfRange":return"P2020";case"TableDoesNotExist":return"P2021";case"ColumnNotFound":return"P2022";case"InvalidIsolationLevel":case"InconsistentColumnData":return"P2023";case"MissingFullTextSearchIndex":return"P2030";case"TransactionWriteConflict":return"P2034";case"GenericJs":return"P2036";case"TooManyConnections":return"P2037";case"postgres":case"sqlite":case"mysql":case"mssql":return;default:iA(A.cause,`Unknown error: ${Cg(A.cause)}`)}}function $K(A){switch(A.cause.kind){case"AuthenticationFailed":return`Authentication failed against the database server, the provided database credentials for \`${A.cause.user??"(not available)"}\` are not valid`;case"DatabaseNotReachable":{let I=A.cause.host&&A.cause.port?`${A.cause.host}:${A.cause.port}`:A.cause.host;return`Can't reach database server${I?` at ${I}`:""}`}case"DatabaseDoesNotExist":return`Database \`${A.cause.db??"(not available)"}\` does not exist on the database server`;case"SocketTimeout":return"Operation has timed out";case"DatabaseAlreadyExists":return`Database \`${A.cause.db??"(not available)"}\` already exists on the database server`;case"DatabaseAccessDenied":return`User was denied access on the database \`${A.cause.db??"(not available)"}\``;case"TlsConnectionError":return`Error opening a TLS connection: ${A.cause.reason}`;case"ConnectionClosed":return"Server has closed the connection.";case"TransactionAlreadyClosed":return A.cause.cause;case"LengthMismatch":return`The provided value for the column is too long for the column's type. Column: ${A.cause.column??"(not available)"}`;case"UniqueConstraintViolation":return`Unique constraint failed on the ${UE(A.cause.constraint)}`;case"ForeignKeyConstraintViolation":return`Foreign key constraint violated on the ${UE(A.cause.constraint)}`;case"UnsupportedNativeDataType":return`Failed to deserialize column of type '${A.cause.type}'. If you're using $queryRaw and this column is explicitly marked as \`Unsupported\` in your Prisma schema, try casting this column to any supported Prisma type such as \`String\`.`;case"NullConstraintViolation":return`Null constraint violation on the ${UE(A.cause.constraint)}`;case"ValueOutOfRange":return`Value out of range for the type: ${A.cause.cause}`;case"TableDoesNotExist":return`The table \`${A.cause.table??"(not available)"}\` does not exist in the current database.`;case"ColumnNotFound":return`The column \`${A.cause.column??"(not available)"}\` does not exist in the current database.`;case"InvalidIsolationLevel":return`Error in connector: Conversion error: ${A.cause.level}`;case"InconsistentColumnData":return`Inconsistent column data: ${A.cause.cause}`;case"MissingFullTextSearchIndex":return"Cannot find a fulltext index to use for the native search, try adding a @@fulltext([Fields...]) to your schema";case"TransactionWriteConflict":return"Transaction failed due to a write conflict or a deadlock. Please retry your transaction";case"GenericJs":return`Error in external connector (id ${A.cause.id})`;case"TooManyConnections":return`Too many database connections opened: ${A.cause.cause}`;case"InvalidInputValue":return`Invalid input value: ${A.cause.message}`;case"sqlite":case"postgres":case"mysql":case"mssql":return;default:iA(A.cause,`Unknown error: ${Cg(A.cause)}`)}}function UE(A){return A&&"fields"in A?`fields: (${A.fields.map((I)=>`\`${I}\``).join(", ")})`:A&&("index"in A)?`constraint: \`${A.index}\``:A&&("foreignKey"in A)?"foreign key":"(not available)"}function Gq(A){if(typeof A!="object"||A===null)return!1;let I=A;return"$type"in I&&I.$type==="Param"||"prisma__type"in I&&I.prisma__type==="param"}function oq(A){return"prisma__type"in A?A.prisma__value?.name:A.value.name}function wq(A,I){let g={};for(let[B,Q]of Object.entries(A))if(g[B]=Q,Gq(Q)){let C=oq(Q);C&&C in I&&(g[B]=I[C])}return g}function Nq(A,I,g={}){let B=A.map((C)=>I.keys.reduce((E,D)=>(E[D]=WI(C[D]),E),{})),Q=new Set(I.nestedSelection);return I.arguments.map((C)=>{let E=wq(C,g),D=B.findIndex((i)=>BD(i,E));if(D===-1)return I.expectNonEmpty?new FI("An operation failed because it depends on one or more records that were required but not found","P2025"):null;{let i=Object.entries(A[D]).filter(([G])=>Q.has(G));return Object.fromEntries(i)}})}var kq=CA(),IA=class extends FI{name="DataMapperError";constructor(A,I){super(A,"P2023",I)}},ok=new WeakMap;function Kq(A){let I=ok.get(A);return I||(I=Object.entries(A),ok.set(A,I)),I}function Fq(A,I,g){switch(I.type){case"affectedRows":if(typeof A!="number")throw new IA(`Expected an affected rows count, got: ${typeof A} (${A})`);return{count:A};case"object":return QD(A,I.fields,g,I.skipNulls);case"field":return dE(A,"<result>",I.fieldType,g);default:iA(I,`Invalid data mapping type: '${I.type}'`)}}function QD(A,I,g,B){if(A===null)return null;if(Array.isArray(A)){let Q=A;return B&&(Q=Q.filter((C)=>C!==null)),Q.map((C)=>wk(C,I,g))}if(typeof A=="object")return wk(A,I,g);if(typeof A=="string"){let Q;try{Q=JSON.parse(A)}catch(C){throw new IA("Expected an array or object, got a string that is not valid JSON",{cause:C})}return QD(Q,I,g,B)}throw new IA(`Expected an array or an object, got: ${typeof A}`)}function wk(A,I,g){if(typeof A!="object")throw new IA(`Expected an object, but got '${typeof A}'`);let B={};for(let[Q,C]of Kq(I))switch(C.type){case"affectedRows":throw new IA(`Unexpected 'AffectedRows' node in data mapping for field '${Q}'`);case"object":{let{serializedName:E,fields:D,skipNulls:i}=C;if(E!==null&&!Object.hasOwn(A,E))throw new IA(`Missing data field (Object): '${Q}'; node: ${JSON.stringify(C)}; data: ${JSON.stringify(A)}`);let G=E!==null?A[E]:A;B[Q]=QD(G,D,g,i);break}case"field":{let E=C.dbName;if(Object.hasOwn(A,E))B[Q]=Rq(A[E],E,C.fieldType,g);else throw new IA(`Missing data field (Value): '${E}'; node: ${JSON.stringify(C)}; data: ${JSON.stringify(A)}`)}break;default:iA(C,`DataMapper: Invalid data mapping node type: '${C.type}'`)}return B}function Rq(A,I,g,B){return A===null?g.arity==="list"?[]:null:g.arity==="list"?A.map((Q,C)=>dE(Q,`${I}[${C}]`,g,B)):dE(A,I,g,B)}function dE(A,I,g,B){switch(g.type){case"unsupported":return A;case"string":{if(typeof A!="string")throw new IA(`Expected a string in column '${I}', got ${typeof A}: ${A}`);return A}case"int":switch(typeof A){case"number":return Math.trunc(A);case"string":{let Q=Math.trunc(Number(A));if(Number.isNaN(Q)||!Number.isFinite(Q))throw new IA(`Expected an integer in column '${I}', got string: ${A}`);if(!Number.isSafeInteger(Q))throw new IA(`Integer value in column '${I}' is too large to represent as a JavaScript number without loss of precision, got: ${A}. Consider using BigInt type.`);return Q}default:throw new IA(`Expected an integer in column '${I}', got ${typeof A}: ${A}`)}case"bigint":{if(typeof A!="number"&&typeof A!="string")throw new IA(`Expected a bigint in column '${I}', got ${typeof A}: ${A}`);return{$type:"BigInt",value:A}}case"float":{if(typeof A=="number")return A;if(typeof A=="string"){let Q=Number(A);if(Number.isNaN(Q)&&!/^[-+]?nan$/.test(A.toLowerCase()))throw new IA(`Expected a float in column '${I}', got string: ${A}`);return Q}throw new IA(`Expected a float in column '${I}', got ${typeof A}: ${A}`)}case"boolean":{if(typeof A=="boolean")return A;if(typeof A=="number")return A===1;if(typeof A=="string"){if(A==="true"||A==="TRUE"||A==="1")return!0;if(A==="false"||A==="FALSE"||A==="0")return!1;throw new IA(`Expected a boolean in column '${I}', got ${typeof A}: ${A}`)}if(Array.isArray(A)||A instanceof Uint8Array){for(let Q of A)if(Q!==0)return!0;return!1}throw new IA(`Expected a boolean in column '${I}', got ${typeof A}: ${A}`)}case"decimal":if(typeof A!="number"&&typeof A!="string"&&!kq.Decimal.isDecimal(A))throw new IA(`Expected a decimal in column '${I}', got ${typeof A}: ${A}`);return{$type:"Decimal",value:A};case"datetime":{if(typeof A=="string")return{$type:"DateTime",value:Mq(A)};if(typeof A=="number"||A instanceof Date)return{$type:"DateTime",value:A};throw new IA(`Expected a date in column '${I}', got ${typeof A}: ${A}`)}case"object":return{$type:"Json",value:Cg(A)};case"json":return{$type:"Json",value:`${A}`};case"bytes":{switch(g.encoding){case"base64":if(typeof A!="string")throw new IA(`Expected a base64-encoded byte array in column '${I}', got ${typeof A}: ${A}`);return{$type:"Bytes",value:A};case"hex":if(typeof A!="string"||!A.startsWith("\\x"))throw new IA(`Expected a hex-encoded byte array in column '${I}', got ${typeof A}: ${A}`);return{$type:"Bytes",value:Buffer.from(A.slice(2),"hex").toString("base64")};case"array":if(Array.isArray(A))return{$type:"Bytes",value:Buffer.from(A).toString("base64")};if(A instanceof Uint8Array)return{$type:"Bytes",value:Buffer.from(A).toString("base64")};throw new IA(`Expected a byte array in column '${I}', got ${typeof A}: ${A}`);default:iA(g.encoding,`DataMapper: Unknown bytes encoding: ${g.encoding}`)}break}case"enum":{let Q=B[g.name];if(Q===void 0)throw new IA(`Unknown enum '${g.name}'`);let C=Q[`${A}`];if(C===void 0)throw new IA(`Value '${A}' not found in enum '${g.name}'`);return C}default:iA(g,`DataMapper: Unknown result type: ${g.type}`)}}var Sq=/\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/;function Mq(A){let I=Sq.exec(A);if(I===null)return`${A}T00:00:00Z`;let g=A,[B,Q,C]=I;if(Q!==void 0&&Q!=="Z"&&C===void 0?g=`${A}:00`:Q===void 0&&(g=`${A}Z`),B.length===A.length)return`1970-01-01T${g}`;let E=I.index-1;return g[E]===" "&&(g=`${g.slice(0,E)}T${g.slice(E+1)}`),g}function vA(A){if(typeof A!="object")return A;var I,g,B=Object.prototype.toString.call(A);if(B==="[object Object]"){if(A.constructor!==Object&&typeof A.constructor=="function"){g=new A.constructor;for(I in A)A.hasOwnProperty(I)&&g[I]!==A[I]&&(g[I]=vA(A[I]))}else{g={};for(I in A)I==="__proto__"?Object.defineProperty(g,I,{value:vA(A[I]),configurable:!0,enumerable:!0,writable:!0}):g[I]=vA(A[I])}return g}if(B==="[object Array]"){for(I=A.length,g=Array(I);I--;)g[I]=vA(A[I]);return g}return B==="[object Set]"?(g=new Set,A.forEach(function(Q){g.add(vA(Q))}),g):B==="[object Map]"?(g=new Map,A.forEach(function(Q,C){g.set(vA(C),vA(Q))}),g):B==="[object Date]"?new Date(+A):B==="[object RegExp]"?(g=new RegExp(A.source,A.flags),g.lastIndex=A.lastIndex,g):B==="[object DataView]"?new A.constructor(vA(A.buffer)):B==="[object ArrayBuffer]"?A.slice(0):B.slice(-6)==="Array]"?new A.constructor(A):A}function yq(A){let I=Object.entries(A);return I.length===0?"":(I.sort(([g],[B])=>g.localeCompare(B)),`/*${I.map(([g,B])=>{let Q=encodeURIComponent(g),C=encodeURIComponent(B).replace(/'/g,"\\'");return`${Q}='${C}'`}).join(",")}*/`)}function _K(A,I){let g={};for(let B of A){let Q=B(vA(I));for(let[C,E]of Object.entries(Q))E!==void 0&&(g[C]=E)}return g}function hq(A,I){let g=_K(A,I);return yq(g)}function Uq(A,I){return I?`${A} ${I}`:A}var bE;(function(A){A[A.INTERNAL=0]="INTERNAL",A[A.SERVER=1]="SERVER",A[A.CLIENT=2]="CLIENT",A[A.PRODUCER=3]="PRODUCER",A[A.CONSUMER=4]="CONSUMER"})(bE||(bE={}));function Yq(A){switch(A){case"postgresql":case"postgres":case"prisma+postgres":return"postgresql";case"sqlserver":return"mssql";case"mysql":case"sqlite":case"cockroachdb":case"mongodb":return A;default:iA(A,`Unknown provider: ${A}`)}}async function eK({query:A,tracingHelper:I,provider:g,onQuery:B,execute:Q}){let C=B===void 0?Q:async()=>{let E=new Date,D=performance.now(),i=await Q(),G=performance.now();return B({timestamp:E,duration:G-D,query:A.sql,params:A.args}),i};return I.isEnabled()?await I.runInChildSpan({name:"db_query",kind:bE.CLIENT,attributes:{"db.query.text":A.sql,"db.system.name":Yq(g)}},C):C()}function WQ(A,I){var g="000000000"+A;return g.substr(g.length-I)}var Jq=fA(Z("os"),1);function aq(){try{return Jq.default.hostname()}catch{return process.env._CLUSTER_NETWORK_NAME_||process.env.COMPUTERNAME||"hostname"}}var AF=2,Hq=WQ(process.pid.toString(36),AF),IF=aq(),cq=IF.length,Lq=WQ(IF.split("").reduce(function(A,I){return+A+I.charCodeAt(0)},+cq+36).toString(36),AF);function sq(){return Hq+Lq}function qq(A){return typeof A=="string"&&/^c[a-z0-9]{20,32}$/.test(A)}function xq(A){let I=Math.pow(36,4),g=0;function B(){return WQ((Math.random()*I<<0).toString(36),4)}function Q(){return g=g<I?g:0,g++,g-1}function C(){var E="c",D=new Date().getTime().toString(36),i=WQ(Q().toString(36),4),G=A(),o=B()+B();return E+D+i+G+o}return C.fingerprint=A,C.isCuid=qq,C}var pq=xq(sq),Zq=pq,Wq=fA(fH()),Nk=Z("crypto"),Tq="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Oq=128,sI,Ig;function Vq(A){!sI||sI.length<A?(sI=Buffer.allocUnsafe(A*Oq),Nk.webcrypto.getRandomValues(sI),Ig=0):Ig+A>sI.length&&(Nk.webcrypto.getRandomValues(sI),Ig=0),Ig+=A}function kk(A=21){Vq(A|=0);let I="";for(let g=Ig-A;g<Ig;g++)I+=Tq[sI[g]&63];return I}var YQ=fA(Z("crypto"),1),gF="0123456789ABCDEFGHJKMNPQRSTVWXYZ",tg=32,jq=16,BF=10,Kk=281474976710655,pI;(function(A){A.Base32IncorrectEncoding="B32_ENC_INVALID",A.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",A.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",A.EncodeTimeNegative="ENC_TIME_NEG",A.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",A.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",A.PRNGDetectFailure="PRNG_DETECT",A.ULIDInvalid="ULID_INVALID",A.Unexpected="UNEXPECTED",A.UUIDInvalid="UUID_INVALID"})(pI||(pI={}));var jg=class extends Error{constructor(A,I){super(`${I} (${A})`),this.name="ULIDError",this.code=A}};function dq(A){let I=Math.floor(A()*tg);return I===tg&&(I=tg-1),gF.charAt(I)}function bq(A){let I=zq(),g=I&&(I.crypto||I.msCrypto)||(typeof YQ.default<"u"?YQ.default:null);if(typeof g?.getRandomValues=="function")return()=>{let B=new Uint8Array(1);return g.getRandomValues(B),B[0]/255};if(typeof g?.randomBytes=="function")return()=>g.randomBytes(1).readUInt8()/255;if(YQ.default?.randomBytes)return()=>YQ.default.randomBytes(1).readUInt8()/255;throw new jg(pI.PRNGDetectFailure,"Failed to find a reliable PRNG")}function zq(){return fq()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function Xq(A,I){let g="";for(;A>0;A--)g=dq(I)+g;return g}function Pq(A,I=BF){if(isNaN(A))throw new jg(pI.EncodeTimeValueMalformed,`Time must be a number: ${A}`);if(A>Kk)throw new jg(pI.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Kk}: ${A}`);if(A<0)throw new jg(pI.EncodeTimeNegative,`Time must be positive: ${A}`);if(Number.isInteger(A)===!1)throw new jg(pI.EncodeTimeValueMalformed,`Time must be an integer: ${A}`);let g,B="";for(let Q=I;Q>0;Q--)g=A%tg,B=gF.charAt(g)+B,A=(A-g)/tg;return B}function fq(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function lq(A,I){let g=I||bq(),B=!A||isNaN(A)?Date.now():A;return Pq(B,BF)+Xq(jq,g)}var kA=[];for(let A=0;A<256;++A)kA.push((A+256).toString(16).slice(1));function QF(A,I=0){return(kA[A[I+0]]+kA[A[I+1]]+kA[A[I+2]]+kA[A[I+3]]+"-"+kA[A[I+4]]+kA[A[I+5]]+"-"+kA[A[I+6]]+kA[A[I+7]]+"-"+kA[A[I+8]]+kA[A[I+9]]+"-"+kA[A[I+10]]+kA[A[I+11]]+kA[A[I+12]]+kA[A[I+13]]+kA[A[I+14]]+kA[A[I+15]]).toLowerCase()}var mq=Z("crypto"),LQ=new Uint8Array(256),JQ=LQ.length;function zE(){return JQ>LQ.length-16&&((0,mq.randomFillSync)(LQ),JQ=0),LQ.slice(JQ,JQ+=16)}var tq=Z("crypto"),Fk={randomUUID:tq.randomUUID};function uq(A,I,g){if(Fk.randomUUID&&!I&&!A)return Fk.randomUUID();A=A||{};let B=A.random??A.rng?.()??zE();if(B.length<16)throw Error("Random bytes length must be >= 16");if(B[6]=B[6]&15|64,B[8]=B[8]&63|128,I){if(g=g||0,g<0||g+16>I.length)throw RangeError(`UUID byte range ${g}:${g+15} is out of buffer bounds`);for(let Q=0;Q<16;++Q)I[g+Q]=B[Q];return I}return QF(B)}var rq=uq,YE={};function vq(A,I,g){let B;if(A)B=Rk(A.random??A.rng?.()??zE(),A.msecs,A.seq,I,g);else{let Q=Date.now(),C=zE();nq(YE,Q,C),B=Rk(C,YE.msecs,YE.seq,I,g)}return I??QF(B)}function nq(A,I,g){return A.msecs??=-1/0,A.seq??=0,I>A.msecs?(A.seq=g[6]<<23|g[7]<<16|g[8]<<8|g[9],A.msecs=I):(A.seq=A.seq+1|0,A.seq===0&&A.msecs++),A}function Rk(A,I,g,B,Q=0){if(A.length<16)throw Error("Random bytes length must be >= 16");if(!B)B=new Uint8Array(16),Q=0;else if(Q<0||Q+16>B.length)throw RangeError(`UUID byte range ${Q}:${Q+15} is out of buffer bounds`);return I??=Date.now(),g??=A[6]*127<<24|A[7]<<16|A[8]<<8|A[9],B[Q++]=I/1099511627776&255,B[Q++]=I/4294967296&255,B[Q++]=I/16777216&255,B[Q++]=I/65536&255,B[Q++]=I/256&255,B[Q++]=I&255,B[Q++]=112|g>>>28&15,B[Q++]=g>>>20&255,B[Q++]=128|g>>>14&63,B[Q++]=g>>>6&255,B[Q++]=g<<2&255|A[10]&3,B[Q++]=A[11],B[Q++]=A[12],B[Q++]=A[13],B[Q++]=A[14],B[Q++]=A[15],B}var $q=vq,_q=class{#A={};constructor(){this.register("uuid",new A2),this.register("cuid",new I2),this.register("ulid",new g2),this.register("nanoid",new B2),this.register("product",new Q2)}snapshot(){return Object.create(this.#A,{now:{value:new eq}})}register(A,I){this.#A[A]=I}},eq=class{#A;generate(){return this.#A===void 0&&(this.#A=new Date),this.#A.toISOString()}},A2=class{generate(A){if(A===4)return rq();if(A===7)return $q();throw Error("Invalid UUID generator arguments")}},I2=class{generate(A){if(A===1)return Zq();if(A===2)return(0,Wq.createId)();throw Error("Invalid CUID generator arguments")}},g2=class{generate(){return lq()}},B2=class{generate(A){if(typeof A=="number")return kk(A);if(A===void 0)return kk();throw Error("Invalid Nanoid generator arguments")}},Q2=class{generate(A,I){if(A===void 0||I===void 0)throw Error("Invalid Product generator arguments");return Array.isArray(A)&&Array.isArray(I)?A.flatMap((g)=>I.map((B)=>[g,B])):Array.isArray(A)?A.map((g)=>[g,I]):Array.isArray(I)?I.map((g)=>[A,g]):[[A,I]]}};function CD(A,I){return A==null?A:typeof A=="string"?CD(JSON.parse(A),I):Array.isArray(A)?E2(A,I):C2(A,I)}function C2(A,I){if(I.pagination){let{skip:g,take:B,cursor:Q}=I.pagination;if(g!==null&&g>0||B===0||Q!==null&&!BD(A,Q))return null}return CF(A,I.nested)}function CF(A,I){for(let[g,B]of Object.entries(I))A[g]=CD(A[g],B);return A}function E2(A,I){if(I.distinct!==null){let g=I.linkingFields!==null?[...I.distinct,...I.linkingFields]:I.distinct;A=D2(A,g)}return I.pagination&&(A=i2(A,I.pagination,I.linkingFields)),I.reverse&&A.reverse(),Object.keys(I.nested).length===0?A:A.map((g)=>CF(g,I.nested))}function D2(A,I){let g=new Set,B=[];for(let Q of A){let C=rg(Q,I);g.has(C)||(g.add(C),B.push(Q))}return B}function i2(A,I,g){if(g===null)return Sk(A,I);let B=new Map;for(let C of A){let E=rg(C,g);B.has(E)||B.set(E,[]),B.get(E).push(C)}let Q=Array.from(B.entries());return Q.sort(([C],[E])=>C<E?-1:C>E?1:0),Q.flatMap(([,C])=>Sk(C,I))}function Sk(A,{cursor:I,skip:g,take:B}){let Q=I!==null?A.findIndex((D)=>BD(D,I)):0;if(Q===-1)return[];let C=Q+(g??0),E=B!==null?C+B:A.length;return A.slice(C,E)}function rg(A,I,g){let B=I.map((Q,C)=>g?.[C]?A[Q]!==null?g[C](A[Q]):null:A[Q]);return JSON.stringify(B)}function EF(A){return typeof A=="object"&&A!==null&&A.prisma__type==="param"}function DF(A){return typeof A=="object"&&A!==null&&A.prisma__type==="generatorCall"}function Mk(A,I,g,B){let Q=A.args.map((C)=>XA(C,I,g));switch(A.type){case"rawSql":return[w2(A.sql,Q,A.argTypes)];case"templateSql":return(A.chunkable?k2(A.fragments,Q,B):[Q]).map((C)=>{let E=G2(A.fragments,A.placeholderFormat,C,A.argTypes);if(B!==void 0&&E.args.length>B)throw new FI("The query parameter limit supported by your database is exceeded.","P2029");return E});default:iA(A.type,"Invalid query type")}}function XA(A,I,g){for(;N2(A);)if(EF(A)){let B=I[A.prisma__value.name];if(B===void 0)throw Error(`Missing value for query variable ${A.prisma__value.name}`);A.prisma__value.type==="DateTime"&&typeof B=="string"?A=new Date(B):A=B}else if(DF(A)){let{name:B,args:Q}=A.prisma__value,C=g[B];if(!C)throw Error(`Encountered an unknown generator '${B}'`);A=C.generate(...Q.map((E)=>XA(E,I,g)))}else iA(A,`Unexpected unevaluated value type: ${A}`);return Array.isArray(A)&&(A=A.map((B)=>XA(B,I,g))),A}function G2(A,I,g,B){let Q="",C={placeholderNumber:1},E=[],D=[];for(let i of XE(A,g,B)){if(Q+=o2(i,I,C),i.type==="stringChunk")continue;let G=E.length,o=E.push(...iF(i))-G;if(i.argType.arity==="tuple"){if(o%i.argType.elements.length!==0)throw Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${o} parameters for a tuple of arity ${i.argType.elements.length}.`);for(let w=0;w<o/i.argType.elements.length;w++)D.push(...i.argType.elements)}else for(let w=0;w<o;w++)D.push(i.argType)}return{sql:Q,args:E,argTypes:D}}function o2(A,I,g){let B=A.type;switch(B){case"parameter":return JE(I,g.placeholderNumber++);case"stringChunk":return A.chunk;case"parameterTuple":return`(${A.value.length==0?"NULL":A.value.map(()=>{let Q=JE(I,g.placeholderNumber++);return`${A.itemPrefix}${Q}${A.itemSuffix}`}).join(A.itemSeparator)})`;case"parameterTupleList":return A.value.map((Q)=>{let C=Q.map(()=>JE(I,g.placeholderNumber++)).join(A.itemSeparator);return`${A.itemPrefix}${C}${A.itemSuffix}`}).join(A.groupSeparator);default:iA(B,"Invalid fragment type")}}function JE(A,I){return A.hasNumbering?`${A.prefix}${I}`:A.prefix}function w2(A,I,g){return{sql:A,args:I,argTypes:g}}function N2(A){return EF(A)||DF(A)}function*XE(A,I,g){let B=0;for(let Q of A)switch(Q.type){case"parameter":{if(B>=I.length)throw Error(`Malformed query template. Fragments attempt to read over ${I.length} parameters.`);yield{...Q,value:I[B],argType:g?.[B]},B++;break}case"stringChunk":{yield Q;break}case"parameterTuple":{if(B>=I.length)throw Error(`Malformed query template. Fragments attempt to read over ${I.length} parameters.`);let C=I[B];yield{...Q,value:Array.isArray(C)?C:[C],argType:g?.[B]},B++;break}case"parameterTupleList":{if(B>=I.length)throw Error(`Malformed query template. Fragments attempt to read over ${I.length} parameters.`);let C=I[B];if(!Array.isArray(C))throw Error("Malformed query template. Tuple list expected.");if(C.length===0)throw Error("Malformed query template. Tuple list cannot be empty.");for(let E of C)if(!Array.isArray(E))throw Error("Malformed query template. Tuple expected.");yield{...Q,value:C,argType:g?.[B]},B++;break}}}function*iF(A){switch(A.type){case"parameter":yield A.value;break;case"stringChunk":break;case"parameterTuple":yield*A.value;break;case"parameterTupleList":for(let I of A.value)yield*I;break}}function k2(A,I,g){let B=0,Q=0;for(let E of XE(A,I,void 0)){let D=0;for(let i of iF(E))D++;Q=Math.max(Q,D),B+=D}let C=[[]];for(let E of XE(A,I,void 0))switch(E.type){case"parameter":{for(let D of C)D.push(E.value);break}case"stringChunk":break;case"parameterTuple":{let D=E.value.length,i=[];if(g&&C.length===1&&D===Q&&B>g&&B-D<g){let G=g-(B-D);i=K2(E.value,G)}else i=[E.value];C=C.flatMap((G)=>i.map((o)=>[...G,o]));break}case"parameterTupleList":{let D=E.value.reduce((w,N)=>w+N.length,0),i=[],G=[],o=0;for(let w of E.value)g&&C.length===1&&D===Q&&G.length>0&&B-D+o+w.length>g&&(i.push(G),G=[],o=0),G.push(w),o+=w.length;G.length>0&&i.push(G),C=C.flatMap((w)=>i.map((N)=>[...w,N]));break}}return C}function K2(A,I){let g=[];for(let B=0;B<A.length;B+=I)g.push(A.slice(B,B+I));return g}function F2(A){return A.rows.map((I)=>I.reduce((g,B,Q)=>(g[A.columnNames[Q]]=B,g),{}))}function R2(A){return{columns:A.columnNames,types:A.columnTypes.map((I)=>S2(I)),rows:A.rows.map((I)=>I.map((g,B)=>dg(g,A.columnTypes[B])))}}function dg(A,I){if(A===null)return null;switch(I){case b.Int32:switch(typeof A){case"number":return Math.trunc(A);case"string":return Math.trunc(Number(A));default:throw Error(`Cannot serialize value of type ${typeof A} as Int32`)}case b.Int32Array:if(!Array.isArray(A))throw Error(`Cannot serialize value of type ${typeof A} as Int32Array`);return A.map((g)=>dg(g,b.Int32));case b.Int64:switch(typeof A){case"number":return BigInt(Math.trunc(A));case"string":return A;default:throw Error(`Cannot serialize value of type ${typeof A} as Int64`)}case b.Int64Array:if(!Array.isArray(A))throw Error(`Cannot serialize value of type ${typeof A} as Int64Array`);return A.map((g)=>dg(g,b.Int64));case b.Json:switch(typeof A){case"string":return JSON.parse(A);default:throw Error(`Cannot serialize value of type ${typeof A} as Json`)}case b.JsonArray:if(!Array.isArray(A))throw Error(`Cannot serialize value of type ${typeof A} as JsonArray`);return A.map((g)=>dg(g,b.Json));case b.Boolean:switch(typeof A){case"boolean":return A;case"string":return A==="true"||A==="1";case"number":return A===1;default:throw Error(`Cannot serialize value of type ${typeof A} as Boolean`)}case b.BooleanArray:if(!Array.isArray(A))throw Error(`Cannot serialize value of type ${typeof A} as BooleanArray`);return A.map((g)=>dg(g,b.Boolean));default:return A}}function S2(A){switch(A){case b.Int32:return"int";case b.Int64:return"bigint";case b.Float:return"float";case b.Double:return"double";case b.Text:return"string";case b.Enum:return"enum";case b.Bytes:return"bytes";case b.Boolean:return"bool";case b.Character:return"char";case b.Numeric:return"decimal";case b.Json:return"json";case b.Uuid:return"uuid";case b.DateTime:return"datetime";case b.Date:return"date";case b.Time:return"time";case b.Int32Array:return"int-array";case b.Int64Array:return"bigint-array";case b.FloatArray:return"float-array";case b.DoubleArray:return"double-array";case b.TextArray:return"string-array";case b.EnumArray:return"string-array";case b.BytesArray:return"bytes-array";case b.BooleanArray:return"bool-array";case b.CharacterArray:return"char-array";case b.NumericArray:return"decimal-array";case b.JsonArray:return"json-array";case b.UuidArray:return"uuid-array";case b.DateTimeArray:return"datetime-array";case b.DateArray:return"date-array";case b.TimeArray:return"time-array";case b.UnknownNumber:return"unknown";case b.Set:return"string";default:iA(A,`Unexpected column type: ${A}`)}}function M2(A,I,g){if(!I.every((B)=>GF(A,B))){let B=y2(A,g),Q=h2(g);throw new FI(B,Q,g.context)}}function GF(A,I){switch(I.type){case"rowCountEq":return Array.isArray(A)?A.length===I.args:A===null?I.args===0:I.args===1;case"rowCountNeq":return Array.isArray(A)?A.length!==I.args:A===null?I.args!==0:I.args!==1;case"affectedRowCountEq":return A===I.args;case"never":return!1;default:iA(I,`Unknown rule type: ${I.type}`)}}function y2(A,I){switch(I.errorIdentifier){case"RELATION_VIOLATION":return`The change you are trying to make would violate the required relation '${I.context.relation}' between the \`${I.context.modelA}\` and \`${I.context.modelB}\` models.`;case"MISSING_RECORD":return`An operation failed because it depends on one or more records that were required but not found. No record was found for ${I.context.operation}.`;case"MISSING_RELATED_RECORD":{let g=I.context.neededFor?` (needed to ${I.context.neededFor})`:"";return`An operation failed because it depends on one or more records that were required but not found. No '${I.context.model}' record${g} was found for ${I.context.operation} on ${I.context.relationType} relation '${I.context.relation}'.`}case"INCOMPLETE_CONNECT_INPUT":return`An operation failed because it depends on one or more records that were required but not found. Expected ${I.context.expectedRows} records to be connected, found only ${Array.isArray(A)?A.length:A}.`;case"INCOMPLETE_CONNECT_OUTPUT":return`The required connected records were not found. Expected ${I.context.expectedRows} records to be connected after connect operation on ${I.context.relationType} relation '${I.context.relation}', found ${Array.isArray(A)?A.length:A}.`;case"RECORDS_NOT_CONNECTED":return`The records for relation \`${I.context.relation}\` between the \`${I.context.parent}\` and \`${I.context.child}\` models are not connected.`;default:iA(I,`Unknown error identifier: ${I}`)}}function h2(A){switch(A.errorIdentifier){case"RELATION_VIOLATION":return"P2014";case"RECORDS_NOT_CONNECTED":return"P2017";case"INCOMPLETE_CONNECT_OUTPUT":return"P2018";case"MISSING_RECORD":case"MISSING_RELATED_RECORD":case"INCOMPLETE_CONNECT_INPUT":return"P2025";default:iA(A,`Unknown error identifier: ${A}`)}}var U2=class A{#A;#I=new _q;#g;#B;#Q;#C;#E;constructor({onQuery:I,tracingHelper:g,serializer:B,rawSerializer:Q,provider:C,connectionInfo:E}){this.#A=I,this.#g=g,this.#B=B,this.#Q=Q??B,this.#C=C,this.#E=E}static forSql(I){return new A({onQuery:I.onQuery,tracingHelper:I.tracingHelper,serializer:F2,rawSerializer:R2,provider:I.provider,connectionInfo:I.connectionInfo})}async run(I,g){let{value:B}=await this.interpretNode(I,{...g,generators:this.#I.snapshot()}).catch((Q)=>cQ(Q));return B}async interpretNode(I,g){switch(I.type){case"value":return{value:XA(I.args,g.scope,g.generators)};case"seq":{let B;for(let Q of I.args)B=await this.interpretNode(Q,g);return B??{value:void 0}}case"get":return{value:g.scope[I.args.name]};case"let":{let B=Object.create(g.scope);for(let Q of I.args.bindings){let{value:C}=await this.interpretNode(Q.expr,{...g,scope:B});B[Q.name]=C}return this.interpretNode(I.args.expr,{...g,scope:B})}case"getFirstNonEmpty":{for(let B of I.args.names){let Q=g.scope[B];if(!yk(Q))return{value:Q}}return{value:[]}}case"concat":{let B=await Promise.all(I.args.map((Q)=>this.interpretNode(Q,g).then((C)=>C.value)));return{value:B.length>0?B.reduce((Q,C)=>Q.concat(aE(C)),[]):[]}}case"sum":{let B=await Promise.all(I.args.map((Q)=>this.interpretNode(Q,g).then((C)=>C.value)));return{value:B.length>0?B.reduce((Q,C)=>nA(Q)+nA(C)):0}}case"execute":{let B=Mk(I.args,g.scope,g.generators,this.#D()),Q=0;for(let C of B){let E=hk(C,g.sqlCommenter);Q+=await this.#G(E,g.queryable,()=>g.queryable.executeRaw(HE(E)).catch((D)=>I.args.type==="rawSql"?Gk(D):cQ(D)))}return{value:Q}}case"query":{let B=Mk(I.args,g.scope,g.generators,this.#D()),Q;for(let C of B){let E=hk(C,g.sqlCommenter),D=await this.#G(E,g.queryable,()=>g.queryable.queryRaw(HE(E)).catch((i)=>I.args.type==="rawSql"?Gk(i):cQ(i)));Q===void 0?Q=D:(Q.rows.push(...D.rows),Q.lastInsertId=D.lastInsertId)}return{value:I.args.type==="rawSql"?this.#Q(Q):this.#B(Q),lastInsertId:Q?.lastInsertId}}case"reverse":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args,g);return{value:Array.isArray(B)?B.reverse():B,lastInsertId:Q}}case"unique":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args,g);if(!Array.isArray(B))return{value:B,lastInsertId:Q};if(B.length>1)throw Error(`Expected zero or one element, got ${B.length}`);return{value:B[0]??null,lastInsertId:Q}}case"required":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args,g);if(yk(B))throw Error("Required value is empty");return{value:B,lastInsertId:Q}}case"mapField":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.records,g);return{value:oF(B,I.args.field),lastInsertId:Q}}case"join":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.parent,g);if(B===null)return{value:null,lastInsertId:Q};let C=await Promise.all(I.args.children.map(async(E)=>({joinExpr:E,childRecords:(await this.interpretNode(E.child,g)).value})));return{value:Y2(B,C,I.args.canAssumeStrictEquality),lastInsertId:Q}}case"transaction":{if(!g.transactionManager.enabled)return this.interpretNode(I.args,g);let B=g.transactionManager.manager,Q=await B.startInternalTransaction(),C=await B.getTransaction(Q,"query");try{let E=await this.interpretNode(I.args,{...g,queryable:C});return await B.commitTransaction(Q.id),E}catch(E){throw await B.rollbackTransaction(Q.id),E}}case"dataMap":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.expr,g);return{value:Fq(B,I.args.structure,I.args.enums),lastInsertId:Q}}case"validate":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.expr,g);return M2(B,I.args.rules,I.args),{value:B,lastInsertId:Q}}case"if":{let{value:B}=await this.interpretNode(I.args.value,g);return GF(B,I.args.rule)?await this.interpretNode(I.args.then,g):await this.interpretNode(I.args.else,g)}case"unit":return{value:void 0};case"diff":{let{value:B}=await this.interpretNode(I.args.from,g),{value:Q}=await this.interpretNode(I.args.to,g),C=(D)=>D!==null?rg(vg(D),I.args.fields):null,E=new Set(aE(Q).map(C));return{value:aE(B).filter((D)=>!E.has(C(D)))}}case"process":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.expr,g),C=HE(I.args.operations);return wF(C,g.scope,g.generators),{value:CD(B,C),lastInsertId:Q}}case"initializeRecord":{let{lastInsertId:B}=await this.interpretNode(I.args.expr,g),Q={};for(let[C,E]of Object.entries(I.args.fields))Q[C]=a2(E,B,g.scope,g.generators);return{value:Q,lastInsertId:B}}case"mapRecord":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.expr,g),C=B===null?{}:vg(B);for(let[E,D]of Object.entries(I.args.fields))C[E]=H2(D,C[E],g.scope,g.generators);return{value:C,lastInsertId:Q}}default:iA(I,`Unexpected node type: ${I.type}`)}}#D(){return this.#E?.maxBindValues!==void 0?this.#E.maxBindValues:this.#i()}#i(){if(this.#C!==void 0)switch(this.#C){case"cockroachdb":case"postgres":case"postgresql":case"prisma+postgres":return 32766;case"mysql":return 65535;case"sqlite":return 999;case"sqlserver":return 2098;case"mongodb":return;default:iA(this.#C,`Unexpected provider: ${this.#C}`)}}#G(I,g,B){return eK({query:I,execute:B,provider:this.#C??g.provider,tracingHelper:this.#g,onQuery:this.#A})}};function yk(A){return Array.isArray(A)?A.length===0:A==null}function aE(A){return Array.isArray(A)?A:[A]}function nA(A){if(typeof A=="number")return A;if(typeof A=="string")return Number(A);throw Error(`Expected number, got ${typeof A}`)}function vg(A){if(typeof A=="object"&&A!==null)return A;throw Error(`Expected object, got ${typeof A}`)}function oF(A,I){return Array.isArray(A)?A.map((g)=>oF(g,I)):typeof A=="object"&&A!==null?A[I]??null:A}function Y2(A,I,g){for(let{joinExpr:B,childRecords:Q}of I){let C=B.on.map(([o])=>o),E=B.on.map(([,o])=>o),D={},i=Array.isArray(A)?A:[A];for(let o of i){let w=vg(o),N=rg(w,C);D[N]||(D[N]=[]),D[N].push(w),B.isRelationUnique?w[B.parentField]=null:w[B.parentField]=[]}let G=g?void 0:J2(i,C);for(let o of Array.isArray(Q)?Q:[Q]){if(o===null)continue;let w=rg(vg(o),E,G);for(let N of D[w]??[])B.isRelationUnique?N[B.parentField]=o:N[B.parentField].push(o)}}return A}function J2(A,I){function g(C){switch(C){case"number":return Number;case"string":return String;case"boolean":return Boolean;case"bigint":return BigInt;default:return}}let B=Array.from({length:I.length}),Q=0;for(let C of A){let E=vg(C);for(let[D,i]of I.entries())if(E[i]!==null&&B[D]===void 0){let G=g(typeof E[i]);G!==void 0&&(B[D]=G),Q++}if(Q===I.length)break}return B}function a2(A,I,g,B){switch(A.type){case"value":return XA(A.value,g,B);case"lastInsertId":return I;default:iA(A,`Unexpected field initializer type: ${A.type}`)}}function H2(A,I,g,B){switch(A.type){case"set":return XA(A.value,g,B);case"add":return nA(I)+nA(XA(A.value,g,B));case"subtract":return nA(I)-nA(XA(A.value,g,B));case"multiply":return nA(I)*nA(XA(A.value,g,B));case"divide":{let Q=nA(I),C=nA(XA(A.value,g,B));return C===0?null:Q/C}default:iA(A,`Unexpected field operation type: ${A.type}`)}}function hk(A,I){if(!I||I.plugins.length===0)return A;let g=hq(I.plugins,{query:I.queryInfo,sql:A.sql});return g?{...A,sql:Uq(A.sql,g)}:A}function wF(A,I,g){let B=A.pagination?.cursor;if(B)for(let[Q,C]of Object.entries(B))B[Q]=XA(C,I,g);for(let Q of Object.values(A.nested))wF(Q,I,g)}function HE(A){return vA(A)}function c2(A){return new s2(A).deserialize()}function L2(A){return Buffer.from(A,"base64url")}var s2=class{#A;#I;#g=0;constructor(A){this.#A=A;let I=L2(A.graph);this.#I=new DataView(I.buffer,I.byteOffset,I.byteLength)}deserialize(){let{inputNodeCount:A,outputNodeCount:I,rootCount:g}=this.#D(),B=this.#i(A),Q=this.#G(I),C=this.#w(g);return{strings:this.#A.strings,inputNodes:B,outputNodes:Q,roots:C}}#B(){let A=0,I=0,g;do g=this.#I.getUint8(this.#g++),A|=(g&127)<<I,I+=7;while(g>=128);return A}#Q(){let A=this.#B();return A===0?void 0:A-1}#C(){let A=this.#I.getUint8(this.#g);return this.#g+=1,A}#E(){let A=this.#I.getUint16(this.#g,!0);return this.#g+=2,A}#D(){let A=this.#B(),I=this.#B(),g=this.#B();return{inputNodeCount:A,outputNodeCount:I,rootCount:g}}#i(A){let I=[];for(let g=0;g<A;g++){let B=this.#B(),Q={};for(let C=0;C<B;C++){let E=this.#B(),D=this.#E(),i=this.#Q(),G=this.#Q(),o={flags:this.#C()};D!==0&&(o.scalarMask=D),i!==void 0&&(o.childNodeId=i),G!==void 0&&(o.enumNameIndex=G),Q[E]=o}I.push({edges:Q})}return I}#G(A){let I=[];for(let g=0;g<A;g++){let B=this.#B(),Q={};for(let C=0;C<B;C++){let E=this.#B(),D=this.#Q(),i=this.#Q(),G={};D!==void 0&&(G.argsNodeId=D),i!==void 0&&(G.outputNodeId=i),Q[E]=G}I.push({edges:Q})}return I}#w(A){let I={};for(let g=0;g<A;g++){let B=this.#B(),Q=this.#Q(),C=this.#Q(),E=this.#A.strings[B],D={};Q!==void 0&&(D.argsNodeId=Q),C!==void 0&&(D.outputNodeId=C),I[E]=D}return I}},q2=class A{#A;#I;#g;constructor(I,g){this.#A=I,this.#g=g,this.#I=new Map;for(let B=0;B<I.strings.length;B++)this.#I.set(I.strings[B],B)}static deserialize(I,g){let B=c2(I);return new A(B,g)}static fromData(I,g){return new A(I,g)}root(I){let g=this.#A.roots[I];if(g)return{argsNodeId:g.argsNodeId,outputNodeId:g.outputNodeId}}inputNode(I){if(!(I===void 0||I<0||I>=this.#A.inputNodes.length))return{id:I}}outputNode(I){if(!(I===void 0||I<0||I>=this.#A.outputNodes.length))return{id:I}}inputEdge(I,g){if(!I)return;let B=this.#A.inputNodes[I.id];if(!B)return;let Q=this.#I.get(g);if(Q===void 0)return;let C=B.edges[Q];if(C)return{flags:C.flags,childNodeId:C.childNodeId,scalarMask:C.scalarMask??0,enumNameIndex:C.enumNameIndex}}outputEdge(I,g){if(!I)return;let B=this.#A.outputNodes[I.id];if(!B)return;let Q=this.#I.get(g);if(Q===void 0)return;let C=B.edges[Q];if(C)return{argsNodeId:C.argsNodeId,outputNodeId:C.outputNodeId}}enumValues(I){if(I?.enumNameIndex===void 0)return;let g=this.#A.strings[I.enumNameIndex];if(g)return this.#g(g)}getString(I){return this.#A.strings[I]}},NI={ParamScalar:1,ParamEnum:2,ParamListScalar:4,ParamListEnum:8,ListObject:16,Object:32},hA={String:1,Int:2,BigInt:4,Float:8,Decimal:16,Boolean:32,DateTime:64,Json:128,Bytes:256};function kI(A,I){return(A.flags&I)!==0}function gg(A){return A.scalarMask}var x2=new Set(["DateTime","Decimal","BigInt","Bytes","Json","Raw"]);function ED(A){if(A==null)return{kind:"null"};if(typeof A=="string")return{kind:"primitive",value:A};if(typeof A=="number")return{kind:"primitive",value:A};if(typeof A=="boolean")return{kind:"primitive",value:A};if(Array.isArray(A))return{kind:"array",items:A};if(typeof A=="object"){let I=A;if("$type"in I&&typeof I.$type=="string"){let g=I.$type;return x2.has(g)?{kind:"taggedScalar",tag:g,value:I.value}:{kind:"structural",value:I.value}}return{kind:"object",entries:I}}return{kind:"structural",value:A}}function p2(A){return typeof A=="object"&&A!==null&&!Array.isArray(A)&&!("$type"in A)}function Z2(A){return typeof A=="object"&&A!==null&&"$type"in A&&typeof A.$type=="string"}function W2(A,I){let g=new NF(I),B=A.modelName?`${A.modelName}.${A.action}`:A.action,Q=I.root(B);return{parameterizedQuery:{...A,query:g.parameterizeFieldSelection(A.query,Q?.argsNodeId,Q?.outputNodeId)},placeholderValues:g.getPlaceholderValues()}}function T2(A,I){let g=new NF(I),B=[];for(let Q=0;Q<A.batch.length;Q++){let C=A.batch[Q],E=C.modelName?`${C.modelName}.${C.action}`:C.action,D=I.root(E);B.push({...C,query:g.parameterizeFieldSelection(C.query,D?.argsNodeId,D?.outputNodeId)})}return{parameterizedBatch:{...A,batch:B},placeholderValues:g.getPlaceholderValues()}}var NF=class{#A;#I=new Map;#g=new Map;#B=1;constructor(A){this.#A=A}getPlaceholderValues(){return Object.fromEntries(this.#I)}#Q(A,I){let g=V2(A,I),B=this.#g.get(g);if(B!==void 0)return Uk(B,I);let Q=`%${this.#B++}`;return this.#g.set(g,Q),this.#I.set(Q,A),Uk(Q,I)}parameterizeFieldSelection(A,I,g){let B=this.#A.inputNode(I),Q=this.#A.outputNode(g),C={...A};return A.arguments&&A.arguments.$type!=="Raw"&&(C.arguments=this.#C(A.arguments,B)),A.selection&&(C.selection=this.#o(A.selection,Q)),C}#C(A,I){if(!I)return A;let g={};for(let[B,Q]of Object.entries(A)){let C=this.#A.inputEdge(I,B);C?g[B]=this.#E(Q,C):g[B]=Q}return g}#E(A,I){let g=ED(A);switch(g.kind){case"null":return A;case"structural":return A;case"primitive":return this.#D(g.value,I);case"taggedScalar":return this.#i(A,g.tag,I);case"array":return this.#G(g.items,A,I);case"object":return this.#w(g.entries,I);default:throw Error(`Unknown value kind ${g.kind}`)}}#D(A,I){if(kI(I,NI.ParamEnum)&&I.enumNameIndex!==void 0&&typeof A=="string"){let Q=this.#A.enumValues(I);if(Q&&Object.hasOwn(Q,A)){let C={type:"Enum"};return this.#Q(Q[A],C)}}if(!kI(I,NI.ParamScalar))return A;let g=gg(I);if(g===0)return A;let B=DD(A);return KF(B,g)?(g&hA.Json&&(A=JSON.stringify(A)),this.#Q(A,B)):A}#i(A,I,g){if(!kI(g,NI.ParamScalar))return A;let B=gg(g);if(B===0||!RF(I,B))return A;let Q=FF(A.$type),C=SF(A);return this.#Q(C,Q)}#G(A,I,g){if(kI(g,NI.ParamScalar)&&gg(g)&hA.Json){let B=Cg(WI(A)),Q={type:"Json"};return this.#Q(B,Q)}if(kI(g,NI.ParamEnum)){let B=this.#A.enumValues(g);if(B&&A.every((Q)=>typeof Q=="string"&&Object.hasOwn(B,Q))){let Q={type:"List",inner:{type:"Enum"}};return this.#Q(A,Q)}}if(kI(g,NI.ParamListScalar)&&A.every((B)=>X2(B,g))&&A.length>0){let B=A.map((C)=>P2(C)),Q={type:"List",inner:b2(A)};return this.#Q(B,Q)}if(kI(g,NI.ListObject)){let B=this.#A.inputNode(g.childNodeId);if(B)return A.map((Q)=>p2(Q)?this.#C(Q,B):Q)}return I}#w(A,I){if(kI(I,NI.Object)){let g=this.#A.inputNode(I.childNodeId);if(g)return this.#C(A,g)}if(gg(I)&hA.Json){let g=Cg(WI(A)),B={type:"Json"};return this.#Q(g,B)}return A}#o(A,I){if(!A||!I)return A;let g={};for(let[B,Q]of Object.entries(A)){if(B==="$scalars"||B==="$composites"||typeof Q=="boolean"){g[B]=Q;continue}let C=this.#A.outputEdge(I,B);if(C){let E=Q,D=this.#A.inputNode(C.argsNodeId),i=this.#A.outputNode(C.outputNodeId),G={selection:E.selection?this.#o(E.selection,i):{}};E.arguments&&(G.arguments=this.#C(E.arguments,D)),g[B]=G}else g[B]=Q}return g}};function Uk(A,I){return{$type:"Param",value:{name:A,...I}}}function kF(A){return A.type==="List"?`List<${kF(A.inner)}>`:A.type}function O2(A){return ArrayBuffer.isView(A)?Buffer.from(A.buffer,A.byteOffset,A.byteLength).toString("base64"):JSON.stringify(A)}function V2(A,I){let g=kF(I),B=O2(A);return`${g}:${B}`}var j2=2147483647,d2=-2147483648;function DD(A){switch(typeof A){case"boolean":return{type:"Boolean"};case"number":return Number.isInteger(A)?d2<=A&&A<=j2?{type:"Int"}:{type:"BigInt"}:{type:"Float"};case"string":return{type:"String"};default:throw Error("unreachable")}}function KF({type:A},I){switch(A){case"Boolean":return(I&hA.Boolean)!==0;case"Int":return(I&(hA.Int|hA.BigInt|hA.Float))!==0;case"BigInt":return(I&hA.BigInt)!==0;case"Float":return(I&hA.Float)!==0;case"String":return(I&hA.String)!==0;default:return!1}}function FF(A){switch(A){case"BigInt":case"Bytes":case"DateTime":case"Json":return{type:A};case"Decimal":return{type:"Float"};default:return}}function b2(A){let I={type:"Any"};for(let g of A){let B=ED(g),Q;switch(B.kind){case"primitive":Q=DD(B.value);break;case"taggedScalar":Q=FF(B.tag)??{type:"Any"};break;default:return{type:"Any"}}I=z2(I,Q)}return I}function z2(A,I){if(A.type==="Any")return I;if(I.type==="Any"||A.type===I.type)return A;let g={Int:0,BigInt:1,Float:2},B=g[A.type],Q=g[I.type];return B!==void 0&&Q!==void 0?B>=Q?A:I:{type:"Any"}}function RF(A,I){switch(A){case"DateTime":return(I&hA.DateTime)!==0;case"Decimal":return(I&hA.Decimal)!==0;case"BigInt":return(I&hA.BigInt)!==0;case"Bytes":return(I&hA.Bytes)!==0;case"Json":return(I&hA.Json)!==0;default:return!1}}function X2(A,I){let g=ED(A);switch(g.kind){case"structural":return!1;case"null":return!1;case"primitive":{let B=DD(g.value),Q=gg(I);return Q!==0&&KF(B,Q)}case"taggedScalar":{let B=gg(I);return B!==0&&RF(g.tag,B)}default:return!1}}function P2(A){return Z2(A)?SF(A):A}function SF(A){return A.value}async function f2(){return globalThis.crypto??await import("crypto")}async function l2(){return(await f2()).randomUUID()}async function m2(A,I){return new Promise((g)=>{A.addEventListener(I,g,{once:!0})})}var PA=class extends FI{name="TransactionManagerError";constructor(A,I){super("Transaction API error: "+A,"P2028",I)}},aQ=class extends PA{constructor(){super("Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting.")}},t2=class extends PA{constructor(A){super(`Transaction already closed: A ${A} cannot be executed on a committed transaction.`)}},u2=class extends PA{constructor(A){super(`Transaction already closed: A ${A} cannot be executed on a transaction that was rolled back.`)}},r2=class extends PA{constructor(){super("Unable to start a transaction in the given time.")}},v2=class extends PA{constructor(A,{timeout:I,timeTaken:g}){super(`A ${A} cannot be executed on an expired transaction. The timeout for this transaction was ${I} ms, however ${g} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`,{operation:A,timeout:I,timeTaken:g})}},LI=class extends PA{constructor(A){super(`Internal Consistency Error: ${A}`)}},n2=class extends PA{constructor(A){super(`Invalid isolation level: ${A}`,{isolationLevel:A})}},$2=100,eI=CI("prisma:client:transactionManager"),_2=()=>({sql:"COMMIT",args:[],argTypes:[]}),e2=()=>({sql:"ROLLBACK",args:[],argTypes:[]}),Ax=()=>({sql:'-- Implicit "COMMIT" query via underlying driver',args:[],argTypes:[]}),Ix=()=>({sql:'-- Implicit "ROLLBACK" query via underlying driver',args:[],argTypes:[]}),gx=class{transactions=new Map;closedTransactions=[];driverAdapter;transactionOptions;tracingHelper;#A;#I;constructor({driverAdapter:A,transactionOptions:I,tracingHelper:g,onQuery:B,provider:Q}){this.driverAdapter=A,this.transactionOptions=I,this.tracingHelper=g,this.#A=B,this.#I=Q}async startInternalTransaction(A){let I=A!==void 0?this.#k(A):{};return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#g(I))}async startTransaction(A){let I=A!==void 0?this.#k(A):this.transactionOptions;return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#g(I))}async#g(A){if(A.newTxId)return await this.#w(A.newTxId,"start",async(C)=>{if(C.status!=="running")throw new LI(`Transaction in invalid state ${C.status} when starting a nested transaction.`);if(!C.transaction)throw new LI("Transaction missing underlying driver transaction when starting a nested transaction.");C.depth+=1;let E=this.#Q(C);C.savepoints.push(E);try{await this.#C(C.transaction)(E)}catch(D){throw C.depth-=1,C.savepoints.pop(),D}return{id:C.id}});let I={id:await l2(),status:"waiting",timer:void 0,timeout:A.timeout,startedAt:Date.now(),transaction:void 0,operationQueue:Promise.resolve(),depth:1,savepoints:[],savepointCounter:0},g=new AbortController,B=Yk(()=>g.abort(),A.maxWait);B?.unref?.();let Q=this.driverAdapter.startTransaction(A.isolationLevel).catch(cQ);switch(I.transaction=await Promise.race([Q.finally(()=>clearTimeout(B)),m2(g.signal,"abort").then(()=>{})]),this.transactions.set(I.id,I),I.status){case"waiting":if(g.signal.aborted)throw Q.then((C)=>C.rollback()).catch((C)=>eI("error in discarded transaction:",C)),await this.#N(I,"timed_out"),new r2;return I.status="running",I.timer=this.#G(I.id,A.timeout),{id:I.id};case"timed_out":case"running":case"committed":case"rolled_back":throw new LI(`Transaction in invalid state ${I.status} although it just finished startup.`);default:iA(I.status,"Unknown transaction status.")}}async commitTransaction(A){return await this.tracingHelper.runInChildSpan("commit_transaction",async()=>{await this.#w(A,"commit",async(I)=>{if(I.depth>1){if(!I.transaction)throw new aQ;let g=I.savepoints.at(-1);if(!g)throw new LI(`Missing savepoint for nested commit. Depth: ${I.depth}, transactionId: ${I.id}`);try{await this.#D(I.transaction,g)}finally{I.savepoints.pop(),I.depth-=1}return}await this.#N(I,"committed")})})}async rollbackTransaction(A){return await this.tracingHelper.runInChildSpan("rollback_transaction",async()=>{await this.#w(A,"rollback",async(I)=>{if(I.depth>1){if(!I.transaction)throw new aQ;let g=I.savepoints.at(-1);if(!g)throw new LI(`Missing savepoint for nested rollback. Depth: ${I.depth}, transactionId: ${I.id}`);try{await this.#E(I.transaction)(g),await this.#D(I.transaction,g)}finally{I.savepoints.pop(),I.depth-=1}return}await this.#N(I,"rolled_back")})})}async getTransaction(A,I){let g=this.#B(A.id,I);if(g.status==="closing"&&(await g.closing,g=this.#B(A.id,I)),!g.transaction)throw new aQ;return g.transaction}#B(A,I){let g=this.transactions.get(A);if(!g){let B=this.closedTransactions.find((Q)=>Q.id===A);if(B)switch(eI("Transaction already closed.",{transactionId:A,status:B.status}),B.status){case"closing":case"waiting":case"running":throw new LI("Active transaction found in closed transactions list.");case"committed":throw new t2(I);case"rolled_back":throw new u2(I);case"timed_out":throw new v2(I,{timeout:B.timeout,timeTaken:Date.now()-B.startedAt})}else throw eI("Transaction not found.",A),new aQ}if(["committed","rolled_back","timed_out"].includes(g.status))throw new LI("Closed transaction found in active transactions map.");return g}async cancelAllTransactions(){await Promise.allSettled([...this.transactions.values()].map((A)=>this.#o(A,async()=>{let I=this.transactions.get(A.id);I&&await this.#N(I,"rolled_back")})))}#Q(A){return`prisma_sp_${A.savepointCounter++}`}#C(A){if(A.createSavepoint)return A.createSavepoint.bind(A);throw new PA(`Nested transactions are not supported by adapter "${A.adapterName}" (${A.provider}): createSavepoint is not implemented.`)}#E(A){if(A.rollbackToSavepoint)return A.rollbackToSavepoint.bind(A);throw new PA(`Nested transactions are not supported by adapter "${A.adapterName}" (${A.provider}): rollbackToSavepoint is not implemented.`)}async#D(A,I){A.releaseSavepoint&&await A.releaseSavepoint(I)}#i(A){eI("Transaction already committed or rolled back when timeout happened.",A)}#G(A,I){let g=Date.now(),B=Yk(async()=>{eI("Transaction timed out.",{transactionId:A,timeoutStartedAt:g,timeout:I});let Q=this.transactions.get(A);if(!Q){this.#i(A);return}await this.#o(Q,async()=>{let C=this.transactions.get(A);C&&["running","waiting"].includes(C.status)?await this.#N(C,"timed_out"):this.#i(A)})},I);return B?.unref?.(),B}async#w(A,I,g){let B=this.#B(A,I);return await this.#o(B,async()=>{let Q=this.#B(A,I);return await g(Q)})}async#o(A,I){let g=A.operationQueue,B;A.operationQueue=new Promise((Q)=>{B=Q}),await g;try{return await I()}finally{B()}}async#N(A,I){let g=async()=>{eI("Closing transaction.",{transactionId:A.id,status:I});try{if(A.transaction&&I==="committed")if(A.transaction.options.usePhantomQuery)await this.#K(Ax(),A.transaction,()=>A.transaction.commit());else{let B=_2();await this.#K(B,A.transaction,()=>A.transaction.executeRaw(B)).then(()=>A.transaction.commit(),(Q)=>{let C=()=>Promise.reject(Q);return A.transaction.rollback().then(C,C)})}else if(A.transaction)if(A.transaction.options.usePhantomQuery)await this.#K(Ix(),A.transaction,()=>A.transaction.rollback());else{let B=e2();try{await this.#K(B,A.transaction,()=>A.transaction.executeRaw(B))}finally{await A.transaction.rollback()}}}finally{A.status=I,clearTimeout(A.timer),A.timer=void 0,this.transactions.delete(A.id),this.closedTransactions.push(A),this.closedTransactions.length>$2&&this.closedTransactions.shift()}};A.status==="closing"?(await A.closing,this.#B(A.id,I==="committed"?"commit":"rollback")):await Object.assign(A,{status:"closing",reason:I,closing:g()}).closing}#k(A){if(!A.timeout)throw new PA("timeout is required");if(!A.maxWait)throw new PA("maxWait is required");if(A.isolationLevel==="SNAPSHOT")throw new n2(A.isolationLevel);return{...A,timeout:A.timeout,maxWait:A.maxWait}}#K(A,I,g){return eK({query:A,execute:g,provider:this.#I??I.provider,tracingHelper:this.tracingHelper,onQuery:this.#A})}};function Yk(A,I){return I!==void 0?setTimeout(A,I):void 0}var LA=CA(),MF="7.8.0",Jk={bigint:"bigint",date:"datetime",decimal:"decimal",bytes:"bytes"};function Bx(A){let I;try{I=JSON.parse(A)}catch(Q){throw Error(`Received invalid serialized parameters: ${Q.message}`)}if(!Array.isArray(I))throw Error("Received invalid serialized parameters: expected an array");let g=I.map((Q)=>yF(Q)),B=I.map((Q)=>Qx(Q));return{args:g,argTypes:B}}function yF(A){if(Array.isArray(A))return A.map((I)=>yF(I));if(typeof A=="object"&&A!==null&&"prisma__value"in A){if(!("prisma__type"in A))throw Error("Invalid serialized parameter, prisma__type should be present when prisma__value is present");return`${A.prisma__value}`}return typeof A=="object"&&A!==null?JSON.stringify(A):A}function Qx(A){return Array.isArray(A)?{scalarType:A.length>0?ak(A[0]):"unknown",arity:"list"}:{scalarType:ak(A),arity:"scalar"}}function ak(A){return typeof A=="object"&&A!==null&&"prisma__type"in A&&typeof A.prisma__type=="string"&&A.prisma__type in Jk?Jk[A.prisma__type]:typeof A=="number"?"decimal":typeof A=="string"?"string":"unknown"}function Cx(A,I){return{batch:A,transaction:I?.kind==="batch"?{isolationLevel:I.options.isolationLevel}:void 0}}function Ex(A){return A?A.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,(I)=>`${I[0]}5`):""}function Dx(A){return A.split(`
25
+ `);return I.reduce(function(g,B){var Q=Ds(B)||Gs(B)||Ns(B)||Rs(B)||Ks(B);return Q&&g.push(Q),g},[])}var Cs=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Es=/\((\S*)(?::(\d+))(?::(\d+))\)/;function Ds(A){var I=Cs.exec(A);if(!I)return null;var g=I[2]&&I[2].indexOf("native")===0,B=I[2]&&I[2].indexOf("eval")===0,Q=Es.exec(I[2]);return B&&Q!=null&&(I[2]=Q[1],I[3]=Q[2],I[4]=Q[3]),{file:g?null:I[2],methodName:I[1]||eg,arguments:g?[I[2]]:[],lineNumber:I[3]?+I[3]:null,column:I[4]?+I[4]:null}}var is=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Gs(A){var I=is.exec(A);return I?{file:I[2],methodName:I[1]||eg,arguments:[],lineNumber:+I[3],column:I[4]?+I[4]:null}:null}var os=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,ws=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function Ns(A){var I=os.exec(A);if(!I)return null;var g=I[3]&&I[3].indexOf(" > eval")>-1,B=ws.exec(I[3]);return g&&B!=null&&(I[3]=B[1],I[4]=B[2],I[5]=null),{file:I[3],methodName:I[1]||eg,arguments:I[2]?I[2].split(","):[],lineNumber:I[4]?+I[4]:null,column:I[5]?+I[5]:null}}var ks=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function Ks(A){var I=ks.exec(A);return I?{file:I[3],methodName:I[1]||eg,arguments:[],lineNumber:+I[4],column:I[5]?+I[5]:null}:null}var Fs=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Rs(A){var I=Fs.exec(A);return I?{file:I[2],methodName:I[1]||eg,arguments:[],lineNumber:+I[3],column:I[4]?+I[4]:null}:null}var Ss=class{getLocation(){return null}},Ms=class{_error;constructor(){this._error=Error()}getLocation(){let A=this._error.stack;if(!A)return null;let I=Qs(A).find((g)=>{if(!g.file)return!1;let B=xc(g.file);return B!=="<anonymous>"&&!B.includes("@prisma")&&!B.includes("/packages/client/src/runtime/")&&!B.endsWith("/runtime/client.js")&&!B.startsWith("internal/")&&!g.methodName.includes("new ")&&!g.methodName.includes("getCallSite")&&!g.methodName.includes("Proxy.")&&g.methodName.split(".").length<4});return!I||!I.file?null:{fileName:I.file,lineNumber:I.lineNumber,columnNumber:I.column}}};function lg(A){return A==="minimal"?typeof $EnabledCallSite=="function"&&A!=="minimal"?new $EnabledCallSite:new Ss:new Ms}var ys={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function xQ(A={}){let I=hs(A);return Object.entries(I).reduce((g,[B,Q])=>(ys[B]!==void 0?g.select[B]={select:Q}:g[B]=Q,g),{select:{}})}function hs(A={}){return typeof A._count=="boolean"?{...A,_count:{_all:A._count}}:A}function OE(A={}){return(I)=>(typeof A._count=="boolean"&&(I._count=I._count._all),I)}function Us(A,I){let g=OE(A);return I({action:"aggregate",unpacker:g,argsMapper:xQ})(A)}function Ys(A={}){let{select:I,...g}=A;return typeof I=="object"?xQ({...g,_count:I}):xQ({...g,_count:{_all:!0}})}function Js(A={}){return typeof A.select=="object"?(I)=>OE(A)(I)._count:(I)=>OE(A)(I)._count._all}function as(A,I){return I({action:"count",unpacker:Js(A),argsMapper:Ys})(A)}function Hs(A={}){let I=xQ(A);if(Array.isArray(I.by))for(let g of I.by)typeof g=="string"&&(I.select[g]=!0);else typeof I.by=="string"&&(I.select[I.by]=!0);return I}function cs(A={}){return(I)=>(typeof A?._count=="boolean"&&I.forEach((g)=>{g._count=g._count._all}),I)}function Ls(A,I){return I({action:"groupBy",unpacker:cs(A),argsMapper:Hs})(A)}function ss(A,I,g){if(I==="aggregate")return(B)=>Us(B,g);if(I==="count")return(B)=>as(B,g);if(I==="groupBy")return(B)=>Ls(B,g)}function qs(A,I){let g=I.fields.filter((Q)=>!Q.relationName),B=uH(g,"name");return new Proxy({},{get(Q,C){if(C in Q||typeof C=="symbol")return Q[C];let E=B[C];if(E)return new HK(A,C,E.type,E.isList,E.kind==="enum")},...PK(Object.keys(B))})}var fK=(A)=>Array.isArray(A)?A:A.split("."),lK=(A,I)=>fK(I).reduce((g,B)=>g&&g[B],A),xs=(A,I,g)=>fK(I).reduceRight((B,Q,C,E)=>Object.assign({},lK(A,E.slice(0,C)),{[Q]:B}),g);function ps(A,I){return A===void 0||I===void 0?[]:[...I,"select",A]}function Zs(A,I,g){return I===void 0?A??{}:xs(I,g,A||!0)}function mK(A,I,g,B,Q,C){let E=A._runtimeDataModel.models[I].fields.reduce((D,i)=>({...D,[i.name]:i}),{});return(D)=>{let i=lg(A._errorFormat),G=ps(B,Q),o=Zs(D,C,G),w=g({dataPath:G,callsite:i})(o),N=Ws(A,I);return new Proxy(w,{get(k,F){if(!N.includes(F))return k[F];let R=[E[F].type,g,F],Y=[G,o];return mK(A,...R,...Y)},...PK([...N,...Object.getOwnPropertyNames(w)])})}}function Ws(A,I){return A._runtimeDataModel.models[I].fields.filter((g)=>g.kind==="object").map((g)=>g.name)}var Ts=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Os=["aggregate","count","groupBy"];function Ak(A,I){let g=A._extensions.getAllModelExtensions(I)??{},B=[Vs(A,I),ds(A,I),XK(g),_A("name",()=>I),_A("$name",()=>I),_A("$parent",()=>A._appliedParent)];return Qg({},B)}function Vs(A,I){let g=_g(I),B=Object.keys(dQ).concat("count");return{getKeys(){return B},getPropertyValue(Q){let C=Q,E=(D)=>(i)=>{let G=lg(A._errorFormat);return A._createPrismaPromise((o)=>{let w={args:i,dataPath:[],action:C,model:I,clientMethod:`${g}.${Q}`,jsModelName:g,transaction:o,callsite:G};return A._request({...w,...D})},{action:C,args:i,model:I})};return Ts.includes(C)?mK(A,I,E):js(Q)?ss(A,Q,E):E({})}}}function js(A){return Os.includes(A)}function ds(A,I){return ID(_A("fields",()=>{let g=A._runtimeDataModel.models[I];return qs(I,g)}))}function bs(A){return A.replace(/^./,(I)=>I.toUpperCase())}var VE=Symbol();function jE(A){let I=[zs(A),Xs(A),_A(VE,()=>A),_A("$parent",()=>A._appliedParent)],g=A._extensions.getAllClientExtensions();return g&&I.push(XK(g)),Qg(A,I)}function zs(A){let I=Object.getPrototypeOf(A._originalClient),g=[...new Set(Object.getOwnPropertyNames(I))];return{getKeys(){return g},getPropertyValue(B){return A[B]}}}function Xs(A){let I=Object.keys(A._runtimeDataModel.models),g=I.map(_g),B=[...new Set(I.concat(g))];return ID({getKeys(){return B},getPropertyValue(Q){let C=bs(Q);if(A._runtimeDataModel.models[C]!==void 0)return Ak(A,C);if(A._runtimeDataModel.models[Q]!==void 0)return Ak(A,Q)},getPropertyDescriptor(Q){if(!g.includes(Q))return{enumerable:!1}}})}function Ps(A){return A[VE]?A[VE]:A}function fs(A){if(typeof A=="function")return A(this);let I=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(A)},_appliedParent:{value:this,configurable:!0},$on:{value:void 0}});return jE(I)}function ls({result:A,modelName:I,select:g,omit:B,extensions:Q}){let C=Q.getAllComputedFields(I);if(!C)return A;let E=[],D=[];for(let i of Object.values(C)){if(B){if(B[i.name])continue;let G=i.needs.filter((o)=>B[o]);G.length>0&&D.push(TE(G))}else if(g){if(!g[i.name])continue;let G=i.needs.filter((o)=>!g[o]);G.length>0&&D.push(TE(G))}ms(A,i.needs)&&E.push(ts(i,Qg(A,E)))}return E.length>0||D.length>0?Qg(A,[...E,...D]):A}function ms(A,I){return I.every((g)=>pc(A,g))}function ts(A,I){return ID(_A(A.name,()=>A.compute(I)))}function gD({visitor:A,result:I,args:g,runtimeDataModel:B,modelName:Q}){if(Array.isArray(I)){for(let E=0;E<I.length;E++)I[E]=gD({result:I[E],args:g,modelName:Q,runtimeDataModel:B,visitor:A});return I}let C=A(I,Q,g)??I;return g.include&&Ik({includeOrSelect:g.include,result:C,parentModelName:Q,runtimeDataModel:B,visitor:A}),g.select&&Ik({includeOrSelect:g.select,result:C,parentModelName:Q,runtimeDataModel:B,visitor:A}),C}function Ik({includeOrSelect:A,result:I,parentModelName:g,runtimeDataModel:B,visitor:Q}){for(let[C,E]of Object.entries(A)){if(!E||I[C]==null||KI(E))continue;let D=B.models[g].fields.find((G)=>G.name===C);if(!D||D.kind!=="object"||!D.relationName)continue;let i=typeof E=="object"?E:{};I[C]=gD({visitor:Q,result:I[C],args:i,modelName:D.type,runtimeDataModel:B})}}function us({result:A,modelName:I,args:g,extensions:B,runtimeDataModel:Q,globalOmit:C}){return B.isEmpty()||A==null||typeof A!="object"||!Q.models[I]?A:gD({result:A,args:g??{},modelName:I,runtimeDataModel:Q,visitor:(E,D,i)=>{let G=_g(D);return ls({result:E,modelName:G,select:i.select,omit:i.select?void 0:{...C?.[G],...i.omit},extensions:B})}})}var pQ=CA(),rs=["$connect","$disconnect","$on","$use","$extends"],vs=rs;function ns(A){if(A instanceof pQ.Sql)return $s(A);if(zK(A))return _s(A);if(Array.isArray(A)){let g=[A[0]];for(let B=1;B<A.length;B++)g[B]=mg(A[B]);return g}let I={};for(let g in A)I[g]=mg(A[g]);return I}function $s(A){return new pQ.Sql(A.strings,A.values)}function _s(A){return new bK(A.sql,A.values)}function mg(A){if(typeof A!="object"||A==null||(0,pQ.isObjectEnumValue)(A)||_E(A)||KI(A))return A;if(vE(A))return new pQ.Decimal(A.toFixed());if(rE(A))return new Date(+A);if(ArrayBuffer.isView(A))return A.slice(0);if(Array.isArray(A)){let I=A.length,g;for(g=Array(I);I--;)g[I]=mg(A[I]);return g}if(typeof A=="object"){let I={};for(let g in A)g==="__proto__"?Object.defineProperty(I,g,{value:mg(A[g]),configurable:!0,enumerable:!0,writable:!0}):I[g]=mg(A[g]);return I}jQ(A,"Unknown value")}function tK(A,I,g,B=0){return A._createPrismaPromise((Q)=>{let C=I.customDataProxyFetch;return"transaction"in I&&Q!==void 0&&(I.transaction?.kind==="batch"&&I.transaction.lock.then(),I.transaction=Q),B===g.length?A._executeRequest(I):g[B]({model:I.model,operation:I.model?I.action:I.clientMethod,args:ns(I.args??{}),__internalParams:I,query:(E,D=I)=>{let i=D.customDataProxyFetch;return D.customDataProxyFetch=rK(C,i),D.args=E,tK(A,D,g,B+1)}})})}function es(A,I){let{jsModelName:g,action:B,clientMethod:Q}=I,C=g?B:Q;if(A._extensions.isEmpty())return A._executeRequest(I);let E=A._extensions.getAllQueryCallbacks(g??"$none",C);return tK(A,I,E)}function Aq(A){return(I)=>{let g={requests:I},B=I[0].extensions.getAllBatchQueryCallbacks();return B.length?uK(g,B,0,A):A(g)}}function uK(A,I,g,B){if(g===I.length)return B(A);let Q=A.customDataProxyFetch,C=A.requests[0].transaction;return I[g]({args:{queries:A.requests.map((E)=>({model:E.modelName,operation:E.action,args:E.args})),transaction:C?{isolationLevel:C.kind==="batch"?C.isolationLevel:void 0}:void 0},__internalParams:A,query(E,D=A){let i=D.customDataProxyFetch;return D.customDataProxyFetch=rK(Q,i),uK(D,I,g+1,B)}})}var gk=(A)=>A;function rK(A=gk,I=gk){return(g)=>A(I(g))}function Iq({dataPath:A,modelName:I,args:g,runtimeDataModel:B}){let Q={modelName:I,args:g??{}},C=gq(A);if(!C||C.length===0)return Q;let E=I,D=g??{};for(let i of C){let G=B.models[E];if(!G)return Q;let o=G.fields.find((w)=>w.name===i);if(!o)throw Error(`Could not resolve relation field "${i}" on model "${E}" from dataPath "${A.join(".")}"`);if(o.kind!=="object"||!o.relationName)return Q;E=o.type,D=Bq(D,i)}return{modelName:E,args:D}}function gq(A){let I=[];for(let g=0;g<A.length;g+=2){let B=A[g],Q=A[g+1];if(B!=="select"&&B!=="include"||Q===void 0)return;I.push(Q)}return I}function Bq(A,I){let g=A.select?.[I];if(Bk(g))return g;let B=A.include?.[I];return Bk(B)?B:{}}function Bk(A){return!!A&&typeof A=="object"&&!Array.isArray(A)}var Qq=CA(),ZQ=CA();function iA(A,I){throw Error(I)}function vK(A,I){return A===I||A!==null&&I!==null&&typeof A=="object"&&typeof I=="object"&&Object.keys(A).length===Object.keys(I).length&&Object.keys(A).every((g)=>vK(A[g],I[g]))}function BD(A,I){let g=Object.keys(A),B=Object.keys(I);return(g.length<B.length?g:B).every((Q)=>{if(typeof A[Q]==typeof I[Q]&&typeof A[Q]!="object")return A[Q]===I[Q];if(ZQ.Decimal.isDecimal(A[Q])||ZQ.Decimal.isDecimal(I[Q])){let C=Qk(A[Q]),E=Qk(I[Q]);return C&&E&&C.equals(E)}else if(A[Q]instanceof Uint8Array||I[Q]instanceof Uint8Array){let C=Ck(A[Q]),E=Ck(I[Q]);return C&&E&&C.equals(E)}else{if(A[Q]instanceof Date||I[Q]instanceof Date)return Ek(A[Q])?.getTime()===Ek(I[Q])?.getTime();if(typeof A[Q]=="bigint"||typeof I[Q]=="bigint")return Dk(A[Q])===Dk(I[Q]);if(typeof A[Q]=="number"||typeof I[Q]=="number")return ik(A[Q])===ik(I[Q])}return vK(A[Q],I[Q])})}function Qk(A){return ZQ.Decimal.isDecimal(A)?A:typeof A=="number"||typeof A=="string"?new ZQ.Decimal(A):void 0}function Ck(A){return Buffer.isBuffer(A)?A:A instanceof Uint8Array?Buffer.from(A.buffer,A.byteOffset,A.byteLength):typeof A=="string"?Buffer.from(A,"base64"):void 0}function Ek(A){return A instanceof Date?A:typeof A=="string"||typeof A=="number"?new Date(A):void 0}function Dk(A){return typeof A=="bigint"?A:typeof A=="number"||typeof A=="string"?BigInt(A):void 0}function ik(A){return typeof A=="number"?A:typeof A=="string"?Number(A):void 0}function Cg(A){return JSON.stringify(A,(I,g)=>typeof g=="bigint"?g.toString():ArrayBuffer.isView(g)?Buffer.from(g.buffer,g.byteOffset,g.byteLength).toString("base64"):g)}function Cq(A){return A!==null&&typeof A=="object"&&typeof A.$type=="string"}function Eq(A,I){let g={};for(let B of Object.keys(A))g[B]=I(A[B],B);return g}function WI(A){return A===null?A:Array.isArray(A)?A.map(WI):typeof A=="object"?Cq(A)?Dq(A):A.constructor!==null&&A.constructor.name!=="Object"?A:Eq(A,WI):A}function Dq({$type:A,value:I}){switch(A){case"BigInt":return BigInt(I);case"Bytes":{let{buffer:g,byteOffset:B,byteLength:Q}=Buffer.from(I,"base64");return new Uint8Array(g,B,Q)}case"DateTime":return new Date(I);case"Decimal":return new Qq.Decimal(I);case"Json":return JSON.parse(I);case"Raw":return I;case"FieldRef":throw Error("FieldRef tagged values cannot be deserialized to JavaScript values");case"Enum":return I;default:iA(I,"Unknown tagged value")}}function nK(A){return A.name==="DriverAdapterError"&&typeof A.cause=="object"}var b={Int32:0,Int64:1,Float:2,Double:3,Numeric:4,Boolean:5,Character:6,Text:7,Date:8,Time:9,DateTime:10,Json:11,Enum:12,Bytes:13,Set:14,Uuid:15,Int32Array:64,Int64Array:65,FloatArray:66,DoubleArray:67,NumericArray:68,BooleanArray:69,CharacterArray:70,TextArray:71,DateArray:72,TimeArray:73,DateTimeArray:74,JsonArray:75,EnumArray:76,BytesArray:77,UuidArray:78,UnknownNumber:128},FI=class extends Error{name="UserFacingError";code;meta;constructor(A,I,g){super(A),this.code=I,this.meta=g??{}}toQueryResponseErrorObject(){return{error:this.message,user_facing_error:{is_panic:!1,message:this.message,meta:this.meta,error_code:this.code}}}};function cQ(A){if(!nK(A))throw A;let I=iq(A),g=$K(A);throw!I||!g?A:new FI(g,I,{driverAdapterError:A})}function Gk(A){throw nK(A)?new FI(`Raw query failed. Code: \`${A.cause.originalCode??"N/A"}\`. Message: \`${A.cause.originalMessage??$K(A)}\``,"P2010",{driverAdapterError:A}):A}function iq(A){switch(A.cause.kind){case"AuthenticationFailed":return"P1000";case"DatabaseNotReachable":return"P1001";case"DatabaseDoesNotExist":return"P1003";case"SocketTimeout":return"P1008";case"DatabaseAlreadyExists":return"P1009";case"DatabaseAccessDenied":return"P1010";case"TlsConnectionError":return"P1011";case"ConnectionClosed":return"P1017";case"TransactionAlreadyClosed":return"P1018";case"LengthMismatch":return"P2000";case"UniqueConstraintViolation":return"P2002";case"ForeignKeyConstraintViolation":return"P2003";case"InvalidInputValue":return"P2007";case"UnsupportedNativeDataType":return"P2010";case"NullConstraintViolation":return"P2011";case"ValueOutOfRange":return"P2020";case"TableDoesNotExist":return"P2021";case"ColumnNotFound":return"P2022";case"InvalidIsolationLevel":case"InconsistentColumnData":return"P2023";case"MissingFullTextSearchIndex":return"P2030";case"TransactionWriteConflict":return"P2034";case"GenericJs":return"P2036";case"TooManyConnections":return"P2037";case"postgres":case"sqlite":case"mysql":case"mssql":return;default:iA(A.cause,`Unknown error: ${Cg(A.cause)}`)}}function $K(A){switch(A.cause.kind){case"AuthenticationFailed":return`Authentication failed against the database server, the provided database credentials for \`${A.cause.user??"(not available)"}\` are not valid`;case"DatabaseNotReachable":{let I=A.cause.host&&A.cause.port?`${A.cause.host}:${A.cause.port}`:A.cause.host;return`Can't reach database server${I?` at ${I}`:""}`}case"DatabaseDoesNotExist":return`Database \`${A.cause.db??"(not available)"}\` does not exist on the database server`;case"SocketTimeout":return"Operation has timed out";case"DatabaseAlreadyExists":return`Database \`${A.cause.db??"(not available)"}\` already exists on the database server`;case"DatabaseAccessDenied":return`User was denied access on the database \`${A.cause.db??"(not available)"}\``;case"TlsConnectionError":return`Error opening a TLS connection: ${A.cause.reason}`;case"ConnectionClosed":return"Server has closed the connection.";case"TransactionAlreadyClosed":return A.cause.cause;case"LengthMismatch":return`The provided value for the column is too long for the column's type. Column: ${A.cause.column??"(not available)"}`;case"UniqueConstraintViolation":return`Unique constraint failed on the ${UE(A.cause.constraint)}`;case"ForeignKeyConstraintViolation":return`Foreign key constraint violated on the ${UE(A.cause.constraint)}`;case"UnsupportedNativeDataType":return`Failed to deserialize column of type '${A.cause.type}'. If you're using $queryRaw and this column is explicitly marked as \`Unsupported\` in your Prisma schema, try casting this column to any supported Prisma type such as \`String\`.`;case"NullConstraintViolation":return`Null constraint violation on the ${UE(A.cause.constraint)}`;case"ValueOutOfRange":return`Value out of range for the type: ${A.cause.cause}`;case"TableDoesNotExist":return`The table \`${A.cause.table??"(not available)"}\` does not exist in the current database.`;case"ColumnNotFound":return`The column \`${A.cause.column??"(not available)"}\` does not exist in the current database.`;case"InvalidIsolationLevel":return`Error in connector: Conversion error: ${A.cause.level}`;case"InconsistentColumnData":return`Inconsistent column data: ${A.cause.cause}`;case"MissingFullTextSearchIndex":return"Cannot find a fulltext index to use for the native search, try adding a @@fulltext([Fields...]) to your schema";case"TransactionWriteConflict":return"Transaction failed due to a write conflict or a deadlock. Please retry your transaction";case"GenericJs":return`Error in external connector (id ${A.cause.id})`;case"TooManyConnections":return`Too many database connections opened: ${A.cause.cause}`;case"InvalidInputValue":return`Invalid input value: ${A.cause.message}`;case"sqlite":case"postgres":case"mysql":case"mssql":return;default:iA(A.cause,`Unknown error: ${Cg(A.cause)}`)}}function UE(A){return A&&"fields"in A?`fields: (${A.fields.map((I)=>`\`${I}\``).join(", ")})`:A&&("index"in A)?`constraint: \`${A.index}\``:A&&("foreignKey"in A)?"foreign key":"(not available)"}function Gq(A){if(typeof A!="object"||A===null)return!1;let I=A;return"$type"in I&&I.$type==="Param"||"prisma__type"in I&&I.prisma__type==="param"}function oq(A){return"prisma__type"in A?A.prisma__value?.name:A.value.name}function wq(A,I){let g={};for(let[B,Q]of Object.entries(A))if(g[B]=Q,Gq(Q)){let C=oq(Q);C&&C in I&&(g[B]=I[C])}return g}function Nq(A,I,g={}){let B=A.map((C)=>I.keys.reduce((E,D)=>(E[D]=WI(C[D]),E),{})),Q=new Set(I.nestedSelection);return I.arguments.map((C)=>{let E=wq(C,g),D=B.findIndex((i)=>BD(i,E));if(D===-1)return I.expectNonEmpty?new FI("An operation failed because it depends on one or more records that were required but not found","P2025"):null;{let i=Object.entries(A[D]).filter(([G])=>Q.has(G));return Object.fromEntries(i)}})}var kq=CA(),IA=class extends FI{name="DataMapperError";constructor(A,I){super(A,"P2023",I)}},ok=new WeakMap;function Kq(A){let I=ok.get(A);return I||(I=Object.entries(A),ok.set(A,I)),I}function Fq(A,I,g){switch(I.type){case"affectedRows":if(typeof A!="number")throw new IA(`Expected an affected rows count, got: ${typeof A} (${A})`);return{count:A};case"object":return QD(A,I.fields,g,I.skipNulls);case"field":return dE(A,"<result>",I.fieldType,g);default:iA(I,`Invalid data mapping type: '${I.type}'`)}}function QD(A,I,g,B){if(A===null)return null;if(Array.isArray(A)){let Q=A;return B&&(Q=Q.filter((C)=>C!==null)),Q.map((C)=>wk(C,I,g))}if(typeof A=="object")return wk(A,I,g);if(typeof A=="string"){let Q;try{Q=JSON.parse(A)}catch(C){throw new IA("Expected an array or object, got a string that is not valid JSON",{cause:C})}return QD(Q,I,g,B)}throw new IA(`Expected an array or an object, got: ${typeof A}`)}function wk(A,I,g){if(typeof A!="object")throw new IA(`Expected an object, but got '${typeof A}'`);let B={};for(let[Q,C]of Kq(I))switch(C.type){case"affectedRows":throw new IA(`Unexpected 'AffectedRows' node in data mapping for field '${Q}'`);case"object":{let{serializedName:E,fields:D,skipNulls:i}=C;if(E!==null&&!Object.hasOwn(A,E))throw new IA(`Missing data field (Object): '${Q}'; node: ${JSON.stringify(C)}; data: ${JSON.stringify(A)}`);let G=E!==null?A[E]:A;B[Q]=QD(G,D,g,i);break}case"field":{let E=C.dbName;if(Object.hasOwn(A,E))B[Q]=Rq(A[E],E,C.fieldType,g);else throw new IA(`Missing data field (Value): '${E}'; node: ${JSON.stringify(C)}; data: ${JSON.stringify(A)}`)}break;default:iA(C,`DataMapper: Invalid data mapping node type: '${C.type}'`)}return B}function Rq(A,I,g,B){return A===null?g.arity==="list"?[]:null:g.arity==="list"?A.map((Q,C)=>dE(Q,`${I}[${C}]`,g,B)):dE(A,I,g,B)}function dE(A,I,g,B){switch(g.type){case"unsupported":return A;case"string":{if(typeof A!="string")throw new IA(`Expected a string in column '${I}', got ${typeof A}: ${A}`);return A}case"int":switch(typeof A){case"number":return Math.trunc(A);case"string":{let Q=Math.trunc(Number(A));if(Number.isNaN(Q)||!Number.isFinite(Q))throw new IA(`Expected an integer in column '${I}', got string: ${A}`);if(!Number.isSafeInteger(Q))throw new IA(`Integer value in column '${I}' is too large to represent as a JavaScript number without loss of precision, got: ${A}. Consider using BigInt type.`);return Q}default:throw new IA(`Expected an integer in column '${I}', got ${typeof A}: ${A}`)}case"bigint":{if(typeof A!="number"&&typeof A!="string")throw new IA(`Expected a bigint in column '${I}', got ${typeof A}: ${A}`);return{$type:"BigInt",value:A}}case"float":{if(typeof A=="number")return A;if(typeof A=="string"){let Q=Number(A);if(Number.isNaN(Q)&&!/^[-+]?nan$/.test(A.toLowerCase()))throw new IA(`Expected a float in column '${I}', got string: ${A}`);return Q}throw new IA(`Expected a float in column '${I}', got ${typeof A}: ${A}`)}case"boolean":{if(typeof A=="boolean")return A;if(typeof A=="number")return A===1;if(typeof A=="string"){if(A==="true"||A==="TRUE"||A==="1")return!0;if(A==="false"||A==="FALSE"||A==="0")return!1;throw new IA(`Expected a boolean in column '${I}', got ${typeof A}: ${A}`)}if(Array.isArray(A)||A instanceof Uint8Array){for(let Q of A)if(Q!==0)return!0;return!1}throw new IA(`Expected a boolean in column '${I}', got ${typeof A}: ${A}`)}case"decimal":if(typeof A!="number"&&typeof A!="string"&&!kq.Decimal.isDecimal(A))throw new IA(`Expected a decimal in column '${I}', got ${typeof A}: ${A}`);return{$type:"Decimal",value:A};case"datetime":{if(typeof A=="string")return{$type:"DateTime",value:Mq(A)};if(typeof A=="number"||A instanceof Date)return{$type:"DateTime",value:A};throw new IA(`Expected a date in column '${I}', got ${typeof A}: ${A}`)}case"object":return{$type:"Json",value:Cg(A)};case"json":return{$type:"Json",value:`${A}`};case"bytes":{switch(g.encoding){case"base64":if(typeof A!="string")throw new IA(`Expected a base64-encoded byte array in column '${I}', got ${typeof A}: ${A}`);return{$type:"Bytes",value:A};case"hex":if(typeof A!="string"||!A.startsWith("\\x"))throw new IA(`Expected a hex-encoded byte array in column '${I}', got ${typeof A}: ${A}`);return{$type:"Bytes",value:Buffer.from(A.slice(2),"hex").toString("base64")};case"array":if(Array.isArray(A))return{$type:"Bytes",value:Buffer.from(A).toString("base64")};if(A instanceof Uint8Array)return{$type:"Bytes",value:Buffer.from(A).toString("base64")};throw new IA(`Expected a byte array in column '${I}', got ${typeof A}: ${A}`);default:iA(g.encoding,`DataMapper: Unknown bytes encoding: ${g.encoding}`)}break}case"enum":{let Q=B[g.name];if(Q===void 0)throw new IA(`Unknown enum '${g.name}'`);let C=Q[`${A}`];if(C===void 0)throw new IA(`Value '${A}' not found in enum '${g.name}'`);return C}default:iA(g,`DataMapper: Unknown result type: ${g.type}`)}}var Sq=/\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/;function Mq(A){let I=Sq.exec(A);if(I===null)return`${A}T00:00:00Z`;let g=A,[B,Q,C]=I;if(Q!==void 0&&Q!=="Z"&&C===void 0?g=`${A}:00`:Q===void 0&&(g=`${A}Z`),B.length===A.length)return`1970-01-01T${g}`;let E=I.index-1;return g[E]===" "&&(g=`${g.slice(0,E)}T${g.slice(E+1)}`),g}function vA(A){if(typeof A!="object")return A;var I,g,B=Object.prototype.toString.call(A);if(B==="[object Object]"){if(A.constructor!==Object&&typeof A.constructor=="function"){g=new A.constructor;for(I in A)A.hasOwnProperty(I)&&g[I]!==A[I]&&(g[I]=vA(A[I]))}else{g={};for(I in A)I==="__proto__"?Object.defineProperty(g,I,{value:vA(A[I]),configurable:!0,enumerable:!0,writable:!0}):g[I]=vA(A[I])}return g}if(B==="[object Array]"){for(I=A.length,g=Array(I);I--;)g[I]=vA(A[I]);return g}return B==="[object Set]"?(g=new Set,A.forEach(function(Q){g.add(vA(Q))}),g):B==="[object Map]"?(g=new Map,A.forEach(function(Q,C){g.set(vA(C),vA(Q))}),g):B==="[object Date]"?new Date(+A):B==="[object RegExp]"?(g=new RegExp(A.source,A.flags),g.lastIndex=A.lastIndex,g):B==="[object DataView]"?new A.constructor(vA(A.buffer)):B==="[object ArrayBuffer]"?A.slice(0):B.slice(-6)==="Array]"?new A.constructor(A):A}function yq(A){let I=Object.entries(A);return I.length===0?"":(I.sort(([g],[B])=>g.localeCompare(B)),`/*${I.map(([g,B])=>{let Q=encodeURIComponent(g),C=encodeURIComponent(B).replace(/'/g,"\\'");return`${Q}='${C}'`}).join(",")}*/`)}function _K(A,I){let g={};for(let B of A){let Q=B(vA(I));for(let[C,E]of Object.entries(Q))E!==void 0&&(g[C]=E)}return g}function hq(A,I){let g=_K(A,I);return yq(g)}function Uq(A,I){return I?`${A} ${I}`:A}var bE;(function(A){A[A.INTERNAL=0]="INTERNAL",A[A.SERVER=1]="SERVER",A[A.CLIENT=2]="CLIENT",A[A.PRODUCER=3]="PRODUCER",A[A.CONSUMER=4]="CONSUMER"})(bE||(bE={}));function Yq(A){switch(A){case"postgresql":case"postgres":case"prisma+postgres":return"postgresql";case"sqlserver":return"mssql";case"mysql":case"sqlite":case"cockroachdb":case"mongodb":return A;default:iA(A,`Unknown provider: ${A}`)}}async function eK({query:A,tracingHelper:I,provider:g,onQuery:B,execute:Q}){let C=B===void 0?Q:async()=>{let E=new Date,D=performance.now(),i=await Q(),G=performance.now();return B({timestamp:E,duration:G-D,query:A.sql,params:A.args}),i};return I.isEnabled()?await I.runInChildSpan({name:"db_query",kind:bE.CLIENT,attributes:{"db.query.text":A.sql,"db.system.name":Yq(g)}},C):C()}function WQ(A,I){var g="000000000"+A;return g.substr(g.length-I)}var Jq=fA(Z("os"),1);function aq(){try{return Jq.default.hostname()}catch{return process.env._CLUSTER_NETWORK_NAME_||process.env.COMPUTERNAME||"hostname"}}var AF=2,Hq=WQ(process.pid.toString(36),AF),IF=aq(),cq=IF.length,Lq=WQ(IF.split("").reduce(function(A,I){return+A+I.charCodeAt(0)},+cq+36).toString(36),AF);function sq(){return Hq+Lq}function qq(A){return typeof A=="string"&&/^c[a-z0-9]{20,32}$/.test(A)}function xq(A){let I=Math.pow(36,4),g=0;function B(){return WQ((Math.random()*I<<0).toString(36),4)}function Q(){return g=g<I?g:0,g++,g-1}function C(){var E="c",D=new Date().getTime().toString(36),i=WQ(Q().toString(36),4),G=A(),o=B()+B();return E+D+i+G+o}return C.fingerprint=A,C.isCuid=qq,C}var pq=xq(sq),Zq=pq,Wq=fA(fH()),Nk=Z("crypto"),Tq="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Oq=128,sI,Ig;function Vq(A){!sI||sI.length<A?(sI=Buffer.allocUnsafe(A*Oq),Nk.webcrypto.getRandomValues(sI),Ig=0):Ig+A>sI.length&&(Nk.webcrypto.getRandomValues(sI),Ig=0),Ig+=A}function kk(A=21){Vq(A|=0);let I="";for(let g=Ig-A;g<Ig;g++)I+=Tq[sI[g]&63];return I}var YQ=fA(Z("crypto"),1),gF="0123456789ABCDEFGHJKMNPQRSTVWXYZ",tg=32,jq=16,BF=10,Kk=281474976710655,pI;(function(A){A.Base32IncorrectEncoding="B32_ENC_INVALID",A.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",A.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",A.EncodeTimeNegative="ENC_TIME_NEG",A.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",A.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",A.PRNGDetectFailure="PRNG_DETECT",A.ULIDInvalid="ULID_INVALID",A.Unexpected="UNEXPECTED",A.UUIDInvalid="UUID_INVALID"})(pI||(pI={}));var jg=class extends Error{constructor(A,I){super(`${I} (${A})`),this.name="ULIDError",this.code=A}};function dq(A){let I=Math.floor(A()*tg);return I===tg&&(I=tg-1),gF.charAt(I)}function bq(A){let I=zq(),g=I&&(I.crypto||I.msCrypto)||(typeof YQ.default<"u"?YQ.default:null);if(typeof g?.getRandomValues=="function")return()=>{let B=new Uint8Array(1);return g.getRandomValues(B),B[0]/255};if(typeof g?.randomBytes=="function")return()=>g.randomBytes(1).readUInt8()/255;if(YQ.default?.randomBytes)return()=>YQ.default.randomBytes(1).readUInt8()/255;throw new jg(pI.PRNGDetectFailure,"Failed to find a reliable PRNG")}function zq(){return fq()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function Xq(A,I){let g="";for(;A>0;A--)g=dq(I)+g;return g}function Pq(A,I=BF){if(isNaN(A))throw new jg(pI.EncodeTimeValueMalformed,`Time must be a number: ${A}`);if(A>Kk)throw new jg(pI.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Kk}: ${A}`);if(A<0)throw new jg(pI.EncodeTimeNegative,`Time must be positive: ${A}`);if(Number.isInteger(A)===!1)throw new jg(pI.EncodeTimeValueMalformed,`Time must be an integer: ${A}`);let g,B="";for(let Q=I;Q>0;Q--)g=A%tg,B=gF.charAt(g)+B,A=(A-g)/tg;return B}function fq(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function lq(A,I){let g=I||bq(),B=!A||isNaN(A)?Date.now():A;return Pq(B,BF)+Xq(jq,g)}var kA=[];for(let A=0;A<256;++A)kA.push((A+256).toString(16).slice(1));function QF(A,I=0){return(kA[A[I+0]]+kA[A[I+1]]+kA[A[I+2]]+kA[A[I+3]]+"-"+kA[A[I+4]]+kA[A[I+5]]+"-"+kA[A[I+6]]+kA[A[I+7]]+"-"+kA[A[I+8]]+kA[A[I+9]]+"-"+kA[A[I+10]]+kA[A[I+11]]+kA[A[I+12]]+kA[A[I+13]]+kA[A[I+14]]+kA[A[I+15]]).toLowerCase()}var mq=Z("crypto"),LQ=new Uint8Array(256),JQ=LQ.length;function zE(){return JQ>LQ.length-16&&((0,mq.randomFillSync)(LQ),JQ=0),LQ.slice(JQ,JQ+=16)}var tq=Z("crypto"),Fk={randomUUID:tq.randomUUID};function uq(A,I,g){if(Fk.randomUUID&&!I&&!A)return Fk.randomUUID();A=A||{};let B=A.random??A.rng?.()??zE();if(B.length<16)throw Error("Random bytes length must be >= 16");if(B[6]=B[6]&15|64,B[8]=B[8]&63|128,I){if(g=g||0,g<0||g+16>I.length)throw RangeError(`UUID byte range ${g}:${g+15} is out of buffer bounds`);for(let Q=0;Q<16;++Q)I[g+Q]=B[Q];return I}return QF(B)}var rq=uq,YE={};function vq(A,I,g){let B;if(A)B=Rk(A.random??A.rng?.()??zE(),A.msecs,A.seq,I,g);else{let Q=Date.now(),C=zE();nq(YE,Q,C),B=Rk(C,YE.msecs,YE.seq,I,g)}return I??QF(B)}function nq(A,I,g){return A.msecs??=-1/0,A.seq??=0,I>A.msecs?(A.seq=g[6]<<23|g[7]<<16|g[8]<<8|g[9],A.msecs=I):(A.seq=A.seq+1|0,A.seq===0&&A.msecs++),A}function Rk(A,I,g,B,Q=0){if(A.length<16)throw Error("Random bytes length must be >= 16");if(!B)B=new Uint8Array(16),Q=0;else if(Q<0||Q+16>B.length)throw RangeError(`UUID byte range ${Q}:${Q+15} is out of buffer bounds`);return I??=Date.now(),g??=A[6]*127<<24|A[7]<<16|A[8]<<8|A[9],B[Q++]=I/1099511627776&255,B[Q++]=I/4294967296&255,B[Q++]=I/16777216&255,B[Q++]=I/65536&255,B[Q++]=I/256&255,B[Q++]=I&255,B[Q++]=112|g>>>28&15,B[Q++]=g>>>20&255,B[Q++]=128|g>>>14&63,B[Q++]=g>>>6&255,B[Q++]=g<<2&255|A[10]&3,B[Q++]=A[11],B[Q++]=A[12],B[Q++]=A[13],B[Q++]=A[14],B[Q++]=A[15],B}var $q=vq,_q=class{#A={};constructor(){this.register("uuid",new A2),this.register("cuid",new I2),this.register("ulid",new g2),this.register("nanoid",new B2),this.register("product",new Q2)}snapshot(){return Object.create(this.#A,{now:{value:new eq}})}register(A,I){this.#A[A]=I}},eq=class{#A;generate(){return this.#A===void 0&&(this.#A=new Date),this.#A.toISOString()}},A2=class{generate(A){if(A===4)return rq();if(A===7)return $q();throw Error("Invalid UUID generator arguments")}},I2=class{generate(A){if(A===1)return Zq();if(A===2)return(0,Wq.createId)();throw Error("Invalid CUID generator arguments")}},g2=class{generate(){return lq()}},B2=class{generate(A){if(typeof A=="number")return kk(A);if(A===void 0)return kk();throw Error("Invalid Nanoid generator arguments")}},Q2=class{generate(A,I){if(A===void 0||I===void 0)throw Error("Invalid Product generator arguments");return Array.isArray(A)&&Array.isArray(I)?A.flatMap((g)=>I.map((B)=>[g,B])):Array.isArray(A)?A.map((g)=>[g,I]):Array.isArray(I)?I.map((g)=>[A,g]):[[A,I]]}};function CD(A,I){return A==null?A:typeof A=="string"?CD(JSON.parse(A),I):Array.isArray(A)?E2(A,I):C2(A,I)}function C2(A,I){if(I.pagination){let{skip:g,take:B,cursor:Q}=I.pagination;if(g!==null&&g>0||B===0||Q!==null&&!BD(A,Q))return null}return CF(A,I.nested)}function CF(A,I){for(let[g,B]of Object.entries(I))A[g]=CD(A[g],B);return A}function E2(A,I){if(I.distinct!==null){let g=I.linkingFields!==null?[...I.distinct,...I.linkingFields]:I.distinct;A=D2(A,g)}return I.pagination&&(A=i2(A,I.pagination,I.linkingFields)),I.reverse&&A.reverse(),Object.keys(I.nested).length===0?A:A.map((g)=>CF(g,I.nested))}function D2(A,I){let g=new Set,B=[];for(let Q of A){let C=rg(Q,I);g.has(C)||(g.add(C),B.push(Q))}return B}function i2(A,I,g){if(g===null)return Sk(A,I);let B=new Map;for(let C of A){let E=rg(C,g);B.has(E)||B.set(E,[]),B.get(E).push(C)}let Q=Array.from(B.entries());return Q.sort(([C],[E])=>C<E?-1:C>E?1:0),Q.flatMap(([,C])=>Sk(C,I))}function Sk(A,{cursor:I,skip:g,take:B}){let Q=I!==null?A.findIndex((D)=>BD(D,I)):0;if(Q===-1)return[];let C=Q+(g??0),E=B!==null?C+B:A.length;return A.slice(C,E)}function rg(A,I,g){let B=I.map((Q,C)=>g?.[C]?A[Q]!==null?g[C](A[Q]):null:A[Q]);return JSON.stringify(B)}function EF(A){return typeof A=="object"&&A!==null&&A.prisma__type==="param"}function DF(A){return typeof A=="object"&&A!==null&&A.prisma__type==="generatorCall"}function Mk(A,I,g,B){let Q=A.args.map((C)=>XA(C,I,g));switch(A.type){case"rawSql":return[w2(A.sql,Q,A.argTypes)];case"templateSql":return(A.chunkable?k2(A.fragments,Q,B):[Q]).map((C)=>{let E=G2(A.fragments,A.placeholderFormat,C,A.argTypes);if(B!==void 0&&E.args.length>B)throw new FI("The query parameter limit supported by your database is exceeded.","P2029");return E});default:iA(A.type,"Invalid query type")}}function XA(A,I,g){for(;N2(A);)if(EF(A)){let B=I[A.prisma__value.name];if(B===void 0)throw Error(`Missing value for query variable ${A.prisma__value.name}`);A.prisma__value.type==="DateTime"&&typeof B=="string"?A=new Date(B):A=B}else if(DF(A)){let{name:B,args:Q}=A.prisma__value,C=g[B];if(!C)throw Error(`Encountered an unknown generator '${B}'`);A=C.generate(...Q.map((E)=>XA(E,I,g)))}else iA(A,`Unexpected unevaluated value type: ${A}`);return Array.isArray(A)&&(A=A.map((B)=>XA(B,I,g))),A}function G2(A,I,g,B){let Q="",C={placeholderNumber:1},E=[],D=[];for(let i of XE(A,g,B)){if(Q+=o2(i,I,C),i.type==="stringChunk")continue;let G=E.length,o=E.push(...iF(i))-G;if(i.argType.arity==="tuple"){if(o%i.argType.elements.length!==0)throw Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${o} parameters for a tuple of arity ${i.argType.elements.length}.`);for(let w=0;w<o/i.argType.elements.length;w++)D.push(...i.argType.elements)}else for(let w=0;w<o;w++)D.push(i.argType)}return{sql:Q,args:E,argTypes:D}}function o2(A,I,g){let B=A.type;switch(B){case"parameter":return JE(I,g.placeholderNumber++);case"stringChunk":return A.chunk;case"parameterTuple":return`(${A.value.length==0?"NULL":A.value.map(()=>{let Q=JE(I,g.placeholderNumber++);return`${A.itemPrefix}${Q}${A.itemSuffix}`}).join(A.itemSeparator)})`;case"parameterTupleList":return A.value.map((Q)=>{let C=Q.map(()=>JE(I,g.placeholderNumber++)).join(A.itemSeparator);return`${A.itemPrefix}${C}${A.itemSuffix}`}).join(A.groupSeparator);default:iA(B,"Invalid fragment type")}}function JE(A,I){return A.hasNumbering?`${A.prefix}${I}`:A.prefix}function w2(A,I,g){return{sql:A,args:I,argTypes:g}}function N2(A){return EF(A)||DF(A)}function*XE(A,I,g){let B=0;for(let Q of A)switch(Q.type){case"parameter":{if(B>=I.length)throw Error(`Malformed query template. Fragments attempt to read over ${I.length} parameters.`);yield{...Q,value:I[B],argType:g?.[B]},B++;break}case"stringChunk":{yield Q;break}case"parameterTuple":{if(B>=I.length)throw Error(`Malformed query template. Fragments attempt to read over ${I.length} parameters.`);let C=I[B];yield{...Q,value:Array.isArray(C)?C:[C],argType:g?.[B]},B++;break}case"parameterTupleList":{if(B>=I.length)throw Error(`Malformed query template. Fragments attempt to read over ${I.length} parameters.`);let C=I[B];if(!Array.isArray(C))throw Error("Malformed query template. Tuple list expected.");if(C.length===0)throw Error("Malformed query template. Tuple list cannot be empty.");for(let E of C)if(!Array.isArray(E))throw Error("Malformed query template. Tuple expected.");yield{...Q,value:C,argType:g?.[B]},B++;break}}}function*iF(A){switch(A.type){case"parameter":yield A.value;break;case"stringChunk":break;case"parameterTuple":yield*A.value;break;case"parameterTupleList":for(let I of A.value)yield*I;break}}function k2(A,I,g){let B=0,Q=0;for(let E of XE(A,I,void 0)){let D=0;for(let i of iF(E))D++;Q=Math.max(Q,D),B+=D}let C=[[]];for(let E of XE(A,I,void 0))switch(E.type){case"parameter":{for(let D of C)D.push(E.value);break}case"stringChunk":break;case"parameterTuple":{let D=E.value.length,i=[];if(g&&C.length===1&&D===Q&&B>g&&B-D<g){let G=g-(B-D);i=K2(E.value,G)}else i=[E.value];C=C.flatMap((G)=>i.map((o)=>[...G,o]));break}case"parameterTupleList":{let D=E.value.reduce((w,N)=>w+N.length,0),i=[],G=[],o=0;for(let w of E.value)g&&C.length===1&&D===Q&&G.length>0&&B-D+o+w.length>g&&(i.push(G),G=[],o=0),G.push(w),o+=w.length;G.length>0&&i.push(G),C=C.flatMap((w)=>i.map((N)=>[...w,N]));break}}return C}function K2(A,I){let g=[];for(let B=0;B<A.length;B+=I)g.push(A.slice(B,B+I));return g}function F2(A){return A.rows.map((I)=>I.reduce((g,B,Q)=>(g[A.columnNames[Q]]=B,g),{}))}function R2(A){return{columns:A.columnNames,types:A.columnTypes.map((I)=>S2(I)),rows:A.rows.map((I)=>I.map((g,B)=>dg(g,A.columnTypes[B])))}}function dg(A,I){if(A===null)return null;switch(I){case b.Int32:switch(typeof A){case"number":return Math.trunc(A);case"string":return Math.trunc(Number(A));default:throw Error(`Cannot serialize value of type ${typeof A} as Int32`)}case b.Int32Array:if(!Array.isArray(A))throw Error(`Cannot serialize value of type ${typeof A} as Int32Array`);return A.map((g)=>dg(g,b.Int32));case b.Int64:switch(typeof A){case"number":return BigInt(Math.trunc(A));case"string":return A;default:throw Error(`Cannot serialize value of type ${typeof A} as Int64`)}case b.Int64Array:if(!Array.isArray(A))throw Error(`Cannot serialize value of type ${typeof A} as Int64Array`);return A.map((g)=>dg(g,b.Int64));case b.Json:switch(typeof A){case"string":return JSON.parse(A);default:throw Error(`Cannot serialize value of type ${typeof A} as Json`)}case b.JsonArray:if(!Array.isArray(A))throw Error(`Cannot serialize value of type ${typeof A} as JsonArray`);return A.map((g)=>dg(g,b.Json));case b.Boolean:switch(typeof A){case"boolean":return A;case"string":return A==="true"||A==="1";case"number":return A===1;default:throw Error(`Cannot serialize value of type ${typeof A} as Boolean`)}case b.BooleanArray:if(!Array.isArray(A))throw Error(`Cannot serialize value of type ${typeof A} as BooleanArray`);return A.map((g)=>dg(g,b.Boolean));default:return A}}function S2(A){switch(A){case b.Int32:return"int";case b.Int64:return"bigint";case b.Float:return"float";case b.Double:return"double";case b.Text:return"string";case b.Enum:return"enum";case b.Bytes:return"bytes";case b.Boolean:return"bool";case b.Character:return"char";case b.Numeric:return"decimal";case b.Json:return"json";case b.Uuid:return"uuid";case b.DateTime:return"datetime";case b.Date:return"date";case b.Time:return"time";case b.Int32Array:return"int-array";case b.Int64Array:return"bigint-array";case b.FloatArray:return"float-array";case b.DoubleArray:return"double-array";case b.TextArray:return"string-array";case b.EnumArray:return"string-array";case b.BytesArray:return"bytes-array";case b.BooleanArray:return"bool-array";case b.CharacterArray:return"char-array";case b.NumericArray:return"decimal-array";case b.JsonArray:return"json-array";case b.UuidArray:return"uuid-array";case b.DateTimeArray:return"datetime-array";case b.DateArray:return"date-array";case b.TimeArray:return"time-array";case b.UnknownNumber:return"unknown";case b.Set:return"string";default:iA(A,`Unexpected column type: ${A}`)}}function M2(A,I,g){if(!I.every((B)=>GF(A,B))){let B=y2(A,g),Q=h2(g);throw new FI(B,Q,g.context)}}function GF(A,I){switch(I.type){case"rowCountEq":return Array.isArray(A)?A.length===I.args:A===null?I.args===0:I.args===1;case"rowCountNeq":return Array.isArray(A)?A.length!==I.args:A===null?I.args!==0:I.args!==1;case"affectedRowCountEq":return A===I.args;case"never":return!1;default:iA(I,`Unknown rule type: ${I.type}`)}}function y2(A,I){switch(I.errorIdentifier){case"RELATION_VIOLATION":return`The change you are trying to make would violate the required relation '${I.context.relation}' between the \`${I.context.modelA}\` and \`${I.context.modelB}\` models.`;case"MISSING_RECORD":return`An operation failed because it depends on one or more records that were required but not found. No record was found for ${I.context.operation}.`;case"MISSING_RELATED_RECORD":{let g=I.context.neededFor?` (needed to ${I.context.neededFor})`:"";return`An operation failed because it depends on one or more records that were required but not found. No '${I.context.model}' record${g} was found for ${I.context.operation} on ${I.context.relationType} relation '${I.context.relation}'.`}case"INCOMPLETE_CONNECT_INPUT":return`An operation failed because it depends on one or more records that were required but not found. Expected ${I.context.expectedRows} records to be connected, found only ${Array.isArray(A)?A.length:A}.`;case"INCOMPLETE_CONNECT_OUTPUT":return`The required connected records were not found. Expected ${I.context.expectedRows} records to be connected after connect operation on ${I.context.relationType} relation '${I.context.relation}', found ${Array.isArray(A)?A.length:A}.`;case"RECORDS_NOT_CONNECTED":return`The records for relation \`${I.context.relation}\` between the \`${I.context.parent}\` and \`${I.context.child}\` models are not connected.`;default:iA(I,`Unknown error identifier: ${I}`)}}function h2(A){switch(A.errorIdentifier){case"RELATION_VIOLATION":return"P2014";case"RECORDS_NOT_CONNECTED":return"P2017";case"INCOMPLETE_CONNECT_OUTPUT":return"P2018";case"MISSING_RECORD":case"MISSING_RELATED_RECORD":case"INCOMPLETE_CONNECT_INPUT":return"P2025";default:iA(A,`Unknown error identifier: ${A}`)}}var U2=class A{#A;#I=new _q;#g;#B;#Q;#C;#E;constructor({onQuery:I,tracingHelper:g,serializer:B,rawSerializer:Q,provider:C,connectionInfo:E}){this.#A=I,this.#g=g,this.#B=B,this.#Q=Q??B,this.#C=C,this.#E=E}static forSql(I){return new A({onQuery:I.onQuery,tracingHelper:I.tracingHelper,serializer:F2,rawSerializer:R2,provider:I.provider,connectionInfo:I.connectionInfo})}async run(I,g){let{value:B}=await this.interpretNode(I,{...g,generators:this.#I.snapshot()}).catch((Q)=>cQ(Q));return B}async interpretNode(I,g){switch(I.type){case"value":return{value:XA(I.args,g.scope,g.generators)};case"seq":{let B;for(let Q of I.args)B=await this.interpretNode(Q,g);return B??{value:void 0}}case"get":return{value:g.scope[I.args.name]};case"let":{let B=Object.create(g.scope);for(let Q of I.args.bindings){let{value:C}=await this.interpretNode(Q.expr,{...g,scope:B});B[Q.name]=C}return this.interpretNode(I.args.expr,{...g,scope:B})}case"getFirstNonEmpty":{for(let B of I.args.names){let Q=g.scope[B];if(!yk(Q))return{value:Q}}return{value:[]}}case"concat":{let B=await Promise.all(I.args.map((Q)=>this.interpretNode(Q,g).then((C)=>C.value)));return{value:B.length>0?B.reduce((Q,C)=>Q.concat(aE(C)),[]):[]}}case"sum":{let B=await Promise.all(I.args.map((Q)=>this.interpretNode(Q,g).then((C)=>C.value)));return{value:B.length>0?B.reduce((Q,C)=>nA(Q)+nA(C)):0}}case"execute":{let B=Mk(I.args,g.scope,g.generators,this.#D()),Q=0;for(let C of B){let E=hk(C,g.sqlCommenter);Q+=await this.#G(E,g.queryable,()=>g.queryable.executeRaw(HE(E)).catch((D)=>I.args.type==="rawSql"?Gk(D):cQ(D)))}return{value:Q}}case"query":{let B=Mk(I.args,g.scope,g.generators,this.#D()),Q;for(let C of B){let E=hk(C,g.sqlCommenter),D=await this.#G(E,g.queryable,()=>g.queryable.queryRaw(HE(E)).catch((i)=>I.args.type==="rawSql"?Gk(i):cQ(i)));Q===void 0?Q=D:(Q.rows.push(...D.rows),Q.lastInsertId=D.lastInsertId)}return{value:I.args.type==="rawSql"?this.#Q(Q):this.#B(Q),lastInsertId:Q?.lastInsertId}}case"reverse":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args,g);return{value:Array.isArray(B)?B.reverse():B,lastInsertId:Q}}case"unique":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args,g);if(!Array.isArray(B))return{value:B,lastInsertId:Q};if(B.length>1)throw Error(`Expected zero or one element, got ${B.length}`);return{value:B[0]??null,lastInsertId:Q}}case"required":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args,g);if(yk(B))throw Error("Required value is empty");return{value:B,lastInsertId:Q}}case"mapField":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.records,g);return{value:oF(B,I.args.field),lastInsertId:Q}}case"join":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.parent,g);if(B===null)return{value:null,lastInsertId:Q};let C=await Promise.all(I.args.children.map(async(E)=>({joinExpr:E,childRecords:(await this.interpretNode(E.child,g)).value})));return{value:Y2(B,C,I.args.canAssumeStrictEquality),lastInsertId:Q}}case"transaction":{if(!g.transactionManager.enabled)return this.interpretNode(I.args,g);let B=g.transactionManager.manager,Q=await B.startInternalTransaction(),C=await B.getTransaction(Q,"query");try{let E=await this.interpretNode(I.args,{...g,queryable:C});return await B.commitTransaction(Q.id),E}catch(E){throw await B.rollbackTransaction(Q.id),E}}case"dataMap":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.expr,g);return{value:Fq(B,I.args.structure,I.args.enums),lastInsertId:Q}}case"validate":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.expr,g);return M2(B,I.args.rules,I.args),{value:B,lastInsertId:Q}}case"if":{let{value:B}=await this.interpretNode(I.args.value,g);return GF(B,I.args.rule)?await this.interpretNode(I.args.then,g):await this.interpretNode(I.args.else,g)}case"unit":return{value:void 0};case"diff":{let{value:B}=await this.interpretNode(I.args.from,g),{value:Q}=await this.interpretNode(I.args.to,g),C=(D)=>D!==null?rg(vg(D),I.args.fields):null,E=new Set(aE(Q).map(C));return{value:aE(B).filter((D)=>!E.has(C(D)))}}case"process":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.expr,g),C=HE(I.args.operations);return wF(C,g.scope,g.generators),{value:CD(B,C),lastInsertId:Q}}case"initializeRecord":{let{lastInsertId:B}=await this.interpretNode(I.args.expr,g),Q={};for(let[C,E]of Object.entries(I.args.fields))Q[C]=a2(E,B,g.scope,g.generators);return{value:Q,lastInsertId:B}}case"mapRecord":{let{value:B,lastInsertId:Q}=await this.interpretNode(I.args.expr,g),C=B===null?{}:vg(B);for(let[E,D]of Object.entries(I.args.fields))C[E]=H2(D,C[E],g.scope,g.generators);return{value:C,lastInsertId:Q}}default:iA(I,`Unexpected node type: ${I.type}`)}}#D(){return this.#E?.maxBindValues!==void 0?this.#E.maxBindValues:this.#i()}#i(){if(this.#C!==void 0)switch(this.#C){case"cockroachdb":case"postgres":case"postgresql":case"prisma+postgres":return 32766;case"mysql":return 65535;case"sqlite":return 999;case"sqlserver":return 2098;case"mongodb":return;default:iA(this.#C,`Unexpected provider: ${this.#C}`)}}#G(I,g,B){return eK({query:I,execute:B,provider:this.#C??g.provider,tracingHelper:this.#g,onQuery:this.#A})}};function yk(A){return Array.isArray(A)?A.length===0:A==null}function aE(A){return Array.isArray(A)?A:[A]}function nA(A){if(typeof A=="number")return A;if(typeof A=="string")return Number(A);throw Error(`Expected number, got ${typeof A}`)}function vg(A){if(typeof A=="object"&&A!==null)return A;throw Error(`Expected object, got ${typeof A}`)}function oF(A,I){return Array.isArray(A)?A.map((g)=>oF(g,I)):typeof A=="object"&&A!==null?A[I]??null:A}function Y2(A,I,g){for(let{joinExpr:B,childRecords:Q}of I){let C=B.on.map(([o])=>o),E=B.on.map(([,o])=>o),D={},i=Array.isArray(A)?A:[A];for(let o of i){let w=vg(o),N=rg(w,C);D[N]||(D[N]=[]),D[N].push(w),B.isRelationUnique?w[B.parentField]=null:w[B.parentField]=[]}let G=g?void 0:J2(i,C);for(let o of Array.isArray(Q)?Q:[Q]){if(o===null)continue;let w=rg(vg(o),E,G);for(let N of D[w]??[])B.isRelationUnique?N[B.parentField]=o:N[B.parentField].push(o)}}return A}function J2(A,I){function g(C){switch(C){case"number":return Number;case"string":return String;case"boolean":return Boolean;case"bigint":return BigInt;default:return}}let B=Array.from({length:I.length}),Q=0;for(let C of A){let E=vg(C);for(let[D,i]of I.entries())if(E[i]!==null&&B[D]===void 0){let G=g(typeof E[i]);G!==void 0&&(B[D]=G),Q++}if(Q===I.length)break}return B}function a2(A,I,g,B){switch(A.type){case"value":return XA(A.value,g,B);case"lastInsertId":return I;default:iA(A,`Unexpected field initializer type: ${A.type}`)}}function H2(A,I,g,B){switch(A.type){case"set":return XA(A.value,g,B);case"add":return nA(I)+nA(XA(A.value,g,B));case"subtract":return nA(I)-nA(XA(A.value,g,B));case"multiply":return nA(I)*nA(XA(A.value,g,B));case"divide":{let Q=nA(I),C=nA(XA(A.value,g,B));return C===0?null:Q/C}default:iA(A,`Unexpected field operation type: ${A.type}`)}}function hk(A,I){if(!I||I.plugins.length===0)return A;let g=hq(I.plugins,{query:I.queryInfo,sql:A.sql});return g?{...A,sql:Uq(A.sql,g)}:A}function wF(A,I,g){let B=A.pagination?.cursor;if(B)for(let[Q,C]of Object.entries(B))B[Q]=XA(C,I,g);for(let Q of Object.values(A.nested))wF(Q,I,g)}function HE(A){return vA(A)}function c2(A){return new s2(A).deserialize()}function L2(A){return Buffer.from(A,"base64url")}var s2=class{#A;#I;#g=0;constructor(A){this.#A=A;let I=L2(A.graph);this.#I=new DataView(I.buffer,I.byteOffset,I.byteLength)}deserialize(){let{inputNodeCount:A,outputNodeCount:I,rootCount:g}=this.#D(),B=this.#i(A),Q=this.#G(I),C=this.#w(g);return{strings:this.#A.strings,inputNodes:B,outputNodes:Q,roots:C}}#B(){let A=0,I=0,g;do g=this.#I.getUint8(this.#g++),A|=(g&127)<<I,I+=7;while(g>=128);return A}#Q(){let A=this.#B();return A===0?void 0:A-1}#C(){let A=this.#I.getUint8(this.#g);return this.#g+=1,A}#E(){let A=this.#I.getUint16(this.#g,!0);return this.#g+=2,A}#D(){let A=this.#B(),I=this.#B(),g=this.#B();return{inputNodeCount:A,outputNodeCount:I,rootCount:g}}#i(A){let I=[];for(let g=0;g<A;g++){let B=this.#B(),Q={};for(let C=0;C<B;C++){let E=this.#B(),D=this.#E(),i=this.#Q(),G=this.#Q(),o={flags:this.#C()};D!==0&&(o.scalarMask=D),i!==void 0&&(o.childNodeId=i),G!==void 0&&(o.enumNameIndex=G),Q[E]=o}I.push({edges:Q})}return I}#G(A){let I=[];for(let g=0;g<A;g++){let B=this.#B(),Q={};for(let C=0;C<B;C++){let E=this.#B(),D=this.#Q(),i=this.#Q(),G={};D!==void 0&&(G.argsNodeId=D),i!==void 0&&(G.outputNodeId=i),Q[E]=G}I.push({edges:Q})}return I}#w(A){let I={};for(let g=0;g<A;g++){let B=this.#B(),Q=this.#Q(),C=this.#Q(),E=this.#A.strings[B],D={};Q!==void 0&&(D.argsNodeId=Q),C!==void 0&&(D.outputNodeId=C),I[E]=D}return I}},q2=class A{#A;#I;#g;constructor(I,g){this.#A=I,this.#g=g,this.#I=new Map;for(let B=0;B<I.strings.length;B++)this.#I.set(I.strings[B],B)}static deserialize(I,g){let B=c2(I);return new A(B,g)}static fromData(I,g){return new A(I,g)}root(I){let g=this.#A.roots[I];if(g)return{argsNodeId:g.argsNodeId,outputNodeId:g.outputNodeId}}inputNode(I){if(!(I===void 0||I<0||I>=this.#A.inputNodes.length))return{id:I}}outputNode(I){if(!(I===void 0||I<0||I>=this.#A.outputNodes.length))return{id:I}}inputEdge(I,g){if(!I)return;let B=this.#A.inputNodes[I.id];if(!B)return;let Q=this.#I.get(g);if(Q===void 0)return;let C=B.edges[Q];if(C)return{flags:C.flags,childNodeId:C.childNodeId,scalarMask:C.scalarMask??0,enumNameIndex:C.enumNameIndex}}outputEdge(I,g){if(!I)return;let B=this.#A.outputNodes[I.id];if(!B)return;let Q=this.#I.get(g);if(Q===void 0)return;let C=B.edges[Q];if(C)return{argsNodeId:C.argsNodeId,outputNodeId:C.outputNodeId}}enumValues(I){if(I?.enumNameIndex===void 0)return;let g=this.#A.strings[I.enumNameIndex];if(g)return this.#g(g)}getString(I){return this.#A.strings[I]}},NI={ParamScalar:1,ParamEnum:2,ParamListScalar:4,ParamListEnum:8,ListObject:16,Object:32},UA={String:1,Int:2,BigInt:4,Float:8,Decimal:16,Boolean:32,DateTime:64,Json:128,Bytes:256};function kI(A,I){return(A.flags&I)!==0}function gg(A){return A.scalarMask}var x2=new Set(["DateTime","Decimal","BigInt","Bytes","Json","Raw"]);function ED(A){if(A==null)return{kind:"null"};if(typeof A=="string")return{kind:"primitive",value:A};if(typeof A=="number")return{kind:"primitive",value:A};if(typeof A=="boolean")return{kind:"primitive",value:A};if(Array.isArray(A))return{kind:"array",items:A};if(typeof A=="object"){let I=A;if("$type"in I&&typeof I.$type=="string"){let g=I.$type;return x2.has(g)?{kind:"taggedScalar",tag:g,value:I.value}:{kind:"structural",value:I.value}}return{kind:"object",entries:I}}return{kind:"structural",value:A}}function p2(A){return typeof A=="object"&&A!==null&&!Array.isArray(A)&&!("$type"in A)}function Z2(A){return typeof A=="object"&&A!==null&&"$type"in A&&typeof A.$type=="string"}function W2(A,I){let g=new NF(I),B=A.modelName?`${A.modelName}.${A.action}`:A.action,Q=I.root(B);return{parameterizedQuery:{...A,query:g.parameterizeFieldSelection(A.query,Q?.argsNodeId,Q?.outputNodeId)},placeholderValues:g.getPlaceholderValues()}}function T2(A,I){let g=new NF(I),B=[];for(let Q=0;Q<A.batch.length;Q++){let C=A.batch[Q],E=C.modelName?`${C.modelName}.${C.action}`:C.action,D=I.root(E);B.push({...C,query:g.parameterizeFieldSelection(C.query,D?.argsNodeId,D?.outputNodeId)})}return{parameterizedBatch:{...A,batch:B},placeholderValues:g.getPlaceholderValues()}}var NF=class{#A;#I=new Map;#g=new Map;#B=1;constructor(A){this.#A=A}getPlaceholderValues(){return Object.fromEntries(this.#I)}#Q(A,I){let g=V2(A,I),B=this.#g.get(g);if(B!==void 0)return Uk(B,I);let Q=`%${this.#B++}`;return this.#g.set(g,Q),this.#I.set(Q,A),Uk(Q,I)}parameterizeFieldSelection(A,I,g){let B=this.#A.inputNode(I),Q=this.#A.outputNode(g),C={...A};return A.arguments&&A.arguments.$type!=="Raw"&&(C.arguments=this.#C(A.arguments,B)),A.selection&&(C.selection=this.#o(A.selection,Q)),C}#C(A,I){if(!I)return A;let g={};for(let[B,Q]of Object.entries(A)){let C=this.#A.inputEdge(I,B);C?g[B]=this.#E(Q,C):g[B]=Q}return g}#E(A,I){let g=ED(A);switch(g.kind){case"null":return A;case"structural":return A;case"primitive":return this.#D(g.value,I);case"taggedScalar":return this.#i(A,g.tag,I);case"array":return this.#G(g.items,A,I);case"object":return this.#w(g.entries,I);default:throw Error(`Unknown value kind ${g.kind}`)}}#D(A,I){if(kI(I,NI.ParamEnum)&&I.enumNameIndex!==void 0&&typeof A=="string"){let Q=this.#A.enumValues(I);if(Q&&Object.hasOwn(Q,A)){let C={type:"Enum"};return this.#Q(Q[A],C)}}if(!kI(I,NI.ParamScalar))return A;let g=gg(I);if(g===0)return A;let B=DD(A);return KF(B,g)?(g&UA.Json&&(A=JSON.stringify(A)),this.#Q(A,B)):A}#i(A,I,g){if(!kI(g,NI.ParamScalar))return A;let B=gg(g);if(B===0||!RF(I,B))return A;let Q=FF(A.$type),C=SF(A);return this.#Q(C,Q)}#G(A,I,g){if(kI(g,NI.ParamScalar)&&gg(g)&UA.Json){let B=Cg(WI(A)),Q={type:"Json"};return this.#Q(B,Q)}if(kI(g,NI.ParamEnum)){let B=this.#A.enumValues(g);if(B&&A.every((Q)=>typeof Q=="string"&&Object.hasOwn(B,Q))){let Q={type:"List",inner:{type:"Enum"}};return this.#Q(A,Q)}}if(kI(g,NI.ParamListScalar)&&A.every((B)=>X2(B,g))&&A.length>0){let B=A.map((C)=>P2(C)),Q={type:"List",inner:b2(A)};return this.#Q(B,Q)}if(kI(g,NI.ListObject)){let B=this.#A.inputNode(g.childNodeId);if(B)return A.map((Q)=>p2(Q)?this.#C(Q,B):Q)}return I}#w(A,I){if(kI(I,NI.Object)){let g=this.#A.inputNode(I.childNodeId);if(g)return this.#C(A,g)}if(gg(I)&UA.Json){let g=Cg(WI(A)),B={type:"Json"};return this.#Q(g,B)}return A}#o(A,I){if(!A||!I)return A;let g={};for(let[B,Q]of Object.entries(A)){if(B==="$scalars"||B==="$composites"||typeof Q=="boolean"){g[B]=Q;continue}let C=this.#A.outputEdge(I,B);if(C){let E=Q,D=this.#A.inputNode(C.argsNodeId),i=this.#A.outputNode(C.outputNodeId),G={selection:E.selection?this.#o(E.selection,i):{}};E.arguments&&(G.arguments=this.#C(E.arguments,D)),g[B]=G}else g[B]=Q}return g}};function Uk(A,I){return{$type:"Param",value:{name:A,...I}}}function kF(A){return A.type==="List"?`List<${kF(A.inner)}>`:A.type}function O2(A){return ArrayBuffer.isView(A)?Buffer.from(A.buffer,A.byteOffset,A.byteLength).toString("base64"):JSON.stringify(A)}function V2(A,I){let g=kF(I),B=O2(A);return`${g}:${B}`}var j2=2147483647,d2=-2147483648;function DD(A){switch(typeof A){case"boolean":return{type:"Boolean"};case"number":return Number.isInteger(A)?d2<=A&&A<=j2?{type:"Int"}:{type:"BigInt"}:{type:"Float"};case"string":return{type:"String"};default:throw Error("unreachable")}}function KF({type:A},I){switch(A){case"Boolean":return(I&UA.Boolean)!==0;case"Int":return(I&(UA.Int|UA.BigInt|UA.Float))!==0;case"BigInt":return(I&UA.BigInt)!==0;case"Float":return(I&UA.Float)!==0;case"String":return(I&UA.String)!==0;default:return!1}}function FF(A){switch(A){case"BigInt":case"Bytes":case"DateTime":case"Json":return{type:A};case"Decimal":return{type:"Float"};default:return}}function b2(A){let I={type:"Any"};for(let g of A){let B=ED(g),Q;switch(B.kind){case"primitive":Q=DD(B.value);break;case"taggedScalar":Q=FF(B.tag)??{type:"Any"};break;default:return{type:"Any"}}I=z2(I,Q)}return I}function z2(A,I){if(A.type==="Any")return I;if(I.type==="Any"||A.type===I.type)return A;let g={Int:0,BigInt:1,Float:2},B=g[A.type],Q=g[I.type];return B!==void 0&&Q!==void 0?B>=Q?A:I:{type:"Any"}}function RF(A,I){switch(A){case"DateTime":return(I&UA.DateTime)!==0;case"Decimal":return(I&UA.Decimal)!==0;case"BigInt":return(I&UA.BigInt)!==0;case"Bytes":return(I&UA.Bytes)!==0;case"Json":return(I&UA.Json)!==0;default:return!1}}function X2(A,I){let g=ED(A);switch(g.kind){case"structural":return!1;case"null":return!1;case"primitive":{let B=DD(g.value),Q=gg(I);return Q!==0&&KF(B,Q)}case"taggedScalar":{let B=gg(I);return B!==0&&RF(g.tag,B)}default:return!1}}function P2(A){return Z2(A)?SF(A):A}function SF(A){return A.value}async function f2(){return globalThis.crypto??await import("crypto")}async function l2(){return(await f2()).randomUUID()}async function m2(A,I){return new Promise((g)=>{A.addEventListener(I,g,{once:!0})})}var PA=class extends FI{name="TransactionManagerError";constructor(A,I){super("Transaction API error: "+A,"P2028",I)}},aQ=class extends PA{constructor(){super("Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting.")}},t2=class extends PA{constructor(A){super(`Transaction already closed: A ${A} cannot be executed on a committed transaction.`)}},u2=class extends PA{constructor(A){super(`Transaction already closed: A ${A} cannot be executed on a transaction that was rolled back.`)}},r2=class extends PA{constructor(){super("Unable to start a transaction in the given time.")}},v2=class extends PA{constructor(A,{timeout:I,timeTaken:g}){super(`A ${A} cannot be executed on an expired transaction. The timeout for this transaction was ${I} ms, however ${g} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`,{operation:A,timeout:I,timeTaken:g})}},LI=class extends PA{constructor(A){super(`Internal Consistency Error: ${A}`)}},n2=class extends PA{constructor(A){super(`Invalid isolation level: ${A}`,{isolationLevel:A})}},$2=100,eI=CI("prisma:client:transactionManager"),_2=()=>({sql:"COMMIT",args:[],argTypes:[]}),e2=()=>({sql:"ROLLBACK",args:[],argTypes:[]}),Ax=()=>({sql:'-- Implicit "COMMIT" query via underlying driver',args:[],argTypes:[]}),Ix=()=>({sql:'-- Implicit "ROLLBACK" query via underlying driver',args:[],argTypes:[]}),gx=class{transactions=new Map;closedTransactions=[];driverAdapter;transactionOptions;tracingHelper;#A;#I;constructor({driverAdapter:A,transactionOptions:I,tracingHelper:g,onQuery:B,provider:Q}){this.driverAdapter=A,this.transactionOptions=I,this.tracingHelper=g,this.#A=B,this.#I=Q}async startInternalTransaction(A){let I=A!==void 0?this.#k(A):{};return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#g(I))}async startTransaction(A){let I=A!==void 0?this.#k(A):this.transactionOptions;return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#g(I))}async#g(A){if(A.newTxId)return await this.#w(A.newTxId,"start",async(C)=>{if(C.status!=="running")throw new LI(`Transaction in invalid state ${C.status} when starting a nested transaction.`);if(!C.transaction)throw new LI("Transaction missing underlying driver transaction when starting a nested transaction.");C.depth+=1;let E=this.#Q(C);C.savepoints.push(E);try{await this.#C(C.transaction)(E)}catch(D){throw C.depth-=1,C.savepoints.pop(),D}return{id:C.id}});let I={id:await l2(),status:"waiting",timer:void 0,timeout:A.timeout,startedAt:Date.now(),transaction:void 0,operationQueue:Promise.resolve(),depth:1,savepoints:[],savepointCounter:0},g=new AbortController,B=Yk(()=>g.abort(),A.maxWait);B?.unref?.();let Q=this.driverAdapter.startTransaction(A.isolationLevel).catch(cQ);switch(I.transaction=await Promise.race([Q.finally(()=>clearTimeout(B)),m2(g.signal,"abort").then(()=>{})]),this.transactions.set(I.id,I),I.status){case"waiting":if(g.signal.aborted)throw Q.then((C)=>C.rollback()).catch((C)=>eI("error in discarded transaction:",C)),await this.#N(I,"timed_out"),new r2;return I.status="running",I.timer=this.#G(I.id,A.timeout),{id:I.id};case"timed_out":case"running":case"committed":case"rolled_back":throw new LI(`Transaction in invalid state ${I.status} although it just finished startup.`);default:iA(I.status,"Unknown transaction status.")}}async commitTransaction(A){return await this.tracingHelper.runInChildSpan("commit_transaction",async()=>{await this.#w(A,"commit",async(I)=>{if(I.depth>1){if(!I.transaction)throw new aQ;let g=I.savepoints.at(-1);if(!g)throw new LI(`Missing savepoint for nested commit. Depth: ${I.depth}, transactionId: ${I.id}`);try{await this.#D(I.transaction,g)}finally{I.savepoints.pop(),I.depth-=1}return}await this.#N(I,"committed")})})}async rollbackTransaction(A){return await this.tracingHelper.runInChildSpan("rollback_transaction",async()=>{await this.#w(A,"rollback",async(I)=>{if(I.depth>1){if(!I.transaction)throw new aQ;let g=I.savepoints.at(-1);if(!g)throw new LI(`Missing savepoint for nested rollback. Depth: ${I.depth}, transactionId: ${I.id}`);try{await this.#E(I.transaction)(g),await this.#D(I.transaction,g)}finally{I.savepoints.pop(),I.depth-=1}return}await this.#N(I,"rolled_back")})})}async getTransaction(A,I){let g=this.#B(A.id,I);if(g.status==="closing"&&(await g.closing,g=this.#B(A.id,I)),!g.transaction)throw new aQ;return g.transaction}#B(A,I){let g=this.transactions.get(A);if(!g){let B=this.closedTransactions.find((Q)=>Q.id===A);if(B)switch(eI("Transaction already closed.",{transactionId:A,status:B.status}),B.status){case"closing":case"waiting":case"running":throw new LI("Active transaction found in closed transactions list.");case"committed":throw new t2(I);case"rolled_back":throw new u2(I);case"timed_out":throw new v2(I,{timeout:B.timeout,timeTaken:Date.now()-B.startedAt})}else throw eI("Transaction not found.",A),new aQ}if(["committed","rolled_back","timed_out"].includes(g.status))throw new LI("Closed transaction found in active transactions map.");return g}async cancelAllTransactions(){await Promise.allSettled([...this.transactions.values()].map((A)=>this.#o(A,async()=>{let I=this.transactions.get(A.id);I&&await this.#N(I,"rolled_back")})))}#Q(A){return`prisma_sp_${A.savepointCounter++}`}#C(A){if(A.createSavepoint)return A.createSavepoint.bind(A);throw new PA(`Nested transactions are not supported by adapter "${A.adapterName}" (${A.provider}): createSavepoint is not implemented.`)}#E(A){if(A.rollbackToSavepoint)return A.rollbackToSavepoint.bind(A);throw new PA(`Nested transactions are not supported by adapter "${A.adapterName}" (${A.provider}): rollbackToSavepoint is not implemented.`)}async#D(A,I){A.releaseSavepoint&&await A.releaseSavepoint(I)}#i(A){eI("Transaction already committed or rolled back when timeout happened.",A)}#G(A,I){let g=Date.now(),B=Yk(async()=>{eI("Transaction timed out.",{transactionId:A,timeoutStartedAt:g,timeout:I});let Q=this.transactions.get(A);if(!Q){this.#i(A);return}await this.#o(Q,async()=>{let C=this.transactions.get(A);C&&["running","waiting"].includes(C.status)?await this.#N(C,"timed_out"):this.#i(A)})},I);return B?.unref?.(),B}async#w(A,I,g){let B=this.#B(A,I);return await this.#o(B,async()=>{let Q=this.#B(A,I);return await g(Q)})}async#o(A,I){let g=A.operationQueue,B;A.operationQueue=new Promise((Q)=>{B=Q}),await g;try{return await I()}finally{B()}}async#N(A,I){let g=async()=>{eI("Closing transaction.",{transactionId:A.id,status:I});try{if(A.transaction&&I==="committed")if(A.transaction.options.usePhantomQuery)await this.#K(Ax(),A.transaction,()=>A.transaction.commit());else{let B=_2();await this.#K(B,A.transaction,()=>A.transaction.executeRaw(B)).then(()=>A.transaction.commit(),(Q)=>{let C=()=>Promise.reject(Q);return A.transaction.rollback().then(C,C)})}else if(A.transaction)if(A.transaction.options.usePhantomQuery)await this.#K(Ix(),A.transaction,()=>A.transaction.rollback());else{let B=e2();try{await this.#K(B,A.transaction,()=>A.transaction.executeRaw(B))}finally{await A.transaction.rollback()}}}finally{A.status=I,clearTimeout(A.timer),A.timer=void 0,this.transactions.delete(A.id),this.closedTransactions.push(A),this.closedTransactions.length>$2&&this.closedTransactions.shift()}};A.status==="closing"?(await A.closing,this.#B(A.id,I==="committed"?"commit":"rollback")):await Object.assign(A,{status:"closing",reason:I,closing:g()}).closing}#k(A){if(!A.timeout)throw new PA("timeout is required");if(!A.maxWait)throw new PA("maxWait is required");if(A.isolationLevel==="SNAPSHOT")throw new n2(A.isolationLevel);return{...A,timeout:A.timeout,maxWait:A.maxWait}}#K(A,I,g){return eK({query:A,execute:g,provider:this.#I??I.provider,tracingHelper:this.tracingHelper,onQuery:this.#A})}};function Yk(A,I){return I!==void 0?setTimeout(A,I):void 0}var LA=CA(),MF="7.8.0",Jk={bigint:"bigint",date:"datetime",decimal:"decimal",bytes:"bytes"};function Bx(A){let I;try{I=JSON.parse(A)}catch(Q){throw Error(`Received invalid serialized parameters: ${Q.message}`)}if(!Array.isArray(I))throw Error("Received invalid serialized parameters: expected an array");let g=I.map((Q)=>yF(Q)),B=I.map((Q)=>Qx(Q));return{args:g,argTypes:B}}function yF(A){if(Array.isArray(A))return A.map((I)=>yF(I));if(typeof A=="object"&&A!==null&&"prisma__value"in A){if(!("prisma__type"in A))throw Error("Invalid serialized parameter, prisma__type should be present when prisma__value is present");return`${A.prisma__value}`}return typeof A=="object"&&A!==null?JSON.stringify(A):A}function Qx(A){return Array.isArray(A)?{scalarType:A.length>0?ak(A[0]):"unknown",arity:"list"}:{scalarType:ak(A),arity:"scalar"}}function ak(A){return typeof A=="object"&&A!==null&&"prisma__type"in A&&typeof A.prisma__type=="string"&&A.prisma__type in Jk?Jk[A.prisma__type]:typeof A=="number"?"decimal":typeof A=="string"?"string":"unknown"}function Cx(A,I){return{batch:A,transaction:I?.kind==="batch"?{isolationLevel:I.options.isolationLevel}:void 0}}function Ex(A){return A?A.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,(I)=>`${I[0]}5`):""}function Dx(A){return A.split(`
26
26
  `).map((I)=>I.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(`
27
27
  `)}var ix=fA(OH());function Gx({title:A,user:I="prisma",repo:g="prisma",template:B="bug_report.yml",body:Q}){return(0,ix.default)({user:I,repo:g,template:B,title:A,body:Q})}function ox({version:A,binaryTarget:I,title:g,description:B,engineVersion:Q,database:C,query:E}){let D=Sc(6000-(E?.length??0)),i=Dx(ZE(D)),G=B?`# Description
28
28
  \`\`\`
@@ -99,8 +99,8 @@ To prepare for this change:
99
99
  - If you want the current behavior, explicitly use 'sslmode=verify-full'
100
100
  - If you want libpq compatibility now, use 'uselibpqcompat=true&sslmode=${A}'
101
101
 
102
- See https://www.postgresql.org/docs/current/libpq-ssl.html for libpq SSL mode definitions.`)}jR.exports=wg;wg.parse=wg;wg.toClientConfig=VR;wg.parseIntoClientConfig=p8});var WD=M((nb,PR)=>{var Z8=Z("dns"),zR=oB(),bR=dR().parse,UA=function(A,I,g){if(I[A])return I[A];if(g===void 0)g=process.env["PG"+A.toUpperCase()];else if(g===!1);else g=process.env[g];return g||zR[A]},W8=function(){switch(process.env.PGSSLMODE){case"disable":return!1;case"prefer":case"require":case"verify-ca":case"verify-full":return!0;case"no-verify":return{rejectUnauthorized:!1}}return zR.ssl},Ng=function(A){return"'"+(""+A).replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"},OA=function(A,I,g){let B=I[g];if(B!==void 0&&B!==null)A.push(g+"="+Ng(B))};class XR{constructor(A){if(A=typeof A==="string"?bR(A):A||{},A.connectionString)A=Object.assign({},A,bR(A.connectionString));if(this.user=UA("user",A),this.database=UA("database",A),this.database===void 0)this.database=this.user;if(this.port=parseInt(UA("port",A),10),this.host=UA("host",A),Object.defineProperty(this,"password",{configurable:!0,enumerable:!1,writable:!0,value:UA("password",A)}),this.binary=UA("binary",A),this.options=UA("options",A),this.ssl=typeof A.ssl>"u"?W8():A.ssl,typeof this.ssl==="string"){if(this.ssl==="true")this.ssl=!0}if(this.ssl==="no-verify")this.ssl={rejectUnauthorized:!1};if(this.ssl&&this.ssl.key)Object.defineProperty(this.ssl,"key",{enumerable:!1});if(this.client_encoding=UA("client_encoding",A),this.replication=UA("replication",A),this.isDomainSocket=!(this.host||"").indexOf("/"),this.application_name=UA("application_name",A,"PGAPPNAME"),this.fallback_application_name=UA("fallback_application_name",A,!1),this.statement_timeout=UA("statement_timeout",A,!1),this.lock_timeout=UA("lock_timeout",A,!1),this.idle_in_transaction_session_timeout=UA("idle_in_transaction_session_timeout",A,!1),this.query_timeout=UA("query_timeout",A,!1),A.connectionTimeoutMillis===void 0)this.connect_timeout=process.env.PGCONNECT_TIMEOUT||0;else this.connect_timeout=Math.floor(A.connectionTimeoutMillis/1000);if(A.keepAlive===!1)this.keepalives=0;else if(A.keepAlive===!0)this.keepalives=1;if(typeof A.keepAliveInitialDelayMillis==="number")this.keepalives_idle=Math.floor(A.keepAliveInitialDelayMillis/1000)}getLibpqConnectionString(A){let I=[];OA(I,this,"user"),OA(I,this,"password"),OA(I,this,"port"),OA(I,this,"application_name"),OA(I,this,"fallback_application_name"),OA(I,this,"connect_timeout"),OA(I,this,"options");let g=typeof this.ssl==="object"?this.ssl:this.ssl?{sslmode:this.ssl}:{};if(OA(I,g,"sslmode"),OA(I,g,"sslca"),OA(I,g,"sslkey"),OA(I,g,"sslcert"),OA(I,g,"sslrootcert"),this.database)I.push("dbname="+Ng(this.database));if(this.replication)I.push("replication="+Ng(this.replication));if(this.host)I.push("host="+Ng(this.host));if(this.isDomainSocket)return A(null,I.join(" "));if(this.client_encoding)I.push("client_encoding="+Ng(this.client_encoding));Z8.lookup(this.host,function(B,Q){if(B)return A(B,null);return I.push("hostaddr="+Ng(Q)),A(null,I.join(" "))})}}PR.exports=XR});var TD=M(($b,mR)=>{var T8=GB(),fR=/^([A-Za-z]+)(?: (\d+))?(?: (\d+))?/;class lR{constructor(A,I){if(this.command=null,this.rowCount=null,this.oid=null,this.rows=[],this.fields=[],this._parsers=void 0,this._types=I,this.RowCtor=null,this.rowAsArray=A==="array",this.rowAsArray)this.parseRow=this._parseRowAsArray;this._prebuiltEmptyResultObject=null}addCommandComplete(A){let I;if(A.text)I=fR.exec(A.text);else I=fR.exec(A.command);if(I){if(this.command=I[1],I[3])this.oid=parseInt(I[2],10),this.rowCount=parseInt(I[3],10);else if(I[2])this.rowCount=parseInt(I[2],10)}}_parseRowAsArray(A){let I=Array(A.length);for(let g=0,B=A.length;g<B;g++){let Q=A[g];if(Q!==null)I[g]=this._parsers[g](Q);else I[g]=null}return I}parseRow(A){let I={...this._prebuiltEmptyResultObject};for(let g=0,B=A.length;g<B;g++){let Q=A[g],C=this.fields[g].name;if(Q!==null){let E=this.fields[g].format==="binary"?Buffer.from(Q):Q;I[C]=this._parsers[g](E)}else I[C]=null}return I}addRow(A){this.rows.push(A)}addFields(A){if(this.fields=A,this.fields.length)this._parsers=Array(A.length);let I=Object.create(null);for(let g=0;g<A.length;g++){let B=A[g];if(I[B.name]=null,this._types)this._parsers[g]=this._types.getTypeParser(B.dataTypeID,B.format||"text");else this._parsers[g]=T8.getTypeParser(B.dataTypeID,B.format||"text")}this._prebuiltEmptyResultObject={...I}}}mR.exports=lR});var nR=M((_b,vR)=>{var{EventEmitter:O8}=Z("events"),tR=TD(),uR=og();class rR extends O8{constructor(A,I,g){super();if(A=uR.normalizeQueryConfig(A,I,g),this.text=A.text,this.values=A.values,this.rows=A.rows,this.types=A.types,this.name=A.name,this.queryMode=A.queryMode,this.binary=A.binary,this.portal=A.portal||"",this.callback=A.callback,this._rowMode=A.rowMode,process.domain&&A.callback)this.callback=process.domain.bind(A.callback);this._result=new tR(this._rowMode,this.types),this._results=this._result,this._canceledDueToError=!1}requiresPreparation(){if(this.queryMode==="extended")return!0;if(this.name)return!0;if(this.rows)return!0;if(!this.text)return!1;if(!this.values)return!1;return this.values.length>0}_checkForMultirow(){if(this._result.command){if(!Array.isArray(this._results))this._results=[this._result];this._result=new tR(this._rowMode,this._result._types),this._results.push(this._result)}}handleRowDescription(A){this._checkForMultirow(),this._result.addFields(A.fields),this._accumulateRows=this.callback||!this.listeners("row").length}handleDataRow(A){let I;if(this._canceledDueToError)return;try{I=this._result.parseRow(A.fields)}catch(g){this._canceledDueToError=g;return}if(this.emit("row",I,this._result),this._accumulateRows)this._result.addRow(I)}handleCommandComplete(A,I){if(this._checkForMultirow(),this._result.addCommandComplete(A),this.rows)I.sync()}handleEmptyQuery(A){if(this.rows)A.sync()}handleError(A,I){if(this._canceledDueToError)A=this._canceledDueToError,this._canceledDueToError=!1;if(this.callback)return this.callback(A);this.emit("error",A)}handleReadyForQuery(A){if(this._canceledDueToError)return this.handleError(this._canceledDueToError,A);if(this.callback)try{this.callback(null,this._results)}catch(I){process.nextTick(()=>{throw I})}this.emit("end",this._results)}submit(A){if(typeof this.text!=="string"&&typeof this.name!=="string")return Error("A query must have either text or a name. Supplying neither is unsupported.");let I=A.parsedStatements[this.name];if(this.text&&I&&this.text!==I)return Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`);if(this.values&&!Array.isArray(this.values))return Error("Query values must be an array");if(this.requiresPreparation()){A.stream.cork&&A.stream.cork();try{this.prepare(A)}finally{A.stream.uncork&&A.stream.uncork()}}else A.query(this.text);return null}hasBeenParsed(A){return this.name&&A.parsedStatements[this.name]}handlePortalSuspended(A){this._getRows(A,this.rows)}_getRows(A,I){if(A.execute({portal:this.portal,rows:I}),!I)A.sync();else A.flush()}prepare(A){if(!this.hasBeenParsed(A))A.parse({text:this.text,name:this.name,types:this.types});try{A.bind({portal:this.portal,statement:this.name,values:this.values,binary:this.binary,valueMapper:uR.prepareValue})}catch(I){this.handleError(I,A);return}A.describe({type:"P",name:this.portal||""}),this._getRows(A,this.rows)}handleCopyInResponse(A){A.sendCopyFail("No source stream defined")}handleCopyData(A,I){}}vR.exports=rR});var OD=M((wS)=>{Object.defineProperty(wS,"__esModule",{value:!0});wS.NoticeMessage=wS.DataRowMessage=wS.CommandCompleteMessage=wS.ReadyForQueryMessage=wS.NotificationResponseMessage=wS.BackendKeyDataMessage=wS.AuthenticationMD5Password=wS.ParameterStatusMessage=wS.ParameterDescriptionMessage=wS.RowDescriptionMessage=wS.Field=wS.CopyResponse=wS.CopyDataMessage=wS.DatabaseError=wS.copyDone=wS.emptyQuery=wS.replicationStart=wS.portalSuspended=wS.noData=wS.closeComplete=wS.bindComplete=wS.parseComplete=void 0;wS.parseComplete={name:"parseComplete",length:5};wS.bindComplete={name:"bindComplete",length:5};wS.closeComplete={name:"closeComplete",length:5};wS.noData={name:"noData",length:5};wS.portalSuspended={name:"portalSuspended",length:5};wS.replicationStart={name:"replicationStart",length:4};wS.emptyQuery={name:"emptyQuery",length:4};wS.copyDone={name:"copyDone",length:4};class $R extends Error{constructor(A,I,g){super(A);this.length=I,this.name=g}}wS.DatabaseError=$R;class _R{constructor(A,I){this.length=A,this.chunk=I,this.name="copyData"}}wS.CopyDataMessage=_R;class eR{constructor(A,I,g,B){this.length=A,this.name=I,this.binary=g,this.columnTypes=Array(B)}}wS.CopyResponse=eR;class AS{constructor(A,I,g,B,Q,C,E){this.name=A,this.tableID=I,this.columnID=g,this.dataTypeID=B,this.dataTypeSize=Q,this.dataTypeModifier=C,this.format=E}}wS.Field=AS;class IS{constructor(A,I){this.length=A,this.fieldCount=I,this.name="rowDescription",this.fields=Array(this.fieldCount)}}wS.RowDescriptionMessage=IS;class gS{constructor(A,I){this.length=A,this.parameterCount=I,this.name="parameterDescription",this.dataTypeIDs=Array(this.parameterCount)}}wS.ParameterDescriptionMessage=gS;class BS{constructor(A,I,g){this.length=A,this.parameterName=I,this.parameterValue=g,this.name="parameterStatus"}}wS.ParameterStatusMessage=BS;class QS{constructor(A,I){this.length=A,this.salt=I,this.name="authenticationMD5Password"}}wS.AuthenticationMD5Password=QS;class CS{constructor(A,I,g){this.length=A,this.processID=I,this.secretKey=g,this.name="backendKeyData"}}wS.BackendKeyDataMessage=CS;class ES{constructor(A,I,g,B){this.length=A,this.processId=I,this.channel=g,this.payload=B,this.name="notification"}}wS.NotificationResponseMessage=ES;class DS{constructor(A,I){this.length=A,this.status=I,this.name="readyForQuery"}}wS.ReadyForQueryMessage=DS;class iS{constructor(A,I){this.length=A,this.text=I,this.name="commandComplete"}}wS.CommandCompleteMessage=iS;class GS{constructor(A,I){this.length=A,this.fields=I,this.name="dataRow",this.fieldCount=I.length}}wS.DataRowMessage=GS;class oS{constructor(A,I){this.length=A,this.message=I,this.name="notice"}}wS.NoticeMessage=oS});var RS=M((KS)=>{Object.defineProperty(KS,"__esModule",{value:!0});KS.Writer=void 0;class kS{constructor(A=256){this.size=A,this.offset=5,this.headerPosition=0,this.buffer=Buffer.allocUnsafe(A)}ensure(A){if(this.buffer.length-this.offset<A){let g=this.buffer,B=g.length+(g.length>>1)+A;this.buffer=Buffer.allocUnsafe(B),g.copy(this.buffer)}}addInt32(A){return this.ensure(4),this.buffer[this.offset++]=A>>>24&255,this.buffer[this.offset++]=A>>>16&255,this.buffer[this.offset++]=A>>>8&255,this.buffer[this.offset++]=A>>>0&255,this}addInt16(A){return this.ensure(2),this.buffer[this.offset++]=A>>>8&255,this.buffer[this.offset++]=A>>>0&255,this}addCString(A){if(!A)this.ensure(1);else{let I=Buffer.byteLength(A);this.ensure(I+1),this.buffer.write(A,this.offset,"utf-8"),this.offset+=I}return this.buffer[this.offset++]=0,this}addString(A=""){let I=Buffer.byteLength(A);return this.ensure(I),this.buffer.write(A,this.offset),this.offset+=I,this}add(A){return this.ensure(A.length),A.copy(this.buffer,this.offset),this.offset+=A.length,this}join(A){if(A){this.buffer[this.headerPosition]=A;let I=this.offset-(this.headerPosition+1);this.buffer.writeInt32BE(I,this.headerPosition+1)}return this.buffer.slice(A?0:5,this.offset)}flush(A){let I=this.join(A);return this.offset=5,this.headerPosition=0,this.buffer=Buffer.allocUnsafe(this.size),I}}KS.Writer=kS});var hS=M((MS)=>{Object.defineProperty(MS,"__esModule",{value:!0});MS.serialize=void 0;var VD=RS(),AA=new VD.Writer,BZ=(A)=>{AA.addInt16(3).addInt16(0);for(let B of Object.keys(A))AA.addCString(B).addCString(A[B]);AA.addCString("client_encoding").addCString("UTF8");let I=AA.addCString("").flush(),g=I.length+4;return new VD.Writer().addInt32(g).add(I).flush()},QZ=()=>{let A=Buffer.allocUnsafe(8);return A.writeInt32BE(8,0),A.writeInt32BE(80877103,4),A},CZ=(A)=>{return AA.addCString(A).flush(112)},EZ=function(A,I){return AA.addCString(A).addInt32(Buffer.byteLength(I)).addString(I),AA.flush(112)},DZ=function(A){return AA.addString(A).flush(112)},iZ=(A)=>{return AA.addCString(A).flush(81)},SS=[],GZ=(A)=>{let I=A.name||"";if(I.length>63)console.error("Warning! Postgres only supports 63 characters for query names."),console.error("You supplied %s (%s)",I,I.length),console.error("This can cause conflicts and silent errors executing queries");let g=A.types||SS,B=g.length,Q=AA.addCString(I).addCString(A.text).addInt16(B);for(let C=0;C<B;C++)Q.addInt32(g[C]);return AA.flush(80)},kg=new VD.Writer,oZ=function(A,I){for(let g=0;g<A.length;g++){let B=I?I(A[g],g):A[g];if(B==null)AA.addInt16(0),kg.addInt32(-1);else if(B instanceof Buffer)AA.addInt16(1),kg.addInt32(B.length),kg.add(B);else AA.addInt16(0),kg.addInt32(Buffer.byteLength(B)),kg.addString(B)}},wZ=(A={})=>{let I=A.portal||"",g=A.statement||"",B=A.binary||!1,Q=A.values||SS,C=Q.length;return AA.addCString(I).addCString(g),AA.addInt16(C),oZ(Q,A.valueMapper),AA.addInt16(C),AA.add(kg.flush()),AA.addInt16(1),AA.addInt16(B?1:0),AA.flush(66)},NZ=Buffer.from([69,0,0,0,9,0,0,0,0,0]),kZ=(A)=>{if(!A||!A.portal&&!A.rows)return NZ;let I=A.portal||"",g=A.rows||0,B=Buffer.byteLength(I),Q=4+B+1+4,C=Buffer.allocUnsafe(1+Q);return C[0]=69,C.writeInt32BE(Q,1),C.write(I,5,"utf-8"),C[B+5]=0,C.writeUInt32BE(g,C.length-4),C},KZ=(A,I)=>{let g=Buffer.allocUnsafe(16);return g.writeInt32BE(16,0),g.writeInt16BE(1234,4),g.writeInt16BE(5678,6),g.writeInt32BE(A,8),g.writeInt32BE(I,12),g},jD=(A,I)=>{let B=4+Buffer.byteLength(I)+1,Q=Buffer.allocUnsafe(1+B);return Q[0]=A,Q.writeInt32BE(B,1),Q.write(I,5,"utf-8"),Q[B]=0,Q},FZ=AA.addCString("P").flush(68),RZ=AA.addCString("S").flush(68),SZ=(A)=>{return A.name?jD(68,`${A.type}${A.name||""}`):A.type==="P"?FZ:RZ},MZ=(A)=>{let I=`${A.type}${A.name||""}`;return jD(67,I)},yZ=(A)=>{return AA.add(A).flush(100)},hZ=(A)=>{return jD(102,A)},eQ=(A)=>Buffer.from([A,0,0,0,4]),UZ=eQ(72),YZ=eQ(83),JZ=eQ(88),aZ=eQ(99),HZ={startup:BZ,password:CZ,requestSsl:QZ,sendSASLInitialResponseMessage:EZ,sendSCRAMClientFinalMessage:DZ,query:iZ,parse:GZ,bind:wZ,execute:kZ,describe:SZ,close:MZ,flush:()=>UZ,sync:()=>YZ,end:()=>JZ,copyData:yZ,copyDone:()=>aZ,copyFail:hZ,cancel:KZ};MS.serialize=HZ});var aS=M((YS)=>{Object.defineProperty(YS,"__esModule",{value:!0});YS.BufferReader=void 0;class US{constructor(A=0){this.offset=A,this.buffer=Buffer.allocUnsafe(0),this.encoding="utf-8"}setBuffer(A,I){this.offset=A,this.buffer=I}int16(){let A=this.buffer.readInt16BE(this.offset);return this.offset+=2,A}byte(){let A=this.buffer[this.offset];return this.offset++,A}int32(){let A=this.buffer.readInt32BE(this.offset);return this.offset+=4,A}uint32(){let A=this.buffer.readUInt32BE(this.offset);return this.offset+=4,A}string(A){let I=this.buffer.toString(this.encoding,this.offset,this.offset+A);return this.offset+=A,I}cstring(){let A=this.offset,I=A;while(this.buffer[I++]!==0);return this.offset=I,this.buffer.toString(this.encoding,A,I-1)}bytes(A){let I=this.buffer.slice(this.offset,this.offset+A);return this.offset+=A,I}}YS.BufferReader=US});var pS=M((qS)=>{Object.defineProperty(qS,"__esModule",{value:!0});qS.Parser=void 0;var QA=OD(),cZ=aS(),bD=1,LZ=4,HS=bD+LZ,qA=-1,dD=Buffer.allocUnsafe(0);class LS{constructor(A){if(this.buffer=dD,this.bufferLength=0,this.bufferOffset=0,this.reader=new cZ.BufferReader,(A===null||A===void 0?void 0:A.mode)==="binary")throw Error("Binary mode not supported yet");this.mode=(A===null||A===void 0?void 0:A.mode)||"text"}parse(A,I){this.mergeBuffer(A);let g=this.bufferOffset+this.bufferLength,B=this.bufferOffset;while(B+HS<=g){let Q=this.buffer[B],C=this.buffer.readUInt32BE(B+bD),E=bD+C;if(E+B<=g){let D=this.handlePacket(B+HS,Q,C,this.buffer);I(D),B+=E}else break}if(B===g)this.buffer=dD,this.bufferLength=0,this.bufferOffset=0;else this.bufferLength=g-B,this.bufferOffset=B}mergeBuffer(A){if(this.bufferLength>0){let I=this.bufferLength+A.byteLength;if(I+this.bufferOffset>this.buffer.byteLength){let B;if(I<=this.buffer.byteLength&&this.bufferOffset>=this.bufferLength)B=this.buffer;else{let Q=this.buffer.byteLength*2;while(I>=Q)Q*=2;B=Buffer.allocUnsafe(Q)}this.buffer.copy(B,0,this.bufferOffset,this.bufferOffset+this.bufferLength),this.buffer=B,this.bufferOffset=0}A.copy(this.buffer,this.bufferOffset+this.bufferLength),this.bufferLength=I}else this.buffer=A,this.bufferOffset=0,this.bufferLength=A.byteLength}handlePacket(A,I,g,B){let{reader:Q}=this;Q.setBuffer(A,B);let C;switch(I){case 50:C=QA.bindComplete;break;case 49:C=QA.parseComplete;break;case 51:C=QA.closeComplete;break;case 110:C=QA.noData;break;case 115:C=QA.portalSuspended;break;case 99:C=QA.copyDone;break;case 87:C=QA.replicationStart;break;case 73:C=QA.emptyQuery;break;case 68:C=jZ(Q);break;case 67:C=qZ(Q);break;case 90:C=sZ(Q);break;case 65:C=WZ(Q);break;case 82:C=zZ(Q,g);break;case 83:C=dZ(Q);break;case 75:C=bZ(Q);break;case 69:C=cS(Q,"error");break;case 78:C=cS(Q,"notice");break;case 84:C=TZ(Q);break;case 116:C=VZ(Q);break;case 71:C=pZ(Q);break;case 72:C=ZZ(Q);break;case 100:C=xZ(Q,g);break;default:return new QA.DatabaseError("received invalid response: "+I.toString(16),g,"error")}return Q.setBuffer(0,dD),C.length=g,C}}qS.Parser=LS;var sZ=(A)=>{let I=A.string(1);return new QA.ReadyForQueryMessage(qA,I)},qZ=(A)=>{let I=A.cstring();return new QA.CommandCompleteMessage(qA,I)},xZ=(A,I)=>{let g=A.bytes(I-4);return new QA.CopyDataMessage(qA,g)},pZ=(A)=>sS(A,"copyInResponse"),ZZ=(A)=>sS(A,"copyOutResponse"),sS=(A,I)=>{let g=A.byte()!==0,B=A.int16(),Q=new QA.CopyResponse(qA,I,g,B);for(let C=0;C<B;C++)Q.columnTypes[C]=A.int16();return Q},WZ=(A)=>{let I=A.int32(),g=A.cstring(),B=A.cstring();return new QA.NotificationResponseMessage(qA,I,g,B)},TZ=(A)=>{let I=A.int16(),g=new QA.RowDescriptionMessage(qA,I);for(let B=0;B<I;B++)g.fields[B]=OZ(A);return g},OZ=(A)=>{let I=A.cstring(),g=A.uint32(),B=A.int16(),Q=A.uint32(),C=A.int16(),E=A.int32(),D=A.int16()===0?"text":"binary";return new QA.Field(I,g,B,Q,C,E,D)},VZ=(A)=>{let I=A.int16(),g=new QA.ParameterDescriptionMessage(qA,I);for(let B=0;B<I;B++)g.dataTypeIDs[B]=A.int32();return g},jZ=(A)=>{let I=A.int16(),g=Array(I);for(let B=0;B<I;B++){let Q=A.int32();g[B]=Q===-1?null:A.string(Q)}return new QA.DataRowMessage(qA,g)},dZ=(A)=>{let I=A.cstring(),g=A.cstring();return new QA.ParameterStatusMessage(qA,I,g)},bZ=(A)=>{let I=A.int32(),g=A.int32();return new QA.BackendKeyDataMessage(qA,I,g)},zZ=(A,I)=>{let g=A.int32(),B={name:"authenticationOk",length:I};switch(g){case 0:break;case 3:if(B.length===8)B.name="authenticationCleartextPassword";break;case 5:if(B.length===12){B.name="authenticationMD5Password";let Q=A.bytes(4);return new QA.AuthenticationMD5Password(qA,Q)}break;case 10:{B.name="authenticationSASL",B.mechanisms=[];let Q;do if(Q=A.cstring(),Q)B.mechanisms.push(Q);while(Q)}break;case 11:B.name="authenticationSASLContinue",B.data=A.string(I-8);break;case 12:B.name="authenticationSASLFinal",B.data=A.string(I-8);break;default:throw Error("Unknown authenticationOk message type "+g)}return B},cS=(A,I)=>{let g={},B=A.string(1);while(B!=="\x00")g[B]=A.cstring(),B=A.string(1);let Q=g.M,C=I==="notice"?new QA.NoticeMessage(qA,Q):new QA.DatabaseError(Q,qA,I);return C.severity=g.S,C.code=g.C,C.detail=g.D,C.hint=g.H,C.position=g.P,C.internalPosition=g.p,C.internalQuery=g.q,C.where=g.W,C.schema=g.s,C.table=g.t,C.column=g.c,C.dataType=g.d,C.constraint=g.n,C.file=g.F,C.line=g.L,C.routine=g.R,C}});var zD=M((AC)=>{Object.defineProperty(AC,"__esModule",{value:!0});AC.DatabaseError=AC.serialize=AC.parse=void 0;var XZ=OD();Object.defineProperty(AC,"DatabaseError",{enumerable:!0,get:function(){return XZ.DatabaseError}});var PZ=hS();Object.defineProperty(AC,"serialize",{enumerable:!0,get:function(){return PZ.serialize}});var fZ=pS();function lZ(A,I){let g=new fZ.Parser;return A.on("data",(B)=>g.parse(B,I)),new Promise((B)=>A.on("end",()=>B()))}AC.parse=lZ});var WS=M((ZS)=>{Object.defineProperty(ZS,"__esModule",{value:!0});ZS.default={}});var OS=M((Dz,TS)=>{var{getStream:rZ,getSecureStream:vZ}=eZ();TS.exports={getStream:rZ,getSecureStream:vZ};function nZ(){function A(g){return new(Z("net")).Socket}function I(g){return Z("tls").connect(g)}return{getStream:A,getSecureStream:I}}function $Z(){function A(g){let{CloudflareSocket:B}=WS();return new B(g)}function I(g){return g.socket.startTls(g),g.socket}return{getStream:A,getSecureStream:I}}function _Z(){if(typeof navigator==="object"&&navigator!==null&&typeof navigator.userAgent==="string")return navigator.userAgent==="Cloudflare-Workers";if(typeof Response==="function"){let A=new Response(null,{cf:{thing:!0}});if(typeof A.cf==="object"&&A.cf!==null&&A.cf.thing)return!0}return!1}function eZ(){if(_Z())return $Z();return nZ()}});var XD=M((iz,jS)=>{var AW=Z("events").EventEmitter,{parse:IW,serialize:oA}=zD(),{getStream:gW,getSecureStream:BW}=OS(),QW=oA.flush(),CW=oA.sync(),EW=oA.end();class VS extends AW{constructor(A){super();if(A=A||{},this.stream=A.stream||gW(A.ssl),typeof this.stream==="function")this.stream=this.stream(A);this._keepAlive=A.keepAlive,this._keepAliveInitialDelayMillis=A.keepAliveInitialDelayMillis,this.parsedStatements={},this.ssl=A.ssl||!1,this._ending=!1,this._emitMessage=!1;let I=this;this.on("newListener",function(g){if(g==="message")I._emitMessage=!0})}connect(A,I){let g=this;this._connecting=!0,this.stream.setNoDelay(!0),this.stream.connect(A,I),this.stream.once("connect",function(){if(g._keepAlive)g.stream.setKeepAlive(!0,g._keepAliveInitialDelayMillis);g.emit("connect")});let B=function(Q){if(g._ending&&(Q.code==="ECONNRESET"||Q.code==="EPIPE"))return;g.emit("error",Q)};if(this.stream.on("error",B),this.stream.on("close",function(){g.emit("end")}),!this.ssl)return this.attachListeners(this.stream);this.stream.once("data",function(Q){switch(Q.toString("utf8")){case"S":break;case"N":return g.stream.end(),g.emit("error",Error("The server does not support SSL connections"));default:return g.stream.end(),g.emit("error",Error("There was an error establishing an SSL connection"))}let E={socket:g.stream};if(g.ssl!==!0){if(Object.assign(E,g.ssl),"key"in g.ssl)E.key=g.ssl.key}let D=Z("net");if(D.isIP&&D.isIP(I)===0)E.servername=I;try{g.stream=BW(E)}catch(i){return g.emit("error",i)}g.attachListeners(g.stream),g.stream.on("error",B),g.emit("sslconnect")})}attachListeners(A){IW(A,(I)=>{let g=I.name==="error"?"errorMessage":I.name;if(this._emitMessage)this.emit("message",I);this.emit(g,I)})}requestSsl(){this.stream.write(oA.requestSsl())}startup(A){this.stream.write(oA.startup(A))}cancel(A,I){this._send(oA.cancel(A,I))}password(A){this._send(oA.password(A))}sendSASLInitialResponseMessage(A,I){this._send(oA.sendSASLInitialResponseMessage(A,I))}sendSCRAMClientFinalMessage(A){this._send(oA.sendSCRAMClientFinalMessage(A))}_send(A){if(!this.stream.writable)return!1;return this.stream.write(A)}query(A){this._send(oA.query(A))}parse(A){this._send(oA.parse(A))}bind(A){this._send(oA.bind(A))}execute(A){this._send(oA.execute(A))}flush(){if(this.stream.writable)this.stream.write(QW)}sync(){this._ending=!0,this._send(CW)}ref(){this.stream.ref()}unref(){this.stream.unref()}end(){if(this._ending=!0,!this._connecting||!this.stream.writable){this.stream.end();return}return this.stream.write(EW,()=>{this.stream.end()})}close(A){this._send(oA.close(A))}describe(A){this._send(oA.describe(A))}sendCopyFromChunk(A){this._send(oA.copyData(A))}endCopyFrom(){this._send(oA.copyDone())}sendCopyFail(A){this._send(oA.copyFail(A))}}jS.exports=VS});var XS=M((Gz,zS)=>{var{Transform:DW}=Z("stream"),{StringDecoder:iW}=Z("string_decoder"),MI=Symbol("last"),IC=Symbol("decoder");function GW(A,I,g){let B;if(this.overflow){if(B=this[IC].write(A).split(this.matcher),B.length===1)return g();B.shift(),this.overflow=!1}else this[MI]+=this[IC].write(A),B=this[MI].split(this.matcher);this[MI]=B.pop();for(let Q=0;Q<B.length;Q++)try{bS(this,this.mapper(B[Q]))}catch(C){return g(C)}if(this.overflow=this[MI].length>this.maxLength,this.overflow&&!this.skipOverflow){g(Error("maximum buffer reached"));return}g()}function oW(A){if(this[MI]+=this[IC].end(),this[MI])try{bS(this,this.mapper(this[MI]))}catch(I){return A(I)}A()}function bS(A,I){if(I!==void 0)A.push(I)}function dS(A){return A}function wW(A,I,g){switch(A=A||/\r?\n/,I=I||dS,g=g||{},arguments.length){case 1:if(typeof A==="function")I=A,A=/\r?\n/;else if(typeof A==="object"&&!(A instanceof RegExp)&&!A[Symbol.split])g=A,A=/\r?\n/;break;case 2:if(typeof A==="function")g=I,I=A,A=/\r?\n/;else if(typeof I==="object")g=I,I=dS}g=Object.assign({},g),g.autoDestroy=!0,g.transform=GW,g.flush=oW,g.readableObjectMode=!0;let B=new DW(g);return B[MI]="",B[IC]=new iW("utf8"),B.matcher=A,B.mapper=I,B.maxLength=g.maxLength,B.skipOverflow=g.skipOverflow||!1,B.overflow=!1,B._destroy=function(Q,C){this._writableState.errorEmitted=!1,C(Q)},B}zS.exports=wW});var lS=M((aW,EI)=>{var PS=Z("path"),NW=Z("stream").Stream,kW=XS(),fS=Z("util"),KW=5432,gC=process.platform==="win32",NB=process.stderr,FW=56,RW=7,SW=61440,MW=32768;function yW(A){return(A&SW)==MW}var Kg=["host","port","database","user","password"],PD=Kg.length,hW=Kg[PD-1];function fD(){var A=NB instanceof NW&&NB.writable===!0;if(A){var I=Array.prototype.slice.call(arguments).concat(`
103
- `);NB.write(fS.format.apply(fS,I))}}Object.defineProperty(aW,"isWin",{get:function(){return gC},set:function(A){gC=A}});aW.warnTo=function(A){var I=NB;return NB=A,I};aW.getFileName=function(A){var I=A||process.env,g=I.PGPASSFILE||(gC?PS.join(I.APPDATA||"./","postgresql","pgpass.conf"):PS.join(I.HOME||"./",".pgpass"));return g};aW.usePgPass=function(A,I){if(Object.prototype.hasOwnProperty.call(process.env,"PGPASSWORD"))return!1;if(gC)return!0;if(I=I||"<unkn>",!yW(A.mode))return fD('WARNING: password file "%s" is not a plain file',I),!1;if(A.mode&(FW|RW))return fD('WARNING: password file "%s" has group or world access; permissions should be u=rw (0600) or less',I),!1;return!0};var UW=aW.match=function(A,I){return Kg.slice(0,-1).reduce(function(g,B,Q){if(Q==1){if(Number(A[B]||KW)===Number(I[B]))return g&&!0}return g&&(I[B]==="*"||I[B]===A[B])},!0)};aW.getPassword=function(A,I,g){var B,Q=I.pipe(kW());function C(i){var G=YW(i);if(G&&JW(G)&&UW(A,G))B=G[hW],Q.end()}var E=function(){I.destroy(),g(B)},D=function(i){I.destroy(),fD("WARNING: error on reading file: %s",i),g(void 0)};I.on("error",D),Q.on("data",C).on("end",E).on("error",D)};var YW=aW.parseLine=function(A){if(A.length<11||A.match(/^\s+#/))return null;var I="",g="",B=0,Q=0,C=0,E={},D=!1,i=function(o,w,N){var k=A.substring(w,N);if(!Object.hasOwnProperty.call(process.env,"PGPASS_NO_DEESCAPE"))k=k.replace(/\\([:\\])/g,"$1");E[Kg[o]]=k};for(var G=0;G<A.length-1;G+=1){if(I=A.charAt(G+1),g=A.charAt(G),D=B==PD-1,D){i(B,Q);break}if(G>=0&&I==":"&&g!=="\\")i(B,Q,G+1),Q=G+2,B+=1}return E=Object.keys(E).length===PD?E:null,E},JW=aW.isValidEntry=function(A){var I={0:function(E){return E.length>0},1:function(E){if(E==="*")return!0;return E=Number(E),isFinite(E)&&E>0&&E<9007199254740992&&Math.floor(E)===E},2:function(E){return E.length>0},3:function(E){return E.length>0},4:function(E){return E.length>0}};for(var g=0;g<Kg.length;g+=1){var B=I[g],Q=A[Kg[g]]||"",C=B(Q);if(!C)return!1}return!0}});var tS=M((Kz,lD)=>{var kz=Z("path"),mS=Z("fs"),BC=lS();lD.exports=function(A,I){var g=BC.getFileName();mS.stat(g,function(B,Q){if(B||!BC.usePgPass(Q,g))return I(void 0);var C=mS.createReadStream(g);BC.getPassword(A,C,I)})};lD.exports.warnTo=BC.warnTo});var $S=M((Fz,nS)=>{var qW=Z("events").EventEmitter,uS=og(),kB=Z("util"),QC=TR(),xW=_Q(),pW=WD(),vS=nR(),ZW=oB(),WW=XD(),TW=qD(),rS=kB.deprecate(()=>{},"Client.activeQuery is deprecated and will be removed in pg@9.0"),OW=kB.deprecate(()=>{},"Client.queryQueue is deprecated and will be removed in pg@9.0."),VW=kB.deprecate(()=>{},"pgpass support is deprecated and will be removed in pg@9.0. You can provide an async function as the password property to the Client/Pool constructor that returns a password instead. Within this function you can call the pgpass module in your own code."),jW=kB.deprecate(()=>{},"Passing a custom Promise implementation to the Client/Pool constructor is deprecated and will be removed in pg@9.0."),dW=kB.deprecate(()=>{},"Calling client.query() when the client is already executing a query is deprecated and will be removed in pg@9.0. Use async/await or an external async flow control mechanism instead.");function bW(A,I){if(typeof A==="number")return Number.isFinite(A)?A:I;if(typeof A==="string"&&A.trim()!==""){let g=Number(A);return Number.isFinite(g)?g:I}return I}class mD extends qW{constructor(A){super();this.connectionParameters=new pW(A),this.user=this.connectionParameters.user,this.database=this.connectionParameters.database,this.port=this.connectionParameters.port,this.host=this.connectionParameters.host,Object.defineProperty(this,"password",{configurable:!0,enumerable:!1,writable:!0,value:this.connectionParameters.password}),this.replication=this.connectionParameters.replication;let I=A||{};if(I.Promise)jW();if(this._Promise=I.Promise||global.Promise,this._types=new xW(I.types),this._ending=!1,this._ended=!1,this._connecting=!1,this._connected=!1,this._connectionError=!1,this._queryable=!0,this._activeQuery=null,this._txStatus=null,this.enableChannelBinding=Boolean(I.enableChannelBinding),this.scramMaxIterations=bW(I.scramMaxIterations,QC.DEFAULT_MAX_SCRAM_ITERATIONS),this.connection=I.connection||new WW({stream:I.stream,ssl:this.connectionParameters.ssl,keepAlive:I.keepAlive||!1,keepAliveInitialDelayMillis:I.keepAliveInitialDelayMillis||0,encoding:this.connectionParameters.client_encoding||"utf8"}),this._queryQueue=[],this.binary=I.binary||ZW.binary,this.processID=null,this.secretKey=null,this.ssl=this.connectionParameters.ssl||!1,this.ssl&&this.ssl.key)Object.defineProperty(this.ssl,"key",{enumerable:!1});this._connectionTimeoutMillis=I.connectionTimeoutMillis||0}get activeQuery(){return rS(),this._activeQuery}set activeQuery(A){rS(),this._activeQuery=A}_getActiveQuery(){return this._activeQuery}_errorAllQueries(A){let I=(B)=>{process.nextTick(()=>{B.handleError(A,this.connection)})},g=this._getActiveQuery();if(g)I(g),this._activeQuery=null;this._queryQueue.forEach(I),this._queryQueue.length=0}_connect(A){let I=this,g=this.connection;if(this._connectionCallback=A,this._connecting||this._connected){let B=Error("Client has already been connected. You cannot reuse a client.");process.nextTick(()=>{A(B)});return}if(this._connecting=!0,this._connectionTimeoutMillis>0){if(this.connectionTimeoutHandle=setTimeout(()=>{g._ending=!0,g.stream.destroy(Error("timeout expired"))},this._connectionTimeoutMillis),this.connectionTimeoutHandle.unref)this.connectionTimeoutHandle.unref()}if(this.host&&this.host.indexOf("/")===0)g.connect(this.host+"/.s.PGSQL."+this.port);else g.connect(this.port,this.host);g.on("connect",function(){if(I.ssl)g.requestSsl();else g.startup(I.getStartupConf())}),g.on("sslconnect",function(){g.startup(I.getStartupConf())}),this._attachListeners(g),g.once("end",()=>{let B=this._ending?Error("Connection terminated"):Error("Connection terminated unexpectedly");if(clearTimeout(this.connectionTimeoutHandle),this._errorAllQueries(B),this._ended=!0,!this._ending){if(this._connecting&&!this._connectionError)if(this._connectionCallback)this._connectionCallback(B);else this._handleErrorEvent(B);else if(!this._connectionError)this._handleErrorEvent(B)}process.nextTick(()=>{this.emit("end")})})}connect(A){if(A){this._connect(A);return}return new this._Promise((I,g)=>{this._connect((B)=>{if(B)g(B);else I(this)})})}_attachListeners(A){A.on("authenticationCleartextPassword",this._handleAuthCleartextPassword.bind(this)),A.on("authenticationMD5Password",this._handleAuthMD5Password.bind(this)),A.on("authenticationSASL",this._handleAuthSASL.bind(this)),A.on("authenticationSASLContinue",this._handleAuthSASLContinue.bind(this)),A.on("authenticationSASLFinal",this._handleAuthSASLFinal.bind(this)),A.on("backendKeyData",this._handleBackendKeyData.bind(this)),A.on("error",this._handleErrorEvent.bind(this)),A.on("errorMessage",this._handleErrorMessage.bind(this)),A.on("readyForQuery",this._handleReadyForQuery.bind(this)),A.on("notice",this._handleNotice.bind(this)),A.on("rowDescription",this._handleRowDescription.bind(this)),A.on("dataRow",this._handleDataRow.bind(this)),A.on("portalSuspended",this._handlePortalSuspended.bind(this)),A.on("emptyQuery",this._handleEmptyQuery.bind(this)),A.on("commandComplete",this._handleCommandComplete.bind(this)),A.on("parseComplete",this._handleParseComplete.bind(this)),A.on("copyInResponse",this._handleCopyInResponse.bind(this)),A.on("copyData",this._handleCopyData.bind(this)),A.on("notification",this._handleNotification.bind(this))}_getPassword(A){let I=this.connection;if(typeof this.password==="function")this._Promise.resolve().then(()=>this.password(this.connectionParameters)).then((g)=>{if(g!==void 0){if(typeof g!=="string"){I.emit("error",TypeError("Password must be a string"));return}this.connectionParameters.password=this.password=g}else this.connectionParameters.password=this.password=null;A()}).catch((g)=>{I.emit("error",g)});else if(this.password!==null)A();else try{tS()(this.connectionParameters,(B)=>{if(B!==void 0)VW(),this.connectionParameters.password=this.password=B;A()})}catch(g){this.emit("error",g)}}_handleAuthCleartextPassword(A){this._getPassword(()=>{this.connection.password(this.password)})}_handleAuthMD5Password(A){this._getPassword(async()=>{try{let I=await TW.postgresMd5PasswordHash(this.user,this.password,A.salt);this.connection.password(I)}catch(I){this.emit("error",I)}})}_handleAuthSASL(A){this._getPassword(()=>{try{this.saslSession=QC.startSession(A.mechanisms,this.enableChannelBinding&&this.connection.stream,this.scramMaxIterations),this.connection.sendSASLInitialResponseMessage(this.saslSession.mechanism,this.saslSession.response)}catch(I){this.connection.emit("error",I)}})}async _handleAuthSASLContinue(A){try{await QC.continueSession(this.saslSession,this.password,A.data,this.enableChannelBinding&&this.connection.stream),this.connection.sendSCRAMClientFinalMessage(this.saslSession.response)}catch(I){this.connection.emit("error",I)}}_handleAuthSASLFinal(A){try{QC.finalizeSession(this.saslSession,A.data),this.saslSession=null}catch(I){this.connection.emit("error",I)}}_handleBackendKeyData(A){this.processID=A.processID,this.secretKey=A.secretKey}_handleReadyForQuery(A){if(this._connecting){if(this._connecting=!1,this._connected=!0,clearTimeout(this.connectionTimeoutHandle),this._connectionCallback)this._connectionCallback(null,this),this._connectionCallback=null;this.emit("connect")}let I=this._getActiveQuery();if(this._activeQuery=null,this._txStatus=A?.status??null,this.readyForQuery=!0,I)I.handleReadyForQuery(this.connection);this._pulseQueryQueue()}_handleErrorWhileConnecting(A){if(this._connectionError)return;if(this._connectionError=!0,clearTimeout(this.connectionTimeoutHandle),this._connectionCallback)return this._connectionCallback(A);this.emit("error",A)}_handleErrorEvent(A){if(this._connecting)return this._handleErrorWhileConnecting(A);this._queryable=!1,this._errorAllQueries(A),this.emit("error",A)}_handleErrorMessage(A){if(this._connecting)return this._handleErrorWhileConnecting(A);let I=this._getActiveQuery();if(!I){this._handleErrorEvent(A);return}this._activeQuery=null,I.handleError(A,this.connection)}_handleRowDescription(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected rowDescription message from backend.");this._handleErrorEvent(g);return}I.handleRowDescription(A)}_handleDataRow(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected dataRow message from backend.");this._handleErrorEvent(g);return}I.handleDataRow(A)}_handlePortalSuspended(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected portalSuspended message from backend.");this._handleErrorEvent(g);return}I.handlePortalSuspended(this.connection)}_handleEmptyQuery(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected emptyQuery message from backend.");this._handleErrorEvent(g);return}I.handleEmptyQuery(this.connection)}_handleCommandComplete(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected commandComplete message from backend.");this._handleErrorEvent(g);return}I.handleCommandComplete(A,this.connection)}_handleParseComplete(){let A=this._getActiveQuery();if(A==null){let I=Error("Received unexpected parseComplete message from backend.");this._handleErrorEvent(I);return}if(A.name)this.connection.parsedStatements[A.name]=A.text}_handleCopyInResponse(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected copyInResponse message from backend.");this._handleErrorEvent(g);return}I.handleCopyInResponse(this.connection)}_handleCopyData(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected copyData message from backend.");this._handleErrorEvent(g);return}I.handleCopyData(A,this.connection)}_handleNotification(A){this.emit("notification",A)}_handleNotice(A){this.emit("notice",A)}getStartupConf(){let A=this.connectionParameters,I={user:A.user,database:A.database},g=A.application_name||A.fallback_application_name;if(g)I.application_name=g;if(A.replication)I.replication=""+A.replication;if(A.statement_timeout)I.statement_timeout=String(parseInt(A.statement_timeout,10));if(A.lock_timeout)I.lock_timeout=String(parseInt(A.lock_timeout,10));if(A.idle_in_transaction_session_timeout)I.idle_in_transaction_session_timeout=String(parseInt(A.idle_in_transaction_session_timeout,10));if(A.options)I.options=A.options;return I}cancel(A,I){if(A.activeQuery===I){let g=this.connection;if(this.host&&this.host.indexOf("/")===0)g.connect(this.host+"/.s.PGSQL."+this.port);else g.connect(this.port,this.host);g.on("connect",function(){g.cancel(A.processID,A.secretKey)})}else if(A._queryQueue.indexOf(I)!==-1)A._queryQueue.splice(A._queryQueue.indexOf(I),1)}setTypeParser(A,I,g){return this._types.setTypeParser(A,I,g)}getTypeParser(A,I){return this._types.getTypeParser(A,I)}escapeIdentifier(A){return uS.escapeIdentifier(A)}escapeLiteral(A){return uS.escapeLiteral(A)}_pulseQueryQueue(){if(this.readyForQuery===!0){this._activeQuery=this._queryQueue.shift();let A=this._getActiveQuery();if(A){this.readyForQuery=!1,this.hasExecuted=!0;let I=A.submit(this.connection);if(I)process.nextTick(()=>{A.handleError(I,this.connection),this.readyForQuery=!0,this._pulseQueryQueue()})}else if(this.hasExecuted)this._activeQuery=null,this.emit("drain")}}query(A,I,g){let B,Q;if(A==null)throw TypeError("Client was passed a null or undefined query");if(typeof A.submit==="function"){if(Q=B=A,!B.callback){if(typeof I==="function")B.callback=I;else if(g)B.callback=g}}else if(B=new vS(A,I,g),!B.callback)Q=new this._Promise((E,D)=>{B.callback=(i,G)=>i?D(i):E(G)}).catch((E)=>{throw Error.captureStackTrace(E),E});else if(typeof B.callback!=="function")throw TypeError("callback is not a function");let C=A.query_timeout||this.connectionParameters.query_timeout;if(C){let E=B.callback||(()=>{}),D=setTimeout(()=>{let i=Error("Query read timeout");process.nextTick(()=>{B.handleError(i,this.connection)}),E(i),B.callback=()=>{};let G=this._queryQueue.indexOf(B);if(G>-1)this._queryQueue.splice(G,1);this._pulseQueryQueue()},C);B.callback=(i,G)=>{clearTimeout(D),E(i,G)}}if(this.binary&&!B.binary)B.binary=!0;if(B._result&&!B._result._types)B._result._types=this._types;if(!this._queryable)return process.nextTick(()=>{B.handleError(Error("Client has encountered a connection error and is not queryable"),this.connection)}),Q;if(this._ending)return process.nextTick(()=>{B.handleError(Error("Client was closed and is not queryable"),this.connection)}),Q;if(this._queryQueue.length>0)dW();return this._queryQueue.push(B),this._pulseQueryQueue(),Q}ref(){this.connection.ref()}unref(){this.connection.unref()}getTransactionStatus(){return this._txStatus}end(A){if(this._ending=!0,!this.connection._connecting||this._ended)if(A){A();return}else return this._Promise.resolve();if(this._getActiveQuery()||!this._queryable)this.connection.stream.destroy();else this.connection.end();if(A)this.connection.once("end",A);else return new this._Promise((I)=>{this.connection.once("end",I)})}get queryQueue(){return OW(),this._queryQueue}}mD.Query=vS;nS.exports=mD});var gM=M((Rz,IM)=>{var zW=Z("events").EventEmitter,tD=function(){},_S=(A,I)=>{let g=A.findIndex(I);return g===-1?void 0:A.splice(g,1)[0]};class eS{constructor(A,I,g){this.client=A,this.idleListener=I,this.timeoutId=g}}class KB{constructor(A){this.callback=A}}function XW(){throw Error("Release called on client which has already been released to the pool.")}function CC(A,I){if(I)return{callback:I,result:void 0};let g,B,Q=function(E,D){E?g(E):B(D)},C=new A(function(E,D){B=E,g=D}).catch((E)=>{throw Error.captureStackTrace(E),E});return{callback:Q,result:C}}function PW(A,I){return function g(B){B.client=I,I.removeListener("error",g),I.on("error",()=>{A.log("additional client error after disconnection due to error",B)}),A._remove(I),A.emit("error",B,I)}}class AM extends zW{constructor(A,I){super();if(this.options=Object.assign({},A),A!=null&&"password"in A)Object.defineProperty(this.options,"password",{configurable:!0,enumerable:!1,writable:!0,value:A.password});if(A!=null&&A.ssl&&A.ssl.key)Object.defineProperty(this.options.ssl,"key",{enumerable:!1});if(this.options.max=this.options.max||this.options.poolSize||10,this.options.min=this.options.min||0,this.options.maxUses=this.options.maxUses||1/0,this.options.allowExitOnIdle=this.options.allowExitOnIdle||!1,this.options.maxLifetimeSeconds=this.options.maxLifetimeSeconds||0,this.log=this.options.log||function(){},this.Client=this.options.Client||I||uD().Client,this.Promise=this.options.Promise||global.Promise,typeof this.options.idleTimeoutMillis>"u")this.options.idleTimeoutMillis=1e4;this._clients=[],this._idle=[],this._expired=new WeakSet,this._pendingQueue=[],this._endCallback=void 0,this.ending=!1,this.ended=!1}_promiseTry(A){let I=this.Promise;if(typeof I.try==="function")return I.try(A);return new I((g)=>g(A()))}_isFull(){return this._clients.length>=this.options.max}_isAboveMin(){return this._clients.length>this.options.min}_pulseQueue(){if(this.log("pulse queue"),this.ended){this.log("pulse queue ended");return}if(this.ending){if(this.log("pulse queue on ending"),this._idle.length)this._idle.slice().map((I)=>{this._remove(I.client)});if(!this._clients.length)this.ended=!0,this._endCallback();return}if(!this._pendingQueue.length){this.log("no queued requests");return}if(!this._idle.length&&this._isFull())return;let A=this._pendingQueue.shift();if(this._idle.length){let I=this._idle.pop();clearTimeout(I.timeoutId);let g=I.client;g.ref&&g.ref();let B=I.idleListener;return this._acquireClient(g,A,B,!1)}if(!this._isFull())return this.newClient(A);throw Error("unexpected condition")}_remove(A,I){let g=_S(this._idle,(Q)=>Q.client===A);if(g!==void 0)clearTimeout(g.timeoutId);this._clients=this._clients.filter((Q)=>Q!==A);let B=this;A.end(()=>{if(B.emit("remove",A),typeof I==="function")I()})}connect(A){if(this.ending){let B=Error("Cannot use a pool after calling end on the pool");return A?A(B):this.Promise.reject(B)}let I=CC(this.Promise,A),g=I.result;if(this._isFull()||this._idle.length){if(this._idle.length)process.nextTick(()=>this._pulseQueue());if(!this.options.connectionTimeoutMillis)return this._pendingQueue.push(new KB(I.callback)),g;let B=(E,D,i)=>{clearTimeout(C),I.callback(E,D,i)},Q=new KB(B),C=setTimeout(()=>{_S(this._pendingQueue,(E)=>E.callback===B),Q.timedOut=!0,I.callback(Error("timeout exceeded when trying to connect"))},this.options.connectionTimeoutMillis);if(C.unref)C.unref();return this._pendingQueue.push(Q),g}return this.newClient(new KB(I.callback)),g}newClient(A){let I=new this.Client(this.options);this._clients.push(I);let g=PW(this,I);this.log("checking client timeout");let B,Q=!1;if(this.options.connectionTimeoutMillis)B=setTimeout(()=>{if(I.connection)this.log("ending client due to timeout"),Q=!0,I.connection.stream.destroy();else if(!I.isConnected())this.log("ending client due to timeout"),Q=!0,I.end()},this.options.connectionTimeoutMillis);this.log("connecting new client"),I.connect((C)=>{if(B)clearTimeout(B);if(I.on("error",g),C){if(this.log("client failed to connect",C),this._clients=this._clients.filter((E)=>E!==I),Q)C=Error("Connection terminated due to connection timeout",{cause:C});if(this._pulseQueue(),!A.timedOut)A.callback(C,void 0,tD)}else{if(this.log("new client connected"),this.options.onConnect){this._promiseTry(()=>this.options.onConnect(I)).then(()=>{this._afterConnect(I,A,g)},(E)=>{this._clients=this._clients.filter((D)=>D!==I),I.end(()=>{if(this._pulseQueue(),!A.timedOut)A.callback(E,void 0,tD)})});return}return this._afterConnect(I,A,g)}})}_afterConnect(A,I,g){if(this.options.maxLifetimeSeconds!==0){let B=setTimeout(()=>{if(this.log("ending client due to expired lifetime"),this._expired.add(A),this._idle.findIndex((C)=>C.client===A)!==-1)this._acquireClient(A,new KB((C,E,D)=>D()),g,!1)},this.options.maxLifetimeSeconds*1000);B.unref(),A.once("end",()=>clearTimeout(B))}return this._acquireClient(A,I,g,!0)}_acquireClient(A,I,g,B){if(B)this.emit("connect",A);if(this.emit("acquire",A),A.release=this._releaseOnce(A,g),A.removeListener("error",g),!I.timedOut)if(B&&this.options.verify)this.options.verify(A,(Q)=>{if(Q)return A.release(Q),I.callback(Q,void 0,tD);I.callback(void 0,A,A.release)});else I.callback(void 0,A,A.release);else if(B&&this.options.verify)this.options.verify(A,A.release);else A.release()}_releaseOnce(A,I){let g=!1;return(B)=>{if(g)XW();g=!0,this._release(A,I,B)}}_release(A,I,g){if(A.on("error",I),A._poolUseCount=(A._poolUseCount||0)+1,this.emit("release",g,A),g||this.ending||!A._queryable||A._ending||A._poolUseCount>=this.options.maxUses){if(A._poolUseCount>=this.options.maxUses)this.log("remove expended client");return this._remove(A,this._pulseQueue.bind(this))}if(this._expired.has(A))return this.log("remove expired client"),this._expired.delete(A),this._remove(A,this._pulseQueue.bind(this));let Q;if(this.options.idleTimeoutMillis&&this._isAboveMin()){if(Q=setTimeout(()=>{if(this._isAboveMin())this.log("remove idle client"),this._remove(A,this._pulseQueue.bind(this))},this.options.idleTimeoutMillis),this.options.allowExitOnIdle)Q.unref()}if(this.options.allowExitOnIdle)A.unref();this._idle.push(new eS(A,I,Q)),this._pulseQueue()}query(A,I,g){if(typeof A==="function"){let Q=CC(this.Promise,A);return setImmediate(function(){return Q.callback(Error("Passing a function as the first parameter to pool.query is not supported"))}),Q.result}if(typeof I==="function")g=I,I=void 0;let B=CC(this.Promise,g);return g=B.callback,this.connect((Q,C)=>{if(Q)return g(Q);let E=!1,D=(i)=>{if(E)return;E=!0,C.release(i),g(i)};C.once("error",D),this.log("dispatching query");try{C.query(A,I,(i,G)=>{if(this.log("query dispatched"),C.removeListener("error",D),E)return;if(E=!0,C.release(i),i)return g(i);return g(void 0,G)})}catch(i){return C.release(i),g(i)}}),B.result}end(A){if(this.log("ending"),this.ending){let g=Error("Called end on pool more than once");return A?A(g):this.Promise.reject(g)}this.ending=!0;let I=CC(this.Promise,A);return this._endCallback=I.callback,this._pulseQueue(),I.result}get waitingCount(){return this._pendingQueue.length}get idleCount(){return this._idle.length}get expiredCount(){return this._clients.reduce((A,I)=>A+(this._expired.has(I)?1:0),0)}get totalCount(){return this._clients.length}}IM.exports=AM});var CM=M((Sz,QM)=>{var BM=Z("events").EventEmitter,fW=Z("util"),rD=og(),Fg=QM.exports=function(A,I,g){BM.call(this),A=rD.normalizeQueryConfig(A,I,g),this.text=A.text,this.values=A.values,this.name=A.name,this.queryMode=A.queryMode,this.callback=A.callback,this.state="new",this._arrayMode=A.rowMode==="array",this._emitRowEvents=!1,this.on("newListener",function(B){if(B==="row")this._emitRowEvents=!0}.bind(this))};fW.inherits(Fg,BM);var lW={sqlState:"code",statementPosition:"position",messagePrimary:"message",context:"where",schemaName:"schema",tableName:"table",columnName:"column",dataTypeName:"dataType",constraintName:"constraint",sourceFile:"file",sourceLine:"line",sourceFunction:"routine"};Fg.prototype.handleError=function(A){let I=this.native.pq.resultErrorFields();if(I)for(let g in I){let B=lW[g]||g;A[B]=I[g]}if(this.callback)this.callback(A);else this.emit("error",A);this.state="error"};Fg.prototype.then=function(A,I){return this._getPromise().then(A,I)};Fg.prototype.catch=function(A){return this._getPromise().catch(A)};Fg.prototype._getPromise=function(){if(this._promise)return this._promise;return this._promise=new Promise(function(A,I){this._once("end",A),this._once("error",I)}.bind(this)),this._promise};Fg.prototype.submit=function(A){this.state="running";let I=this;this.native=A.native,A.native.arrayMode=this._arrayMode;let g=function(B,Q,C){if(A.native.arrayMode=!1,setImmediate(function(){I.emit("_done")}),B)return I.handleError(B);if(I._emitRowEvents)if(C.length>1)Q.forEach((E,D)=>{E.forEach((i)=>{I.emit("row",i,C[D])})});else Q.forEach(function(E){I.emit("row",E,C)});if(I.state="end",I.emit("end",C),I.callback)I.callback(null,C)};if(process.domain)g=process.domain.bind(g);if(this.name){if(this.name.length>63)console.error("Warning! Postgres only supports 63 characters for query names."),console.error("You supplied %s (%s)",this.name,this.name.length),console.error("This can cause conflicts and silent errors executing queries");let B=(this.values||[]).map(rD.prepareValue);if(A.namedQueries[this.name]){if(this.text&&A.namedQueries[this.name]!==this.text){let Q=Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`);return g(Q)}return A.native.execute(this.name,B,g)}return A.native.prepare(this.name,this.text,B.length,function(Q){if(Q)return g(Q);return A.namedQueries[I.name]=I.text,I.native.execute(I.name,B,g)})}else if(this.values){if(!Array.isArray(this.values)){let Q=Error("Query values must be an array");return g(Q)}let B=this.values.map(rD.prepareValue);A.native.query(this.text,B,g)}else if(this.queryMode==="extended")A.native.query(this.text,[],g);else A.native.query(this.text,g)}});var vD=M((Mz,GM)=>{var mW=Z("util"),EM;try{EM=(()=>{throw new Error("Cannot require module "+"pg-native");})()}catch(A){throw A}var tW=_Q(),DM=Z("events").EventEmitter,uW=Z("util"),rW=WD(),iM=CM(),vW=mW.deprecate(()=>{},"Calling client.query() when the client is already executing a query is deprecated and will be removed in pg@9.0. Use async/await or an external async flow control mechanism instead."),SA=GM.exports=function(A){DM.call(this),A=A||{},this._Promise=A.Promise||global.Promise,this._types=new tW(A.types),this.native=new EM({types:this._types}),this._queryQueue=[],this._ending=!1,this._connecting=!1,this._connected=!1,this._queryable=!0;let I=this.connectionParameters=new rW(A);if(A.nativeConnectionString)I.nativeConnectionString=A.nativeConnectionString;this.user=I.user,Object.defineProperty(this,"password",{configurable:!0,enumerable:!1,writable:!0,value:I.password}),this.database=I.database,this.host=I.host,this.port=I.port,this.namedQueries={}};SA.Query=iM;uW.inherits(SA,DM);SA.prototype._errorAllQueries=function(A){let I=(g)=>{process.nextTick(()=>{g.native=this.native,g.handleError(A)})};if(this._hasActiveQuery())I(this._activeQuery),this._activeQuery=null;this._queryQueue.forEach(I),this._queryQueue.length=0};SA.prototype._connect=function(A){let I=this;if(this._connecting){process.nextTick(()=>A(Error("Client has already been connected. You cannot reuse a client.")));return}this._connecting=!0,this.connectionParameters.getLibpqConnectionString(function(g,B){if(I.connectionParameters.nativeConnectionString)B=I.connectionParameters.nativeConnectionString;if(g)return A(g);I.native.connect(B,function(Q){if(Q)return I.native.end(),A(Q);I._connected=!0,I.native.on("error",function(C){I._queryable=!1,I._errorAllQueries(C),I.emit("error",C)}),I.native.on("notification",function(C){I.emit("notification",{channel:C.relname,payload:C.extra})}),I.emit("connect"),I._pulseQueryQueue(!0),A(null,this)})})};SA.prototype.connect=function(A){if(A){this._connect(A);return}return new this._Promise((I,g)=>{this._connect((B)=>{if(B)g(B);else I(this)})})};SA.prototype.query=function(A,I,g){let B,Q,C,E,D;if(A===null||A===void 0)throw TypeError("Client was passed a null or undefined query");else if(typeof A.submit==="function"){if(C=A.query_timeout||this.connectionParameters.query_timeout,Q=B=A,typeof I==="function")A.callback=I}else if(C=A.query_timeout||this.connectionParameters.query_timeout,B=new iM(A,I,g),!B.callback){let i,G;Q=new this._Promise((o,w)=>{i=o,G=w}).catch((o)=>{throw Error.captureStackTrace(o),o}),B.callback=(o,w)=>o?G(o):i(w)}if(C)D=B.callback||(()=>{}),E=setTimeout(()=>{let i=Error("Query read timeout");process.nextTick(()=>{B.handleError(i,this.connection)}),D(i),B.callback=()=>{};let G=this._queryQueue.indexOf(B);if(G>-1)this._queryQueue.splice(G,1);this._pulseQueryQueue()},C),B.callback=(i,G)=>{clearTimeout(E),D(i,G)};if(!this._queryable)return B.native=this.native,process.nextTick(()=>{B.handleError(Error("Client has encountered a connection error and is not queryable"))}),Q;if(this._ending)return B.native=this.native,process.nextTick(()=>{B.handleError(Error("Client was closed and is not queryable"))}),Q;if(this._queryQueue.length>0)vW();return this._queryQueue.push(B),this._pulseQueryQueue(),Q};SA.prototype.end=function(A){let I=this;if(this._ending=!0,this._connecting&&!this._connected)this.once("connect",()=>{this.end(()=>{})});let g;if(!A)g=new this._Promise(function(B,Q){A=(C)=>C?Q(C):B()});return this.native.end(function(){I._connected=!1,I._errorAllQueries(Error("Connection terminated")),process.nextTick(()=>{if(I.emit("end"),A)A()})}),g};SA.prototype._hasActiveQuery=function(){return this._activeQuery&&this._activeQuery.state!=="error"&&this._activeQuery.state!=="end"};SA.prototype._pulseQueryQueue=function(A){if(!this._connected)return;if(this._hasActiveQuery())return;let I=this._queryQueue.shift();if(!I){if(!A)this.emit("drain");return}this._activeQuery=I,I.submit(this);let g=this;I.once("_done",function(){g._pulseQueryQueue()})};SA.prototype.cancel=function(A){if(this._activeQuery===A)this.native.cancel(function(){});else if(this._queryQueue.indexOf(A)!==-1)this._queryQueue.splice(this._queryQueue.indexOf(A),1)};SA.prototype.ref=function(){};SA.prototype.unref=function(){};SA.prototype.setTypeParser=function(A,I,g){return this._types.setTypeParser(A,I,g)};SA.prototype.getTypeParser=function(A,I){return this._types.getTypeParser(A,I)};SA.prototype.isConnected=function(){return this._connected};SA.prototype.getTransactionStatus=function(){return this.native.getTransactionStatus()}});var uD=M((yz,EC)=>{var nW=$S(),$W=oB(),_W=XD(),eW=TD(),AT=og(),IT=gM(),gT=_Q(),{DatabaseError:BT}=zD(),{escapeIdentifier:QT,escapeLiteral:CT}=og(),ET=(A)=>{return class extends IT{constructor(g){super(g,A)}}},oM=function(A){this.defaults=$W,this.Client=A,this.Query=this.Client.Query,this.Pool=ET(this.Client),this._pools=[],this.Connection=_W,this.types=GB(),this.DatabaseError=BT,this.TypeOverrides=gT,this.escapeIdentifier=QT,this.escapeLiteral=CT,this.Result=eW,this.utils=AT},wM=nW,NM=!1;try{NM=!!process.env.NODE_PG_FORCE_NATIVE}catch{}if(NM)wM=vD();EC.exports=new oM(wM);Object.defineProperty(EC.exports,"native",{configurable:!0,enumerable:!1,get(){let A=null;try{A=new oM(vD())}catch(I){if(I.code!=="MODULE_NOT_FOUND")throw I}return Object.defineProperty(EC.exports,"native",{value:A}),A}})});class dI extends Error{constructor(A,I){super(`Client with ID '${A}' not found. Terminated at address: '${I}'.`);this.name="UnknownClientError"}}class AI extends Error{constructor(A){super(`Timeout waiting for RPC method response '${A}'`);this.name="GlobalRPCTimeoutError"}}class UI extends Error{static message="Network authority not found for networkId";constructor(A){super(`${UI.message}: '${A}'`);this.name="NetworkAuthorityNotFoundError"}}var wC="No network authority found";class bI extends Error{}var YI=(A)=>{if(A.includes(":"))throw new bI("Channel name cannot contain :");if(A.includes("/"))throw new bI("Channel name cannot contain /");if(!/^[A-Za-z0-9-]+$/.test(A))throw new bI("Channel name can only contain letters, numbers and dashes ('-')");if(A.length>100)throw new bI("Channel name cannot be longer than 100 characters");return!0};var Rg="rpc-request",Fi="rpc-response",Ri="connect-to-client",Si="nc-pub",Mi="nc-on-pub",yi="subscribe-to-nc-name",hi="subscribed-to-nc-name",Ui="unsubscribe-nc-name",Yi="unsubscribed-nc-name",Ji="acc",ai="aec",Hi="acs",ci="ada",YA="e";var NC=(A)=>{if(typeof A!=="string")throw Error("UID must be a string");if(!/^[A-Za-z0-9-]+$/.test(A))throw Error("UID can only contain letters, numbers and dashes ('-')");if(A.length>50)throw Error("UID cannot be longer than 50 characters");return!0};var cA=(A)=>{if((A.match(/\//g)||[]).length!==2)throw Error("Invalid address format");let[I,g,B]=A.split("/");if(I===void 0)throw Error("Machine address is undefined");if(Number.isNaN(Number(g)))throw Error("Process ID is not a number");if(B===void 0)throw Error("Client ID is undefined");return[I,Number.parseInt(g,10),B]},Sg=(A)=>{let[I,g]=A.split("/");if(I===void 0)throw Error("Machine address is undefined");if(Number.isNaN(Number(g)))throw Error("Process ID is not a number");return[I,Number.parseInt(g,10)]};var Mg=(A)=>{if(typeof A!=="string")throw Error("Network ID must be a string");if(A==="")throw Error("Network ID cannot be empty");if(A==="undefined"||A==="null")throw Error('Network ID cannot be "null" or "undefined"');if(A.includes(":"))throw Error("Network ID cannot contain :");if(A.includes("/"))throw Error("Network ID cannot contain /");if(!/^[A-Za-z0-9-]+$/.test(A))throw Error("Network ID can only contain letters, numbers and dashes ('-')");if(A.length>100)throw Error("Network ID cannot be longer than 100 characters");return!0};var kC=(A)=>{if(typeof A!=="string")return!1;return new RegExp("^[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz-]{21}$").test(A)};var mM=globalThis.Bun;import{webcrypto as si}from"crypto";var Li="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var B0=128,JI,zI;function Q0(A){if(A<0||A>1024)throw RangeError("Wrong ID size");if(!JI||JI.length<A)JI=Buffer.allocUnsafe(A*B0),si.getRandomValues(JI),zI=0;else if(zI+A>JI.length)si.getRandomValues(JI),zI=0;zI+=A}function XI(A=21){Q0(A|=0);let I="";for(let g=zI-A;g<zI;g++)I+=Li[JI[g]&63];return I}import*as qi from"os";var VA=()=>{return process.pid},MB,jA=()=>{if(MB)return MB;return MB=Object.values(qi.networkInterfaces()).flat().find((A)=>A&&!A.internal&&A.mac!=="00:00:00:00:00:00")?.mac.replaceAll(":","").replace(/^0+/,""),MB},II=()=>{return`${jA()}/${VA()}`};var{RedisClient:xi}=globalThis.Bun;var KC=async(A,I,g)=>{let B=0,Q;while(!0)try{if(B>0){if(g.onRetry)Q=g.onRetry(B,g.retries)??void 0}return await A()}catch(C){if(B++,B>g.retries||!I(C))throw C;if(g.delayMs>0||Q&&Q>0){let E=Q??g.delayMs;await new Promise((D)=>setTimeout(D,E))}}};class yB{listeners={};on(A,I){if(!this.listeners[A])this.listeners[A]=[];return this.listeners[A]?.push(I),this}off(A,I){this.listeners[A]=this.listeners[A]?.filter((B)=>B!==I);let g=this.listeners[A]?.length??0;if(g===0)delete this.listeners[A];return g}emit(A,I){for(let g of this.listeners[A]??[])g(I)}}var yg=(A)=>{if(typeof A!=="string")return console.warn("Machine UID must be a string"),!1;if(A.length<5)return console.warn("Machine UID too short"),!1;if(A.length>50)return console.warn("Machine UID too long"),!1;return!0};var FC=(A,I=8)=>{return A.length>I?A.substring(0,I)+"..":A};class hg extends yB{options;connected=!1;client;handlers=new Map;reconnecting=!1;disconnected=!1;reconnectAttempts=0;maxReconnects=null;baseDelayMilliseconds=200;maxDelayMilliseconds=2000;constructor(A){super();this.options=A;this.client=new xi(this.options.url,{autoReconnect:!1,idleTimeout:0})}getClient(){return this.client}clone(){return new hg(this.options)}getUrl(){try{let A=new URL(this.options.url);if(A.password)A.password="***";return A.toString()}catch{return this.options.url}}async connect(){if(this.reconnecting)return;await this.connect_()}async connect_(){if(this.connected)return;if(this.disconnected)return;try{if(await this.client.connect(),!this.client.connected)throw Error("Unexpected error.");this.connected=!0,this.emit("ready",void 0),this.reconnectAttempts=0,this.client.onclose=(A)=>{if(this.disconnected)return;console.error("\u2B07\uFE0F Redis client disconnected:",A),this.connected=!1,this.emit("end",void 0),this.retryReconnect()}}catch(A){if(this.disconnected)return;console.error("Initial Redis connection failed:",A),this.connected=!1,this.emit("error",A instanceof Error?A:Error("Unknown error")),this.retryReconnect()}}async retryReconnect(){if(this.reconnecting||this.disconnected)return;this.reconnecting=!0;while(!this.connected&&!this.disconnected&&this.reconnectAttempts<=(this.maxReconnects??Number.POSITIVE_INFINITY)){let A=this.options.socket.reconnectStrategy(this.reconnectAttempts)??Math.min(this.baseDelayMilliseconds*2**this.reconnectAttempts,this.maxDelayMilliseconds);this.emit("reconnecting",void 0),console.log(this.options.url,`Reconnecting (${this.reconnectAttempts}) to Redis in ${A}ms...`),await new Promise((I)=>setTimeout(I,A)),this.reconnectAttempts++;try{this.client=new xi(this.options.url,{autoReconnect:!1,connectionTimeout:20000}),await this.connect_(),console.log("\u2705 Redis client reconnected");break}catch(I){this.emit("error",I instanceof Error?I:Error("Reconnection attempt failed: Unknown error"))}}if(!this.connected&&!this.disconnected)this.emit("error",Error("Max reconnection attempts reached. Will not retry."));this.reconnecting=!1}disconnect(){this.disconnected=!0,this.handlers.clear(),this.connected=!1}}var{RedisClient:pi}=globalThis.Bun;class hB{_options;publisher;subscriber;callbackMap=new Map;_subscribedChannels=new Set;_disconnected=!1;constructor(A){this._options=A;this.publisher=new pi(this._options.url,{autoReconnect:!1}),this.publisher.onconnect=()=>{console.log(`${this._options.name?`[${this._options.name}]`:""}\u2705 Redis pub/sub publisher ready`)},this.publisher.onclose=(I)=>{if(this._disconnected)return;if(I)console.error(`${this._options.name?`[${this._options.name}]`:""}\u274C Redis pub/sub publisher error:`,I);console.warn(`${this._options.name?`[${this._options.name}]`:""}\uD83D\uDEAB Redis pub/sub publisher connection closed`)},this.subscriber=new pi(this._options.url,{autoReconnect:!1}),this.subscriber.onconnect=()=>{console.log(`${this._options.name?`[${this._options.name}]`:""}\u2705 Redis pub/sub subscriber ready`)},this.subscriber.onclose=(I)=>{if(this._disconnected)return;if(I)console.error(`${this._options.name?`[${this._options.name}]`:""}\u274C Redis pub/sub subscriber error:`,I);console.warn(`${this._options.name?`[${this._options.name}]`:""}\uD83D\uDEAB Redis pub/sub subscriber connection closed`)}}async connect(){await Promise.all([this.publisher.connect(),this.subscriber.connect()])}async publish(A,I){try{return await this.publisher.publish(A,I)}catch{return console.log("publish failed"),0}}async subscribe(A,I){try{let g=(B,Q)=>{if(this._disconnected)return;I(B,Q)};this.callbackMap.set(I,g),this._subscribedChannels.add(A),await this.subscriber.subscribe(A,g)}catch{console.log("error caught #2")}}async unsubscribe(A,I){try{if(this._subscribedChannels.delete(A),I){let g=this.callbackMap.get(I);if(g)await this.subscriber.unsubscribe(A,g),this.callbackMap.delete(I);else await this.subscriber.unsubscribe(A)}else await this.subscriber.unsubscribe(A)}catch{console.log("error caught #1")}}async disconnect(){if(this._disconnected)return;this._disconnected=!0;for(let A of this._subscribedChannels)try{await this.subscriber.unsubscribe(A)}catch{}this._subscribedChannels.clear(),this.callbackMap.clear()}}class UB{_client;processId=VA();machineAddress=jA();refreshNetworkExpiry=new Map;constructor(A){this._client=A;setInterval(async()=>{for(let I of this.refreshNetworkExpiry.keys()){let g=`networks/${I}/authorities`;await this._client.expire(g,500)}},35000)}async registerAuthority(A,I,g){let B=`networks/${A}/authorities`,Q=`${this.machineAddress}/${this.processId}/${I}`;await this._client.sadd(B,Q),await this._client.expire(B,500),await this._client.hset("~/authorities",{[I]:A}),await this._client.hset(`networks/${A}/authorities/${I}`,{...g?{machineUID:typeof g==="string"?g:""}:{},address:Q,connectedAt:new Date().toISOString()});let C=this.refreshNetworkExpiry.get(A);if(C)C.add(I);else this.refreshNetworkExpiry.set(A,new Set([I]))}async readAuthorities(A){let I=await this._client.smembers(`networks/${A}/authorities`),g=[];for(let B of I){let Q=cA(B)[2],C=await this.readAuthorityByClientId(A,Q);if(C)g.push(C)}return g}async resolveAuthorityAddressesOrThrow(A){if(!this._client.connected)throw Error("Redis client is not connected");let I=await this._client.smembers(`networks/${A}/authorities`);if(I.length===0)throw new UI(A);return I}async readAuthorityCount(A){return{count:await this._client.scard(`networks/${A}/authorities`)??0,date:new Date}}async readAuthorityByClientId(A,I){let g=`networks/${A}/authorities/${I}`,[B,Q]=await this._client.hmget(g,["address","connectedAt"]);if(B&&Q)return{id:I,connectedAt:new Date(Q),address:B};return null}async unregisterAuthority(A,I){let g=I??await this.readNetworkIdByClientIdOrThrow(A),B=`networks/${g}/authorities`;await this._client.hdel("~/authorities",A),await this._client.srem(B,A);let Q=this.refreshNetworkExpiry.get(g);if(Q){if(Q.delete(A),Q.size===0)this.refreshNetworkExpiry.delete(g)}let C=`${this.machineAddress}/${this.processId}/${A}`;await this._client.srem(B,C)}async unregisterGlobal(A,I){let[g,B,Q]=cA(I),C=this.refreshNetworkExpiry.get(A);if(C)try{if(C.delete(Q),C.size===0)this.refreshNetworkExpiry.delete(A)}catch{}return await this._client.hdel("~/authorities",Q),await this._client.srem(`networks/${A}/authorities`,I)}async readNetworkIdByClientIdOrThrow(A){let I=await this._client.hget("~/authorities",A);if(!I)throw Error(`Network authority not found for clientId: '${A}'`);return I}}class YB{_client;constructor(A){this._client=A}async registerAgent(A,I,g,B,Q,C){if(Q){let E=`networks/${A}/agent-uids`;await this._client.hset(E,{[Q]:I}),await this._client.expire(E,500)}await this._client.sadd(`networks/${A}/agents`,I),await this._client.hset("~/agents",{[I]:A}),await this._client.hset(`networks/${A}/agents/${I}`,{...g?{ip:typeof g==="string"?g:""}:{},...Q?{name:typeof Q==="string"?Q:""}:{},...C?{machineUID:typeof C==="string"?C:""}:{},address:B,connectedAt:new Date().toISOString()})}async registerAgentThroughput(A,I,g,B){let Q=`networks/${A}/agents/${I}`;await this._client.hset(Q,{bytes:`${g}`,packets:`${B}`})}async readAgents(A){let I=await this._client.smembers(`networks/${A}/agents`),g=[];for(let B of I){let Q=await this.readAgentByClientId(A,B);if(Q)g.push(Q)}return g}async readAgentCount(A){return{count:await this._client.scard(`networks/${A}/agents`),date:new Date}}async readClientAddressByUIDOrThrow(A,I){let[g]=await this._client.hmget(`networks/${A}/agent-uids`,[I]);if(!g)throw Error(`Network agent not found for networkId: '${A}'`);return g}async readAgentByClientId(A,I){let[g,B,Q,C,E,D]=await this._client.hmget(`networks/${A}/agents/${I}`,["name","ip","address","bytes","packets","connectedAt"]);if(B||Q||C||E)return{id:I,uid:g?g:void 0,ip:B||null,address:Q,bytes:Number.parseInt(C||"0",10),packets:Number.parseInt(E||"0",10),connectedAt:new Date(D)};return null}async unregisterAgentOrThrow(A,I,g){let B=I??await this.readAgentNetworkIdByClientIdOrThrow(A);if(g)await this._client.hdel(`networks/${B}/agent-uids`,g);await this._client.hdel("~/agents",A),await this._client.srem(`networks/${B}/agents`,A),await this._client.del(`networks/${B}/agents/${A}`)}async readAgentNetworkIdByClientIdOrThrow(A){let I=await this._client.hget("~/agents",A);if(!I)throw Error(`Network agent not found for clientId: '${A}'`);return I}}var Zi=(A)=>{let I=(A.match(/:/g)||[]).length;if(I<4)throw Error(`Invalid message format. Expected at least 4 colons, got ${I}.`);let g=A.split(":");return g.shift(),g.shift(),{clientId:g.shift(),channelName:g.shift(),data:g.join(":")}};var Wi;if(!process.env.FLUX_MESH_REDIS_URL)throw Error("Missing FLUX_MESH_REDIS_URL in .env");var wA=(A)=>{return Wi??=new Ti(process.env.FLUX_MESH_REDIS_URL),Wi};class Ti{_optionsOrURL;cacheClient;pubSub;networkAuthoritySet;networkAgentRedisService;hash;constructor(A){this._optionsOrURL=A;let I=typeof this._optionsOrURL==="string"?this._optionsOrURL:this._optionsOrURL.url;this.cacheClient=new hg({url:I,socket:{reconnectStrategy:(B)=>{return console.warn(`\uD83D\uDD04 Redis reconnection attempt #${B}`),Math.min(B*100,3000)}}});try{this.cacheClient.connect()}catch{console.log("caught")}this.cacheClient.on("error",(B)=>{console.error("\u274C Redis client error:",B.message)}).on("reconnecting",()=>{console.log("\uD83D\uDD04 Redis reconnecting...")}).on("ready",()=>{console.log("\u2705 Redis client ready")}).on("end",()=>{console.warn("\uD83D\uDEAB Redis connection closed")}),this.networkAuthoritySet=new UB(this.cacheClient.getClient()),this.networkAgentRedisService=new YB(this.cacheClient.getClient()),this.pubSub=new hB({name:typeof this._optionsOrURL==="object"?this._optionsOrURL.name:void 0,url:I,socket:{reconnectStrategy:(B)=>{return console.warn(`\uD83D\uDD04 Redis reconnection attempt #${B}`),Math.min(B*100,3000)}}}),this.pubSub.connect().catch(()=>console.error("pubsub connection failed"));let g=this.cacheClient.getClient();this.hash={sadd:g.sadd.bind(g),hset:g.hset.bind(g),smembers:g.smembers.bind(g),srem:g.srem.bind(g),scard:g.scard.bind(g),del:g.del.bind(g),hincrby:g.hincrby.bind(g),hmget:g.hmget.bind(g),expire:g.expire.bind(g)}}async publishWebsocketChannelEvent(A,I,g){try{await this.pubSub.publish(`~${I}`,`${A}:${g}`)}catch{console.error(`Publish failed on global channel event: '${I}'`)}}async subscribeWebsocketChannelEvent(A){try{await this.pubSub.subscribe("~*",(I,g)=>{let B=I.indexOf(":"),[Q,C]=B!==-1?[I.slice(0,B),I.slice(B+1)]:[I,""];A(g.slice(1),Q,C)})}catch{console.log("Error caught while subscribing to websocket channel event globally")}}async publishNetworkTokenEvent(A,I){try{await this.pubSub.publish(":flux:network-tokens",JSON.stringify({networkId:A,tokens:I}))}catch(g){console.error(`Failed to publish token event for network '${A}':`,g)}}subscribeToNetworkTokenEvents(A){this.pubSub.subscribe(":flux:network-tokens",(I)=>{try{let g=JSON.parse(I);A(g.networkId,g.tokens)}catch(g){console.error("Failed to parse network token event:",I,g)}})}async setNetworkTokenValues(A,I){let g=`:flux:network-tokens/${A}/values`;if(await this.hash.del(g),I.length>0)await this.hash.sadd(g,...I)}async getNetworkTokenValues(A){let I=`:flux:network-tokens/${A}/values`;return await this.hash.smembers(I)}async publishCustom(A,I,g){return await this.pubSub.publish(`~${A}/${I}`,g)}subscribeToCustom(A,I,g){this.pubSub.subscribe(`~${A}/${I}`,g)}async directPublish(A,I){try{await this.pubSub.publish(A,I)}catch{console.error(`Publish failed on address: ${A}`)}}subscribe(A,I){try{let g=(B)=>I(B);this.pubSub.subscribe(A,g)}catch{console.log("error caught #2")}}unsubscribe(A,I){try{this.pubSub.unsubscribe(A,I)}catch{console.log("error caught #1")}}subscribeToNetworkChannel(A,I,g){try{let B=`~networks/${A}/channels/${I}`;this.pubSub.subscribe(B,(Q)=>{let C=Zi(Q);g(C.clientId,C.data)})}catch(B){console.error(`Failed to subscribe to network channel '${A}/${I}':`,B)}}unsubscribeFromNetworkChannel(A,I,g){try{let B=`~networks/${A}/channels/${I}`;this.pubSub.unsubscribe(B,g)}catch(B){console.error(`Failed to unsubscribe from network channel '${A}/${I}':`,B)}}async setConnected(A){await this.hash.hset(`machines/processes/${A}`,{status:"connected",updatedAt:new Date().toISOString()}),await this.hash.expire(`machines/processes/${A}`,5)}async setDisconnected(A){}async disconnect(){this.cacheClient.disconnect(),await this.pubSub.disconnect()}}var RC=(A,I)=>A&&I?[...A].some((g)=>(Array.isArray(I)?I:[I]).includes(g)):!1,u=(()=>{let A;return{configure:(C)=>{A=typeof C.allowScopes==="string"&&C.allowScopes==="*"?"*":new Set(C.allowScopes)},log:(C,E)=>{if(A!=="*"&&!RC(A,E))return;console.log(`[${E}] ${C}`)},warn:(C,E)=>{if(A!=="*"&&!RC(A,E))return;console.warn(`[${E}] ${C}`)},error:(C,E)=>{if(A!=="*"&&!RC(A,E))return;console.error(`[${E}] ${C}`)}}})();class SC{passToLocalClientOrThrowUnknownClient;processId=VA();machineAddress=jA();redisConnection=wA();constructor(A){this.passToLocalClientOrThrowUnknownClient=A;console.log(`Created MessageRouter on machine address: ${this.machineAddress}, process id: ${this.processId}`)}message(A,I){let[g,B,Q]=cA(A);if(g!==this.machineAddress){u.log("\uD83D\uDEE3\uFE0F Routing message to machine","routing"),this.redisConnection.directPublish(A,I);return}if(B!==this.processId){u.log(`\uD83D\uDEE3\uFE0F Routing message from process ID '${this.processId}' to process ID: '${B}'`,"routing"),this.redisConnection.directPublish(A,I);return}u.log("\uD83D\uDEE3\uFE0F Routing message to local client","routing"),this.passToLocalClientOrThrowUnknownClient(Q,I)}}class MC{redisConnection=wA();cache=new Map;clientCache=new Map;async register(A,I,g){await this.redisConnection.networkAuthoritySet.registerAuthority(A,I,g)}async unregister(A,I){let g=this.clientCache.get(A);if(g){let B=this.cache.get(g.networkId);if(B){if(B.delete(g.address),B.size===0)this.cache.delete(g.networkId)}this.clientCache.delete(A)}this.redisConnection.networkAuthoritySet.unregisterAuthority(A,I)}unregisterGlobal(A,I){let g=this.cache.get(A);if(g){if(g.delete(I),g.size===0)this.cache.delete(A)}let[B,Q,C]=cA(I);this.clientCache.delete(C),this.redisConnection.networkAuthoritySet.unregisterGlobal(A,I)}async resolveAuthorityAddressOrThrow(A){let I=this.cache.get(A);if(I&&I.size>0){let Q=[...I][Math.floor(Math.random()*I.size)];if(Q)return Q}let g=await this.redisConnection.networkAuthoritySet.resolveAuthorityAddressesOrThrow(A);for(let Q of g){let[C,E,D]=cA(Q);this.clientCache.set(D,{networkId:A,address:Q})}return this.cache.set(A,new Set(g)),g[Math.floor(Math.random()*g.length)]}removeUnresponsiveClient(A,I){this.unregisterGlobal(A,I)}}class JB{_client;constructor(A){this._client=A}async increaseNetworkUsage(A,I,g){let B=`networks/${A}/data`;return await this._client.hincrby(B,"packets",g),await this._client.hincrby(B,"bytes",I)}async readNetworkUsageBytes(A){let I=`networks/${A}/data`,[g]=await this._client.hmget(I,["bytes"]);if(!g)return 0;return Number.parseInt(g,10)}async lockNetworkUsage(A){let I=`networks/${A}/data`;await this._client.hset(I,{locked:"1"}),await this._client.send("HEXPIRE",[I,"60","FIELDS","1","locked"])}}class yC{networkAgentRedisService;networkUsageRedisCacheService;redisConnection=wA();cache=new Map;timers=new Map;constructor(){this.networkAgentRedisService=this.redisConnection.networkAgentRedisService,this.networkUsageRedisCacheService=new JB(this.redisConnection.cacheClient.getClient())}registerAgent(A,I,g,B,Q,C,E){return this.timers.set(I,setInterval(async()=>{if(await this.networkAgentRedisService.registerAgentThroughput(A,I,Q.bytes,Q.packets),Q.bytes>0||Q.packets>0)await this.networkUsageRedisCacheService.increaseNetworkUsage(A,Q.bytes,Q.packets);Q.bytes=0,Q.packets=0},1000)),this.networkAgentRedisService.registerAgent(A,I,g,B,C,E)}async unregister(A,I,g){if(g)this.cache.delete(`${g.networkId}.${g.clientOwnUId}`);await this.networkAgentRedisService.unregisterAgentOrThrow(A,I,g?.clientOwnUId),clearInterval(this.timers.get(A)),this.timers.delete(A)}async resolveClientAddressByUid(A,I){let g=this.cache.get(`${A}.${I}`);if(g)return g;let B=await this.redisConnection.networkAgentRedisService.readClientAddressByUIDOrThrow(A,I);return this.cache.set(`${A}.${I}`,B),B}}var IQ=SB(NN(),1),kN="your-very-secure-secret",gQ=(A,I=60000)=>{return IQ.sign(A,kN,{expiresIn:I})},KN=(A)=>{if(typeof A!=="string")throw Error("Token must be a string");try{return IQ.verify(A,kN)}catch(I){throw console.error("Invalid or expired token",I.message),Error("Invalid or expired token")}};class QE{_outgoingMessageRouter;_processMessageRouter;requestId=0;pendingRequests=new Map;processAddress=II();constructor(A,I){this._outgoingMessageRouter=A;this._processMessageRouter=I;this._processMessageRouter.subscribe((g)=>{let B=JSON.parse(g.substring(g.indexOf(":")+1));this.handleResponseMessage(B)})}call(A,I,...g){let B=this.requestId++,Q={id:B,originProcessAddress:this.processAddress,method:I,params:g};return new Promise((C,E)=>{this.pendingRequests.set(B,[C,E]);try{this._outgoingMessageRouter.message(A,`${Rg}:${JSON.stringify(Q)}`)}catch(D){if(this.pendingRequests.get(B))this.pendingRequests.delete(B),E(D instanceof Error?D:Error(D))}setTimeout(()=>{if(this.pendingRequests.get(B))this.pendingRequests.delete(B),E(new AI(I))},5000)})}handleResponseMessage(A){let I=this.pendingRequests.get(A.id);if(I){if(this.pendingRequests.delete(A.id),A.error){I[1](A.error);return}I[0](A.result)}}}class CE{_rpcServerClientAddress;_outgoingMessageRouter;_processMessageRouter;requestId=0;pendingRequests=new Map;processAddress=II();constructor(A,I,g){this._rpcServerClientAddress=A;this._outgoingMessageRouter=I;this._processMessageRouter=g;this._processMessageRouter.subscribe((B)=>{let Q=JSON.parse(B.substring(B.indexOf(":")+1));this.handleResponseMessage(Q)})}call(A,...I){let g=this.requestId++,B={id:g,originProcessAddress:this.processAddress,method:A,params:I};return new Promise((Q,C)=>{this.pendingRequests.set(g,[Q,C]);try{this._outgoingMessageRouter.message(this._rpcServerClientAddress,`${Rg}:${JSON.stringify(B)}`)}catch(E){if(this.pendingRequests.get(g))this.pendingRequests.delete(g),C(E instanceof Error?E:Error(E))}setTimeout(()=>{if(this.pendingRequests.get(g))this.pendingRequests.delete(g),C(new AI(A))},5000)})}handleResponseMessage(A){let I=this.pendingRequests.get(A.id);if(I){if(this.pendingRequests.delete(A.id),A.error){I[1](A.error);return}I[0](A.result)}}}class EE{machineAddress=jA();processAddress=II();processId=VA();redisConnection=wA();localCallbacks=new Set;message(A,I){let[g,B]=Sg(A);if(g!==this.machineAddress){u.log("\uD83D\uDEE3\uFE0F Routing message to machine","routing"),this.redisConnection.directPublish(A,I);return}if(B!==this.processId){u.log("\uD83D\uDEE3\uFE0F Routing message to process (todo; direct process)","routing"),this.redisConnection.directPublish(A,I);return}u.log("\uD83D\uDEE3\uFE0F Routing message to local","routing");for(let Q of this.localCallbacks)Q(I)}subscribe(A){console.log("\uD83D\uDDD2\uFE0F Subscribing process",this.processAddress),this.localCallbacks.add(A),this.redisConnection.subscribe(this.processAddress,A)}}class BQ{sendToRPCServer;handleResponseMessage;requestId=Math.floor(Math.random()*1e5);pendingRequests=new Map;constructor(A,I){this.sendToRPCServer=A;this.handleResponseMessage=I;this.handleResponseMessage((g)=>{let B=this.pendingRequests.get(g.id)?.[0];if(B){if(this.pendingRequests.delete(g.id),g.error)throw Error(g.error);B(g.result)}})}call(A,I,...g){let B=this.requestId++,Q={id:B,originProcessAddress:A,method:I,params:g};return this.sendToRPCServer(`${Rg}:${JSON.stringify(Q)}`),new Promise((C,E)=>{this.pendingRequests.set(B,[C,E]),setTimeout(()=>{if(this.pendingRequests.get(B))this.pendingRequests.delete(B),E(new AI(I))},5000)})}}class DE extends BQ{_originProcessAddress;_sendToRPCServer;_handleResponseMessage;constructor(A,I,g){super(I,g);this._originProcessAddress=A;this._sendToRPCServer=I;this._handleResponseMessage=g}createOffer(){return super.call(this._originProcessAddress,"createOffer")}acceptOfferAndCreateAnswer(A){return super.call(this._originProcessAddress,"acceptOffer",A)}acceptAnswer(A){return super.call(this._originProcessAddress,"acceptAnswer",A)}answerWasAccepted(A){return super.call(this._originProcessAddress,"answerAcceptedByInitiator",A)}}class iE extends CE{createOffer(){return super.call("createOffer")}acceptOfferAndCreateAnswer(A){return super.call("acceptOffer",A)}acceptAnswer(A){return super.call("acceptAnswer",A)}answerWasAccepted(A){return super.call("answerAcceptedByInitiator",A)}}var FN=async(A,I)=>{let g=await A.createOffer();console.log("Created offer:",!!g);let B=await I.acceptOfferAndCreateAnswer(g);console.log("Got answer:",!!B);let Q=await A.acceptAnswer(B);console.log("Answer was accepted by initiator:",Q),await I.answerWasAccepted(Q)};var QQ=()=>new Response(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type, x-flux-content-type, Set-Cookie"}});import*as WM from"url";class CQ{_redisConnection;_networkTokenService;cache=new Map;constructor(A,I){this._redisConnection=A;this._networkTokenService=I;this._redisConnection.subscribeToNetworkTokenEvents((g,B)=>{this.cache.set(g,new Set(B))})}async isValidToken(A,I){let g=this.cache.get(A);if(g!==void 0)return g.has(I);let B=await this._networkTokenService.readTokensByNetworkId(A),Q=new Set(B);return this.cache.set(A,Q),Q.has(I)}}class GE{_prismaClient;constructor(A){this._prismaClient=A}async createToken(A,I){let g=await this._prismaClient.networkToken.create({data:{id:XI(),networkId:A,token:`flx_${XI(32)}`,createdByUserId:I},include:{createdByUser:{select:{name:!0}}}});return{...g,createdByUserName:g.createdByUser?.name??"Unknown"}}async readByNetworkId(A){return(await this._prismaClient.networkToken.findMany({where:{networkId:A},orderBy:{createdAt:"desc"},include:{createdByUser:{select:{name:!0}}}})).map((g)=>({...g,createdByUserName:g.createdByUser?.name??"Unknown"}))}async readTokensByNetworkId(A){return(await this._prismaClient.networkToken.findMany({where:{networkId:A},select:{token:!0}})).map((g)=>g.token)}async countByNetworkId(A){return this._prismaClient.networkToken.count({where:{networkId:A}})}async findById(A){let I=await this._prismaClient.networkToken.findUnique({where:{id:A},include:{createdByUser:{select:{name:!0}}}});if(!I)return null;return{...I,createdByUserName:I.createdByUser?.name??"Unknown"}}async rotateOutAllExcept(A,I,g){await this._prismaClient.networkToken.updateMany({where:{networkId:A,token:{not:I},rotatedOutAt:null},data:{rotatedOutAt:g}})}async updateNetworkTokens(A,I){await this._prismaClient.$transaction(async(g)=>{await g.networkToken.deleteMany({where:{networkId:A}});for(let B of I)await g.networkToken.upsert({where:{token:B},create:{id:XI(),networkId:A,token:B,createdByUserId:"system"},update:{}})})}async deleteNetworkToken(A,I){await this._prismaClient.networkToken.delete({where:{networkId:A,token:I}})}}import*as jF from"path";import{fileURLToPath as H4}from"url";var OF=SB(iD(),1),tQ={previewFeatures:[],clientVersion:"7.8.0",engineVersion:"3c6e192761c0362d496ed980de936e2f3cebcd3a",activeProvider:"postgresql",inlineSchema:`/**
102
+ See https://www.postgresql.org/docs/current/libpq-ssl.html for libpq SSL mode definitions.`)}jR.exports=wg;wg.parse=wg;wg.toClientConfig=VR;wg.parseIntoClientConfig=p8});var WD=M((nb,PR)=>{var Z8=Z("dns"),zR=oB(),bR=dR().parse,YA=function(A,I,g){if(I[A])return I[A];if(g===void 0)g=process.env["PG"+A.toUpperCase()];else if(g===!1);else g=process.env[g];return g||zR[A]},W8=function(){switch(process.env.PGSSLMODE){case"disable":return!1;case"prefer":case"require":case"verify-ca":case"verify-full":return!0;case"no-verify":return{rejectUnauthorized:!1}}return zR.ssl},Ng=function(A){return"'"+(""+A).replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"},OA=function(A,I,g){let B=I[g];if(B!==void 0&&B!==null)A.push(g+"="+Ng(B))};class XR{constructor(A){if(A=typeof A==="string"?bR(A):A||{},A.connectionString)A=Object.assign({},A,bR(A.connectionString));if(this.user=YA("user",A),this.database=YA("database",A),this.database===void 0)this.database=this.user;if(this.port=parseInt(YA("port",A),10),this.host=YA("host",A),Object.defineProperty(this,"password",{configurable:!0,enumerable:!1,writable:!0,value:YA("password",A)}),this.binary=YA("binary",A),this.options=YA("options",A),this.ssl=typeof A.ssl>"u"?W8():A.ssl,typeof this.ssl==="string"){if(this.ssl==="true")this.ssl=!0}if(this.ssl==="no-verify")this.ssl={rejectUnauthorized:!1};if(this.ssl&&this.ssl.key)Object.defineProperty(this.ssl,"key",{enumerable:!1});if(this.client_encoding=YA("client_encoding",A),this.replication=YA("replication",A),this.isDomainSocket=!(this.host||"").indexOf("/"),this.application_name=YA("application_name",A,"PGAPPNAME"),this.fallback_application_name=YA("fallback_application_name",A,!1),this.statement_timeout=YA("statement_timeout",A,!1),this.lock_timeout=YA("lock_timeout",A,!1),this.idle_in_transaction_session_timeout=YA("idle_in_transaction_session_timeout",A,!1),this.query_timeout=YA("query_timeout",A,!1),A.connectionTimeoutMillis===void 0)this.connect_timeout=process.env.PGCONNECT_TIMEOUT||0;else this.connect_timeout=Math.floor(A.connectionTimeoutMillis/1000);if(A.keepAlive===!1)this.keepalives=0;else if(A.keepAlive===!0)this.keepalives=1;if(typeof A.keepAliveInitialDelayMillis==="number")this.keepalives_idle=Math.floor(A.keepAliveInitialDelayMillis/1000)}getLibpqConnectionString(A){let I=[];OA(I,this,"user"),OA(I,this,"password"),OA(I,this,"port"),OA(I,this,"application_name"),OA(I,this,"fallback_application_name"),OA(I,this,"connect_timeout"),OA(I,this,"options");let g=typeof this.ssl==="object"?this.ssl:this.ssl?{sslmode:this.ssl}:{};if(OA(I,g,"sslmode"),OA(I,g,"sslca"),OA(I,g,"sslkey"),OA(I,g,"sslcert"),OA(I,g,"sslrootcert"),this.database)I.push("dbname="+Ng(this.database));if(this.replication)I.push("replication="+Ng(this.replication));if(this.host)I.push("host="+Ng(this.host));if(this.isDomainSocket)return A(null,I.join(" "));if(this.client_encoding)I.push("client_encoding="+Ng(this.client_encoding));Z8.lookup(this.host,function(B,Q){if(B)return A(B,null);return I.push("hostaddr="+Ng(Q)),A(null,I.join(" "))})}}PR.exports=XR});var TD=M(($b,mR)=>{var T8=GB(),fR=/^([A-Za-z]+)(?: (\d+))?(?: (\d+))?/;class lR{constructor(A,I){if(this.command=null,this.rowCount=null,this.oid=null,this.rows=[],this.fields=[],this._parsers=void 0,this._types=I,this.RowCtor=null,this.rowAsArray=A==="array",this.rowAsArray)this.parseRow=this._parseRowAsArray;this._prebuiltEmptyResultObject=null}addCommandComplete(A){let I;if(A.text)I=fR.exec(A.text);else I=fR.exec(A.command);if(I){if(this.command=I[1],I[3])this.oid=parseInt(I[2],10),this.rowCount=parseInt(I[3],10);else if(I[2])this.rowCount=parseInt(I[2],10)}}_parseRowAsArray(A){let I=Array(A.length);for(let g=0,B=A.length;g<B;g++){let Q=A[g];if(Q!==null)I[g]=this._parsers[g](Q);else I[g]=null}return I}parseRow(A){let I={...this._prebuiltEmptyResultObject};for(let g=0,B=A.length;g<B;g++){let Q=A[g],C=this.fields[g].name;if(Q!==null){let E=this.fields[g].format==="binary"?Buffer.from(Q):Q;I[C]=this._parsers[g](E)}else I[C]=null}return I}addRow(A){this.rows.push(A)}addFields(A){if(this.fields=A,this.fields.length)this._parsers=Array(A.length);let I=Object.create(null);for(let g=0;g<A.length;g++){let B=A[g];if(I[B.name]=null,this._types)this._parsers[g]=this._types.getTypeParser(B.dataTypeID,B.format||"text");else this._parsers[g]=T8.getTypeParser(B.dataTypeID,B.format||"text")}this._prebuiltEmptyResultObject={...I}}}mR.exports=lR});var nR=M((_b,vR)=>{var{EventEmitter:O8}=Z("events"),tR=TD(),uR=og();class rR extends O8{constructor(A,I,g){super();if(A=uR.normalizeQueryConfig(A,I,g),this.text=A.text,this.values=A.values,this.rows=A.rows,this.types=A.types,this.name=A.name,this.queryMode=A.queryMode,this.binary=A.binary,this.portal=A.portal||"",this.callback=A.callback,this._rowMode=A.rowMode,process.domain&&A.callback)this.callback=process.domain.bind(A.callback);this._result=new tR(this._rowMode,this.types),this._results=this._result,this._canceledDueToError=!1}requiresPreparation(){if(this.queryMode==="extended")return!0;if(this.name)return!0;if(this.rows)return!0;if(!this.text)return!1;if(!this.values)return!1;return this.values.length>0}_checkForMultirow(){if(this._result.command){if(!Array.isArray(this._results))this._results=[this._result];this._result=new tR(this._rowMode,this._result._types),this._results.push(this._result)}}handleRowDescription(A){this._checkForMultirow(),this._result.addFields(A.fields),this._accumulateRows=this.callback||!this.listeners("row").length}handleDataRow(A){let I;if(this._canceledDueToError)return;try{I=this._result.parseRow(A.fields)}catch(g){this._canceledDueToError=g;return}if(this.emit("row",I,this._result),this._accumulateRows)this._result.addRow(I)}handleCommandComplete(A,I){if(this._checkForMultirow(),this._result.addCommandComplete(A),this.rows)I.sync()}handleEmptyQuery(A){if(this.rows)A.sync()}handleError(A,I){if(this._canceledDueToError)A=this._canceledDueToError,this._canceledDueToError=!1;if(this.callback)return this.callback(A);this.emit("error",A)}handleReadyForQuery(A){if(this._canceledDueToError)return this.handleError(this._canceledDueToError,A);if(this.callback)try{this.callback(null,this._results)}catch(I){process.nextTick(()=>{throw I})}this.emit("end",this._results)}submit(A){if(typeof this.text!=="string"&&typeof this.name!=="string")return Error("A query must have either text or a name. Supplying neither is unsupported.");let I=A.parsedStatements[this.name];if(this.text&&I&&this.text!==I)return Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`);if(this.values&&!Array.isArray(this.values))return Error("Query values must be an array");if(this.requiresPreparation()){A.stream.cork&&A.stream.cork();try{this.prepare(A)}finally{A.stream.uncork&&A.stream.uncork()}}else A.query(this.text);return null}hasBeenParsed(A){return this.name&&A.parsedStatements[this.name]}handlePortalSuspended(A){this._getRows(A,this.rows)}_getRows(A,I){if(A.execute({portal:this.portal,rows:I}),!I)A.sync();else A.flush()}prepare(A){if(!this.hasBeenParsed(A))A.parse({text:this.text,name:this.name,types:this.types});try{A.bind({portal:this.portal,statement:this.name,values:this.values,binary:this.binary,valueMapper:uR.prepareValue})}catch(I){this.handleError(I,A);return}A.describe({type:"P",name:this.portal||""}),this._getRows(A,this.rows)}handleCopyInResponse(A){A.sendCopyFail("No source stream defined")}handleCopyData(A,I){}}vR.exports=rR});var OD=M((wS)=>{Object.defineProperty(wS,"__esModule",{value:!0});wS.NoticeMessage=wS.DataRowMessage=wS.CommandCompleteMessage=wS.ReadyForQueryMessage=wS.NotificationResponseMessage=wS.BackendKeyDataMessage=wS.AuthenticationMD5Password=wS.ParameterStatusMessage=wS.ParameterDescriptionMessage=wS.RowDescriptionMessage=wS.Field=wS.CopyResponse=wS.CopyDataMessage=wS.DatabaseError=wS.copyDone=wS.emptyQuery=wS.replicationStart=wS.portalSuspended=wS.noData=wS.closeComplete=wS.bindComplete=wS.parseComplete=void 0;wS.parseComplete={name:"parseComplete",length:5};wS.bindComplete={name:"bindComplete",length:5};wS.closeComplete={name:"closeComplete",length:5};wS.noData={name:"noData",length:5};wS.portalSuspended={name:"portalSuspended",length:5};wS.replicationStart={name:"replicationStart",length:4};wS.emptyQuery={name:"emptyQuery",length:4};wS.copyDone={name:"copyDone",length:4};class $R extends Error{constructor(A,I,g){super(A);this.length=I,this.name=g}}wS.DatabaseError=$R;class _R{constructor(A,I){this.length=A,this.chunk=I,this.name="copyData"}}wS.CopyDataMessage=_R;class eR{constructor(A,I,g,B){this.length=A,this.name=I,this.binary=g,this.columnTypes=Array(B)}}wS.CopyResponse=eR;class AS{constructor(A,I,g,B,Q,C,E){this.name=A,this.tableID=I,this.columnID=g,this.dataTypeID=B,this.dataTypeSize=Q,this.dataTypeModifier=C,this.format=E}}wS.Field=AS;class IS{constructor(A,I){this.length=A,this.fieldCount=I,this.name="rowDescription",this.fields=Array(this.fieldCount)}}wS.RowDescriptionMessage=IS;class gS{constructor(A,I){this.length=A,this.parameterCount=I,this.name="parameterDescription",this.dataTypeIDs=Array(this.parameterCount)}}wS.ParameterDescriptionMessage=gS;class BS{constructor(A,I,g){this.length=A,this.parameterName=I,this.parameterValue=g,this.name="parameterStatus"}}wS.ParameterStatusMessage=BS;class QS{constructor(A,I){this.length=A,this.salt=I,this.name="authenticationMD5Password"}}wS.AuthenticationMD5Password=QS;class CS{constructor(A,I,g){this.length=A,this.processID=I,this.secretKey=g,this.name="backendKeyData"}}wS.BackendKeyDataMessage=CS;class ES{constructor(A,I,g,B){this.length=A,this.processId=I,this.channel=g,this.payload=B,this.name="notification"}}wS.NotificationResponseMessage=ES;class DS{constructor(A,I){this.length=A,this.status=I,this.name="readyForQuery"}}wS.ReadyForQueryMessage=DS;class iS{constructor(A,I){this.length=A,this.text=I,this.name="commandComplete"}}wS.CommandCompleteMessage=iS;class GS{constructor(A,I){this.length=A,this.fields=I,this.name="dataRow",this.fieldCount=I.length}}wS.DataRowMessage=GS;class oS{constructor(A,I){this.length=A,this.message=I,this.name="notice"}}wS.NoticeMessage=oS});var RS=M((KS)=>{Object.defineProperty(KS,"__esModule",{value:!0});KS.Writer=void 0;class kS{constructor(A=256){this.size=A,this.offset=5,this.headerPosition=0,this.buffer=Buffer.allocUnsafe(A)}ensure(A){if(this.buffer.length-this.offset<A){let g=this.buffer,B=g.length+(g.length>>1)+A;this.buffer=Buffer.allocUnsafe(B),g.copy(this.buffer)}}addInt32(A){return this.ensure(4),this.buffer[this.offset++]=A>>>24&255,this.buffer[this.offset++]=A>>>16&255,this.buffer[this.offset++]=A>>>8&255,this.buffer[this.offset++]=A>>>0&255,this}addInt16(A){return this.ensure(2),this.buffer[this.offset++]=A>>>8&255,this.buffer[this.offset++]=A>>>0&255,this}addCString(A){if(!A)this.ensure(1);else{let I=Buffer.byteLength(A);this.ensure(I+1),this.buffer.write(A,this.offset,"utf-8"),this.offset+=I}return this.buffer[this.offset++]=0,this}addString(A=""){let I=Buffer.byteLength(A);return this.ensure(I),this.buffer.write(A,this.offset),this.offset+=I,this}add(A){return this.ensure(A.length),A.copy(this.buffer,this.offset),this.offset+=A.length,this}join(A){if(A){this.buffer[this.headerPosition]=A;let I=this.offset-(this.headerPosition+1);this.buffer.writeInt32BE(I,this.headerPosition+1)}return this.buffer.slice(A?0:5,this.offset)}flush(A){let I=this.join(A);return this.offset=5,this.headerPosition=0,this.buffer=Buffer.allocUnsafe(this.size),I}}KS.Writer=kS});var hS=M((MS)=>{Object.defineProperty(MS,"__esModule",{value:!0});MS.serialize=void 0;var VD=RS(),AA=new VD.Writer,BZ=(A)=>{AA.addInt16(3).addInt16(0);for(let B of Object.keys(A))AA.addCString(B).addCString(A[B]);AA.addCString("client_encoding").addCString("UTF8");let I=AA.addCString("").flush(),g=I.length+4;return new VD.Writer().addInt32(g).add(I).flush()},QZ=()=>{let A=Buffer.allocUnsafe(8);return A.writeInt32BE(8,0),A.writeInt32BE(80877103,4),A},CZ=(A)=>{return AA.addCString(A).flush(112)},EZ=function(A,I){return AA.addCString(A).addInt32(Buffer.byteLength(I)).addString(I),AA.flush(112)},DZ=function(A){return AA.addString(A).flush(112)},iZ=(A)=>{return AA.addCString(A).flush(81)},SS=[],GZ=(A)=>{let I=A.name||"";if(I.length>63)console.error("Warning! Postgres only supports 63 characters for query names."),console.error("You supplied %s (%s)",I,I.length),console.error("This can cause conflicts and silent errors executing queries");let g=A.types||SS,B=g.length,Q=AA.addCString(I).addCString(A.text).addInt16(B);for(let C=0;C<B;C++)Q.addInt32(g[C]);return AA.flush(80)},kg=new VD.Writer,oZ=function(A,I){for(let g=0;g<A.length;g++){let B=I?I(A[g],g):A[g];if(B==null)AA.addInt16(0),kg.addInt32(-1);else if(B instanceof Buffer)AA.addInt16(1),kg.addInt32(B.length),kg.add(B);else AA.addInt16(0),kg.addInt32(Buffer.byteLength(B)),kg.addString(B)}},wZ=(A={})=>{let I=A.portal||"",g=A.statement||"",B=A.binary||!1,Q=A.values||SS,C=Q.length;return AA.addCString(I).addCString(g),AA.addInt16(C),oZ(Q,A.valueMapper),AA.addInt16(C),AA.add(kg.flush()),AA.addInt16(1),AA.addInt16(B?1:0),AA.flush(66)},NZ=Buffer.from([69,0,0,0,9,0,0,0,0,0]),kZ=(A)=>{if(!A||!A.portal&&!A.rows)return NZ;let I=A.portal||"",g=A.rows||0,B=Buffer.byteLength(I),Q=4+B+1+4,C=Buffer.allocUnsafe(1+Q);return C[0]=69,C.writeInt32BE(Q,1),C.write(I,5,"utf-8"),C[B+5]=0,C.writeUInt32BE(g,C.length-4),C},KZ=(A,I)=>{let g=Buffer.allocUnsafe(16);return g.writeInt32BE(16,0),g.writeInt16BE(1234,4),g.writeInt16BE(5678,6),g.writeInt32BE(A,8),g.writeInt32BE(I,12),g},jD=(A,I)=>{let B=4+Buffer.byteLength(I)+1,Q=Buffer.allocUnsafe(1+B);return Q[0]=A,Q.writeInt32BE(B,1),Q.write(I,5,"utf-8"),Q[B]=0,Q},FZ=AA.addCString("P").flush(68),RZ=AA.addCString("S").flush(68),SZ=(A)=>{return A.name?jD(68,`${A.type}${A.name||""}`):A.type==="P"?FZ:RZ},MZ=(A)=>{let I=`${A.type}${A.name||""}`;return jD(67,I)},yZ=(A)=>{return AA.add(A).flush(100)},hZ=(A)=>{return jD(102,A)},eQ=(A)=>Buffer.from([A,0,0,0,4]),UZ=eQ(72),YZ=eQ(83),JZ=eQ(88),aZ=eQ(99),HZ={startup:BZ,password:CZ,requestSsl:QZ,sendSASLInitialResponseMessage:EZ,sendSCRAMClientFinalMessage:DZ,query:iZ,parse:GZ,bind:wZ,execute:kZ,describe:SZ,close:MZ,flush:()=>UZ,sync:()=>YZ,end:()=>JZ,copyData:yZ,copyDone:()=>aZ,copyFail:hZ,cancel:KZ};MS.serialize=HZ});var aS=M((YS)=>{Object.defineProperty(YS,"__esModule",{value:!0});YS.BufferReader=void 0;class US{constructor(A=0){this.offset=A,this.buffer=Buffer.allocUnsafe(0),this.encoding="utf-8"}setBuffer(A,I){this.offset=A,this.buffer=I}int16(){let A=this.buffer.readInt16BE(this.offset);return this.offset+=2,A}byte(){let A=this.buffer[this.offset];return this.offset++,A}int32(){let A=this.buffer.readInt32BE(this.offset);return this.offset+=4,A}uint32(){let A=this.buffer.readUInt32BE(this.offset);return this.offset+=4,A}string(A){let I=this.buffer.toString(this.encoding,this.offset,this.offset+A);return this.offset+=A,I}cstring(){let A=this.offset,I=A;while(this.buffer[I++]!==0);return this.offset=I,this.buffer.toString(this.encoding,A,I-1)}bytes(A){let I=this.buffer.slice(this.offset,this.offset+A);return this.offset+=A,I}}YS.BufferReader=US});var pS=M((qS)=>{Object.defineProperty(qS,"__esModule",{value:!0});qS.Parser=void 0;var QA=OD(),cZ=aS(),bD=1,LZ=4,HS=bD+LZ,qA=-1,dD=Buffer.allocUnsafe(0);class LS{constructor(A){if(this.buffer=dD,this.bufferLength=0,this.bufferOffset=0,this.reader=new cZ.BufferReader,(A===null||A===void 0?void 0:A.mode)==="binary")throw Error("Binary mode not supported yet");this.mode=(A===null||A===void 0?void 0:A.mode)||"text"}parse(A,I){this.mergeBuffer(A);let g=this.bufferOffset+this.bufferLength,B=this.bufferOffset;while(B+HS<=g){let Q=this.buffer[B],C=this.buffer.readUInt32BE(B+bD),E=bD+C;if(E+B<=g){let D=this.handlePacket(B+HS,Q,C,this.buffer);I(D),B+=E}else break}if(B===g)this.buffer=dD,this.bufferLength=0,this.bufferOffset=0;else this.bufferLength=g-B,this.bufferOffset=B}mergeBuffer(A){if(this.bufferLength>0){let I=this.bufferLength+A.byteLength;if(I+this.bufferOffset>this.buffer.byteLength){let B;if(I<=this.buffer.byteLength&&this.bufferOffset>=this.bufferLength)B=this.buffer;else{let Q=this.buffer.byteLength*2;while(I>=Q)Q*=2;B=Buffer.allocUnsafe(Q)}this.buffer.copy(B,0,this.bufferOffset,this.bufferOffset+this.bufferLength),this.buffer=B,this.bufferOffset=0}A.copy(this.buffer,this.bufferOffset+this.bufferLength),this.bufferLength=I}else this.buffer=A,this.bufferOffset=0,this.bufferLength=A.byteLength}handlePacket(A,I,g,B){let{reader:Q}=this;Q.setBuffer(A,B);let C;switch(I){case 50:C=QA.bindComplete;break;case 49:C=QA.parseComplete;break;case 51:C=QA.closeComplete;break;case 110:C=QA.noData;break;case 115:C=QA.portalSuspended;break;case 99:C=QA.copyDone;break;case 87:C=QA.replicationStart;break;case 73:C=QA.emptyQuery;break;case 68:C=jZ(Q);break;case 67:C=qZ(Q);break;case 90:C=sZ(Q);break;case 65:C=WZ(Q);break;case 82:C=zZ(Q,g);break;case 83:C=dZ(Q);break;case 75:C=bZ(Q);break;case 69:C=cS(Q,"error");break;case 78:C=cS(Q,"notice");break;case 84:C=TZ(Q);break;case 116:C=VZ(Q);break;case 71:C=pZ(Q);break;case 72:C=ZZ(Q);break;case 100:C=xZ(Q,g);break;default:return new QA.DatabaseError("received invalid response: "+I.toString(16),g,"error")}return Q.setBuffer(0,dD),C.length=g,C}}qS.Parser=LS;var sZ=(A)=>{let I=A.string(1);return new QA.ReadyForQueryMessage(qA,I)},qZ=(A)=>{let I=A.cstring();return new QA.CommandCompleteMessage(qA,I)},xZ=(A,I)=>{let g=A.bytes(I-4);return new QA.CopyDataMessage(qA,g)},pZ=(A)=>sS(A,"copyInResponse"),ZZ=(A)=>sS(A,"copyOutResponse"),sS=(A,I)=>{let g=A.byte()!==0,B=A.int16(),Q=new QA.CopyResponse(qA,I,g,B);for(let C=0;C<B;C++)Q.columnTypes[C]=A.int16();return Q},WZ=(A)=>{let I=A.int32(),g=A.cstring(),B=A.cstring();return new QA.NotificationResponseMessage(qA,I,g,B)},TZ=(A)=>{let I=A.int16(),g=new QA.RowDescriptionMessage(qA,I);for(let B=0;B<I;B++)g.fields[B]=OZ(A);return g},OZ=(A)=>{let I=A.cstring(),g=A.uint32(),B=A.int16(),Q=A.uint32(),C=A.int16(),E=A.int32(),D=A.int16()===0?"text":"binary";return new QA.Field(I,g,B,Q,C,E,D)},VZ=(A)=>{let I=A.int16(),g=new QA.ParameterDescriptionMessage(qA,I);for(let B=0;B<I;B++)g.dataTypeIDs[B]=A.int32();return g},jZ=(A)=>{let I=A.int16(),g=Array(I);for(let B=0;B<I;B++){let Q=A.int32();g[B]=Q===-1?null:A.string(Q)}return new QA.DataRowMessage(qA,g)},dZ=(A)=>{let I=A.cstring(),g=A.cstring();return new QA.ParameterStatusMessage(qA,I,g)},bZ=(A)=>{let I=A.int32(),g=A.int32();return new QA.BackendKeyDataMessage(qA,I,g)},zZ=(A,I)=>{let g=A.int32(),B={name:"authenticationOk",length:I};switch(g){case 0:break;case 3:if(B.length===8)B.name="authenticationCleartextPassword";break;case 5:if(B.length===12){B.name="authenticationMD5Password";let Q=A.bytes(4);return new QA.AuthenticationMD5Password(qA,Q)}break;case 10:{B.name="authenticationSASL",B.mechanisms=[];let Q;do if(Q=A.cstring(),Q)B.mechanisms.push(Q);while(Q)}break;case 11:B.name="authenticationSASLContinue",B.data=A.string(I-8);break;case 12:B.name="authenticationSASLFinal",B.data=A.string(I-8);break;default:throw Error("Unknown authenticationOk message type "+g)}return B},cS=(A,I)=>{let g={},B=A.string(1);while(B!=="\x00")g[B]=A.cstring(),B=A.string(1);let Q=g.M,C=I==="notice"?new QA.NoticeMessage(qA,Q):new QA.DatabaseError(Q,qA,I);return C.severity=g.S,C.code=g.C,C.detail=g.D,C.hint=g.H,C.position=g.P,C.internalPosition=g.p,C.internalQuery=g.q,C.where=g.W,C.schema=g.s,C.table=g.t,C.column=g.c,C.dataType=g.d,C.constraint=g.n,C.file=g.F,C.line=g.L,C.routine=g.R,C}});var zD=M((AC)=>{Object.defineProperty(AC,"__esModule",{value:!0});AC.DatabaseError=AC.serialize=AC.parse=void 0;var XZ=OD();Object.defineProperty(AC,"DatabaseError",{enumerable:!0,get:function(){return XZ.DatabaseError}});var PZ=hS();Object.defineProperty(AC,"serialize",{enumerable:!0,get:function(){return PZ.serialize}});var fZ=pS();function lZ(A,I){let g=new fZ.Parser;return A.on("data",(B)=>g.parse(B,I)),new Promise((B)=>A.on("end",()=>B()))}AC.parse=lZ});var WS=M((ZS)=>{Object.defineProperty(ZS,"__esModule",{value:!0});ZS.default={}});var OS=M((Dz,TS)=>{var{getStream:rZ,getSecureStream:vZ}=eZ();TS.exports={getStream:rZ,getSecureStream:vZ};function nZ(){function A(g){return new(Z("net")).Socket}function I(g){return Z("tls").connect(g)}return{getStream:A,getSecureStream:I}}function $Z(){function A(g){let{CloudflareSocket:B}=WS();return new B(g)}function I(g){return g.socket.startTls(g),g.socket}return{getStream:A,getSecureStream:I}}function _Z(){if(typeof navigator==="object"&&navigator!==null&&typeof navigator.userAgent==="string")return navigator.userAgent==="Cloudflare-Workers";if(typeof Response==="function"){let A=new Response(null,{cf:{thing:!0}});if(typeof A.cf==="object"&&A.cf!==null&&A.cf.thing)return!0}return!1}function eZ(){if(_Z())return $Z();return nZ()}});var XD=M((iz,jS)=>{var AW=Z("events").EventEmitter,{parse:IW,serialize:oA}=zD(),{getStream:gW,getSecureStream:BW}=OS(),QW=oA.flush(),CW=oA.sync(),EW=oA.end();class VS extends AW{constructor(A){super();if(A=A||{},this.stream=A.stream||gW(A.ssl),typeof this.stream==="function")this.stream=this.stream(A);this._keepAlive=A.keepAlive,this._keepAliveInitialDelayMillis=A.keepAliveInitialDelayMillis,this.parsedStatements={},this.ssl=A.ssl||!1,this._ending=!1,this._emitMessage=!1;let I=this;this.on("newListener",function(g){if(g==="message")I._emitMessage=!0})}connect(A,I){let g=this;this._connecting=!0,this.stream.setNoDelay(!0),this.stream.connect(A,I),this.stream.once("connect",function(){if(g._keepAlive)g.stream.setKeepAlive(!0,g._keepAliveInitialDelayMillis);g.emit("connect")});let B=function(Q){if(g._ending&&(Q.code==="ECONNRESET"||Q.code==="EPIPE"))return;g.emit("error",Q)};if(this.stream.on("error",B),this.stream.on("close",function(){g.emit("end")}),!this.ssl)return this.attachListeners(this.stream);this.stream.once("data",function(Q){switch(Q.toString("utf8")){case"S":break;case"N":return g.stream.end(),g.emit("error",Error("The server does not support SSL connections"));default:return g.stream.end(),g.emit("error",Error("There was an error establishing an SSL connection"))}let E={socket:g.stream};if(g.ssl!==!0){if(Object.assign(E,g.ssl),"key"in g.ssl)E.key=g.ssl.key}let D=Z("net");if(D.isIP&&D.isIP(I)===0)E.servername=I;try{g.stream=BW(E)}catch(i){return g.emit("error",i)}g.attachListeners(g.stream),g.stream.on("error",B),g.emit("sslconnect")})}attachListeners(A){IW(A,(I)=>{let g=I.name==="error"?"errorMessage":I.name;if(this._emitMessage)this.emit("message",I);this.emit(g,I)})}requestSsl(){this.stream.write(oA.requestSsl())}startup(A){this.stream.write(oA.startup(A))}cancel(A,I){this._send(oA.cancel(A,I))}password(A){this._send(oA.password(A))}sendSASLInitialResponseMessage(A,I){this._send(oA.sendSASLInitialResponseMessage(A,I))}sendSCRAMClientFinalMessage(A){this._send(oA.sendSCRAMClientFinalMessage(A))}_send(A){if(!this.stream.writable)return!1;return this.stream.write(A)}query(A){this._send(oA.query(A))}parse(A){this._send(oA.parse(A))}bind(A){this._send(oA.bind(A))}execute(A){this._send(oA.execute(A))}flush(){if(this.stream.writable)this.stream.write(QW)}sync(){this._ending=!0,this._send(CW)}ref(){this.stream.ref()}unref(){this.stream.unref()}end(){if(this._ending=!0,!this._connecting||!this.stream.writable){this.stream.end();return}return this.stream.write(EW,()=>{this.stream.end()})}close(A){this._send(oA.close(A))}describe(A){this._send(oA.describe(A))}sendCopyFromChunk(A){this._send(oA.copyData(A))}endCopyFrom(){this._send(oA.copyDone())}sendCopyFail(A){this._send(oA.copyFail(A))}}jS.exports=VS});var XS=M((Gz,zS)=>{var{Transform:DW}=Z("stream"),{StringDecoder:iW}=Z("string_decoder"),MI=Symbol("last"),IC=Symbol("decoder");function GW(A,I,g){let B;if(this.overflow){if(B=this[IC].write(A).split(this.matcher),B.length===1)return g();B.shift(),this.overflow=!1}else this[MI]+=this[IC].write(A),B=this[MI].split(this.matcher);this[MI]=B.pop();for(let Q=0;Q<B.length;Q++)try{bS(this,this.mapper(B[Q]))}catch(C){return g(C)}if(this.overflow=this[MI].length>this.maxLength,this.overflow&&!this.skipOverflow){g(Error("maximum buffer reached"));return}g()}function oW(A){if(this[MI]+=this[IC].end(),this[MI])try{bS(this,this.mapper(this[MI]))}catch(I){return A(I)}A()}function bS(A,I){if(I!==void 0)A.push(I)}function dS(A){return A}function wW(A,I,g){switch(A=A||/\r?\n/,I=I||dS,g=g||{},arguments.length){case 1:if(typeof A==="function")I=A,A=/\r?\n/;else if(typeof A==="object"&&!(A instanceof RegExp)&&!A[Symbol.split])g=A,A=/\r?\n/;break;case 2:if(typeof A==="function")g=I,I=A,A=/\r?\n/;else if(typeof I==="object")g=I,I=dS}g=Object.assign({},g),g.autoDestroy=!0,g.transform=GW,g.flush=oW,g.readableObjectMode=!0;let B=new DW(g);return B[MI]="",B[IC]=new iW("utf8"),B.matcher=A,B.mapper=I,B.maxLength=g.maxLength,B.skipOverflow=g.skipOverflow||!1,B.overflow=!1,B._destroy=function(Q,C){this._writableState.errorEmitted=!1,C(Q)},B}zS.exports=wW});var lS=M((aW,EI)=>{var PS=Z("path"),NW=Z("stream").Stream,kW=XS(),fS=Z("util"),KW=5432,gC=process.platform==="win32",NB=process.stderr,FW=56,RW=7,SW=61440,MW=32768;function yW(A){return(A&SW)==MW}var Kg=["host","port","database","user","password"],PD=Kg.length,hW=Kg[PD-1];function fD(){var A=NB instanceof NW&&NB.writable===!0;if(A){var I=Array.prototype.slice.call(arguments).concat(`
103
+ `);NB.write(fS.format.apply(fS,I))}}Object.defineProperty(aW,"isWin",{get:function(){return gC},set:function(A){gC=A}});aW.warnTo=function(A){var I=NB;return NB=A,I};aW.getFileName=function(A){var I=A||process.env,g=I.PGPASSFILE||(gC?PS.join(I.APPDATA||"./","postgresql","pgpass.conf"):PS.join(I.HOME||"./",".pgpass"));return g};aW.usePgPass=function(A,I){if(Object.prototype.hasOwnProperty.call(process.env,"PGPASSWORD"))return!1;if(gC)return!0;if(I=I||"<unkn>",!yW(A.mode))return fD('WARNING: password file "%s" is not a plain file',I),!1;if(A.mode&(FW|RW))return fD('WARNING: password file "%s" has group or world access; permissions should be u=rw (0600) or less',I),!1;return!0};var UW=aW.match=function(A,I){return Kg.slice(0,-1).reduce(function(g,B,Q){if(Q==1){if(Number(A[B]||KW)===Number(I[B]))return g&&!0}return g&&(I[B]==="*"||I[B]===A[B])},!0)};aW.getPassword=function(A,I,g){var B,Q=I.pipe(kW());function C(i){var G=YW(i);if(G&&JW(G)&&UW(A,G))B=G[hW],Q.end()}var E=function(){I.destroy(),g(B)},D=function(i){I.destroy(),fD("WARNING: error on reading file: %s",i),g(void 0)};I.on("error",D),Q.on("data",C).on("end",E).on("error",D)};var YW=aW.parseLine=function(A){if(A.length<11||A.match(/^\s+#/))return null;var I="",g="",B=0,Q=0,C=0,E={},D=!1,i=function(o,w,N){var k=A.substring(w,N);if(!Object.hasOwnProperty.call(process.env,"PGPASS_NO_DEESCAPE"))k=k.replace(/\\([:\\])/g,"$1");E[Kg[o]]=k};for(var G=0;G<A.length-1;G+=1){if(I=A.charAt(G+1),g=A.charAt(G),D=B==PD-1,D){i(B,Q);break}if(G>=0&&I==":"&&g!=="\\")i(B,Q,G+1),Q=G+2,B+=1}return E=Object.keys(E).length===PD?E:null,E},JW=aW.isValidEntry=function(A){var I={0:function(E){return E.length>0},1:function(E){if(E==="*")return!0;return E=Number(E),isFinite(E)&&E>0&&E<9007199254740992&&Math.floor(E)===E},2:function(E){return E.length>0},3:function(E){return E.length>0},4:function(E){return E.length>0}};for(var g=0;g<Kg.length;g+=1){var B=I[g],Q=A[Kg[g]]||"",C=B(Q);if(!C)return!1}return!0}});var tS=M((Kz,lD)=>{var kz=Z("path"),mS=Z("fs"),BC=lS();lD.exports=function(A,I){var g=BC.getFileName();mS.stat(g,function(B,Q){if(B||!BC.usePgPass(Q,g))return I(void 0);var C=mS.createReadStream(g);BC.getPassword(A,C,I)})};lD.exports.warnTo=BC.warnTo});var $S=M((Fz,nS)=>{var qW=Z("events").EventEmitter,uS=og(),kB=Z("util"),QC=TR(),xW=_Q(),pW=WD(),vS=nR(),ZW=oB(),WW=XD(),TW=qD(),rS=kB.deprecate(()=>{},"Client.activeQuery is deprecated and will be removed in pg@9.0"),OW=kB.deprecate(()=>{},"Client.queryQueue is deprecated and will be removed in pg@9.0."),VW=kB.deprecate(()=>{},"pgpass support is deprecated and will be removed in pg@9.0. You can provide an async function as the password property to the Client/Pool constructor that returns a password instead. Within this function you can call the pgpass module in your own code."),jW=kB.deprecate(()=>{},"Passing a custom Promise implementation to the Client/Pool constructor is deprecated and will be removed in pg@9.0."),dW=kB.deprecate(()=>{},"Calling client.query() when the client is already executing a query is deprecated and will be removed in pg@9.0. Use async/await or an external async flow control mechanism instead.");function bW(A,I){if(typeof A==="number")return Number.isFinite(A)?A:I;if(typeof A==="string"&&A.trim()!==""){let g=Number(A);return Number.isFinite(g)?g:I}return I}class mD extends qW{constructor(A){super();this.connectionParameters=new pW(A),this.user=this.connectionParameters.user,this.database=this.connectionParameters.database,this.port=this.connectionParameters.port,this.host=this.connectionParameters.host,Object.defineProperty(this,"password",{configurable:!0,enumerable:!1,writable:!0,value:this.connectionParameters.password}),this.replication=this.connectionParameters.replication;let I=A||{};if(I.Promise)jW();if(this._Promise=I.Promise||global.Promise,this._types=new xW(I.types),this._ending=!1,this._ended=!1,this._connecting=!1,this._connected=!1,this._connectionError=!1,this._queryable=!0,this._activeQuery=null,this._txStatus=null,this.enableChannelBinding=Boolean(I.enableChannelBinding),this.scramMaxIterations=bW(I.scramMaxIterations,QC.DEFAULT_MAX_SCRAM_ITERATIONS),this.connection=I.connection||new WW({stream:I.stream,ssl:this.connectionParameters.ssl,keepAlive:I.keepAlive||!1,keepAliveInitialDelayMillis:I.keepAliveInitialDelayMillis||0,encoding:this.connectionParameters.client_encoding||"utf8"}),this._queryQueue=[],this.binary=I.binary||ZW.binary,this.processID=null,this.secretKey=null,this.ssl=this.connectionParameters.ssl||!1,this.ssl&&this.ssl.key)Object.defineProperty(this.ssl,"key",{enumerable:!1});this._connectionTimeoutMillis=I.connectionTimeoutMillis||0}get activeQuery(){return rS(),this._activeQuery}set activeQuery(A){rS(),this._activeQuery=A}_getActiveQuery(){return this._activeQuery}_errorAllQueries(A){let I=(B)=>{process.nextTick(()=>{B.handleError(A,this.connection)})},g=this._getActiveQuery();if(g)I(g),this._activeQuery=null;this._queryQueue.forEach(I),this._queryQueue.length=0}_connect(A){let I=this,g=this.connection;if(this._connectionCallback=A,this._connecting||this._connected){let B=Error("Client has already been connected. You cannot reuse a client.");process.nextTick(()=>{A(B)});return}if(this._connecting=!0,this._connectionTimeoutMillis>0){if(this.connectionTimeoutHandle=setTimeout(()=>{g._ending=!0,g.stream.destroy(Error("timeout expired"))},this._connectionTimeoutMillis),this.connectionTimeoutHandle.unref)this.connectionTimeoutHandle.unref()}if(this.host&&this.host.indexOf("/")===0)g.connect(this.host+"/.s.PGSQL."+this.port);else g.connect(this.port,this.host);g.on("connect",function(){if(I.ssl)g.requestSsl();else g.startup(I.getStartupConf())}),g.on("sslconnect",function(){g.startup(I.getStartupConf())}),this._attachListeners(g),g.once("end",()=>{let B=this._ending?Error("Connection terminated"):Error("Connection terminated unexpectedly");if(clearTimeout(this.connectionTimeoutHandle),this._errorAllQueries(B),this._ended=!0,!this._ending){if(this._connecting&&!this._connectionError)if(this._connectionCallback)this._connectionCallback(B);else this._handleErrorEvent(B);else if(!this._connectionError)this._handleErrorEvent(B)}process.nextTick(()=>{this.emit("end")})})}connect(A){if(A){this._connect(A);return}return new this._Promise((I,g)=>{this._connect((B)=>{if(B)g(B);else I(this)})})}_attachListeners(A){A.on("authenticationCleartextPassword",this._handleAuthCleartextPassword.bind(this)),A.on("authenticationMD5Password",this._handleAuthMD5Password.bind(this)),A.on("authenticationSASL",this._handleAuthSASL.bind(this)),A.on("authenticationSASLContinue",this._handleAuthSASLContinue.bind(this)),A.on("authenticationSASLFinal",this._handleAuthSASLFinal.bind(this)),A.on("backendKeyData",this._handleBackendKeyData.bind(this)),A.on("error",this._handleErrorEvent.bind(this)),A.on("errorMessage",this._handleErrorMessage.bind(this)),A.on("readyForQuery",this._handleReadyForQuery.bind(this)),A.on("notice",this._handleNotice.bind(this)),A.on("rowDescription",this._handleRowDescription.bind(this)),A.on("dataRow",this._handleDataRow.bind(this)),A.on("portalSuspended",this._handlePortalSuspended.bind(this)),A.on("emptyQuery",this._handleEmptyQuery.bind(this)),A.on("commandComplete",this._handleCommandComplete.bind(this)),A.on("parseComplete",this._handleParseComplete.bind(this)),A.on("copyInResponse",this._handleCopyInResponse.bind(this)),A.on("copyData",this._handleCopyData.bind(this)),A.on("notification",this._handleNotification.bind(this))}_getPassword(A){let I=this.connection;if(typeof this.password==="function")this._Promise.resolve().then(()=>this.password(this.connectionParameters)).then((g)=>{if(g!==void 0){if(typeof g!=="string"){I.emit("error",TypeError("Password must be a string"));return}this.connectionParameters.password=this.password=g}else this.connectionParameters.password=this.password=null;A()}).catch((g)=>{I.emit("error",g)});else if(this.password!==null)A();else try{tS()(this.connectionParameters,(B)=>{if(B!==void 0)VW(),this.connectionParameters.password=this.password=B;A()})}catch(g){this.emit("error",g)}}_handleAuthCleartextPassword(A){this._getPassword(()=>{this.connection.password(this.password)})}_handleAuthMD5Password(A){this._getPassword(async()=>{try{let I=await TW.postgresMd5PasswordHash(this.user,this.password,A.salt);this.connection.password(I)}catch(I){this.emit("error",I)}})}_handleAuthSASL(A){this._getPassword(()=>{try{this.saslSession=QC.startSession(A.mechanisms,this.enableChannelBinding&&this.connection.stream,this.scramMaxIterations),this.connection.sendSASLInitialResponseMessage(this.saslSession.mechanism,this.saslSession.response)}catch(I){this.connection.emit("error",I)}})}async _handleAuthSASLContinue(A){try{await QC.continueSession(this.saslSession,this.password,A.data,this.enableChannelBinding&&this.connection.stream),this.connection.sendSCRAMClientFinalMessage(this.saslSession.response)}catch(I){this.connection.emit("error",I)}}_handleAuthSASLFinal(A){try{QC.finalizeSession(this.saslSession,A.data),this.saslSession=null}catch(I){this.connection.emit("error",I)}}_handleBackendKeyData(A){this.processID=A.processID,this.secretKey=A.secretKey}_handleReadyForQuery(A){if(this._connecting){if(this._connecting=!1,this._connected=!0,clearTimeout(this.connectionTimeoutHandle),this._connectionCallback)this._connectionCallback(null,this),this._connectionCallback=null;this.emit("connect")}let I=this._getActiveQuery();if(this._activeQuery=null,this._txStatus=A?.status??null,this.readyForQuery=!0,I)I.handleReadyForQuery(this.connection);this._pulseQueryQueue()}_handleErrorWhileConnecting(A){if(this._connectionError)return;if(this._connectionError=!0,clearTimeout(this.connectionTimeoutHandle),this._connectionCallback)return this._connectionCallback(A);this.emit("error",A)}_handleErrorEvent(A){if(this._connecting)return this._handleErrorWhileConnecting(A);this._queryable=!1,this._errorAllQueries(A),this.emit("error",A)}_handleErrorMessage(A){if(this._connecting)return this._handleErrorWhileConnecting(A);let I=this._getActiveQuery();if(!I){this._handleErrorEvent(A);return}this._activeQuery=null,I.handleError(A,this.connection)}_handleRowDescription(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected rowDescription message from backend.");this._handleErrorEvent(g);return}I.handleRowDescription(A)}_handleDataRow(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected dataRow message from backend.");this._handleErrorEvent(g);return}I.handleDataRow(A)}_handlePortalSuspended(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected portalSuspended message from backend.");this._handleErrorEvent(g);return}I.handlePortalSuspended(this.connection)}_handleEmptyQuery(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected emptyQuery message from backend.");this._handleErrorEvent(g);return}I.handleEmptyQuery(this.connection)}_handleCommandComplete(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected commandComplete message from backend.");this._handleErrorEvent(g);return}I.handleCommandComplete(A,this.connection)}_handleParseComplete(){let A=this._getActiveQuery();if(A==null){let I=Error("Received unexpected parseComplete message from backend.");this._handleErrorEvent(I);return}if(A.name)this.connection.parsedStatements[A.name]=A.text}_handleCopyInResponse(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected copyInResponse message from backend.");this._handleErrorEvent(g);return}I.handleCopyInResponse(this.connection)}_handleCopyData(A){let I=this._getActiveQuery();if(I==null){let g=Error("Received unexpected copyData message from backend.");this._handleErrorEvent(g);return}I.handleCopyData(A,this.connection)}_handleNotification(A){this.emit("notification",A)}_handleNotice(A){this.emit("notice",A)}getStartupConf(){let A=this.connectionParameters,I={user:A.user,database:A.database},g=A.application_name||A.fallback_application_name;if(g)I.application_name=g;if(A.replication)I.replication=""+A.replication;if(A.statement_timeout)I.statement_timeout=String(parseInt(A.statement_timeout,10));if(A.lock_timeout)I.lock_timeout=String(parseInt(A.lock_timeout,10));if(A.idle_in_transaction_session_timeout)I.idle_in_transaction_session_timeout=String(parseInt(A.idle_in_transaction_session_timeout,10));if(A.options)I.options=A.options;return I}cancel(A,I){if(A.activeQuery===I){let g=this.connection;if(this.host&&this.host.indexOf("/")===0)g.connect(this.host+"/.s.PGSQL."+this.port);else g.connect(this.port,this.host);g.on("connect",function(){g.cancel(A.processID,A.secretKey)})}else if(A._queryQueue.indexOf(I)!==-1)A._queryQueue.splice(A._queryQueue.indexOf(I),1)}setTypeParser(A,I,g){return this._types.setTypeParser(A,I,g)}getTypeParser(A,I){return this._types.getTypeParser(A,I)}escapeIdentifier(A){return uS.escapeIdentifier(A)}escapeLiteral(A){return uS.escapeLiteral(A)}_pulseQueryQueue(){if(this.readyForQuery===!0){this._activeQuery=this._queryQueue.shift();let A=this._getActiveQuery();if(A){this.readyForQuery=!1,this.hasExecuted=!0;let I=A.submit(this.connection);if(I)process.nextTick(()=>{A.handleError(I,this.connection),this.readyForQuery=!0,this._pulseQueryQueue()})}else if(this.hasExecuted)this._activeQuery=null,this.emit("drain")}}query(A,I,g){let B,Q;if(A==null)throw TypeError("Client was passed a null or undefined query");if(typeof A.submit==="function"){if(Q=B=A,!B.callback){if(typeof I==="function")B.callback=I;else if(g)B.callback=g}}else if(B=new vS(A,I,g),!B.callback)Q=new this._Promise((E,D)=>{B.callback=(i,G)=>i?D(i):E(G)}).catch((E)=>{throw Error.captureStackTrace(E),E});else if(typeof B.callback!=="function")throw TypeError("callback is not a function");let C=A.query_timeout||this.connectionParameters.query_timeout;if(C){let E=B.callback||(()=>{}),D=setTimeout(()=>{let i=Error("Query read timeout");process.nextTick(()=>{B.handleError(i,this.connection)}),E(i),B.callback=()=>{};let G=this._queryQueue.indexOf(B);if(G>-1)this._queryQueue.splice(G,1);this._pulseQueryQueue()},C);B.callback=(i,G)=>{clearTimeout(D),E(i,G)}}if(this.binary&&!B.binary)B.binary=!0;if(B._result&&!B._result._types)B._result._types=this._types;if(!this._queryable)return process.nextTick(()=>{B.handleError(Error("Client has encountered a connection error and is not queryable"),this.connection)}),Q;if(this._ending)return process.nextTick(()=>{B.handleError(Error("Client was closed and is not queryable"),this.connection)}),Q;if(this._queryQueue.length>0)dW();return this._queryQueue.push(B),this._pulseQueryQueue(),Q}ref(){this.connection.ref()}unref(){this.connection.unref()}getTransactionStatus(){return this._txStatus}end(A){if(this._ending=!0,!this.connection._connecting||this._ended)if(A){A();return}else return this._Promise.resolve();if(this._getActiveQuery()||!this._queryable)this.connection.stream.destroy();else this.connection.end();if(A)this.connection.once("end",A);else return new this._Promise((I)=>{this.connection.once("end",I)})}get queryQueue(){return OW(),this._queryQueue}}mD.Query=vS;nS.exports=mD});var gM=M((Rz,IM)=>{var zW=Z("events").EventEmitter,tD=function(){},_S=(A,I)=>{let g=A.findIndex(I);return g===-1?void 0:A.splice(g,1)[0]};class eS{constructor(A,I,g){this.client=A,this.idleListener=I,this.timeoutId=g}}class KB{constructor(A){this.callback=A}}function XW(){throw Error("Release called on client which has already been released to the pool.")}function CC(A,I){if(I)return{callback:I,result:void 0};let g,B,Q=function(E,D){E?g(E):B(D)},C=new A(function(E,D){B=E,g=D}).catch((E)=>{throw Error.captureStackTrace(E),E});return{callback:Q,result:C}}function PW(A,I){return function g(B){B.client=I,I.removeListener("error",g),I.on("error",()=>{A.log("additional client error after disconnection due to error",B)}),A._remove(I),A.emit("error",B,I)}}class AM extends zW{constructor(A,I){super();if(this.options=Object.assign({},A),A!=null&&"password"in A)Object.defineProperty(this.options,"password",{configurable:!0,enumerable:!1,writable:!0,value:A.password});if(A!=null&&A.ssl&&A.ssl.key)Object.defineProperty(this.options.ssl,"key",{enumerable:!1});if(this.options.max=this.options.max||this.options.poolSize||10,this.options.min=this.options.min||0,this.options.maxUses=this.options.maxUses||1/0,this.options.allowExitOnIdle=this.options.allowExitOnIdle||!1,this.options.maxLifetimeSeconds=this.options.maxLifetimeSeconds||0,this.log=this.options.log||function(){},this.Client=this.options.Client||I||uD().Client,this.Promise=this.options.Promise||global.Promise,typeof this.options.idleTimeoutMillis>"u")this.options.idleTimeoutMillis=1e4;this._clients=[],this._idle=[],this._expired=new WeakSet,this._pendingQueue=[],this._endCallback=void 0,this.ending=!1,this.ended=!1}_promiseTry(A){let I=this.Promise;if(typeof I.try==="function")return I.try(A);return new I((g)=>g(A()))}_isFull(){return this._clients.length>=this.options.max}_isAboveMin(){return this._clients.length>this.options.min}_pulseQueue(){if(this.log("pulse queue"),this.ended){this.log("pulse queue ended");return}if(this.ending){if(this.log("pulse queue on ending"),this._idle.length)this._idle.slice().map((I)=>{this._remove(I.client)});if(!this._clients.length)this.ended=!0,this._endCallback();return}if(!this._pendingQueue.length){this.log("no queued requests");return}if(!this._idle.length&&this._isFull())return;let A=this._pendingQueue.shift();if(this._idle.length){let I=this._idle.pop();clearTimeout(I.timeoutId);let g=I.client;g.ref&&g.ref();let B=I.idleListener;return this._acquireClient(g,A,B,!1)}if(!this._isFull())return this.newClient(A);throw Error("unexpected condition")}_remove(A,I){let g=_S(this._idle,(Q)=>Q.client===A);if(g!==void 0)clearTimeout(g.timeoutId);this._clients=this._clients.filter((Q)=>Q!==A);let B=this;A.end(()=>{if(B.emit("remove",A),typeof I==="function")I()})}connect(A){if(this.ending){let B=Error("Cannot use a pool after calling end on the pool");return A?A(B):this.Promise.reject(B)}let I=CC(this.Promise,A),g=I.result;if(this._isFull()||this._idle.length){if(this._idle.length)process.nextTick(()=>this._pulseQueue());if(!this.options.connectionTimeoutMillis)return this._pendingQueue.push(new KB(I.callback)),g;let B=(E,D,i)=>{clearTimeout(C),I.callback(E,D,i)},Q=new KB(B),C=setTimeout(()=>{_S(this._pendingQueue,(E)=>E.callback===B),Q.timedOut=!0,I.callback(Error("timeout exceeded when trying to connect"))},this.options.connectionTimeoutMillis);if(C.unref)C.unref();return this._pendingQueue.push(Q),g}return this.newClient(new KB(I.callback)),g}newClient(A){let I=new this.Client(this.options);this._clients.push(I);let g=PW(this,I);this.log("checking client timeout");let B,Q=!1;if(this.options.connectionTimeoutMillis)B=setTimeout(()=>{if(I.connection)this.log("ending client due to timeout"),Q=!0,I.connection.stream.destroy();else if(!I.isConnected())this.log("ending client due to timeout"),Q=!0,I.end()},this.options.connectionTimeoutMillis);this.log("connecting new client"),I.connect((C)=>{if(B)clearTimeout(B);if(I.on("error",g),C){if(this.log("client failed to connect",C),this._clients=this._clients.filter((E)=>E!==I),Q)C=Error("Connection terminated due to connection timeout",{cause:C});if(this._pulseQueue(),!A.timedOut)A.callback(C,void 0,tD)}else{if(this.log("new client connected"),this.options.onConnect){this._promiseTry(()=>this.options.onConnect(I)).then(()=>{this._afterConnect(I,A,g)},(E)=>{this._clients=this._clients.filter((D)=>D!==I),I.end(()=>{if(this._pulseQueue(),!A.timedOut)A.callback(E,void 0,tD)})});return}return this._afterConnect(I,A,g)}})}_afterConnect(A,I,g){if(this.options.maxLifetimeSeconds!==0){let B=setTimeout(()=>{if(this.log("ending client due to expired lifetime"),this._expired.add(A),this._idle.findIndex((C)=>C.client===A)!==-1)this._acquireClient(A,new KB((C,E,D)=>D()),g,!1)},this.options.maxLifetimeSeconds*1000);B.unref(),A.once("end",()=>clearTimeout(B))}return this._acquireClient(A,I,g,!0)}_acquireClient(A,I,g,B){if(B)this.emit("connect",A);if(this.emit("acquire",A),A.release=this._releaseOnce(A,g),A.removeListener("error",g),!I.timedOut)if(B&&this.options.verify)this.options.verify(A,(Q)=>{if(Q)return A.release(Q),I.callback(Q,void 0,tD);I.callback(void 0,A,A.release)});else I.callback(void 0,A,A.release);else if(B&&this.options.verify)this.options.verify(A,A.release);else A.release()}_releaseOnce(A,I){let g=!1;return(B)=>{if(g)XW();g=!0,this._release(A,I,B)}}_release(A,I,g){if(A.on("error",I),A._poolUseCount=(A._poolUseCount||0)+1,this.emit("release",g,A),g||this.ending||!A._queryable||A._ending||A._poolUseCount>=this.options.maxUses){if(A._poolUseCount>=this.options.maxUses)this.log("remove expended client");return this._remove(A,this._pulseQueue.bind(this))}if(this._expired.has(A))return this.log("remove expired client"),this._expired.delete(A),this._remove(A,this._pulseQueue.bind(this));let Q;if(this.options.idleTimeoutMillis&&this._isAboveMin()){if(Q=setTimeout(()=>{if(this._isAboveMin())this.log("remove idle client"),this._remove(A,this._pulseQueue.bind(this))},this.options.idleTimeoutMillis),this.options.allowExitOnIdle)Q.unref()}if(this.options.allowExitOnIdle)A.unref();this._idle.push(new eS(A,I,Q)),this._pulseQueue()}query(A,I,g){if(typeof A==="function"){let Q=CC(this.Promise,A);return setImmediate(function(){return Q.callback(Error("Passing a function as the first parameter to pool.query is not supported"))}),Q.result}if(typeof I==="function")g=I,I=void 0;let B=CC(this.Promise,g);return g=B.callback,this.connect((Q,C)=>{if(Q)return g(Q);let E=!1,D=(i)=>{if(E)return;E=!0,C.release(i),g(i)};C.once("error",D),this.log("dispatching query");try{C.query(A,I,(i,G)=>{if(this.log("query dispatched"),C.removeListener("error",D),E)return;if(E=!0,C.release(i),i)return g(i);return g(void 0,G)})}catch(i){return C.release(i),g(i)}}),B.result}end(A){if(this.log("ending"),this.ending){let g=Error("Called end on pool more than once");return A?A(g):this.Promise.reject(g)}this.ending=!0;let I=CC(this.Promise,A);return this._endCallback=I.callback,this._pulseQueue(),I.result}get waitingCount(){return this._pendingQueue.length}get idleCount(){return this._idle.length}get expiredCount(){return this._clients.reduce((A,I)=>A+(this._expired.has(I)?1:0),0)}get totalCount(){return this._clients.length}}IM.exports=AM});var CM=M((Sz,QM)=>{var BM=Z("events").EventEmitter,fW=Z("util"),rD=og(),Fg=QM.exports=function(A,I,g){BM.call(this),A=rD.normalizeQueryConfig(A,I,g),this.text=A.text,this.values=A.values,this.name=A.name,this.queryMode=A.queryMode,this.callback=A.callback,this.state="new",this._arrayMode=A.rowMode==="array",this._emitRowEvents=!1,this.on("newListener",function(B){if(B==="row")this._emitRowEvents=!0}.bind(this))};fW.inherits(Fg,BM);var lW={sqlState:"code",statementPosition:"position",messagePrimary:"message",context:"where",schemaName:"schema",tableName:"table",columnName:"column",dataTypeName:"dataType",constraintName:"constraint",sourceFile:"file",sourceLine:"line",sourceFunction:"routine"};Fg.prototype.handleError=function(A){let I=this.native.pq.resultErrorFields();if(I)for(let g in I){let B=lW[g]||g;A[B]=I[g]}if(this.callback)this.callback(A);else this.emit("error",A);this.state="error"};Fg.prototype.then=function(A,I){return this._getPromise().then(A,I)};Fg.prototype.catch=function(A){return this._getPromise().catch(A)};Fg.prototype._getPromise=function(){if(this._promise)return this._promise;return this._promise=new Promise(function(A,I){this._once("end",A),this._once("error",I)}.bind(this)),this._promise};Fg.prototype.submit=function(A){this.state="running";let I=this;this.native=A.native,A.native.arrayMode=this._arrayMode;let g=function(B,Q,C){if(A.native.arrayMode=!1,setImmediate(function(){I.emit("_done")}),B)return I.handleError(B);if(I._emitRowEvents)if(C.length>1)Q.forEach((E,D)=>{E.forEach((i)=>{I.emit("row",i,C[D])})});else Q.forEach(function(E){I.emit("row",E,C)});if(I.state="end",I.emit("end",C),I.callback)I.callback(null,C)};if(process.domain)g=process.domain.bind(g);if(this.name){if(this.name.length>63)console.error("Warning! Postgres only supports 63 characters for query names."),console.error("You supplied %s (%s)",this.name,this.name.length),console.error("This can cause conflicts and silent errors executing queries");let B=(this.values||[]).map(rD.prepareValue);if(A.namedQueries[this.name]){if(this.text&&A.namedQueries[this.name]!==this.text){let Q=Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`);return g(Q)}return A.native.execute(this.name,B,g)}return A.native.prepare(this.name,this.text,B.length,function(Q){if(Q)return g(Q);return A.namedQueries[I.name]=I.text,I.native.execute(I.name,B,g)})}else if(this.values){if(!Array.isArray(this.values)){let Q=Error("Query values must be an array");return g(Q)}let B=this.values.map(rD.prepareValue);A.native.query(this.text,B,g)}else if(this.queryMode==="extended")A.native.query(this.text,[],g);else A.native.query(this.text,g)}});var vD=M((Mz,GM)=>{var mW=Z("util"),EM;try{EM=(()=>{throw new Error("Cannot require module "+"pg-native");})()}catch(A){throw A}var tW=_Q(),DM=Z("events").EventEmitter,uW=Z("util"),rW=WD(),iM=CM(),vW=mW.deprecate(()=>{},"Calling client.query() when the client is already executing a query is deprecated and will be removed in pg@9.0. Use async/await or an external async flow control mechanism instead."),SA=GM.exports=function(A){DM.call(this),A=A||{},this._Promise=A.Promise||global.Promise,this._types=new tW(A.types),this.native=new EM({types:this._types}),this._queryQueue=[],this._ending=!1,this._connecting=!1,this._connected=!1,this._queryable=!0;let I=this.connectionParameters=new rW(A);if(A.nativeConnectionString)I.nativeConnectionString=A.nativeConnectionString;this.user=I.user,Object.defineProperty(this,"password",{configurable:!0,enumerable:!1,writable:!0,value:I.password}),this.database=I.database,this.host=I.host,this.port=I.port,this.namedQueries={}};SA.Query=iM;uW.inherits(SA,DM);SA.prototype._errorAllQueries=function(A){let I=(g)=>{process.nextTick(()=>{g.native=this.native,g.handleError(A)})};if(this._hasActiveQuery())I(this._activeQuery),this._activeQuery=null;this._queryQueue.forEach(I),this._queryQueue.length=0};SA.prototype._connect=function(A){let I=this;if(this._connecting){process.nextTick(()=>A(Error("Client has already been connected. You cannot reuse a client.")));return}this._connecting=!0,this.connectionParameters.getLibpqConnectionString(function(g,B){if(I.connectionParameters.nativeConnectionString)B=I.connectionParameters.nativeConnectionString;if(g)return A(g);I.native.connect(B,function(Q){if(Q)return I.native.end(),A(Q);I._connected=!0,I.native.on("error",function(C){I._queryable=!1,I._errorAllQueries(C),I.emit("error",C)}),I.native.on("notification",function(C){I.emit("notification",{channel:C.relname,payload:C.extra})}),I.emit("connect"),I._pulseQueryQueue(!0),A(null,this)})})};SA.prototype.connect=function(A){if(A){this._connect(A);return}return new this._Promise((I,g)=>{this._connect((B)=>{if(B)g(B);else I(this)})})};SA.prototype.query=function(A,I,g){let B,Q,C,E,D;if(A===null||A===void 0)throw TypeError("Client was passed a null or undefined query");else if(typeof A.submit==="function"){if(C=A.query_timeout||this.connectionParameters.query_timeout,Q=B=A,typeof I==="function")A.callback=I}else if(C=A.query_timeout||this.connectionParameters.query_timeout,B=new iM(A,I,g),!B.callback){let i,G;Q=new this._Promise((o,w)=>{i=o,G=w}).catch((o)=>{throw Error.captureStackTrace(o),o}),B.callback=(o,w)=>o?G(o):i(w)}if(C)D=B.callback||(()=>{}),E=setTimeout(()=>{let i=Error("Query read timeout");process.nextTick(()=>{B.handleError(i,this.connection)}),D(i),B.callback=()=>{};let G=this._queryQueue.indexOf(B);if(G>-1)this._queryQueue.splice(G,1);this._pulseQueryQueue()},C),B.callback=(i,G)=>{clearTimeout(E),D(i,G)};if(!this._queryable)return B.native=this.native,process.nextTick(()=>{B.handleError(Error("Client has encountered a connection error and is not queryable"))}),Q;if(this._ending)return B.native=this.native,process.nextTick(()=>{B.handleError(Error("Client was closed and is not queryable"))}),Q;if(this._queryQueue.length>0)vW();return this._queryQueue.push(B),this._pulseQueryQueue(),Q};SA.prototype.end=function(A){let I=this;if(this._ending=!0,this._connecting&&!this._connected)this.once("connect",()=>{this.end(()=>{})});let g;if(!A)g=new this._Promise(function(B,Q){A=(C)=>C?Q(C):B()});return this.native.end(function(){I._connected=!1,I._errorAllQueries(Error("Connection terminated")),process.nextTick(()=>{if(I.emit("end"),A)A()})}),g};SA.prototype._hasActiveQuery=function(){return this._activeQuery&&this._activeQuery.state!=="error"&&this._activeQuery.state!=="end"};SA.prototype._pulseQueryQueue=function(A){if(!this._connected)return;if(this._hasActiveQuery())return;let I=this._queryQueue.shift();if(!I){if(!A)this.emit("drain");return}this._activeQuery=I,I.submit(this);let g=this;I.once("_done",function(){g._pulseQueryQueue()})};SA.prototype.cancel=function(A){if(this._activeQuery===A)this.native.cancel(function(){});else if(this._queryQueue.indexOf(A)!==-1)this._queryQueue.splice(this._queryQueue.indexOf(A),1)};SA.prototype.ref=function(){};SA.prototype.unref=function(){};SA.prototype.setTypeParser=function(A,I,g){return this._types.setTypeParser(A,I,g)};SA.prototype.getTypeParser=function(A,I){return this._types.getTypeParser(A,I)};SA.prototype.isConnected=function(){return this._connected};SA.prototype.getTransactionStatus=function(){return this.native.getTransactionStatus()}});var uD=M((yz,EC)=>{var nW=$S(),$W=oB(),_W=XD(),eW=TD(),AT=og(),IT=gM(),gT=_Q(),{DatabaseError:BT}=zD(),{escapeIdentifier:QT,escapeLiteral:CT}=og(),ET=(A)=>{return class extends IT{constructor(g){super(g,A)}}},oM=function(A){this.defaults=$W,this.Client=A,this.Query=this.Client.Query,this.Pool=ET(this.Client),this._pools=[],this.Connection=_W,this.types=GB(),this.DatabaseError=BT,this.TypeOverrides=gT,this.escapeIdentifier=QT,this.escapeLiteral=CT,this.Result=eW,this.utils=AT},wM=nW,NM=!1;try{NM=!!process.env.NODE_PG_FORCE_NATIVE}catch{}if(NM)wM=vD();EC.exports=new oM(wM);Object.defineProperty(EC.exports,"native",{configurable:!0,enumerable:!1,get(){let A=null;try{A=new oM(vD())}catch(I){if(I.code!=="MODULE_NOT_FOUND")throw I}return Object.defineProperty(EC.exports,"native",{value:A}),A}})});class dI extends Error{constructor(A,I){super(`Client with ID '${A}' not found. Terminated at address: '${I}'.`);this.name="UnknownClientError"}}class AI extends Error{constructor(A){super(`Timeout waiting for RPC method response '${A}'`);this.name="GlobalRPCTimeoutError"}}class UI extends Error{static message="Network authority not found for networkId";constructor(A){super(`${UI.message}: '${A}'`);this.name="NetworkAuthorityNotFoundError"}}var wC="No network authority found";class bI extends Error{}var YI=(A)=>{if(A.includes(":"))throw new bI("Channel name cannot contain :");if(A.includes("/"))throw new bI("Channel name cannot contain /");if(!/^[A-Za-z0-9-]+$/.test(A))throw new bI("Channel name can only contain letters, numbers and dashes ('-')");if(A.length>100)throw new bI("Channel name cannot be longer than 100 characters");return!0};var Rg="rpc-request",Fi="rpc-response",Ri="connect-to-client",Si="nc-pub",Mi="nc-on-pub",yi="subscribe-to-nc-name",hi="subscribed-to-nc-name",Ui="unsubscribe-nc-name",Yi="unsubscribed-nc-name",Ji="acc",ai="aec",Hi="acs",ci="ada",MA="e";var NC=(A)=>{if(typeof A!=="string")throw Error("UID must be a string");if(!/^[A-Za-z0-9-]+$/.test(A))throw Error("UID can only contain letters, numbers and dashes ('-')");if(A.length>50)throw Error("UID cannot be longer than 50 characters");return!0};var cA=(A)=>{if((A.match(/\//g)||[]).length!==2)throw Error("Invalid address format");let[I,g,B]=A.split("/");if(I===void 0)throw Error("Machine address is undefined");if(Number.isNaN(Number(g)))throw Error("Process ID is not a number");if(B===void 0)throw Error("Client ID is undefined");return[I,Number.parseInt(g,10),B]},Sg=(A)=>{let[I,g]=A.split("/");if(I===void 0)throw Error("Machine address is undefined");if(Number.isNaN(Number(g)))throw Error("Process ID is not a number");return[I,Number.parseInt(g,10)]};var Mg=(A)=>{if(typeof A!=="string")throw Error("Network ID must be a string");if(A==="")throw Error("Network ID cannot be empty");if(A==="undefined"||A==="null")throw Error('Network ID cannot be "null" or "undefined"');if(A.includes(":"))throw Error("Network ID cannot contain :");if(A.includes("/"))throw Error("Network ID cannot contain /");if(!/^[A-Za-z0-9-]+$/.test(A))throw Error("Network ID can only contain letters, numbers and dashes ('-')");if(A.length>100)throw Error("Network ID cannot be longer than 100 characters");return!0};var kC=(A)=>{if(typeof A!=="string")return!1;return new RegExp("^[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz-]{21}$").test(A)};var mM=globalThis.Bun;import{webcrypto as si}from"crypto";var Li="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var B0=128,JI,zI;function Q0(A){if(A<0||A>1024)throw RangeError("Wrong ID size");if(!JI||JI.length<A)JI=Buffer.allocUnsafe(A*B0),si.getRandomValues(JI),zI=0;else if(zI+A>JI.length)si.getRandomValues(JI),zI=0;zI+=A}function XI(A=21){Q0(A|=0);let I="";for(let g=zI-A;g<zI;g++)I+=Li[JI[g]&63];return I}import*as qi from"os";var VA=()=>{return process.pid},MB,jA=()=>{if(MB)return MB;return MB=Object.values(qi.networkInterfaces()).flat().find((A)=>A&&!A.internal&&A.mac!=="00:00:00:00:00:00")?.mac.replaceAll(":","").replace(/^0+/,""),MB},II=()=>{return`${jA()}/${VA()}`};var{RedisClient:xi}=globalThis.Bun;var KC=async(A,I,g)=>{let B=0,Q;while(!0)try{if(B>0){if(g.onRetry)Q=g.onRetry(B,g.retries)??void 0}return await A()}catch(C){if(B++,B>g.retries||!I(C))throw C;if(g.delayMs>0||Q&&Q>0){let E=Q??g.delayMs;await new Promise((D)=>setTimeout(D,E))}}};class yB{listeners={};on(A,I){if(!this.listeners[A])this.listeners[A]=[];return this.listeners[A]?.push(I),this}off(A,I){this.listeners[A]=this.listeners[A]?.filter((B)=>B!==I);let g=this.listeners[A]?.length??0;if(g===0)delete this.listeners[A];return g}emit(A,I){for(let g of this.listeners[A]??[])g(I)}}var yg=(A)=>{if(typeof A!=="string")return console.warn("Machine UID must be a string"),!1;if(A.length<5)return console.warn("Machine UID too short"),!1;if(A.length>50)return console.warn("Machine UID too long"),!1;return!0};var FC=(A,I=8)=>{return A.length>I?A.substring(0,I)+"..":A};class hg extends yB{options;connected=!1;client;handlers=new Map;reconnecting=!1;disconnected=!1;reconnectAttempts=0;maxReconnects=null;baseDelayMilliseconds=200;maxDelayMilliseconds=2000;constructor(A){super();this.options=A;this.client=new xi(this.options.url,{autoReconnect:!1,idleTimeout:0})}getClient(){return this.client}clone(){return new hg(this.options)}getUrl(){try{let A=new URL(this.options.url);if(A.password)A.password="***";return A.toString()}catch{return this.options.url}}async connect(){if(this.reconnecting)return;await this.connect_()}async connect_(){if(this.connected)return;if(this.disconnected)return;try{if(await this.client.connect(),!this.client.connected)throw Error("Unexpected error.");this.connected=!0,this.emit("ready",void 0),this.reconnectAttempts=0,this.client.onclose=(A)=>{if(this.disconnected)return;console.error("\u2B07\uFE0F Redis client disconnected:",A),this.connected=!1,this.emit("end",void 0),this.retryReconnect()}}catch(A){if(this.disconnected)return;console.error("Initial Redis connection failed:",A),this.connected=!1,this.emit("error",A instanceof Error?A:Error("Unknown error")),this.retryReconnect()}}async retryReconnect(){if(this.reconnecting||this.disconnected)return;this.reconnecting=!0;while(!this.connected&&!this.disconnected&&this.reconnectAttempts<=(this.maxReconnects??Number.POSITIVE_INFINITY)){let A=this.options.socket.reconnectStrategy(this.reconnectAttempts)??Math.min(this.baseDelayMilliseconds*2**this.reconnectAttempts,this.maxDelayMilliseconds);this.emit("reconnecting",void 0),console.log(this.options.url,`Reconnecting (${this.reconnectAttempts}) to Redis in ${A}ms...`),await new Promise((I)=>setTimeout(I,A)),this.reconnectAttempts++;try{this.client=new xi(this.options.url,{autoReconnect:!1,connectionTimeout:20000}),await this.connect_(),console.log("\u2705 Redis client reconnected");break}catch(I){this.emit("error",I instanceof Error?I:Error("Reconnection attempt failed: Unknown error"))}}if(!this.connected&&!this.disconnected)this.emit("error",Error("Max reconnection attempts reached. Will not retry."));this.reconnecting=!1}disconnect(){this.disconnected=!0,this.handlers.clear(),this.connected=!1}}var{RedisClient:pi}=globalThis.Bun;class hB{_options;publisher;subscriber;callbackMap=new Map;_subscribedChannels=new Set;_disconnected=!1;constructor(A){this._options=A;this.publisher=new pi(this._options.url,{autoReconnect:!1}),this.publisher.onconnect=()=>{console.log(`${this._options.name?`[${this._options.name}]`:""}\u2705 Redis pub/sub publisher ready`)},this.publisher.onclose=(I)=>{if(this._disconnected)return;if(I)console.error(`${this._options.name?`[${this._options.name}]`:""}\u274C Redis pub/sub publisher error:`,I);console.warn(`${this._options.name?`[${this._options.name}]`:""}\uD83D\uDEAB Redis pub/sub publisher connection closed`)},this.subscriber=new pi(this._options.url,{autoReconnect:!1}),this.subscriber.onconnect=()=>{console.log(`${this._options.name?`[${this._options.name}]`:""}\u2705 Redis pub/sub subscriber ready`)},this.subscriber.onclose=(I)=>{if(this._disconnected)return;if(I)console.error(`${this._options.name?`[${this._options.name}]`:""}\u274C Redis pub/sub subscriber error:`,I);console.warn(`${this._options.name?`[${this._options.name}]`:""}\uD83D\uDEAB Redis pub/sub subscriber connection closed`)}}async connect(){await Promise.all([this.publisher.connect(),this.subscriber.connect()])}async publish(A,I){try{return await this.publisher.publish(A,I)}catch{return console.log("publish failed"),0}}async subscribe(A,I){try{let g=(B,Q)=>{if(this._disconnected)return;I(B,Q)};this.callbackMap.set(I,g),this._subscribedChannels.add(A),await this.subscriber.subscribe(A,g)}catch{console.log("error caught #2")}}async unsubscribe(A,I){try{if(this._subscribedChannels.delete(A),I){let g=this.callbackMap.get(I);if(g)await this.subscriber.unsubscribe(A,g),this.callbackMap.delete(I);else await this.subscriber.unsubscribe(A)}else await this.subscriber.unsubscribe(A)}catch{console.log("error caught #1")}}async disconnect(){if(this._disconnected)return;this._disconnected=!0;for(let A of this._subscribedChannels)try{await this.subscriber.unsubscribe(A)}catch{}this._subscribedChannels.clear(),this.callbackMap.clear()}}class UB{_client;processId=VA();machineAddress=jA();refreshNetworkExpiry=new Map;constructor(A){this._client=A;setInterval(async()=>{for(let I of this.refreshNetworkExpiry.keys()){let g=`networks/${I}/authorities`;await this._client.expire(g,500)}},35000)}async registerAuthority(A,I,g){let B=`networks/${A}/authorities`,Q=`${this.machineAddress}/${this.processId}/${I}`;await this._client.sadd(B,Q),await this._client.expire(B,500),await this._client.hset("~/authorities",{[I]:A}),await this._client.hset(`networks/${A}/authorities/${I}`,{...g?{machineUID:typeof g==="string"?g:""}:{},address:Q,connectedAt:new Date().toISOString()});let C=this.refreshNetworkExpiry.get(A);if(C)C.add(I);else this.refreshNetworkExpiry.set(A,new Set([I]))}async readAuthorities(A){let I=await this._client.smembers(`networks/${A}/authorities`),g=[];for(let B of I){let Q=cA(B)[2],C=await this.readAuthorityByClientId(A,Q);if(C)g.push(C)}return g}async resolveAuthorityAddressesOrThrow(A){if(!this._client.connected)throw Error("Redis client is not connected");let I=await this._client.smembers(`networks/${A}/authorities`);if(I.length===0)throw new UI(A);return I}async readAuthorityCount(A){return{count:await this._client.scard(`networks/${A}/authorities`)??0,date:new Date}}async readAuthorityByClientId(A,I){let g=`networks/${A}/authorities/${I}`,[B,Q]=await this._client.hmget(g,["address","connectedAt"]);if(B&&Q)return{id:I,connectedAt:new Date(Q),address:B};return null}async unregisterAuthority(A,I){let g=I??await this.readNetworkIdByClientIdOrThrow(A),B=`networks/${g}/authorities`;await this._client.hdel("~/authorities",A),await this._client.srem(B,A);let Q=this.refreshNetworkExpiry.get(g);if(Q){if(Q.delete(A),Q.size===0)this.refreshNetworkExpiry.delete(g)}let C=`${this.machineAddress}/${this.processId}/${A}`;await this._client.srem(B,C)}async unregisterGlobal(A,I){let[g,B,Q]=cA(I),C=this.refreshNetworkExpiry.get(A);if(C)try{if(C.delete(Q),C.size===0)this.refreshNetworkExpiry.delete(A)}catch{}return await this._client.hdel("~/authorities",Q),await this._client.srem(`networks/${A}/authorities`,I)}async readNetworkIdByClientIdOrThrow(A){let I=await this._client.hget("~/authorities",A);if(!I)throw Error(`Network authority not found for clientId: '${A}'`);return I}}class YB{_client;constructor(A){this._client=A}async registerAgent(A,I,g,B,Q,C){if(Q){let E=`networks/${A}/agent-uids`;await this._client.hset(E,{[Q]:I}),await this._client.expire(E,500)}await this._client.sadd(`networks/${A}/agents`,I),await this._client.hset("~/agents",{[I]:A}),await this._client.hset(`networks/${A}/agents/${I}`,{...g?{ip:typeof g==="string"?g:""}:{},...Q?{name:typeof Q==="string"?Q:""}:{},...C?{machineUID:typeof C==="string"?C:""}:{},address:B,connectedAt:new Date().toISOString()})}async registerAgentThroughput(A,I,g,B){let Q=`networks/${A}/agents/${I}`;await this._client.hset(Q,{bytes:`${g}`,packets:`${B}`})}async readAgents(A){let I=await this._client.smembers(`networks/${A}/agents`),g=[];for(let B of I){let Q=await this.readAgentByClientId(A,B);if(Q)g.push(Q)}return g}async readAgentCount(A){return{count:await this._client.scard(`networks/${A}/agents`),date:new Date}}async readClientAddressByUIDOrThrow(A,I){let[g]=await this._client.hmget(`networks/${A}/agent-uids`,[I]);if(!g)throw Error(`Network agent not found for networkId: '${A}'`);return g}async readAgentByClientId(A,I){let[g,B,Q,C,E,D]=await this._client.hmget(`networks/${A}/agents/${I}`,["name","ip","address","bytes","packets","connectedAt"]);if(B||Q||C||E)return{id:I,uid:g?g:void 0,ip:B||null,address:Q,bytes:Number.parseInt(C||"0",10),packets:Number.parseInt(E||"0",10),connectedAt:new Date(D)};return null}async unregisterAgentOrThrow(A,I,g){let B=I??await this.readAgentNetworkIdByClientIdOrThrow(A);if(g)await this._client.hdel(`networks/${B}/agent-uids`,g);await this._client.hdel("~/agents",A),await this._client.srem(`networks/${B}/agents`,A),await this._client.del(`networks/${B}/agents/${A}`)}async readAgentNetworkIdByClientIdOrThrow(A){let I=await this._client.hget("~/agents",A);if(!I)throw Error(`Network agent not found for clientId: '${A}'`);return I}}var Zi=(A)=>{let I=(A.match(/:/g)||[]).length;if(I<4)throw Error(`Invalid message format. Expected at least 4 colons, got ${I}.`);let g=A.split(":");return g.shift(),g.shift(),{clientId:g.shift(),channelName:g.shift(),data:g.join(":")}};var Wi;if(!process.env.FLUX_MESH_REDIS_URL)throw Error("Missing FLUX_MESH_REDIS_URL in .env");var wA=(A)=>{return Wi??=new Ti(process.env.FLUX_MESH_REDIS_URL),Wi};class Ti{_optionsOrURL;cacheClient;pubSub;networkAuthoritySet;networkAgentRedisService;hash;constructor(A){this._optionsOrURL=A;let I=typeof this._optionsOrURL==="string"?this._optionsOrURL:this._optionsOrURL.url;this.cacheClient=new hg({url:I,socket:{reconnectStrategy:(B)=>{return console.warn(`\uD83D\uDD04 Redis reconnection attempt #${B}`),Math.min(B*100,3000)}}});try{this.cacheClient.connect()}catch{console.log("caught")}this.cacheClient.on("error",(B)=>{console.error("\u274C Redis client error:",B.message)}).on("reconnecting",()=>{console.log("\uD83D\uDD04 Redis reconnecting...")}).on("ready",()=>{console.log("\u2705 Redis client ready")}).on("end",()=>{console.warn("\uD83D\uDEAB Redis connection closed")}),this.networkAuthoritySet=new UB(this.cacheClient.getClient()),this.networkAgentRedisService=new YB(this.cacheClient.getClient()),this.pubSub=new hB({name:typeof this._optionsOrURL==="object"?this._optionsOrURL.name:void 0,url:I,socket:{reconnectStrategy:(B)=>{return console.warn(`\uD83D\uDD04 Redis reconnection attempt #${B}`),Math.min(B*100,3000)}}}),this.pubSub.connect().catch(()=>console.error("pubsub connection failed"));let g=this.cacheClient.getClient();this.hash={sadd:g.sadd.bind(g),hset:g.hset.bind(g),smembers:g.smembers.bind(g),srem:g.srem.bind(g),scard:g.scard.bind(g),del:g.del.bind(g),hincrby:g.hincrby.bind(g),hmget:g.hmget.bind(g),expire:g.expire.bind(g)}}async publishWebsocketChannelEvent(A,I,g){try{await this.pubSub.publish(`~${I}`,`${A}:${g}`)}catch{console.error(`Publish failed on global channel event: '${I}'`)}}async subscribeWebsocketChannelEvent(A){try{await this.pubSub.subscribe("~*",(I,g)=>{let B=I.indexOf(":"),[Q,C]=B!==-1?[I.slice(0,B),I.slice(B+1)]:[I,""];A(g.slice(1),Q,C)})}catch{console.log("Error caught while subscribing to websocket channel event globally")}}async publishNetworkTokenEvent(A,I){try{await this.pubSub.publish(":flux:network-tokens",JSON.stringify({networkId:A,tokens:I}))}catch(g){console.error(`Failed to publish token event for network '${A}':`,g)}}subscribeToNetworkTokenEvents(A){this.pubSub.subscribe(":flux:network-tokens",(I)=>{try{let g=JSON.parse(I);A(g.networkId,g.tokens)}catch(g){console.error("Failed to parse network token event:",I,g)}})}async setNetworkTokenValues(A,I){let g=`:flux:network-tokens/${A}/values`;if(await this.hash.del(g),I.length>0)await this.hash.sadd(g,...I)}async getNetworkTokenValues(A){let I=`:flux:network-tokens/${A}/values`;return await this.hash.smembers(I)}async publishCustom(A,I,g){return await this.pubSub.publish(`~${A}/${I}`,g)}subscribeToCustom(A,I,g){this.pubSub.subscribe(`~${A}/${I}`,g)}async directPublish(A,I){try{await this.pubSub.publish(A,I)}catch{console.error(`Publish failed on address: ${A}`)}}subscribe(A,I){try{let g=(B)=>I(B);this.pubSub.subscribe(A,g)}catch{console.log("error caught #2")}}unsubscribe(A,I){try{this.pubSub.unsubscribe(A,I)}catch{console.log("error caught #1")}}subscribeToNetworkChannel(A,I,g){try{let B=`~networks/${A}/channels/${I}`;this.pubSub.subscribe(B,(Q)=>{let C=Zi(Q);g(C.clientId,C.data)})}catch(B){console.error(`Failed to subscribe to network channel '${A}/${I}':`,B)}}unsubscribeFromNetworkChannel(A,I,g){try{let B=`~networks/${A}/channels/${I}`;this.pubSub.unsubscribe(B,g)}catch(B){console.error(`Failed to unsubscribe from network channel '${A}/${I}':`,B)}}async setConnected(A){await this.hash.hset(`machines/processes/${A}`,{status:"connected",updatedAt:new Date().toISOString()}),await this.hash.expire(`machines/processes/${A}`,5)}async setDisconnected(A){}async disconnect(){this.cacheClient.disconnect(),await this.pubSub.disconnect()}}var RC=(A,I)=>A&&I?[...A].some((g)=>(Array.isArray(I)?I:[I]).includes(g)):!1,u=(()=>{let A;return{configure:(C)=>{A=typeof C.allowScopes==="string"&&C.allowScopes==="*"?"*":new Set(C.allowScopes)},log:(C,E)=>{if(A!=="*"&&!RC(A,E))return;console.log(`[${E}] ${C}`)},warn:(C,E)=>{if(A!=="*"&&!RC(A,E))return;console.warn(`[${E}] ${C}`)},error:(C,E)=>{if(A!=="*"&&!RC(A,E))return;console.error(`[${E}] ${C}`)}}})();class SC{passToLocalClientOrThrowUnknownClient;processId=VA();machineAddress=jA();redisConnection=wA();constructor(A){this.passToLocalClientOrThrowUnknownClient=A;console.log(`Created MessageRouter on machine address: ${this.machineAddress}, process id: ${this.processId}`)}message(A,I){let[g,B,Q]=cA(A);if(g!==this.machineAddress){u.log("\uD83D\uDEE3\uFE0F Routing message to machine","routing"),this.redisConnection.directPublish(A,I);return}if(B!==this.processId){u.log(`\uD83D\uDEE3\uFE0F Routing message from process ID '${this.processId}' to process ID: '${B}'`,"routing"),this.redisConnection.directPublish(A,I);return}u.log("\uD83D\uDEE3\uFE0F Routing message to local client","routing"),this.passToLocalClientOrThrowUnknownClient(Q,I)}}class MC{redisConnection=wA();cache=new Map;clientCache=new Map;async register(A,I,g){await this.redisConnection.networkAuthoritySet.registerAuthority(A,I,g)}async unregister(A,I){let g=this.clientCache.get(A);if(g){let B=this.cache.get(g.networkId);if(B){if(B.delete(g.address),B.size===0)this.cache.delete(g.networkId)}this.clientCache.delete(A)}this.redisConnection.networkAuthoritySet.unregisterAuthority(A,I)}unregisterGlobal(A,I){let g=this.cache.get(A);if(g){if(g.delete(I),g.size===0)this.cache.delete(A)}let[B,Q,C]=cA(I);this.clientCache.delete(C),this.redisConnection.networkAuthoritySet.unregisterGlobal(A,I)}async resolveAuthorityAddressOrThrow(A){let I=this.cache.get(A);if(I&&I.size>0){let Q=[...I][Math.floor(Math.random()*I.size)];if(Q)return Q}let g=await this.redisConnection.networkAuthoritySet.resolveAuthorityAddressesOrThrow(A);for(let Q of g){let[C,E,D]=cA(Q);this.clientCache.set(D,{networkId:A,address:Q})}return this.cache.set(A,new Set(g)),g[Math.floor(Math.random()*g.length)]}removeUnresponsiveClient(A,I){this.unregisterGlobal(A,I)}}class JB{_client;constructor(A){this._client=A}async increaseNetworkUsage(A,I,g){let B=`networks/${A}/data`;return await this._client.hincrby(B,"packets",g),await this._client.hincrby(B,"bytes",I)}async readNetworkUsageBytes(A){let I=`networks/${A}/data`,[g]=await this._client.hmget(I,["bytes"]);if(!g)return 0;return Number.parseInt(g,10)}async lockNetworkUsage(A){let I=`networks/${A}/data`;await this._client.hset(I,{locked:"1"}),await this._client.send("HEXPIRE",[I,"60","FIELDS","1","locked"])}}class yC{networkAgentRedisService;networkUsageRedisCacheService;redisConnection=wA();cache=new Map;timers=new Map;constructor(){this.networkAgentRedisService=this.redisConnection.networkAgentRedisService,this.networkUsageRedisCacheService=new JB(this.redisConnection.cacheClient.getClient())}registerAgent(A,I,g,B,Q,C,E){return this.timers.set(I,setInterval(async()=>{if(await this.networkAgentRedisService.registerAgentThroughput(A,I,Q.bytes,Q.packets),Q.bytes>0||Q.packets>0)await this.networkUsageRedisCacheService.increaseNetworkUsage(A,Q.bytes,Q.packets);Q.bytes=0,Q.packets=0},1000)),this.networkAgentRedisService.registerAgent(A,I,g,B,C,E)}async unregister(A,I,g){if(g)this.cache.delete(`${g.networkId}.${g.clientOwnUId}`);await this.networkAgentRedisService.unregisterAgentOrThrow(A,I,g?.clientOwnUId),clearInterval(this.timers.get(A)),this.timers.delete(A)}async resolveClientAddressByUid(A,I){let g=this.cache.get(`${A}.${I}`);if(g)return g;let B=await this.redisConnection.networkAgentRedisService.readClientAddressByUIDOrThrow(A,I);return this.cache.set(`${A}.${I}`,B),B}}var IQ=SB(NN(),1),kN="your-very-secure-secret",gQ=(A,I=60000)=>{return IQ.sign(A,kN,{expiresIn:I})},KN=(A)=>{if(typeof A!=="string")throw Error("Token must be a string");try{return IQ.verify(A,kN)}catch(I){throw console.error("Invalid or expired token",I.message),Error("Invalid or expired token")}};class QE{_outgoingMessageRouter;_processMessageRouter;requestId=0;pendingRequests=new Map;processAddress=II();constructor(A,I){this._outgoingMessageRouter=A;this._processMessageRouter=I;this._processMessageRouter.subscribe((g)=>{let B=JSON.parse(g.substring(g.indexOf(":")+1));this.handleResponseMessage(B)})}call(A,I,...g){let B=this.requestId++,Q={id:B,originProcessAddress:this.processAddress,method:I,params:g};return new Promise((C,E)=>{this.pendingRequests.set(B,[C,E]);try{this._outgoingMessageRouter.message(A,`${Rg}:${JSON.stringify(Q)}`)}catch(D){if(this.pendingRequests.get(B))this.pendingRequests.delete(B),E(D instanceof Error?D:Error(D))}setTimeout(()=>{if(this.pendingRequests.get(B))this.pendingRequests.delete(B),E(new AI(I))},5000)})}handleResponseMessage(A){let I=this.pendingRequests.get(A.id);if(I){if(this.pendingRequests.delete(A.id),A.error){I[1](A.error);return}I[0](A.result)}}}class CE{_rpcServerClientAddress;_outgoingMessageRouter;_processMessageRouter;requestId=0;pendingRequests=new Map;processAddress=II();constructor(A,I,g){this._rpcServerClientAddress=A;this._outgoingMessageRouter=I;this._processMessageRouter=g;this._processMessageRouter.subscribe((B)=>{let Q=JSON.parse(B.substring(B.indexOf(":")+1));this.handleResponseMessage(Q)})}call(A,...I){let g=this.requestId++,B={id:g,originProcessAddress:this.processAddress,method:A,params:I};return new Promise((Q,C)=>{this.pendingRequests.set(g,[Q,C]);try{this._outgoingMessageRouter.message(this._rpcServerClientAddress,`${Rg}:${JSON.stringify(B)}`)}catch(E){if(this.pendingRequests.get(g))this.pendingRequests.delete(g),C(E instanceof Error?E:Error(E))}setTimeout(()=>{if(this.pendingRequests.get(g))this.pendingRequests.delete(g),C(new AI(A))},5000)})}handleResponseMessage(A){let I=this.pendingRequests.get(A.id);if(I){if(this.pendingRequests.delete(A.id),A.error){I[1](A.error);return}I[0](A.result)}}}class EE{machineAddress=jA();processAddress=II();processId=VA();redisConnection=wA();localCallbacks=new Set;message(A,I){let[g,B]=Sg(A);if(g!==this.machineAddress){u.log("\uD83D\uDEE3\uFE0F Routing message to machine","routing"),this.redisConnection.directPublish(A,I);return}if(B!==this.processId){u.log("\uD83D\uDEE3\uFE0F Routing message to process (todo; direct process)","routing"),this.redisConnection.directPublish(A,I);return}u.log("\uD83D\uDEE3\uFE0F Routing message to local","routing");for(let Q of this.localCallbacks)Q(I)}subscribe(A){console.log("\uD83D\uDDD2\uFE0F Subscribing process",this.processAddress),this.localCallbacks.add(A),this.redisConnection.subscribe(this.processAddress,A)}}class BQ{sendToRPCServer;handleResponseMessage;requestId=Math.floor(Math.random()*1e5);pendingRequests=new Map;constructor(A,I){this.sendToRPCServer=A;this.handleResponseMessage=I;this.handleResponseMessage((g)=>{let B=this.pendingRequests.get(g.id)?.[0];if(B){if(this.pendingRequests.delete(g.id),g.error)throw Error(g.error);B(g.result)}})}call(A,I,...g){let B=this.requestId++,Q={id:B,originProcessAddress:A,method:I,params:g};return this.sendToRPCServer(`${Rg}:${JSON.stringify(Q)}`),new Promise((C,E)=>{this.pendingRequests.set(B,[C,E]),setTimeout(()=>{if(this.pendingRequests.get(B))this.pendingRequests.delete(B),E(new AI(I))},5000)})}}class DE extends BQ{_originProcessAddress;_sendToRPCServer;_handleResponseMessage;constructor(A,I,g){super(I,g);this._originProcessAddress=A;this._sendToRPCServer=I;this._handleResponseMessage=g}createOffer(){return super.call(this._originProcessAddress,"createOffer")}acceptOfferAndCreateAnswer(A){return super.call(this._originProcessAddress,"acceptOffer",A)}acceptAnswer(A){return super.call(this._originProcessAddress,"acceptAnswer",A)}answerWasAccepted(A){return super.call(this._originProcessAddress,"answerAcceptedByInitiator",A)}}class iE extends CE{createOffer(){return super.call("createOffer")}acceptOfferAndCreateAnswer(A){return super.call("acceptOffer",A)}acceptAnswer(A){return super.call("acceptAnswer",A)}answerWasAccepted(A){return super.call("answerAcceptedByInitiator",A)}}var FN=async(A,I)=>{let g=await A.createOffer();console.log("Created offer:",!!g);let B=await I.acceptOfferAndCreateAnswer(g);console.log("Got answer:",!!B);let Q=await A.acceptAnswer(B);console.log("Answer was accepted by initiator:",Q),await I.answerWasAccepted(Q)};var QQ=()=>new Response(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type, x-flux-content-type, Set-Cookie"}});import*as WM from"url";class CQ{_redisConnection;_networkTokenService;cache=new Map;constructor(A,I){this._redisConnection=A;this._networkTokenService=I;this._redisConnection.subscribeToNetworkTokenEvents((g,B)=>{this.cache.set(g,new Set(B))})}async isValidToken(A,I){let g=this.cache.get(A);if(g!==void 0)return g.has(I);let B=await this._networkTokenService.readTokensByNetworkId(A),Q=new Set(B);return this.cache.set(A,Q),Q.has(I)}}class GE{_prismaClient;constructor(A){this._prismaClient=A}async createToken(A,I){let g=await this._prismaClient.networkToken.create({data:{id:XI(),networkId:A,token:`flx_${XI(32)}`,createdByUserId:I},include:{createdByUser:{select:{name:!0}}}});return{...g,createdByUserName:g.createdByUser?.name??"Unknown"}}async readByNetworkId(A){return(await this._prismaClient.networkToken.findMany({where:{networkId:A},orderBy:{createdAt:"desc"},include:{createdByUser:{select:{name:!0}}}})).map((g)=>({...g,createdByUserName:g.createdByUser?.name??"Unknown"}))}async readTokensByNetworkId(A){return(await this._prismaClient.networkToken.findMany({where:{networkId:A},select:{token:!0}})).map((g)=>g.token)}async countByNetworkId(A){return this._prismaClient.networkToken.count({where:{networkId:A}})}async findById(A){let I=await this._prismaClient.networkToken.findUnique({where:{id:A},include:{createdByUser:{select:{name:!0}}}});if(!I)return null;return{...I,createdByUserName:I.createdByUser?.name??"Unknown"}}async rotateOutAllExcept(A,I,g){await this._prismaClient.networkToken.updateMany({where:{networkId:A,token:{not:I},rotatedOutAt:null},data:{rotatedOutAt:g}})}async updateNetworkTokens(A,I){await this._prismaClient.$transaction(async(g)=>{await g.networkToken.deleteMany({where:{networkId:A}});for(let B of I)await g.networkToken.upsert({where:{token:B},create:{id:XI(),networkId:A,token:B,createdByUserId:"system"},update:{}})})}async deleteNetworkToken(A,I){await this._prismaClient.networkToken.delete({where:{networkId:A,token:I}})}}import*as jF from"path";import{fileURLToPath as H4}from"url";var OF=SB(iD(),1),tQ={previewFeatures:[],clientVersion:"7.8.0",engineVersion:"3c6e192761c0362d496ed980de936e2f3cebcd3a",activeProvider:"postgresql",inlineSchema:`/**
104
104
  * Parts of the schema is generated by better auth
105
105
  * - Parts of User model
106
106
  * - Session model
@@ -270,4 +270,4 @@ model Verification {
270
270
  @@index([identifier])
271
271
  @@map("verification")
272
272
  }
273
- `,runtimeDataModel:{models:{},enums:{},types:{}},parameterizationSchema:{strings:[],graph:""}};tQ.runtimeDataModel=JSON.parse('{"models":{"User":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"email","kind":"scalar","type":"String"},{"name":"userNetworks","kind":"object","type":"UserNetwork","relationName":"UserToUserNetwork"},{"name":"name","kind":"scalar","type":"String"},{"name":"emailVerified","kind":"scalar","type":"Boolean"},{"name":"image","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"sessions","kind":"object","type":"Session","relationName":"SessionToUser"},{"name":"accounts","kind":"object","type":"Account","relationName":"AccountToUser"},{"name":"createdNetworkTokens","kind":"object","type":"NetworkToken","relationName":"NetworkTokenToUser"},{"name":"isFluxAdmin","kind":"scalar","type":"Boolean"}],"dbName":"user"},"Network":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"alias","kind":"scalar","type":"String"},{"name":"subscriptionType","kind":"enum","type":"ESubscriptionType"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"userNetworks","kind":"object","type":"UserNetwork","relationName":"NetworkToUserNetwork"},{"name":"tokens","kind":"object","type":"NetworkToken","relationName":"NetworkToNetworkToken"}],"dbName":null},"NetworkToken":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"network","kind":"object","type":"Network","relationName":"NetworkToNetworkToken"},{"name":"token","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"createdByUserId","kind":"scalar","type":"String"},{"name":"createdByUser","kind":"object","type":"User","relationName":"NetworkTokenToUser"},{"name":"rotatedOutAt","kind":"scalar","type":"DateTime"}],"dbName":null},"UserNetwork":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"userId","kind":"scalar","type":"String"},{"name":"user","kind":"object","type":"User","relationName":"UserToUserNetwork"},{"name":"role","kind":"enum","type":"EUserNetworkRole"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"network","kind":"object","type":"Network","relationName":"NetworkToUserNetwork"}],"dbName":null},"UsageHistory":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"usageKb","kind":"scalar","type":"Int"},{"name":"timeslotAt","kind":"scalar","type":"DateTime"}],"dbName":null},"ConnectedAuthoritiesHistory":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"count","kind":"scalar","type":"Int"},{"name":"timeslotAt","kind":"scalar","type":"DateTime"}],"dbName":null},"ConnectedAgentsHistory":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"count","kind":"scalar","type":"Int"},{"name":"timeslotAt","kind":"scalar","type":"DateTime"}],"dbName":null},"ChannelsHistory":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"count","kind":"scalar","type":"Int"},{"name":"timeslotAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Session":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"expiresAt","kind":"scalar","type":"DateTime"},{"name":"token","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"ipAddress","kind":"scalar","type":"String"},{"name":"userAgent","kind":"scalar","type":"String"},{"name":"userId","kind":"scalar","type":"String"},{"name":"user","kind":"object","type":"User","relationName":"SessionToUser"}],"dbName":"session"},"Account":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"accountId","kind":"scalar","type":"String"},{"name":"providerId","kind":"scalar","type":"String"},{"name":"userId","kind":"scalar","type":"String"},{"name":"user","kind":"object","type":"User","relationName":"AccountToUser"},{"name":"accessToken","kind":"scalar","type":"String"},{"name":"refreshToken","kind":"scalar","type":"String"},{"name":"idToken","kind":"scalar","type":"String"},{"name":"accessTokenExpiresAt","kind":"scalar","type":"DateTime"},{"name":"refreshTokenExpiresAt","kind":"scalar","type":"DateTime"},{"name":"scope","kind":"scalar","type":"String"},{"name":"password","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":"account"},"Verification":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"identifier","kind":"scalar","type":"String"},{"name":"value","kind":"scalar","type":"String"},{"name":"expiresAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":"verification"}},"enums":{},"types":{}}');tQ.parameterizationSchema={strings:JSON.parse('["where","orderBy","cursor","user","userNetworks","network","createdByUser","tokens","_count","sessions","accounts","createdNetworkTokens","User.findUnique","User.findUniqueOrThrow","User.findFirst","User.findFirstOrThrow","User.findMany","data","User.createOne","User.createMany","User.createManyAndReturn","User.updateOne","User.updateMany","User.updateManyAndReturn","create","update","User.upsertOne","User.deleteOne","User.deleteMany","having","_min","_max","User.groupBy","User.aggregate","Network.findUnique","Network.findUniqueOrThrow","Network.findFirst","Network.findFirstOrThrow","Network.findMany","Network.createOne","Network.createMany","Network.createManyAndReturn","Network.updateOne","Network.updateMany","Network.updateManyAndReturn","Network.upsertOne","Network.deleteOne","Network.deleteMany","Network.groupBy","Network.aggregate","NetworkToken.findUnique","NetworkToken.findUniqueOrThrow","NetworkToken.findFirst","NetworkToken.findFirstOrThrow","NetworkToken.findMany","NetworkToken.createOne","NetworkToken.createMany","NetworkToken.createManyAndReturn","NetworkToken.updateOne","NetworkToken.updateMany","NetworkToken.updateManyAndReturn","NetworkToken.upsertOne","NetworkToken.deleteOne","NetworkToken.deleteMany","NetworkToken.groupBy","NetworkToken.aggregate","UserNetwork.findUnique","UserNetwork.findUniqueOrThrow","UserNetwork.findFirst","UserNetwork.findFirstOrThrow","UserNetwork.findMany","UserNetwork.createOne","UserNetwork.createMany","UserNetwork.createManyAndReturn","UserNetwork.updateOne","UserNetwork.updateMany","UserNetwork.updateManyAndReturn","UserNetwork.upsertOne","UserNetwork.deleteOne","UserNetwork.deleteMany","UserNetwork.groupBy","UserNetwork.aggregate","UsageHistory.findUnique","UsageHistory.findUniqueOrThrow","UsageHistory.findFirst","UsageHistory.findFirstOrThrow","UsageHistory.findMany","UsageHistory.createOne","UsageHistory.createMany","UsageHistory.createManyAndReturn","UsageHistory.updateOne","UsageHistory.updateMany","UsageHistory.updateManyAndReturn","UsageHistory.upsertOne","UsageHistory.deleteOne","UsageHistory.deleteMany","_avg","_sum","UsageHistory.groupBy","UsageHistory.aggregate","ConnectedAuthoritiesHistory.findUnique","ConnectedAuthoritiesHistory.findUniqueOrThrow","ConnectedAuthoritiesHistory.findFirst","ConnectedAuthoritiesHistory.findFirstOrThrow","ConnectedAuthoritiesHistory.findMany","ConnectedAuthoritiesHistory.createOne","ConnectedAuthoritiesHistory.createMany","ConnectedAuthoritiesHistory.createManyAndReturn","ConnectedAuthoritiesHistory.updateOne","ConnectedAuthoritiesHistory.updateMany","ConnectedAuthoritiesHistory.updateManyAndReturn","ConnectedAuthoritiesHistory.upsertOne","ConnectedAuthoritiesHistory.deleteOne","ConnectedAuthoritiesHistory.deleteMany","ConnectedAuthoritiesHistory.groupBy","ConnectedAuthoritiesHistory.aggregate","ConnectedAgentsHistory.findUnique","ConnectedAgentsHistory.findUniqueOrThrow","ConnectedAgentsHistory.findFirst","ConnectedAgentsHistory.findFirstOrThrow","ConnectedAgentsHistory.findMany","ConnectedAgentsHistory.createOne","ConnectedAgentsHistory.createMany","ConnectedAgentsHistory.createManyAndReturn","ConnectedAgentsHistory.updateOne","ConnectedAgentsHistory.updateMany","ConnectedAgentsHistory.updateManyAndReturn","ConnectedAgentsHistory.upsertOne","ConnectedAgentsHistory.deleteOne","ConnectedAgentsHistory.deleteMany","ConnectedAgentsHistory.groupBy","ConnectedAgentsHistory.aggregate","ChannelsHistory.findUnique","ChannelsHistory.findUniqueOrThrow","ChannelsHistory.findFirst","ChannelsHistory.findFirstOrThrow","ChannelsHistory.findMany","ChannelsHistory.createOne","ChannelsHistory.createMany","ChannelsHistory.createManyAndReturn","ChannelsHistory.updateOne","ChannelsHistory.updateMany","ChannelsHistory.updateManyAndReturn","ChannelsHistory.upsertOne","ChannelsHistory.deleteOne","ChannelsHistory.deleteMany","ChannelsHistory.groupBy","ChannelsHistory.aggregate","Session.findUnique","Session.findUniqueOrThrow","Session.findFirst","Session.findFirstOrThrow","Session.findMany","Session.createOne","Session.createMany","Session.createManyAndReturn","Session.updateOne","Session.updateMany","Session.updateManyAndReturn","Session.upsertOne","Session.deleteOne","Session.deleteMany","Session.groupBy","Session.aggregate","Account.findUnique","Account.findUniqueOrThrow","Account.findFirst","Account.findFirstOrThrow","Account.findMany","Account.createOne","Account.createMany","Account.createManyAndReturn","Account.updateOne","Account.updateMany","Account.updateManyAndReturn","Account.upsertOne","Account.deleteOne","Account.deleteMany","Account.groupBy","Account.aggregate","Verification.findUnique","Verification.findUniqueOrThrow","Verification.findFirst","Verification.findFirstOrThrow","Verification.findMany","Verification.createOne","Verification.createMany","Verification.createManyAndReturn","Verification.updateOne","Verification.updateMany","Verification.updateManyAndReturn","Verification.upsertOne","Verification.deleteOne","Verification.deleteMany","Verification.groupBy","Verification.aggregate","AND","OR","NOT","id","identifier","value","expiresAt","createdAt","updatedAt","equals","in","notIn","lt","lte","gt","gte","not","contains","startsWith","endsWith","accountId","providerId","userId","accessToken","refreshToken","idToken","accessTokenExpiresAt","refreshTokenExpiresAt","scope","password","token","ipAddress","userAgent","networkId","count","timeslotAt","usageKb","EUserNetworkRole","role","createdByUserId","rotatedOutAt","alias","ESubscriptionType","subscriptionType","every","some","none","email","name","emailVerified","image","isFluxAdmin","is","isNot","connectOrCreate","upsert","createMany","set","disconnect","delete","connect","updateMany","deleteMany","increment","decrement","multiply","divide"]'),graph:"kwRjsAEPBAAAywIAIAkAANQCACAKAADVAgAgCwAAzAIAIMQBAADRAgAwxQEAABwAEMYBAADRAgAwxwEBAAAAAcsBQACqAgAhzAFAAKoCACHzAQEAAAAB9AEBAKkCACH1ASAA0gIAIfYBAQDTAgAh9wEgANICACEBAAAAAQAgCQMAANgCACAFAADbAgAgxAEAANwCADDFAQAAAwAQxgEAANwCADDHAQEAqQIAIdoBAQCpAgAh5QEBAKkCACHqAQAA3QLqASICAwAA7gMAIAUAAO8DACAJAwAA2AIAIAUAANsCACDEAQAA3AIAMMUBAAADABDGAQAA3AIAMMcBAQAAAAHaAQEAqQIAIeUBAQCpAgAh6gEAAN0C6gEiAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACALBQAA2wIAIAYAANgCACDEAQAA2gIAMMUBAAAIABDGAQAA2gIAMMcBAQCpAgAhywFAAKoCACHiAQEAqQIAIeUBAQCpAgAh6wEBAKkCACHsAUAA1wIAIQMFAADvAwAgBgAA7gMAIOwBAADjAgAgCwUAANsCACAGAADYAgAgxAEAANoCADDFAQAACAAQxgEAANoCADDHAQEAAAABywFAAKoCACHiAQEAAAAB5QEBAKkCACHrAQEAqQIAIewBQADXAgAhAwAAAAgAIAEAAAkAMAIAAAoAIAEAAAADACABAAAACAAgDAMAANgCACDEAQAA2QIAMMUBAAAOABDGAQAA2QIAMMcBAQCpAgAhygFAAKoCACHLAUAAqgIAIcwBQACqAgAh2gEBAKkCACHiAQEAqQIAIeMBAQDTAgAh5AEBANMCACEDAwAA7gMAIOMBAADjAgAg5AEAAOMCACAMAwAA2AIAIMQBAADZAgAwxQEAAA4AEMYBAADZAgAwxwEBAAAAAcoBQACqAgAhywFAAKoCACHMAUAAqgIAIdoBAQCpAgAh4gEBAAAAAeMBAQDTAgAh5AEBANMCACEDAAAADgAgAQAADwAwAgAAEAAgEQMAANgCACDEAQAA1gIAMMUBAAASABDGAQAA1gIAMMcBAQCpAgAhywFAAKoCACHMAUAAqgIAIdgBAQCpAgAh2QEBAKkCACHaAQEAqQIAIdsBAQDTAgAh3AEBANMCACHdAQEA0wIAId4BQADXAgAh3wFAANcCACHgAQEA0wIAIeEBAQDTAgAhCAMAAO4DACDbAQAA4wIAINwBAADjAgAg3QEAAOMCACDeAQAA4wIAIN8BAADjAgAg4AEAAOMCACDhAQAA4wIAIBEDAADYAgAgxAEAANYCADDFAQAAEgAQxgEAANYCADDHAQEAAAABywFAAKoCACHMAUAAqgIAIdgBAQCpAgAh2QEBAKkCACHaAQEAqQIAIdsBAQDTAgAh3AEBANMCACHdAQEA0wIAId4BQADXAgAh3wFAANcCACHgAQEA0wIAIeEBAQDTAgAhAwAAABIAIAEAABMAMAIAABQAIAMAAAAIACABAAAJADACAAAKACABAAAAAwAgAQAAAA4AIAEAAAASACABAAAACAAgAQAAAAEAIA8EAADLAgAgCQAA1AIAIAoAANUCACALAADMAgAgxAEAANECADDFAQAAHAAQxgEAANECADDHAQEAqQIAIcsBQACqAgAhzAFAAKoCACHzAQEAqQIAIfQBAQCpAgAh9QEgANICACH2AQEA0wIAIfcBIADSAgAhBQQAALQDACAJAADsAwAgCgAA7QMAIAsAALUDACD2AQAA4wIAIAMAAAAcACABAAAdADACAAABACADAAAAHAAgAQAAHQAwAgAAAQAgAwAAABwAIAEAAB0AMAIAAAEAIAwEAADoAwAgCQAA6QMAIAoAAOoDACALAADrAwAgxwEBAAAAAcsBQAAAAAHMAUAAAAAB8wEBAAAAAfQBAQAAAAH1ASAAAAAB9gEBAAAAAfcBIAAAAAEBEQAAIQAgCMcBAQAAAAHLAUAAAAABzAFAAAAAAfMBAQAAAAH0AQEAAAAB9QEgAAAAAfYBAQAAAAH3ASAAAAABAREAACMAMAERAAAjADAMBAAAugMAIAkAALsDACAKAAC8AwAgCwAAvQMAIMcBAQDhAgAhywFAAOICACHMAUAA4gIAIfMBAQDhAgAh9AEBAOECACH1ASAAuQMAIfYBAQDnAgAh9wEgALkDACECAAAAAQAgEQAAJgAgCMcBAQDhAgAhywFAAOICACHMAUAA4gIAIfMBAQDhAgAh9AEBAOECACH1ASAAuQMAIfYBAQDnAgAh9wEgALkDACECAAAAHAAgEQAAKAAgAgAAABwAIBEAACgAIAMAAAABACAYAAAhACAZAAAmACABAAAAAQAgAQAAABwAIAQIAAC2AwAgHgAAuAMAIB8AALcDACD2AQAA4wIAIAvEAQAAzQIAMMUBAAAvABDGAQAAzQIAMMcBAQChAgAhywFAAKICACHMAUAAogIAIfMBAQChAgAh9AEBAKECACH1ASAAzgIAIfYBAQCsAgAh9wEgAM4CACEDAAAAHAAgAQAALgAwHQAALwAgAwAAABwAIAEAAB0AMAIAAAEAIAoEAADLAgAgBwAAzAIAIMQBAADJAgAwxQEAADUAEMYBAADJAgAwxwEBAAAAAcsBQACqAgAhzAFAAKoCACHtAQEAqQIAIe8BAADKAu8BIgEAAAAyACABAAAAMgAgCgQAAMsCACAHAADMAgAgxAEAAMkCADDFAQAANQAQxgEAAMkCADDHAQEAqQIAIcsBQACqAgAhzAFAAKoCACHtAQEAqQIAIe8BAADKAu8BIgIEAAC0AwAgBwAAtQMAIAMAAAA1ACABAAA2ADACAAAyACADAAAANQAgAQAANgAwAgAAMgAgAwAAADUAIAEAADYAMAIAADIAIAcEAACyAwAgBwAAswMAIMcBAQAAAAHLAUAAAAABzAFAAAAAAe0BAQAAAAHvAQAAAO8BAgERAAA6ACAFxwEBAAAAAcsBQAAAAAHMAUAAAAAB7QEBAAAAAe8BAAAA7wECAREAADwAMAERAAA8ADAHBAAAmAMAIAcAAJkDACDHAQEA4QIAIcsBQADiAgAhzAFAAOICACHtAQEA4QIAIe8BAACXA-8BIgIAAAAyACARAAA_ACAFxwEBAOECACHLAUAA4gIAIcwBQADiAgAh7QEBAOECACHvAQAAlwPvASICAAAANQAgEQAAQQAgAgAAADUAIBEAAEEAIAMAAAAyACAYAAA6ACAZAAA_ACABAAAAMgAgAQAAADUAIAMIAACUAwAgHgAAlgMAIB8AAJUDACAIxAEAAMUCADDFAQAASAAQxgEAAMUCADDHAQEAoQIAIcsBQACiAgAhzAFAAKICACHtAQEAoQIAIe8BAADGAu8BIgMAAAA1ACABAABHADAdAABIACADAAAANQAgAQAANgAwAgAAMgAgAQAAAAoAIAEAAAAKACADAAAACAAgAQAACQAwAgAACgAgAwAAAAgAIAEAAAkAMAIAAAoAIAMAAAAIACABAAAJADACAAAKACAIBQAAkgMAIAYAAJMDACDHAQEAAAABywFAAAAAAeIBAQAAAAHlAQEAAAAB6wEBAAAAAewBQAAAAAEBEQAAUAAgBscBAQAAAAHLAUAAAAAB4gEBAAAAAeUBAQAAAAHrAQEAAAAB7AFAAAAAAQERAABSADABEQAAUgAwCAUAAJADACAGAACRAwAgxwEBAOECACHLAUAA4gIAIeIBAQDhAgAh5QEBAOECACHrAQEA4QIAIewBQADoAgAhAgAAAAoAIBEAAFUAIAbHAQEA4QIAIcsBQADiAgAh4gEBAOECACHlAQEA4QIAIesBAQDhAgAh7AFAAOgCACECAAAACAAgEQAAVwAgAgAAAAgAIBEAAFcAIAMAAAAKACAYAABQACAZAABVACABAAAACgAgAQAAAAgAIAQIAACNAwAgHgAAjwMAIB8AAI4DACDsAQAA4wIAIAnEAQAAxAIAMMUBAABeABDGAQAAxAIAMMcBAQChAgAhywFAAKICACHiAQEAoQIAIeUBAQChAgAh6wEBAKECACHsAUAArQIAIQMAAAAIACABAABdADAdAABeACADAAAACAAgAQAACQAwAgAACgAgAQAAAAUAIAEAAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACAGAwAAiwMAIAUAAIwDACDHAQEAAAAB2gEBAAAAAeUBAQAAAAHqAQAAAOoBAgERAABmACAExwEBAAAAAdoBAQAAAAHlAQEAAAAB6gEAAADqAQIBEQAAaAAwAREAAGgAMAYDAACJAwAgBQAAigMAIMcBAQDhAgAh2gEBAOECACHlAQEA4QIAIeoBAACIA-oBIgIAAAAFACARAABrACAExwEBAOECACHaAQEA4QIAIeUBAQDhAgAh6gEAAIgD6gEiAgAAAAMAIBEAAG0AIAIAAAADACARAABtACADAAAABQAgGAAAZgAgGQAAawAgAQAAAAUAIAEAAAADACADCAAAhQMAIB4AAIcDACAfAACGAwAgB8QBAADAAgAwxQEAAHQAEMYBAADAAgAwxwEBAKECACHaAQEAoQIAIeUBAQChAgAh6gEAAMEC6gEiAwAAAAMAIAEAAHMAMB0AAHQAIAMAAAADACABAAAEADACAAAFACAHxAEAAL8CADDFAQAAegAQxgEAAL8CADDHAQEAAAAB5QEBAKkCACHnAUAAqgIAIegBAgC5AgAhAQAAAHcAIAEAAAB3ACAHxAEAAL8CADDFAQAAegAQxgEAAL8CADDHAQEAqQIAIeUBAQCpAgAh5wFAAKoCACHoAQIAuQIAIQADAAAAegAgAQAAewAwAgAAdwAgAwAAAHoAIAEAAHsAMAIAAHcAIAMAAAB6ACABAAB7ADACAAB3ACAExwEBAAAAAeUBAQAAAAHnAUAAAAAB6AECAAAAAQERAAB_ACAExwEBAAAAAeUBAQAAAAHnAUAAAAAB6AECAAAAAQERAACBAQAwAREAAIEBADAExwEBAOECACHlAQEA4QIAIecBQADiAgAh6AECAPUCACECAAAAdwAgEQAAhAEAIATHAQEA4QIAIeUBAQDhAgAh5wFAAOICACHoAQIA9QIAIQIAAAB6ACARAACGAQAgAgAAAHoAIBEAAIYBACADAAAAdwAgGAAAfwAgGQAAhAEAIAEAAAB3ACABAAAAegAgBQgAAIADACAeAACDAwAgHwAAggMAIGAAAIEDACBhAACEAwAgB8QBAAC-AgAwxQEAAI0BABDGAQAAvgIAMMcBAQChAgAh5QEBAKECACHnAUAAogIAIegBAgC1AgAhAwAAAHoAIAEAAIwBADAdAACNAQAgAwAAAHoAIAEAAHsAMAIAAHcAIAfEAQAAvQIAMMUBAACTAQAQxgEAAL0CADDHAQEAAAAB5QEBAKkCACHmAQIAuQIAIecBQACqAgAhAQAAAJABACABAAAAkAEAIAfEAQAAvQIAMMUBAACTAQAQxgEAAL0CADDHAQEAqQIAIeUBAQCpAgAh5gECALkCACHnAUAAqgIAIQADAAAAkwEAIAEAAJQBADACAACQAQAgAwAAAJMBACABAACUAQAwAgAAkAEAIAMAAACTAQAgAQAAlAEAMAIAAJABACAExwEBAAAAAeUBAQAAAAHmAQIAAAAB5wFAAAAAAQERAACYAQAgBMcBAQAAAAHlAQEAAAAB5gECAAAAAecBQAAAAAEBEQAAmgEAMAERAACaAQAwBMcBAQDhAgAh5QEBAOECACHmAQIA9QIAIecBQADiAgAhAgAAAJABACARAACdAQAgBMcBAQDhAgAh5QEBAOECACHmAQIA9QIAIecBQADiAgAhAgAAAJMBACARAACfAQAgAgAAAJMBACARAACfAQAgAwAAAJABACAYAACYAQAgGQAAnQEAIAEAAACQAQAgAQAAAJMBACAFCAAA-wIAIB4AAP4CACAfAAD9AgAgYAAA_AIAIGEAAP8CACAHxAEAALwCADDFAQAApgEAEMYBAAC8AgAwxwEBAKECACHlAQEAoQIAIeYBAgC1AgAh5wFAAKICACEDAAAAkwEAIAEAAKUBADAdAACmAQAgAwAAAJMBACABAACUAQAwAgAAkAEAIAfEAQAAuwIAMMUBAACsAQAQxgEAALsCADDHAQEAAAAB5QEBAKkCACHmAQIAuQIAIecBQACqAgAhAQAAAKkBACABAAAAqQEAIAfEAQAAuwIAMMUBAACsAQAQxgEAALsCADDHAQEAqQIAIeUBAQCpAgAh5gECALkCACHnAUAAqgIAIQADAAAArAEAIAEAAK0BADACAACpAQAgAwAAAKwBACABAACtAQAwAgAAqQEAIAMAAACsAQAgAQAArQEAMAIAAKkBACAExwEBAAAAAeUBAQAAAAHmAQIAAAAB5wFAAAAAAQERAACxAQAgBMcBAQAAAAHlAQEAAAAB5gECAAAAAecBQAAAAAEBEQAAswEAMAERAACzAQAwBMcBAQDhAgAh5QEBAOECACHmAQIA9QIAIecBQADiAgAhAgAAAKkBACARAAC2AQAgBMcBAQDhAgAh5QEBAOECACHmAQIA9QIAIecBQADiAgAhAgAAAKwBACARAAC4AQAgAgAAAKwBACARAAC4AQAgAwAAAKkBACAYAACxAQAgGQAAtgEAIAEAAACpAQAgAQAAAKwBACAFCAAA9gIAIB4AAPkCACAfAAD4AgAgYAAA9wIAIGEAAPoCACAHxAEAALoCADDFAQAAvwEAEMYBAAC6AgAwxwEBAKECACHlAQEAoQIAIeYBAgC1AgAh5wFAAKICACEDAAAArAEAIAEAAL4BADAdAAC_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_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_ABAAAIACDxAQAACAAg8gEAAAgAIAvEAQAAzQIAMMUBAAAvABDGAQAAzQIAMMcBAQChAgAhywFAAKICACHMAUAAogIAIfMBAQChAgAh9AEBAKECACH1ASAAzgIAIfYBAQCsAgAh9wEgAM4CACEFCAAApAIAIB4AANACACAfAADQAgAgzQEgAAAAAdQBIADPAgAhBQgAAKQCACAeAADQAgAgHwAA0AIAIM0BIAAAAAHUASAAzwIAIQLNASAAAAAB1AEgANACACEPBAAAywIAIAkAANQCACAKAADVAgAgCwAAzAIAIMQBAADRAgAwxQEAABwAEMYBAADRAgAwxwEBAKkCACHLAUAAqgIAIcwBQACqAgAh8wEBAKkCACH0AQEAqQIAIfUBIADSAgAh9gEBANMCACH3ASAA0gIAIQLNASAAAAAB1AEgANACACELzQEBAAAAAc4BAQAAAAXPAQEAAAAF0AEBAAAAAdEBAQAAAAHSAQEAAAAB0wEBAAAAAdQBAQCyAgAh1QEBAAAAAdYBAQAAAAHXAQEAAAABA_ABAAAOACDxAQAADgAg8gEAAA4AIAPwAQAAEgAg8QEAABIAIPIBAAASACARAwAA2AIAIMQBAADWAgAwxQEAABIAEMYBAADWAgAwxwEBAKkCACHLAUAAqgIAIcwBQACqAgAh2AEBAKkCACHZAQEAqQIAIdoBAQCpAgAh2wEBANMCACHcAQEA0wIAId0BAQDTAgAh3gFAANcCACHfAUAA1wIAIeABAQDTAgAh4QEBANMCACEIzQFAAAAAAc4BQAAAAAXPAUAAAAAF0AFAAAAAAdEBQAAAAAHSAUAAAAAB0wFAAAAAAdQBQACwAgAhEQQAAMsCACAJAADUAgAgCgAA1QIAIAsAAMwCACDEAQAA0QIAMMUBAAAcABDGAQAA0QIAMMcBAQCpAgAhywFAAKoCACHMAUAAqgIAIfMBAQCpAgAh9AEBAKkCACH1ASAA0gIAIfYBAQDTAgAh9wEgANICACH4AQAAHAAg-QEAABwAIAwDAADYAgAgxAEAANkCADDFAQAADgAQxgEAANkCADDHAQEAqQIAIcoBQACqAgAhywFAAKoCACHMAUAAqgIAIdoBAQCpAgAh4gEBAKkCACHjAQEA0wIAIeQBAQDTAgAhCwUAANsCACAGAADYAgAgxAEAANoCADDFAQAACAAQxgEAANoCADDHAQEAqQIAIcsBQACqAgAh4gEBAKkCACHlAQEAqQIAIesBAQCpAgAh7AFAANcCACEMBAAAywIAIAcAAMwCACDEAQAAyQIAMMUBAAA1ABDGAQAAyQIAMMcBAQCpAgAhywFAAKoCACHMAUAAqgIAIe0BAQCpAgAh7wEAAMoC7wEi-AEAADUAIPkBAAA1ACAJAwAA2AIAIAUAANsCACDEAQAA3AIAMMUBAAADABDGAQAA3AIAMMcBAQCpAgAh2gEBAKkCACHlAQEAqQIAIeoBAADdAuoBIgTNAQAAAOoBAs4BAAAA6gEIzwEAAADqAQjUAQAAwwLqASIAAAAB_QEBAAAAAQH9AUAAAAABAAAAAAH9AQEAAAABAf0BQAAAAAEFGAAAjwQAIBkAAJIEACD6AQAAkAQAIPsBAACRBAAggAIAAAEAIAMYAACPBAAg-gEAAJAEACCAAgAAAQAgAAAABRgAAIoEACAZAACNBAAg-gEAAIsEACD7AQAAjAQAIIACAAABACADGAAAigQAIPoBAACLBAAggAIAAAEAIAAAAAAABf0BAgAAAAGDAgIAAAABhAICAAAAAYUCAgAAAAGGAgIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAf0BAAAA6gECBRgAAIIEACAZAACIBAAg-gEAAIMEACD7AQAAhwQAIIACAAABACAFGAAAgAQAIBkAAIUEACD6AQAAgQQAIPsBAACEBAAggAIAADIAIAMYAACCBAAg-gEAAIMEACCAAgAAAQAgAxgAAIAEACD6AQAAgQQAIIACAAAyACAAAAAFGAAA-AMAIBkAAP4DACD6AQAA-QMAIPsBAAD9AwAggAIAADIAIAUYAAD2AwAgGQAA-wMAIPoBAAD3AwAg-wEAAPoDACCAAgAAAQAgAxgAAPgDACD6AQAA-QMAIIACAAAyACADGAAA9gMAIPoBAAD3AwAggAIAAAEAIAAAAAH9AQAAAO8BAgsYAACmAwAwGQAAqwMAMPoBAACnAwAw-wEAAKgDADD8AQAAqQMAIP0BAACqAwAw_gEAAKoDADD_AQAAqgMAMIACAACqAwAwgQIAAKwDADCCAgAArQMAMAsYAACaAwAwGQAAnwMAMPoBAACbAwAw-wEAAJwDADD8AQAAnQMAIP0BAACeAwAw_gEAAJ4DADD_AQAAngMAMIACAACeAwAwgQIAAKADADCCAgAAoQMAMAYGAACTAwAgxwEBAAAAAcsBQAAAAAHiAQEAAAAB6wEBAAAAAewBQAAAAAECAAAACgAgGAAApQMAIAMAAAAKACAYAAClAwAgGQAApAMAIAERAAD1AwAwCwUAANsCACAGAADYAgAgxAEAANoCADDFAQAACAAQxgEAANoCADDHAQEAAAABywFAAKoCACHiAQEAAAAB5QEBAKkCACHrAQEAqQIAIewBQADXAgAhAgAAAAoAIBEAAKQDACACAAAAogMAIBEAAKMDACAJxAEAAKEDADDFAQAAogMAEMYBAAChAwAwxwEBAKkCACHLAUAAqgIAIeIBAQCpAgAh5QEBAKkCACHrAQEAqQIAIewBQADXAgAhCcQBAAChAwAwxQEAAKIDABDGAQAAoQMAMMcBAQCpAgAhywFAAKoCACHiAQEAqQIAIeUBAQCpAgAh6wEBAKkCACHsAUAA1wIAIQXHAQEA4QIAIcsBQADiAgAh4gEBAOECACHrAQEA4QIAIewBQADoAgAhBgYAAJEDACDHAQEA4QIAIcsBQADiAgAh4gEBAOECACHrAQEA4QIAIewBQADoAgAhBgYAAJMDACDHAQEAAAABywFAAAAAAeIBAQAAAAHrAQEAAAAB7AFAAAAAAQQDAACLAwAgxwEBAAAAAdoBAQAAAAHqAQAAAOoBAgIAAAAFACAYAACxAwAgAwAAAAUAIBgAALEDACAZAACwAwAgAREAAPQDADAJAwAA2AIAIAUAANsCACDEAQAA3AIAMMUBAAADABDGAQAA3AIAMMcBAQAAAAHaAQEAqQIAIeUBAQCpAgAh6gEAAN0C6gEiAgAAAAUAIBEAALADACACAAAArgMAIBEAAK8DACAHxAEAAK0DADDFAQAArgMAEMYBAACtAwAwxwEBAKkCACHaAQEAqQIAIeUBAQCpAgAh6gEAAN0C6gEiB8QBAACtAwAwxQEAAK4DABDGAQAArQMAMMcBAQCpAgAh2gEBAKkCACHlAQEAqQIAIeoBAADdAuoBIgPHAQEA4QIAIdoBAQDhAgAh6gEAAIgD6gEiBAMAAIkDACDHAQEA4QIAIdoBAQDhAgAh6gEAAIgD6gEiBAMAAIsDACDHAQEAAAAB2gEBAAAAAeoBAAAA6gECBBgAAKYDADD6AQAApwMAMPwBAACpAwAggAIAAKoDADAEGAAAmgMAMPoBAACbAwAw_AEAAJ0DACCAAgAAngMAMAAAAAAAAf0BIAAAAAELGAAA3wMAMBkAAOMDADD6AQAA4AMAMPsBAADhAwAw_AEAAOIDACD9AQAAqgMAMP4BAACqAwAw_wEAAKoDADCAAgAAqgMAMIECAADkAwAwggIAAK0DADALGAAA0wMAMBkAANgDADD6AQAA1AMAMPsBAADVAwAw_AEAANYDACD9AQAA1wMAMP4BAADXAwAw_wEAANcDADCAAgAA1wMAMIECAADZAwAwggIAANoDADALGAAAxwMAMBkAAMwDADD6AQAAyAMAMPsBAADJAwAw_AEAAMoDACD9AQAAywMAMP4BAADLAwAw_wEAAMsDADCAAgAAywMAMIECAADNAwAwggIAAM4DADALGAAAvgMAMBkAAMIDADD6AQAAvwMAMPsBAADAAwAw_AEAAMEDACD9AQAAngMAMP4BAACeAwAw_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_AEAAMoDACCAAgAAywMAMAQYAAC-AwAw-gEAAL8DADD8AQAAwQMAIIACAACeAwAwAAAFBAAAtAMAIAkAAOwDACAKAADtAwAgCwAAtQMAIPYBAADjAgAgAgQAALQDACAHAAC1AwAgA8cBAQAAAAHlAQEAAAAB6gEAAADqAQIHxwEBAAAAAcoBQAAAAAHLAUAAAAABzAFAAAAAAeIBAQAAAAHjAQEAAAAB5AEBAAAAAQzHAQEAAAABywFAAAAAAcwBQAAAAAHYAQEAAAAB2QEBAAAAAdsBAQAAAAHcAQEAAAAB3QEBAAAAAd4BQAAAAAHfAUAAAAAB4AEBAAAAAeEBAQAAAAEFxwEBAAAAAcsBQAAAAAHiAQEAAAAB5QEBAAAAAewBQAAAAAEDxwEBAAAAAdoBAQAAAAHqAQAAAOoBAgXHAQEAAAABywFAAAAAAeIBAQAAAAHrAQEAAAAB7AFAAAAAAQsEAADoAwAgCQAA6QMAIAoAAOoDACDHAQEAAAABywFAAAAAAcwBQAAAAAHzAQEAAAAB9AEBAAAAAfUBIAAAAAH2AQEAAAAB9wEgAAAAAQIAAAABACAYAAD2AwAgBgQAALIDACDHAQEAAAABywFAAAAAAcwBQAAAAAHtAQEAAAAB7wEAAADvAQICAAAAMgAgGAAA-AMAIAMAAAAcACAYAAD2AwAgGQAA_AMAIA0AAAAcACAEAAC6AwAgCQAAuwMAIAoAALwDACARAAD8AwAgxwEBAOECACHLAUAA4gIAIcwBQADiAgAh8wEBAOECACH0AQEA4QIAIfUBIAC5AwAh9gEBAOcCACH3ASAAuQMAIQsEAAC6AwAgCQAAuwMAIAoAALwDACDHAQEA4QIAIcsBQADiAgAhzAFAAOICACHzAQEA4QIAIfQBAQDhAgAh9QEgALkDACH2AQEA5wIAIfcBIAC5AwAhAwAAADUAIBgAAPgDACAZAAD_AwAgCAAAADUAIAQAAJgDACARAAD_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-QEJqwH6AVWsAfwBB60B_gEJrgH_AVavAYACB7ABgQIHsQGCAgmyAYUCV7MBhgJbtAGIAly1AYkCXLYBjAJctwGNAly4AY4CXLkBkAJcugGSAgm7AZMCXbwBlQJcvQGXAgm-AZgCXr8BmQJcwAGaAlzBAZsCCcIBngJfwwGfAmM"};async function U4(A){let{Buffer:I}=await import("buffer"),g=I.from(A,"base64");return new WebAssembly.Module(g)}tQ.compilerWasm={getRuntime:async()=>await Promise.resolve().then(() => (ZF(),pF)),getQueryCompilerWasmModule:async()=>{let{wasm:A}=await Promise.resolve().then(() => (TF(),WF));return await U4(A)},importName:"./query_compiler_fast_bg.js"};function VF(){return OF.getPrismaClient(tQ)}var gA=SB(iD(),1);var yb=gA.Extensions.getExtensionContext;var hb={DbNull:gA.NullTypes.DbNull,JsonNull:gA.NullTypes.JsonNull,AnyNull:gA.NullTypes.AnyNull};var Ub=gA.makeStrictEnum({ReadUncommitted:"ReadUncommitted",ReadCommitted:"ReadCommitted",RepeatableRead:"RepeatableRead",Serializable:"Serializable"});var Yb=gA.Extensions.defineExtension;globalThis.__dirname=jF.dirname(H4(import.meta.url));var dF=VF();var c4=Object.defineProperty,L4=(A,I)=>{for(var g in I)c4(A,g,{get:I[g],enumerable:!0})},ND={};L4(ND,{$:()=>mF,bgBlack:()=>m4,bgBlue:()=>v4,bgCyan:()=>$4,bgGreen:()=>u4,bgMagenta:()=>n4,bgRed:()=>t4,bgWhite:()=>_4,bgYellow:()=>r4,black:()=>O4,blue:()=>b4,bold:()=>tF,cyan:()=>X4,dim:()=>q4,gray:()=>f4,green:()=>j4,grey:()=>l4,hidden:()=>W4,inverse:()=>Z4,italic:()=>x4,magenta:()=>z4,red:()=>V4,reset:()=>s4,strikethrough:()=>T4,underline:()=>p4,white:()=>P4,yellow:()=>d4});var kD,XF,PF,fF,lF=!0;if(typeof process<"u")({FORCE_COLOR:kD,NODE_DISABLE_COLORS:XF,NO_COLOR:PF,TERM:fF}=process.env||{}),lF=process.stdout&&process.stdout.isTTY;var mF={enabled:!XF&&PF==null&&fF!=="dumb"&&(kD!=null&&kD!=="0"||lF)};function $(A,I){let g=new RegExp(`\\x1b\\[${I}m`,"g"),B=`\x1B[${A}m`,Q=`\x1B[${I}m`;return function(C){if(!mF.enabled||C==null)return C;return B+(~(""+C).indexOf(Q)?C.replace(g,Q+B):C)+Q}}var s4=$(0,0),tF=$(1,22),q4=$(2,22),x4=$(3,23),p4=$(4,24),Z4=$(7,27),W4=$(8,28),T4=$(9,29),O4=$(30,39),V4=$(31,39),j4=$(32,39),d4=$(33,39),b4=$(34,39),z4=$(35,39),X4=$(36,39),P4=$(37,39),f4=$(90,39),l4=$(90,39),m4=$(40,49),t4=$(41,49),u4=$(42,49),r4=$(43,49),v4=$(44,49),n4=$(45,49),$4=$(46,49),_4=$(47,49),e4=100,bF=["green","yellow","blue","magenta","cyan","red"],wD=[],zF=Date.now(),Ap=0,KD=typeof process<"u"?process.env:{};globalThis.DEBUG??=KD.DEBUG??"";globalThis.DEBUG_COLORS??=KD.DEBUG_COLORS?KD.DEBUG_COLORS==="true":!0;var QB={enable(A){if(typeof A==="string")globalThis.DEBUG=A},disable(){let A=globalThis.DEBUG;return globalThis.DEBUG="",A},enabled(A){let I=globalThis.DEBUG.split(",").map((Q)=>{return Q.replace(/[.+?^${}()|[\]\\]/g,"\\$&")}),g=I.some((Q)=>{if(Q===""||Q[0]==="-")return!1;return A.match(RegExp(Q.split("*").join(".*")+"$"))}),B=I.some((Q)=>{if(Q===""||Q[0]!=="-")return!1;return A.match(RegExp(Q.slice(1).split("*").join(".*")+"$"))});return g&&!B},log:(...A)=>{let[I,g,...B]=A;(console.warn??console.log)(`${I} ${g}`,...B)},formatters:{}};function Ip(A){let I={color:bF[Ap++%bF.length],enabled:QB.enabled(A),namespace:A,log:QB.log,extend:()=>{}};return new Proxy((...B)=>{let{enabled:Q,namespace:C,color:E,log:D}=I;if(B.length!==0)wD.push([C,...B]);if(wD.length>e4)wD.shift();if(QB.enabled(C)||Q){let i=B.map((o)=>{if(typeof o==="string")return o;return gp(o)}),G=`+${Date.now()-zF}ms`;if(zF=Date.now(),globalThis.DEBUG_COLORS)D(ND[E](tF(C)),...i,ND[E](G));else D(C,...i,G)}},{get:(B,Q)=>I[Q],set:(B,Q,C)=>I[Q]=C})}var uQ=new Proxy(Ip,{get:(A,I)=>QB[I],set:(A,I,g)=>QB[I]=g});function gp(A,I=2){let g=new Set;return JSON.stringify(A,(B,Q)=>{if(typeof Q==="object"&&Q!==null){if(g.has(Q))return"[Circular *]";g.add(Q)}else if(typeof Q==="bigint")return Q.toString();return Q},I)}var FD=class extends Error{name="DriverAdapterError";cause;constructor(A){super(typeof A.message==="string"?A.message:A.kind);this.cause=A}};var sb=uQ("driver-adapter-utils");var t={Int32:0,Int64:1,Float:2,Double:3,Numeric:4,Boolean:5,Character:6,Text:7,Date:8,Time:9,DateTime:10,Json:11,Enum:12,Bytes:13,Set:14,Uuid:15,Int32Array:64,Int64Array:65,FloatArray:66,DoubleArray:67,NumericArray:68,BooleanArray:69,CharacterArray:70,TextArray:71,DateArray:72,TimeArray:73,DateTimeArray:74,JsonArray:75,EnumArray:76,BytesArray:77,UuidArray:78,UnknownNumber:128},qb={queryRaw:Error("Not implemented: queryRaw"),executeRaw:Error("Not implemented: executeRaw"),startTransaction:Error("Not implemented: startTransaction"),executeScript:Error("Not implemented: executeScript"),dispose:Error("Not implemented: dispose")};var xA=SB(uD(),1),hz=xA.default.Client,Uz=xA.default.Pool,Yz=xA.default.Connection,Jz=xA.default.types,az=xA.default.Query,Hz=xA.default.DatabaseError,cz=xA.default.escapeIdentifier,Lz=xA.default.escapeLiteral,sz=xA.default.Result,qz=xA.default.TypeOverrides,xz=xA.default.defaults,jI=xA.default;function kM(A){let I=A!=null;return function(B){let Q=B.length-1;if(Q===1)return[];if(B[Q]!=="}")throw Error("Invalid array text - must end with }");let C=0;if(B[C]==="[")C=B.indexOf("=")+1;if(B[C++]!=="{")throw Error("Invalid array text - must start with {");let E=[],D=E,i=[],G=C,o="",w=!0;for(;C<Q;++C){let N=B[C];if(N==='"'){G=++C;let k=B.indexOf('"',G),F=B.indexOf("\\",G);while(F!==-1&&F<k){C=F;let Y=B.slice(G,C);if(o+=Y,G=++C,k===C++)k=B.indexOf('"',C);F=B.indexOf("\\",C)}C=k;let R=B.slice(G,C);o+=R,D.push(I?A(o):o),o="",w=!1}else if(N==="{"){let k=[];D.push(k),i.push(D),D=k,G=C+1,w=!0}else if(N===",")w=!0;else if(N==="}"){w=!1;let k=i.pop();if(k===void 0)throw Error("Invalid array text - too many '}'");D=k}else if(w){G=C;while((N=B[C])!==","&&N!=="}"&&C<Q)++C;let k=B.slice(G,C--);D.push(k==="NULL"?null:I?A(k):k),w=!1}else throw Error("Was expecting delimeter")}return E}}var DT=kM();var nD=(A,I)=>I!=null?kM(I)(A):DT(A);var YM="@prisma/adapter-pg",JM=16384,{types:iT}=jI,{builtins:m,getTypeParser:aM}=iT,GT={NAME:19},l={BIT_ARRAY:1561,BOOL_ARRAY:1000,BYTEA_ARRAY:1001,BPCHAR_ARRAY:1014,CHAR_ARRAY:1002,CIDR_ARRAY:651,DATE_ARRAY:1182,FLOAT4_ARRAY:1021,FLOAT8_ARRAY:1022,INET_ARRAY:1041,INT2_ARRAY:1005,INT4_ARRAY:1007,INT8_ARRAY:1016,JSONB_ARRAY:3807,JSON_ARRAY:199,MONEY_ARRAY:791,NUMERIC_ARRAY:1231,OID_ARRAY:1028,TEXT_ARRAY:1009,TIMESTAMP_ARRAY:1115,TIMESTAMPTZ_ARRAY:1185,TIME_ARRAY:1183,UUID_ARRAY:2951,VARBIT_ARRAY:1563,VARCHAR_ARRAY:1015,XML_ARRAY:143},HM=class A extends Error{static typeNames={16:"bool",17:"bytea",18:"char",19:"name",20:"int8",21:"int2",22:"int2vector",23:"int4",24:"regproc",25:"text",26:"oid",27:"tid",28:"xid",29:"cid",30:"oidvector",32:"pg_ddl_command",71:"pg_type",75:"pg_attribute",81:"pg_proc",83:"pg_class",114:"json",142:"xml",194:"pg_node_tree",269:"table_am_handler",325:"index_am_handler",600:"point",601:"lseg",602:"path",603:"box",604:"polygon",628:"line",650:"cidr",700:"float4",701:"float8",705:"unknown",718:"circle",774:"macaddr8",790:"money",829:"macaddr",869:"inet",1033:"aclitem",1042:"bpchar",1043:"varchar",1082:"date",1083:"time",1114:"timestamp",1184:"timestamptz",1186:"interval",1266:"timetz",1560:"bit",1562:"varbit",1700:"numeric",1790:"refcursor",2202:"regprocedure",2203:"regoper",2204:"regoperator",2205:"regclass",2206:"regtype",2249:"record",2275:"cstring",2276:"any",2277:"anyarray",2278:"void",2279:"trigger",2280:"language_handler",2281:"internal",2283:"anyelement",2287:"_record",2776:"anynonarray",2950:"uuid",2970:"txid_snapshot",3115:"fdw_handler",3220:"pg_lsn",3310:"tsm_handler",3361:"pg_ndistinct",3402:"pg_dependencies",3500:"anyenum",3614:"tsvector",3615:"tsquery",3642:"gtsvector",3734:"regconfig",3769:"regdictionary",3802:"jsonb",3831:"anyrange",3838:"event_trigger",3904:"int4range",3906:"numrange",3908:"tsrange",3910:"tstzrange",3912:"daterange",3926:"int8range",4072:"jsonpath",4089:"regnamespace",4096:"regrole",4191:"regcollation",4451:"int4multirange",4532:"nummultirange",4533:"tsmultirange",4534:"tstzmultirange",4535:"datemultirange",4536:"int8multirange",4537:"anymultirange",4538:"anycompatiblemultirange",4600:"pg_brin_bloom_summary",4601:"pg_brin_minmax_multi_summary",5017:"pg_mcv_list",5038:"pg_snapshot",5069:"xid8",5077:"anycompatible",5078:"anycompatiblearray",5079:"anycompatiblenonarray",5080:"anycompatiblerange"};type;constructor(I){super();this.type=A.typeNames[I]||"Unknown",this.message=`Unsupported column type ${this.type}`}};function oT(A){switch(A){case m.INT2:case m.INT4:return t.Int32;case m.INT8:return t.Int64;case m.FLOAT4:return t.Float;case m.FLOAT8:return t.Double;case m.BOOL:return t.Boolean;case m.DATE:return t.Date;case m.TIME:case m.TIMETZ:return t.Time;case m.TIMESTAMP:case m.TIMESTAMPTZ:return t.DateTime;case m.NUMERIC:case m.MONEY:return t.Numeric;case m.JSON:case m.JSONB:return t.Json;case m.UUID:return t.Uuid;case m.OID:return t.Int64;case m.BPCHAR:case m.TEXT:case m.VARCHAR:case m.BIT:case m.VARBIT:case m.INET:case m.CIDR:case m.XML:case GT.NAME:return t.Text;case m.BYTEA:return t.Bytes;case l.INT2_ARRAY:case l.INT4_ARRAY:return t.Int32Array;case l.FLOAT4_ARRAY:return t.FloatArray;case l.FLOAT8_ARRAY:return t.DoubleArray;case l.NUMERIC_ARRAY:case l.MONEY_ARRAY:return t.NumericArray;case l.BOOL_ARRAY:return t.BooleanArray;case l.CHAR_ARRAY:return t.CharacterArray;case l.BPCHAR_ARRAY:case l.TEXT_ARRAY:case l.VARCHAR_ARRAY:case l.VARBIT_ARRAY:case l.BIT_ARRAY:case l.INET_ARRAY:case l.CIDR_ARRAY:case l.XML_ARRAY:return t.TextArray;case l.DATE_ARRAY:return t.DateArray;case l.TIME_ARRAY:return t.TimeArray;case l.TIMESTAMP_ARRAY:return t.DateTimeArray;case l.TIMESTAMPTZ_ARRAY:return t.DateTimeArray;case l.JSON_ARRAY:case l.JSONB_ARRAY:return t.JsonArray;case l.BYTEA_ARRAY:return t.BytesArray;case l.UUID_ARRAY:return t.UuidArray;case l.INT8_ARRAY:case l.OID_ARRAY:return t.Int64Array;default:if(A>=JM)return t.Text;throw new HM(A)}}function lA(A){return(I)=>nD(I,A)}function KM(A){return A}function FM(A){return A}function RM(A){return`${A.replace(" ","T")}+00:00`}function SM(A){return A.replace(" ","T").replace(/[+-]\d{2}(:\d{2})?$/,"+00:00")}function MM(A){return A}function wT(A){return A.replace(/[+-]\d{2}(:\d{2})?$/,"")}function yM(A){return A.slice(1)}function NT(A){return A}function DC(A){return A}var kT=aM(m.BYTEA),KT=aM(l.BYTEA_ARRAY);function FT(A){return kT(A)}function hM(A){return A}var $D={[m.NUMERIC]:KM,[l.NUMERIC_ARRAY]:lA(KM),[m.TIME]:MM,[l.TIME_ARRAY]:lA(MM),[m.TIMETZ]:wT,[m.DATE]:FM,[l.DATE_ARRAY]:lA(FM),[m.TIMESTAMP]:RM,[l.TIMESTAMP_ARRAY]:lA(RM),[m.TIMESTAMPTZ]:SM,[l.TIMESTAMPTZ_ARRAY]:lA(SM),[m.MONEY]:yM,[l.MONEY_ARRAY]:lA(yM),[m.JSON]:DC,[l.JSON_ARRAY]:lA(DC),[m.JSONB]:DC,[l.JSONB_ARRAY]:lA(DC),[m.BYTEA]:FT,[l.BYTEA_ARRAY]:KT,[l.BIT_ARRAY]:lA(hM),[l.VARBIT_ARRAY]:lA(hM),[l.XML_ARRAY]:lA(NT)};function cM(A,I){if(A===null)return null;if(Array.isArray(A)&&I.arity==="list")return A.map((g)=>cM(g,I));if(typeof A==="string"&&I.scalarType==="datetime")A=new Date(A);if(A instanceof Date)switch(I.dbType){case"TIME":case"TIMETZ":return MT(A);case"DATE":return ST(A);default:return RT(A)}if(typeof A==="string"&&I.scalarType==="bytes")return Buffer.from(A,"base64");if(ArrayBuffer.isView(A))return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);return A}function RT(A){let I=(B,Q=2)=>String(B).padStart(Q,"0"),g=A.getUTCMilliseconds();return I(A.getUTCFullYear(),4)+"-"+I(A.getUTCMonth()+1)+"-"+I(A.getUTCDate())+" "+I(A.getUTCHours())+":"+I(A.getUTCMinutes())+":"+I(A.getUTCSeconds())+(g?"."+String(g).padStart(3,"0"):"")}function ST(A){let I=(g,B=2)=>String(g).padStart(B,"0");return I(A.getUTCFullYear(),4)+"-"+I(A.getUTCMonth()+1)+"-"+I(A.getUTCDate())}function MT(A){let I=(B,Q=2)=>String(B).padStart(Q,"0"),g=A.getUTCMilliseconds();return I(A.getUTCHours())+":"+I(A.getUTCMinutes())+":"+I(A.getUTCSeconds())+(g?"."+String(g).padStart(3,"0"):"")}var yT=new Set(["UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_CRL","UNABLE_TO_DECRYPT_CERT_SIGNATURE","UNABLE_TO_DECRYPT_CRL_SIGNATURE","UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY","CERT_SIGNATURE_FAILURE","CRL_SIGNATURE_FAILURE","CERT_NOT_YET_VALID","CERT_HAS_EXPIRED","CRL_NOT_YET_VALID","CRL_HAS_EXPIRED","ERROR_IN_CERT_NOT_BEFORE_FIELD","ERROR_IN_CERT_NOT_AFTER_FIELD","ERROR_IN_CRL_LAST_UPDATE_FIELD","ERROR_IN_CRL_NEXT_UPDATE_FIELD","DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","CERT_CHAIN_TOO_LONG","CERT_REVOKED","INVALID_CA","INVALID_PURPOSE","CERT_UNTRUSTED","CERT_REJECTED","HOSTNAME_MISMATCH","ERR_TLS_CERT_ALTNAME_FORMAT","ERR_TLS_CERT_ALTNAME_INVALID"]),hT=new Set(["ENOTFOUND","ECONNREFUSED","ECONNRESET","ETIMEDOUT"]);function UT(A){if(HT(A))return aT(A);if(cT(A))return{kind:"TlsConnectionError",reason:A.message};if(JT(A))return{originalCode:A.code,originalMessage:A.message,...YT(A)};throw A}function YT(A){switch(A.code){case"22001":return{kind:"LengthMismatch",column:A.column};case"22003":return{kind:"ValueOutOfRange",cause:A.message};case"22P02":return{kind:"InvalidInputValue",message:A.message};case"23505":{let I=A.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", ");return{kind:"UniqueConstraintViolation",constraint:I!==void 0?{fields:I}:void 0}}case"23502":{let I=A.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", ");return{kind:"NullConstraintViolation",constraint:I!==void 0?{fields:I}:void 0}}case"23503":{let I;if(A.column)I={fields:[A.column]};else if(A.constraint)I={index:A.constraint};return{kind:"ForeignKeyConstraintViolation",constraint:I}}case"3D000":return{kind:"DatabaseDoesNotExist",db:A.message.split(" ").at(1)?.split('"').at(1)};case"28000":return{kind:"DatabaseAccessDenied",db:A.message.split(",").find((I)=>I.startsWith(" database"))?.split('"').at(1)};case"28P01":return{kind:"AuthenticationFailed",user:A.message.split(" ").pop()?.split('"').at(1)};case"40001":return{kind:"TransactionWriteConflict"};case"42P01":return{kind:"TableDoesNotExist",table:A.message.split(" ").at(1)?.split('"').at(1)};case"42703":return{kind:"ColumnNotFound",column:A.message.match(/^column (.+) does not exist$/)?.at(1)?.replace(/"((?:""|[^"])*)"/g,(g,B)=>B.replaceAll('""','"'))};case"42P04":return{kind:"DatabaseAlreadyExists",db:A.message.split(" ").at(1)?.split('"').at(1)};case"53300":return{kind:"TooManyConnections",cause:A.message};default:return{kind:"postgres",code:A.code??"N/A",severity:A.severity??"N/A",message:A.message,detail:A.detail,column:A.column,hint:A.hint}}}function JT(A){return typeof A.code==="string"&&typeof A.message==="string"&&typeof A.severity==="string"&&(typeof A.detail==="string"||A.detail===void 0)&&(typeof A.column==="string"||A.column===void 0)&&(typeof A.hint==="string"||A.hint===void 0)}function aT(A){switch(A.code){case"ENOTFOUND":case"ECONNREFUSED":return{kind:"DatabaseNotReachable",host:A.address??A.hostname,port:A.port};case"ECONNRESET":return{kind:"ConnectionClosed"};case"ETIMEDOUT":return{kind:"SocketTimeout"}}}function HT(A){return typeof A.code==="string"&&typeof A.syscall==="string"&&typeof A.errno==="number"&&hT.has(A.code)}function cT(A){if(typeof A.code==="string")return yT.has(A.code);switch(A.message){case"The server does not support SSL connections":case"There was an error establishing an SSL connection":return!0}return!1}var LT=jI.types,yI=uQ("prisma:driver-adapter:pg"),LM=class{constructor(A,I){this.client=A,this.pgOptions=I}provider="postgres";adapterName=YM;async queryRaw(A){yI("[js::query_raw] %O",A);let{fields:g,rows:B}=await this.performIO(A),Q=g.map((D)=>D.name),C=[];try{C=g.map((D)=>oT(D.dataTypeID))}catch(D){if(D instanceof HM)throw new FD({kind:"UnsupportedNativeDataType",type:D.type});throw D}let E=this.pgOptions?.userDefinedTypeParser;if(E)for(let D=0;D<g.length;D++){let i=g[D];if(i.dataTypeID>=JM&&!Object.hasOwn($D,i.dataTypeID))for(let G=0;G<B.length;G++)B[G][D]=await E(i.dataTypeID,B[G][D],this)}return{columnNames:Q,columnTypes:C,rows:B}}async executeRaw(A){return yI("[js::execute_raw] %O",A),(await this.performIO(A)).rowCount??0}async performIO(A){let{sql:I,args:g}=A,B=g.map((Q,C)=>cM(Q,A.argTypes[C]));try{return await this.client.query({name:this.pgOptions?.statementNameGenerator?.(A),text:I,values:B,rowMode:"array",types:{getTypeParser:(C,E)=>{if(E==="text"&&$D[C])return $D[C];return LT.getTypeParser(C,E)}}},B)}catch(Q){this.onError(Q)}}onError(A){throw yI("Error in performIO: %O",A),new FD(UT(A))}},sT=class extends LM{constructor(A,I,g,B){super(A,g);this.options=I,this.pgOptions=g,this.cleanup=B}async commit(){yI("[js::commit]"),this.cleanup?.(),this.client.release()}async rollback(){yI("[js::rollback]"),this.cleanup?.(),this.client.release()}async createSavepoint(A){await this.executeRaw({sql:`SAVEPOINT ${A}`,args:[],argTypes:[]})}async rollbackToSavepoint(A){await this.executeRaw({sql:`ROLLBACK TO SAVEPOINT ${A}`,args:[],argTypes:[]})}async releaseSavepoint(A){await this.executeRaw({sql:`RELEASE SAVEPOINT ${A}`,args:[],argTypes:[]})}},UM=class extends LM{constructor(A,I,g){super(A);this.pgOptions=I,this.release=g}async startTransaction(A){let I={usePhantomQuery:!1},g="[js::startTransaction]";yI("%s options: %O","[js::startTransaction]",I);let B=await this.client.connect().catch((E)=>this.onError(E)),Q=(E)=>{yI(`Error from pool connection: ${E.message} %O`,E),this.pgOptions?.onConnectionError?.(E)};B.on("error",Q);let C=()=>{B.removeListener("error",Q)};try{let E=new sT(B,I,this.pgOptions,C);if(await E.executeRaw({sql:"BEGIN",args:[],argTypes:[]}),A)await E.executeRaw({sql:`SET TRANSACTION ISOLATION LEVEL ${A}`,args:[],argTypes:[]});return E}catch(E){C(),B.release(E),this.onError(E)}}async executeScript(A){let I=A.split(";").map((g)=>g.trim()).filter((g)=>g.length>0);for(let g of I)try{await this.client.query(g)}catch(B){this.onError(B)}}getConnectionInfo(){return{schemaName:this.pgOptions?.schema,supportsRelationJoins:!0}}async dispose(){return this.release?.()}underlyingDriver(){return this.client}},sM=class{constructor(A,I){if(this.options=I,A instanceof jI.Pool)this.externalPool=A,this.config=A.options;else if(typeof A==="string")this.externalPool=null,this.config={connectionString:A};else this.externalPool=null,this.config=A}provider="postgres";adapterName=YM;config;externalPool;async connect(){let A=this.externalPool??new jI.Pool(this.config),I=(g)=>{yI(`Error from idle pool client: ${g.message} %O`,g),this.options?.onPoolError?.(g)};return A.on("error",I),new UM(A,this.options,async()=>{if(this.externalPool)if(this.options?.disposeExternalPool)await this.externalPool.end(),this.externalPool=null;else this.externalPool.removeListener("error",I);else await A.end()})}async connectToShadowDb(){let A=await this.connect(),I=`prisma_migrate_shadow_db_${globalThis.crypto.randomUUID()}`;await A.executeScript(`CREATE DATABASE "${I}"`);let g=new jI.Pool({...this.config,database:I});return new UM(g,void 0,async()=>{await A.executeScript(`DROP DATABASE "${I}"`),await g.end()})}};var qM;if(!Bun.env.FLUX_DATABASE_URL)throw Error("FLUX_DATABASE_URL is not set in environment variables");var qT=Bun.env.FLUX_DATABASE_URL,_D=()=>{return qM??=new dF({adapter:new sM({connectionString:qT})}),qM};class iC{_redisConnection;processAddress=II();constructor(A){this._redisConnection=A}async kickClient(A,I){let[g,B,Q]=cA(I),C=`${g}/${B}`;if(await this._redisConnection.publishCustom(`kick-client-${A}`,C,Q)===0)if(A==="agent")await this._redisConnection.networkAgentRedisService.unregisterAgentOrThrow(Q);else if(A==="authority")await this._redisConnection.networkAuthoritySet.unregisterAuthority(Q);else throw Error(`Unknown client type: ${A}`)}onKickClient(A,I){this._redisConnection.subscribeToCustom(`kick-client-${A}`,this.processAddress,(g)=>I(g))}}var pM,eD=()=>{return pM??=new Ai(new GE(_D()),wA()),pM};class Ai{_networkTokenRepository;_redisConnection;constructor(A,I){this._networkTokenRepository=A;this._redisConnection=I}async createToken(A,I){let g=await this._networkTokenRepository.createToken(A,I);return this.publishAndStoreChangedTokens(A),g}async readByNetworkId(A){return this._networkTokenRepository.readByNetworkId(A)}async readTokensByNetworkId(A){let I=await this._redisConnection.getNetworkTokenValues(A);if(I.length>0)return I;let g=await this._networkTokenRepository.readTokensByNetworkId(A);return await this._redisConnection.setNetworkTokenValues(A,g),g}async countByNetworkId(A){return this._networkTokenRepository.countByNetworkId(A)}async findById(A){return this._networkTokenRepository.findById(A)}async rotateOutAllExcept(A,I,g){await this._networkTokenRepository.rotateOutAllExcept(A,I,g),this.publishAndStoreChangedTokens(A)}async deleteNetworkToken(A,I){await this._networkTokenRepository.deleteNetworkToken(A,I),this.publishAndStoreChangedTokens(A)}async publishAndStoreChangedTokens(A){let g=(await this.readByNetworkId(A)).map((B)=>B.token);this._redisConnection.publishNetworkTokenEvent(A,g).catch((B)=>console.error("Failed to publish token event to Redis:",B)),this._redisConnection.setNetworkTokenValues(A,g).catch((B)=>console.error("Failed to persist token values to Redis Set:",B))}}var ZM,xT=()=>{return ZM??=new CQ(wA(),eD()),ZM},TM=async(A,I)=>{let g=WM.parse(A.url,!0),B=g.query.networkId;try{Mg(B??"")}catch(i){return new Response(i instanceof Error?i.message:"Unknown error validating network ID",{status:500})}let Q=B,C=await A.text();if(u.log(`Received authority token for network: ${Q}`,"authorize"),I?.has(Q)&&I.get(Q)===C)u.log(`Successfully authorized authority for network ${Q} using hardcoded credentials`,"authorize");else if(!await xT().isValidToken(Q,C))return new Response("Invalid network access token",{status:401,headers:{"Access-Control-Allow-Origin":"*"}});let E=g.query.machineUID,D;if(E&&yg(E))D=E;return new Response(gQ({networkId:Q,isAuthority:!0,machineUID:D}),{headers:{"Content-Type":"text/plain","Access-Control-Allow-Origin":"*"}})};import*as OM from"url";var VM=async(A,I,g)=>{let B=OM.parse(A.url,!0),Q=B.query.networkId;try{Mg(Q??"")}catch(i){return new Response(i instanceof Error?i.message:"Unknown error validating network ID",{status:500})}let C=Q;if(!C)return new Response("Missing networkId",{status:500,headers:{"Access-Control-Allow-Origin":"*"}});let E=await A.text(),D=A.headers.get("x-flux-content-type")?.toLowerCase();try{let i,G=await KC(async()=>{return i=await I.resolveAuthorityAddressOrThrow(C),g.call(i,"authorizeAgentConnection",`${D==="application/json"?"json":"text"}:${E}`)},(o)=>{if(o instanceof dI||o instanceof AI)return I.removeUnresponsiveClient(C,i),!0;return!1},{retries:10,delayMs:50,onRetry:(o,w)=>{console.log(`[authorizeAgentConnection] Retrying... (attempt: ${o} of ${w})`)}});if(G){let o=B.query.requestedAgentUid;if(o)try{NC(o)}catch(F){return new Response(F instanceof Error?F.message:"The requested agent ID is not valid",{status:500})}A.cookies.set("claim",G,{maxAge:604800,httpOnly:!0,secure:!0,path:"/"});let N=B.query.machineUID,k;if(N&&yg(N))k=N;return new Response(gQ({networkId:C,claim:G,agentUID:o,machineUID:k}),{headers:{"Content-Type":"text/plain","Access-Control-Allow-Origin":"*"}})}}catch(i){if(console.error("Error authorizing:",i instanceof Error?i.message:i),i instanceof UI)return new Response(i.message,{status:401,headers:{"Access-Control-Allow-Origin":"*"}})}return new Response("Unauthorized",{status:500,headers:{"Access-Control-Allow-Origin":"*"}})};import*as tM from"url";class Ii{redisConnection;bunServer;processAddress;constructor(A,I,g){this.redisConnection=A;this.bunServer=I;this.processAddress=g;this.subscribeWebsocketChannelEvent()}subscribeWebsocketChannelEvent(){this.redisConnection.subscribeWebsocketChannelEvent((A,I,g)=>{if(this.processAddress===I)return;this.bunServer.publish(g,A)})}async publish(A,I,g){(g??this.bunServer).publish(A,I),await this.redisConnection.publishWebsocketChannelEvent(this.processAddress,A,I)}}var jM=(A)=>{if(A.length<2)return"same-process";let I=new Set(A.map(Sg));if(I.size===1)return"same-process";if(new Set([...I].map(([B])=>B)).size===1)return"same-machine";return"distributed"};class GC{_redisConnection;constructor(A){this._redisConnection=A}async createNetworkChannelIfNotExist(A,I){let g=await this._redisConnection.hash.sadd(`networks/${A}/channels`,I);if(g===1)await this._redisConnection.hash.hset(`networks/${A}/channels/${I}`,{createdAt:new Date().toISOString(),memberDistribution:"same-process",usage:"0"});return g===1}async readNetworkChannels(A){let I=await this.readNetworkChannelNames(A),g=[];for(let B of I){let[Q,C,E,D]=await this._redisConnection.hash.hmget(`networks/${A}/channels/${B}`,["createdAt","memberDistribution","members","usage"]);if(Q&&C&&D)g.push({channelName:B,memberDistribution:C,members:Number.parseInt(E??"0",10),bytes:Number.parseInt(D||"0",10),createdAt:new Date(Q)})}return g}async readNetworkChannelNames(A){let I=await this._redisConnection.hash.smembers(`networks/${A}/channels`);try{if(!I.every(YI))throw Error("This will never happen")}catch(g){throw Error(`Caught error while reading networks (${A}) from Redis: ${g instanceof Error?g.message:"unknown error"}`)}return I}async readNetworkChannelCount(A){return{count:await this._redisConnection.hash.scard(`networks/${A}/channels`)??0,date:new Date}}async readNetworkMemberCount(A,I){let[g]=await this._redisConnection.hash.hmget(`networks/${A}/channels/${I}`,["members"]);if(!g)return 0;return Number.parseInt(g,10)}async readNetworkChannelMemberAddresses(A,I){return await this._redisConnection.hash.smembers(`networks/${A}/channels/${I}/members`)}async deleteNetworkChannel(A,I){await this._redisConnection.hash.srem(`networks/${A}/channels`,I),await this._redisConnection.hash.del(`networks/${A}/channels/${I}`),await this._redisConnection.hash.del(`networks/${A}/channels/${I}/members`)}async joinNetworkChannel(A,I,g){let B=await this._redisConnection.hash.sadd(`networks/${A}/channels/${I}/members`,g);if(await this.checkAndUpdateChannelMemberDistribution(A,I),B===0)return u.warn(`Unexpected existing member on network / channel "${A}"/"${I}". The member appears to already be part of the channel and cannot be added again.`,"network-channel"),Promise.reject(Error(`Client ${g} is already a member of channel "${I}" on network "${A}".`));return await this._redisConnection.hash.hincrby(`networks/${A}/channels/${I}`,"members",1)}async leaveNetworkChannel(A,I,g){if(await this._redisConnection.hash.srem(`networks/${A}/channels/${I}/members`,g)===0)return u.warn(`Unexpected non-existing member on network / channel "${A}"/"${I}". The client does not appear to be a member of the channel and can not be removed.`,"network-channel"),Promise.reject(Error(`Client ${g} is not a member of channel "${I}" on network "${A}".`));let Q=await this._redisConnection.hash.hincrby(`networks/${A}/channels/${I}`,"members",-1);if(Q===0)u.log(`Network channel "${I}" has no more members. Deleting...`,"network-channel"),await this.deleteNetworkChannel(A,I);else await this.checkAndUpdateChannelMemberDistribution(A,I);return Q}async leaveAllNetworkChannels(A,I,g){return Promise.all([...g].map(async(B)=>{await this.leaveNetworkChannel(A,B,I)})).then(()=>{return})}async incrementUsage(A,I,g){return await this._redisConnection.hash.hincrby(`networks/${A}/channels/${I}`,"usage",g)}async checkAndUpdateChannelMemberDistribution(A,I){let g=await this.readNetworkChannelMemberAddresses(A,I),B=jM(g);await this._redisConnection.hash.hset(`networks/${A}/channels/${I}`,{memberDistribution:B})}}var dM={free:25,medium:500,high:1e5},TX=dM.high,gi=(A)=>{let I=A?.toLowerCase();if(I==="lowest"||I==="free")return"free";if(I==="medium"||I==="high")return I;return},pT=(A)=>{return gi(A)??"free"},ZT=(A)=>dM[pT(A)],bM=(A)=>{if(!A)return;let I=gi(A);if(I)return I;let g=(Q)=>{if(!Q||typeof Q!=="object")return;let C=Q,E=C.user,D=E&&typeof E==="object"?E:void 0,i=[C.subscriptionType,C.subscription,C.tier,C.plan,D?.subscriptionType,D?.subscription,D?.tier,D?.plan];for(let G of i){if(typeof G!=="string")continue;let o=gi(G);if(o)return o}return};try{let Q=JSON.parse(A),C=g(Q);if(C)return C}catch{}let B=A.split(".");if(B.length<2)return;try{let C=Buffer.from(B[1],"base64url").toString("utf8"),E=JSON.parse(C);return g(E)}catch{return}},WT=(A,I)=>A<ZT(I);class Bi{_globalChannelPubsub;channelUsageCount=new Map;redisConnection=wA();networkChannelHash=new GC(this.redisConnection);constructor(A){this._globalChannelPubsub=A;setInterval(()=>{for(let[I,g]of this.channelUsageCount){if(g.usage>0)this.networkChannelHash.incrementUsage(g.networkId,I,g.usage);this.channelUsageCount.delete(I)}},5000)}async canHaveMembers(A,I,g){let B=await this.networkChannelHash.readNetworkMemberCount(A,I);return Promise.resolve(WT(B,g))}joinNetworkChannel(A,I,g){this.createNetworkChannelIfNotExist(A,I),this.networkChannelHash.joinNetworkChannel(A,I,g)}async leaveNetworkChannel(A,I,g){if(await this.networkChannelHash.leaveNetworkChannel(A,I,g)===0)this._globalChannelPubsub.publish(`~/networks/${A}/channel-empty`,`${ai}:${I}`)}async leaveAllNetworkChannels(A,I,g){return await this.networkChannelHash.leaveAllNetworkChannels(A,I,g)}async createNetworkChannelIfNotExist(A,I){if(await this.networkChannelHash.createNetworkChannelIfNotExist(A,I))this._globalChannelPubsub.publish(`~/networks/${A}/channel-created`,`${Ji}:${I}`)}increaseUsageCount(A,I,g){let B=this.channelUsageCount.get(I);this.channelUsageCount.set(I,B?{...B,usage:B.usage+g}:{networkId:A,usage:g})}}class Qi{_clientMap;_networkAgentRedisCache;constructor(A,I){this._clientMap=A;this._networkAgentRedisCache=I}async kickAgent(A){let I=this._clientMap.get(A);if(I)I.close(1002,"Kicked by process"),this._clientMap.delete(A);else u.error("We expected to find a client, but didn't. Ignoring.","agent-manager");await this._networkAgentRedisCache.unregister(A,I?.data.networkId)}}class Ci{_redisConnection;_clientMap;_networkAgentRedisCache;machineAddress=jA();processAddress=VA();_globalClientManager;_localAgentManager;constructor(A,I,g){this._redisConnection=A;this._clientMap=I;this._networkAgentRedisCache=g;this._globalClientManager=new iC(this._redisConnection),this._localAgentManager=new Qi(this._clientMap,this._networkAgentRedisCache),this._globalClientManager.onKickClient("agent",this._localAgentManager.kickAgent.bind(this._localAgentManager))}kick(A){let[I,g,B]=cA(A);if(I!==this.machineAddress){this._globalClientManager.kickClient("agent",A);return}if(g!==this.processAddress){this._globalClientManager.kickClient("agent",A);return}this._localAgentManager.kickAgent(B)}}import*as PM from"url";var zM=["Steel yourself, traveler. Strange currents stir beyond these gates.","Every signal leaves a trail. Mind which ones you choose to follow.","I have watched green recruits chase glory into the dark and never return.","The mesh is restless today. Even the quiet channels feel like a warning.","Keep your wits sharp and your blade sharper. This road favors neither fools nor dreamers."];class Ei{randomNumberGenerator;constructor(A=Math.random){this.randomNumberGenerator=A}resolveInteraction(A){let I=A>5;return{interactionCount:A,isFinalResponse:I,message:this.resolveMessage(I),remainingRandomResponses:Math.max(5-A,0)}}resolveMessage(A){if(A)return"I have shared all the wisdom I can spare. The next step is yours alone, hero.";return zM[Math.floor(this.randomNumberGenerator()*zM.length)]}}class Di{interactionCountByUserAndNpc=new Map;incrementInteractionCount(A,I){let g=this.buildInteractionKey(A,I),B=(this.interactionCountByUserAndNpc.get(g)??0)+1;return this.interactionCountByUserAndNpc.set(g,B),B}buildInteractionKey(A,I){return`${A}:${I}`}}class ii{interactionTracker;dialogueScript;constructor(A=Math.random){this.interactionTracker=new Di,this.dialogueScript=new Ei(A)}interact(A,I){let g=this.interactionTracker.incrementInteractionCount(A,I);return this.dialogueScript.resolveInteraction(g)}}var TT="mesh-guide",XM=(A)=>{let I=A?.split(",")[0]?.trim();return I&&I.length>0?I:void 0},fM=(A)=>{if(typeof A!=="string")return;let I=A.trim();return I.length>0?I:void 0},OT=new ii(Math.random),VT=(A,I)=>fM(I.query.playerId)??XM(A.headers.get("x-forwarded-for"))??XM(A.headers.get("x-real-ip"))??"anonymous",lM=(A)=>{let I=PM.parse(A.url,!0),g=fM(I.query.npcId)??TT,B=VT(A,I),Q=OT.interact(B,g);return new Response(Q.message,{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};u.configure({allowScopes:"*"});var FB=new Map,Gi=VA(),oi=jA(),wi=II(),Ni=new Map;class xM{optionsOrPort;redisConnection=wA();onReadyListeners=new Set;bunServer;globalChannelPubsub;channelManager;agentManager;constructor(A){this.optionsOrPort=A;let I=typeof this.optionsOrPort==="number"?this.optionsOrPort:this.optionsOrPort?.port??5100,g=new MC,B=new yC,Q=new SC((D,i)=>{let G=FB.get(D);if(!G)throw new dI(D,wi);G.send(i)}),C=new EE,E=new QE(Q,C);this.agentManager=new Ci(this.redisConnection,FB,B),this.bunServer=mM.serve({port:I,idleTimeout:0,routes:{"/auth/network-authority":{OPTIONS:QQ,POST:(D)=>TM(D,A instanceof Object?A.hardcodedNetworkCredentials:void 0)},"/auth/network-client":{OPTIONS:QQ,POST:(D)=>VM(D,g,E)},"/*":{OPTIONS:QQ,GET:lM}},async fetch(D,i){let G=tM.parse(D.url,!0).query.token;try{let o=KN(G),w=XI();if(!i.upgrade(D,{data:{ip:i.requestIP(D),id:w,networkId:o.networkId,isAuthority:o.isAuthority,address:`${oi}/${Gi}/${w}`,claim:o.claim,uid:o.agentUID,machineUID:o.machineUID,channelNames:new Set,throughput:{bytes:0,packets:0}}}))return new Response("Request upgrade failed",{status:500,headers:{"Access-Control-Allow-Origin":"*"}})}catch{return console.error("Token verification failed"),new Response("Token verification failed",{status:500})}return new Response("Upgrade failed",{status:500})},websocket:{data:{},perMessageDeflate:!0,maxPayloadLength:1048576,async open(D){if(FB.set(D.data.id,D),D.data.isAuthority)u.log(`\uD83D\uDC6E Authority connected to network '${FC(D.data.networkId)}' at address: '${D.data.address}'`,"ws-connection"),await g.register(D.data.networkId,D.data.id,D.data.machineUID);else u.log(`\uD83E\uDD35 Agent connected: ${D.data.id}`,"ws-connection"),await B.registerAgent(D.data.networkId,D.data.id,D.data.ip,D.data.address,D.data.throughput,D.data.uid,D.data.machineUID),D.data.rtcClient=new DE(wi,D.send.bind(D),(i)=>{let G=Ni.get(D.data.id);Ni.set(D.data.id,G===void 0?new Set([i]):G.add(i))});D.send("isReady")},message:async(D,i)=>{if(typeof i!=="string")throw Error("Message is not a string");let G=new TextEncoder().encode(i).length;switch(D.data.throughput.bytes=D.data.throughput.bytes+G,D.data.throughput.packets++,i.split(":")[0]){case ci:{if(!D.data.isAuthority){D.close(4000,"Bad behavior");return}let w=i.substring(i.indexOf(":")+1);if(!kC(w)){D.send(`${YA}:Invalid agent ID`);return}this.agentManager.kick(w);break}case Hi:{if(!D.data.isAuthority){D.close(4000,"Bad behavior");return}D.subscribe(`~/networks/${D.data.networkId}/channel-created`),D.subscribe(`~/networks/${D.data.networkId}/channel-empty`);break}case Si:{let w=i.indexOf(":"),N=i.indexOf(":",w+1),k=i.slice(w+1,N),F=i.slice(N+1);if(YI(k)){if(D.data.channelNames.has(k))this.globalChannelPubsub.publish(`networks/${D.data.networkId}/channels/${k}`,`${Mi}:${D.data.id}:${k}:${F}`,D),this.channelManager.increaseUsageCount(D.data.networkId,k,G)}break}case yi:{let w=i.substring(i.indexOf(":")+1);try{YI(w)}catch{D.send(`${YA}:Not authorized`);return}let N=w;if(D.data.channelNames.has(N)){D.send(`${YA}:Agent is already subscribed to channnel`);return}try{let k=await g.resolveAuthorityAddressOrThrow(D.data.networkId);if(!await this.channelManager.canHaveMembers(D.data.networkId,N,bM(D.data.claim))){D.send(`${YA}:Channel limit is reached`);return}try{if(await E.call(k,"authorizeChannelAccess",N,D.data.claim))D.subscribe(`networks/${D.data.networkId}/channels/${N}`),D.send(`${hi}:${N}`),D.data.channelNames.add(N),u.log(`\uD83C\uDF89 Client was authorized on channel name '${N}'`,"authorized"),this.channelManager.joinNetworkChannel(D.data.networkId,N,D.data.address);else console.error(`Client was not authorized to connect to channel name '${N}'`),D.send(`${YA}:Not authorized`)}catch(R){if(R instanceof Error){D.send(`${YA}:${R.message}`);break}console.error("Unknown error",R),D.send(`${YA}:Unknown error`)}}catch(k){u.error(`Failed to resolve network authority address for networkId '${D.data.networkId}': ${k instanceof Error?k.message:"Unknown error"}`,"not-authorized"),D.send(`${YA}:${wC}`);return}break}case Ui:{let w=i.substring(i.indexOf(":")+1);try{YI(w)}catch{D.send(`${YA}:Not authorized`);return}let N=w;if(!D.data.channelNames.has(N)){D.send(`${YA}:Cannot unsubscribe. Agent is not connected to the channnel`);return}try{D.unsubscribe(`networks/${D.data.networkId}/channels/${N}`),D.send(`${Yi}:${N}`),D.data.channelNames.delete(N),console.log(`\uD83D\uDEAA Client left channel name '${N}'`),this.channelManager.leaveNetworkChannel(D.data.networkId,N,D.data.address)}catch(k){if(k instanceof Error){D.send(`${YA}:${k.message}`);break}console.error("Unknown error",k),D.send(`${YA}:Unknown error`)}break}case Fi:{let w=JSON.parse(i.substring(i.indexOf(":")+1));u.log("\uD83D\uDCE1 Received RPC response.","rpc"),C.message(w.rpcProcessAddress,i);let N=Ni.get(D.data.id);for(let k of N??[])k(w);break}case Ri:{let w=D.data.rtcClient;if(!w)console.warn("Initiating client could not be resolved");let N=i.substring(i.indexOf(":")+1),k=await B.resolveClientAddressByUid(D.data.networkId,N),F=new iE(k,Q,C);if(!F)console.warn("Remote client could not be resolved");if(w&&F)FN(w,F);else{D.send(`${YA}:RPC clients could not be resolved`);return}break}}},close:async(D,i)=>{if(FB.delete(D.data.id),D.data.isAuthority)u.log(`\uD83D\uDED1 Authority socket disconnecting ${i} ${D.data.id}`,"ws-disconnect"),g.unregister(D.data.id,D.data.networkId);else{u.log(`\uD83D\uDED1\uD83E\uDD35 Agent socket disconnecting ${i} ${D.data.id}`,"ws-disconnect");for(let G of D.data.channelNames??[])D.unsubscribe(`networks/${D.data.networkId}/channels/${G}`);if(D.data.channelNames.size>0)await this.channelManager.leaveAllNetworkChannels(D.data.networkId,D.data.address,D.data.channelNames).catch(()=>{u.error("Caught error while leaving network channels.","ws-disconnect")});await B.unregister(D.data.id,D.data.networkId,D.data.uid?{clientOwnUId:D.data.uid,networkId:D.data.networkId}:void 0).catch(()=>{u.error("Caught error while unregistering agent.","ws-disconnect")})}},drain(D){console.log("drain")}}}),this.globalChannelPubsub=new Ii(this.redisConnection,this.bunServer,wi),this.channelManager=new Bi(this.globalChannelPubsub),setTimeout(()=>{console.log(`\uD83D\uDE80 Flux mesh server running on localhost:${I}`),setInterval(()=>{this.redisConnection.setConnected(`${oi}/${Gi}`)},3000);for(let D of this.onReadyListeners)D()},50)}onReady(A){this.onReadyListeners.add(A)}async stop(){FB.clear(),await this.bunServer.stop(!0),await this.redisConnection.setDisconnected(`${oi}/${Gi}`),await this.redisConnection.disconnect()}}export{xM as FluxMeshServer};
273
+ `,runtimeDataModel:{models:{},enums:{},types:{}},parameterizationSchema:{strings:[],graph:""}};tQ.runtimeDataModel=JSON.parse('{"models":{"User":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"email","kind":"scalar","type":"String"},{"name":"userNetworks","kind":"object","type":"UserNetwork","relationName":"UserToUserNetwork"},{"name":"name","kind":"scalar","type":"String"},{"name":"emailVerified","kind":"scalar","type":"Boolean"},{"name":"image","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"sessions","kind":"object","type":"Session","relationName":"SessionToUser"},{"name":"accounts","kind":"object","type":"Account","relationName":"AccountToUser"},{"name":"createdNetworkTokens","kind":"object","type":"NetworkToken","relationName":"NetworkTokenToUser"},{"name":"isFluxAdmin","kind":"scalar","type":"Boolean"}],"dbName":"user"},"Network":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"alias","kind":"scalar","type":"String"},{"name":"subscriptionType","kind":"enum","type":"ESubscriptionType"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"userNetworks","kind":"object","type":"UserNetwork","relationName":"NetworkToUserNetwork"},{"name":"tokens","kind":"object","type":"NetworkToken","relationName":"NetworkToNetworkToken"}],"dbName":null},"NetworkToken":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"network","kind":"object","type":"Network","relationName":"NetworkToNetworkToken"},{"name":"token","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"createdByUserId","kind":"scalar","type":"String"},{"name":"createdByUser","kind":"object","type":"User","relationName":"NetworkTokenToUser"},{"name":"rotatedOutAt","kind":"scalar","type":"DateTime"}],"dbName":null},"UserNetwork":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"userId","kind":"scalar","type":"String"},{"name":"user","kind":"object","type":"User","relationName":"UserToUserNetwork"},{"name":"role","kind":"enum","type":"EUserNetworkRole"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"network","kind":"object","type":"Network","relationName":"NetworkToUserNetwork"}],"dbName":null},"UsageHistory":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"usageKb","kind":"scalar","type":"Int"},{"name":"timeslotAt","kind":"scalar","type":"DateTime"}],"dbName":null},"ConnectedAuthoritiesHistory":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"count","kind":"scalar","type":"Int"},{"name":"timeslotAt","kind":"scalar","type":"DateTime"}],"dbName":null},"ConnectedAgentsHistory":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"count","kind":"scalar","type":"Int"},{"name":"timeslotAt","kind":"scalar","type":"DateTime"}],"dbName":null},"ChannelsHistory":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"networkId","kind":"scalar","type":"String"},{"name":"count","kind":"scalar","type":"Int"},{"name":"timeslotAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Session":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"expiresAt","kind":"scalar","type":"DateTime"},{"name":"token","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"ipAddress","kind":"scalar","type":"String"},{"name":"userAgent","kind":"scalar","type":"String"},{"name":"userId","kind":"scalar","type":"String"},{"name":"user","kind":"object","type":"User","relationName":"SessionToUser"}],"dbName":"session"},"Account":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"accountId","kind":"scalar","type":"String"},{"name":"providerId","kind":"scalar","type":"String"},{"name":"userId","kind":"scalar","type":"String"},{"name":"user","kind":"object","type":"User","relationName":"AccountToUser"},{"name":"accessToken","kind":"scalar","type":"String"},{"name":"refreshToken","kind":"scalar","type":"String"},{"name":"idToken","kind":"scalar","type":"String"},{"name":"accessTokenExpiresAt","kind":"scalar","type":"DateTime"},{"name":"refreshTokenExpiresAt","kind":"scalar","type":"DateTime"},{"name":"scope","kind":"scalar","type":"String"},{"name":"password","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":"account"},"Verification":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"identifier","kind":"scalar","type":"String"},{"name":"value","kind":"scalar","type":"String"},{"name":"expiresAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":"verification"}},"enums":{},"types":{}}');tQ.parameterizationSchema={strings:JSON.parse('["where","orderBy","cursor","user","userNetworks","network","createdByUser","tokens","_count","sessions","accounts","createdNetworkTokens","User.findUnique","User.findUniqueOrThrow","User.findFirst","User.findFirstOrThrow","User.findMany","data","User.createOne","User.createMany","User.createManyAndReturn","User.updateOne","User.updateMany","User.updateManyAndReturn","create","update","User.upsertOne","User.deleteOne","User.deleteMany","having","_min","_max","User.groupBy","User.aggregate","Network.findUnique","Network.findUniqueOrThrow","Network.findFirst","Network.findFirstOrThrow","Network.findMany","Network.createOne","Network.createMany","Network.createManyAndReturn","Network.updateOne","Network.updateMany","Network.updateManyAndReturn","Network.upsertOne","Network.deleteOne","Network.deleteMany","Network.groupBy","Network.aggregate","NetworkToken.findUnique","NetworkToken.findUniqueOrThrow","NetworkToken.findFirst","NetworkToken.findFirstOrThrow","NetworkToken.findMany","NetworkToken.createOne","NetworkToken.createMany","NetworkToken.createManyAndReturn","NetworkToken.updateOne","NetworkToken.updateMany","NetworkToken.updateManyAndReturn","NetworkToken.upsertOne","NetworkToken.deleteOne","NetworkToken.deleteMany","NetworkToken.groupBy","NetworkToken.aggregate","UserNetwork.findUnique","UserNetwork.findUniqueOrThrow","UserNetwork.findFirst","UserNetwork.findFirstOrThrow","UserNetwork.findMany","UserNetwork.createOne","UserNetwork.createMany","UserNetwork.createManyAndReturn","UserNetwork.updateOne","UserNetwork.updateMany","UserNetwork.updateManyAndReturn","UserNetwork.upsertOne","UserNetwork.deleteOne","UserNetwork.deleteMany","UserNetwork.groupBy","UserNetwork.aggregate","UsageHistory.findUnique","UsageHistory.findUniqueOrThrow","UsageHistory.findFirst","UsageHistory.findFirstOrThrow","UsageHistory.findMany","UsageHistory.createOne","UsageHistory.createMany","UsageHistory.createManyAndReturn","UsageHistory.updateOne","UsageHistory.updateMany","UsageHistory.updateManyAndReturn","UsageHistory.upsertOne","UsageHistory.deleteOne","UsageHistory.deleteMany","_avg","_sum","UsageHistory.groupBy","UsageHistory.aggregate","ConnectedAuthoritiesHistory.findUnique","ConnectedAuthoritiesHistory.findUniqueOrThrow","ConnectedAuthoritiesHistory.findFirst","ConnectedAuthoritiesHistory.findFirstOrThrow","ConnectedAuthoritiesHistory.findMany","ConnectedAuthoritiesHistory.createOne","ConnectedAuthoritiesHistory.createMany","ConnectedAuthoritiesHistory.createManyAndReturn","ConnectedAuthoritiesHistory.updateOne","ConnectedAuthoritiesHistory.updateMany","ConnectedAuthoritiesHistory.updateManyAndReturn","ConnectedAuthoritiesHistory.upsertOne","ConnectedAuthoritiesHistory.deleteOne","ConnectedAuthoritiesHistory.deleteMany","ConnectedAuthoritiesHistory.groupBy","ConnectedAuthoritiesHistory.aggregate","ConnectedAgentsHistory.findUnique","ConnectedAgentsHistory.findUniqueOrThrow","ConnectedAgentsHistory.findFirst","ConnectedAgentsHistory.findFirstOrThrow","ConnectedAgentsHistory.findMany","ConnectedAgentsHistory.createOne","ConnectedAgentsHistory.createMany","ConnectedAgentsHistory.createManyAndReturn","ConnectedAgentsHistory.updateOne","ConnectedAgentsHistory.updateMany","ConnectedAgentsHistory.updateManyAndReturn","ConnectedAgentsHistory.upsertOne","ConnectedAgentsHistory.deleteOne","ConnectedAgentsHistory.deleteMany","ConnectedAgentsHistory.groupBy","ConnectedAgentsHistory.aggregate","ChannelsHistory.findUnique","ChannelsHistory.findUniqueOrThrow","ChannelsHistory.findFirst","ChannelsHistory.findFirstOrThrow","ChannelsHistory.findMany","ChannelsHistory.createOne","ChannelsHistory.createMany","ChannelsHistory.createManyAndReturn","ChannelsHistory.updateOne","ChannelsHistory.updateMany","ChannelsHistory.updateManyAndReturn","ChannelsHistory.upsertOne","ChannelsHistory.deleteOne","ChannelsHistory.deleteMany","ChannelsHistory.groupBy","ChannelsHistory.aggregate","Session.findUnique","Session.findUniqueOrThrow","Session.findFirst","Session.findFirstOrThrow","Session.findMany","Session.createOne","Session.createMany","Session.createManyAndReturn","Session.updateOne","Session.updateMany","Session.updateManyAndReturn","Session.upsertOne","Session.deleteOne","Session.deleteMany","Session.groupBy","Session.aggregate","Account.findUnique","Account.findUniqueOrThrow","Account.findFirst","Account.findFirstOrThrow","Account.findMany","Account.createOne","Account.createMany","Account.createManyAndReturn","Account.updateOne","Account.updateMany","Account.updateManyAndReturn","Account.upsertOne","Account.deleteOne","Account.deleteMany","Account.groupBy","Account.aggregate","Verification.findUnique","Verification.findUniqueOrThrow","Verification.findFirst","Verification.findFirstOrThrow","Verification.findMany","Verification.createOne","Verification.createMany","Verification.createManyAndReturn","Verification.updateOne","Verification.updateMany","Verification.updateManyAndReturn","Verification.upsertOne","Verification.deleteOne","Verification.deleteMany","Verification.groupBy","Verification.aggregate","AND","OR","NOT","id","identifier","value","expiresAt","createdAt","updatedAt","equals","in","notIn","lt","lte","gt","gte","not","contains","startsWith","endsWith","accountId","providerId","userId","accessToken","refreshToken","idToken","accessTokenExpiresAt","refreshTokenExpiresAt","scope","password","token","ipAddress","userAgent","networkId","count","timeslotAt","usageKb","EUserNetworkRole","role","createdByUserId","rotatedOutAt","alias","ESubscriptionType","subscriptionType","every","some","none","email","name","emailVerified","image","isFluxAdmin","is","isNot","connectOrCreate","upsert","createMany","set","disconnect","delete","connect","updateMany","deleteMany","increment","decrement","multiply","divide"]'),graph:"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-8BIgIAAAAyACARAAA_ACAFxwEBAOECACHLAUAA4gIAIcwBQADiAgAh7QEBAOECACHvAQAAlwPvASICAAAANQAgEQAAQQAgAgAAADUAIBEAAEEAIAMAAAAyACAYAAA6ACAZAAA_ACABAAAAMgAgAQAAADUAIAMIAACUAwAgHgAAlgMAIB8AAJUDACAIxAEAAMUCADDFAQAASAAQxgEAAMUCADDHAQEAoQIAIcsBQACiAgAhzAFAAKICACHtAQEAoQIAIe8BAADGAu8BIgMAAAA1ACABAABHADAdAABIACADAAAANQAgAQAANgAwAgAAMgAgAQAAAAoAIAEAAAAKACADAAAACAAgAQAACQAwAgAACgAgAwAAAAgAIAEAAAkAMAIAAAoAIAMAAAAIACABAAAJADACAAAKACAIBQAAkgMAIAYAAJMDACDHAQEAAAABywFAAAAAAeIBAQAAAAHlAQEAAAAB6wEBAAAAAewBQAAAAAEBEQAAUAAgBscBAQAAAAHLAUAAAAAB4gEBAAAAAeUBAQAAAAHrAQEAAAAB7AFAAAAAAQERAABSADABEQAAUgAwCAUAAJADACAGAACRAwAgxwEBAOECACHLAUAA4gIAIeIBAQDhAgAh5QEBAOECACHrAQEA4QIAIewBQADoAgAhAgAAAAoAIBEAAFUAIAbHAQEA4QIAIcsBQADiAgAh4gEBAOECACHlAQEA4QIAIesBAQDhAgAh7AFAAOgCACECAAAACAAgEQAAVwAgAgAAAAgAIBEAAFcAIAMAAAAKACAYAABQACAZAABVACABAAAACgAgAQAAAAgAIAQIAACNAwAgHgAAjwMAIB8AAI4DACDsAQAA4wIAIAnEAQAAxAIAMMUBAABeABDGAQAAxAIAMMcBAQChAgAhywFAAKICACHiAQEAoQIAIeUBAQChAgAh6wEBAKECACHsAUAArQIAIQMAAAAIACABAABdADAdAABeACADAAAACAAgAQAACQAwAgAACgAgAQAAAAUAIAEAAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACAGAwAAiwMAIAUAAIwDACDHAQEAAAAB2gEBAAAAAeUBAQAAAAHqAQAAAOoBAgERAABmACAExwEBAAAAAdoBAQAAAAHlAQEAAAAB6gEAAADqAQIBEQAAaAAwAREAAGgAMAYDAACJAwAgBQAAigMAIMcBAQDhAgAh2gEBAOECACHlAQEA4QIAIeoBAACIA-oBIgIAAAAFACARAABrACAExwEBAOECACHaAQEA4QIAIeUBAQDhAgAh6gEAAIgD6gEiAgAAAAMAIBEAAG0AIAIAAAADACARAABtACADAAAABQAgGAAAZgAgGQAAawAgAQAAAAUAIAEAAAADACADCAAAhQMAIB4AAIcDACAfAACGAwAgB8QBAADAAgAwxQEAAHQAEMYBAADAAgAwxwEBAKECACHaAQEAoQIAIeUBAQChAgAh6gEAAMEC6gEiAwAAAAMAIAEAAHMAMB0AAHQAIAMAAAADACABAAAEADACAAAFACAHxAEAAL8CADDFAQAAegAQxgEAAL8CADDHAQEAAAAB5QEBAKkCACHnAUAAqgIAIegBAgC5AgAhAQAAAHcAIAEAAAB3ACAHxAEAAL8CADDFAQAAegAQxgEAAL8CADDHAQEAqQIAIeUBAQCpAgAh5wFAAKoCACHoAQIAuQIAIQADAAAAegAgAQAAewAwAgAAdwAgAwAAAHoAIAEAAHsAMAIAAHcAIAMAAAB6ACABAAB7ADACAAB3ACAExwEBAAAAAeUBAQAAAAHnAUAAAAAB6AECAAAAAQERAAB_ACAExwEBAAAAAeUBAQAAAAHnAUAAAAAB6AECAAAAAQERAACBAQAwAREAAIEBADAExwEBAOECACHlAQEA4QIAIecBQADiAgAh6AECAPUCACECAAAAdwAgEQAAhAEAIATHAQEA4QIAIeUBAQDhAgAh5wFAAOICACHoAQIA9QIAIQIAAAB6ACARAACGAQAgAgAAAHoAIBEAAIYBACADAAAAdwAgGAAAfwAgGQAAhAEAIAEAAAB3ACABAAAAegAgBQgAAIADACAeAACDAwAgHwAAggMAIGAAAIEDACBhAACEAwAgB8QBAAC-AgAwxQEAAI0BABDGAQAAvgIAMMcBAQChAgAh5QEBAKECACHnAUAAogIAIegBAgC1AgAhAwAAAHoAIAEAAIwBADAdAACNAQAgAwAAAHoAIAEAAHsAMAIAAHcAIAfEAQAAvQIAMMUBAACTAQAQxgEAAL0CADDHAQEAAAAB5QEBAKkCACHmAQIAuQIAIecBQACqAgAhAQAAAJABACABAAAAkAEAIAfEAQAAvQIAMMUBAACTAQAQxgEAAL0CADDHAQEAqQIAIeUBAQCpAgAh5gECALkCACHnAUAAqgIAIQADAAAAkwEAIAEAAJQBADACAACQAQAgAwAAAJMBACABAACUAQAwAgAAkAEAIAMAAACTAQAgAQAAlAEAMAIAAJABACAExwEBAAAAAeUBAQAAAAHmAQIAAAAB5wFAAAAAAQERAACYAQAgBMcBAQAAAAHlAQEAAAAB5gECAAAAAecBQAAAAAEBEQAAmgEAMAERAACaAQAwBMcBAQDhAgAh5QEBAOECACHmAQIA9QIAIecBQADiAgAhAgAAAJABACARAACdAQAgBMcBAQDhAgAh5QEBAOECACHmAQIA9QIAIecBQADiAgAhAgAAAJMBACARAACfAQAgAgAAAJMBACARAACfAQAgAwAAAJABACAYAACYAQAgGQAAnQEAIAEAAACQAQAgAQAAAJMBACAFCAAA-wIAIB4AAP4CACAfAAD9AgAgYAAA_AIAIGEAAP8CACAHxAEAALwCADDFAQAApgEAEMYBAAC8AgAwxwEBAKECACHlAQEAoQIAIeYBAgC1AgAh5wFAAKICACEDAAAAkwEAIAEAAKUBADAdAACmAQAgAwAAAJMBACABAACUAQAwAgAAkAEAIAfEAQAAuwIAMMUBAACsAQAQxgEAALsCADDHAQEAAAAB5QEBAKkCACHmAQIAuQIAIecBQACqAgAhAQAAAKkBACABAAAAqQEAIAfEAQAAuwIAMMUBAACsAQAQxgEAALsCADDHAQEAqQIAIeUBAQCpAgAh5gECALkCACHnAUAAqgIAIQADAAAArAEAIAEAAK0BADACAACpAQAgAwAAAKwBACABAACtAQAwAgAAqQEAIAMAAACsAQAgAQAArQEAMAIAAKkBACAExwEBAAAAAeUBAQAAAAHmAQIAAAAB5wFAAAAAAQERAACxAQAgBMcBAQAAAAHlAQEAAAAB5gECAAAAAecBQAAAAAEBEQAAswEAMAERAACzAQAwBMcBAQDhAgAh5QEBAOECACHmAQIA9QIAIecBQADiAgAhAgAAAKkBACARAAC2AQAgBMcBAQDhAgAh5QEBAOECACHmAQIA9QIAIecBQADiAgAhAgAAAKwBACARAAC4AQAgAgAAAKwBACARAAC4AQAgAwAAAKkBACAYAACxAQAgGQAAtgEAIAEAAACpAQAgAQAAAKwBACAFCAAA9gIAIB4AAPkCACAfAAD4AgAgYAAA9wIAIGEAAPoCACAHxAEAALoCADDFAQAAvwEAEMYBAAC6AgAwxwEBAKECACHlAQEAoQIAIeYBAgC1AgAh5wFAAKICACEDAAAArAEAIAEAAL4BADAdAAC_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_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_ABAAAIACDxAQAACAAg8gEAAAgAIAvEAQAAzQIAMMUBAAAvABDGAQAAzQIAMMcBAQChAgAhywFAAKICACHMAUAAogIAIfMBAQChAgAh9AEBAKECACH1ASAAzgIAIfYBAQCsAgAh9wEgAM4CACEFCAAApAIAIB4AANACACAfAADQAgAgzQEgAAAAAdQBIADPAgAhBQgAAKQCACAeAADQAgAgHwAA0AIAIM0BIAAAAAHUASAAzwIAIQLNASAAAAAB1AEgANACACEPBAAAywIAIAkAANQCACAKAADVAgAgCwAAzAIAIMQBAADRAgAwxQEAABwAEMYBAADRAgAwxwEBAKkCACHLAUAAqgIAIcwBQACqAgAh8wEBAKkCACH0AQEAqQIAIfUBIADSAgAh9gEBANMCACH3ASAA0gIAIQLNASAAAAAB1AEgANACACELzQEBAAAAAc4BAQAAAAXPAQEAAAAF0AEBAAAAAdEBAQAAAAHSAQEAAAAB0wEBAAAAAdQBAQCyAgAh1QEBAAAAAdYBAQAAAAHXAQEAAAABA_ABAAAOACDxAQAADgAg8gEAAA4AIAPwAQAAEgAg8QEAABIAIPIBAAASACARAwAA2AIAIMQBAADWAgAwxQEAABIAEMYBAADWAgAwxwEBAKkCACHLAUAAqgIAIcwBQACqAgAh2AEBAKkCACHZAQEAqQIAIdoBAQCpAgAh2wEBANMCACHcAQEA0wIAId0BAQDTAgAh3gFAANcCACHfAUAA1wIAIeABAQDTAgAh4QEBANMCACEIzQFAAAAAAc4BQAAAAAXPAUAAAAAF0AFAAAAAAdEBQAAAAAHSAUAAAAAB0wFAAAAAAdQBQACwAgAhEQQAAMsCACAJAADUAgAgCgAA1QIAIAsAAMwCACDEAQAA0QIAMMUBAAAcABDGAQAA0QIAMMcBAQCpAgAhywFAAKoCACHMAUAAqgIAIfMBAQCpAgAh9AEBAKkCACH1ASAA0gIAIfYBAQDTAgAh9wEgANICACH4AQAAHAAg-QEAABwAIAwDAADYAgAgxAEAANkCADDFAQAADgAQxgEAANkCADDHAQEAqQIAIcoBQACqAgAhywFAAKoCACHMAUAAqgIAIdoBAQCpAgAh4gEBAKkCACHjAQEA0wIAIeQBAQDTAgAhCwUAANsCACAGAADYAgAgxAEAANoCADDFAQAACAAQxgEAANoCADDHAQEAqQIAIcsBQACqAgAh4gEBAKkCACHlAQEAqQIAIesBAQCpAgAh7AFAANcCACEMBAAAywIAIAcAAMwCACDEAQAAyQIAMMUBAAA1ABDGAQAAyQIAMMcBAQCpAgAhywFAAKoCACHMAUAAqgIAIe0BAQCpAgAh7wEAAMoC7wEi-AEAADUAIPkBAAA1ACAJAwAA2AIAIAUAANsCACDEAQAA3AIAMMUBAAADABDGAQAA3AIAMMcBAQCpAgAh2gEBAKkCACHlAQEAqQIAIeoBAADdAuoBIgTNAQAAAOoBAs4BAAAA6gEIzwEAAADqAQjUAQAAwwLqASIAAAAB_QEBAAAAAQH9AUAAAAABAAAAAAH9AQEAAAABAf0BQAAAAAEFGAAAjwQAIBkAAJIEACD6AQAAkAQAIPsBAACRBAAggAIAAAEAIAMYAACPBAAg-gEAAJAEACCAAgAAAQAgAAAABRgAAIoEACAZAACNBAAg-gEAAIsEACD7AQAAjAQAIIACAAABACADGAAAigQAIPoBAACLBAAggAIAAAEAIAAAAAAABf0BAgAAAAGDAgIAAAABhAICAAAAAYUCAgAAAAGGAgIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAf0BAAAA6gECBRgAAIIEACAZAACIBAAg-gEAAIMEACD7AQAAhwQAIIACAAABACAFGAAAgAQAIBkAAIUEACD6AQAAgQQAIPsBAACEBAAggAIAADIAIAMYAACCBAAg-gEAAIMEACCAAgAAAQAgAxgAAIAEACD6AQAAgQQAIIACAAAyACAAAAAFGAAA-AMAIBkAAP4DACD6AQAA-QMAIPsBAAD9AwAggAIAADIAIAUYAAD2AwAgGQAA-wMAIPoBAAD3AwAg-wEAAPoDACCAAgAAAQAgAxgAAPgDACD6AQAA-QMAIIACAAAyACADGAAA9gMAIPoBAAD3AwAggAIAAAEAIAAAAAH9AQAAAO8BAgsYAACmAwAwGQAAqwMAMPoBAACnAwAw-wEAAKgDADD8AQAAqQMAIP0BAACqAwAw_gEAAKoDADD_AQAAqgMAMIACAACqAwAwgQIAAKwDADCCAgAArQMAMAsYAACaAwAwGQAAnwMAMPoBAACbAwAw-wEAAJwDADD8AQAAnQMAIP0BAACeAwAw_gEAAJ4DADD_AQAAngMAMIACAACeAwAwgQIAAKADADCCAgAAoQMAMAYGAACTAwAgxwEBAAAAAcsBQAAAAAHiAQEAAAAB6wEBAAAAAewBQAAAAAECAAAACgAgGAAApQMAIAMAAAAKACAYAAClAwAgGQAApAMAIAERAAD1AwAwCwUAANsCACAGAADYAgAgxAEAANoCADDFAQAACAAQxgEAANoCADDHAQEAAAABywFAAKoCACHiAQEAAAAB5QEBAKkCACHrAQEAqQIAIewBQADXAgAhAgAAAAoAIBEAAKQDACACAAAAogMAIBEAAKMDACAJxAEAAKEDADDFAQAAogMAEMYBAAChAwAwxwEBAKkCACHLAUAAqgIAIeIBAQCpAgAh5QEBAKkCACHrAQEAqQIAIewBQADXAgAhCcQBAAChAwAwxQEAAKIDABDGAQAAoQMAMMcBAQCpAgAhywFAAKoCACHiAQEAqQIAIeUBAQCpAgAh6wEBAKkCACHsAUAA1wIAIQXHAQEA4QIAIcsBQADiAgAh4gEBAOECACHrAQEA4QIAIewBQADoAgAhBgYAAJEDACDHAQEA4QIAIcsBQADiAgAh4gEBAOECACHrAQEA4QIAIewBQADoAgAhBgYAAJMDACDHAQEAAAABywFAAAAAAeIBAQAAAAHrAQEAAAAB7AFAAAAAAQQDAACLAwAgxwEBAAAAAdoBAQAAAAHqAQAAAOoBAgIAAAAFACAYAACxAwAgAwAAAAUAIBgAALEDACAZAACwAwAgAREAAPQDADAJAwAA2AIAIAUAANsCACDEAQAA3AIAMMUBAAADABDGAQAA3AIAMMcBAQAAAAHaAQEAqQIAIeUBAQCpAgAh6gEAAN0C6gEiAgAAAAUAIBEAALADACACAAAArgMAIBEAAK8DACAHxAEAAK0DADDFAQAArgMAEMYBAACtAwAwxwEBAKkCACHaAQEAqQIAIeUBAQCpAgAh6gEAAN0C6gEiB8QBAACtAwAwxQEAAK4DABDGAQAArQMAMMcBAQCpAgAh2gEBAKkCACHlAQEAqQIAIeoBAADdAuoBIgPHAQEA4QIAIdoBAQDhAgAh6gEAAIgD6gEiBAMAAIkDACDHAQEA4QIAIdoBAQDhAgAh6gEAAIgD6gEiBAMAAIsDACDHAQEAAAAB2gEBAAAAAeoBAAAA6gECBBgAAKYDADD6AQAApwMAMPwBAACpAwAggAIAAKoDADAEGAAAmgMAMPoBAACbAwAw_AEAAJ0DACCAAgAAngMAMAAAAAAAAf0BIAAAAAELGAAA3wMAMBkAAOMDADD6AQAA4AMAMPsBAADhAwAw_AEAAOIDACD9AQAAqgMAMP4BAACqAwAw_wEAAKoDADCAAgAAqgMAMIECAADkAwAwggIAAK0DADALGAAA0wMAMBkAANgDADD6AQAA1AMAMPsBAADVAwAw_AEAANYDACD9AQAA1wMAMP4BAADXAwAw_wEAANcDADCAAgAA1wMAMIECAADZAwAwggIAANoDADALGAAAxwMAMBkAAMwDADD6AQAAyAMAMPsBAADJAwAw_AEAAMoDACD9AQAAywMAMP4BAADLAwAw_wEAAMsDADCAAgAAywMAMIECAADNAwAwggIAAM4DADALGAAAvgMAMBkAAMIDADD6AQAAvwMAMPsBAADAAwAw_AEAAMEDACD9AQAAngMAMP4BAACeAwAw_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_AEAAMoDACCAAgAAywMAMAQYAAC-AwAw-gEAAL8DADD8AQAAwQMAIIACAACeAwAwAAAFBAAAtAMAIAkAAOwDACAKAADtAwAgCwAAtQMAIPYBAADjAgAgAgQAALQDACAHAAC1AwAgA8cBAQAAAAHlAQEAAAAB6gEAAADqAQIHxwEBAAAAAcoBQAAAAAHLAUAAAAABzAFAAAAAAeIBAQAAAAHjAQEAAAAB5AEBAAAAAQzHAQEAAAABywFAAAAAAcwBQAAAAAHYAQEAAAAB2QEBAAAAAdsBAQAAAAHcAQEAAAAB3QEBAAAAAd4BQAAAAAHfAUAAAAAB4AEBAAAAAeEBAQAAAAEFxwEBAAAAAcsBQAAAAAHiAQEAAAAB5QEBAAAAAewBQAAAAAEDxwEBAAAAAdoBAQAAAAHqAQAAAOoBAgXHAQEAAAABywFAAAAAAeIBAQAAAAHrAQEAAAAB7AFAAAAAAQsEAADoAwAgCQAA6QMAIAoAAOoDACDHAQEAAAABywFAAAAAAcwBQAAAAAHzAQEAAAAB9AEBAAAAAfUBIAAAAAH2AQEAAAAB9wEgAAAAAQIAAAABACAYAAD2AwAgBgQAALIDACDHAQEAAAABywFAAAAAAcwBQAAAAAHtAQEAAAAB7wEAAADvAQICAAAAMgAgGAAA-AMAIAMAAAAcACAYAAD2AwAgGQAA_AMAIA0AAAAcACAEAAC6AwAgCQAAuwMAIAoAALwDACARAAD8AwAgxwEBAOECACHLAUAA4gIAIcwBQADiAgAh8wEBAOECACH0AQEA4QIAIfUBIAC5AwAh9gEBAOcCACH3ASAAuQMAIQsEAAC6AwAgCQAAuwMAIAoAALwDACDHAQEA4QIAIcsBQADiAgAhzAFAAOICACHzAQEA4QIAIfQBAQDhAgAh9QEgALkDACH2AQEA5wIAIfcBIAC5AwAhAwAAADUAIBgAAPgDACAZAAD_AwAgCAAAADUAIAQAAJgDACARAAD_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-QEJqwH6AVWsAfwBB60B_gEJrgH_AVavAYACB7ABgQIHsQGCAgmyAYUCV7MBhgJbtAGIAly1AYkCXLYBjAJctwGNAly4AY4CXLkBkAJcugGSAgm7AZMCXbwBlQJcvQGXAgm-AZgCXr8BmQJcwAGaAlzBAZsCCcIBngJfwwGfAmM"};async function U4(A){let{Buffer:I}=await import("buffer"),g=I.from(A,"base64");return new WebAssembly.Module(g)}tQ.compilerWasm={getRuntime:async()=>await Promise.resolve().then(() => (ZF(),pF)),getQueryCompilerWasmModule:async()=>{let{wasm:A}=await Promise.resolve().then(() => (TF(),WF));return await U4(A)},importName:"./query_compiler_fast_bg.js"};function VF(){return OF.getPrismaClient(tQ)}var gA=SB(iD(),1);var yb=gA.Extensions.getExtensionContext;var hb={DbNull:gA.NullTypes.DbNull,JsonNull:gA.NullTypes.JsonNull,AnyNull:gA.NullTypes.AnyNull};var Ub=gA.makeStrictEnum({ReadUncommitted:"ReadUncommitted",ReadCommitted:"ReadCommitted",RepeatableRead:"RepeatableRead",Serializable:"Serializable"});var Yb=gA.Extensions.defineExtension;globalThis.__dirname=jF.dirname(H4(import.meta.url));var dF=VF();var c4=Object.defineProperty,L4=(A,I)=>{for(var g in I)c4(A,g,{get:I[g],enumerable:!0})},ND={};L4(ND,{$:()=>mF,bgBlack:()=>m4,bgBlue:()=>v4,bgCyan:()=>$4,bgGreen:()=>u4,bgMagenta:()=>n4,bgRed:()=>t4,bgWhite:()=>_4,bgYellow:()=>r4,black:()=>O4,blue:()=>b4,bold:()=>tF,cyan:()=>X4,dim:()=>q4,gray:()=>f4,green:()=>j4,grey:()=>l4,hidden:()=>W4,inverse:()=>Z4,italic:()=>x4,magenta:()=>z4,red:()=>V4,reset:()=>s4,strikethrough:()=>T4,underline:()=>p4,white:()=>P4,yellow:()=>d4});var kD,XF,PF,fF,lF=!0;if(typeof process<"u")({FORCE_COLOR:kD,NODE_DISABLE_COLORS:XF,NO_COLOR:PF,TERM:fF}=process.env||{}),lF=process.stdout&&process.stdout.isTTY;var mF={enabled:!XF&&PF==null&&fF!=="dumb"&&(kD!=null&&kD!=="0"||lF)};function $(A,I){let g=new RegExp(`\\x1b\\[${I}m`,"g"),B=`\x1B[${A}m`,Q=`\x1B[${I}m`;return function(C){if(!mF.enabled||C==null)return C;return B+(~(""+C).indexOf(Q)?C.replace(g,Q+B):C)+Q}}var s4=$(0,0),tF=$(1,22),q4=$(2,22),x4=$(3,23),p4=$(4,24),Z4=$(7,27),W4=$(8,28),T4=$(9,29),O4=$(30,39),V4=$(31,39),j4=$(32,39),d4=$(33,39),b4=$(34,39),z4=$(35,39),X4=$(36,39),P4=$(37,39),f4=$(90,39),l4=$(90,39),m4=$(40,49),t4=$(41,49),u4=$(42,49),r4=$(43,49),v4=$(44,49),n4=$(45,49),$4=$(46,49),_4=$(47,49),e4=100,bF=["green","yellow","blue","magenta","cyan","red"],wD=[],zF=Date.now(),Ap=0,KD=typeof process<"u"?process.env:{};globalThis.DEBUG??=KD.DEBUG??"";globalThis.DEBUG_COLORS??=KD.DEBUG_COLORS?KD.DEBUG_COLORS==="true":!0;var QB={enable(A){if(typeof A==="string")globalThis.DEBUG=A},disable(){let A=globalThis.DEBUG;return globalThis.DEBUG="",A},enabled(A){let I=globalThis.DEBUG.split(",").map((Q)=>{return Q.replace(/[.+?^${}()|[\]\\]/g,"\\$&")}),g=I.some((Q)=>{if(Q===""||Q[0]==="-")return!1;return A.match(RegExp(Q.split("*").join(".*")+"$"))}),B=I.some((Q)=>{if(Q===""||Q[0]!=="-")return!1;return A.match(RegExp(Q.slice(1).split("*").join(".*")+"$"))});return g&&!B},log:(...A)=>{let[I,g,...B]=A;(console.warn??console.log)(`${I} ${g}`,...B)},formatters:{}};function Ip(A){let I={color:bF[Ap++%bF.length],enabled:QB.enabled(A),namespace:A,log:QB.log,extend:()=>{}};return new Proxy((...B)=>{let{enabled:Q,namespace:C,color:E,log:D}=I;if(B.length!==0)wD.push([C,...B]);if(wD.length>e4)wD.shift();if(QB.enabled(C)||Q){let i=B.map((o)=>{if(typeof o==="string")return o;return gp(o)}),G=`+${Date.now()-zF}ms`;if(zF=Date.now(),globalThis.DEBUG_COLORS)D(ND[E](tF(C)),...i,ND[E](G));else D(C,...i,G)}},{get:(B,Q)=>I[Q],set:(B,Q,C)=>I[Q]=C})}var uQ=new Proxy(Ip,{get:(A,I)=>QB[I],set:(A,I,g)=>QB[I]=g});function gp(A,I=2){let g=new Set;return JSON.stringify(A,(B,Q)=>{if(typeof Q==="object"&&Q!==null){if(g.has(Q))return"[Circular *]";g.add(Q)}else if(typeof Q==="bigint")return Q.toString();return Q},I)}var FD=class extends Error{name="DriverAdapterError";cause;constructor(A){super(typeof A.message==="string"?A.message:A.kind);this.cause=A}};var sb=uQ("driver-adapter-utils");var t={Int32:0,Int64:1,Float:2,Double:3,Numeric:4,Boolean:5,Character:6,Text:7,Date:8,Time:9,DateTime:10,Json:11,Enum:12,Bytes:13,Set:14,Uuid:15,Int32Array:64,Int64Array:65,FloatArray:66,DoubleArray:67,NumericArray:68,BooleanArray:69,CharacterArray:70,TextArray:71,DateArray:72,TimeArray:73,DateTimeArray:74,JsonArray:75,EnumArray:76,BytesArray:77,UuidArray:78,UnknownNumber:128},qb={queryRaw:Error("Not implemented: queryRaw"),executeRaw:Error("Not implemented: executeRaw"),startTransaction:Error("Not implemented: startTransaction"),executeScript:Error("Not implemented: executeScript"),dispose:Error("Not implemented: dispose")};var xA=SB(uD(),1),hz=xA.default.Client,Uz=xA.default.Pool,Yz=xA.default.Connection,Jz=xA.default.types,az=xA.default.Query,Hz=xA.default.DatabaseError,cz=xA.default.escapeIdentifier,Lz=xA.default.escapeLiteral,sz=xA.default.Result,qz=xA.default.TypeOverrides,xz=xA.default.defaults,jI=xA.default;function kM(A){let I=A!=null;return function(B){let Q=B.length-1;if(Q===1)return[];if(B[Q]!=="}")throw Error("Invalid array text - must end with }");let C=0;if(B[C]==="[")C=B.indexOf("=")+1;if(B[C++]!=="{")throw Error("Invalid array text - must start with {");let E=[],D=E,i=[],G=C,o="",w=!0;for(;C<Q;++C){let N=B[C];if(N==='"'){G=++C;let k=B.indexOf('"',G),F=B.indexOf("\\",G);while(F!==-1&&F<k){C=F;let Y=B.slice(G,C);if(o+=Y,G=++C,k===C++)k=B.indexOf('"',C);F=B.indexOf("\\",C)}C=k;let R=B.slice(G,C);o+=R,D.push(I?A(o):o),o="",w=!1}else if(N==="{"){let k=[];D.push(k),i.push(D),D=k,G=C+1,w=!0}else if(N===",")w=!0;else if(N==="}"){w=!1;let k=i.pop();if(k===void 0)throw Error("Invalid array text - too many '}'");D=k}else if(w){G=C;while((N=B[C])!==","&&N!=="}"&&C<Q)++C;let k=B.slice(G,C--);D.push(k==="NULL"?null:I?A(k):k),w=!1}else throw Error("Was expecting delimeter")}return E}}var DT=kM();var nD=(A,I)=>I!=null?kM(I)(A):DT(A);var YM="@prisma/adapter-pg",JM=16384,{types:iT}=jI,{builtins:m,getTypeParser:aM}=iT,GT={NAME:19},l={BIT_ARRAY:1561,BOOL_ARRAY:1000,BYTEA_ARRAY:1001,BPCHAR_ARRAY:1014,CHAR_ARRAY:1002,CIDR_ARRAY:651,DATE_ARRAY:1182,FLOAT4_ARRAY:1021,FLOAT8_ARRAY:1022,INET_ARRAY:1041,INT2_ARRAY:1005,INT4_ARRAY:1007,INT8_ARRAY:1016,JSONB_ARRAY:3807,JSON_ARRAY:199,MONEY_ARRAY:791,NUMERIC_ARRAY:1231,OID_ARRAY:1028,TEXT_ARRAY:1009,TIMESTAMP_ARRAY:1115,TIMESTAMPTZ_ARRAY:1185,TIME_ARRAY:1183,UUID_ARRAY:2951,VARBIT_ARRAY:1563,VARCHAR_ARRAY:1015,XML_ARRAY:143},HM=class A extends Error{static typeNames={16:"bool",17:"bytea",18:"char",19:"name",20:"int8",21:"int2",22:"int2vector",23:"int4",24:"regproc",25:"text",26:"oid",27:"tid",28:"xid",29:"cid",30:"oidvector",32:"pg_ddl_command",71:"pg_type",75:"pg_attribute",81:"pg_proc",83:"pg_class",114:"json",142:"xml",194:"pg_node_tree",269:"table_am_handler",325:"index_am_handler",600:"point",601:"lseg",602:"path",603:"box",604:"polygon",628:"line",650:"cidr",700:"float4",701:"float8",705:"unknown",718:"circle",774:"macaddr8",790:"money",829:"macaddr",869:"inet",1033:"aclitem",1042:"bpchar",1043:"varchar",1082:"date",1083:"time",1114:"timestamp",1184:"timestamptz",1186:"interval",1266:"timetz",1560:"bit",1562:"varbit",1700:"numeric",1790:"refcursor",2202:"regprocedure",2203:"regoper",2204:"regoperator",2205:"regclass",2206:"regtype",2249:"record",2275:"cstring",2276:"any",2277:"anyarray",2278:"void",2279:"trigger",2280:"language_handler",2281:"internal",2283:"anyelement",2287:"_record",2776:"anynonarray",2950:"uuid",2970:"txid_snapshot",3115:"fdw_handler",3220:"pg_lsn",3310:"tsm_handler",3361:"pg_ndistinct",3402:"pg_dependencies",3500:"anyenum",3614:"tsvector",3615:"tsquery",3642:"gtsvector",3734:"regconfig",3769:"regdictionary",3802:"jsonb",3831:"anyrange",3838:"event_trigger",3904:"int4range",3906:"numrange",3908:"tsrange",3910:"tstzrange",3912:"daterange",3926:"int8range",4072:"jsonpath",4089:"regnamespace",4096:"regrole",4191:"regcollation",4451:"int4multirange",4532:"nummultirange",4533:"tsmultirange",4534:"tstzmultirange",4535:"datemultirange",4536:"int8multirange",4537:"anymultirange",4538:"anycompatiblemultirange",4600:"pg_brin_bloom_summary",4601:"pg_brin_minmax_multi_summary",5017:"pg_mcv_list",5038:"pg_snapshot",5069:"xid8",5077:"anycompatible",5078:"anycompatiblearray",5079:"anycompatiblenonarray",5080:"anycompatiblerange"};type;constructor(I){super();this.type=A.typeNames[I]||"Unknown",this.message=`Unsupported column type ${this.type}`}};function oT(A){switch(A){case m.INT2:case m.INT4:return t.Int32;case m.INT8:return t.Int64;case m.FLOAT4:return t.Float;case m.FLOAT8:return t.Double;case m.BOOL:return t.Boolean;case m.DATE:return t.Date;case m.TIME:case m.TIMETZ:return t.Time;case m.TIMESTAMP:case m.TIMESTAMPTZ:return t.DateTime;case m.NUMERIC:case m.MONEY:return t.Numeric;case m.JSON:case m.JSONB:return t.Json;case m.UUID:return t.Uuid;case m.OID:return t.Int64;case m.BPCHAR:case m.TEXT:case m.VARCHAR:case m.BIT:case m.VARBIT:case m.INET:case m.CIDR:case m.XML:case GT.NAME:return t.Text;case m.BYTEA:return t.Bytes;case l.INT2_ARRAY:case l.INT4_ARRAY:return t.Int32Array;case l.FLOAT4_ARRAY:return t.FloatArray;case l.FLOAT8_ARRAY:return t.DoubleArray;case l.NUMERIC_ARRAY:case l.MONEY_ARRAY:return t.NumericArray;case l.BOOL_ARRAY:return t.BooleanArray;case l.CHAR_ARRAY:return t.CharacterArray;case l.BPCHAR_ARRAY:case l.TEXT_ARRAY:case l.VARCHAR_ARRAY:case l.VARBIT_ARRAY:case l.BIT_ARRAY:case l.INET_ARRAY:case l.CIDR_ARRAY:case l.XML_ARRAY:return t.TextArray;case l.DATE_ARRAY:return t.DateArray;case l.TIME_ARRAY:return t.TimeArray;case l.TIMESTAMP_ARRAY:return t.DateTimeArray;case l.TIMESTAMPTZ_ARRAY:return t.DateTimeArray;case l.JSON_ARRAY:case l.JSONB_ARRAY:return t.JsonArray;case l.BYTEA_ARRAY:return t.BytesArray;case l.UUID_ARRAY:return t.UuidArray;case l.INT8_ARRAY:case l.OID_ARRAY:return t.Int64Array;default:if(A>=JM)return t.Text;throw new HM(A)}}function lA(A){return(I)=>nD(I,A)}function KM(A){return A}function FM(A){return A}function RM(A){return`${A.replace(" ","T")}+00:00`}function SM(A){return A.replace(" ","T").replace(/[+-]\d{2}(:\d{2})?$/,"+00:00")}function MM(A){return A}function wT(A){return A.replace(/[+-]\d{2}(:\d{2})?$/,"")}function yM(A){return A.slice(1)}function NT(A){return A}function DC(A){return A}var kT=aM(m.BYTEA),KT=aM(l.BYTEA_ARRAY);function FT(A){return kT(A)}function hM(A){return A}var $D={[m.NUMERIC]:KM,[l.NUMERIC_ARRAY]:lA(KM),[m.TIME]:MM,[l.TIME_ARRAY]:lA(MM),[m.TIMETZ]:wT,[m.DATE]:FM,[l.DATE_ARRAY]:lA(FM),[m.TIMESTAMP]:RM,[l.TIMESTAMP_ARRAY]:lA(RM),[m.TIMESTAMPTZ]:SM,[l.TIMESTAMPTZ_ARRAY]:lA(SM),[m.MONEY]:yM,[l.MONEY_ARRAY]:lA(yM),[m.JSON]:DC,[l.JSON_ARRAY]:lA(DC),[m.JSONB]:DC,[l.JSONB_ARRAY]:lA(DC),[m.BYTEA]:FT,[l.BYTEA_ARRAY]:KT,[l.BIT_ARRAY]:lA(hM),[l.VARBIT_ARRAY]:lA(hM),[l.XML_ARRAY]:lA(NT)};function cM(A,I){if(A===null)return null;if(Array.isArray(A)&&I.arity==="list")return A.map((g)=>cM(g,I));if(typeof A==="string"&&I.scalarType==="datetime")A=new Date(A);if(A instanceof Date)switch(I.dbType){case"TIME":case"TIMETZ":return MT(A);case"DATE":return ST(A);default:return RT(A)}if(typeof A==="string"&&I.scalarType==="bytes")return Buffer.from(A,"base64");if(ArrayBuffer.isView(A))return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);return A}function RT(A){let I=(B,Q=2)=>String(B).padStart(Q,"0"),g=A.getUTCMilliseconds();return I(A.getUTCFullYear(),4)+"-"+I(A.getUTCMonth()+1)+"-"+I(A.getUTCDate())+" "+I(A.getUTCHours())+":"+I(A.getUTCMinutes())+":"+I(A.getUTCSeconds())+(g?"."+String(g).padStart(3,"0"):"")}function ST(A){let I=(g,B=2)=>String(g).padStart(B,"0");return I(A.getUTCFullYear(),4)+"-"+I(A.getUTCMonth()+1)+"-"+I(A.getUTCDate())}function MT(A){let I=(B,Q=2)=>String(B).padStart(Q,"0"),g=A.getUTCMilliseconds();return I(A.getUTCHours())+":"+I(A.getUTCMinutes())+":"+I(A.getUTCSeconds())+(g?"."+String(g).padStart(3,"0"):"")}var yT=new Set(["UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_CRL","UNABLE_TO_DECRYPT_CERT_SIGNATURE","UNABLE_TO_DECRYPT_CRL_SIGNATURE","UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY","CERT_SIGNATURE_FAILURE","CRL_SIGNATURE_FAILURE","CERT_NOT_YET_VALID","CERT_HAS_EXPIRED","CRL_NOT_YET_VALID","CRL_HAS_EXPIRED","ERROR_IN_CERT_NOT_BEFORE_FIELD","ERROR_IN_CERT_NOT_AFTER_FIELD","ERROR_IN_CRL_LAST_UPDATE_FIELD","ERROR_IN_CRL_NEXT_UPDATE_FIELD","DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","CERT_CHAIN_TOO_LONG","CERT_REVOKED","INVALID_CA","INVALID_PURPOSE","CERT_UNTRUSTED","CERT_REJECTED","HOSTNAME_MISMATCH","ERR_TLS_CERT_ALTNAME_FORMAT","ERR_TLS_CERT_ALTNAME_INVALID"]),hT=new Set(["ENOTFOUND","ECONNREFUSED","ECONNRESET","ETIMEDOUT"]);function UT(A){if(HT(A))return aT(A);if(cT(A))return{kind:"TlsConnectionError",reason:A.message};if(JT(A))return{originalCode:A.code,originalMessage:A.message,...YT(A)};throw A}function YT(A){switch(A.code){case"22001":return{kind:"LengthMismatch",column:A.column};case"22003":return{kind:"ValueOutOfRange",cause:A.message};case"22P02":return{kind:"InvalidInputValue",message:A.message};case"23505":{let I=A.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", ");return{kind:"UniqueConstraintViolation",constraint:I!==void 0?{fields:I}:void 0}}case"23502":{let I=A.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", ");return{kind:"NullConstraintViolation",constraint:I!==void 0?{fields:I}:void 0}}case"23503":{let I;if(A.column)I={fields:[A.column]};else if(A.constraint)I={index:A.constraint};return{kind:"ForeignKeyConstraintViolation",constraint:I}}case"3D000":return{kind:"DatabaseDoesNotExist",db:A.message.split(" ").at(1)?.split('"').at(1)};case"28000":return{kind:"DatabaseAccessDenied",db:A.message.split(",").find((I)=>I.startsWith(" database"))?.split('"').at(1)};case"28P01":return{kind:"AuthenticationFailed",user:A.message.split(" ").pop()?.split('"').at(1)};case"40001":return{kind:"TransactionWriteConflict"};case"42P01":return{kind:"TableDoesNotExist",table:A.message.split(" ").at(1)?.split('"').at(1)};case"42703":return{kind:"ColumnNotFound",column:A.message.match(/^column (.+) does not exist$/)?.at(1)?.replace(/"((?:""|[^"])*)"/g,(g,B)=>B.replaceAll('""','"'))};case"42P04":return{kind:"DatabaseAlreadyExists",db:A.message.split(" ").at(1)?.split('"').at(1)};case"53300":return{kind:"TooManyConnections",cause:A.message};default:return{kind:"postgres",code:A.code??"N/A",severity:A.severity??"N/A",message:A.message,detail:A.detail,column:A.column,hint:A.hint}}}function JT(A){return typeof A.code==="string"&&typeof A.message==="string"&&typeof A.severity==="string"&&(typeof A.detail==="string"||A.detail===void 0)&&(typeof A.column==="string"||A.column===void 0)&&(typeof A.hint==="string"||A.hint===void 0)}function aT(A){switch(A.code){case"ENOTFOUND":case"ECONNREFUSED":return{kind:"DatabaseNotReachable",host:A.address??A.hostname,port:A.port};case"ECONNRESET":return{kind:"ConnectionClosed"};case"ETIMEDOUT":return{kind:"SocketTimeout"}}}function HT(A){return typeof A.code==="string"&&typeof A.syscall==="string"&&typeof A.errno==="number"&&hT.has(A.code)}function cT(A){if(typeof A.code==="string")return yT.has(A.code);switch(A.message){case"The server does not support SSL connections":case"There was an error establishing an SSL connection":return!0}return!1}var LT=jI.types,yI=uQ("prisma:driver-adapter:pg"),LM=class{constructor(A,I){this.client=A,this.pgOptions=I}provider="postgres";adapterName=YM;async queryRaw(A){yI("[js::query_raw] %O",A);let{fields:g,rows:B}=await this.performIO(A),Q=g.map((D)=>D.name),C=[];try{C=g.map((D)=>oT(D.dataTypeID))}catch(D){if(D instanceof HM)throw new FD({kind:"UnsupportedNativeDataType",type:D.type});throw D}let E=this.pgOptions?.userDefinedTypeParser;if(E)for(let D=0;D<g.length;D++){let i=g[D];if(i.dataTypeID>=JM&&!Object.hasOwn($D,i.dataTypeID))for(let G=0;G<B.length;G++)B[G][D]=await E(i.dataTypeID,B[G][D],this)}return{columnNames:Q,columnTypes:C,rows:B}}async executeRaw(A){return yI("[js::execute_raw] %O",A),(await this.performIO(A)).rowCount??0}async performIO(A){let{sql:I,args:g}=A,B=g.map((Q,C)=>cM(Q,A.argTypes[C]));try{return await this.client.query({name:this.pgOptions?.statementNameGenerator?.(A),text:I,values:B,rowMode:"array",types:{getTypeParser:(C,E)=>{if(E==="text"&&$D[C])return $D[C];return LT.getTypeParser(C,E)}}},B)}catch(Q){this.onError(Q)}}onError(A){throw yI("Error in performIO: %O",A),new FD(UT(A))}},sT=class extends LM{constructor(A,I,g,B){super(A,g);this.options=I,this.pgOptions=g,this.cleanup=B}async commit(){yI("[js::commit]"),this.cleanup?.(),this.client.release()}async rollback(){yI("[js::rollback]"),this.cleanup?.(),this.client.release()}async createSavepoint(A){await this.executeRaw({sql:`SAVEPOINT ${A}`,args:[],argTypes:[]})}async rollbackToSavepoint(A){await this.executeRaw({sql:`ROLLBACK TO SAVEPOINT ${A}`,args:[],argTypes:[]})}async releaseSavepoint(A){await this.executeRaw({sql:`RELEASE SAVEPOINT ${A}`,args:[],argTypes:[]})}},UM=class extends LM{constructor(A,I,g){super(A);this.pgOptions=I,this.release=g}async startTransaction(A){let I={usePhantomQuery:!1},g="[js::startTransaction]";yI("%s options: %O","[js::startTransaction]",I);let B=await this.client.connect().catch((E)=>this.onError(E)),Q=(E)=>{yI(`Error from pool connection: ${E.message} %O`,E),this.pgOptions?.onConnectionError?.(E)};B.on("error",Q);let C=()=>{B.removeListener("error",Q)};try{let E=new sT(B,I,this.pgOptions,C);if(await E.executeRaw({sql:"BEGIN",args:[],argTypes:[]}),A)await E.executeRaw({sql:`SET TRANSACTION ISOLATION LEVEL ${A}`,args:[],argTypes:[]});return E}catch(E){C(),B.release(E),this.onError(E)}}async executeScript(A){let I=A.split(";").map((g)=>g.trim()).filter((g)=>g.length>0);for(let g of I)try{await this.client.query(g)}catch(B){this.onError(B)}}getConnectionInfo(){return{schemaName:this.pgOptions?.schema,supportsRelationJoins:!0}}async dispose(){return this.release?.()}underlyingDriver(){return this.client}},sM=class{constructor(A,I){if(this.options=I,A instanceof jI.Pool)this.externalPool=A,this.config=A.options;else if(typeof A==="string")this.externalPool=null,this.config={connectionString:A};else this.externalPool=null,this.config=A}provider="postgres";adapterName=YM;config;externalPool;async connect(){let A=this.externalPool??new jI.Pool(this.config),I=(g)=>{yI(`Error from idle pool client: ${g.message} %O`,g),this.options?.onPoolError?.(g)};return A.on("error",I),new UM(A,this.options,async()=>{if(this.externalPool)if(this.options?.disposeExternalPool)await this.externalPool.end(),this.externalPool=null;else this.externalPool.removeListener("error",I);else await A.end()})}async connectToShadowDb(){let A=await this.connect(),I=`prisma_migrate_shadow_db_${globalThis.crypto.randomUUID()}`;await A.executeScript(`CREATE DATABASE "${I}"`);let g=new jI.Pool({...this.config,database:I});return new UM(g,void 0,async()=>{await A.executeScript(`DROP DATABASE "${I}"`),await g.end()})}};var qM;if(!Bun.env.FLUX_DATABASE_URL)throw Error("FLUX_DATABASE_URL is not set in environment variables");var qT=Bun.env.FLUX_DATABASE_URL,_D=()=>{return qM??=new dF({adapter:new sM({connectionString:qT})}),qM};class iC{_redisConnection;processAddress=II();constructor(A){this._redisConnection=A}async kickClient(A,I){let[g,B,Q]=cA(I),C=`${g}/${B}`;if(await this._redisConnection.publishCustom(`kick-client-${A}`,C,Q)===0)if(A==="agent")await this._redisConnection.networkAgentRedisService.unregisterAgentOrThrow(Q);else if(A==="authority")await this._redisConnection.networkAuthoritySet.unregisterAuthority(Q);else throw Error(`Unknown client type: ${A}`)}onKickClient(A,I){this._redisConnection.subscribeToCustom(`kick-client-${A}`,this.processAddress,(g)=>I(g))}}var pM,eD=()=>{return pM??=new Ai(new GE(_D()),wA()),pM};class Ai{_networkTokenRepository;_redisConnection;constructor(A,I){this._networkTokenRepository=A;this._redisConnection=I}async createToken(A,I){let g=await this._networkTokenRepository.createToken(A,I);return this.publishAndStoreChangedTokens(A),g}async readByNetworkId(A){return this._networkTokenRepository.readByNetworkId(A)}async readTokensByNetworkId(A){let I=await this._redisConnection.getNetworkTokenValues(A);if(I.length>0)return I;let g=await this._networkTokenRepository.readTokensByNetworkId(A);return await this._redisConnection.setNetworkTokenValues(A,g),g}async countByNetworkId(A){return this._networkTokenRepository.countByNetworkId(A)}async findById(A){return this._networkTokenRepository.findById(A)}async rotateOutAllExcept(A,I,g){await this._networkTokenRepository.rotateOutAllExcept(A,I,g),this.publishAndStoreChangedTokens(A)}async deleteNetworkToken(A,I){await this._networkTokenRepository.deleteNetworkToken(A,I),this.publishAndStoreChangedTokens(A)}async publishAndStoreChangedTokens(A){let g=(await this.readByNetworkId(A)).map((B)=>B.token);this._redisConnection.publishNetworkTokenEvent(A,g).catch((B)=>console.error("Failed to publish token event to Redis:",B)),this._redisConnection.setNetworkTokenValues(A,g).catch((B)=>console.error("Failed to persist token values to Redis Set:",B))}}var ZM,xT=()=>{return ZM??=new CQ(wA(),eD()),ZM},TM=async(A,I)=>{let g=WM.parse(A.url,!0),B=g.query.networkId;try{Mg(B??"")}catch(i){return new Response(i instanceof Error?i.message:"Unknown error validating network ID",{status:500})}let Q=B,C=await A.text();if(u.log(`Received authority token for network: ${Q}`,"authorize"),I?.has(Q)&&I.get(Q)===C)u.log(`Successfully authorized authority for network ${Q} using hardcoded credentials`,"authorize");else if(!await xT().isValidToken(Q,C))return new Response("Invalid network access token",{status:401,headers:{"Access-Control-Allow-Origin":"*"}});let E=g.query.machineUID,D;if(E&&yg(E))D=E;return new Response(gQ({networkId:Q,isAuthority:!0,machineUID:D}),{headers:{"Content-Type":"text/plain","Access-Control-Allow-Origin":"*"}})};import*as OM from"url";var VM=async(A,I,g)=>{let B=OM.parse(A.url,!0),Q=B.query.networkId;try{Mg(Q??"")}catch(i){return new Response(i instanceof Error?i.message:"Unknown error validating network ID",{status:500})}let C=Q;if(!C)return new Response("Missing networkId",{status:500,headers:{"Access-Control-Allow-Origin":"*"}});let E=await A.text(),D=A.headers.get("x-flux-content-type")?.toLowerCase();try{let i,G=await KC(async()=>{i=await I.resolveAuthorityAddressOrThrow(C);let o=await g.call(i,"authorizeAgentConnection",`${D==="application/json"?"json":"text"}:${E}`);if(typeof o!=="string")throw Error("Network authority returned an invalid claim. Expected a string token.");return o},(o)=>{if(o instanceof dI||o instanceof AI)return I.removeUnresponsiveClient(C,i),!0;return!1},{retries:10,delayMs:50,onRetry:(o,w)=>{console.log(`[authorizeAgentConnection] Retrying... (attempt: ${o} of ${w})`)}});if(G){let o=B.query.requestedAgentUid;if(o)try{NC(o)}catch(F){return new Response(F instanceof Error?F.message:"The requested agent ID is not valid",{status:500})}A.cookies.set("claim",G,{maxAge:604800,httpOnly:!0,secure:!0,path:"/"});let N=B.query.machineUID,k;if(N&&yg(N))k=N;return new Response(gQ({networkId:C,claim:G,agentUID:o,machineUID:k}),{headers:{"Content-Type":"text/plain","Access-Control-Allow-Origin":"*"}})}}catch(i){if(console.error("Error authorizing:",i instanceof Error?i.message:i),i instanceof UI)return new Response(i.message,{status:401,headers:{"Access-Control-Allow-Origin":"*"}})}return new Response("Unauthorized",{status:500,headers:{"Access-Control-Allow-Origin":"*"}})};import*as tM from"url";class Ii{redisConnection;bunServer;processAddress;constructor(A,I,g){this.redisConnection=A;this.bunServer=I;this.processAddress=g;this.subscribeWebsocketChannelEvent()}subscribeWebsocketChannelEvent(){this.redisConnection.subscribeWebsocketChannelEvent((A,I,g)=>{if(this.processAddress===I)return;this.bunServer.publish(g,A)})}async publish(A,I,g){(g??this.bunServer).publish(A,I),await this.redisConnection.publishWebsocketChannelEvent(this.processAddress,A,I)}}var jM=(A)=>{if(A.length<2)return"same-process";let I=new Set(A.map(Sg));if(I.size===1)return"same-process";if(new Set([...I].map(([B])=>B)).size===1)return"same-machine";return"distributed"};class GC{_redisConnection;constructor(A){this._redisConnection=A}async createNetworkChannelIfNotExist(A,I){let g=await this._redisConnection.hash.sadd(`networks/${A}/channels`,I);if(g===1)await this._redisConnection.hash.hset(`networks/${A}/channels/${I}`,{createdAt:new Date().toISOString(),memberDistribution:"same-process",usage:"0"});return g===1}async readNetworkChannels(A){let I=await this.readNetworkChannelNames(A),g=[];for(let B of I){let[Q,C,E,D]=await this._redisConnection.hash.hmget(`networks/${A}/channels/${B}`,["createdAt","memberDistribution","members","usage"]);if(Q&&C&&D)g.push({channelName:B,memberDistribution:C,members:Number.parseInt(E??"0",10),bytes:Number.parseInt(D||"0",10),createdAt:new Date(Q)})}return g}async readNetworkChannelNames(A){let I=await this._redisConnection.hash.smembers(`networks/${A}/channels`);try{if(!I.every(YI))throw Error("This will never happen")}catch(g){throw Error(`Caught error while reading networks (${A}) from Redis: ${g instanceof Error?g.message:"unknown error"}`)}return I}async readNetworkChannelCount(A){return{count:await this._redisConnection.hash.scard(`networks/${A}/channels`)??0,date:new Date}}async readNetworkMemberCount(A,I){let[g]=await this._redisConnection.hash.hmget(`networks/${A}/channels/${I}`,["members"]);if(!g)return 0;return Number.parseInt(g,10)}async readNetworkChannelMemberAddresses(A,I){return await this._redisConnection.hash.smembers(`networks/${A}/channels/${I}/members`)}async deleteNetworkChannel(A,I){await this._redisConnection.hash.srem(`networks/${A}/channels`,I),await this._redisConnection.hash.del(`networks/${A}/channels/${I}`),await this._redisConnection.hash.del(`networks/${A}/channels/${I}/members`)}async joinNetworkChannel(A,I,g){let B=await this._redisConnection.hash.sadd(`networks/${A}/channels/${I}/members`,g);if(await this.checkAndUpdateChannelMemberDistribution(A,I),B===0)return u.warn(`Unexpected existing member on network / channel "${A}"/"${I}". The member appears to already be part of the channel and cannot be added again.`,"network-channel"),Promise.reject(Error(`Client ${g} is already a member of channel "${I}" on network "${A}".`));return await this._redisConnection.hash.hincrby(`networks/${A}/channels/${I}`,"members",1)}async leaveNetworkChannel(A,I,g){if(await this._redisConnection.hash.srem(`networks/${A}/channels/${I}/members`,g)===0)return u.warn(`Unexpected non-existing member on network / channel "${A}"/"${I}". The client does not appear to be a member of the channel and can not be removed.`,"network-channel"),Promise.reject(Error(`Client ${g} is not a member of channel "${I}" on network "${A}".`));let Q=await this._redisConnection.hash.hincrby(`networks/${A}/channels/${I}`,"members",-1);if(Q===0)u.log(`Network channel "${I}" has no more members. Deleting...`,"network-channel"),await this.deleteNetworkChannel(A,I);else await this.checkAndUpdateChannelMemberDistribution(A,I);return Q}async leaveAllNetworkChannels(A,I,g){return Promise.all([...g].map(async(B)=>{await this.leaveNetworkChannel(A,B,I)})).then(()=>{return})}async incrementUsage(A,I,g){return await this._redisConnection.hash.hincrby(`networks/${A}/channels/${I}`,"usage",g)}async checkAndUpdateChannelMemberDistribution(A,I){let g=await this.readNetworkChannelMemberAddresses(A,I),B=jM(g);await this._redisConnection.hash.hset(`networks/${A}/channels/${I}`,{memberDistribution:B})}}var dM={free:25,medium:500,high:1e5},TX=dM.high,gi=(A)=>{if(typeof A!=="string")return;let I=A.toLowerCase();if(I==="lowest"||I==="free")return"free";if(I==="medium"||I==="high")return I;return},pT=(A)=>{return gi(A)??"free"},ZT=(A)=>dM[pT(A)],bM=(A)=>{if(typeof A!=="string"||A==="")return;let I=gi(A);if(I)return I;let g=(Q)=>{if(!Q||typeof Q!=="object")return;let C=Q,E=C.user,D=E&&typeof E==="object"?E:void 0,i=[C.subscriptionType,C.subscription,C.tier,C.plan,D?.subscriptionType,D?.subscription,D?.tier,D?.plan];for(let G of i){if(typeof G!=="string")continue;let o=gi(G);if(o)return o}return};try{let Q=JSON.parse(A),C=g(Q);if(C)return C}catch{}let B=A.split(".");if(B.length<2)return;try{let C=Buffer.from(B[1],"base64url").toString("utf8"),E=JSON.parse(C);return g(E)}catch{return}},WT=(A,I)=>A<ZT(I);class Bi{_globalChannelPubsub;channelUsageCount=new Map;redisConnection=wA();networkChannelHash=new GC(this.redisConnection);constructor(A){this._globalChannelPubsub=A;setInterval(()=>{for(let[I,g]of this.channelUsageCount){if(g.usage>0)this.networkChannelHash.incrementUsage(g.networkId,I,g.usage);this.channelUsageCount.delete(I)}},5000)}async canHaveMembers(A,I,g){let B=await this.networkChannelHash.readNetworkMemberCount(A,I);return Promise.resolve(WT(B,g))}joinNetworkChannel(A,I,g){this.createNetworkChannelIfNotExist(A,I),this.networkChannelHash.joinNetworkChannel(A,I,g)}async leaveNetworkChannel(A,I,g){if(await this.networkChannelHash.leaveNetworkChannel(A,I,g)===0)this._globalChannelPubsub.publish(`~/networks/${A}/channel-empty`,`${ai}:${I}`)}async leaveAllNetworkChannels(A,I,g){return await this.networkChannelHash.leaveAllNetworkChannels(A,I,g)}async createNetworkChannelIfNotExist(A,I){if(await this.networkChannelHash.createNetworkChannelIfNotExist(A,I))this._globalChannelPubsub.publish(`~/networks/${A}/channel-created`,`${Ji}:${I}`)}increaseUsageCount(A,I,g){let B=this.channelUsageCount.get(I);this.channelUsageCount.set(I,B?{...B,usage:B.usage+g}:{networkId:A,usage:g})}}class Qi{_clientMap;_networkAgentRedisCache;constructor(A,I){this._clientMap=A;this._networkAgentRedisCache=I}async kickAgent(A){let I=this._clientMap.get(A);if(I)I.close(1002,"Kicked by process"),this._clientMap.delete(A);else u.error("We expected to find a client, but didn't. Ignoring.","agent-manager");await this._networkAgentRedisCache.unregister(A,I?.data.networkId)}}class Ci{_redisConnection;_clientMap;_networkAgentRedisCache;machineAddress=jA();processAddress=VA();_globalClientManager;_localAgentManager;constructor(A,I,g){this._redisConnection=A;this._clientMap=I;this._networkAgentRedisCache=g;this._globalClientManager=new iC(this._redisConnection),this._localAgentManager=new Qi(this._clientMap,this._networkAgentRedisCache),this._globalClientManager.onKickClient("agent",this._localAgentManager.kickAgent.bind(this._localAgentManager))}kick(A){let[I,g,B]=cA(A);if(I!==this.machineAddress){this._globalClientManager.kickClient("agent",A);return}if(g!==this.processAddress){this._globalClientManager.kickClient("agent",A);return}this._localAgentManager.kickAgent(B)}}import*as PM from"url";var zM=["Steel yourself, traveler. Strange currents stir beyond these gates.","Every signal leaves a trail. Mind which ones you choose to follow.","I have watched green recruits chase glory into the dark and never return.","The mesh is restless today. Even the quiet channels feel like a warning.","Keep your wits sharp and your blade sharper. This road favors neither fools nor dreamers."];class Ei{randomNumberGenerator;constructor(A=Math.random){this.randomNumberGenerator=A}resolveInteraction(A){let I=A>5;return{interactionCount:A,isFinalResponse:I,message:this.resolveMessage(I),remainingRandomResponses:Math.max(5-A,0)}}resolveMessage(A){if(A)return"I have shared all the wisdom I can spare. The next step is yours alone, hero.";return zM[Math.floor(this.randomNumberGenerator()*zM.length)]}}class Di{interactionCountByUserAndNpc=new Map;incrementInteractionCount(A,I){let g=this.buildInteractionKey(A,I),B=(this.interactionCountByUserAndNpc.get(g)??0)+1;return this.interactionCountByUserAndNpc.set(g,B),B}buildInteractionKey(A,I){return`${A}:${I}`}}class ii{interactionTracker;dialogueScript;constructor(A=Math.random){this.interactionTracker=new Di,this.dialogueScript=new Ei(A)}interact(A,I){let g=this.interactionTracker.incrementInteractionCount(A,I);return this.dialogueScript.resolveInteraction(g)}}var TT="mesh-guide",XM=(A)=>{let I=A?.split(",")[0]?.trim();return I&&I.length>0?I:void 0},fM=(A)=>{if(typeof A!=="string")return;let I=A.trim();return I.length>0?I:void 0},OT=new ii(Math.random),VT=(A,I)=>fM(I.query.playerId)??XM(A.headers.get("x-forwarded-for"))??XM(A.headers.get("x-real-ip"))??"anonymous",lM=(A)=>{let I=PM.parse(A.url,!0),g=fM(I.query.npcId)??TT,B=VT(A,I),Q=OT.interact(B,g);return new Response(Q.message,{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};u.configure({allowScopes:"*"});var FB=new Map,Gi=VA(),oi=jA(),wi=II(),Ni=new Map;class xM{optionsOrPort;redisConnection=wA();onReadyListeners=new Set;bunServer;globalChannelPubsub;channelManager;agentManager;constructor(A){this.optionsOrPort=A;let I=typeof this.optionsOrPort==="number"?this.optionsOrPort:this.optionsOrPort?.port??5100,g=new MC,B=new yC,Q=new SC((D,i)=>{let G=FB.get(D);if(!G)throw new dI(D,wi);G.send(i)}),C=new EE,E=new QE(Q,C);this.agentManager=new Ci(this.redisConnection,FB,B),this.bunServer=mM.serve({port:I,idleTimeout:0,routes:{"/auth/network-authority":{OPTIONS:QQ,POST:(D)=>TM(D,A instanceof Object?A.hardcodedNetworkCredentials:void 0)},"/auth/network-client":{OPTIONS:QQ,POST:(D)=>VM(D,g,E)},"/*":{OPTIONS:QQ,GET:lM}},async fetch(D,i){let G=tM.parse(D.url,!0).query.token;try{let o=KN(G),w=XI();if(!i.upgrade(D,{data:{ip:i.requestIP(D),id:w,networkId:o.networkId,isAuthority:o.isAuthority,address:`${oi}/${Gi}/${w}`,claim:o.claim,uid:o.agentUID,machineUID:o.machineUID,channelNames:new Set,throughput:{bytes:0,packets:0}}}))return new Response("Request upgrade failed",{status:500,headers:{"Access-Control-Allow-Origin":"*"}})}catch{return console.error("Token verification failed"),new Response("Token verification failed",{status:500})}return new Response("Upgrade failed",{status:500})},websocket:{data:{},perMessageDeflate:!0,maxPayloadLength:1048576,async open(D){if(FB.set(D.data.id,D),D.data.isAuthority)u.log(`\uD83D\uDC6E Authority connected to network '${FC(D.data.networkId)}' at address: '${D.data.address}'`,"ws-connection"),await g.register(D.data.networkId,D.data.id,D.data.machineUID);else u.log(`\uD83E\uDD35 Agent connected: ${D.data.id}`,"ws-connection"),await B.registerAgent(D.data.networkId,D.data.id,D.data.ip,D.data.address,D.data.throughput,D.data.uid,D.data.machineUID),D.data.rtcClient=new DE(wi,D.send.bind(D),(i)=>{let G=Ni.get(D.data.id);Ni.set(D.data.id,G===void 0?new Set([i]):G.add(i))});D.send("isReady")},message:async(D,i)=>{if(typeof i!=="string")throw Error("Message is not a string");let G=new TextEncoder().encode(i).length;switch(D.data.throughput.bytes=D.data.throughput.bytes+G,D.data.throughput.packets++,i.split(":")[0]){case ci:{if(!D.data.isAuthority){D.close(4000,"Bad behavior");return}let w=i.substring(i.indexOf(":")+1);if(!kC(w)){D.send(`${MA}:Invalid agent ID`);return}this.agentManager.kick(w);break}case Hi:{if(!D.data.isAuthority){D.close(4000,"Bad behavior");return}D.subscribe(`~/networks/${D.data.networkId}/channel-created`),D.subscribe(`~/networks/${D.data.networkId}/channel-empty`);break}case Si:{let w=i.indexOf(":"),N=i.indexOf(":",w+1),k=i.slice(w+1,N),F=i.slice(N+1);if(YI(k)){if(D.data.channelNames.has(k))this.globalChannelPubsub.publish(`networks/${D.data.networkId}/channels/${k}`,`${Mi}:${D.data.id}:${k}:${F}`,D),this.channelManager.increaseUsageCount(D.data.networkId,k,G)}break}case yi:{let w=i.substring(i.indexOf(":")+1);try{YI(w)}catch{D.send(`${MA}:Not authorized`);return}let N=w;if(D.data.channelNames.has(N)){D.send(`${MA}:Agent is already subscribed to channnel`);return}let k;try{k=await g.resolveAuthorityAddressOrThrow(D.data.networkId)}catch(F){u.error(`Failed to resolve network authority address for networkId '${D.data.networkId}': ${F instanceof Error?F.message:"Unknown error"}`,"not-authorized"),D.send(`${MA}:${wC}`);return}try{if(!await this.channelManager.canHaveMembers(D.data.networkId,N,bM(D.data.claim))){D.send(`${MA}:Channel limit is reached`);return}try{if(await E.call(k,"authorizeChannelAccess",N,D.data.claim))D.subscribe(`networks/${D.data.networkId}/channels/${N}`),D.send(`${hi}:${N}`),D.data.channelNames.add(N),u.log(`\uD83C\uDF89 Client was authorized on channel name '${N}'`,"authorized"),this.channelManager.joinNetworkChannel(D.data.networkId,N,D.data.address);else console.error(`Client was not authorized to connect to channel name '${N}'`),D.send(`${MA}:Not authorized`)}catch(R){if(R instanceof Error){D.send(`${MA}:${R.message}`);break}console.error("Unknown error",R),D.send(`${MA}:Unknown error`)}}catch(F){let R=F instanceof Error?F.message:"Unknown error";u.error(`Failed to authorize channel access for networkId '${D.data.networkId}' and channel '${N}': ${R}`,"not-authorized"),D.send(`${MA}:${R}`);return}break}case Ui:{let w=i.substring(i.indexOf(":")+1);try{YI(w)}catch{D.send(`${MA}:Not authorized`);return}let N=w;if(!D.data.channelNames.has(N)){D.send(`${MA}:Cannot unsubscribe. Agent is not connected to the channnel`);return}try{D.unsubscribe(`networks/${D.data.networkId}/channels/${N}`),D.send(`${Yi}:${N}`),D.data.channelNames.delete(N),console.log(`\uD83D\uDEAA Client left channel name '${N}'`),this.channelManager.leaveNetworkChannel(D.data.networkId,N,D.data.address)}catch(k){if(k instanceof Error){D.send(`${MA}:${k.message}`);break}console.error("Unknown error",k),D.send(`${MA}:Unknown error`)}break}case Fi:{let w=JSON.parse(i.substring(i.indexOf(":")+1));u.log("\uD83D\uDCE1 Received RPC response.","rpc"),C.message(w.rpcProcessAddress,i);let N=Ni.get(D.data.id);for(let k of N??[])k(w);break}case Ri:{let w=D.data.rtcClient;if(!w)console.warn("Initiating client could not be resolved");let N=i.substring(i.indexOf(":")+1),k=await B.resolveClientAddressByUid(D.data.networkId,N),F=new iE(k,Q,C);if(!F)console.warn("Remote client could not be resolved");if(w&&F)FN(w,F);else{D.send(`${MA}:RPC clients could not be resolved`);return}break}}},close:async(D,i)=>{if(FB.delete(D.data.id),D.data.isAuthority)u.log(`\uD83D\uDED1 Authority socket disconnecting ${i} ${D.data.id}`,"ws-disconnect"),g.unregister(D.data.id,D.data.networkId);else{u.log(`\uD83D\uDED1\uD83E\uDD35 Agent socket disconnecting ${i} ${D.data.id}`,"ws-disconnect");for(let G of D.data.channelNames??[])D.unsubscribe(`networks/${D.data.networkId}/channels/${G}`);if(D.data.channelNames.size>0)await this.channelManager.leaveAllNetworkChannels(D.data.networkId,D.data.address,D.data.channelNames).catch(()=>{u.error("Caught error while leaving network channels.","ws-disconnect")});await B.unregister(D.data.id,D.data.networkId,D.data.uid?{clientOwnUId:D.data.uid,networkId:D.data.networkId}:void 0).catch(()=>{u.error("Caught error while unregistering agent.","ws-disconnect")})}},drain(D){console.log("drain")}}}),this.globalChannelPubsub=new Ii(this.redisConnection,this.bunServer,wi),this.channelManager=new Bi(this.globalChannelPubsub),setTimeout(()=>{console.log(`\uD83D\uDE80 Flux mesh server running on localhost:${I}`),setInterval(()=>{this.redisConnection.setConnected(`${oi}/${Gi}`)},3000);for(let D of this.onReadyListeners)D()},50)}onReady(A){this.onReadyListeners.add(A)}async stop(){FB.clear(),await this.bunServer.stop(!0),await this.redisConnection.setDisconnected(`${oi}/${Gi}`),await this.redisConnection.disconnect()}}export{xM as FluxMeshServer};