prisma 6.18.0-dev.20 → 6.18.0-dev.21

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.
@@ -5,7 +5,7 @@ import * as __banner_node_url from "node:url";
5
5
  const __filename = __banner_node_url.fileURLToPath(import.meta.url);
6
6
  globalThis['__dirname'] = __banner_node_path.dirname(__filename);
7
7
  const require = __banner_node_module.createRequire(import.meta.url);
8
- var mu=Object.create;var ci=Object.defineProperty;var fu=Object.getOwnPropertyDescriptor;var gu=Object.getOwnPropertyNames;var yu=Object.getPrototypeOf,hu=Object.prototype.hasOwnProperty;var Jt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Go=(e,t)=>()=>(e&&(t=e(e=0)),t);var z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Wt=(e,t)=>{for(var r in t)ci(e,r,{get:t[r],enumerable:!0})},wu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of gu(t))!hu.call(e,i)&&i!==r&&ci(e,i,{get:()=>t[i],enumerable:!(n=fu(t,i))||n.enumerable});return e};var Ce=(e,t,r)=>(r=e!=null?mu(yu(e)):{},wu(t||!e||!e.__esModule?ci(r,"default",{value:e,enumerable:!0}):r,e));var ls=z((Iy,qu)=>{qu.exports={name:"@prisma/internals",version:"6.18.0-dev.20",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek <suchanek@prisma.io>",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.18.0-7.d3fc122f88ca3ce86f67a797debfb179a39ccf48","@prisma/schema-engine-wasm":"6.18.0-7.d3fc122f88ca3ce86f67a797debfb179a39ccf48","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var mi=z((Vy,Qu)=>{Qu.exports={name:"@prisma/engines-version",version:"6.18.0-7.d3fc122f88ca3ce86f67a797debfb179a39ccf48",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek <suchanek@prisma.io>",prisma:{enginesVersion:"d3fc122f88ca3ce86f67a797debfb179a39ccf48"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var cs=z(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.enginesVersion=void 0;Yr.enginesVersion=mi().prisma.enginesVersion});var ps=z((Uy,us)=>{"use strict";us.exports=e=>{let t=e.match(/^[ \t]*(?=\S)/gm);return t?t.reduce((r,n)=>Math.min(r,n.length),1/0):0}});var gs=z((Qy,fs)=>{"use strict";fs.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var hs=z((Zy,zu)=>{zu.exports={name:"dotenv",version:"16.5.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Ps=z((Xy,ke)=>{"use strict";var Ei=Jt("node:fs"),xi=Jt("node:path"),Yu=Jt("node:os"),Zu=Jt("node:crypto"),Xu=hs(),Es=Xu.version,ep=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function tp(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,`
8
+ var mu=Object.create;var ci=Object.defineProperty;var fu=Object.getOwnPropertyDescriptor;var gu=Object.getOwnPropertyNames;var yu=Object.getPrototypeOf,hu=Object.prototype.hasOwnProperty;var Jt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Go=(e,t)=>()=>(e&&(t=e(e=0)),t);var z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Wt=(e,t)=>{for(var r in t)ci(e,r,{get:t[r],enumerable:!0})},wu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of gu(t))!hu.call(e,i)&&i!==r&&ci(e,i,{get:()=>t[i],enumerable:!(n=fu(t,i))||n.enumerable});return e};var Ce=(e,t,r)=>(r=e!=null?mu(yu(e)):{},wu(t||!e||!e.__esModule?ci(r,"default",{value:e,enumerable:!0}):r,e));var ls=z((Iy,qu)=>{qu.exports={name:"@prisma/internals",version:"6.18.0-dev.21",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek <suchanek@prisma.io>",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.18.0-7.d3fc122f88ca3ce86f67a797debfb179a39ccf48","@prisma/schema-engine-wasm":"6.18.0-7.d3fc122f88ca3ce86f67a797debfb179a39ccf48","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var mi=z((Vy,Qu)=>{Qu.exports={name:"@prisma/engines-version",version:"6.18.0-7.d3fc122f88ca3ce86f67a797debfb179a39ccf48",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek <suchanek@prisma.io>",prisma:{enginesVersion:"d3fc122f88ca3ce86f67a797debfb179a39ccf48"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var cs=z(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.enginesVersion=void 0;Yr.enginesVersion=mi().prisma.enginesVersion});var ps=z((Uy,us)=>{"use strict";us.exports=e=>{let t=e.match(/^[ \t]*(?=\S)/gm);return t?t.reduce((r,n)=>Math.min(r,n.length),1/0):0}});var gs=z((Qy,fs)=>{"use strict";fs.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var hs=z((Zy,zu)=>{zu.exports={name:"dotenv",version:"16.5.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Ps=z((Xy,ke)=>{"use strict";var Ei=Jt("node:fs"),xi=Jt("node:path"),Yu=Jt("node:os"),Zu=Jt("node:crypto"),Xu=hs(),Es=Xu.version,ep=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function tp(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,`
9
9
  `);let n;for(;(n=ep.exec(r))!=null;){let i=n[1],o=n[2]||"";o=o.trim();let s=o[0];o=o.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),s==='"'&&(o=o.replace(/\\n/g,`
10
10
  `),o=o.replace(/\\r/g,"\r")),t[i]=o}return t}function rp(e){let t=bs(e),r=j.configDotenv({path:t});if(!r.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=xs(e).split(","),i=n.length,o;for(let s=0;s<i;s++)try{let a=n[s].trim(),l=ip(r,a);o=j.decrypt(l.ciphertext,l.key);break}catch(a){if(s+1>=i)throw a}return j.parse(o)}function np(e){console.log(`[dotenv@${Es}][WARN] ${e}`)}function tr(e){console.log(`[dotenv@${Es}][DEBUG] ${e}`)}function xs(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function ip(e,t){let r;try{r=new URL(t)}catch(a){if(a.code==="ERR_INVALID_URL"){let l=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw l.code="INVALID_DOTENV_KEY",l}throw a}let n=r.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let i=r.searchParams.get("environment");if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let o=`DOTENV_VAULT_${i.toUpperCase()}`,s=e.parsed[o];if(!s){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${o} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:s,key:n}}function bs(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)Ei.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=xi.resolve(process.cwd(),".env.vault");return Ei.existsSync(t)?t:null}function ws(e){return e[0]==="~"?xi.join(Yu.homedir(),e.slice(1)):e}function op(e){!!(e&&e.debug)&&tr("Loading env from encrypted .env.vault");let r=j._parseVault(e),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),j.populate(n,r,e),{parsed:r}}function sp(e){let t=xi.resolve(process.cwd(),".env"),r="utf8",n=!!(e&&e.debug);e&&e.encoding?r=e.encoding:n&&tr("No encoding is specified. UTF-8 is used by default");let i=[t];if(e&&e.path)if(!Array.isArray(e.path))i=[ws(e.path)];else{i=[];for(let l of e.path)i.push(ws(l))}let o,s={};for(let l of i)try{let c=j.parse(Ei.readFileSync(l,{encoding:r}));j.populate(s,c,e)}catch(c){n&&tr(`Failed to load ${l} ${c.message}`),o=c}let a=process.env;return e&&e.processEnv!=null&&(a=e.processEnv),j.populate(a,s,e),o?{parsed:s,error:o}:{parsed:s}}function ap(e){if(xs(e).length===0)return j.configDotenv(e);let t=bs(e);return t?j._configVault(e):(np(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),j.configDotenv(e))}function lp(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),o=n.subarray(-16);n=n.subarray(12,-16);try{let s=Zu.createDecipheriv("aes-256-gcm",r,i);return s.setAuthTag(o),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,l=s.message==="Invalid key length",c=s.message==="Unsupported state or unable to authenticate data";if(a||l){let u=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw u.code="INVALID_DOTENV_KEY",u}else if(c){let u=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw u.code="DECRYPTION_FAILED",u}else throw s}}function cp(e,t,r={}){let n=!!(r&&r.debug),i=!!(r&&r.override);if(typeof t!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(t))Object.prototype.hasOwnProperty.call(e,o)?(i===!0&&(e[o]=t[o]),n&&tr(i===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):e[o]=t[o]}var j={configDotenv:sp,_configVault:op,_parseVault:rp,config:ap,decrypt:lp,parse:tp,populate:cp};ke.exports.configDotenv=j.configDotenv;ke.exports._configVault=j._configVault;ke.exports._parseVault=j._parseVault;ke.exports.config=j.config;ke.exports.decrypt=j.decrypt;ke.exports.parse=j.parse;ke.exports.populate=j.populate;ke.exports=j});var Cs=z((ah,tn)=>{"use strict";tn.exports=(e={})=>{let t;if(e.repoUrl)t=e.repoUrl;else if(e.user&&e.repo)t=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let r=new URL(`${t}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}r.searchParams.set(i,o)}}return r.toString()};tn.exports.default=tn.exports});var Di=z((_w,Ws)=>{"use strict";Ws.exports=function(){function e(t,r,n,i,o){return t<r||n<r?t>n?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s<i&&t.charCodeAt(s)===r.charCodeAt(s);)s++;if(i-=s,o-=s,i===0||o<3)return o;var a=0,l,c,u,p,d,m,y,g,I,A,C,w,k=[];for(l=0;l<i;l++)k.push(l+1),k.push(t.charCodeAt(s+l));for(var me=k.length-1;a<o-3;)for(I=r.charCodeAt(s+(c=a)),A=r.charCodeAt(s+(u=a+1)),C=r.charCodeAt(s+(p=a+2)),w=r.charCodeAt(s+(d=a+3)),m=a+=4,l=0;l<me;l+=2)y=k[l],g=k[l+1],c=e(y,c,u,I,g),u=e(c,u,p,A,g),p=e(u,p,d,C,g),m=e(p,d,m,w,g),k[l]=m,d=p,p=u,u=c,c=y;for(;a<o;)for(I=r.charCodeAt(s+(c=a)),m=++a,l=0;l<me;l+=2)y=k[l],k[l]=m=e(y,c,m,I,k[l+1]),c=y;return m}}()});var Xs=Go(()=>{"use strict"});var ea=Go(()=>{"use strict"});var io=z(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.anumber=no;et.abytes=yl;et.ahash=sf;et.aexists=af;et.aoutput=lf;function no(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function of(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function yl(e,...t){if(!of(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function sf(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");no(e.outputLen),no(e.blockLen)}function af(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function lf(e,t){yl(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}});var $l=z(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.add5L=v.add5H=v.add4H=v.add4L=v.add3H=v.add3L=v.rotlBL=v.rotlBH=v.rotlSL=v.rotlSH=v.rotr32L=v.rotr32H=v.rotrBL=v.rotrBH=v.rotrSL=v.rotrSH=v.shrSL=v.shrSH=v.toBig=void 0;v.fromBig=so;v.split=hl;v.add=Ol;var $n=BigInt(2**32-1),oo=BigInt(32);function so(e,t=!1){return t?{h:Number(e&$n),l:Number(e>>oo&$n)}:{h:Number(e>>oo&$n)|0,l:Number(e&$n)|0}}function hl(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=so(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var wl=(e,t)=>BigInt(e>>>0)<<oo|BigInt(t>>>0);v.toBig=wl;var El=(e,t,r)=>e>>>r;v.shrSH=El;var xl=(e,t,r)=>e<<32-r|t>>>r;v.shrSL=xl;var bl=(e,t,r)=>e>>>r|t<<32-r;v.rotrSH=bl;var Pl=(e,t,r)=>e<<32-r|t>>>r;v.rotrSL=Pl;var vl=(e,t,r)=>e<<64-r|t>>>r-32;v.rotrBH=vl;var Tl=(e,t,r)=>e>>>r-32|t<<64-r;v.rotrBL=Tl;var Al=(e,t)=>t;v.rotr32H=Al;var Cl=(e,t)=>e;v.rotr32L=Cl;var Rl=(e,t,r)=>e<<r|t>>>32-r;v.rotlSH=Rl;var Sl=(e,t,r)=>t<<r|e>>>32-r;v.rotlSL=Sl;var Il=(e,t,r)=>t<<r-32|e>>>64-r;v.rotlBH=Il;var kl=(e,t,r)=>e<<r-32|t>>>64-r;v.rotlBL=kl;function Ol(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Dl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);v.add3L=Dl;var Nl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0;v.add3H=Nl;var _l=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0);v.add4L=_l;var Ml=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0;v.add4H=Ml;var Fl=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0);v.add5L=Fl;var Ll=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;v.add5H=Ll;var cf={fromBig:so,split:hl,toBig:wl,shrSH:El,shrSL:xl,rotrSH:bl,rotrSL:Pl,rotrBH:vl,rotrBL:Tl,rotr32H:Al,rotr32L:Cl,rotlSH:Rl,rotlSL:Sl,rotlBH:Il,rotlBL:kl,add:Ol,add3L:Dl,add3H:Nl,add4L:_l,add4H:Ml,add5H:Ll,add5L:Fl};v.default=cf});var Vl=z(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.crypto=void 0;var Qe=Jt("node:crypto");Vn.crypto=Qe&&typeof Qe=="object"&&"webcrypto"in Qe?Qe.webcrypto:Qe&&typeof Qe=="object"&&"randomBytes"in Qe?Qe:void 0});var jl=z(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.Hash=S.nextTick=S.byteSwapIfBE=S.isLE=void 0;S.isBytes=uf;S.u8=pf;S.u32=df;S.createView=mf;S.rotr=ff;S.rotl=gf;S.byteSwap=co;S.byteSwap32=yf;S.bytesToHex=wf;S.hexToBytes=Ef;S.asyncLoop=bf;S.utf8ToBytes=Ul;S.toBytes=qn;S.concatBytes=Pf;S.checkOpts=vf;S.wrapConstructor=Tf;S.wrapConstructorWithOpts=Af;S.wrapXOFConstructorWithOpts=Cf;S.randomBytes=Rf;var kt=Vl(),lo=io();function uf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function pf(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function df(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function mf(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ff(e,t){return e<<32-t|e>>>t}function gf(e,t){return e<<t|e>>>32-t>>>0}S.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function co(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}S.byteSwapIfBE=S.isLE?e=>e:e=>co(e);function yf(e){for(let t=0;t<e.length;t++)e[t]=co(e[t])}var hf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function wf(e){(0,lo.abytes)(e);let t="";for(let r=0;r<e.length;r++)t+=hf[e[r]];return t}var _e={_0:48,_9:57,A:65,F:70,a:97,f:102};function ql(e){if(e>=_e._0&&e<=_e._9)return e-_e._0;if(e>=_e.A&&e<=_e.F)return e-(_e.A-10);if(e>=_e.a&&e<=_e.f)return e-(_e.a-10)}function Ef(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=ql(e.charCodeAt(o)),a=ql(e.charCodeAt(o+1));if(s===void 0||a===void 0){let l=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+l+'" at index '+o)}n[i]=s*16+a}return n}var xf=async()=>{};S.nextTick=xf;async function bf(e,t,r){let n=Date.now();for(let i=0;i<e;i++){r(i);let o=Date.now()-n;o>=0&&o<t||(await(0,S.nextTick)(),n+=o)}}function Ul(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function qn(e){return typeof e=="string"&&(e=Ul(e)),(0,lo.abytes)(e),e}function Pf(...e){let t=0;for(let n=0;n<e.length;n++){let i=e[n];(0,lo.abytes)(i),t+=i.length}let r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var ao=class{clone(){return this._cloneInto()}};S.Hash=ao;function vf(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(e,t)}function Tf(e){let t=n=>e().update(qn(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Af(e){let t=(n,i)=>e(i).update(qn(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}function Cf(e){let t=(n,i)=>e(i).update(qn(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}function Rf(e=32){if(kt.crypto&&typeof kt.crypto.getRandomValues=="function")return kt.crypto.getRandomValues(new Uint8Array(e));if(kt.crypto&&typeof kt.crypto.randomBytes=="function")return kt.crypto.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}});var zl=z(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.shake256=V.shake128=V.keccak_512=V.keccak_384=V.keccak_256=V.keccak_224=V.sha3_512=V.sha3_384=V.sha3_256=V.sha3_224=V.Keccak=void 0;V.keccakP=Wl;var Ot=io(),Tr=$l(),Me=jl(),Hl=[],Gl=[],Jl=[],Sf=BigInt(0),vr=BigInt(1),If=BigInt(2),kf=BigInt(7),Of=BigInt(256),Df=BigInt(113);for(let e=0,t=vr,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Hl.push(2*(5*n+r)),Gl.push((e+1)*(e+2)/2%64);let i=Sf;for(let o=0;o<7;o++)t=(t<<vr^(t>>kf)*Df)%Of,t&If&&(i^=vr<<(vr<<BigInt(o))-vr);Jl.push(i)}var[Nf,_f]=(0,Tr.split)(Jl,!0),Bl=(e,t,r)=>r>32?(0,Tr.rotlBH)(e,t,r):(0,Tr.rotlSH)(e,t,r),Ql=(e,t,r)=>r>32?(0,Tr.rotlBL)(e,t,r):(0,Tr.rotlSL)(e,t,r);function Wl(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let s=0;s<10;s++)r[s]=e[s]^e[s+10]^e[s+20]^e[s+30]^e[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,l=(s+2)%10,c=r[l],u=r[l+1],p=Bl(c,u,1)^r[a],d=Ql(c,u,1)^r[a+1];for(let m=0;m<50;m+=10)e[s+m]^=p,e[s+m+1]^=d}let i=e[2],o=e[3];for(let s=0;s<24;s++){let a=Gl[s],l=Bl(i,o,a),c=Ql(i,o,a),u=Hl[s];i=e[u],o=e[u+1],e[u]=l,e[u+1]=c}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=e[s+a];for(let a=0;a<10;a++)e[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Nf[n],e[1]^=_f[n]}r.fill(0)}var Ar=class e extends Me.Hash{constructor(t,r,n,i=!1,o=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,Ot.anumber)(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,Me.u32)(this.state)}keccak(){Me.isLE||(0,Me.byteSwap32)(this.state32),Wl(this.state32,this.rounds),Me.isLE||(0,Me.byteSwap32)(this.state32),this.posOut=0,this.pos=0}update(t){(0,Ot.aexists)(this);let{blockLen:r,state:n}=this;t=(0,Me.toBytes)(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(r-this.pos,i-o);for(let a=0;a<s;a++)n[this.pos++]^=t[o++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:n,blockLen:i}=this;t[n]^=r,(r&128)!==0&&n===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){(0,Ot.aexists)(this,!1),(0,Ot.abytes)(t),this.finish();let r=this.state,{blockLen:n}=this;for(let i=0,o=t.length;i<o;){this.posOut>=n&&this.keccak();let s=Math.min(n-this.posOut,o-i);t.set(r.subarray(this.posOut,this.posOut+s),i),this.posOut+=s,i+=s}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,Ot.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,Ot.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:r,suffix:n,outputLen:i,rounds:o,enableXOF:s}=this;return t||(t=new e(r,n,i,s,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=n,t.outputLen=i,t.enableXOF=s,t.destroyed=this.destroyed,t}};V.Keccak=Ar;var He=(e,t,r)=>(0,Me.wrapConstructor)(()=>new Ar(t,e,r));V.sha3_224=He(6,144,224/8);V.sha3_256=He(6,136,256/8);V.sha3_384=He(6,104,384/8);V.sha3_512=He(6,72,512/8);V.keccak_224=He(1,144,224/8);V.keccak_256=He(1,136,256/8);V.keccak_384=He(1,104,384/8);V.keccak_512=He(1,72,512/8);var Kl=(e,t,r)=>(0,Me.wrapXOFConstructorWithOpts)((n={})=>new Ar(t,e,n.dkLen===void 0?r:n.dkLen,!0));V.shake128=Kl(31,168,128/8);V.shake256=Kl(31,136,256/8)});var ic=z((jP,Ge)=>{"use strict";var{sha3_512:Mf}=zl(),Zl=24,Cr=32,uo=(e=4,t=Math.random)=>{let r="";for(;r.length<e;)r=r+Math.floor(t()*36).toString(36);return r};function Xl(e){let t=8n,r=0n;for(let n of e.values()){let i=BigInt(n);r=(r<<t)+i}return r}var ec=(e="")=>Xl(Mf(e)).toString(36).slice(1),Yl=Array.from({length:26},(e,t)=>String.fromCharCode(t+97)),Ff=e=>Yl[Math.floor(e()*Yl.length)],tc=({globalObj:e=typeof global<"u"?global:typeof window<"u"?window:{},random:t=Math.random}={})=>{let r=Object.keys(e).toString(),n=r.length?r+uo(Cr,t):uo(Cr,t);return ec(n).substring(0,Cr)},rc=e=>()=>e++,Lf=476782367,nc=({random:e=Math.random,counter:t=rc(Math.floor(e()*Lf)),length:r=Zl,fingerprint:n=tc({random:e})}={})=>function(){let o=Ff(e),s=Date.now().toString(36),a=t().toString(36),l=uo(r,e),c=`${s+l+a+n}`;return`${o+ec(c).substring(1,r)}`},$f=nc(),Vf=(e,{minLength:t=2,maxLength:r=Cr}={})=>{let n=e.length,i=/^[0-9a-z]+$/;try{if(typeof e=="string"&&n>=t&&n<=r&&i.test(e))return!0}finally{}return!1};Ge.exports.getConstants=()=>({defaultLength:Zl,bigLength:Cr});Ge.exports.init=nc;Ge.exports.createId=$f;Ge.exports.bufToBigInt=Xl;Ge.exports.createCounter=rc;Ge.exports.createFingerprint=tc;Ge.exports.isCuid=Vf});var oc=z((BP,Rr)=>{"use strict";var{createId:qf,init:Uf,getConstants:jf,isCuid:Bf}=ic();Rr.exports.createId=qf;Rr.exports.init=Uf;Rr.exports.getConstants=jf;Rr.exports.isCuid=Bf});var Ko={};Wt(Ko,{defineExtension:()=>Jo,getExtensionContext:()=>Wo});function Jo(e){return typeof e=="function"?e:t=>t.$extends(e)}function Wo(e){return e}var Yo={};Wt(Yo,{validator:()=>zo});function zo(...e){return t=>t}var Kr={};Wt(Kr,{$:()=>rs,bgBlack:()=>Su,bgBlue:()=>Du,bgCyan:()=>_u,bgGreen:()=>ku,bgMagenta:()=>Nu,bgRed:()=>Iu,bgWhite:()=>Mu,bgYellow:()=>Ou,black:()=>Tu,blue:()=>ze,bold:()=>X,cyan:()=>Se,dim:()=>We,gray:()=>zt,green:()=>Kt,grey:()=>Ru,hidden:()=>Pu,inverse:()=>bu,italic:()=>xu,magenta:()=>Au,red:()=>Re,reset:()=>Eu,strikethrough:()=>vu,underline:()=>ie,white:()=>Cu,yellow:()=>Ke});var ui,Zo,Xo,es,ts=!0;typeof process<"u"&&({FORCE_COLOR:ui,NODE_DISABLE_COLORS:Zo,NO_COLOR:Xo,TERM:es}=process.env||{},ts=process.stdout&&process.stdout.isTTY);var rs={enabled:!Zo&&Xo==null&&es!=="dumb"&&(ui!=null&&ui!=="0"||ts)};function F(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!rs.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Eu=F(0,0),X=F(1,22),We=F(2,22),xu=F(3,23),ie=F(4,24),bu=F(7,27),Pu=F(8,28),vu=F(9,29),Tu=F(30,39),Re=F(31,39),Kt=F(32,39),Ke=F(33,39),ze=F(34,39),Au=F(35,39),Se=F(36,39),Cu=F(37,39),zt=F(90,39),Ru=F(90,39),Su=F(40,49),Iu=F(41,49),ku=F(42,49),Ou=F(43,49),Du=F(44,49),Nu=F(45,49),_u=F(46,49),Mu=F(47,49);var Fu=100,ns=["green","yellow","blue","magenta","cyan","red"],Yt=[],is=Date.now(),Lu=0,pi=typeof process<"u"?process.env:{};globalThis.DEBUG??=pi.DEBUG??"";globalThis.DEBUG_COLORS??=pi.DEBUG_COLORS?pi.DEBUG_COLORS==="true":!0;var Zt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function $u(e){let t={color:ns[Lu++%ns.length],enabled:Zt.enabled(e),namespace:e,log:Zt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&Yt.push([o,...n]),Yt.length>Fu&&Yt.shift(),Zt.enabled(o)||i){let l=n.map(u=>typeof u=="string"?u:Vu(u)),c=`+${Date.now()-is}ms`;is=Date.now(),globalThis.DEBUG_COLORS?a(Kr[s](X(o)),...l,Kr[s](c)):a(o,...l,c)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var q=new Proxy($u,{get:(e,t)=>Zt[t],set:(e,t,r)=>Zt[t]=r});function Vu(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function os(e=7500){let t=Yt.map(([r,...n])=>`${r} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(`
11
11
  `);return t.length<e?t:t.slice(-e)}function ss(){Yt.length=0}var as=q;var Uu=ls(),di=Uu.version;function ut(e){let t=ju();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Bu())}function ju(){let e=process.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Bu(){return"library"}function zr(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}var x={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};var ds=Ce(ps(),1);function fi(e){let t=(0,ds.default)(e);if(t===0)return e;let r=new RegExp(`^[ \\t]{${t}}`,"gm");return e.replace(r,"")}var ms="prisma+postgres",Zr=`${ms}:`;function Xr(e){return e?.toString().startsWith(`${Zr}//`)??!1}function gi(e){if(!Xr(e))return!1;let{host:t}=new URL(e);return t.includes("localhost")||t.includes("127.0.0.1")||t.includes("[::1]")}var er={};Wt(er,{error:()=>Ju,info:()=>Gu,log:()=>Hu,query:()=>Wu,should:()=>ys,tags:()=>Xt,warn:()=>yi});var Xt={error:Re("prisma:error"),warn:Ke("prisma:warn"),info:Se("prisma:info"),query:ze("prisma:query")},ys={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function Hu(...e){console.log(...e)}function yi(e,...t){ys.warn()&&console.warn(`${Xt.warn} ${e}`,...t)}function Gu(e,...t){console.info(`${Xt.info} ${e}`,...t)}function Ju(e,...t){console.error(`${Xt.error} ${e}`,...t)}function Wu(e,...t){console.log(`${Xt.query} ${e}`,...t)}function Ie(e,t){throw new Error(t)}function hi({onlyFirst:e=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var Ku=hi();function pt(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Ku,"")}import en from"node:path";function wi(e){return en.sep===en.posix.sep?e:e.split(en.sep).join(en.posix.sep)}var vi=Ce(Ps());import bi from"node:fs";import rr from"node:path";function vs(e){let t=e.ignoreProcessEnv?{}:process.env,r=n=>n.match(/(.?\${(?:[a-zA-Z0-9_]+)?})/g)?.reduce(function(o,s){let a=/(.?)\${([a-zA-Z0-9_]+)?}/g.exec(s);if(!a)return o;let l=a[1],c,u;if(l==="\\")u=a[0],c=u.replace("\\$","$");else{let p=a[2];u=a[0].substring(l.length),c=Object.hasOwnProperty.call(t,p)?t[p]:e.parsed[p]||"",c=r(c)}return o.replace(u,c)},n)??n;for(let n in e.parsed){let i=Object.hasOwnProperty.call(t,n)?t[n]:e.parsed[n];e.parsed[n]=r(i)}for(let n in e.parsed)t[n]=e.parsed[n];return e}var Pi=as("prisma:tryLoadEnv");function nr({rootEnvPath:e,schemaEnvPath:t},r={conflictCheck:"none"}){let n=Ts(e);r.conflictCheck!=="none"&&up(n,t,r.conflictCheck);let i=null;return As(n?.path,t)||(i=Ts(t)),!n&&!i&&Pi("No Environment variables loaded"),i?.dotenvResult.error?console.error(Re(X("Schema Env Error: "))+i.dotenvResult.error):{message:[n?.message,i?.message].filter(Boolean).join(`
@@ -75,7 +75,7 @@ ${ie(p)}
75
75
  If you want the Prisma team to look into it, please open the link above \u{1F64F}
76
76
  To increase the chance of success, please post your schema and a snippet of
77
77
  how you used Prisma Client in the issue.
78
- `}function O(e,t){throw new Error(t)}function zi(e,t){return e===t||e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>zi(e[r],t[r]))}function St(e,t){let r=Object.keys(e),n=Object.keys(t);return(r.length<n.length?r:n).every(o=>{if(typeof e[o]==typeof t[o]&&typeof e[o]!="object")return e[o]===t[o];if(ae.isDecimal(e[o])||ae.isDecimal(t[o])){let s=il(e[o]),a=il(t[o]);return s&&a&&s.equals(a)}else if(e[o]instanceof Uint8Array||t[o]instanceof Uint8Array){let s=ol(e[o]),a=ol(t[o]);return s&&a&&s.equals(a)}else{if(e[o]instanceof Date||t[o]instanceof Date)return sl(e[o])?.getTime()===sl(t[o])?.getTime();if(typeof e[o]=="bigint"||typeof t[o]=="bigint")return al(e[o])===al(t[o]);if(typeof e[o]=="number"||typeof t[o]=="number")return ll(e[o])===ll(t[o])}return zi(e[o],t[o])})}function il(e){return ae.isDecimal(e)?e:typeof e=="number"||typeof e=="string"?new ae(e):void 0}function ol(e){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?Buffer.from(e,"base64"):void 0}function sl(e){return e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):void 0}function al(e){return typeof e=="bigint"?e:typeof e=="number"||typeof e=="string"?BigInt(e):void 0}function ll(e){return typeof e=="number"?e:typeof e=="string"?Number(e):void 0}function br(e){return JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():ArrayBuffer.isView(r)?Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("base64"):r)}function Qm(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function Hm(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}function Ze(e){return e===null?e:Array.isArray(e)?e.map(Ze):typeof e=="object"?Qm(e)?Gm(e):e.constructor!==null&&e.constructor.name!=="Object"?e:Hm(e,Ze):e}function Gm({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=Buffer.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new De(t);case"Json":return JSON.parse(t);default:O(t,"Unknown tagged value")}}var re=class extends Error{name="UserFacingError";code;meta;constructor(t,r,n){super(t),this.code=r,this.meta=n??{}}toQueryResponseErrorObject(){return{error:this.message,user_facing_error:{is_panic:!1,message:this.message,meta:this.meta,error_code:this.code}}}};function It(e){if(!zr(e))throw e;let t=Jm(e),r=cl(e);throw!t||!r?e:new re(r,t,{driverAdapterError:e})}function Zi(e){throw zr(e)?new re(`Raw query failed. Code: \`${e.cause.originalCode??"N/A"}\`. Message: \`${e.cause.originalMessage??cl(e)}\``,"P2010",{driverAdapterError:e}):e}function Jm(e){switch(e.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"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:O(e.cause,`Unknown error: ${e.cause}`)}}function cl(e){switch(e.cause.kind){case"AuthenticationFailed":return`Authentication failed against the database server, the provided database credentials for \`${e.cause.user??"(not available)"}\` are not valid`;case"DatabaseNotReachable":{let t=e.cause.host&&e.cause.port?`${e.cause.host}:${e.cause.port}`:e.cause.host;return`Can't reach database server${t?` at ${t}`:""}`}case"DatabaseDoesNotExist":return`Database \`${e.cause.db??"(not available)"}\` does not exist on the database server`;case"SocketTimeout":return"Operation has timed out";case"DatabaseAlreadyExists":return`Database \`${e.cause.db??"(not available)"}\` already exists on the database server`;case"DatabaseAccessDenied":return`User was denied access on the database \`${e.cause.db??"(not available)"}\``;case"TlsConnectionError":return`Error opening a TLS connection: ${e.cause.reason}`;case"ConnectionClosed":return"Server has closed the connection.";case"TransactionAlreadyClosed":return e.cause.cause;case"LengthMismatch":return`The provided value for the column is too long for the column's type. Column: ${e.cause.column??"(not available)"}`;case"UniqueConstraintViolation":return`Unique constraint failed on the ${Yi(e.cause.constraint)}`;case"ForeignKeyConstraintViolation":return`Foreign key constraint violated on the ${Yi(e.cause.constraint)}`;case"UnsupportedNativeDataType":return`Failed to deserialize column of type '${e.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 ${Yi(e.cause.constraint)}`;case"ValueOutOfRange":return`Value out of range for the type: ${e.cause.cause}`;case"TableDoesNotExist":return`The table \`${e.cause.table??"(not available)"}\` does not exist in the current database.`;case"ColumnNotFound":return`The column \`${e.cause.column??"(not available)"}\` does not exist in the current database.`;case"InvalidIsolationLevel":return`Error in connector: Conversion error: ${e.cause.level}`;case"InconsistentColumnData":return`Inconsistent column data: ${e.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 ${e.cause.id})`;case"TooManyConnections":return`Too many database connections opened: ${e.cause.cause}`;case"sqlite":case"postgres":case"mysql":case"mssql":return;default:O(e.cause,`Unknown error: ${e.cause}`)}}function Yi(e){return e&&"fields"in e?`fields: (${e.fields.map(t=>`\`${t}\``).join(", ")})`:e&&"index"in e?`constraint: \`${e.index}\``:e&&"foreignKey"in e?"foreign key":"(not available)"}function ul(e,t){let r=e.map(i=>t.keys.reduce((o,s)=>(o[s]=Ze(i[s]),o),{})),n=new Set(t.nestedSelection);return t.arguments.map(i=>{let o=r.findIndex(s=>St(s,i));if(o===-1)return t.expectNonEmpty?new re("An operation failed because it depends on one or more records that were required but not found","P2025"):null;{let s=Object.entries(e[o]).filter(([a])=>n.has(a));return Object.fromEntries(s)}})}var $=class extends Error{name="DataMapperError"};function dl(e,t,r){switch(t.type){case"affectedRows":if(typeof e!="number")throw new $(`Expected an affected rows count, got: ${typeof e} (${e})`);return{count:e};case"object":return eo(e,t.fields,r,t.skipNulls);case"field":return Xi(e,"<result>",t.fieldType,r);default:O(t,`Invalid data mapping type: '${t.type}'`)}}function eo(e,t,r,n){if(e===null)return null;if(Array.isArray(e)){let i=e;return n&&(i=i.filter(o=>o!==null)),i.map(o=>pl(o,t,r))}if(typeof e=="object")return pl(e,t,r);if(typeof e=="string"){let i;try{i=JSON.parse(e)}catch(o){throw new $("Expected an array or object, got a string that is not valid JSON",{cause:o})}return eo(i,t,r,n)}throw new $(`Expected an array or an object, got: ${typeof e}`)}function pl(e,t,r){if(typeof e!="object")throw new $(`Expected an object, but got '${typeof e}'`);let n={};for(let[i,o]of Object.entries(t))switch(o.type){case"affectedRows":throw new $(`Unexpected 'AffectedRows' node in data mapping for field '${i}'`);case"object":{if(o.serializedName!==null&&!Object.hasOwn(e,o.serializedName))throw new $(`Missing data field (Object): '${i}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`);let s=o.serializedName!==null?e[o.serializedName]:e;n[i]=eo(s,o.fields,r,o.skipNulls);break}case"field":{let s=o.dbName;if(Object.hasOwn(e,s))n[i]=Wm(e[s],s,o.fieldType,r);else throw new $(`Missing data field (Value): '${s}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`)}break;default:O(o,`DataMapper: Invalid data mapping node type: '${o.type}'`)}return n}function Wm(e,t,r,n){return e===null?r.arity==="list"?[]:null:r.arity==="list"?e.map((o,s)=>Xi(o,`${t}[${s}]`,r,n)):Xi(e,t,r,n)}function Xi(e,t,r,n){switch(r.type){case"unsupported":return e;case"string":{if(typeof e!="string")throw new $(`Expected a string in column '${t}', got ${typeof e}: ${e}`);return e}case"int":switch(typeof e){case"number":return Math.trunc(e);case"string":{let i=Math.trunc(Number(e));if(Number.isNaN(i)||!Number.isFinite(i))throw new $(`Expected an integer in column '${t}', got string: ${e}`);if(!Number.isSafeInteger(i))throw new $(`Integer value in column '${t}' is too large to represent as a JavaScript number without loss of precision, got: ${e}. Consider using BigInt type.`);return i}default:throw new $(`Expected an integer in column '${t}', got ${typeof e}: ${e}`)}case"bigint":{if(typeof e!="number"&&typeof e!="string")throw new $(`Expected a bigint in column '${t}', got ${typeof e}: ${e}`);return{$type:"BigInt",value:e}}case"float":{if(typeof e=="number")return e;if(typeof e=="string"){let i=Number(e);if(Number.isNaN(i)&&!/^[-+]?nan$/.test(e.toLowerCase()))throw new $(`Expected a float in column '${t}', got string: ${e}`);return i}throw new $(`Expected a float in column '${t}', got ${typeof e}: ${e}`)}case"boolean":{if(typeof e=="boolean")return e;if(typeof e=="number")return e===1;if(typeof e=="string"){if(e==="true"||e==="TRUE"||e==="1")return!0;if(e==="false"||e==="FALSE"||e==="0")return!1;throw new $(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}if(Array.isArray(e)){for(let i of e)if(i!==0)return!0;return!1}throw new $(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}case"decimal":if(typeof e!="number"&&typeof e!="string"&&!ae.isDecimal(e))throw new $(`Expected a decimal in column '${t}', got ${typeof e}: ${e}`);return{$type:"Decimal",value:e};case"datetime":{if(typeof e=="string")return{$type:"DateTime",value:zm(e)};if(typeof e=="number"||e instanceof Date)return{$type:"DateTime",value:e};throw new $(`Expected a date in column '${t}', got ${typeof e}: ${e}`)}case"object":return{$type:"Json",value:br(e)};case"json":return{$type:"Json",value:`${e}`};case"bytes":{switch(r.encoding){case"base64":if(typeof e!="string")throw new $(`Expected a base64-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:e};case"hex":if(typeof e!="string"||!e.startsWith("\\x"))throw new $(`Expected a hex-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:Buffer.from(e.slice(2),"hex").toString("base64")};case"array":if(Array.isArray(e))return{$type:"Bytes",value:Buffer.from(e).toString("base64")};if(e instanceof Uint8Array)return{$type:"Bytes",value:Buffer.from(e).toString("base64")};throw new $(`Expected a byte array in column '${t}', got ${typeof e}: ${e}`);default:O(r.encoding,`DataMapper: Unknown bytes encoding: ${r.encoding}`)}break}case"enum":{let i=n[r.name];if(i===void 0)throw new $(`Unknown enum '${r.name}'`);let o=i[`${e}`];if(o===void 0)throw new $(`Value '${e}' not found in enum '${r.name}'`);return o}default:O(r,`DataMapper: Unknown result type: ${r.type}`)}}var Km=/\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/;function zm(e){let t=Km.exec(e);if(t===null)return`${e}T00:00:00Z`;let r=e,[n,i,o]=t;if(i!==void 0&&i!=="Z"&&o===void 0?r=`${e}:00`:i===void 0&&(r=`${e}Z`),n.length===e.length)return`1970-01-01T${r}`;let s=t.index-1;return r[s]===" "&&(r=`${r.slice(0,s)}T${r.slice(s+1)}`),r}var Pr;(function(e){e[e.INTERNAL=0]="INTERNAL",e[e.SERVER=1]="SERVER",e[e.CLIENT=2]="CLIENT",e[e.PRODUCER=3]="PRODUCER",e[e.CONSUMER=4]="CONSUMER"})(Pr||(Pr={}));function Ym(e){switch(e){case"postgresql":case"postgres":case"prisma+postgres":return"postgresql";case"sqlserver":return"mssql";case"mysql":case"sqlite":case"cockroachdb":case"mongodb":return e;default:O(e,`Unknown provider: ${e}`)}}async function Fn({query:e,tracingHelper:t,provider:r,onQuery:n,execute:i}){return await t.runInChildSpan({name:"db_query",kind:Pr.CLIENT,attributes:{"db.query.text":e.sql,"db.system.name":Ym(r)}},async()=>{let o=new Date,s=performance.now(),a=await i(),l=performance.now();return n?.({timestamp:o,duration:l-s,query:e.sql,params:e.args}),a})}function Xe(e,t){var r="000000000"+e;return r.substr(r.length-t)}import Zm from"node:os";function Xm(){try{return Zm.hostname()}catch{return process.env._CLUSTER_NETWORK_NAME_||process.env.COMPUTERNAME||"hostname"}}var ml=2,ef=Xe(process.pid.toString(36),ml),fl=Xm(),tf=fl.length,rf=Xe(fl.split("").reduce(function(e,t){return+e+t.charCodeAt(0)},+tf+36).toString(36),ml);function to(){return ef+rf}function Ln(e){return typeof e=="string"&&/^c[a-z0-9]{20,32}$/.test(e)}function ro(e){let n=Math.pow(36,4),i=0;function o(){return Xe((Math.random()*n<<0).toString(36),4)}function s(){return i=i<n?i:0,i++,i-1}function a(){var l="c",c=new Date().getTime().toString(36),u=Xe(s().toString(36),4),p=e(),d=o()+o();return l+c+u+p+d}return a.fingerprint=e,a.isCuid=Ln,a}var nf=ro(to);var gl=nf;var mc=Ce(oc());import{webcrypto as ac}from"node:crypto";var sc="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Qf=128,tt,Dt;function Hf(e){!tt||tt.length<e?(tt=Buffer.allocUnsafe(e*Qf),ac.getRandomValues(tt),Dt=0):Dt+e>tt.length&&(ac.getRandomValues(tt),Dt=0),Dt+=e}function po(e=21){Hf(e|=0);let t="";for(let r=Dt-e;r<Dt;r++)t+=sc[tt[r]&63];return t}import Un from"node:crypto";var cc="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Sr=32;var Gf=16,uc=10,lc=0xffffffffffff;var rt;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(rt||(rt={}));var nt=class extends Error{constructor(t,r){super(`${r} (${t})`),this.name="ULIDError",this.code=t}};function Jf(e){let t=Math.floor(e()*Sr);return t===Sr&&(t=Sr-1),cc.charAt(t)}function Wf(e){let t=Kf(),r=t&&(t.crypto||t.msCrypto)||(typeof Un<"u"?Un:null);if(typeof r?.getRandomValues=="function")return()=>{let n=new Uint8Array(1);return r.getRandomValues(n),n[0]/255};if(typeof r?.randomBytes=="function")return()=>r.randomBytes(1).readUInt8()/255;if(Un?.randomBytes)return()=>Un.randomBytes(1).readUInt8()/255;throw new nt(rt.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Kf(){return Zf()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function zf(e,t){let r="";for(;e>0;e--)r=Jf(t)+r;return r}function Yf(e,t=uc){if(isNaN(e))throw new nt(rt.EncodeTimeValueMalformed,`Time must be a number: ${e}`);if(e>lc)throw new nt(rt.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${lc}: ${e}`);if(e<0)throw new nt(rt.EncodeTimeNegative,`Time must be positive: ${e}`);if(Number.isInteger(e)===!1)throw new nt(rt.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let r,n="";for(let i=t;i>0;i--)r=e%Sr,n=cc.charAt(r)+n,e=(e-r)/Sr;return n}function Zf(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function pc(e,t){let r=t||Wf(),n=!e||isNaN(e)?Date.now():e;return Yf(n,uc)+zf(Gf,r)}var J=[];for(let e=0;e<256;++e)J.push((e+256).toString(16).slice(1));function jn(e,t=0){return(J[e[t+0]]+J[e[t+1]]+J[e[t+2]]+J[e[t+3]]+"-"+J[e[t+4]]+J[e[t+5]]+"-"+J[e[t+6]]+J[e[t+7]]+"-"+J[e[t+8]]+J[e[t+9]]+"-"+J[e[t+10]]+J[e[t+11]]+J[e[t+12]]+J[e[t+13]]+J[e[t+14]]+J[e[t+15]]).toLowerCase()}import{randomFillSync as Xf}from"node:crypto";var Qn=new Uint8Array(256),Bn=Qn.length;function Nt(){return Bn>Qn.length-16&&(Xf(Qn),Bn=0),Qn.slice(Bn,Bn+=16)}import{randomUUID as eg}from"node:crypto";var mo={randomUUID:eg};function tg(e,t,r){if(mo.randomUUID&&!t&&!e)return mo.randomUUID();e=e||{};let n=e.random??e.rng?.()??Nt();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return jn(n)}var fo=tg;var go={};function rg(e,t,r){let n;if(e)n=dc(e.random??e.rng?.()??Nt(),e.msecs,e.seq,t,r);else{let i=Date.now(),o=Nt();ng(go,i,o),n=dc(o,go.msecs,go.seq,t,r)}return t??jn(n)}function ng(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function dc(e,t,r,n,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),i=0;else if(i<0||i+16>n.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[i++]=t/1099511627776&255,n[i++]=t/4294967296&255,n[i++]=t/16777216&255,n[i++]=t/65536&255,n[i++]=t/256&255,n[i++]=t&255,n[i++]=112|r>>>28&15,n[i++]=r>>>20&255,n[i++]=128|r>>>14&63,n[i++]=r>>>6&255,n[i++]=r<<2&255|e[10]&3,n[i++]=e[11],n[i++]=e[12],n[i++]=e[13],n[i++]=e[14],n[i++]=e[15],n}var yo=rg;var Hn=class{#t={};constructor(){this.register("uuid",new wo),this.register("cuid",new Eo),this.register("ulid",new xo),this.register("nanoid",new bo),this.register("product",new Po)}snapshot(){return Object.create(this.#t,{now:{value:new ho}})}register(t,r){this.#t[t]=r}},ho=class{#t=new Date;generate(){return this.#t.toISOString()}},wo=class{generate(t){if(t===4)return fo();if(t===7)return yo();throw new Error("Invalid UUID generator arguments")}},Eo=class{generate(t){if(t===1)return gl();if(t===2)return(0,mc.createId)();throw new Error("Invalid CUID generator arguments")}},xo=class{generate(){return pc()}},bo=class{generate(t){if(typeof t=="number")return po(t);if(t===void 0)return po();throw new Error("Invalid Nanoid generator arguments")}},Po=class{generate(t,r){if(t===void 0||r===void 0)throw new Error("Invalid Product generator arguments");return Array.isArray(t)&&Array.isArray(r)?t.flatMap(n=>r.map(i=>[n,i])):Array.isArray(t)?t.map(n=>[n,r]):Array.isArray(r)?r.map(n=>[t,n]):[[t,r]]}};function Gn(e,t){return e==null?e:typeof e=="string"?Gn(JSON.parse(e),t):Array.isArray(e)?og(e,t):ig(e,t)}function ig(e,t){if(t.pagination){let{skip:r,take:n,cursor:i}=t.pagination;if(r!==null&&r>0||n===0||i!==null&&!St(e,i))return null}return gc(e,t.nested)}function gc(e,t){for(let[r,n]of Object.entries(t))e[r]=Gn(e[r],n);return e}function og(e,t){if(t.distinct!==null){let r=t.linkingFields!==null?[...t.distinct,...t.linkingFields]:t.distinct;e=sg(e,r)}return t.pagination&&(e=ag(e,t.pagination,t.linkingFields)),t.reverse&&e.reverse(),Object.keys(t.nested).length===0?e:e.map(r=>gc(r,t.nested))}function sg(e,t){let r=new Set,n=[];for(let i of e){let o=_t(i,t);r.has(o)||(r.add(o),n.push(i))}return n}function ag(e,t,r){if(r===null)return fc(e,t);let n=new Map;for(let o of e){let s=_t(o,r);n.has(s)||n.set(s,[]),n.get(s).push(o)}let i=Array.from(n.entries());return i.sort(([o],[s])=>o<s?-1:o>s?1:0),i.flatMap(([,o])=>fc(o,t))}function fc(e,{cursor:t,skip:r,take:n}){let i=t!==null?e.findIndex(a=>St(a,t)):0;if(i===-1)return[];let o=i+(r??0),s=n!==null?o+n:e.length;return e.slice(o,s)}function _t(e,t){return JSON.stringify(t.map(r=>e[r]))}function vo(e){return typeof e=="object"&&e!==null&&e.prisma__type==="param"}function To(e){return typeof e=="object"&&e!==null&&e.prisma__type==="generatorCall"}function Ro(e,t,r,n){let i=e.args.map(o=>he(o,t,r));switch(e.type){case"rawSql":return[ug(e.sql,i,e.argTypes)];case"templateSql":return(e.chunkable?dg(e.fragments,i,n):[i]).map(s=>{if(n!==void 0&&s.length>n)throw new re("The query parameter limit supported by your database is exceeded.","P2029");return lg(e.fragments,e.placeholderFormat,s,e.argTypes)});default:O(e.type,"Invalid query type")}}function he(e,t,r){for(;pg(e);)if(vo(e)){let n=t[e.prisma__value.name];if(n===void 0)throw new Error(`Missing value for query variable ${e.prisma__value.name}`);e=n}else if(To(e)){let{name:n,args:i}=e.prisma__value,o=r[n];if(!o)throw new Error(`Encountered an unknown generator '${n}'`);e=o.generate(...i.map(s=>he(s,t,r)))}else O(e,`Unexpected unevaluated value type: ${e}`);return Array.isArray(e)&&(e=e.map(n=>he(n,t,r))),e}function lg(e,t,r,n){let i="",o={placeholderNumber:1},s=[],a=[];for(let l of Co(e,r,n)){if(i+=cg(l,t,o),l.type==="stringChunk")continue;let c=s.length,u=s.push(...yc(l))-c;if(l.argType.arity==="tuple"){if(u%l.argType.elements.length!==0)throw new Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${u} parameters for a tuple of arity ${l.argType.elements.length}.`);for(let p=0;p<u/l.argType.elements.length;p++)a.push(...l.argType.elements)}else for(let p=0;p<u;p++)a.push(l.argType)}return{sql:i,args:s,argTypes:a}}function cg(e,t,r){let n=e.type;switch(n){case"parameter":return Ao(t,r.placeholderNumber++);case"stringChunk":return e.chunk;case"parameterTuple":return`(${e.value.length==0?"NULL":e.value.map(()=>Ao(t,r.placeholderNumber++)).join(",")})`;case"parameterTupleList":return e.value.map(i=>{let o=i.map(()=>Ao(t,r.placeholderNumber++)).join(e.itemSeparator);return`${e.itemPrefix}${o}${e.itemSuffix}`}).join(e.groupSeparator);default:O(n,"Invalid fragment type")}}function Ao(e,t){return e.hasNumbering?`${e.prefix}${t}`:e.prefix}function ug(e,t,r){return{sql:e,args:t,argTypes:r}}function pg(e){return vo(e)||To(e)}function*Co(e,t,r){let n=0;for(let i of e)switch(i.type){case"parameter":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);yield{...i,value:t[n],argType:r?.[n]},n++;break}case"stringChunk":{yield i;break}case"parameterTuple":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];yield{...i,value:Array.isArray(o)?o:[o],argType:r?.[n]},n++;break}case"parameterTupleList":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];if(!Array.isArray(o))throw new Error("Malformed query template. Tuple list expected.");if(o.length===0)throw new Error("Malformed query template. Tuple list cannot be empty.");for(let s of o)if(!Array.isArray(s))throw new Error("Malformed query template. Tuple expected.");yield{...i,value:o,argType:r?.[n]},n++;break}}}function*yc(e){switch(e.type){case"parameter":yield e.value;break;case"stringChunk":break;case"parameterTuple":yield*e.value;break;case"parameterTupleList":for(let t of e.value)yield*t;break}}function dg(e,t,r){let n=0,i=0;for(let s of Co(e,t,void 0)){let a=0;for(let l of yc(s))a++;i=Math.max(i,a),n+=a}let o=[[]];for(let s of Co(e,t,void 0))switch(s.type){case"parameter":{for(let a of o)a.push(s.value);break}case"stringChunk":break;case"parameterTuple":{let a=s.value.length,l=[];if(r&&o.length===1&&a===i&&n>r&&n-a<r){let c=r-(n-a);l=mg(s.value,c)}else l=[s.value];o=o.flatMap(c=>l.map(u=>[...c,u]));break}case"parameterTupleList":{let a=s.value.reduce((p,d)=>p+d.length,0),l=[],c=[],u=0;for(let p of s.value)r&&o.length===1&&a===i&&c.length>0&&n-a+u+p.length>r&&(l.push(c),c=[],u=0),c.push(p),u+=p.length;c.length>0&&l.push(c),o=o.flatMap(p=>l.map(d=>[...p,d]));break}}return o}function mg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function hc(e){return e.rows.map(t=>t.reduce((r,n,i)=>(r[e.columnNames[i]]=n,r),{}))}function wc(e){return{columns:e.columnNames,types:e.columnTypes.map(t=>fg(t)),rows:e.rows.map(t=>t.map((r,n)=>Mt(r,e.columnTypes[n])))}}function Mt(e,t){if(e===null)return null;switch(t){case x.Int32:switch(typeof e){case"number":return Math.trunc(e);case"string":return Math.trunc(Number(e));default:throw new Error(`Cannot serialize value of type ${typeof e} as Int32`)}case x.Int32Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int32Array`);return e.map(r=>Mt(r,x.Int32));case x.Int64:switch(typeof e){case"number":return BigInt(Math.trunc(e));case"string":return e;default:throw new Error(`Cannot serialize value of type ${typeof e} as Int64`)}case x.Int64Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int64Array`);return e.map(r=>Mt(r,x.Int64));case x.Json:switch(typeof e){case"string":return JSON.parse(e);default:throw new Error(`Cannot serialize value of type ${typeof e} as Json`)}case x.JsonArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as JsonArray`);return e.map(r=>Mt(r,x.Json));case x.Bytes:if(Array.isArray(e))return new Uint8Array(e);throw new Error(`Cannot serialize value of type ${typeof e} as Bytes`);case x.BytesArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BytesArray`);return e.map(r=>Mt(r,x.Bytes));case x.Boolean:switch(typeof e){case"boolean":return e;case"string":return e==="true"||e==="1";case"number":return e===1;default:throw new Error(`Cannot serialize value of type ${typeof e} as Boolean`)}case x.BooleanArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BooleanArray`);return e.map(r=>Mt(r,x.Boolean));default:return e}}function fg(e){switch(e){case x.Int32:return"int";case x.Int64:return"bigint";case x.Float:return"float";case x.Double:return"double";case x.Text:return"string";case x.Enum:return"enum";case x.Bytes:return"bytes";case x.Boolean:return"bool";case x.Character:return"char";case x.Numeric:return"decimal";case x.Json:return"json";case x.Uuid:return"uuid";case x.DateTime:return"datetime";case x.Date:return"date";case x.Time:return"time";case x.Int32Array:return"int-array";case x.Int64Array:return"bigint-array";case x.FloatArray:return"float-array";case x.DoubleArray:return"double-array";case x.TextArray:return"string-array";case x.EnumArray:return"string-array";case x.BytesArray:return"bytes-array";case x.BooleanArray:return"bool-array";case x.CharacterArray:return"char-array";case x.NumericArray:return"decimal-array";case x.JsonArray:return"json-array";case x.UuidArray:return"uuid-array";case x.DateTimeArray:return"datetime-array";case x.DateArray:return"date-array";case x.TimeArray:return"time-array";case x.UnknownNumber:return"unknown";case x.Set:return"string";default:O(e,`Unexpected column type: ${e}`)}}function Ec(e,t,r){if(!t.every(n=>So(e,n))){let n=gg(e,r),i=yg(r);throw new re(n,i,r.context)}}function So(e,t){switch(t.type){case"rowCountEq":return Array.isArray(e)?e.length===t.args:e===null?t.args===0:t.args===1;case"rowCountNeq":return Array.isArray(e)?e.length!==t.args:e===null?t.args!==0:t.args!==1;case"affectedRowCountEq":return e===t.args;case"never":return!1;default:O(t,`Unknown rule type: ${t.type}`)}}function gg(e,t){switch(t.error_identifier){case"RELATION_VIOLATION":return`The change you are trying to make would violate the required relation '${t.context.relation}' between the \`${t.context.modelA}\` and \`${t.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 ${t.context.operation}.`;case"MISSING_RELATED_RECORD":{let r=t.context.neededFor?` (needed to ${t.context.neededFor})`:"";return`An operation failed because it depends on one or more records that were required but not found. No '${t.context.model}' record${r} was found for ${t.context.operation} on ${t.context.relationType} relation '${t.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 ${t.context.expectedRows} records to be connected, found only ${Array.isArray(e)?e.length:e}.`;case"INCOMPLETE_CONNECT_OUTPUT":return`The required connected records were not found. Expected ${t.context.expectedRows} records to be connected after connect operation on ${t.context.relationType} relation '${t.context.relation}', found ${Array.isArray(e)?e.length:e}.`;case"RECORDS_NOT_CONNECTED":return`The records for relation \`${t.context.relation}\` between the \`${t.context.parent}\` and \`${t.context.child}\` models are not connected.`;default:O(t,`Unknown error identifier: ${t}`)}}function yg(e){switch(e.error_identifier){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:O(e,`Unknown error identifier: ${e}`)}}var Ir=class e{#t;#e;#r;#n=new Hn;#s;#i;#a;#o;#c;constructor({transactionManager:t,placeholderValues:r,onQuery:n,tracingHelper:i,serializer:o,rawSerializer:s,provider:a,connectionInfo:l}){this.#t=t,this.#e=r,this.#r=n,this.#s=i,this.#i=o,this.#a=s??o,this.#o=a,this.#c=l}static forSql(t){return new e({transactionManager:t.transactionManager,placeholderValues:t.placeholderValues,onQuery:t.onQuery,tracingHelper:t.tracingHelper,serializer:hc,rawSerializer:wc,provider:t.provider,connectionInfo:t.connectionInfo})}async run(t,r){let{value:n}=await this.interpretNode(t,r,this.#e,this.#n.snapshot()).catch(i=>It(i));return n}async interpretNode(t,r,n,i){switch(t.type){case"value":return{value:he(t.args,n,i)};case"seq":{let o;for(let s of t.args)o=await this.interpretNode(s,r,n,i);return o??{value:void 0}}case"get":return{value:n[t.args.name]};case"let":{let o=Object.create(n);for(let s of t.args.bindings){let{value:a}=await this.interpretNode(s.expr,r,o,i);o[s.name]=a}return this.interpretNode(t.args.expr,r,o,i)}case"getFirstNonEmpty":{for(let o of t.args.names){let s=n[o];if(!xc(s))return{value:s}}return{value:[]}}case"concat":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>s.concat(Io(a)),[]):[]}}case"sum":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>Te(s)+Te(a)):0}}case"execute":{let o=Ro(t.args,n,i,this.#l()),s=0;for(let a of o)s+=await this.#u(a,r,()=>r.executeRaw(a).catch(l=>t.args.type==="rawSql"?Zi(l):It(l)));return{value:s}}case"query":{let o=Ro(t.args,n,i,this.#l()),s;for(let a of o){let l=await this.#u(a,r,()=>r.queryRaw(a).catch(c=>t.args.type==="rawSql"?Zi(c):It(c)));s===void 0?s=l:(s.rows.push(...l.rows),s.lastInsertId=l.lastInsertId)}return{value:t.args.type==="rawSql"?this.#a(s):this.#i(s),lastInsertId:s?.lastInsertId}}case"reverse":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);return{value:Array.isArray(o)?o.reverse():o,lastInsertId:s}}case"unique":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(!Array.isArray(o))return{value:o,lastInsertId:s};if(o.length>1)throw new Error(`Expected zero or one element, got ${o.length}`);return{value:o[0]??null,lastInsertId:s}}case"required":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(xc(o))throw new Error("Required value is empty");return{value:o,lastInsertId:s}}case"mapField":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.records,r,n,i);return{value:bc(o,t.args.field),lastInsertId:s}}case"join":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.parent,r,n,i);if(o===null)return{value:null,lastInsertId:s};let a=await Promise.all(t.args.children.map(async l=>({joinExpr:l,childRecords:(await this.interpretNode(l.child,r,n,i)).value})));return{value:hg(o,a),lastInsertId:s}}case"transaction":{if(!this.#t.enabled)return this.interpretNode(t.args,r,n,i);let o=this.#t.manager,s=await o.startInternalTransaction(),a=await o.getTransaction(s,"query");try{let l=await this.interpretNode(t.args,a,n,i);return await o.commitTransaction(s.id),l}catch(l){throw await o.rollbackTransaction(s.id),l}}case"dataMap":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:dl(o,t.args.structure,t.args.enums),lastInsertId:s}}case"validate":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return Ec(o,t.args.rules,t.args),{value:o,lastInsertId:s}}case"if":{let{value:o}=await this.interpretNode(t.args.value,r,n,i);return So(o,t.args.rule)?await this.interpretNode(t.args.then,r,n,i):await this.interpretNode(t.args.else,r,n,i)}case"unit":return{value:void 0};case"diff":{let{value:o}=await this.interpretNode(t.args.from,r,n,i),{value:s}=await this.interpretNode(t.args.to,r,n,i),a=c=>c!==null?_t(Jn(c),t.args.fields):null,l=new Set(Io(s).map(a));return{value:Io(o).filter(c=>!l.has(a(c)))}}case"process":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:Gn(o,t.args.operations),lastInsertId:s}}case"initializeRecord":{let{lastInsertId:o}=await this.interpretNode(t.args.expr,r,n,i),s={};for(let[a,l]of Object.entries(t.args.fields))s[a]=wg(l,o,n,i);return{value:s,lastInsertId:o}}case"mapRecord":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i),a=o===null?{}:Jn(o);for(let[l,c]of Object.entries(t.args.fields))a[l]=Eg(c,a[l],n,i);return{value:a,lastInsertId:s}}default:O(t,`Unexpected node type: ${t.type}`)}}#l(){return this.#c?.maxBindValues!==void 0?this.#c.maxBindValues:this.#p()}#p(){if(this.#o!==void 0)switch(this.#o){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:O(this.#o,`Unexpected provider: ${this.#o}`)}}#u(t,r,n){return Fn({query:t,execute:n,provider:this.#o??r.provider,tracingHelper:this.#s,onQuery:this.#r})}};function xc(e){return Array.isArray(e)?e.length===0:e==null}function Io(e){return Array.isArray(e)?e:[e]}function Te(e){if(typeof e=="number")return e;if(typeof e=="string")return Number(e);throw new Error(`Expected number, got ${typeof e}`)}function Jn(e){if(typeof e=="object"&&e!==null)return e;throw new Error(`Expected object, got ${typeof e}`)}function bc(e,t){return Array.isArray(e)?e.map(r=>bc(r,t)):typeof e=="object"&&e!==null?e[t]??null:e}function hg(e,t){for(let{joinExpr:r,childRecords:n}of t){let i=r.on.map(([a])=>a),o=r.on.map(([,a])=>a),s={};for(let a of Array.isArray(e)?e:[e]){let l=Jn(a),c=_t(l,i);s[c]||(s[c]=[]),s[c].push(l),r.isRelationUnique?l[r.parentField]=null:l[r.parentField]=[]}for(let a of Array.isArray(n)?n:[n]){if(a===null)continue;let l=_t(Jn(a),o);for(let c of s[l]??[])r.isRelationUnique?c[r.parentField]=a:c[r.parentField].push(a)}}return e}function wg(e,t,r,n){switch(e.type){case"value":return he(e.value,r,n);case"lastInsertId":return t;default:O(e,`Unexpected field initializer type: ${e.type}`)}}function Eg(e,t,r,n){switch(e.type){case"set":return he(e.value,r,n);case"add":return Te(t)+Te(he(e.value,r,n));case"subtract":return Te(t)-Te(he(e.value,r,n));case"multiply":return Te(t)*Te(he(e.value,r,n));case"divide":{let i=Te(t),o=Te(he(e.value,r,n));return o===0?null:i/o}default:O(e,`Unexpected field operation type: ${e.type}`)}}async function xg(){return globalThis.crypto??await import("node:crypto")}async function Pc(){return(await xg()).randomUUID()}var de=class extends re{name="TransactionManagerError";constructor(t,r){super("Transaction API error: "+t,"P2028",r)}},kr=class extends de{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.")}},Wn=class extends de{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a committed transaction.`)}},Kn=class extends de{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a transaction that was rolled back.`)}},zn=class extends de{constructor(){super("Unable to start a transaction in the given time.")}},Yn=class extends de{constructor(t,{timeout:r,timeTaken:n}){super(`A ${t} cannot be executed on an expired transaction. The timeout for this transaction was ${r} ms, however ${n} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`,{operation:t,timeout:r,timeTaken:n})}},Ft=class extends de{constructor(t){super(`Internal Consistency Error: ${t}`)}},Zn=class extends de{constructor(t){super(`Invalid isolation level: ${t}`,{isolationLevel:t})}};var bg=100,Or=q("prisma:client:transactionManager"),Pg=()=>({sql:"COMMIT",args:[],argTypes:[]}),vg=()=>({sql:"ROLLBACK",args:[],argTypes:[]}),Tg=()=>({sql:'-- Implicit "COMMIT" query via underlying driver',args:[],argTypes:[]}),Ag=()=>({sql:'-- Implicit "ROLLBACK" query via underlying driver',args:[],argTypes:[]}),Dr=class{transactions=new Map;closedTransactions=[];driverAdapter;transactionOptions;tracingHelper;#t;#e;constructor({driverAdapter:t,transactionOptions:r,tracingHelper:n,onQuery:i,provider:o}){this.driverAdapter=t,this.transactionOptions=r,this.tracingHelper=n,this.#t=i,this.#e=o}async startInternalTransaction(t){let r=t!==void 0?this.#a(t):{};return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#r(r))}async startTransaction(t){let r=t!==void 0?this.#a(t):this.transactionOptions;return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#r(r))}async#r(t){let r={id:await Pc(),status:"waiting",timer:void 0,timeout:t.timeout,startedAt:Date.now(),transaction:void 0};this.transactions.set(r.id,r);let n=!1,i=vc(()=>n=!0,t.maxWait);switch(i?.unref?.(),r.transaction=await this.driverAdapter.startTransaction(t.isolationLevel).catch(It),clearTimeout(i),r.status){case"waiting":if(n)throw await this.#i(r,"timed_out"),new zn;return r.status="running",r.timer=this.#s(r.id,t.timeout),{id:r.id};case"timed_out":case"running":case"committed":case"rolled_back":throw new Ft(`Transaction in invalid state ${r.status} although it just finished startup.`);default:O(r.status,"Unknown transaction status.")}}async commitTransaction(t){return await this.tracingHelper.runInChildSpan("commit_transaction",async()=>{let r=this.#n(t,"commit");await this.#i(r,"committed")})}async rollbackTransaction(t){return await this.tracingHelper.runInChildSpan("rollback_transaction",async()=>{let r=this.#n(t,"rollback");await this.#i(r,"rolled_back")})}async getTransaction(t,r){let n=this.#n(t.id,r);if(n.status==="closing"&&(await n.closing,n=this.#n(t.id,r)),!n.transaction)throw new kr;return n.transaction}#n(t,r){let n=this.transactions.get(t);if(!n){let i=this.closedTransactions.find(o=>o.id===t);if(i)switch(Or("Transaction already closed.",{transactionId:t,status:i.status}),i.status){case"closing":case"waiting":case"running":throw new Ft("Active transaction found in closed transactions list.");case"committed":throw new Wn(r);case"rolled_back":throw new Kn(r);case"timed_out":throw new Yn(r,{timeout:i.timeout,timeTaken:Date.now()-i.startedAt})}else throw Or("Transaction not found.",t),new kr}if(["committed","rolled_back","timed_out"].includes(n.status))throw new Ft("Closed transaction found in active transactions map.");return n}async cancelAllTransactions(){await Promise.allSettled([...this.transactions.values()].map(t=>this.#i(t,"rolled_back")))}#s(t,r){let n=Date.now(),i=vc(async()=>{Or("Transaction timed out.",{transactionId:t,timeoutStartedAt:n,timeout:r});let o=this.transactions.get(t);o&&["running","waiting"].includes(o.status)?await this.#i(o,"timed_out"):Or("Transaction already committed or rolled back when timeout happened.",t)},r);return i?.unref?.(),i}async#i(t,r){let n=async()=>{Or("Closing transaction.",{transactionId:t.id,status:r});try{if(t.transaction&&r==="committed")if(t.transaction.options.usePhantomQuery)await this.#o(Tg(),t.transaction,()=>t.transaction.commit());else{let i=Pg();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.commit()}else if(t.transaction)if(t.transaction.options.usePhantomQuery)await this.#o(Ag(),t.transaction,()=>t.transaction.rollback());else{let i=vg();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.rollback()}}finally{t.status=r,clearTimeout(t.timer),t.timer=void 0,this.transactions.delete(t.id),this.closedTransactions.push(t),this.closedTransactions.length>bg&&this.closedTransactions.shift()}};t.status==="closing"?(await t.closing,this.#n(t.id,r==="committed"?"commit":"rollback")):await Object.assign(t,{status:"closing",reason:r,closing:n()}).closing}#a(t){if(!t.timeout)throw new de("timeout is required");if(!t.maxWait)throw new de("maxWait is required");if(t.isolationLevel==="SNAPSHOT")throw new Zn(t.isolationLevel);return{...t,timeout:t.timeout,maxWait:t.maxWait}}#o(t,r,n){return Fn({query:t,execute:n,provider:this.#e??r.provider,tracingHelper:this.tracingHelper,onQuery:this.#t})}};function vc(e,t){return t!==void 0?setTimeout(e,t):void 0}var Xn="6.18.0-dev.20";var ei=class e{#t;#e;#r;#n;constructor(t,r,n){this.#t=t,this.#e=r,this.#r=n,this.#n=r.getConnectionInfo?.()}static async connect(t){let r,n;try{r=await t.driverAdapterFactory.connect(),n=new Dr({driverAdapter:r,transactionOptions:t.transactionOptions,tracingHelper:t.tracingHelper,onQuery:t.onQuery,provider:t.provider})}catch(i){throw await r?.dispose(),i}return new e(t,r,n)}getConnectionInfo(){let t=this.#n??{supportsRelationJoins:!1};return Promise.resolve({provider:this.#e.provider,connectionInfo:t})}async execute({plan:t,placeholderValues:r,transaction:n,batchIndex:i}){let o=n?await this.#r.getTransaction(n,i!==void 0?"batch query":"query"):this.#e;return await Ir.forSql({transactionManager:n?{enabled:!1}:{enabled:!0,manager:this.#r},placeholderValues:r,onQuery:this.#t.onQuery,tracingHelper:this.#t.tracingHelper,provider:this.#t.provider,connectionInfo:this.#n}).run(t,o)}async startTransaction(t){return{...await this.#r.startTransaction(t),payload:void 0}}async commitTransaction(t){await this.#r.commitTransaction(t.id)}async rollbackTransaction(t){await this.#r.rollbackTransaction(t.id)}async disconnect(){try{await this.#r.cancelAllTransactions()}finally{await this.#e.dispose()}}apiKey(){return null}};var ti=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Tc(e,t,r){let n=r||{},i=n.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ti.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!ti.test(o))throw new TypeError("argument val is invalid");let s=e+"="+o;if(n.maxAge!==void 0&&n.maxAge!==null){let a=n.maxAge-0;if(Number.isNaN(a)||!Number.isFinite(a))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(a)}if(n.domain){if(!ti.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!ti.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){if(!Rg(n.expires)||Number.isNaN(n.expires.valueOf()))throw new TypeError("option expires is invalid");s+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":{s+="; Priority=Low";break}case"medium":{s+="; Priority=Medium";break}case"high":{s+="; Priority=High";break}default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:{s+="; SameSite=Strict";break}case"lax":{s+="; SameSite=Lax";break}case"strict":{s+="; SameSite=Strict";break}case"none":{s+="; SameSite=None";break}default:throw new TypeError("option sameSite is invalid")}return n.partitioned&&(s+="; Partitioned"),s}function Rg(e){return Object.prototype.toString.call(e)==="[object Date]"||e instanceof Date}function Ac(e,t){let r=(e||"").split(";").filter(l=>typeof l=="string"&&!!l.trim()),n=r.shift()||"",i=Sg(n),o=i.name,s=i.value;try{s=t?.decode===!1?s:(t?.decode||decodeURIComponent)(s)}catch{}let a={name:o,value:s};for(let l of r){let c=l.split("="),u=(c.shift()||"").trimStart().toLowerCase(),p=c.join("=");switch(u){case"expires":{a.expires=new Date(p);break}case"max-age":{a.maxAge=Number.parseInt(p,10);break}case"secure":{a.secure=!0;break}case"httponly":{a.httpOnly=!0;break}case"samesite":{a.sameSite=p;break}default:a[u]=p}}return a}function Sg(e){let t="",r="",n=e.split("=");return n.length>1?(t=n.shift(),r=n.join("=")):r=e,{name:t,value:r}}var Ig=()=>globalThis.process?.release?.name==="node",kg=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Og=()=>!!globalThis.Deno,Dg=()=>typeof globalThis.Netlify=="object",Ng=()=>typeof globalThis.EdgeRuntime=="object",_g=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Mg(){return[[Dg,"netlify"],[Ng,"edge-light"],[_g,"workerd"],[Og,"deno"],[kg,"bun"],[Ig,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Fg={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Lg(){let e=Mg();return{id:e,prettyName:Fg[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function Lt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new _(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new _("error: Missing URL environment variable, value, or override.",n);return i}var ri=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var le=class extends ri{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};function R(e,t){return{...e,isRetryable:t}}var it=class extends le{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,R(r,!1))}};P(it,"InvalidDatasourceError");function ni(e){let t={clientVersion:e.clientVersion},r=Object.keys(e.inlineDatasources)[0],n=Lt({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,clientVersion:e.clientVersion,env:{...e.env,...typeof process<"u"?process.env:{}}}),i;try{i=new URL(n)}catch{throw new it(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==Zr)throw new it(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new it(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);let l=gi(i)?"http:":"https:";process.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(l="http:");let c=new URL(i.href.replace(o,l));return{apiKey:a,url:c}}var Cc=Ce(cs()),$t=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,transactionId:r}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":Cc.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-Transaction-Id"]=r);let i=this.#t();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#t(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}};function $g(e){return e[0]*1e3+e[1]/1e6}function Vt(e){return new Date($g(e))}var Rc=q("prisma:client:clientEngine:remoteExecutor"),ii=class{#t;#e;#r;#n;#s;constructor(t){this.#t=t.clientVersion,this.#n=t.logEmitter,this.#s=t.tracingHelper;let{url:r,apiKey:n}=ni({clientVersion:t.clientVersion,env:t.env,inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources});this.#r=new ko(r),this.#e=new $t({apiKey:n,engineHash:t.clientVersion,logLevel:t.logLevel,logQueries:t.logQueries,tracingHelper:t.tracingHelper})}async getConnectionInfo(){return await this.#i({path:"/connection-info",method:"GET"})}async execute({plan:t,placeholderValues:r,batchIndex:n,model:i,operation:o,transaction:s,customFetch:a}){return(await this.#i({path:s?`/transaction/${s.id}/query`:"/query",method:"POST",body:{model:i,operation:o,plan:t,params:r},batchRequestIdx:n,fetch:a})).data}async startTransaction(t){return{...await this.#i({path:"/transaction/start",method:"POST",body:t}),payload:void 0}}async commitTransaction(t){await this.#i({path:`/transaction/${t.id}/commit`,method:"POST"})}async rollbackTransaction(t){await this.#i({path:`/transaction/${t.id}/rollback`,method:"POST"})}disconnect(){return Promise.resolve()}apiKey(){return this.#e.apiKey}async#i({path:t,method:r,body:n,fetch:i=globalThis.fetch,batchRequestIdx:o}){let s=await this.#r.request({method:r,path:t,headers:this.#e.build(),body:n,fetch:i});s.ok||await this.#a(s,o);let a=await s.json();return typeof a.extensions=="object"&&a.extensions!==null&&this.#o(a.extensions),a}async#a(t,r){let n=t.headers.get("Prisma-Error-Code"),i=await t.text(),o,s=i;try{o=JSON.parse(i)}catch{o={}}typeof o.code=="string"&&(n=o.code),typeof o.error=="string"?s=o.error:typeof o.message=="string"?s=o.message:typeof o.InvalidRequestError=="object"&&o.InvalidRequestError!==null&&typeof o.InvalidRequestError.reason=="string"&&(s=o.InvalidRequestError.reason),s=s||`HTTP ${t.status}: ${t.statusText}`;let a=typeof o.meta=="object"&&o.meta!==null?o.meta:o;throw new B(s,{clientVersion:this.#t,code:n??"P6000",batchRequestIdx:r,meta:a})}#o(t){if(t.logs)for(let r of t.logs)this.#c(r);t.traces&&this.#s.dispatchEngineSpans(t.traces)}#c(t){switch(t.level){case"debug":case"trace":Rc(t);break;case"error":case"warn":case"info":{this.#n.emit(t.level,{timestamp:Vt(t.timestamp),message:t.attributes.message??"",target:t.target??"RemoteExecutor"});break}case"query":{this.#n.emit("query",{query:t.attributes.query??"",timestamp:Vt(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target??"RemoteExecutor"});break}default:throw new Error(`Unexpected log level: ${t.level}`)}}},ko=class{#t;#e;#r;constructor(t){this.#t=t,this.#e=new Map}async request({method:t,path:r,headers:n,body:i,fetch:o}){let s=new URL(r,this.#t),a=this.#n(s);a&&(n.Cookie=a),this.#r&&(n["Accelerate-Query-Engine-Jwt"]=this.#r);let l=await o(s.href,{method:t,body:i!==void 0?JSON.stringify(i):void 0,headers:n});return Rc(t,s,l.status,l.statusText),this.#r=l.headers.get("Accelerate-Query-Engine-Jwt")??void 0,this.#s(s,l),l}#n(t){let r=[],n=new Date;for(let[i,o]of this.#e){if(o.expires&&o.expires<n){this.#e.delete(i);continue}let s=o.domain??t.hostname,a=o.path??"/";t.hostname.endsWith(s)&&t.pathname.startsWith(a)&&r.push(Tc(o.name,o.value))}return r.length>0?r.join("; "):void 0}#s(t,r){let n=r.headers.getSetCookie?.()||[];if(n.length===0){let i=r.headers.get("Set-Cookie");i&&n.push(i)}for(let i of n){let o=Ac(i),s=o.domain??t.hostname,a=o.path??"/",l=`${s}:${a}:${o.name}`;this.#e.set(l,{name:o.name,value:o.value,domain:s,path:a,expires:o.expires})}}};var Oo={},Sc={async loadQueryCompiler(e){let{clientVersion:t,compilerWasm:r}=e;if(r===void 0)throw new _("WASM query compiler was unexpectedly `undefined`",t);let n;return e.activeProvider===void 0||Oo[e.activeProvider]===void 0?(n=(async()=>{let i=await r.getRuntime(),o=await r.getQueryCompilerWasmModule();if(o==null)throw new _("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",t);let s={"./query_compiler_bg.js":i},a=new WebAssembly.Instance(o,s),l=a.exports.__wbindgen_start;return i.__wbg_set_wasm(a.exports),l(),i.QueryCompiler})(),e.activeProvider!==void 0&&(Oo[e.activeProvider]=n)):n=Oo[e.activeProvider],await n}};var Vg="P2038",Nr=q("prisma:client:clientEngine"),kc=globalThis;kc.PRISMA_WASM_PANIC_REGISTRY={set_message(e){throw new oe(e,Xn)}};var qt=class{name="ClientEngine";#t;#e={type:"disconnected"};#r;#n;config;datamodel;logEmitter;logQueries;logLevel;tracingHelper;#s;constructor(t,r,n){if(r)this.#n={remote:!0};else if(t.adapter)this.#n={remote:!1,driverAdapterFactory:t.adapter},Nr("Using driver adapter: %O",t.adapter);else throw new _("Missing configured driver adapter. Engine type `client` requires an active driver adapter. Please check your PrismaClient initialization code.",t.clientVersion,Vg);this.#r=n??Sc,this.config=t,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug"),this.logQueries&&(this.#s=i=>{this.logEmitter.emit("query",{...i,params:br(i.params),target:"ClientEngine"})})}applyPendingMigrations(){throw new Error("Cannot call applyPendingMigrations on engine type client.")}async#i(){switch(this.#e.type){case"disconnected":{let t=this.tracingHelper.runInChildSpan("connect",async()=>{let r,n;try{r=await this.#a(),n=await this.#o(r)}catch(o){throw this.#e={type:"disconnected"},n?.free(),await r?.disconnect(),o}let i={executor:r,queryCompiler:n};return this.#e={type:"connected",engine:i},i});return this.#e={type:"connecting",promise:t},await t}case"connecting":return await this.#e.promise;case"connected":return this.#e.engine;case"disconnecting":return await this.#e.promise,await this.#i()}}async#a(){return this.#n.remote?new ii({clientVersion:this.config.clientVersion,env:this.config.env,inlineDatasources:this.config.inlineDatasources,logEmitter:this.logEmitter,logLevel:this.logLevel,logQueries:this.logQueries,overrideDatasources:this.config.overrideDatasources,tracingHelper:this.tracingHelper}):await ei.connect({driverAdapterFactory:this.#n.driverAdapterFactory,tracingHelper:this.tracingHelper,transactionOptions:{...this.config.transactionOptions,isolationLevel:this.#d(this.config.transactionOptions.isolationLevel)},onQuery:this.#s,provider:this.config.activeProvider})}async#o(t){let r=this.#t;r===void 0&&(r=await this.#r.loadQueryCompiler(this.config),this.#t=r);let{provider:n,connectionInfo:i}=await t.getConnectionInfo();try{return this.#u(()=>new r({datamodel:this.datamodel,provider:n,connectionInfo:i}),void 0,!1)}catch(o){throw this.#c(o)}}#c(t){if(t instanceof oe)return t;try{let r=JSON.parse(t.message);return new _(r.message,this.config.clientVersion,r.error_code)}catch{return t}}#l(t,r){if(t instanceof _)return t;if(t.code==="GenericFailure"&&t.message?.startsWith("PANIC:"))return new oe(Ic(this,t.message,r),this.config.clientVersion);if(t instanceof re)return new B(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion});try{let n=JSON.parse(t);return new Y(`${n.message}
78
+ `}function O(e,t){throw new Error(t)}function zi(e,t){return e===t||e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>zi(e[r],t[r]))}function St(e,t){let r=Object.keys(e),n=Object.keys(t);return(r.length<n.length?r:n).every(o=>{if(typeof e[o]==typeof t[o]&&typeof e[o]!="object")return e[o]===t[o];if(ae.isDecimal(e[o])||ae.isDecimal(t[o])){let s=il(e[o]),a=il(t[o]);return s&&a&&s.equals(a)}else if(e[o]instanceof Uint8Array||t[o]instanceof Uint8Array){let s=ol(e[o]),a=ol(t[o]);return s&&a&&s.equals(a)}else{if(e[o]instanceof Date||t[o]instanceof Date)return sl(e[o])?.getTime()===sl(t[o])?.getTime();if(typeof e[o]=="bigint"||typeof t[o]=="bigint")return al(e[o])===al(t[o]);if(typeof e[o]=="number"||typeof t[o]=="number")return ll(e[o])===ll(t[o])}return zi(e[o],t[o])})}function il(e){return ae.isDecimal(e)?e:typeof e=="number"||typeof e=="string"?new ae(e):void 0}function ol(e){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?Buffer.from(e,"base64"):void 0}function sl(e){return e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):void 0}function al(e){return typeof e=="bigint"?e:typeof e=="number"||typeof e=="string"?BigInt(e):void 0}function ll(e){return typeof e=="number"?e:typeof e=="string"?Number(e):void 0}function br(e){return JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():ArrayBuffer.isView(r)?Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("base64"):r)}function Qm(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function Hm(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}function Ze(e){return e===null?e:Array.isArray(e)?e.map(Ze):typeof e=="object"?Qm(e)?Gm(e):e.constructor!==null&&e.constructor.name!=="Object"?e:Hm(e,Ze):e}function Gm({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=Buffer.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new De(t);case"Json":return JSON.parse(t);default:O(t,"Unknown tagged value")}}var re=class extends Error{name="UserFacingError";code;meta;constructor(t,r,n){super(t),this.code=r,this.meta=n??{}}toQueryResponseErrorObject(){return{error:this.message,user_facing_error:{is_panic:!1,message:this.message,meta:this.meta,error_code:this.code}}}};function It(e){if(!zr(e))throw e;let t=Jm(e),r=cl(e);throw!t||!r?e:new re(r,t,{driverAdapterError:e})}function Zi(e){throw zr(e)?new re(`Raw query failed. Code: \`${e.cause.originalCode??"N/A"}\`. Message: \`${e.cause.originalMessage??cl(e)}\``,"P2010",{driverAdapterError:e}):e}function Jm(e){switch(e.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"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:O(e.cause,`Unknown error: ${e.cause}`)}}function cl(e){switch(e.cause.kind){case"AuthenticationFailed":return`Authentication failed against the database server, the provided database credentials for \`${e.cause.user??"(not available)"}\` are not valid`;case"DatabaseNotReachable":{let t=e.cause.host&&e.cause.port?`${e.cause.host}:${e.cause.port}`:e.cause.host;return`Can't reach database server${t?` at ${t}`:""}`}case"DatabaseDoesNotExist":return`Database \`${e.cause.db??"(not available)"}\` does not exist on the database server`;case"SocketTimeout":return"Operation has timed out";case"DatabaseAlreadyExists":return`Database \`${e.cause.db??"(not available)"}\` already exists on the database server`;case"DatabaseAccessDenied":return`User was denied access on the database \`${e.cause.db??"(not available)"}\``;case"TlsConnectionError":return`Error opening a TLS connection: ${e.cause.reason}`;case"ConnectionClosed":return"Server has closed the connection.";case"TransactionAlreadyClosed":return e.cause.cause;case"LengthMismatch":return`The provided value for the column is too long for the column's type. Column: ${e.cause.column??"(not available)"}`;case"UniqueConstraintViolation":return`Unique constraint failed on the ${Yi(e.cause.constraint)}`;case"ForeignKeyConstraintViolation":return`Foreign key constraint violated on the ${Yi(e.cause.constraint)}`;case"UnsupportedNativeDataType":return`Failed to deserialize column of type '${e.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 ${Yi(e.cause.constraint)}`;case"ValueOutOfRange":return`Value out of range for the type: ${e.cause.cause}`;case"TableDoesNotExist":return`The table \`${e.cause.table??"(not available)"}\` does not exist in the current database.`;case"ColumnNotFound":return`The column \`${e.cause.column??"(not available)"}\` does not exist in the current database.`;case"InvalidIsolationLevel":return`Error in connector: Conversion error: ${e.cause.level}`;case"InconsistentColumnData":return`Inconsistent column data: ${e.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 ${e.cause.id})`;case"TooManyConnections":return`Too many database connections opened: ${e.cause.cause}`;case"sqlite":case"postgres":case"mysql":case"mssql":return;default:O(e.cause,`Unknown error: ${e.cause}`)}}function Yi(e){return e&&"fields"in e?`fields: (${e.fields.map(t=>`\`${t}\``).join(", ")})`:e&&"index"in e?`constraint: \`${e.index}\``:e&&"foreignKey"in e?"foreign key":"(not available)"}function ul(e,t){let r=e.map(i=>t.keys.reduce((o,s)=>(o[s]=Ze(i[s]),o),{})),n=new Set(t.nestedSelection);return t.arguments.map(i=>{let o=r.findIndex(s=>St(s,i));if(o===-1)return t.expectNonEmpty?new re("An operation failed because it depends on one or more records that were required but not found","P2025"):null;{let s=Object.entries(e[o]).filter(([a])=>n.has(a));return Object.fromEntries(s)}})}var $=class extends Error{name="DataMapperError"};function dl(e,t,r){switch(t.type){case"affectedRows":if(typeof e!="number")throw new $(`Expected an affected rows count, got: ${typeof e} (${e})`);return{count:e};case"object":return eo(e,t.fields,r,t.skipNulls);case"field":return Xi(e,"<result>",t.fieldType,r);default:O(t,`Invalid data mapping type: '${t.type}'`)}}function eo(e,t,r,n){if(e===null)return null;if(Array.isArray(e)){let i=e;return n&&(i=i.filter(o=>o!==null)),i.map(o=>pl(o,t,r))}if(typeof e=="object")return pl(e,t,r);if(typeof e=="string"){let i;try{i=JSON.parse(e)}catch(o){throw new $("Expected an array or object, got a string that is not valid JSON",{cause:o})}return eo(i,t,r,n)}throw new $(`Expected an array or an object, got: ${typeof e}`)}function pl(e,t,r){if(typeof e!="object")throw new $(`Expected an object, but got '${typeof e}'`);let n={};for(let[i,o]of Object.entries(t))switch(o.type){case"affectedRows":throw new $(`Unexpected 'AffectedRows' node in data mapping for field '${i}'`);case"object":{if(o.serializedName!==null&&!Object.hasOwn(e,o.serializedName))throw new $(`Missing data field (Object): '${i}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`);let s=o.serializedName!==null?e[o.serializedName]:e;n[i]=eo(s,o.fields,r,o.skipNulls);break}case"field":{let s=o.dbName;if(Object.hasOwn(e,s))n[i]=Wm(e[s],s,o.fieldType,r);else throw new $(`Missing data field (Value): '${s}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`)}break;default:O(o,`DataMapper: Invalid data mapping node type: '${o.type}'`)}return n}function Wm(e,t,r,n){return e===null?r.arity==="list"?[]:null:r.arity==="list"?e.map((o,s)=>Xi(o,`${t}[${s}]`,r,n)):Xi(e,t,r,n)}function Xi(e,t,r,n){switch(r.type){case"unsupported":return e;case"string":{if(typeof e!="string")throw new $(`Expected a string in column '${t}', got ${typeof e}: ${e}`);return e}case"int":switch(typeof e){case"number":return Math.trunc(e);case"string":{let i=Math.trunc(Number(e));if(Number.isNaN(i)||!Number.isFinite(i))throw new $(`Expected an integer in column '${t}', got string: ${e}`);if(!Number.isSafeInteger(i))throw new $(`Integer value in column '${t}' is too large to represent as a JavaScript number without loss of precision, got: ${e}. Consider using BigInt type.`);return i}default:throw new $(`Expected an integer in column '${t}', got ${typeof e}: ${e}`)}case"bigint":{if(typeof e!="number"&&typeof e!="string")throw new $(`Expected a bigint in column '${t}', got ${typeof e}: ${e}`);return{$type:"BigInt",value:e}}case"float":{if(typeof e=="number")return e;if(typeof e=="string"){let i=Number(e);if(Number.isNaN(i)&&!/^[-+]?nan$/.test(e.toLowerCase()))throw new $(`Expected a float in column '${t}', got string: ${e}`);return i}throw new $(`Expected a float in column '${t}', got ${typeof e}: ${e}`)}case"boolean":{if(typeof e=="boolean")return e;if(typeof e=="number")return e===1;if(typeof e=="string"){if(e==="true"||e==="TRUE"||e==="1")return!0;if(e==="false"||e==="FALSE"||e==="0")return!1;throw new $(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}if(Array.isArray(e)){for(let i of e)if(i!==0)return!0;return!1}throw new $(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}case"decimal":if(typeof e!="number"&&typeof e!="string"&&!ae.isDecimal(e))throw new $(`Expected a decimal in column '${t}', got ${typeof e}: ${e}`);return{$type:"Decimal",value:e};case"datetime":{if(typeof e=="string")return{$type:"DateTime",value:zm(e)};if(typeof e=="number"||e instanceof Date)return{$type:"DateTime",value:e};throw new $(`Expected a date in column '${t}', got ${typeof e}: ${e}`)}case"object":return{$type:"Json",value:br(e)};case"json":return{$type:"Json",value:`${e}`};case"bytes":{switch(r.encoding){case"base64":if(typeof e!="string")throw new $(`Expected a base64-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:e};case"hex":if(typeof e!="string"||!e.startsWith("\\x"))throw new $(`Expected a hex-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:Buffer.from(e.slice(2),"hex").toString("base64")};case"array":if(Array.isArray(e))return{$type:"Bytes",value:Buffer.from(e).toString("base64")};if(e instanceof Uint8Array)return{$type:"Bytes",value:Buffer.from(e).toString("base64")};throw new $(`Expected a byte array in column '${t}', got ${typeof e}: ${e}`);default:O(r.encoding,`DataMapper: Unknown bytes encoding: ${r.encoding}`)}break}case"enum":{let i=n[r.name];if(i===void 0)throw new $(`Unknown enum '${r.name}'`);let o=i[`${e}`];if(o===void 0)throw new $(`Value '${e}' not found in enum '${r.name}'`);return o}default:O(r,`DataMapper: Unknown result type: ${r.type}`)}}var Km=/\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/;function zm(e){let t=Km.exec(e);if(t===null)return`${e}T00:00:00Z`;let r=e,[n,i,o]=t;if(i!==void 0&&i!=="Z"&&o===void 0?r=`${e}:00`:i===void 0&&(r=`${e}Z`),n.length===e.length)return`1970-01-01T${r}`;let s=t.index-1;return r[s]===" "&&(r=`${r.slice(0,s)}T${r.slice(s+1)}`),r}var Pr;(function(e){e[e.INTERNAL=0]="INTERNAL",e[e.SERVER=1]="SERVER",e[e.CLIENT=2]="CLIENT",e[e.PRODUCER=3]="PRODUCER",e[e.CONSUMER=4]="CONSUMER"})(Pr||(Pr={}));function Ym(e){switch(e){case"postgresql":case"postgres":case"prisma+postgres":return"postgresql";case"sqlserver":return"mssql";case"mysql":case"sqlite":case"cockroachdb":case"mongodb":return e;default:O(e,`Unknown provider: ${e}`)}}async function Fn({query:e,tracingHelper:t,provider:r,onQuery:n,execute:i}){return await t.runInChildSpan({name:"db_query",kind:Pr.CLIENT,attributes:{"db.query.text":e.sql,"db.system.name":Ym(r)}},async()=>{let o=new Date,s=performance.now(),a=await i(),l=performance.now();return n?.({timestamp:o,duration:l-s,query:e.sql,params:e.args}),a})}function Xe(e,t){var r="000000000"+e;return r.substr(r.length-t)}import Zm from"node:os";function Xm(){try{return Zm.hostname()}catch{return process.env._CLUSTER_NETWORK_NAME_||process.env.COMPUTERNAME||"hostname"}}var ml=2,ef=Xe(process.pid.toString(36),ml),fl=Xm(),tf=fl.length,rf=Xe(fl.split("").reduce(function(e,t){return+e+t.charCodeAt(0)},+tf+36).toString(36),ml);function to(){return ef+rf}function Ln(e){return typeof e=="string"&&/^c[a-z0-9]{20,32}$/.test(e)}function ro(e){let n=Math.pow(36,4),i=0;function o(){return Xe((Math.random()*n<<0).toString(36),4)}function s(){return i=i<n?i:0,i++,i-1}function a(){var l="c",c=new Date().getTime().toString(36),u=Xe(s().toString(36),4),p=e(),d=o()+o();return l+c+u+p+d}return a.fingerprint=e,a.isCuid=Ln,a}var nf=ro(to);var gl=nf;var mc=Ce(oc());import{webcrypto as ac}from"node:crypto";var sc="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Qf=128,tt,Dt;function Hf(e){!tt||tt.length<e?(tt=Buffer.allocUnsafe(e*Qf),ac.getRandomValues(tt),Dt=0):Dt+e>tt.length&&(ac.getRandomValues(tt),Dt=0),Dt+=e}function po(e=21){Hf(e|=0);let t="";for(let r=Dt-e;r<Dt;r++)t+=sc[tt[r]&63];return t}import Un from"node:crypto";var cc="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Sr=32;var Gf=16,uc=10,lc=0xffffffffffff;var rt;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(rt||(rt={}));var nt=class extends Error{constructor(t,r){super(`${r} (${t})`),this.name="ULIDError",this.code=t}};function Jf(e){let t=Math.floor(e()*Sr);return t===Sr&&(t=Sr-1),cc.charAt(t)}function Wf(e){let t=Kf(),r=t&&(t.crypto||t.msCrypto)||(typeof Un<"u"?Un:null);if(typeof r?.getRandomValues=="function")return()=>{let n=new Uint8Array(1);return r.getRandomValues(n),n[0]/255};if(typeof r?.randomBytes=="function")return()=>r.randomBytes(1).readUInt8()/255;if(Un?.randomBytes)return()=>Un.randomBytes(1).readUInt8()/255;throw new nt(rt.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Kf(){return Zf()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function zf(e,t){let r="";for(;e>0;e--)r=Jf(t)+r;return r}function Yf(e,t=uc){if(isNaN(e))throw new nt(rt.EncodeTimeValueMalformed,`Time must be a number: ${e}`);if(e>lc)throw new nt(rt.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${lc}: ${e}`);if(e<0)throw new nt(rt.EncodeTimeNegative,`Time must be positive: ${e}`);if(Number.isInteger(e)===!1)throw new nt(rt.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let r,n="";for(let i=t;i>0;i--)r=e%Sr,n=cc.charAt(r)+n,e=(e-r)/Sr;return n}function Zf(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function pc(e,t){let r=t||Wf(),n=!e||isNaN(e)?Date.now():e;return Yf(n,uc)+zf(Gf,r)}var J=[];for(let e=0;e<256;++e)J.push((e+256).toString(16).slice(1));function jn(e,t=0){return(J[e[t+0]]+J[e[t+1]]+J[e[t+2]]+J[e[t+3]]+"-"+J[e[t+4]]+J[e[t+5]]+"-"+J[e[t+6]]+J[e[t+7]]+"-"+J[e[t+8]]+J[e[t+9]]+"-"+J[e[t+10]]+J[e[t+11]]+J[e[t+12]]+J[e[t+13]]+J[e[t+14]]+J[e[t+15]]).toLowerCase()}import{randomFillSync as Xf}from"node:crypto";var Qn=new Uint8Array(256),Bn=Qn.length;function Nt(){return Bn>Qn.length-16&&(Xf(Qn),Bn=0),Qn.slice(Bn,Bn+=16)}import{randomUUID as eg}from"node:crypto";var mo={randomUUID:eg};function tg(e,t,r){if(mo.randomUUID&&!t&&!e)return mo.randomUUID();e=e||{};let n=e.random??e.rng?.()??Nt();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return jn(n)}var fo=tg;var go={};function rg(e,t,r){let n;if(e)n=dc(e.random??e.rng?.()??Nt(),e.msecs,e.seq,t,r);else{let i=Date.now(),o=Nt();ng(go,i,o),n=dc(o,go.msecs,go.seq,t,r)}return t??jn(n)}function ng(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function dc(e,t,r,n,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),i=0;else if(i<0||i+16>n.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[i++]=t/1099511627776&255,n[i++]=t/4294967296&255,n[i++]=t/16777216&255,n[i++]=t/65536&255,n[i++]=t/256&255,n[i++]=t&255,n[i++]=112|r>>>28&15,n[i++]=r>>>20&255,n[i++]=128|r>>>14&63,n[i++]=r>>>6&255,n[i++]=r<<2&255|e[10]&3,n[i++]=e[11],n[i++]=e[12],n[i++]=e[13],n[i++]=e[14],n[i++]=e[15],n}var yo=rg;var Hn=class{#t={};constructor(){this.register("uuid",new wo),this.register("cuid",new Eo),this.register("ulid",new xo),this.register("nanoid",new bo),this.register("product",new Po)}snapshot(){return Object.create(this.#t,{now:{value:new ho}})}register(t,r){this.#t[t]=r}},ho=class{#t=new Date;generate(){return this.#t.toISOString()}},wo=class{generate(t){if(t===4)return fo();if(t===7)return yo();throw new Error("Invalid UUID generator arguments")}},Eo=class{generate(t){if(t===1)return gl();if(t===2)return(0,mc.createId)();throw new Error("Invalid CUID generator arguments")}},xo=class{generate(){return pc()}},bo=class{generate(t){if(typeof t=="number")return po(t);if(t===void 0)return po();throw new Error("Invalid Nanoid generator arguments")}},Po=class{generate(t,r){if(t===void 0||r===void 0)throw new Error("Invalid Product generator arguments");return Array.isArray(t)&&Array.isArray(r)?t.flatMap(n=>r.map(i=>[n,i])):Array.isArray(t)?t.map(n=>[n,r]):Array.isArray(r)?r.map(n=>[t,n]):[[t,r]]}};function Gn(e,t){return e==null?e:typeof e=="string"?Gn(JSON.parse(e),t):Array.isArray(e)?og(e,t):ig(e,t)}function ig(e,t){if(t.pagination){let{skip:r,take:n,cursor:i}=t.pagination;if(r!==null&&r>0||n===0||i!==null&&!St(e,i))return null}return gc(e,t.nested)}function gc(e,t){for(let[r,n]of Object.entries(t))e[r]=Gn(e[r],n);return e}function og(e,t){if(t.distinct!==null){let r=t.linkingFields!==null?[...t.distinct,...t.linkingFields]:t.distinct;e=sg(e,r)}return t.pagination&&(e=ag(e,t.pagination,t.linkingFields)),t.reverse&&e.reverse(),Object.keys(t.nested).length===0?e:e.map(r=>gc(r,t.nested))}function sg(e,t){let r=new Set,n=[];for(let i of e){let o=_t(i,t);r.has(o)||(r.add(o),n.push(i))}return n}function ag(e,t,r){if(r===null)return fc(e,t);let n=new Map;for(let o of e){let s=_t(o,r);n.has(s)||n.set(s,[]),n.get(s).push(o)}let i=Array.from(n.entries());return i.sort(([o],[s])=>o<s?-1:o>s?1:0),i.flatMap(([,o])=>fc(o,t))}function fc(e,{cursor:t,skip:r,take:n}){let i=t!==null?e.findIndex(a=>St(a,t)):0;if(i===-1)return[];let o=i+(r??0),s=n!==null?o+n:e.length;return e.slice(o,s)}function _t(e,t){return JSON.stringify(t.map(r=>e[r]))}function vo(e){return typeof e=="object"&&e!==null&&e.prisma__type==="param"}function To(e){return typeof e=="object"&&e!==null&&e.prisma__type==="generatorCall"}function Ro(e,t,r,n){let i=e.args.map(o=>he(o,t,r));switch(e.type){case"rawSql":return[ug(e.sql,i,e.argTypes)];case"templateSql":return(e.chunkable?dg(e.fragments,i,n):[i]).map(s=>{if(n!==void 0&&s.length>n)throw new re("The query parameter limit supported by your database is exceeded.","P2029");return lg(e.fragments,e.placeholderFormat,s,e.argTypes)});default:O(e.type,"Invalid query type")}}function he(e,t,r){for(;pg(e);)if(vo(e)){let n=t[e.prisma__value.name];if(n===void 0)throw new Error(`Missing value for query variable ${e.prisma__value.name}`);e=n}else if(To(e)){let{name:n,args:i}=e.prisma__value,o=r[n];if(!o)throw new Error(`Encountered an unknown generator '${n}'`);e=o.generate(...i.map(s=>he(s,t,r)))}else O(e,`Unexpected unevaluated value type: ${e}`);return Array.isArray(e)&&(e=e.map(n=>he(n,t,r))),e}function lg(e,t,r,n){let i="",o={placeholderNumber:1},s=[],a=[];for(let l of Co(e,r,n)){if(i+=cg(l,t,o),l.type==="stringChunk")continue;let c=s.length,u=s.push(...yc(l))-c;if(l.argType.arity==="tuple"){if(u%l.argType.elements.length!==0)throw new Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${u} parameters for a tuple of arity ${l.argType.elements.length}.`);for(let p=0;p<u/l.argType.elements.length;p++)a.push(...l.argType.elements)}else for(let p=0;p<u;p++)a.push(l.argType)}return{sql:i,args:s,argTypes:a}}function cg(e,t,r){let n=e.type;switch(n){case"parameter":return Ao(t,r.placeholderNumber++);case"stringChunk":return e.chunk;case"parameterTuple":return`(${e.value.length==0?"NULL":e.value.map(()=>Ao(t,r.placeholderNumber++)).join(",")})`;case"parameterTupleList":return e.value.map(i=>{let o=i.map(()=>Ao(t,r.placeholderNumber++)).join(e.itemSeparator);return`${e.itemPrefix}${o}${e.itemSuffix}`}).join(e.groupSeparator);default:O(n,"Invalid fragment type")}}function Ao(e,t){return e.hasNumbering?`${e.prefix}${t}`:e.prefix}function ug(e,t,r){return{sql:e,args:t,argTypes:r}}function pg(e){return vo(e)||To(e)}function*Co(e,t,r){let n=0;for(let i of e)switch(i.type){case"parameter":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);yield{...i,value:t[n],argType:r?.[n]},n++;break}case"stringChunk":{yield i;break}case"parameterTuple":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];yield{...i,value:Array.isArray(o)?o:[o],argType:r?.[n]},n++;break}case"parameterTupleList":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];if(!Array.isArray(o))throw new Error("Malformed query template. Tuple list expected.");if(o.length===0)throw new Error("Malformed query template. Tuple list cannot be empty.");for(let s of o)if(!Array.isArray(s))throw new Error("Malformed query template. Tuple expected.");yield{...i,value:o,argType:r?.[n]},n++;break}}}function*yc(e){switch(e.type){case"parameter":yield e.value;break;case"stringChunk":break;case"parameterTuple":yield*e.value;break;case"parameterTupleList":for(let t of e.value)yield*t;break}}function dg(e,t,r){let n=0,i=0;for(let s of Co(e,t,void 0)){let a=0;for(let l of yc(s))a++;i=Math.max(i,a),n+=a}let o=[[]];for(let s of Co(e,t,void 0))switch(s.type){case"parameter":{for(let a of o)a.push(s.value);break}case"stringChunk":break;case"parameterTuple":{let a=s.value.length,l=[];if(r&&o.length===1&&a===i&&n>r&&n-a<r){let c=r-(n-a);l=mg(s.value,c)}else l=[s.value];o=o.flatMap(c=>l.map(u=>[...c,u]));break}case"parameterTupleList":{let a=s.value.reduce((p,d)=>p+d.length,0),l=[],c=[],u=0;for(let p of s.value)r&&o.length===1&&a===i&&c.length>0&&n-a+u+p.length>r&&(l.push(c),c=[],u=0),c.push(p),u+=p.length;c.length>0&&l.push(c),o=o.flatMap(p=>l.map(d=>[...p,d]));break}}return o}function mg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function hc(e){return e.rows.map(t=>t.reduce((r,n,i)=>(r[e.columnNames[i]]=n,r),{}))}function wc(e){return{columns:e.columnNames,types:e.columnTypes.map(t=>fg(t)),rows:e.rows.map(t=>t.map((r,n)=>Mt(r,e.columnTypes[n])))}}function Mt(e,t){if(e===null)return null;switch(t){case x.Int32:switch(typeof e){case"number":return Math.trunc(e);case"string":return Math.trunc(Number(e));default:throw new Error(`Cannot serialize value of type ${typeof e} as Int32`)}case x.Int32Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int32Array`);return e.map(r=>Mt(r,x.Int32));case x.Int64:switch(typeof e){case"number":return BigInt(Math.trunc(e));case"string":return e;default:throw new Error(`Cannot serialize value of type ${typeof e} as Int64`)}case x.Int64Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int64Array`);return e.map(r=>Mt(r,x.Int64));case x.Json:switch(typeof e){case"string":return JSON.parse(e);default:throw new Error(`Cannot serialize value of type ${typeof e} as Json`)}case x.JsonArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as JsonArray`);return e.map(r=>Mt(r,x.Json));case x.Bytes:if(Array.isArray(e))return new Uint8Array(e);throw new Error(`Cannot serialize value of type ${typeof e} as Bytes`);case x.BytesArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BytesArray`);return e.map(r=>Mt(r,x.Bytes));case x.Boolean:switch(typeof e){case"boolean":return e;case"string":return e==="true"||e==="1";case"number":return e===1;default:throw new Error(`Cannot serialize value of type ${typeof e} as Boolean`)}case x.BooleanArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BooleanArray`);return e.map(r=>Mt(r,x.Boolean));default:return e}}function fg(e){switch(e){case x.Int32:return"int";case x.Int64:return"bigint";case x.Float:return"float";case x.Double:return"double";case x.Text:return"string";case x.Enum:return"enum";case x.Bytes:return"bytes";case x.Boolean:return"bool";case x.Character:return"char";case x.Numeric:return"decimal";case x.Json:return"json";case x.Uuid:return"uuid";case x.DateTime:return"datetime";case x.Date:return"date";case x.Time:return"time";case x.Int32Array:return"int-array";case x.Int64Array:return"bigint-array";case x.FloatArray:return"float-array";case x.DoubleArray:return"double-array";case x.TextArray:return"string-array";case x.EnumArray:return"string-array";case x.BytesArray:return"bytes-array";case x.BooleanArray:return"bool-array";case x.CharacterArray:return"char-array";case x.NumericArray:return"decimal-array";case x.JsonArray:return"json-array";case x.UuidArray:return"uuid-array";case x.DateTimeArray:return"datetime-array";case x.DateArray:return"date-array";case x.TimeArray:return"time-array";case x.UnknownNumber:return"unknown";case x.Set:return"string";default:O(e,`Unexpected column type: ${e}`)}}function Ec(e,t,r){if(!t.every(n=>So(e,n))){let n=gg(e,r),i=yg(r);throw new re(n,i,r.context)}}function So(e,t){switch(t.type){case"rowCountEq":return Array.isArray(e)?e.length===t.args:e===null?t.args===0:t.args===1;case"rowCountNeq":return Array.isArray(e)?e.length!==t.args:e===null?t.args!==0:t.args!==1;case"affectedRowCountEq":return e===t.args;case"never":return!1;default:O(t,`Unknown rule type: ${t.type}`)}}function gg(e,t){switch(t.error_identifier){case"RELATION_VIOLATION":return`The change you are trying to make would violate the required relation '${t.context.relation}' between the \`${t.context.modelA}\` and \`${t.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 ${t.context.operation}.`;case"MISSING_RELATED_RECORD":{let r=t.context.neededFor?` (needed to ${t.context.neededFor})`:"";return`An operation failed because it depends on one or more records that were required but not found. No '${t.context.model}' record${r} was found for ${t.context.operation} on ${t.context.relationType} relation '${t.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 ${t.context.expectedRows} records to be connected, found only ${Array.isArray(e)?e.length:e}.`;case"INCOMPLETE_CONNECT_OUTPUT":return`The required connected records were not found. Expected ${t.context.expectedRows} records to be connected after connect operation on ${t.context.relationType} relation '${t.context.relation}', found ${Array.isArray(e)?e.length:e}.`;case"RECORDS_NOT_CONNECTED":return`The records for relation \`${t.context.relation}\` between the \`${t.context.parent}\` and \`${t.context.child}\` models are not connected.`;default:O(t,`Unknown error identifier: ${t}`)}}function yg(e){switch(e.error_identifier){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:O(e,`Unknown error identifier: ${e}`)}}var Ir=class e{#t;#e;#r;#n=new Hn;#s;#i;#a;#o;#c;constructor({transactionManager:t,placeholderValues:r,onQuery:n,tracingHelper:i,serializer:o,rawSerializer:s,provider:a,connectionInfo:l}){this.#t=t,this.#e=r,this.#r=n,this.#s=i,this.#i=o,this.#a=s??o,this.#o=a,this.#c=l}static forSql(t){return new e({transactionManager:t.transactionManager,placeholderValues:t.placeholderValues,onQuery:t.onQuery,tracingHelper:t.tracingHelper,serializer:hc,rawSerializer:wc,provider:t.provider,connectionInfo:t.connectionInfo})}async run(t,r){let{value:n}=await this.interpretNode(t,r,this.#e,this.#n.snapshot()).catch(i=>It(i));return n}async interpretNode(t,r,n,i){switch(t.type){case"value":return{value:he(t.args,n,i)};case"seq":{let o;for(let s of t.args)o=await this.interpretNode(s,r,n,i);return o??{value:void 0}}case"get":return{value:n[t.args.name]};case"let":{let o=Object.create(n);for(let s of t.args.bindings){let{value:a}=await this.interpretNode(s.expr,r,o,i);o[s.name]=a}return this.interpretNode(t.args.expr,r,o,i)}case"getFirstNonEmpty":{for(let o of t.args.names){let s=n[o];if(!xc(s))return{value:s}}return{value:[]}}case"concat":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>s.concat(Io(a)),[]):[]}}case"sum":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>Te(s)+Te(a)):0}}case"execute":{let o=Ro(t.args,n,i,this.#l()),s=0;for(let a of o)s+=await this.#u(a,r,()=>r.executeRaw(a).catch(l=>t.args.type==="rawSql"?Zi(l):It(l)));return{value:s}}case"query":{let o=Ro(t.args,n,i,this.#l()),s;for(let a of o){let l=await this.#u(a,r,()=>r.queryRaw(a).catch(c=>t.args.type==="rawSql"?Zi(c):It(c)));s===void 0?s=l:(s.rows.push(...l.rows),s.lastInsertId=l.lastInsertId)}return{value:t.args.type==="rawSql"?this.#a(s):this.#i(s),lastInsertId:s?.lastInsertId}}case"reverse":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);return{value:Array.isArray(o)?o.reverse():o,lastInsertId:s}}case"unique":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(!Array.isArray(o))return{value:o,lastInsertId:s};if(o.length>1)throw new Error(`Expected zero or one element, got ${o.length}`);return{value:o[0]??null,lastInsertId:s}}case"required":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(xc(o))throw new Error("Required value is empty");return{value:o,lastInsertId:s}}case"mapField":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.records,r,n,i);return{value:bc(o,t.args.field),lastInsertId:s}}case"join":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.parent,r,n,i);if(o===null)return{value:null,lastInsertId:s};let a=await Promise.all(t.args.children.map(async l=>({joinExpr:l,childRecords:(await this.interpretNode(l.child,r,n,i)).value})));return{value:hg(o,a),lastInsertId:s}}case"transaction":{if(!this.#t.enabled)return this.interpretNode(t.args,r,n,i);let o=this.#t.manager,s=await o.startInternalTransaction(),a=await o.getTransaction(s,"query");try{let l=await this.interpretNode(t.args,a,n,i);return await o.commitTransaction(s.id),l}catch(l){throw await o.rollbackTransaction(s.id),l}}case"dataMap":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:dl(o,t.args.structure,t.args.enums),lastInsertId:s}}case"validate":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return Ec(o,t.args.rules,t.args),{value:o,lastInsertId:s}}case"if":{let{value:o}=await this.interpretNode(t.args.value,r,n,i);return So(o,t.args.rule)?await this.interpretNode(t.args.then,r,n,i):await this.interpretNode(t.args.else,r,n,i)}case"unit":return{value:void 0};case"diff":{let{value:o}=await this.interpretNode(t.args.from,r,n,i),{value:s}=await this.interpretNode(t.args.to,r,n,i),a=c=>c!==null?_t(Jn(c),t.args.fields):null,l=new Set(Io(s).map(a));return{value:Io(o).filter(c=>!l.has(a(c)))}}case"process":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:Gn(o,t.args.operations),lastInsertId:s}}case"initializeRecord":{let{lastInsertId:o}=await this.interpretNode(t.args.expr,r,n,i),s={};for(let[a,l]of Object.entries(t.args.fields))s[a]=wg(l,o,n,i);return{value:s,lastInsertId:o}}case"mapRecord":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i),a=o===null?{}:Jn(o);for(let[l,c]of Object.entries(t.args.fields))a[l]=Eg(c,a[l],n,i);return{value:a,lastInsertId:s}}default:O(t,`Unexpected node type: ${t.type}`)}}#l(){return this.#c?.maxBindValues!==void 0?this.#c.maxBindValues:this.#p()}#p(){if(this.#o!==void 0)switch(this.#o){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:O(this.#o,`Unexpected provider: ${this.#o}`)}}#u(t,r,n){return Fn({query:t,execute:n,provider:this.#o??r.provider,tracingHelper:this.#s,onQuery:this.#r})}};function xc(e){return Array.isArray(e)?e.length===0:e==null}function Io(e){return Array.isArray(e)?e:[e]}function Te(e){if(typeof e=="number")return e;if(typeof e=="string")return Number(e);throw new Error(`Expected number, got ${typeof e}`)}function Jn(e){if(typeof e=="object"&&e!==null)return e;throw new Error(`Expected object, got ${typeof e}`)}function bc(e,t){return Array.isArray(e)?e.map(r=>bc(r,t)):typeof e=="object"&&e!==null?e[t]??null:e}function hg(e,t){for(let{joinExpr:r,childRecords:n}of t){let i=r.on.map(([a])=>a),o=r.on.map(([,a])=>a),s={};for(let a of Array.isArray(e)?e:[e]){let l=Jn(a),c=_t(l,i);s[c]||(s[c]=[]),s[c].push(l),r.isRelationUnique?l[r.parentField]=null:l[r.parentField]=[]}for(let a of Array.isArray(n)?n:[n]){if(a===null)continue;let l=_t(Jn(a),o);for(let c of s[l]??[])r.isRelationUnique?c[r.parentField]=a:c[r.parentField].push(a)}}return e}function wg(e,t,r,n){switch(e.type){case"value":return he(e.value,r,n);case"lastInsertId":return t;default:O(e,`Unexpected field initializer type: ${e.type}`)}}function Eg(e,t,r,n){switch(e.type){case"set":return he(e.value,r,n);case"add":return Te(t)+Te(he(e.value,r,n));case"subtract":return Te(t)-Te(he(e.value,r,n));case"multiply":return Te(t)*Te(he(e.value,r,n));case"divide":{let i=Te(t),o=Te(he(e.value,r,n));return o===0?null:i/o}default:O(e,`Unexpected field operation type: ${e.type}`)}}async function xg(){return globalThis.crypto??await import("node:crypto")}async function Pc(){return(await xg()).randomUUID()}var de=class extends re{name="TransactionManagerError";constructor(t,r){super("Transaction API error: "+t,"P2028",r)}},kr=class extends de{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.")}},Wn=class extends de{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a committed transaction.`)}},Kn=class extends de{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a transaction that was rolled back.`)}},zn=class extends de{constructor(){super("Unable to start a transaction in the given time.")}},Yn=class extends de{constructor(t,{timeout:r,timeTaken:n}){super(`A ${t} cannot be executed on an expired transaction. The timeout for this transaction was ${r} ms, however ${n} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`,{operation:t,timeout:r,timeTaken:n})}},Ft=class extends de{constructor(t){super(`Internal Consistency Error: ${t}`)}},Zn=class extends de{constructor(t){super(`Invalid isolation level: ${t}`,{isolationLevel:t})}};var bg=100,Or=q("prisma:client:transactionManager"),Pg=()=>({sql:"COMMIT",args:[],argTypes:[]}),vg=()=>({sql:"ROLLBACK",args:[],argTypes:[]}),Tg=()=>({sql:'-- Implicit "COMMIT" query via underlying driver',args:[],argTypes:[]}),Ag=()=>({sql:'-- Implicit "ROLLBACK" query via underlying driver',args:[],argTypes:[]}),Dr=class{transactions=new Map;closedTransactions=[];driverAdapter;transactionOptions;tracingHelper;#t;#e;constructor({driverAdapter:t,transactionOptions:r,tracingHelper:n,onQuery:i,provider:o}){this.driverAdapter=t,this.transactionOptions=r,this.tracingHelper=n,this.#t=i,this.#e=o}async startInternalTransaction(t){let r=t!==void 0?this.#a(t):{};return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#r(r))}async startTransaction(t){let r=t!==void 0?this.#a(t):this.transactionOptions;return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#r(r))}async#r(t){let r={id:await Pc(),status:"waiting",timer:void 0,timeout:t.timeout,startedAt:Date.now(),transaction:void 0};this.transactions.set(r.id,r);let n=!1,i=vc(()=>n=!0,t.maxWait);switch(i?.unref?.(),r.transaction=await this.driverAdapter.startTransaction(t.isolationLevel).catch(It),clearTimeout(i),r.status){case"waiting":if(n)throw await this.#i(r,"timed_out"),new zn;return r.status="running",r.timer=this.#s(r.id,t.timeout),{id:r.id};case"timed_out":case"running":case"committed":case"rolled_back":throw new Ft(`Transaction in invalid state ${r.status} although it just finished startup.`);default:O(r.status,"Unknown transaction status.")}}async commitTransaction(t){return await this.tracingHelper.runInChildSpan("commit_transaction",async()=>{let r=this.#n(t,"commit");await this.#i(r,"committed")})}async rollbackTransaction(t){return await this.tracingHelper.runInChildSpan("rollback_transaction",async()=>{let r=this.#n(t,"rollback");await this.#i(r,"rolled_back")})}async getTransaction(t,r){let n=this.#n(t.id,r);if(n.status==="closing"&&(await n.closing,n=this.#n(t.id,r)),!n.transaction)throw new kr;return n.transaction}#n(t,r){let n=this.transactions.get(t);if(!n){let i=this.closedTransactions.find(o=>o.id===t);if(i)switch(Or("Transaction already closed.",{transactionId:t,status:i.status}),i.status){case"closing":case"waiting":case"running":throw new Ft("Active transaction found in closed transactions list.");case"committed":throw new Wn(r);case"rolled_back":throw new Kn(r);case"timed_out":throw new Yn(r,{timeout:i.timeout,timeTaken:Date.now()-i.startedAt})}else throw Or("Transaction not found.",t),new kr}if(["committed","rolled_back","timed_out"].includes(n.status))throw new Ft("Closed transaction found in active transactions map.");return n}async cancelAllTransactions(){await Promise.allSettled([...this.transactions.values()].map(t=>this.#i(t,"rolled_back")))}#s(t,r){let n=Date.now(),i=vc(async()=>{Or("Transaction timed out.",{transactionId:t,timeoutStartedAt:n,timeout:r});let o=this.transactions.get(t);o&&["running","waiting"].includes(o.status)?await this.#i(o,"timed_out"):Or("Transaction already committed or rolled back when timeout happened.",t)},r);return i?.unref?.(),i}async#i(t,r){let n=async()=>{Or("Closing transaction.",{transactionId:t.id,status:r});try{if(t.transaction&&r==="committed")if(t.transaction.options.usePhantomQuery)await this.#o(Tg(),t.transaction,()=>t.transaction.commit());else{let i=Pg();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.commit()}else if(t.transaction)if(t.transaction.options.usePhantomQuery)await this.#o(Ag(),t.transaction,()=>t.transaction.rollback());else{let i=vg();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.rollback()}}finally{t.status=r,clearTimeout(t.timer),t.timer=void 0,this.transactions.delete(t.id),this.closedTransactions.push(t),this.closedTransactions.length>bg&&this.closedTransactions.shift()}};t.status==="closing"?(await t.closing,this.#n(t.id,r==="committed"?"commit":"rollback")):await Object.assign(t,{status:"closing",reason:r,closing:n()}).closing}#a(t){if(!t.timeout)throw new de("timeout is required");if(!t.maxWait)throw new de("maxWait is required");if(t.isolationLevel==="SNAPSHOT")throw new Zn(t.isolationLevel);return{...t,timeout:t.timeout,maxWait:t.maxWait}}#o(t,r,n){return Fn({query:t,execute:n,provider:this.#e??r.provider,tracingHelper:this.tracingHelper,onQuery:this.#t})}};function vc(e,t){return t!==void 0?setTimeout(e,t):void 0}var Xn="6.18.0-dev.21";var ei=class e{#t;#e;#r;#n;constructor(t,r,n){this.#t=t,this.#e=r,this.#r=n,this.#n=r.getConnectionInfo?.()}static async connect(t){let r,n;try{r=await t.driverAdapterFactory.connect(),n=new Dr({driverAdapter:r,transactionOptions:t.transactionOptions,tracingHelper:t.tracingHelper,onQuery:t.onQuery,provider:t.provider})}catch(i){throw await r?.dispose(),i}return new e(t,r,n)}getConnectionInfo(){let t=this.#n??{supportsRelationJoins:!1};return Promise.resolve({provider:this.#e.provider,connectionInfo:t})}async execute({plan:t,placeholderValues:r,transaction:n,batchIndex:i}){let o=n?await this.#r.getTransaction(n,i!==void 0?"batch query":"query"):this.#e;return await Ir.forSql({transactionManager:n?{enabled:!1}:{enabled:!0,manager:this.#r},placeholderValues:r,onQuery:this.#t.onQuery,tracingHelper:this.#t.tracingHelper,provider:this.#t.provider,connectionInfo:this.#n}).run(t,o)}async startTransaction(t){return{...await this.#r.startTransaction(t),payload:void 0}}async commitTransaction(t){await this.#r.commitTransaction(t.id)}async rollbackTransaction(t){await this.#r.rollbackTransaction(t.id)}async disconnect(){try{await this.#r.cancelAllTransactions()}finally{await this.#e.dispose()}}apiKey(){return null}};var ti=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Tc(e,t,r){let n=r||{},i=n.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ti.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!ti.test(o))throw new TypeError("argument val is invalid");let s=e+"="+o;if(n.maxAge!==void 0&&n.maxAge!==null){let a=n.maxAge-0;if(Number.isNaN(a)||!Number.isFinite(a))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(a)}if(n.domain){if(!ti.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!ti.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){if(!Rg(n.expires)||Number.isNaN(n.expires.valueOf()))throw new TypeError("option expires is invalid");s+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":{s+="; Priority=Low";break}case"medium":{s+="; Priority=Medium";break}case"high":{s+="; Priority=High";break}default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:{s+="; SameSite=Strict";break}case"lax":{s+="; SameSite=Lax";break}case"strict":{s+="; SameSite=Strict";break}case"none":{s+="; SameSite=None";break}default:throw new TypeError("option sameSite is invalid")}return n.partitioned&&(s+="; Partitioned"),s}function Rg(e){return Object.prototype.toString.call(e)==="[object Date]"||e instanceof Date}function Ac(e,t){let r=(e||"").split(";").filter(l=>typeof l=="string"&&!!l.trim()),n=r.shift()||"",i=Sg(n),o=i.name,s=i.value;try{s=t?.decode===!1?s:(t?.decode||decodeURIComponent)(s)}catch{}let a={name:o,value:s};for(let l of r){let c=l.split("="),u=(c.shift()||"").trimStart().toLowerCase(),p=c.join("=");switch(u){case"expires":{a.expires=new Date(p);break}case"max-age":{a.maxAge=Number.parseInt(p,10);break}case"secure":{a.secure=!0;break}case"httponly":{a.httpOnly=!0;break}case"samesite":{a.sameSite=p;break}default:a[u]=p}}return a}function Sg(e){let t="",r="",n=e.split("=");return n.length>1?(t=n.shift(),r=n.join("=")):r=e,{name:t,value:r}}var Ig=()=>globalThis.process?.release?.name==="node",kg=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Og=()=>!!globalThis.Deno,Dg=()=>typeof globalThis.Netlify=="object",Ng=()=>typeof globalThis.EdgeRuntime=="object",_g=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Mg(){return[[Dg,"netlify"],[Ng,"edge-light"],[_g,"workerd"],[Og,"deno"],[kg,"bun"],[Ig,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Fg={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Lg(){let e=Mg();return{id:e,prettyName:Fg[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function Lt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new _(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new _("error: Missing URL environment variable, value, or override.",n);return i}var ri=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var le=class extends ri{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};function R(e,t){return{...e,isRetryable:t}}var it=class extends le{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,R(r,!1))}};P(it,"InvalidDatasourceError");function ni(e){let t={clientVersion:e.clientVersion},r=Object.keys(e.inlineDatasources)[0],n=Lt({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,clientVersion:e.clientVersion,env:{...e.env,...typeof process<"u"?process.env:{}}}),i;try{i=new URL(n)}catch{throw new it(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==Zr)throw new it(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new it(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);let l=gi(i)?"http:":"https:";process.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(l="http:");let c=new URL(i.href.replace(o,l));return{apiKey:a,url:c}}var Cc=Ce(cs()),$t=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,transactionId:r}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":Cc.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-Transaction-Id"]=r);let i=this.#t();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#t(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}};function $g(e){return e[0]*1e3+e[1]/1e6}function Vt(e){return new Date($g(e))}var Rc=q("prisma:client:clientEngine:remoteExecutor"),ii=class{#t;#e;#r;#n;#s;constructor(t){this.#t=t.clientVersion,this.#n=t.logEmitter,this.#s=t.tracingHelper;let{url:r,apiKey:n}=ni({clientVersion:t.clientVersion,env:t.env,inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources});this.#r=new ko(r),this.#e=new $t({apiKey:n,engineHash:t.clientVersion,logLevel:t.logLevel,logQueries:t.logQueries,tracingHelper:t.tracingHelper})}async getConnectionInfo(){return await this.#i({path:"/connection-info",method:"GET"})}async execute({plan:t,placeholderValues:r,batchIndex:n,model:i,operation:o,transaction:s,customFetch:a}){return(await this.#i({path:s?`/transaction/${s.id}/query`:"/query",method:"POST",body:{model:i,operation:o,plan:t,params:r},batchRequestIdx:n,fetch:a})).data}async startTransaction(t){return{...await this.#i({path:"/transaction/start",method:"POST",body:t}),payload:void 0}}async commitTransaction(t){await this.#i({path:`/transaction/${t.id}/commit`,method:"POST"})}async rollbackTransaction(t){await this.#i({path:`/transaction/${t.id}/rollback`,method:"POST"})}disconnect(){return Promise.resolve()}apiKey(){return this.#e.apiKey}async#i({path:t,method:r,body:n,fetch:i=globalThis.fetch,batchRequestIdx:o}){let s=await this.#r.request({method:r,path:t,headers:this.#e.build(),body:n,fetch:i});s.ok||await this.#a(s,o);let a=await s.json();return typeof a.extensions=="object"&&a.extensions!==null&&this.#o(a.extensions),a}async#a(t,r){let n=t.headers.get("Prisma-Error-Code"),i=await t.text(),o,s=i;try{o=JSON.parse(i)}catch{o={}}typeof o.code=="string"&&(n=o.code),typeof o.error=="string"?s=o.error:typeof o.message=="string"?s=o.message:typeof o.InvalidRequestError=="object"&&o.InvalidRequestError!==null&&typeof o.InvalidRequestError.reason=="string"&&(s=o.InvalidRequestError.reason),s=s||`HTTP ${t.status}: ${t.statusText}`;let a=typeof o.meta=="object"&&o.meta!==null?o.meta:o;throw new B(s,{clientVersion:this.#t,code:n??"P6000",batchRequestIdx:r,meta:a})}#o(t){if(t.logs)for(let r of t.logs)this.#c(r);t.traces&&this.#s.dispatchEngineSpans(t.traces)}#c(t){switch(t.level){case"debug":case"trace":Rc(t);break;case"error":case"warn":case"info":{this.#n.emit(t.level,{timestamp:Vt(t.timestamp),message:t.attributes.message??"",target:t.target??"RemoteExecutor"});break}case"query":{this.#n.emit("query",{query:t.attributes.query??"",timestamp:Vt(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target??"RemoteExecutor"});break}default:throw new Error(`Unexpected log level: ${t.level}`)}}},ko=class{#t;#e;#r;constructor(t){this.#t=t,this.#e=new Map}async request({method:t,path:r,headers:n,body:i,fetch:o}){let s=new URL(r,this.#t),a=this.#n(s);a&&(n.Cookie=a),this.#r&&(n["Accelerate-Query-Engine-Jwt"]=this.#r);let l=await o(s.href,{method:t,body:i!==void 0?JSON.stringify(i):void 0,headers:n});return Rc(t,s,l.status,l.statusText),this.#r=l.headers.get("Accelerate-Query-Engine-Jwt")??void 0,this.#s(s,l),l}#n(t){let r=[],n=new Date;for(let[i,o]of this.#e){if(o.expires&&o.expires<n){this.#e.delete(i);continue}let s=o.domain??t.hostname,a=o.path??"/";t.hostname.endsWith(s)&&t.pathname.startsWith(a)&&r.push(Tc(o.name,o.value))}return r.length>0?r.join("; "):void 0}#s(t,r){let n=r.headers.getSetCookie?.()||[];if(n.length===0){let i=r.headers.get("Set-Cookie");i&&n.push(i)}for(let i of n){let o=Ac(i),s=o.domain??t.hostname,a=o.path??"/",l=`${s}:${a}:${o.name}`;this.#e.set(l,{name:o.name,value:o.value,domain:s,path:a,expires:o.expires})}}};var Oo={},Sc={async loadQueryCompiler(e){let{clientVersion:t,compilerWasm:r}=e;if(r===void 0)throw new _("WASM query compiler was unexpectedly `undefined`",t);let n;return e.activeProvider===void 0||Oo[e.activeProvider]===void 0?(n=(async()=>{let i=await r.getRuntime(),o=await r.getQueryCompilerWasmModule();if(o==null)throw new _("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",t);let s={"./query_compiler_bg.js":i},a=new WebAssembly.Instance(o,s),l=a.exports.__wbindgen_start;return i.__wbg_set_wasm(a.exports),l(),i.QueryCompiler})(),e.activeProvider!==void 0&&(Oo[e.activeProvider]=n)):n=Oo[e.activeProvider],await n}};var Vg="P2038",Nr=q("prisma:client:clientEngine"),kc=globalThis;kc.PRISMA_WASM_PANIC_REGISTRY={set_message(e){throw new oe(e,Xn)}};var qt=class{name="ClientEngine";#t;#e={type:"disconnected"};#r;#n;config;datamodel;logEmitter;logQueries;logLevel;tracingHelper;#s;constructor(t,r,n){if(r)this.#n={remote:!0};else if(t.adapter)this.#n={remote:!1,driverAdapterFactory:t.adapter},Nr("Using driver adapter: %O",t.adapter);else throw new _("Missing configured driver adapter. Engine type `client` requires an active driver adapter. Please check your PrismaClient initialization code.",t.clientVersion,Vg);this.#r=n??Sc,this.config=t,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug"),this.logQueries&&(this.#s=i=>{this.logEmitter.emit("query",{...i,params:br(i.params),target:"ClientEngine"})})}applyPendingMigrations(){throw new Error("Cannot call applyPendingMigrations on engine type client.")}async#i(){switch(this.#e.type){case"disconnected":{let t=this.tracingHelper.runInChildSpan("connect",async()=>{let r,n;try{r=await this.#a(),n=await this.#o(r)}catch(o){throw this.#e={type:"disconnected"},n?.free(),await r?.disconnect(),o}let i={executor:r,queryCompiler:n};return this.#e={type:"connected",engine:i},i});return this.#e={type:"connecting",promise:t},await t}case"connecting":return await this.#e.promise;case"connected":return this.#e.engine;case"disconnecting":return await this.#e.promise,await this.#i()}}async#a(){return this.#n.remote?new ii({clientVersion:this.config.clientVersion,env:this.config.env,inlineDatasources:this.config.inlineDatasources,logEmitter:this.logEmitter,logLevel:this.logLevel,logQueries:this.logQueries,overrideDatasources:this.config.overrideDatasources,tracingHelper:this.tracingHelper}):await ei.connect({driverAdapterFactory:this.#n.driverAdapterFactory,tracingHelper:this.tracingHelper,transactionOptions:{...this.config.transactionOptions,isolationLevel:this.#d(this.config.transactionOptions.isolationLevel)},onQuery:this.#s,provider:this.config.activeProvider})}async#o(t){let r=this.#t;r===void 0&&(r=await this.#r.loadQueryCompiler(this.config),this.#t=r);let{provider:n,connectionInfo:i}=await t.getConnectionInfo();try{return this.#u(()=>new r({datamodel:this.datamodel,provider:n,connectionInfo:i}),void 0,!1)}catch(o){throw this.#c(o)}}#c(t){if(t instanceof oe)return t;try{let r=JSON.parse(t.message);return new _(r.message,this.config.clientVersion,r.error_code)}catch{return t}}#l(t,r){if(t instanceof _)return t;if(t.code==="GenericFailure"&&t.message?.startsWith("PANIC:"))return new oe(Ic(this,t.message,r),this.config.clientVersion);if(t instanceof re)return new B(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion});try{let n=JSON.parse(t);return new Y(`${n.message}
79
79
  ${n.backtrace}`,{clientVersion:this.config.clientVersion})}catch{return t}}#p(t){return t instanceof oe?t:typeof t.message=="string"&&typeof t.code=="string"?new B(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion}):typeof t.message=="string"?new Y(t.message,{clientVersion:this.config.clientVersion}):t}#u(t,r,n=!0){let i=kc.PRISMA_WASM_PANIC_REGISTRY.set_message,o;global.PRISMA_WASM_PANIC_REGISTRY.set_message=s=>{o=s};try{return t()}finally{if(global.PRISMA_WASM_PANIC_REGISTRY.set_message=i,o)throw this.#t=void 0,n&&this.stop().catch(s=>Nr("failed to disconnect:",s)),new oe(Ic(this,o,r),this.config.clientVersion)}}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the client engine, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){await this.#i()}async stop(){switch(this.#e.type){case"disconnected":return;case"connecting":return await this.#e.promise,await this.stop();case"connected":{let t=this.#e.engine,r=this.tracingHelper.runInChildSpan("disconnect",async()=>{try{await t.executor.disconnect(),t.queryCompiler.free()}finally{this.#e={type:"disconnected"}}});return this.#e={type:"disconnecting",promise:r},await r}case"disconnecting":return await this.#e.promise}}version(){return"unknown"}async transaction(t,r,n){let i,{executor:o}=await this.#i();try{if(t==="start"){let s=n;i=await o.startTransaction({...s,isolationLevel:this.#d(s.isolationLevel)})}else if(t==="commit"){let s=n;await o.commitTransaction(s)}else if(t==="rollback"){let s=n;await o.rollbackTransaction(s)}else Ie(t,"Invalid transaction action.")}catch(s){throw this.#l(s)}return i?{id:i.id,payload:void 0}:void 0}async request(t,{interactiveTransaction:r,customDataProxyFetch:n}){Nr("sending request");let i=JSON.stringify(t),{executor:o,queryCompiler:s}=await this.#i().catch(l=>{throw this.#l(l,i)}),a;try{a=this.#u(()=>this.#m({queries:[t],execute:()=>s.compile(i)}))}catch(l){throw this.#p(l)}try{Nr("query plan created",a);let l={},c=await o.execute({plan:a,model:t.modelName,operation:t.action,placeholderValues:l,transaction:r,batchIndex:void 0,customFetch:n?.(globalThis.fetch)});return Nr("query plan executed"),{data:{[t.action]:c}}}catch(l){throw this.#l(l,i)}}async requestBatch(t,{transaction:r,customDataProxyFetch:n}){if(t.length===0)return[];let i=t[0].action,o=JSON.stringify(Ct(t,r)),{executor:s,queryCompiler:a}=await this.#i().catch(c=>{throw this.#l(c,o)}),l;try{l=this.#u(()=>this.#m({queries:t,execute:()=>a.compileBatch(o)}))}catch(c){throw this.#p(c)}try{let c;r?.kind==="itx"&&(c=r.options);let u={};switch(l.type){case"multi":{if(r?.kind!=="itx"){let m=r?.options.isolationLevel?{...this.config.transactionOptions,isolationLevel:r.options.isolationLevel}:this.config.transactionOptions;c=await this.transaction("start",{},m)}let p=[],d=!1;for(let[m,y]of l.plans.entries())try{let g=await s.execute({plan:y,placeholderValues:u,model:t[m].modelName,operation:t[m].action,batchIndex:m,transaction:c,customFetch:n?.(globalThis.fetch)});p.push({data:{[t[m].action]:g}})}catch(g){p.push(g),d=!0;break}return c!==void 0&&r?.kind!=="itx"&&(d?await this.transaction("rollback",{},c):await this.transaction("commit",{},c)),p}case"compacted":{if(!t.every(m=>m.action===i))throw new Error("All queries in a batch must have the same action");let p=await s.execute({plan:l.plan,placeholderValues:u,model:t[0].modelName,operation:i,batchIndex:void 0,transaction:c,customFetch:n?.(globalThis.fetch)});return ul(p,l).map(m=>({data:{[i]:m}}))}}}catch(c){throw this.#l(c,o)}}metrics(t){throw new Error("Method not implemented.")}async apiKey(){let{executor:t}=await this.#i();return t.apiKey()}#d(t){switch(t){case void 0:return;case"ReadUncommitted":return"READ UNCOMMITTED";case"ReadCommitted":return"READ COMMITTED";case"RepeatableRead":return"REPEATABLE READ";case"Serializable":return"SERIALIZABLE";case"Snapshot":return"SNAPSHOT";default:throw new B(`Inconsistent column data: Conversion failed: Invalid isolation level \`${t}\``,{code:"P2023",clientVersion:this.config.clientVersion,meta:{providedIsolationLevel:t}})}}#m({queries:t,execute:r}){return this.tracingHelper.runInChildSpan({name:"compile",attributes:{models:t.map(n=>n.modelName).filter(n=>n!==void 0),actions:t.map(n=>n.action)}},r)}};function Ic(e,t,r){return nl({binaryTarget:void 0,title:t,version:e.config.clientVersion,engineVersion:"unknown",database:e.config.activeProvider,query:r})}var Ut=class extends le{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",R(t,!0))}};P(Ut,"ForcedRetryError");var ot=class extends le{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,R(r,!1))}};P(ot,"NotImplementedYetError");var L=class extends le{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var st=class extends L{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",R(t,!0))}};P(st,"SchemaMissingError");var Do="This request could not be understood by the server",_r=class extends L{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||Do,R(t,!1)),n&&(this.code=n)}};P(_r,"BadRequestError");var Mr=class extends L{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",R(t,!0)),this.logs=r}};P(Mr,"HealthcheckTimeoutError");var Fr=class extends L{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,R(t,!0)),this.logs=n}};P(Fr,"EngineStartupError");var Lr=class extends L{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",R(t,!1))}};P(Lr,"EngineVersionNotSupportedError");var No="Request timed out",$r=class extends L{name="GatewayTimeoutError";code="P5009";constructor(t,r=No){super(r,R(t,!1))}};P($r,"GatewayTimeoutError");var qg="Interactive transaction error",Vr=class extends L{name="InteractiveTransactionError";code="P5015";constructor(t,r=qg){super(r,R(t,!1))}};P(Vr,"InteractiveTransactionError");var Ug="Request parameters are invalid",qr=class extends L{name="InvalidRequestError";code="P5011";constructor(t,r=Ug){super(r,R(t,!1))}};P(qr,"InvalidRequestError");var _o="Requested resource does not exist",Ur=class extends L{name="NotFoundError";code="P5003";constructor(t,r=_o){super(r,R(t,!1))}};P(Ur,"NotFoundError");var Mo="Unknown server error",jt=class extends L{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||Mo,R(t,!0)),this.logs=n}};P(jt,"ServerError");var Fo="Unauthorized, check your connection string",jr=class extends L{name="UnauthorizedError";code="P5007";constructor(t,r=Fo){super(r,R(t,!1))}};P(jr,"UnauthorizedError");var Lo="Usage exceeded, retry again later",Br=class extends L{name="UsageExceededError";code="P5008";constructor(t,r=Lo){super(r,R(t,!0))}};P(Br,"UsageExceededError");async function jg(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function Qr(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await jg(e);if(n.type==="QueryEngineError")throw new B(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new jt(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new st(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Lr(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Fr(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new _(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Mr(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Vr(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new qr(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new jr(r,Bt(Fo,n));if(e.status===404)return new Ur(r,Bt(_o,n));if(e.status===429)throw new Br(r,Bt(Lo,n));if(e.status===504)throw new $r(r,Bt(No,n));if(e.status>=500)throw new jt(r,Bt(Mo,n));if(e.status>=400)throw new _r(r,Bt(Do,n))}function Bt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}function Oc(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Dc(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,c,u;for(let p=0;p<o;p=p+3)u=t[p]<<16|t[p+1]<<8|t[p+2],s=(u&16515072)>>18,a=(u&258048)>>12,l=(u&4032)>>6,c=u&63,r+=Fe[s]+Fe[a]+Fe[l]+Fe[c];return i==1?(u=t[o],s=(u&252)>>2,a=(u&3)<<4,r+=Fe[s]+Fe[a]+"=="):i==2&&(u=t[o]<<8|t[o+1],s=(u&64512)>>10,a=(u&1008)>>4,l=(u&15)<<2,r+=Fe[s]+Fe[a]+Fe[l]+"="),r}function Nc(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new _("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}var _c={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.18.0-7.d3fc122f88ca3ce86f67a797debfb179a39ccf48","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};var Hr=class extends le{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service:
80
80
  ${t}`,R(r,!0))}};P(Hr,"RequestError");async function at(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new Hr(a,{clientVersion:n,cause:s})}}var Qg=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Mc=q("prisma:client:dataproxyEngine");async function Hg(e,t){let r=_c["@prisma/engines-version"],n=t.clientVersion??"unknown";if(process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&Qg.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,l,c]=s.split("."),u=Gg(`<=${a}.${l}.${c}`),p=await at(u,{clientVersion:n});if(!p.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${p.status} ${p.statusText}, response body: ${await p.text()||"<empty body>"}`);let d=await p.text();Mc("length of body fetched from unpkg.com",d.length);let m;try{m=JSON.parse(d)}catch(y){throw console.error("JSON.parse error: body fetched from unpkg.com: ",d),y}return m.version}throw new ot("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Fc(e,t){let r=await Hg(e,t);return Mc("version",r),r}function Gg(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Lc=3,Gr=q("prisma:client:dataproxyEngine"),Jr=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){Nc(t),this.config=t,this.env=t.env,this.inlineSchema=Dc(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.protocol=r.protocol,this.headerBuilder=new $t({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel??"error",logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await Fc(this.host,this.config),Gr("host",this.host),Gr("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":Gr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Vt(r.timestamp),message:r.attributes.message??"",target:r.target??"BinaryEngine"});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Vt(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target??"BinaryEngine"});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await at(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||Gr("schema response status",r.status);let n=await Qr(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Ct(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await at(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,transactionId:i?.id}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||Gr("graphql response status",a.status),await this.handleError(await Qr(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await at(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Qr(l,this.clientVersion));let c=await l.json(),{extensions:u}=c;u&&this.propagateResponseExtensions(u);let p=c.id,d=c["data-proxy"].endpoint;return{id:p,payload:{endpoint:d}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await at(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Qr(a,this.clientVersion));let l=await a.json(),{extensions:c}=l;c&&this.propagateResponseExtensions(c);return}}})}getURLAndAPIKey(){return ni({clientVersion:this.clientVersion,env:this.env,inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources})}metrics(){throw new ot("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof le)||!i.isRetryable)throw i;if(r>=Lc)throw i instanceof Ut?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Lc} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Oc(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof st)throw await this.uploadSchema(),new Ut({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Nn(t[0],this.config.clientVersion,this.config.activeProvider):new Y(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function $c({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=g=>{i.push({_tag:"warning",value:g})},a=g=>{let I=g.join(`
81
81
  `);o.push({_tag:"error",value:I})},l=!!e?.startsWith("prisma://"),c=Xr(e),u=!!t,p=l||c;!u&&r&&p&&n!=="client"&&n!=="wasm-compiler-edge"&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let d=p||!r;u&&(d||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):p?a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.","Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]):r||a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let m={accelerate:d,ppg:c,driverAdapters:u};function y(g){return g.length>0}return y(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:m}:{ok:!0,diagnostics:{warnings:i},isUsing:m}}function Vc({copyEngine:e=!0},t){let r;try{r=Lt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...process.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=$c({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"client"});for(let p of o.warnings)nn(...p.value);if(!n){let p=o.errors[0];throw new ee(p.value,{clientVersion:t.clientVersion})}let s=ut(t.generator),a=s==="library",l=s==="binary",c=s==="client",u=(i.accelerate||i.ppg)&&!i.driverAdapters;return c?new qt(t,u):i.accelerate?new Jr(t):(i.driverAdapters,i.accelerate,new qt(t,u))}function qc({generator:e}){return e?.previewFeatures??[]}var Uc=e=>({command:e});var jc=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);function Qt(e){try{return Bc(e,"fast")}catch{return Bc(e,"slow")}}function Bc(e,t){return JSON.stringify(e.map(r=>Hc(r,t)))}function Hc(e,t){if(Array.isArray(e))return e.map(r=>Hc(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(dt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(ae.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Jg(e))return{prisma__type:"bytes",prisma__value:Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Gc(e):e}function Jg(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Gc(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Qc);let t={};for(let r of Object.keys(e))t[r]=Qc(e[r]);return t}function Qc(e){return typeof e=="bigint"?e.toString():Gc(e)}var Wg=/^(\s*alter\s)/i,Jc=q("prisma:client");function $o(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&Wg.exec(t))throw new Error(`Running ALTER using ${n} is not supported