@animaapp/anima-sdk-react 0.6.23 → 0.6.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/utils.ts","../../sdk/dist/index.js","../../node_modules/eventsource/node_modules/eventsource-parser/dist/index.js","../../node_modules/eventsource/dist/index.js","../../node_modules/immer/dist/immer.mjs","../../node_modules/use-immer/dist/use-immer.module.mjs","../src/useAnimaCodegen.ts","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../node_modules/use-sync-external-store/shim/index.js","../../node_modules/swr/dist/_internal/events.mjs","../../node_modules/dequal/lite/index.mjs","../../node_modules/swr/dist/_internal/config-context-client-v7VOFo66.mjs","../../node_modules/swr/dist/_internal/constants.mjs","../../node_modules/swr/dist/_internal/index.mjs","../../node_modules/swr/dist/index/index.mjs","../src/useFigmaFile.ts"],"sourcesContent":["export const arrayBufferToBase64 = (buffer: ArrayBuffer) => {\n let binary = \"\";\n const bytes = new Uint8Array(buffer);\n const len = bytes.byteLength;\n for (let i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n\n return btoa(binary);\n};\n","var xs = Object.defineProperty, ks = Object.defineProperties;\nvar Ts = Object.getOwnPropertyDescriptors;\nvar Ft = Object.getOwnPropertySymbols;\nvar Ss = Object.prototype.hasOwnProperty, Es = Object.prototype.propertyIsEnumerable;\nvar Lt = (s) => {\n throw TypeError(s);\n};\nvar Dt = (s, e, t) => e in s ? xs(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, d = (s, e) => {\n for (var t in e || (e = {}))\n Ss.call(e, t) && Dt(s, t, e[t]);\n if (Ft)\n for (var t of Ft(e))\n Es.call(e, t) && Dt(s, t, e[t]);\n return s;\n}, g = (s, e) => ks(s, Ts(e));\nvar mt = (s, e, t) => e.has(s) || Lt(\"Cannot \" + t);\nvar C = (s, e, t) => (mt(s, e, \"read from private field\"), t ? t.call(s) : e.get(s)), tt = (s, e, t) => e.has(s) ? Lt(\"Cannot add the same private member more than once\") : e instanceof WeakSet ? e.add(s) : e.set(s, t), gt = (s, e, t, r) => (mt(s, e, \"write to private field\"), r ? r.call(s, t) : e.set(s, t), t), Te = (s, e, t) => (mt(s, e, \"access private method\"), t);\nvar I = (s, e, t) => new Promise((r, n) => {\n var a = (c) => {\n try {\n o(t.next(c));\n } catch (u) {\n n(u);\n }\n }, i = (c) => {\n try {\n o(t.throw(c));\n } catch (u) {\n n(u);\n }\n }, o = (c) => c.done ? r(c.value) : Promise.resolve(c.value).then(a, i);\n o((t = t.apply(s, e)).next());\n});\nclass me extends Error {\n constructor({\n name: e,\n reason: t,\n status: r,\n detail: n\n }) {\n super(), this.name = e, this.message = t, this.detail = n, this.status = r;\n }\n}\nconst Qt = \"Figma Token Issue\";\nclass As extends Error {\n constructor({\n fileKey: e,\n reason: t,\n cause: r\n }) {\n super(Qt), this.fileKey = e, this.reason = t, this.cause = r;\n }\n}\nconst es = \"Rate Limit Exceeded\";\nclass Cs extends Error {\n constructor({ fileKey: e, cause: t }) {\n super(es), this.fileKey = e, this.cause = t;\n }\n}\nconst ts = \"Request Too Large\";\nclass Is extends Error {\n constructor({ fileKey: e, cause: t }) {\n super(ts), this.fileKey = e, this.cause = t;\n }\n}\nconst ss = \"Not Found\";\nclass Os extends Error {\n constructor({ fileKey: e, cause: t }) {\n super(ss), this.fileKey = e, this.cause = t;\n }\n}\nconst Ns = (s) => s.message === ss, rs = \"Unknown Figma API Exception\";\nclass js extends Error {\n constructor({ fileKey: e, cause: t }) {\n super(rs), this.name = \"UnknownFigmaApiException\", this.fileKey = e, this.cause = t;\n }\n}\nconst Yn = (s) => s.message === rs, Rs = (s) => s.message === es, Zs = (s) => [Qt, ...[\n \"Invalid Figma token\",\n \"Figma token expired\"\n]].includes(\n s.message\n), Ms = (s) => s.message === ts, ns = (s, e) => {\n var r;\n if (((r = s == null ? void 0 : s.cause) == null ? void 0 : r.message) === \"Fetch Error\") {\n const { err: n, status: a } = s.cause.body;\n if (a === 403)\n return new As({\n fileKey: e,\n reason: n,\n cause: s\n });\n if (a === 429)\n return new Cs({ fileKey: e, cause: s });\n if (a === 404)\n return new Os({ fileKey: e, cause: s });\n if (a === 400 && n.includes(\"Request too large\"))\n return new Is({ fileKey: e, cause: s });\n }\n return new js({ fileKey: e, cause: s });\n}, Qn = (s) => Ns(s) ? \"NotFound\" : Rs(s) ? \"RateLimitExceeded\" : Zs(s) ? \"FigmaTokenIssue\" : Ms(s) ? \"RequestTooLarge\" : \"UnknownFigmaApiException\";\nvar Ps = Object.defineProperty, $s = Object.defineProperties, Fs = Object.getOwnPropertyDescriptors, Vt = Object.getOwnPropertySymbols, Ds = Object.prototype.hasOwnProperty, Ls = Object.prototype.propertyIsEnumerable, Ut = (s, e) => (e = Symbol[s]) ? e : Symbol.for(\"Symbol.\" + s), as = (s) => {\n throw TypeError(s);\n}, Wt = (s, e, t) => e in s ? Ps(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, V = (s, e) => {\n for (var t in e || (e = {}))\n Ds.call(e, t) && Wt(s, t, e[t]);\n if (Vt)\n for (var t of Vt(e))\n Ls.call(e, t) && Wt(s, t, e[t]);\n return s;\n}, Zt = (s, e) => $s(s, Fs(e)), Mt = (s, e, t) => e.has(s) || as(\"Cannot \" + t), S = (s, e, t) => (Mt(s, e, \"read from private field\"), t ? t.call(s) : e.get(s)), z = (s, e, t) => e.has(s) ? as(\"Cannot add the same private member more than once\") : e instanceof WeakSet ? e.add(s) : e.set(s, t), R = (s, e, t, r) => (Mt(s, e, \"write to private field\"), e.set(s, t), t), K = (s, e, t) => (Mt(s, e, \"access private method\"), t), N = (s, e, t) => new Promise((r, n) => {\n var a = (c) => {\n try {\n o(t.next(c));\n } catch (u) {\n n(u);\n }\n }, i = (c) => {\n try {\n o(t.throw(c));\n } catch (u) {\n n(u);\n }\n }, o = (c) => c.done ? r(c.value) : Promise.resolve(c.value).then(a, i);\n o((t = t.apply(s, e)).next());\n}), Vs = (s, e, t) => (e = s[Ut(\"asyncIterator\")]) ? e.call(s) : (s = s[Ut(\"iterator\")](), e = {}, t = (r, n) => (n = s[r]) && (e[r] = (a) => new Promise((i, o, c) => (a = n.call(s, a), c = a.done, Promise.resolve(a.value).then((u) => i({ value: u, done: c }), o)))), t(\"next\"), t(\"return\"), e), Us = typeof globalThis != \"undefined\" ? globalThis : typeof window != \"undefined\" ? window : typeof global != \"undefined\" ? global : typeof self != \"undefined\" ? self : {};\nfunction Ws(s) {\n return s && s.__esModule && Object.prototype.hasOwnProperty.call(s, \"default\") ? s.default : s;\n}\nvar wt = { exports: {} }, zs = wt.exports, zt;\nfunction Bs() {\n return zt || (zt = 1, function(s, e) {\n (function(t, r) {\n s.exports = r();\n })(zs, function() {\n var t = typeof Promise == \"function\", r = typeof self == \"object\" ? self : Us, n = typeof Symbol != \"undefined\", a = typeof Map != \"undefined\", i = typeof Set != \"undefined\", o = typeof WeakMap != \"undefined\", c = typeof WeakSet != \"undefined\", u = typeof DataView != \"undefined\", f = n && typeof Symbol.iterator != \"undefined\", v = n && typeof Symbol.toStringTag != \"undefined\", j = i && typeof Set.prototype.entries == \"function\", M = a && typeof Map.prototype.entries == \"function\", F = j && Object.getPrototypeOf((/* @__PURE__ */ new Set()).entries()), W = M && Object.getPrototypeOf((/* @__PURE__ */ new Map()).entries()), ee = f && typeof Array.prototype[Symbol.iterator] == \"function\", he = ee && Object.getPrototypeOf([][Symbol.iterator]()), ie = f && typeof String.prototype[Symbol.iterator] == \"function\", L = ie && Object.getPrototypeOf(\"\"[Symbol.iterator]()), oe = 8, et = -1;\n function xe(E) {\n var ke = typeof E;\n if (ke !== \"object\")\n return ke;\n if (E === null)\n return \"null\";\n if (E === r)\n return \"global\";\n if (Array.isArray(E) && (v === !1 || !(Symbol.toStringTag in E)))\n return \"Array\";\n if (typeof window == \"object\" && window !== null) {\n if (typeof window.location == \"object\" && E === window.location)\n return \"Location\";\n if (typeof window.document == \"object\" && E === window.document)\n return \"Document\";\n if (typeof window.navigator == \"object\") {\n if (typeof window.navigator.mimeTypes == \"object\" && E === window.navigator.mimeTypes)\n return \"MimeTypeArray\";\n if (typeof window.navigator.plugins == \"object\" && E === window.navigator.plugins)\n return \"PluginArray\";\n }\n if ((typeof window.HTMLElement == \"function\" || typeof window.HTMLElement == \"object\") && E instanceof window.HTMLElement) {\n if (E.tagName === \"BLOCKQUOTE\")\n return \"HTMLQuoteElement\";\n if (E.tagName === \"TD\")\n return \"HTMLTableDataCellElement\";\n if (E.tagName === \"TH\")\n return \"HTMLTableHeaderCellElement\";\n }\n }\n var pe = v && E[Symbol.toStringTag];\n if (typeof pe == \"string\")\n return pe;\n var b = Object.getPrototypeOf(E);\n return b === RegExp.prototype ? \"RegExp\" : b === Date.prototype ? \"Date\" : t && b === Promise.prototype ? \"Promise\" : i && b === Set.prototype ? \"Set\" : a && b === Map.prototype ? \"Map\" : c && b === WeakSet.prototype ? \"WeakSet\" : o && b === WeakMap.prototype ? \"WeakMap\" : u && b === DataView.prototype ? \"DataView\" : a && b === W ? \"Map Iterator\" : i && b === F ? \"Set Iterator\" : ee && b === he ? \"Array Iterator\" : ie && b === L ? \"String Iterator\" : b === null ? \"Object\" : Object.prototype.toString.call(E).slice(oe, et);\n }\n return xe;\n });\n }(wt)), wt.exports;\n}\nvar qs = Bs();\nconst Hs = /* @__PURE__ */ Ws(qs), Pt = typeof Buffer != \"undefined\", Js = Pt && typeof Buffer.from != \"undefined\", Gs = Pt ? (\n /**\n * is value is Buffer?\n *\n * @param {*} value\n * @return {boolean}\n */\n function(s) {\n return Buffer.isBuffer(s);\n }\n) : (\n /**\n * return false\n *\n * NOTE: for Buffer unsupported\n *\n * @return {boolean}\n */\n function() {\n return !1;\n }\n), Ks = Js ? (\n /**\n * copy Buffer\n *\n * @param {Buffer} value\n * @return {Buffer}\n */\n function(s) {\n return Buffer.from(s);\n }\n) : Pt ? (\n /**\n * copy Buffer\n *\n * NOTE: for old node.js\n *\n * @param {Buffer} value\n * @return {Buffer}\n */\n function(s) {\n return new Buffer(s);\n }\n) : (\n /**\n * shallow copy\n *\n * NOTE: for Buffer unsupported\n *\n * @param {*}\n * @return {*}\n */\n function(s) {\n return s;\n }\n);\nfunction Ce(s) {\n return Gs(s) ? \"Buffer\" : Hs(s);\n}\nconst Xs = /* @__PURE__ */ new Set([\n \"Arguments\",\n \"Array\",\n \"Map\",\n \"Object\",\n \"Set\"\n]);\nfunction Ys(s, e, t = null) {\n switch (t || Ce(s)) {\n case \"Arguments\":\n case \"Array\":\n case \"Object\":\n return s[e];\n case \"Map\":\n return s.get(e);\n case \"Set\":\n return e;\n }\n}\nfunction xt(s) {\n return Xs.has(s);\n}\nfunction Bt(s, e, t, r = null) {\n switch (r || Ce(s)) {\n case \"Arguments\":\n case \"Array\":\n case \"Object\":\n s[e] = t;\n break;\n case \"Map\":\n s.set(e, t);\n break;\n case \"Set\":\n s.add(t);\n break;\n }\n return s;\n}\nconst Qs = typeof globalThis != \"undefined\" && globalThis !== null && globalThis.Object === Object && globalThis, er = typeof global != \"undefined\" && global !== null && global.Object === Object && global, tr = typeof self != \"undefined\" && self !== null && self.Object === Object && self, yt = Qs || er || tr || Function(\"return this\")();\nfunction sr(s) {\n return s.slice(0);\n}\nfunction rr(s) {\n return new Boolean(s.valueOf());\n}\nfunction nr(s) {\n return new DataView(s.buffer);\n}\nfunction ar(s) {\n return Ks(s);\n}\nfunction ir(s) {\n return new Date(s.getTime());\n}\nfunction or(s) {\n return new Number(s);\n}\nfunction cr(s) {\n return new RegExp(s.source, s.flags);\n}\nfunction ur(s) {\n return new String(s);\n}\nfunction te(s, e) {\n return yt[e].from ? yt[e].from(s) : new yt[e](s);\n}\nfunction P(s) {\n return s;\n}\nfunction qt() {\n return [];\n}\nfunction dr() {\n return /* @__PURE__ */ new Map();\n}\nfunction lr() {\n return {};\n}\nfunction fr() {\n return /* @__PURE__ */ new Set();\n}\nconst hr = /* @__PURE__ */ new Map([\n // deep copy\n [\"ArrayBuffer\", sr],\n [\"Boolean\", rr],\n [\"Buffer\", ar],\n [\"DataView\", nr],\n [\"Date\", ir],\n [\"Number\", or],\n [\"RegExp\", cr],\n [\"String\", ur],\n // typed arrays\n // TODO: pass bound function\n [\"Float32Array\", te],\n [\"Float64Array\", te],\n [\"Int16Array\", te],\n [\"Int32Array\", te],\n [\"Int8Array\", te],\n [\"Uint16Array\", te],\n [\"Uint32Array\", te],\n [\"Uint8Array\", te],\n [\"Uint8ClampedArray\", te],\n // shallow copy\n [\"Array Iterator\", P],\n [\"Map Iterator\", P],\n [\"Promise\", P],\n [\"Set Iterator\", P],\n [\"String Iterator\", P],\n [\"function\", P],\n [\"global\", P],\n // NOTE: WeakMap and WeakSet cannot get entries\n [\"WeakMap\", P],\n [\"WeakSet\", P],\n // primitives\n [\"boolean\", P],\n [\"null\", P],\n [\"number\", P],\n [\"string\", P],\n [\"symbol\", P],\n [\"undefined\", P],\n // collections\n // NOTE: return empty value, because recursively copy later.\n [\"Arguments\", qt],\n [\"Array\", qt],\n [\"Map\", dr],\n [\"Object\", lr],\n [\"Set\", fr]\n // NOTE: type-detect returns following types\n // 'Location'\n // 'Document'\n // 'MimeTypeArray'\n // 'PluginArray'\n // 'HTMLQuoteElement'\n // 'HTMLTableDataCellElement'\n // 'HTMLTableHeaderCellElement'\n // TODO: is type-detect never return 'object'?\n // 'object'\n]);\nfunction pr() {\n}\nfunction kt(s, e = null, t = pr) {\n arguments.length === 2 && typeof e == \"function\" && (t = e, e = null);\n const r = e || Ce(s), n = hr.get(r);\n if (r === \"Object\") {\n const a = t(s, r);\n if (a !== void 0)\n return a;\n }\n return n ? n(s, r) : s;\n}\nfunction je(s, e = {}) {\n typeof e == \"function\" && (e = {\n customizer: e\n });\n const {\n // TODO: before/after customizer\n customizer: t\n // TODO: max depth\n // depth = Infinity,\n } = e, r = Ce(s);\n if (!xt(r))\n return Tt(s, null, null, null);\n const n = kt(s, r, t), a = new WeakMap([[s, n]]), i = new WeakSet([s]);\n return Tt(s, n, a, i);\n}\nfunction Tt(s, e, t, r, n) {\n const a = Ce(s), i = kt(s, a);\n if (!xt(a))\n return i;\n let o;\n switch (a) {\n case \"Arguments\":\n case \"Array\":\n o = Object.keys(s);\n break;\n case \"Object\":\n o = Object.keys(s), o.push(...Object.getOwnPropertySymbols(s));\n break;\n case \"Map\":\n case \"Set\":\n o = s.keys();\n break;\n }\n for (let c of o) {\n const u = Ys(s, c, a);\n if (r.has(u))\n Bt(e, c, t.get(u), a);\n else {\n const f = Ce(u), v = kt(u, f);\n xt(f) && (t.set(u, v), r.add(u)), Bt(\n e,\n c,\n Tt(\n u,\n v,\n t,\n r\n ),\n a\n );\n }\n }\n return e;\n}\nconst mr = (s) => new Promise((e) => setTimeout(e, s));\nvar st, ge, rt, St, is;\nclass gr {\n constructor({ maxAttempts: e = 3, func: t }) {\n z(this, St), z(this, st), z(this, ge), z(this, rt), R(this, st, e), R(this, rt, t), R(this, ge, 0);\n }\n run() {\n return N(this, null, function* () {\n try {\n return yield S(this, rt).call(this);\n } catch (e) {\n if (R(this, ge, S(this, ge) + 1), S(this, ge) > S(this, st))\n throw console.error(\"Max attempts reached\"), e;\n const t = K(this, St, is).call(this);\n return yield mr(t), yield this.run();\n }\n });\n }\n}\nst = /* @__PURE__ */ new WeakMap(), ge = /* @__PURE__ */ new WeakMap(), rt = /* @__PURE__ */ new WeakMap(), St = /* @__PURE__ */ new WeakSet(), is = function() {\n return S(this, ge) * 1e3 * 1.5;\n};\nfunction yr() {\n return typeof CompressionStream != \"undefined\";\n}\nfunction vr(s) {\n return N(this, null, function* () {\n const e = new Blob([s]).stream().pipeThrough(new CompressionStream(\"gzip\")), t = [];\n try {\n for (var r = Vs(e), n, a, i; n = !(a = yield r.next()).done; n = !1) {\n const o = a.value;\n t.push(o);\n }\n } catch (o) {\n i = [o];\n } finally {\n try {\n n && (a = r.return) && (yield a.call(r));\n } finally {\n if (i)\n throw i[0];\n }\n }\n return yield _r(t);\n });\n}\nfunction _r(s) {\n return N(this, null, function* () {\n const e = yield new Blob(s).arrayBuffer();\n return new Uint8Array(e);\n });\n}\nclass br extends Error {\n constructor({ resource: e, api: t, args: r, cause: n }) {\n if (super(`API Error on resource \"${e}\" at api \"${t}\"`), this.causeProperties = {}, this.name = \"API Error\", this.resource = e, this.api = t, this.cause = n, this.args = r, n instanceof Error)\n for (const [i, o] of Object.entries(n))\n if (typeof Headers != \"undefined\" && o instanceof Headers) {\n const c = {};\n o.forEach((u, f) => {\n c[f] = u;\n }), this.causeProperties[i] = c;\n } else\n this.causeProperties[i] = o;\n const a = this.causeProperties.body;\n a && typeof a == \"object\" && \"code\" in a && (this.code = a.code);\n }\n}\nclass Ht extends Error {\n constructor({\n url: e,\n method: t,\n statusCode: r,\n requestHeaders: n,\n responseHeaders: a,\n body: i\n }) {\n if (super(\"Fetch Error\"), this.name = \"Fetch Error\", this.url = e, this.method = t, this.statusNumber = r, this.requestHeaders = n, this.responseHeaders = a, i)\n try {\n const o = JSON.parse(i);\n this.body = o;\n } catch (o) {\n this.body = i;\n }\n }\n}\nclass Re extends Error {\n constructor(e = {}) {\n const { canceled: t = !1 } = e;\n super(\"Abort Error\"), this.name = \"Abort Error\", this.canceled = t;\n }\n}\nclass wr extends Error {\n constructor(e) {\n super(`Async API Error: ${JSON.stringify(e)}`), this.name = \"Async API Error\", this.body = e;\n }\n}\nclass vt extends Error {\n constructor(e) {\n super(e), this.name = \"Request Validation Error\";\n }\n}\nfunction os() {\n return Array.from(\n { length: 32 },\n () => Math.floor(Math.random() * 256).toString(16).padStart(2, \"0\")\n ).join(\"\");\n}\nfunction Et() {\n return Math.floor(Date.now() / 1e3).toString();\n}\nconst xr = 5 * 60 * 1e3, kr = 1 * 1e3;\nvar ye, D, J, At, Ct, Ze;\nclass Tr {\n constructor({ fetch: e = globalThis.fetch.bind(globalThis), baseAddress: t }) {\n z(this, J), z(this, ye), z(this, D), this.baseAddress = t, R(this, ye, e), R(this, D, {}), this.plugins = [];\n }\n get headers() {\n throw new Error(\"Missing implementation\");\n }\n addPlugin(e) {\n this.plugins.push(e);\n }\n removePlugin(e) {\n this.plugins = this.plugins.filter((t) => t.name !== e);\n }\n withOptions(e = {}) {\n return R(this, D, e), this;\n }\n get(e) {\n return N(this, arguments, function* (t, r = {}) {\n const { overrideBaseAddress: n, overrideDefaultHeaders: a } = r, i = n != null ? n : this.baseAddress;\n let o = a != null ? a : this.headers;\n const c = je(S(this, D));\n return R(this, D, {}), c.extraHeaders && (o = V(V({}, o), c.extraHeaders)), c.requestValidation && (o = Zt(V({}, o), { \"X-Request-Nonce\": os(), \"X-Request-Timestamp\": Et() })), c.async ? yield K(this, J, Ct).call(this, `${i}${t}`, c.async, { headers: o }) : yield K(this, J, At).call(this, `${i}${t}`, c, { headers: o });\n });\n }\n post(e, t) {\n return N(this, arguments, function* (r, n, a = {}) {\n const i = je(S(this, D));\n return R(this, D, {}), K(this, J, Ze).call(this, r, \"POST\", n, a, i);\n });\n }\n put(e, t) {\n return N(this, arguments, function* (r, n, a = {}) {\n const i = je(S(this, D));\n return R(this, D, {}), K(this, J, Ze).call(this, r, \"PUT\", n, a, i);\n });\n }\n delete(e, t) {\n return N(this, arguments, function* (r, n, a = {}) {\n const i = je(S(this, D));\n return R(this, D, {}), K(this, J, Ze).call(this, r, \"DELETE\", n, a, i);\n });\n }\n patch(e, t) {\n return N(this, arguments, function* (r, n, a = {}) {\n const i = je(S(this, D));\n return R(this, D, {}), K(this, J, Ze).call(this, r, \"PATCH\", n, a, i);\n });\n }\n}\nye = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakSet(), At = function(s, e, t) {\n return N(this, null, function* () {\n const r = () => N(this, null, function* () {\n var c, u;\n try {\n return yield S(this, ye).call(this, s, V(V({}, t), e.abortSignal && { signal: e.abortSignal }));\n } catch (f) {\n throw f instanceof Error && f.name === \"AbortError\" ? new Re({ canceled: (u = (c = e.abortSignal) == null ? void 0 : c.aborted) != null ? u : !1 }) : f;\n }\n }), { headers: n } = t != null ? t : {}, a = (c, u) => {\n var f, v;\n return ((f = c == null ? void 0 : c.headers) == null ? void 0 : f.get(u)) || ((v = c == null ? void 0 : c.headersObject) == null ? void 0 : v[u]) || \"\";\n }, i = (c) => N(this, null, function* () {\n var u;\n if (!c.ok) {\n const v = yield c.text().catch();\n throw new Ht({\n url: s,\n method: (u = t == null ? void 0 : t.method) != null ? u : \"GET\",\n statusCode: c.status,\n requestHeaders: n,\n responseHeaders: c.headers,\n body: v\n });\n }\n if (e.requestValidation && process.env.UI_TESTS !== !0)\n try {\n const v = a(c, \"x-response-nonce\"), j = n == null ? void 0 : n[\"X-Request-Nonce\"];\n if (!v || v !== j)\n throw new vt(\"Response nonce mismatch\");\n const M = Number(a(c, \"x-response-timestamp\")), F = Number(Et()), W = 60 * 60 * 24;\n if (isNaN(M) || Math.abs(F - M) > W)\n throw new vt(\"Invalid response timestamp\");\n } catch (v) {\n const j = v instanceof Error ? v.message : \"Request validation failed\";\n throw new vt(j);\n }\n let f = yield c.text();\n try {\n f = JSON.parse(f);\n } catch (v) {\n }\n return f;\n });\n if (e.retry) {\n const c = yield new gr({\n maxAttempts: e.retry,\n func: r\n }).run();\n return yield i(c);\n }\n const o = yield r();\n return yield i(o);\n });\n}, Ct = function(s, e, t) {\n return N(this, null, function* () {\n var r, n;\n const {\n onProgress: a,\n abortSignal: i,\n pollingInterval: o = () => kr,\n maxTimeout: c = xr\n } = e, u = `${s}/async`, f = `${s}/async/job`;\n let v;\n try {\n v = yield S(this, ye).call(this, u, V(V({}, t), i && { signal: i }));\n } catch (F) {\n throw F instanceof Error && F.name === \"AbortError\" ? new Re({ canceled: (r = i == null ? void 0 : i.aborted) != null ? r : !1 }) : F;\n }\n if (!v.ok) {\n const F = yield v.text().catch();\n throw new Ht({\n url: s,\n method: (n = t == null ? void 0 : t.method) != null ? n : \"GET\",\n statusCode: v.status,\n requestHeaders: this.headers,\n responseHeaders: v.headers,\n body: F\n });\n }\n const j = yield v.json(), { job_id: M } = j;\n if (!M)\n throw new Error(\"Job ID not found in response\");\n return new Promise((F, W) => N(this, null, function* () {\n const ee = setTimeout(() => {\n W(new Error(\"Job timed out\"));\n }, c), he = (ie = 0) => N(this, null, function* () {\n if (i != null && i.aborted) {\n clearTimeout(ee), S(this, ye).call(this, `${f}/${M}/cancel`, { method: \"POST\", headers: this.headers }).then(() => {\n W(new Re({ canceled: !0 }));\n }).catch((L) => {\n W(new Re({ canceled: !1 }));\n });\n return;\n }\n try {\n const L = yield (yield S(this, ye).call(this, `${f}/${M}`, { headers: this.headers })).json();\n if (L.status === \"success\") {\n clearTimeout(ee);\n const oe = L.response_json;\n F(oe);\n } else if (L.status === \"failed\")\n clearTimeout(ee), W(new wr(L.response_json));\n else {\n a && a(L.response_json);\n const oe = o(ie);\n setTimeout(() => he(ie + 1), oe);\n }\n } catch (L) {\n W(L);\n }\n });\n he();\n }));\n });\n}, Ze = function(s, e, t, r, n) {\n return N(this, null, function* () {\n const { overrideBaseAddress: a, overrideDefaultHeaders: i } = r, o = a != null ? a : this.baseAddress;\n let c = i != null ? i : this.headers;\n n.extraHeaders && (c = V(V({}, c), n.extraHeaders)), n.requestValidation && (c = Zt(V({}, c), { \"X-Request-Nonce\": os(), \"X-Request-Timestamp\": Et() }));\n let u = t;\n return typeof FormData != \"undefined\" && t instanceof FormData ? delete c[\"Content-Type\"] : (u = r.skipBodyJsonStringify ? t : JSON.stringify(t), n.compress && yr() && (c[\"Content-Encoding\"] = \"gzip\", u = yield vr(u))), n.async ? yield K(this, J, Ct).call(this, `${o}${s}`, n.async, {\n method: e,\n headers: c,\n body: u\n }) : yield K(this, J, At).call(this, `${o}${s}`, n, { method: e, headers: c, body: u });\n });\n};\nconst Jt = (s, e, t, r) => s instanceof Re ? s : new br({ resource: e, api: String(t), args: r, cause: s }), _t = (s, e) => new Proxy(e, {\n get(t, r) {\n return (...n) => {\n var a;\n for (const o of s.plugins) {\n const c = (a = o.beforeApi) == null ? void 0 : a.call(o, { resource: t.resourceName, api: r, args: n });\n if (c !== void 0)\n return c;\n }\n let i;\n try {\n i = t[r](...n);\n } catch (o) {\n throw Jt(o, t.resourceName, r, n);\n }\n return i instanceof Promise ? i.catch((o) => {\n throw Jt(o, t.resourceName, r, n);\n }) : i;\n };\n }\n});\nvar Me;\nclass Sr {\n constructor(e) {\n z(this, Me), this.resourceName = \"Files\", R(this, Me, e);\n }\n get(e) {\n return N(this, arguments, function* ({ fileKey: t, params: r = {} }) {\n const n = new URLSearchParams(V({\n plugin_data: \"857346721138427857\"\n }, r)).toString(), a = `v1/files/${t}?${n}`;\n return yield S(this, Me).get(a);\n });\n }\n getImageFills(e) {\n return N(this, arguments, function* ({ fileKey: t }) {\n var r, n;\n const a = `v1/files/${t}/images`;\n return (n = (r = (yield S(this, Me).get(a)).meta) == null ? void 0 : r.images) != null ? n : {};\n });\n }\n}\nMe = /* @__PURE__ */ new WeakMap();\nconst Er = (s, e, t) => {\n const r = e.sort();\n return `${s}-${r.join(\"-\")}-${t}`;\n}, Ar = (s) => s ? s.ts > Date.now() - 1e3 * 30 : !1;\nvar G, It, cs;\nclass Cr {\n constructor(e) {\n z(this, It), z(this, G), this.resourceName = \"Images\", R(this, G, e);\n }\n /**\n * Return the URL for the _layer_ images for the given nodes.\n * Note: Use the `file.images` API to get the _source_ images used on the node fills, which has better quality.\n */\n get(e) {\n return N(this, arguments, function* ({ fileKey: t, nodeIds: r, format: n = \"jpg\", scale: a }) {\n const i = Er(t, r, n), o = S(this, G).cache.images.entries.get(i);\n if (Ar(o))\n return o.result;\n o && S(this, G).cache.images.entries.delete(i);\n const c = S(this, G).cache.images.pendingRequests.get(i);\n if (c)\n return c;\n const u = K(this, It, cs).call(this, i, t, r, n, a);\n S(this, G).cache.images.pendingRequests.set(i, u);\n try {\n return yield u;\n } finally {\n S(this, G).cache.images.pendingRequests.delete(i);\n }\n });\n }\n}\nG = /* @__PURE__ */ new WeakMap(), It = /* @__PURE__ */ new WeakSet(), cs = function(s, e, t, r, n) {\n return N(this, null, function* () {\n const a = yield S(this, G).get(\n `v1/images/${e}?ids=${t}&format=${r}${n ? `&scale=${n}` : \"\"}`\n );\n return S(this, G).cache.images.entries.set(s, {\n result: a,\n ts: Date.now()\n }), a;\n });\n};\nvar nt;\nclass Ir {\n constructor(e) {\n z(this, nt), this.resourceName = \"Nodes\", R(this, nt, e);\n }\n get(e) {\n return N(this, arguments, function* ({ fileKey: t, nodeIds: r, params: n = {} }) {\n const a = Zt(V({}, n), {\n ids: r.join(\",\")\n }), i = new URLSearchParams(V({\n plugin_data: \"857346721138427857\"\n }, a)).toString(), o = `v1/files/${t}/nodes?${i}`;\n return yield S(this, nt).get(o);\n });\n }\n}\nnt = /* @__PURE__ */ new WeakMap();\nvar ce;\nclass us extends Tr {\n constructor({\n baseAddress: e = \"https://api.figma.com/\",\n fetch: t = globalThis.fetch.bind(globalThis)\n } = {}) {\n super({ fetch: t, baseAddress: e }), z(this, ce, \"\"), this.cache = {\n images: {\n entries: /* @__PURE__ */ new Map(),\n pendingRequests: /* @__PURE__ */ new Map()\n }\n }, this.files = _t(this, new Sr(this)), this.nodes = _t(this, new Ir(this)), this.images = _t(this, new Cr(this));\n }\n set token(e) {\n if (!e.startsWith(\"figd_\") && !e.startsWith(\"figu_\"))\n throw new Error(\"Invalid Figma access token\");\n R(this, ce, e);\n }\n get token() {\n return S(this, ce);\n }\n get headers() {\n const e = {\n \"Content-Type\": \"application/json\"\n };\n return S(this, ce).startsWith(\"figd_\") ? e[\"X-FIGMA-TOKEN\"] = S(this, ce) : S(this, ce).startsWith(\"figu_\") && (e.Authorization = `Bearer ${S(this, ce)}`), e;\n }\n}\nce = /* @__PURE__ */ new WeakMap();\nconst Or = (a) => I(void 0, [a], function* ({\n fileKey: s,\n authToken: e,\n figmaRestApi: t = new us(),\n params: r = {},\n signal: n\n}) {\n e && (t.token = e);\n try {\n return yield t.withOptions({\n abortSignal: n\n }).files.get({\n fileKey: s,\n params: r\n });\n } catch (i) {\n throw i instanceof Error && i.name === \"AbortError\" ? i : (console.error(i), ns(i, s));\n }\n}), ea = (i) => I(void 0, [i], function* ({\n fileKey: s,\n authToken: e,\n nodeIds: t,\n figmaRestApi: r = new us(),\n params: n = {},\n signal: a\n}) {\n e && (r.token = e);\n try {\n return (yield r.withOptions({\n abortSignal: a\n }).nodes.get({\n fileKey: s,\n nodeIds: t,\n params: d({}, n)\n })).nodes;\n } catch (o) {\n throw o instanceof Error && o.name === \"AbortError\" ? o : ns(o, s);\n }\n}), ds = (s, e) => {\n if (s.id === e)\n return s;\n if (\"children\" in s)\n for (const t of s.children) {\n const r = ds(t, e);\n if (r)\n return r;\n }\n return null;\n};\nvar k;\n(function(s) {\n s.assertEqual = (n) => n;\n function e(n) {\n }\n s.assertIs = e;\n function t(n) {\n throw new Error();\n }\n s.assertNever = t, s.arrayToEnum = (n) => {\n const a = {};\n for (const i of n)\n a[i] = i;\n return a;\n }, s.getValidEnumValues = (n) => {\n const a = s.objectKeys(n).filter((o) => typeof n[n[o]] != \"number\"), i = {};\n for (const o of a)\n i[o] = n[o];\n return s.objectValues(i);\n }, s.objectValues = (n) => s.objectKeys(n).map(function(a) {\n return n[a];\n }), s.objectKeys = typeof Object.keys == \"function\" ? (n) => Object.keys(n) : (n) => {\n const a = [];\n for (const i in n)\n Object.prototype.hasOwnProperty.call(n, i) && a.push(i);\n return a;\n }, s.find = (n, a) => {\n for (const i of n)\n if (a(i))\n return i;\n }, s.isInteger = typeof Number.isInteger == \"function\" ? (n) => Number.isInteger(n) : (n) => typeof n == \"number\" && isFinite(n) && Math.floor(n) === n;\n function r(n, a = \" | \") {\n return n.map((i) => typeof i == \"string\" ? `'${i}'` : i).join(a);\n }\n s.joinValues = r, s.jsonStringifyReplacer = (n, a) => typeof a == \"bigint\" ? a.toString() : a;\n})(k || (k = {}));\nvar Ot;\n(function(s) {\n s.mergeShapes = (e, t) => d(d({}, e), t);\n})(Ot || (Ot = {}));\nconst p = k.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\"\n]), re = (s) => {\n switch (typeof s) {\n case \"undefined\":\n return p.undefined;\n case \"string\":\n return p.string;\n case \"number\":\n return isNaN(s) ? p.nan : p.number;\n case \"boolean\":\n return p.boolean;\n case \"function\":\n return p.function;\n case \"bigint\":\n return p.bigint;\n case \"symbol\":\n return p.symbol;\n case \"object\":\n return Array.isArray(s) ? p.array : s === null ? p.null : s.then && typeof s.then == \"function\" && s.catch && typeof s.catch == \"function\" ? p.promise : typeof Map != \"undefined\" && s instanceof Map ? p.map : typeof Set != \"undefined\" && s instanceof Set ? p.set : typeof Date != \"undefined\" && s instanceof Date ? p.date : p.object;\n default:\n return p.unknown;\n }\n}, l = k.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\"\n]), Nr = (s) => JSON.stringify(s, null, 2).replace(/\"([^\"]+)\":/g, \"$1:\");\nclass U extends Error {\n get errors() {\n return this.issues;\n }\n constructor(e) {\n super(), this.issues = [], this.addIssue = (r) => {\n this.issues = [...this.issues, r];\n }, this.addIssues = (r = []) => {\n this.issues = [...this.issues, ...r];\n };\n const t = new.target.prototype;\n Object.setPrototypeOf ? Object.setPrototypeOf(this, t) : this.__proto__ = t, this.name = \"ZodError\", this.issues = e;\n }\n format(e) {\n const t = e || function(a) {\n return a.message;\n }, r = { _errors: [] }, n = (a) => {\n for (const i of a.issues)\n if (i.code === \"invalid_union\")\n i.unionErrors.map(n);\n else if (i.code === \"invalid_return_type\")\n n(i.returnTypeError);\n else if (i.code === \"invalid_arguments\")\n n(i.argumentsError);\n else if (i.path.length === 0)\n r._errors.push(t(i));\n else {\n let o = r, c = 0;\n for (; c < i.path.length; ) {\n const u = i.path[c];\n c === i.path.length - 1 ? (o[u] = o[u] || { _errors: [] }, o[u]._errors.push(t(i))) : o[u] = o[u] || { _errors: [] }, o = o[u], c++;\n }\n }\n };\n return n(this), r;\n }\n static assert(e) {\n if (!(e instanceof U))\n throw new Error(`Not a ZodError: ${e}`);\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, k.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(e = (t) => t.message) {\n const t = {}, r = [];\n for (const n of this.issues)\n n.path.length > 0 ? (t[n.path[0]] = t[n.path[0]] || [], t[n.path[0]].push(e(n))) : r.push(e(n));\n return { formErrors: r, fieldErrors: t };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nU.create = (s) => new U(s);\nconst Ie = (s, e) => {\n let t;\n switch (s.code) {\n case l.invalid_type:\n s.received === p.undefined ? t = \"Required\" : t = `Expected ${s.expected}, received ${s.received}`;\n break;\n case l.invalid_literal:\n t = `Invalid literal value, expected ${JSON.stringify(s.expected, k.jsonStringifyReplacer)}`;\n break;\n case l.unrecognized_keys:\n t = `Unrecognized key(s) in object: ${k.joinValues(s.keys, \", \")}`;\n break;\n case l.invalid_union:\n t = \"Invalid input\";\n break;\n case l.invalid_union_discriminator:\n t = `Invalid discriminator value. Expected ${k.joinValues(s.options)}`;\n break;\n case l.invalid_enum_value:\n t = `Invalid enum value. Expected ${k.joinValues(s.options)}, received '${s.received}'`;\n break;\n case l.invalid_arguments:\n t = \"Invalid function arguments\";\n break;\n case l.invalid_return_type:\n t = \"Invalid function return type\";\n break;\n case l.invalid_date:\n t = \"Invalid date\";\n break;\n case l.invalid_string:\n typeof s.validation == \"object\" ? \"includes\" in s.validation ? (t = `Invalid input: must include \"${s.validation.includes}\"`, typeof s.validation.position == \"number\" && (t = `${t} at one or more positions greater than or equal to ${s.validation.position}`)) : \"startsWith\" in s.validation ? t = `Invalid input: must start with \"${s.validation.startsWith}\"` : \"endsWith\" in s.validation ? t = `Invalid input: must end with \"${s.validation.endsWith}\"` : k.assertNever(s.validation) : s.validation !== \"regex\" ? t = `Invalid ${s.validation}` : t = \"Invalid\";\n break;\n case l.too_small:\n s.type === \"array\" ? t = `Array must contain ${s.exact ? \"exactly\" : s.inclusive ? \"at least\" : \"more than\"} ${s.minimum} element(s)` : s.type === \"string\" ? t = `String must contain ${s.exact ? \"exactly\" : s.inclusive ? \"at least\" : \"over\"} ${s.minimum} character(s)` : s.type === \"number\" ? t = `Number must be ${s.exact ? \"exactly equal to \" : s.inclusive ? \"greater than or equal to \" : \"greater than \"}${s.minimum}` : s.type === \"date\" ? t = `Date must be ${s.exact ? \"exactly equal to \" : s.inclusive ? \"greater than or equal to \" : \"greater than \"}${new Date(Number(s.minimum))}` : t = \"Invalid input\";\n break;\n case l.too_big:\n s.type === \"array\" ? t = `Array must contain ${s.exact ? \"exactly\" : s.inclusive ? \"at most\" : \"less than\"} ${s.maximum} element(s)` : s.type === \"string\" ? t = `String must contain ${s.exact ? \"exactly\" : s.inclusive ? \"at most\" : \"under\"} ${s.maximum} character(s)` : s.type === \"number\" ? t = `Number must be ${s.exact ? \"exactly\" : s.inclusive ? \"less than or equal to\" : \"less than\"} ${s.maximum}` : s.type === \"bigint\" ? t = `BigInt must be ${s.exact ? \"exactly\" : s.inclusive ? \"less than or equal to\" : \"less than\"} ${s.maximum}` : s.type === \"date\" ? t = `Date must be ${s.exact ? \"exactly\" : s.inclusive ? \"smaller than or equal to\" : \"smaller than\"} ${new Date(Number(s.maximum))}` : t = \"Invalid input\";\n break;\n case l.custom:\n t = \"Invalid input\";\n break;\n case l.invalid_intersection_types:\n t = \"Intersection results could not be merged\";\n break;\n case l.not_multiple_of:\n t = `Number must be a multiple of ${s.multipleOf}`;\n break;\n case l.not_finite:\n t = \"Number must be finite\";\n break;\n default:\n t = e.defaultError, k.assertNever(s);\n }\n return { message: t };\n};\nlet ls = Ie;\nfunction jr(s) {\n ls = s;\n}\nfunction at() {\n return ls;\n}\nconst it = (s) => {\n const { data: e, path: t, errorMaps: r, issueData: n } = s, a = [...t, ...n.path || []], i = g(d({}, n), {\n path: a\n });\n if (n.message !== void 0)\n return g(d({}, n), {\n path: a,\n message: n.message\n });\n let o = \"\";\n const c = r.filter((u) => !!u).slice().reverse();\n for (const u of c)\n o = u(i, { data: e, defaultError: o }).message;\n return g(d({}, n), {\n path: a,\n message: o\n });\n}, Rr = [];\nfunction h(s, e) {\n const t = at(), r = it({\n issueData: e,\n data: s.data,\n path: s.path,\n errorMaps: [\n s.common.contextualErrorMap,\n // contextual error map is first priority\n s.schemaErrorMap,\n // then schema-bound map if available\n t,\n // then global override map\n t === Ie ? void 0 : Ie\n // then global default map\n ].filter((n) => !!n)\n });\n s.common.issues.push(r);\n}\nclass Z {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n this.value === \"valid\" && (this.value = \"dirty\");\n }\n abort() {\n this.value !== \"aborted\" && (this.value = \"aborted\");\n }\n static mergeArray(e, t) {\n const r = [];\n for (const n of t) {\n if (n.status === \"aborted\")\n return _;\n n.status === \"dirty\" && e.dirty(), r.push(n.value);\n }\n return { status: e.value, value: r };\n }\n static mergeObjectAsync(e, t) {\n return I(this, null, function* () {\n const r = [];\n for (const n of t) {\n const a = yield n.key, i = yield n.value;\n r.push({\n key: a,\n value: i\n });\n }\n return Z.mergeObjectSync(e, r);\n });\n }\n static mergeObjectSync(e, t) {\n const r = {};\n for (const n of t) {\n const { key: a, value: i } = n;\n if (a.status === \"aborted\" || i.status === \"aborted\")\n return _;\n a.status === \"dirty\" && e.dirty(), i.status === \"dirty\" && e.dirty(), a.value !== \"__proto__\" && (typeof i.value != \"undefined\" || n.alwaysSet) && (r[a.value] = i.value);\n }\n return { status: e.value, value: r };\n }\n}\nconst _ = Object.freeze({\n status: \"aborted\"\n}), Ee = (s) => ({ status: \"dirty\", value: s }), $ = (s) => ({ status: \"valid\", value: s }), Nt = (s) => s.status === \"aborted\", jt = (s) => s.status === \"dirty\", _e = (s) => s.status === \"valid\", De = (s) => typeof Promise != \"undefined\" && s instanceof Promise;\nfunction ot(s, e, t, r) {\n if (typeof e == \"function\" ? s !== e || !0 : !e.has(s)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return e.get(s);\n}\nfunction fs(s, e, t, r, n) {\n if (typeof e == \"function\" ? s !== e || !0 : !e.has(s)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return e.set(s, t), t;\n}\nvar m;\n(function(s) {\n s.errToObj = (e) => typeof e == \"string\" ? { message: e } : e || {}, s.toString = (e) => typeof e == \"string\" ? e : e == null ? void 0 : e.message;\n})(m || (m = {}));\nvar Pe, $e;\nclass Y {\n constructor(e, t, r, n) {\n this._cachedPath = [], this.parent = e, this.data = t, this._path = r, this._key = n;\n }\n get path() {\n return this._cachedPath.length || (this._key instanceof Array ? this._cachedPath.push(...this._path, ...this._key) : this._cachedPath.push(...this._path, this._key)), this._cachedPath;\n }\n}\nconst Gt = (s, e) => {\n if (_e(e))\n return { success: !0, data: e.value };\n if (!s.common.issues.length)\n throw new Error(\"Validation failed but no issues detected.\");\n return {\n success: !1,\n get error() {\n if (this._error)\n return this._error;\n const t = new U(s.common.issues);\n return this._error = t, this._error;\n }\n };\n};\nfunction w(s) {\n if (!s)\n return {};\n const { errorMap: e, invalid_type_error: t, required_error: r, description: n } = s;\n if (e && (t || r))\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n return e ? { errorMap: e, description: n } : { errorMap: (i, o) => {\n var c, u;\n const { message: f } = s;\n return i.code === \"invalid_enum_value\" ? { message: f != null ? f : o.defaultError } : typeof o.data == \"undefined\" ? { message: (c = f != null ? f : r) !== null && c !== void 0 ? c : o.defaultError } : i.code !== \"invalid_type\" ? { message: o.defaultError } : { message: (u = f != null ? f : t) !== null && u !== void 0 ? u : o.defaultError };\n }, description: n };\n}\nclass x {\n get description() {\n return this._def.description;\n }\n _getType(e) {\n return re(e.data);\n }\n _getOrReturnCtx(e, t) {\n return t || {\n common: e.parent.common,\n data: e.data,\n parsedType: re(e.data),\n schemaErrorMap: this._def.errorMap,\n path: e.path,\n parent: e.parent\n };\n }\n _processInputParams(e) {\n return {\n status: new Z(),\n ctx: {\n common: e.parent.common,\n data: e.data,\n parsedType: re(e.data),\n schemaErrorMap: this._def.errorMap,\n path: e.path,\n parent: e.parent\n }\n };\n }\n _parseSync(e) {\n const t = this._parse(e);\n if (De(t))\n throw new Error(\"Synchronous parse encountered promise.\");\n return t;\n }\n _parseAsync(e) {\n const t = this._parse(e);\n return Promise.resolve(t);\n }\n parse(e, t) {\n const r = this.safeParse(e, t);\n if (r.success)\n return r.data;\n throw r.error;\n }\n safeParse(e, t) {\n var r;\n const n = {\n common: {\n issues: [],\n async: (r = t == null ? void 0 : t.async) !== null && r !== void 0 ? r : !1,\n contextualErrorMap: t == null ? void 0 : t.errorMap\n },\n path: (t == null ? void 0 : t.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data: e,\n parsedType: re(e)\n }, a = this._parseSync({ data: e, path: n.path, parent: n });\n return Gt(n, a);\n }\n \"~validate\"(e) {\n var t, r;\n const n = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data: e,\n parsedType: re(e)\n };\n if (!this[\"~standard\"].async)\n try {\n const a = this._parseSync({ data: e, path: [], parent: n });\n return _e(a) ? {\n value: a.value\n } : {\n issues: n.common.issues\n };\n } catch (a) {\n !((r = (t = a == null ? void 0 : a.message) === null || t === void 0 ? void 0 : t.toLowerCase()) === null || r === void 0) && r.includes(\"encountered\") && (this[\"~standard\"].async = !0), n.common = {\n issues: [],\n async: !0\n };\n }\n return this._parseAsync({ data: e, path: [], parent: n }).then((a) => _e(a) ? {\n value: a.value\n } : {\n issues: n.common.issues\n });\n }\n parseAsync(e, t) {\n return I(this, null, function* () {\n const r = yield this.safeParseAsync(e, t);\n if (r.success)\n return r.data;\n throw r.error;\n });\n }\n safeParseAsync(e, t) {\n return I(this, null, function* () {\n const r = {\n common: {\n issues: [],\n contextualErrorMap: t == null ? void 0 : t.errorMap,\n async: !0\n },\n path: (t == null ? void 0 : t.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data: e,\n parsedType: re(e)\n }, n = this._parse({ data: e, path: r.path, parent: r }), a = yield De(n) ? n : Promise.resolve(n);\n return Gt(r, a);\n });\n }\n refine(e, t) {\n const r = (n) => typeof t == \"string\" || typeof t == \"undefined\" ? { message: t } : typeof t == \"function\" ? t(n) : t;\n return this._refinement((n, a) => {\n const i = e(n), o = () => a.addIssue(d({\n code: l.custom\n }, r(n)));\n return typeof Promise != \"undefined\" && i instanceof Promise ? i.then((c) => c ? !0 : (o(), !1)) : i ? !0 : (o(), !1);\n });\n }\n refinement(e, t) {\n return this._refinement((r, n) => e(r) ? !0 : (n.addIssue(typeof t == \"function\" ? t(r, n) : t), !1));\n }\n _refinement(e) {\n return new H({\n schema: this,\n typeName: y.ZodEffects,\n effect: { type: \"refinement\", refinement: e }\n });\n }\n superRefine(e) {\n return this._refinement(e);\n }\n constructor(e) {\n this.spa = this.safeParseAsync, this._def = e, this.parse = this.parse.bind(this), this.safeParse = this.safeParse.bind(this), this.parseAsync = this.parseAsync.bind(this), this.safeParseAsync = this.safeParseAsync.bind(this), this.spa = this.spa.bind(this), this.refine = this.refine.bind(this), this.refinement = this.refinement.bind(this), this.superRefine = this.superRefine.bind(this), this.optional = this.optional.bind(this), this.nullable = this.nullable.bind(this), this.nullish = this.nullish.bind(this), this.array = this.array.bind(this), this.promise = this.promise.bind(this), this.or = this.or.bind(this), this.and = this.and.bind(this), this.transform = this.transform.bind(this), this.brand = this.brand.bind(this), this.default = this.default.bind(this), this.catch = this.catch.bind(this), this.describe = this.describe.bind(this), this.pipe = this.pipe.bind(this), this.readonly = this.readonly.bind(this), this.isNullable = this.isNullable.bind(this), this.isOptional = this.isOptional.bind(this), this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (t) => this[\"~validate\"](t)\n };\n }\n optional() {\n return X.create(this, this._def);\n }\n nullable() {\n return fe.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return q.create(this);\n }\n promise() {\n return Ne.create(this, this._def);\n }\n or(e) {\n return We.create([this, e], this._def);\n }\n and(e) {\n return ze.create(this, e, this._def);\n }\n transform(e) {\n return new H(g(d({}, w(this._def)), {\n schema: this,\n typeName: y.ZodEffects,\n effect: { type: \"transform\", transform: e }\n }));\n }\n default(e) {\n const t = typeof e == \"function\" ? e : () => e;\n return new Ge(g(d({}, w(this._def)), {\n innerType: this,\n defaultValue: t,\n typeName: y.ZodDefault\n }));\n }\n brand() {\n return new $t(d({\n typeName: y.ZodBranded,\n type: this\n }, w(this._def)));\n }\n catch(e) {\n const t = typeof e == \"function\" ? e : () => e;\n return new Ke(g(d({}, w(this._def)), {\n innerType: this,\n catchValue: t,\n typeName: y.ZodCatch\n }));\n }\n describe(e) {\n const t = this.constructor;\n return new t(g(d({}, this._def), {\n description: e\n }));\n }\n pipe(e) {\n return Qe.create(this, e);\n }\n readonly() {\n return Xe.create(this);\n }\n isOptional() {\n return this.safeParse(void 0).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst Zr = /^c[^\\s-]{8,}$/i, Mr = /^[0-9a-z]+$/, Pr = /^[0-9A-HJKMNP-TV-Z]{26}$/i, $r = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i, Fr = /^[a-z0-9_-]{21}$/i, Dr = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/, Lr = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/, Vr = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i, Ur = \"^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$\";\nlet bt;\nconst Wr = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, zr = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/, Br = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/, qr = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, Hr = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/, Jr = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/, hs = \"((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))\", Gr = new RegExp(`^${hs}$`);\nfunction ps(s) {\n let e = \"([01]\\\\d|2[0-3]):[0-5]\\\\d:[0-5]\\\\d\";\n return s.precision ? e = `${e}\\\\.\\\\d{${s.precision}}` : s.precision == null && (e = `${e}(\\\\.\\\\d+)?`), e;\n}\nfunction Kr(s) {\n return new RegExp(`^${ps(s)}$`);\n}\nfunction ms(s) {\n let e = `${hs}T${ps(s)}`;\n const t = [];\n return t.push(s.local ? \"Z?\" : \"Z\"), s.offset && t.push(\"([+-]\\\\d{2}:?\\\\d{2})\"), e = `${e}(${t.join(\"|\")})`, new RegExp(`^${e}$`);\n}\nfunction Xr(s, e) {\n return !!((e === \"v4\" || !e) && Wr.test(s) || (e === \"v6\" || !e) && Br.test(s));\n}\nfunction Yr(s, e) {\n if (!Dr.test(s))\n return !1;\n try {\n const [t] = s.split(\".\"), r = t.replace(/-/g, \"+\").replace(/_/g, \"/\").padEnd(t.length + (4 - t.length % 4) % 4, \"=\"), n = JSON.parse(atob(r));\n return !(typeof n != \"object\" || n === null || !n.typ || !n.alg || e && n.alg !== e);\n } catch (t) {\n return !1;\n }\n}\nfunction Qr(s, e) {\n return !!((e === \"v4\" || !e) && zr.test(s) || (e === \"v6\" || !e) && qr.test(s));\n}\nclass B extends x {\n _parse(e) {\n if (this._def.coerce && (e.data = String(e.data)), this._getType(e) !== p.string) {\n const a = this._getOrReturnCtx(e);\n return h(a, {\n code: l.invalid_type,\n expected: p.string,\n received: a.parsedType\n }), _;\n }\n const r = new Z();\n let n;\n for (const a of this._def.checks)\n if (a.kind === \"min\")\n e.data.length < a.value && (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.too_small,\n minimum: a.value,\n type: \"string\",\n inclusive: !0,\n exact: !1,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"max\")\n e.data.length > a.value && (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.too_big,\n maximum: a.value,\n type: \"string\",\n inclusive: !0,\n exact: !1,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"length\") {\n const i = e.data.length > a.value, o = e.data.length < a.value;\n (i || o) && (n = this._getOrReturnCtx(e, n), i ? h(n, {\n code: l.too_big,\n maximum: a.value,\n type: \"string\",\n inclusive: !0,\n exact: !0,\n message: a.message\n }) : o && h(n, {\n code: l.too_small,\n minimum: a.value,\n type: \"string\",\n inclusive: !0,\n exact: !0,\n message: a.message\n }), r.dirty());\n } else if (a.kind === \"email\")\n Vr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"email\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"emoji\")\n bt || (bt = new RegExp(Ur, \"u\")), bt.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"emoji\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"uuid\")\n $r.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"uuid\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"nanoid\")\n Fr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"nanoid\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"cuid\")\n Zr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"cuid\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"cuid2\")\n Mr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"cuid2\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"ulid\")\n Pr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"ulid\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"url\")\n try {\n new URL(e.data);\n } catch (i) {\n n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"url\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty();\n }\n else a.kind === \"regex\" ? (a.regex.lastIndex = 0, a.regex.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"regex\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty())) : a.kind === \"trim\" ? e.data = e.data.trim() : a.kind === \"includes\" ? e.data.includes(a.value, a.position) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: { includes: a.value, position: a.position },\n message: a.message\n }), r.dirty()) : a.kind === \"toLowerCase\" ? e.data = e.data.toLowerCase() : a.kind === \"toUpperCase\" ? e.data = e.data.toUpperCase() : a.kind === \"startsWith\" ? e.data.startsWith(a.value) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: { startsWith: a.value },\n message: a.message\n }), r.dirty()) : a.kind === \"endsWith\" ? e.data.endsWith(a.value) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: { endsWith: a.value },\n message: a.message\n }), r.dirty()) : a.kind === \"datetime\" ? ms(a).test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: \"datetime\",\n message: a.message\n }), r.dirty()) : a.kind === \"date\" ? Gr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: \"date\",\n message: a.message\n }), r.dirty()) : a.kind === \"time\" ? Kr(a).test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: \"time\",\n message: a.message\n }), r.dirty()) : a.kind === \"duration\" ? Lr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"duration\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"ip\" ? Xr(e.data, a.version) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"ip\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"jwt\" ? Yr(e.data, a.alg) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"jwt\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"cidr\" ? Qr(e.data, a.version) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"cidr\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"base64\" ? Hr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"base64\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"base64url\" ? Jr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"base64url\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : k.assertNever(a);\n return { status: r.value, value: e.data };\n }\n _regex(e, t, r) {\n return this.refinement((n) => e.test(n), d({\n validation: t,\n code: l.invalid_string\n }, m.errToObj(r)));\n }\n _addCheck(e) {\n return new B(g(d({}, this._def), {\n checks: [...this._def.checks, e]\n }));\n }\n email(e) {\n return this._addCheck(d({ kind: \"email\" }, m.errToObj(e)));\n }\n url(e) {\n return this._addCheck(d({ kind: \"url\" }, m.errToObj(e)));\n }\n emoji(e) {\n return this._addCheck(d({ kind: \"emoji\" }, m.errToObj(e)));\n }\n uuid(e) {\n return this._addCheck(d({ kind: \"uuid\" }, m.errToObj(e)));\n }\n nanoid(e) {\n return this._addCheck(d({ kind: \"nanoid\" }, m.errToObj(e)));\n }\n cuid(e) {\n return this._addCheck(d({ kind: \"cuid\" }, m.errToObj(e)));\n }\n cuid2(e) {\n return this._addCheck(d({ kind: \"cuid2\" }, m.errToObj(e)));\n }\n ulid(e) {\n return this._addCheck(d({ kind: \"ulid\" }, m.errToObj(e)));\n }\n base64(e) {\n return this._addCheck(d({ kind: \"base64\" }, m.errToObj(e)));\n }\n base64url(e) {\n return this._addCheck(d({\n kind: \"base64url\"\n }, m.errToObj(e)));\n }\n jwt(e) {\n return this._addCheck(d({ kind: \"jwt\" }, m.errToObj(e)));\n }\n ip(e) {\n return this._addCheck(d({ kind: \"ip\" }, m.errToObj(e)));\n }\n cidr(e) {\n return this._addCheck(d({ kind: \"cidr\" }, m.errToObj(e)));\n }\n datetime(e) {\n var t, r;\n return typeof e == \"string\" ? this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: !1,\n local: !1,\n message: e\n }) : this._addCheck(d({\n kind: \"datetime\",\n precision: typeof (e == null ? void 0 : e.precision) == \"undefined\" ? null : e == null ? void 0 : e.precision,\n offset: (t = e == null ? void 0 : e.offset) !== null && t !== void 0 ? t : !1,\n local: (r = e == null ? void 0 : e.local) !== null && r !== void 0 ? r : !1\n }, m.errToObj(e == null ? void 0 : e.message)));\n }\n date(e) {\n return this._addCheck({ kind: \"date\", message: e });\n }\n time(e) {\n return typeof e == \"string\" ? this._addCheck({\n kind: \"time\",\n precision: null,\n message: e\n }) : this._addCheck(d({\n kind: \"time\",\n precision: typeof (e == null ? void 0 : e.precision) == \"undefined\" ? null : e == null ? void 0 : e.precision\n }, m.errToObj(e == null ? void 0 : e.message)));\n }\n duration(e) {\n return this._addCheck(d({ kind: \"duration\" }, m.errToObj(e)));\n }\n regex(e, t) {\n return this._addCheck(d({\n kind: \"regex\",\n regex: e\n }, m.errToObj(t)));\n }\n includes(e, t) {\n return this._addCheck(d({\n kind: \"includes\",\n value: e,\n position: t == null ? void 0 : t.position\n }, m.errToObj(t == null ? void 0 : t.message)));\n }\n startsWith(e, t) {\n return this._addCheck(d({\n kind: \"startsWith\",\n value: e\n }, m.errToObj(t)));\n }\n endsWith(e, t) {\n return this._addCheck(d({\n kind: \"endsWith\",\n value: e\n }, m.errToObj(t)));\n }\n min(e, t) {\n return this._addCheck(d({\n kind: \"min\",\n value: e\n }, m.errToObj(t)));\n }\n max(e, t) {\n return this._addCheck(d({\n kind: \"max\",\n value: e\n }, m.errToObj(t)));\n }\n length(e, t) {\n return this._addCheck(d({\n kind: \"length\",\n value: e\n }, m.errToObj(t)));\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(e) {\n return this.min(1, m.errToObj(e));\n }\n trim() {\n return new B(g(d({}, this._def), {\n checks: [...this._def.checks, { kind: \"trim\" }]\n }));\n }\n toLowerCase() {\n return new B(g(d({}, this._def), {\n checks: [...this._def.checks, { kind: \"toLowerCase\" }]\n }));\n }\n toUpperCase() {\n return new B(g(d({}, this._def), {\n checks: [...this._def.checks, { kind: \"toUpperCase\" }]\n }));\n }\n get isDatetime() {\n return !!this._def.checks.find((e) => e.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((e) => e.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((e) => e.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((e) => e.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((e) => e.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((e) => e.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((e) => e.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((e) => e.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((e) => e.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((e) => e.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((e) => e.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((e) => e.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((e) => e.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((e) => e.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((e) => e.kind === \"base64\");\n }\n get isBase64url() {\n return !!this._def.checks.find((e) => e.kind === \"base64url\");\n }\n get minLength() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"min\" && (e === null || t.value > e) && (e = t.value);\n return e;\n }\n get maxLength() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"max\" && (e === null || t.value < e) && (e = t.value);\n return e;\n }\n}\nB.create = (s) => {\n var e;\n return new B(d({\n checks: [],\n typeName: y.ZodString,\n coerce: (e = s == null ? void 0 : s.coerce) !== null && e !== void 0 ? e : !1\n }, w(s)));\n};\nfunction en(s, e) {\n const t = (s.toString().split(\".\")[1] || \"\").length, r = (e.toString().split(\".\")[1] || \"\").length, n = t > r ? t : r, a = parseInt(s.toFixed(n).replace(\".\", \"\")), i = parseInt(e.toFixed(n).replace(\".\", \"\"));\n return a % i / Math.pow(10, n);\n}\nclass ue extends x {\n constructor() {\n super(...arguments), this.min = this.gte, this.max = this.lte, this.step = this.multipleOf;\n }\n _parse(e) {\n if (this._def.coerce && (e.data = Number(e.data)), this._getType(e) !== p.number) {\n const a = this._getOrReturnCtx(e);\n return h(a, {\n code: l.invalid_type,\n expected: p.number,\n received: a.parsedType\n }), _;\n }\n let r;\n const n = new Z();\n for (const a of this._def.checks)\n a.kind === \"int\" ? k.isInteger(e.data) || (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: a.message\n }), n.dirty()) : a.kind === \"min\" ? (a.inclusive ? e.data < a.value : e.data <= a.value) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.too_small,\n minimum: a.value,\n type: \"number\",\n inclusive: a.inclusive,\n exact: !1,\n message: a.message\n }), n.dirty()) : a.kind === \"max\" ? (a.inclusive ? e.data > a.value : e.data >= a.value) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.too_big,\n maximum: a.value,\n type: \"number\",\n inclusive: a.inclusive,\n exact: !1,\n message: a.message\n }), n.dirty()) : a.kind === \"multipleOf\" ? en(e.data, a.value) !== 0 && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.not_multiple_of,\n multipleOf: a.value,\n message: a.message\n }), n.dirty()) : a.kind === \"finite\" ? Number.isFinite(e.data) || (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.not_finite,\n message: a.message\n }), n.dirty()) : k.assertNever(a);\n return { status: n.value, value: e.data };\n }\n gte(e, t) {\n return this.setLimit(\"min\", e, !0, m.toString(t));\n }\n gt(e, t) {\n return this.setLimit(\"min\", e, !1, m.toString(t));\n }\n lte(e, t) {\n return this.setLimit(\"max\", e, !0, m.toString(t));\n }\n lt(e, t) {\n return this.setLimit(\"max\", e, !1, m.toString(t));\n }\n setLimit(e, t, r, n) {\n return new ue(g(d({}, this._def), {\n checks: [\n ...this._def.checks,\n {\n kind: e,\n value: t,\n inclusive: r,\n message: m.toString(n)\n }\n ]\n }));\n }\n _addCheck(e) {\n return new ue(g(d({}, this._def), {\n checks: [...this._def.checks, e]\n }));\n }\n int(e) {\n return this._addCheck({\n kind: \"int\",\n message: m.toString(e)\n });\n }\n positive(e) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: !1,\n message: m.toString(e)\n });\n }\n negative(e) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: !1,\n message: m.toString(e)\n });\n }\n nonpositive(e) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: !0,\n message: m.toString(e)\n });\n }\n nonnegative(e) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: !0,\n message: m.toString(e)\n });\n }\n multipleOf(e, t) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: e,\n message: m.toString(t)\n });\n }\n finite(e) {\n return this._addCheck({\n kind: \"finite\",\n message: m.toString(e)\n });\n }\n safe(e) {\n return this._addCheck({\n kind: \"min\",\n inclusive: !0,\n value: Number.MIN_SAFE_INTEGER,\n message: m.toString(e)\n })._addCheck({\n kind: \"max\",\n inclusive: !0,\n value: Number.MAX_SAFE_INTEGER,\n message: m.toString(e)\n });\n }\n get minValue() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"min\" && (e === null || t.value > e) && (e = t.value);\n return e;\n }\n get maxValue() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"max\" && (e === null || t.value < e) && (e = t.value);\n return e;\n }\n get isInt() {\n return !!this._def.checks.find((e) => e.kind === \"int\" || e.kind === \"multipleOf\" && k.isInteger(e.value));\n }\n get isFinite() {\n let e = null, t = null;\n for (const r of this._def.checks) {\n if (r.kind === \"finite\" || r.kind === \"int\" || r.kind === \"multipleOf\")\n return !0;\n r.kind === \"min\" ? (t === null || r.value > t) && (t = r.value) : r.kind === \"max\" && (e === null || r.value < e) && (e = r.value);\n }\n return Number.isFinite(t) && Number.isFinite(e);\n }\n}\nue.create = (s) => new ue(d({\n checks: [],\n typeName: y.ZodNumber,\n coerce: (s == null ? void 0 : s.coerce) || !1\n}, w(s)));\nclass de extends x {\n constructor() {\n super(...arguments), this.min = this.gte, this.max = this.lte;\n }\n _parse(e) {\n if (this._def.coerce)\n try {\n e.data = BigInt(e.data);\n } catch (a) {\n return this._getInvalidInput(e);\n }\n if (this._getType(e) !== p.bigint)\n return this._getInvalidInput(e);\n let r;\n const n = new Z();\n for (const a of this._def.checks)\n a.kind === \"min\" ? (a.inclusive ? e.data < a.value : e.data <= a.value) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.too_small,\n type: \"bigint\",\n minimum: a.value,\n inclusive: a.inclusive,\n message: a.message\n }), n.dirty()) : a.kind === \"max\" ? (a.inclusive ? e.data > a.value : e.data >= a.value) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.too_big,\n type: \"bigint\",\n maximum: a.value,\n inclusive: a.inclusive,\n message: a.message\n }), n.dirty()) : a.kind === \"multipleOf\" ? e.data % a.value !== BigInt(0) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.not_multiple_of,\n multipleOf: a.value,\n message: a.message\n }), n.dirty()) : k.assertNever(a);\n return { status: n.value, value: e.data };\n }\n _getInvalidInput(e) {\n const t = this._getOrReturnCtx(e);\n return h(t, {\n code: l.invalid_type,\n expected: p.bigint,\n received: t.parsedType\n }), _;\n }\n gte(e, t) {\n return this.setLimit(\"min\", e, !0, m.toString(t));\n }\n gt(e, t) {\n return this.setLimit(\"min\", e, !1, m.toString(t));\n }\n lte(e, t) {\n return this.setLimit(\"max\", e, !0, m.toString(t));\n }\n lt(e, t) {\n return this.setLimit(\"max\", e, !1, m.toString(t));\n }\n setLimit(e, t, r, n) {\n return new de(g(d({}, this._def), {\n checks: [\n ...this._def.checks,\n {\n kind: e,\n value: t,\n inclusive: r,\n message: m.toString(n)\n }\n ]\n }));\n }\n _addCheck(e) {\n return new de(g(d({}, this._def), {\n checks: [...this._def.checks, e]\n }));\n }\n positive(e) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: !1,\n message: m.toString(e)\n });\n }\n negative(e) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: !1,\n message: m.toString(e)\n });\n }\n nonpositive(e) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: !0,\n message: m.toString(e)\n });\n }\n nonnegative(e) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: !0,\n message: m.toString(e)\n });\n }\n multipleOf(e, t) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: e,\n message: m.toString(t)\n });\n }\n get minValue() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"min\" && (e === null || t.value > e) && (e = t.value);\n return e;\n }\n get maxValue() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"max\" && (e === null || t.value < e) && (e = t.value);\n return e;\n }\n}\nde.create = (s) => {\n var e;\n return new de(d({\n checks: [],\n typeName: y.ZodBigInt,\n coerce: (e = s == null ? void 0 : s.coerce) !== null && e !== void 0 ? e : !1\n }, w(s)));\n};\nclass Le extends x {\n _parse(e) {\n if (this._def.coerce && (e.data = !!e.data), this._getType(e) !== p.boolean) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.boolean,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nLe.create = (s) => new Le(d({\n typeName: y.ZodBoolean,\n coerce: (s == null ? void 0 : s.coerce) || !1\n}, w(s)));\nclass be extends x {\n _parse(e) {\n if (this._def.coerce && (e.data = new Date(e.data)), this._getType(e) !== p.date) {\n const a = this._getOrReturnCtx(e);\n return h(a, {\n code: l.invalid_type,\n expected: p.date,\n received: a.parsedType\n }), _;\n }\n if (isNaN(e.data.getTime())) {\n const a = this._getOrReturnCtx(e);\n return h(a, {\n code: l.invalid_date\n }), _;\n }\n const r = new Z();\n let n;\n for (const a of this._def.checks)\n a.kind === \"min\" ? e.data.getTime() < a.value && (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.too_small,\n message: a.message,\n inclusive: !0,\n exact: !1,\n minimum: a.value,\n type: \"date\"\n }), r.dirty()) : a.kind === \"max\" ? e.data.getTime() > a.value && (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.too_big,\n message: a.message,\n inclusive: !0,\n exact: !1,\n maximum: a.value,\n type: \"date\"\n }), r.dirty()) : k.assertNever(a);\n return {\n status: r.value,\n value: new Date(e.data.getTime())\n };\n }\n _addCheck(e) {\n return new be(g(d({}, this._def), {\n checks: [...this._def.checks, e]\n }));\n }\n min(e, t) {\n return this._addCheck({\n kind: \"min\",\n value: e.getTime(),\n message: m.toString(t)\n });\n }\n max(e, t) {\n return this._addCheck({\n kind: \"max\",\n value: e.getTime(),\n message: m.toString(t)\n });\n }\n get minDate() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"min\" && (e === null || t.value > e) && (e = t.value);\n return e != null ? new Date(e) : null;\n }\n get maxDate() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"max\" && (e === null || t.value < e) && (e = t.value);\n return e != null ? new Date(e) : null;\n }\n}\nbe.create = (s) => new be(d({\n checks: [],\n coerce: (s == null ? void 0 : s.coerce) || !1,\n typeName: y.ZodDate\n}, w(s)));\nclass ct extends x {\n _parse(e) {\n if (this._getType(e) !== p.symbol) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.symbol,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nct.create = (s) => new ct(d({\n typeName: y.ZodSymbol\n}, w(s)));\nclass Ve extends x {\n _parse(e) {\n if (this._getType(e) !== p.undefined) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.undefined,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nVe.create = (s) => new Ve(d({\n typeName: y.ZodUndefined\n}, w(s)));\nclass Ue extends x {\n _parse(e) {\n if (this._getType(e) !== p.null) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.null,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nUe.create = (s) => new Ue(d({\n typeName: y.ZodNull\n}, w(s)));\nclass Oe extends x {\n constructor() {\n super(...arguments), this._any = !0;\n }\n _parse(e) {\n return $(e.data);\n }\n}\nOe.create = (s) => new Oe(d({\n typeName: y.ZodAny\n}, w(s)));\nclass ve extends x {\n constructor() {\n super(...arguments), this._unknown = !0;\n }\n _parse(e) {\n return $(e.data);\n }\n}\nve.create = (s) => new ve(d({\n typeName: y.ZodUnknown\n}, w(s)));\nclass ae extends x {\n _parse(e) {\n const t = this._getOrReturnCtx(e);\n return h(t, {\n code: l.invalid_type,\n expected: p.never,\n received: t.parsedType\n }), _;\n }\n}\nae.create = (s) => new ae(d({\n typeName: y.ZodNever\n}, w(s)));\nclass ut extends x {\n _parse(e) {\n if (this._getType(e) !== p.undefined) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.void,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nut.create = (s) => new ut(d({\n typeName: y.ZodVoid\n}, w(s)));\nclass q extends x {\n _parse(e) {\n const { ctx: t, status: r } = this._processInputParams(e), n = this._def;\n if (t.parsedType !== p.array)\n return h(t, {\n code: l.invalid_type,\n expected: p.array,\n received: t.parsedType\n }), _;\n if (n.exactLength !== null) {\n const i = t.data.length > n.exactLength.value, o = t.data.length < n.exactLength.value;\n (i || o) && (h(t, {\n code: i ? l.too_big : l.too_small,\n minimum: o ? n.exactLength.value : void 0,\n maximum: i ? n.exactLength.value : void 0,\n type: \"array\",\n inclusive: !0,\n exact: !0,\n message: n.exactLength.message\n }), r.dirty());\n }\n if (n.minLength !== null && t.data.length < n.minLength.value && (h(t, {\n code: l.too_small,\n minimum: n.minLength.value,\n type: \"array\",\n inclusive: !0,\n exact: !1,\n message: n.minLength.message\n }), r.dirty()), n.maxLength !== null && t.data.length > n.maxLength.value && (h(t, {\n code: l.too_big,\n maximum: n.maxLength.value,\n type: \"array\",\n inclusive: !0,\n exact: !1,\n message: n.maxLength.message\n }), r.dirty()), t.common.async)\n return Promise.all([...t.data].map((i, o) => n.type._parseAsync(new Y(t, i, t.path, o)))).then((i) => Z.mergeArray(r, i));\n const a = [...t.data].map((i, o) => n.type._parseSync(new Y(t, i, t.path, o)));\n return Z.mergeArray(r, a);\n }\n get element() {\n return this._def.type;\n }\n min(e, t) {\n return new q(g(d({}, this._def), {\n minLength: { value: e, message: m.toString(t) }\n }));\n }\n max(e, t) {\n return new q(g(d({}, this._def), {\n maxLength: { value: e, message: m.toString(t) }\n }));\n }\n length(e, t) {\n return new q(g(d({}, this._def), {\n exactLength: { value: e, message: m.toString(t) }\n }));\n }\n nonempty(e) {\n return this.min(1, e);\n }\n}\nq.create = (s, e) => new q(d({\n type: s,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: y.ZodArray\n}, w(e)));\nfunction Se(s) {\n if (s instanceof O) {\n const e = {};\n for (const t in s.shape) {\n const r = s.shape[t];\n e[t] = X.create(Se(r));\n }\n return new O(g(d({}, s._def), {\n shape: () => e\n }));\n } else return s instanceof q ? new q(g(d({}, s._def), {\n type: Se(s.element)\n })) : s instanceof X ? X.create(Se(s.unwrap())) : s instanceof fe ? fe.create(Se(s.unwrap())) : s instanceof Q ? Q.create(s.items.map((e) => Se(e))) : s;\n}\nclass O extends x {\n constructor() {\n super(...arguments), this._cached = null, this.nonstrict = this.passthrough, this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const e = this._def.shape(), t = k.objectKeys(e);\n return this._cached = { shape: e, keys: t };\n }\n _parse(e) {\n if (this._getType(e) !== p.object) {\n const u = this._getOrReturnCtx(e);\n return h(u, {\n code: l.invalid_type,\n expected: p.object,\n received: u.parsedType\n }), _;\n }\n const { status: r, ctx: n } = this._processInputParams(e), { shape: a, keys: i } = this._getCached(), o = [];\n if (!(this._def.catchall instanceof ae && this._def.unknownKeys === \"strip\"))\n for (const u in n.data)\n i.includes(u) || o.push(u);\n const c = [];\n for (const u of i) {\n const f = a[u], v = n.data[u];\n c.push({\n key: { status: \"valid\", value: u },\n value: f._parse(new Y(n, v, n.path, u)),\n alwaysSet: u in n.data\n });\n }\n if (this._def.catchall instanceof ae) {\n const u = this._def.unknownKeys;\n if (u === \"passthrough\")\n for (const f of o)\n c.push({\n key: { status: \"valid\", value: f },\n value: { status: \"valid\", value: n.data[f] }\n });\n else if (u === \"strict\")\n o.length > 0 && (h(n, {\n code: l.unrecognized_keys,\n keys: o\n }), r.dirty());\n else if (u !== \"strip\") throw new Error(\"Internal ZodObject error: invalid unknownKeys value.\");\n } else {\n const u = this._def.catchall;\n for (const f of o) {\n const v = n.data[f];\n c.push({\n key: { status: \"valid\", value: f },\n value: u._parse(\n new Y(n, v, n.path, f)\n //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: f in n.data\n });\n }\n }\n return n.common.async ? Promise.resolve().then(() => I(this, null, function* () {\n const u = [];\n for (const f of c) {\n const v = yield f.key, j = yield f.value;\n u.push({\n key: v,\n value: j,\n alwaysSet: f.alwaysSet\n });\n }\n return u;\n })).then((u) => Z.mergeObjectSync(r, u)) : Z.mergeObjectSync(r, c);\n }\n get shape() {\n return this._def.shape();\n }\n strict(e) {\n return m.errToObj, new O(d(g(d({}, this._def), {\n unknownKeys: \"strict\"\n }), e !== void 0 ? {\n errorMap: (t, r) => {\n var n, a, i, o;\n const c = (i = (a = (n = this._def).errorMap) === null || a === void 0 ? void 0 : a.call(n, t, r).message) !== null && i !== void 0 ? i : r.defaultError;\n return t.code === \"unrecognized_keys\" ? {\n message: (o = m.errToObj(e).message) !== null && o !== void 0 ? o : c\n } : {\n message: c\n };\n }\n } : {}));\n }\n strip() {\n return new O(g(d({}, this._def), {\n unknownKeys: \"strip\"\n }));\n }\n passthrough() {\n return new O(g(d({}, this._def), {\n unknownKeys: \"passthrough\"\n }));\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(e) {\n return new O(g(d({}, this._def), {\n shape: () => d(d({}, this._def.shape()), e)\n }));\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(e) {\n return new O({\n unknownKeys: e._def.unknownKeys,\n catchall: e._def.catchall,\n shape: () => d(d({}, this._def.shape()), e._def.shape()),\n typeName: y.ZodObject\n });\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(e, t) {\n return this.augment({ [e]: t });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(e) {\n return new O(g(d({}, this._def), {\n catchall: e\n }));\n }\n pick(e) {\n const t = {};\n return k.objectKeys(e).forEach((r) => {\n e[r] && this.shape[r] && (t[r] = this.shape[r]);\n }), new O(g(d({}, this._def), {\n shape: () => t\n }));\n }\n omit(e) {\n const t = {};\n return k.objectKeys(this.shape).forEach((r) => {\n e[r] || (t[r] = this.shape[r]);\n }), new O(g(d({}, this._def), {\n shape: () => t\n }));\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return Se(this);\n }\n partial(e) {\n const t = {};\n return k.objectKeys(this.shape).forEach((r) => {\n const n = this.shape[r];\n e && !e[r] ? t[r] = n : t[r] = n.optional();\n }), new O(g(d({}, this._def), {\n shape: () => t\n }));\n }\n required(e) {\n const t = {};\n return k.objectKeys(this.shape).forEach((r) => {\n if (e && !e[r])\n t[r] = this.shape[r];\n else {\n let a = this.shape[r];\n for (; a instanceof X; )\n a = a._def.innerType;\n t[r] = a;\n }\n }), new O(g(d({}, this._def), {\n shape: () => t\n }));\n }\n keyof() {\n return gs(k.objectKeys(this.shape));\n }\n}\nO.create = (s, e) => new O(d({\n shape: () => s,\n unknownKeys: \"strip\",\n catchall: ae.create(),\n typeName: y.ZodObject\n}, w(e)));\nO.strictCreate = (s, e) => new O(d({\n shape: () => s,\n unknownKeys: \"strict\",\n catchall: ae.create(),\n typeName: y.ZodObject\n}, w(e)));\nO.lazycreate = (s, e) => new O(d({\n shape: s,\n unknownKeys: \"strip\",\n catchall: ae.create(),\n typeName: y.ZodObject\n}, w(e)));\nclass We extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e), r = this._def.options;\n function n(a) {\n for (const o of a)\n if (o.result.status === \"valid\")\n return o.result;\n for (const o of a)\n if (o.result.status === \"dirty\")\n return t.common.issues.push(...o.ctx.common.issues), o.result;\n const i = a.map((o) => new U(o.ctx.common.issues));\n return h(t, {\n code: l.invalid_union,\n unionErrors: i\n }), _;\n }\n if (t.common.async)\n return Promise.all(r.map((a) => I(this, null, function* () {\n const i = g(d({}, t), {\n common: g(d({}, t.common), {\n issues: []\n }),\n parent: null\n });\n return {\n result: yield a._parseAsync({\n data: t.data,\n path: t.path,\n parent: i\n }),\n ctx: i\n };\n }))).then(n);\n {\n let a;\n const i = [];\n for (const c of r) {\n const u = g(d({}, t), {\n common: g(d({}, t.common), {\n issues: []\n }),\n parent: null\n }), f = c._parseSync({\n data: t.data,\n path: t.path,\n parent: u\n });\n if (f.status === \"valid\")\n return f;\n f.status === \"dirty\" && !a && (a = { result: f, ctx: u }), u.common.issues.length && i.push(u.common.issues);\n }\n if (a)\n return t.common.issues.push(...a.ctx.common.issues), a.result;\n const o = i.map((c) => new U(c));\n return h(t, {\n code: l.invalid_union,\n unionErrors: o\n }), _;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nWe.create = (s, e) => new We(d({\n options: s,\n typeName: y.ZodUnion\n}, w(e)));\nconst se = (s) => s instanceof qe ? se(s.schema) : s instanceof H ? se(s.innerType()) : s instanceof He ? [s.value] : s instanceof le ? s.options : s instanceof Je ? k.objectValues(s.enum) : s instanceof Ge ? se(s._def.innerType) : s instanceof Ve ? [void 0] : s instanceof Ue ? [null] : s instanceof X ? [void 0, ...se(s.unwrap())] : s instanceof fe ? [null, ...se(s.unwrap())] : s instanceof $t || s instanceof Xe ? se(s.unwrap()) : s instanceof Ke ? se(s._def.innerType) : [];\nclass ft extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n if (t.parsedType !== p.object)\n return h(t, {\n code: l.invalid_type,\n expected: p.object,\n received: t.parsedType\n }), _;\n const r = this.discriminator, n = t.data[r], a = this.optionsMap.get(n);\n return a ? t.common.async ? a._parseAsync({\n data: t.data,\n path: t.path,\n parent: t\n }) : a._parseSync({\n data: t.data,\n path: t.path,\n parent: t\n }) : (h(t, {\n code: l.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [r]\n }), _);\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(e, t, r) {\n const n = /* @__PURE__ */ new Map();\n for (const a of t) {\n const i = se(a.shape[e]);\n if (!i.length)\n throw new Error(`A discriminator value for key \\`${e}\\` could not be extracted from all schema options`);\n for (const o of i) {\n if (n.has(o))\n throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);\n n.set(o, a);\n }\n }\n return new ft(d({\n typeName: y.ZodDiscriminatedUnion,\n discriminator: e,\n options: t,\n optionsMap: n\n }, w(r)));\n }\n}\nfunction Rt(s, e) {\n const t = re(s), r = re(e);\n if (s === e)\n return { valid: !0, data: s };\n if (t === p.object && r === p.object) {\n const n = k.objectKeys(e), a = k.objectKeys(s).filter((o) => n.indexOf(o) !== -1), i = d(d({}, s), e);\n for (const o of a) {\n const c = Rt(s[o], e[o]);\n if (!c.valid)\n return { valid: !1 };\n i[o] = c.data;\n }\n return { valid: !0, data: i };\n } else if (t === p.array && r === p.array) {\n if (s.length !== e.length)\n return { valid: !1 };\n const n = [];\n for (let a = 0; a < s.length; a++) {\n const i = s[a], o = e[a], c = Rt(i, o);\n if (!c.valid)\n return { valid: !1 };\n n.push(c.data);\n }\n return { valid: !0, data: n };\n } else return t === p.date && r === p.date && +s == +e ? { valid: !0, data: s } : { valid: !1 };\n}\nclass ze extends x {\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e), n = (a, i) => {\n if (Nt(a) || Nt(i))\n return _;\n const o = Rt(a.value, i.value);\n return o.valid ? ((jt(a) || jt(i)) && t.dirty(), { status: t.value, value: o.data }) : (h(r, {\n code: l.invalid_intersection_types\n }), _);\n };\n return r.common.async ? Promise.all([\n this._def.left._parseAsync({\n data: r.data,\n path: r.path,\n parent: r\n }),\n this._def.right._parseAsync({\n data: r.data,\n path: r.path,\n parent: r\n })\n ]).then(([a, i]) => n(a, i)) : n(this._def.left._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n }), this._def.right._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n }));\n }\n}\nze.create = (s, e, t) => new ze(d({\n left: s,\n right: e,\n typeName: y.ZodIntersection\n}, w(t)));\nclass Q extends x {\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.parsedType !== p.array)\n return h(r, {\n code: l.invalid_type,\n expected: p.array,\n received: r.parsedType\n }), _;\n if (r.data.length < this._def.items.length)\n return h(r, {\n code: l.too_small,\n minimum: this._def.items.length,\n inclusive: !0,\n exact: !1,\n type: \"array\"\n }), _;\n !this._def.rest && r.data.length > this._def.items.length && (h(r, {\n code: l.too_big,\n maximum: this._def.items.length,\n inclusive: !0,\n exact: !1,\n type: \"array\"\n }), t.dirty());\n const a = [...r.data].map((i, o) => {\n const c = this._def.items[o] || this._def.rest;\n return c ? c._parse(new Y(r, i, r.path, o)) : null;\n }).filter((i) => !!i);\n return r.common.async ? Promise.all(a).then((i) => Z.mergeArray(t, i)) : Z.mergeArray(t, a);\n }\n get items() {\n return this._def.items;\n }\n rest(e) {\n return new Q(g(d({}, this._def), {\n rest: e\n }));\n }\n}\nQ.create = (s, e) => {\n if (!Array.isArray(s))\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n return new Q(d({\n items: s,\n typeName: y.ZodTuple,\n rest: null\n }, w(e)));\n};\nclass Be extends x {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.parsedType !== p.object)\n return h(r, {\n code: l.invalid_type,\n expected: p.object,\n received: r.parsedType\n }), _;\n const n = [], a = this._def.keyType, i = this._def.valueType;\n for (const o in r.data)\n n.push({\n key: a._parse(new Y(r, o, r.path, o)),\n value: i._parse(new Y(r, r.data[o], r.path, o)),\n alwaysSet: o in r.data\n });\n return r.common.async ? Z.mergeObjectAsync(t, n) : Z.mergeObjectSync(t, n);\n }\n get element() {\n return this._def.valueType;\n }\n static create(e, t, r) {\n return t instanceof x ? new Be(d({\n keyType: e,\n valueType: t,\n typeName: y.ZodRecord\n }, w(r))) : new Be(d({\n keyType: B.create(),\n valueType: e,\n typeName: y.ZodRecord\n }, w(t)));\n }\n}\nclass dt extends x {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.parsedType !== p.map)\n return h(r, {\n code: l.invalid_type,\n expected: p.map,\n received: r.parsedType\n }), _;\n const n = this._def.keyType, a = this._def.valueType, i = [...r.data.entries()].map(([o, c], u) => ({\n key: n._parse(new Y(r, o, r.path, [u, \"key\"])),\n value: a._parse(new Y(r, c, r.path, [u, \"value\"]))\n }));\n if (r.common.async) {\n const o = /* @__PURE__ */ new Map();\n return Promise.resolve().then(() => I(this, null, function* () {\n for (const c of i) {\n const u = yield c.key, f = yield c.value;\n if (u.status === \"aborted\" || f.status === \"aborted\")\n return _;\n (u.status === \"dirty\" || f.status === \"dirty\") && t.dirty(), o.set(u.value, f.value);\n }\n return { status: t.value, value: o };\n }));\n } else {\n const o = /* @__PURE__ */ new Map();\n for (const c of i) {\n const u = c.key, f = c.value;\n if (u.status === \"aborted\" || f.status === \"aborted\")\n return _;\n (u.status === \"dirty\" || f.status === \"dirty\") && t.dirty(), o.set(u.value, f.value);\n }\n return { status: t.value, value: o };\n }\n }\n}\ndt.create = (s, e, t) => new dt(d({\n valueType: e,\n keyType: s,\n typeName: y.ZodMap\n}, w(t)));\nclass we extends x {\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.parsedType !== p.set)\n return h(r, {\n code: l.invalid_type,\n expected: p.set,\n received: r.parsedType\n }), _;\n const n = this._def;\n n.minSize !== null && r.data.size < n.minSize.value && (h(r, {\n code: l.too_small,\n minimum: n.minSize.value,\n type: \"set\",\n inclusive: !0,\n exact: !1,\n message: n.minSize.message\n }), t.dirty()), n.maxSize !== null && r.data.size > n.maxSize.value && (h(r, {\n code: l.too_big,\n maximum: n.maxSize.value,\n type: \"set\",\n inclusive: !0,\n exact: !1,\n message: n.maxSize.message\n }), t.dirty());\n const a = this._def.valueType;\n function i(c) {\n const u = /* @__PURE__ */ new Set();\n for (const f of c) {\n if (f.status === \"aborted\")\n return _;\n f.status === \"dirty\" && t.dirty(), u.add(f.value);\n }\n return { status: t.value, value: u };\n }\n const o = [...r.data.values()].map((c, u) => a._parse(new Y(r, c, r.path, u)));\n return r.common.async ? Promise.all(o).then((c) => i(c)) : i(o);\n }\n min(e, t) {\n return new we(g(d({}, this._def), {\n minSize: { value: e, message: m.toString(t) }\n }));\n }\n max(e, t) {\n return new we(g(d({}, this._def), {\n maxSize: { value: e, message: m.toString(t) }\n }));\n }\n size(e, t) {\n return this.min(e, t).max(e, t);\n }\n nonempty(e) {\n return this.min(1, e);\n }\n}\nwe.create = (s, e) => new we(d({\n valueType: s,\n minSize: null,\n maxSize: null,\n typeName: y.ZodSet\n}, w(e)));\nclass Ae extends x {\n constructor() {\n super(...arguments), this.validate = this.implement;\n }\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n if (t.parsedType !== p.function)\n return h(t, {\n code: l.invalid_type,\n expected: p.function,\n received: t.parsedType\n }), _;\n function r(o, c) {\n return it({\n data: o,\n path: t.path,\n errorMaps: [\n t.common.contextualErrorMap,\n t.schemaErrorMap,\n at(),\n Ie\n ].filter((u) => !!u),\n issueData: {\n code: l.invalid_arguments,\n argumentsError: c\n }\n });\n }\n function n(o, c) {\n return it({\n data: o,\n path: t.path,\n errorMaps: [\n t.common.contextualErrorMap,\n t.schemaErrorMap,\n at(),\n Ie\n ].filter((u) => !!u),\n issueData: {\n code: l.invalid_return_type,\n returnTypeError: c\n }\n });\n }\n const a = { errorMap: t.common.contextualErrorMap }, i = t.data;\n if (this._def.returns instanceof Ne) {\n const o = this;\n return $(function(...c) {\n return I(this, null, function* () {\n const u = new U([]), f = yield o._def.args.parseAsync(c, a).catch((M) => {\n throw u.addIssue(r(c, M)), u;\n }), v = yield Reflect.apply(i, this, f);\n return yield o._def.returns._def.type.parseAsync(v, a).catch((M) => {\n throw u.addIssue(n(v, M)), u;\n });\n });\n });\n } else {\n const o = this;\n return $(function(...c) {\n const u = o._def.args.safeParse(c, a);\n if (!u.success)\n throw new U([r(c, u.error)]);\n const f = Reflect.apply(i, this, u.data), v = o._def.returns.safeParse(f, a);\n if (!v.success)\n throw new U([n(f, v.error)]);\n return v.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...e) {\n return new Ae(g(d({}, this._def), {\n args: Q.create(e).rest(ve.create())\n }));\n }\n returns(e) {\n return new Ae(g(d({}, this._def), {\n returns: e\n }));\n }\n implement(e) {\n return this.parse(e);\n }\n strictImplement(e) {\n return this.parse(e);\n }\n static create(e, t, r) {\n return new Ae(d({\n args: e || Q.create([]).rest(ve.create()),\n returns: t || ve.create(),\n typeName: y.ZodFunction\n }, w(r)));\n }\n}\nclass qe extends x {\n get schema() {\n return this._def.getter();\n }\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n return this._def.getter()._parse({ data: t.data, path: t.path, parent: t });\n }\n}\nqe.create = (s, e) => new qe(d({\n getter: s,\n typeName: y.ZodLazy\n}, w(e)));\nclass He extends x {\n _parse(e) {\n if (e.data !== this._def.value) {\n const t = this._getOrReturnCtx(e);\n return h(t, {\n received: t.data,\n code: l.invalid_literal,\n expected: this._def.value\n }), _;\n }\n return { status: \"valid\", value: e.data };\n }\n get value() {\n return this._def.value;\n }\n}\nHe.create = (s, e) => new He(d({\n value: s,\n typeName: y.ZodLiteral\n}, w(e)));\nfunction gs(s, e) {\n return new le(d({\n values: s,\n typeName: y.ZodEnum\n }, w(e)));\n}\nclass le extends x {\n constructor() {\n super(...arguments), Pe.set(this, void 0);\n }\n _parse(e) {\n if (typeof e.data != \"string\") {\n const t = this._getOrReturnCtx(e), r = this._def.values;\n return h(t, {\n expected: k.joinValues(r),\n received: t.parsedType,\n code: l.invalid_type\n }), _;\n }\n if (ot(this, Pe) || fs(this, Pe, new Set(this._def.values)), !ot(this, Pe).has(e.data)) {\n const t = this._getOrReturnCtx(e), r = this._def.values;\n return h(t, {\n received: t.data,\n code: l.invalid_enum_value,\n options: r\n }), _;\n }\n return $(e.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const e = {};\n for (const t of this._def.values)\n e[t] = t;\n return e;\n }\n get Values() {\n const e = {};\n for (const t of this._def.values)\n e[t] = t;\n return e;\n }\n get Enum() {\n const e = {};\n for (const t of this._def.values)\n e[t] = t;\n return e;\n }\n extract(e, t = this._def) {\n return le.create(e, d(d({}, this._def), t));\n }\n exclude(e, t = this._def) {\n return le.create(this.options.filter((r) => !e.includes(r)), d(d({}, this._def), t));\n }\n}\nPe = /* @__PURE__ */ new WeakMap();\nle.create = gs;\nclass Je extends x {\n constructor() {\n super(...arguments), $e.set(this, void 0);\n }\n _parse(e) {\n const t = k.getValidEnumValues(this._def.values), r = this._getOrReturnCtx(e);\n if (r.parsedType !== p.string && r.parsedType !== p.number) {\n const n = k.objectValues(t);\n return h(r, {\n expected: k.joinValues(n),\n received: r.parsedType,\n code: l.invalid_type\n }), _;\n }\n if (ot(this, $e) || fs(this, $e, new Set(k.getValidEnumValues(this._def.values))), !ot(this, $e).has(e.data)) {\n const n = k.objectValues(t);\n return h(r, {\n received: r.data,\n code: l.invalid_enum_value,\n options: n\n }), _;\n }\n return $(e.data);\n }\n get enum() {\n return this._def.values;\n }\n}\n$e = /* @__PURE__ */ new WeakMap();\nJe.create = (s, e) => new Je(d({\n values: s,\n typeName: y.ZodNativeEnum\n}, w(e)));\nclass Ne extends x {\n unwrap() {\n return this._def.type;\n }\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n if (t.parsedType !== p.promise && t.common.async === !1)\n return h(t, {\n code: l.invalid_type,\n expected: p.promise,\n received: t.parsedType\n }), _;\n const r = t.parsedType === p.promise ? t.data : Promise.resolve(t.data);\n return $(r.then((n) => this._def.type.parseAsync(n, {\n path: t.path,\n errorMap: t.common.contextualErrorMap\n })));\n }\n}\nNe.create = (s, e) => new Ne(d({\n type: s,\n typeName: y.ZodPromise\n}, w(e)));\nclass H extends x {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === y.ZodEffects ? this._def.schema.sourceType() : this._def.schema;\n }\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e), n = this._def.effect || null, a = {\n addIssue: (i) => {\n h(r, i), i.fatal ? t.abort() : t.dirty();\n },\n get path() {\n return r.path;\n }\n };\n if (a.addIssue = a.addIssue.bind(a), n.type === \"preprocess\") {\n const i = n.transform(r.data, a);\n if (r.common.async)\n return Promise.resolve(i).then((o) => I(this, null, function* () {\n if (t.value === \"aborted\")\n return _;\n const c = yield this._def.schema._parseAsync({\n data: o,\n path: r.path,\n parent: r\n });\n return c.status === \"aborted\" ? _ : c.status === \"dirty\" || t.value === \"dirty\" ? Ee(c.value) : c;\n }));\n {\n if (t.value === \"aborted\")\n return _;\n const o = this._def.schema._parseSync({\n data: i,\n path: r.path,\n parent: r\n });\n return o.status === \"aborted\" ? _ : o.status === \"dirty\" || t.value === \"dirty\" ? Ee(o.value) : o;\n }\n }\n if (n.type === \"refinement\") {\n const i = (o) => {\n const c = n.refinement(o, a);\n if (r.common.async)\n return Promise.resolve(c);\n if (c instanceof Promise)\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n return o;\n };\n if (r.common.async === !1) {\n const o = this._def.schema._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n });\n return o.status === \"aborted\" ? _ : (o.status === \"dirty\" && t.dirty(), i(o.value), { status: t.value, value: o.value });\n } else\n return this._def.schema._parseAsync({ data: r.data, path: r.path, parent: r }).then((o) => o.status === \"aborted\" ? _ : (o.status === \"dirty\" && t.dirty(), i(o.value).then(() => ({ status: t.value, value: o.value }))));\n }\n if (n.type === \"transform\")\n if (r.common.async === !1) {\n const i = this._def.schema._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n });\n if (!_e(i))\n return i;\n const o = n.transform(i.value, a);\n if (o instanceof Promise)\n throw new Error(\"Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.\");\n return { status: t.value, value: o };\n } else\n return this._def.schema._parseAsync({ data: r.data, path: r.path, parent: r }).then((i) => _e(i) ? Promise.resolve(n.transform(i.value, a)).then((o) => ({ status: t.value, value: o })) : i);\n k.assertNever(n);\n }\n}\nH.create = (s, e, t) => new H(d({\n schema: s,\n typeName: y.ZodEffects,\n effect: e\n}, w(t)));\nH.createWithPreprocess = (s, e, t) => new H(d({\n schema: e,\n effect: { type: \"preprocess\", transform: s },\n typeName: y.ZodEffects\n}, w(t)));\nclass X extends x {\n _parse(e) {\n return this._getType(e) === p.undefined ? $(void 0) : this._def.innerType._parse(e);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nX.create = (s, e) => new X(d({\n innerType: s,\n typeName: y.ZodOptional\n}, w(e)));\nclass fe extends x {\n _parse(e) {\n return this._getType(e) === p.null ? $(null) : this._def.innerType._parse(e);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nfe.create = (s, e) => new fe(d({\n innerType: s,\n typeName: y.ZodNullable\n}, w(e)));\nclass Ge extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n let r = t.data;\n return t.parsedType === p.undefined && (r = this._def.defaultValue()), this._def.innerType._parse({\n data: r,\n path: t.path,\n parent: t\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nGe.create = (s, e) => new Ge(d({\n innerType: s,\n typeName: y.ZodDefault,\n defaultValue: typeof e.default == \"function\" ? e.default : () => e.default\n}, w(e)));\nclass Ke extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e), r = g(d({}, t), {\n common: g(d({}, t.common), {\n issues: []\n })\n }), n = this._def.innerType._parse({\n data: r.data,\n path: r.path,\n parent: d({}, r)\n });\n return De(n) ? n.then((a) => ({\n status: \"valid\",\n value: a.status === \"valid\" ? a.value : this._def.catchValue({\n get error() {\n return new U(r.common.issues);\n },\n input: r.data\n })\n })) : {\n status: \"valid\",\n value: n.status === \"valid\" ? n.value : this._def.catchValue({\n get error() {\n return new U(r.common.issues);\n },\n input: r.data\n })\n };\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nKe.create = (s, e) => new Ke(d({\n innerType: s,\n typeName: y.ZodCatch,\n catchValue: typeof e.catch == \"function\" ? e.catch : () => e.catch\n}, w(e)));\nclass lt extends x {\n _parse(e) {\n if (this._getType(e) !== p.nan) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.nan,\n received: r.parsedType\n }), _;\n }\n return { status: \"valid\", value: e.data };\n }\n}\nlt.create = (s) => new lt(d({\n typeName: y.ZodNaN\n}, w(s)));\nconst tn = Symbol(\"zod_brand\");\nclass $t extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e), r = t.data;\n return this._def.type._parse({\n data: r,\n path: t.path,\n parent: t\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass Qe extends x {\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.common.async)\n return I(this, null, function* () {\n const a = yield this._def.in._parseAsync({\n data: r.data,\n path: r.path,\n parent: r\n });\n return a.status === \"aborted\" ? _ : a.status === \"dirty\" ? (t.dirty(), Ee(a.value)) : this._def.out._parseAsync({\n data: a.value,\n path: r.path,\n parent: r\n });\n });\n {\n const n = this._def.in._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n });\n return n.status === \"aborted\" ? _ : n.status === \"dirty\" ? (t.dirty(), {\n status: \"dirty\",\n value: n.value\n }) : this._def.out._parseSync({\n data: n.value,\n path: r.path,\n parent: r\n });\n }\n }\n static create(e, t) {\n return new Qe({\n in: e,\n out: t,\n typeName: y.ZodPipeline\n });\n }\n}\nclass Xe extends x {\n _parse(e) {\n const t = this._def.innerType._parse(e), r = (n) => (_e(n) && (n.value = Object.freeze(n.value)), n);\n return De(t) ? t.then((n) => r(n)) : r(t);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nXe.create = (s, e) => new Xe(d({\n innerType: s,\n typeName: y.ZodReadonly\n}, w(e)));\nfunction Kt(s, e) {\n const t = typeof s == \"function\" ? s(e) : typeof s == \"string\" ? { message: s } : s;\n return typeof t == \"string\" ? { message: t } : t;\n}\nfunction ys(s, e = {}, t) {\n return s ? Oe.create().superRefine((r, n) => {\n var a, i;\n const o = s(r);\n if (o instanceof Promise)\n return o.then((c) => {\n var u, f;\n if (!c) {\n const v = Kt(e, r), j = (f = (u = v.fatal) !== null && u !== void 0 ? u : t) !== null && f !== void 0 ? f : !0;\n n.addIssue(g(d({ code: \"custom\" }, v), { fatal: j }));\n }\n });\n if (!o) {\n const c = Kt(e, r), u = (i = (a = c.fatal) !== null && a !== void 0 ? a : t) !== null && i !== void 0 ? i : !0;\n n.addIssue(g(d({ code: \"custom\" }, c), { fatal: u }));\n }\n }) : Oe.create();\n}\nconst sn = {\n object: O.lazycreate\n};\nvar y;\n(function(s) {\n s.ZodString = \"ZodString\", s.ZodNumber = \"ZodNumber\", s.ZodNaN = \"ZodNaN\", s.ZodBigInt = \"ZodBigInt\", s.ZodBoolean = \"ZodBoolean\", s.ZodDate = \"ZodDate\", s.ZodSymbol = \"ZodSymbol\", s.ZodUndefined = \"ZodUndefined\", s.ZodNull = \"ZodNull\", s.ZodAny = \"ZodAny\", s.ZodUnknown = \"ZodUnknown\", s.ZodNever = \"ZodNever\", s.ZodVoid = \"ZodVoid\", s.ZodArray = \"ZodArray\", s.ZodObject = \"ZodObject\", s.ZodUnion = \"ZodUnion\", s.ZodDiscriminatedUnion = \"ZodDiscriminatedUnion\", s.ZodIntersection = \"ZodIntersection\", s.ZodTuple = \"ZodTuple\", s.ZodRecord = \"ZodRecord\", s.ZodMap = \"ZodMap\", s.ZodSet = \"ZodSet\", s.ZodFunction = \"ZodFunction\", s.ZodLazy = \"ZodLazy\", s.ZodLiteral = \"ZodLiteral\", s.ZodEnum = \"ZodEnum\", s.ZodEffects = \"ZodEffects\", s.ZodNativeEnum = \"ZodNativeEnum\", s.ZodOptional = \"ZodOptional\", s.ZodNullable = \"ZodNullable\", s.ZodDefault = \"ZodDefault\", s.ZodCatch = \"ZodCatch\", s.ZodPromise = \"ZodPromise\", s.ZodBranded = \"ZodBranded\", s.ZodPipeline = \"ZodPipeline\", s.ZodReadonly = \"ZodReadonly\";\n})(y || (y = {}));\nconst rn = (s, e = {\n message: `Input not instance of ${s.name}`\n}) => ys((t) => t instanceof s, e), vs = B.create, _s = ue.create, nn = lt.create, an = de.create, bs = Le.create, on = be.create, cn = ct.create, un = Ve.create, dn = Ue.create, ln = Oe.create, fn = ve.create, hn = ae.create, pn = ut.create, mn = q.create, gn = O.create, yn = O.strictCreate, vn = We.create, _n = ft.create, bn = ze.create, wn = Q.create, xn = Be.create, kn = dt.create, Tn = we.create, Sn = Ae.create, En = qe.create, An = He.create, Cn = le.create, In = Je.create, On = Ne.create, Xt = H.create, Nn = X.create, jn = fe.create, Rn = H.createWithPreprocess, Zn = Qe.create, Mn = () => vs().optional(), Pn = () => _s().optional(), $n = () => bs().optional(), Fn = {\n string: (s) => B.create(g(d({}, s), { coerce: !0 })),\n number: (s) => ue.create(g(d({}, s), { coerce: !0 })),\n boolean: (s) => Le.create(g(d({}, s), {\n coerce: !0\n })),\n bigint: (s) => de.create(g(d({}, s), { coerce: !0 })),\n date: (s) => be.create(g(d({}, s), { coerce: !0 }))\n}, Dn = _;\nvar T = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n defaultErrorMap: Ie,\n setErrorMap: jr,\n getErrorMap: at,\n makeIssue: it,\n EMPTY_PATH: Rr,\n addIssueToContext: h,\n ParseStatus: Z,\n INVALID: _,\n DIRTY: Ee,\n OK: $,\n isAborted: Nt,\n isDirty: jt,\n isValid: _e,\n isAsync: De,\n get util() {\n return k;\n },\n get objectUtil() {\n return Ot;\n },\n ZodParsedType: p,\n getParsedType: re,\n ZodType: x,\n datetimeRegex: ms,\n ZodString: B,\n ZodNumber: ue,\n ZodBigInt: de,\n ZodBoolean: Le,\n ZodDate: be,\n ZodSymbol: ct,\n ZodUndefined: Ve,\n ZodNull: Ue,\n ZodAny: Oe,\n ZodUnknown: ve,\n ZodNever: ae,\n ZodVoid: ut,\n ZodArray: q,\n ZodObject: O,\n ZodUnion: We,\n ZodDiscriminatedUnion: ft,\n ZodIntersection: ze,\n ZodTuple: Q,\n ZodRecord: Be,\n ZodMap: dt,\n ZodSet: we,\n ZodFunction: Ae,\n ZodLazy: qe,\n ZodLiteral: He,\n ZodEnum: le,\n ZodNativeEnum: Je,\n ZodPromise: Ne,\n ZodEffects: H,\n ZodTransformer: H,\n ZodOptional: X,\n ZodNullable: fe,\n ZodDefault: Ge,\n ZodCatch: Ke,\n ZodNaN: lt,\n BRAND: tn,\n ZodBranded: $t,\n ZodPipeline: Qe,\n ZodReadonly: Xe,\n custom: ys,\n Schema: x,\n ZodSchema: x,\n late: sn,\n get ZodFirstPartyTypeKind() {\n return y;\n },\n coerce: Fn,\n any: ln,\n array: mn,\n bigint: an,\n boolean: bs,\n date: on,\n discriminatedUnion: _n,\n effect: Xt,\n enum: Cn,\n function: Sn,\n instanceof: rn,\n intersection: bn,\n lazy: En,\n literal: An,\n map: kn,\n nan: nn,\n nativeEnum: In,\n never: hn,\n null: dn,\n nullable: jn,\n number: _s,\n object: gn,\n oboolean: $n,\n onumber: Pn,\n optional: Nn,\n ostring: Mn,\n pipeline: Zn,\n preprocess: Rn,\n promise: On,\n record: xn,\n set: Tn,\n strictObject: yn,\n string: vs,\n symbol: cn,\n transformer: Xt,\n tuple: wn,\n undefined: un,\n union: vn,\n unknown: fn,\n void: pn,\n NEVER: Dn,\n ZodIssueCode: l,\n quotelessJson: Nr,\n ZodError: U\n});\nconst Ln = T.object({\n language: T.enum([\"typescript\", \"javascript\"]).optional(),\n disableMarkedForExport: T.boolean().optional(),\n allowAutoSelectFirstNode: T.boolean().optional().default(!0),\n enableDisplayDataId: T.boolean().optional(),\n enableDisplayDataName: T.boolean().optional()\n}).and(\n T.union([\n T.object({\n framework: T.literal(\"react\"),\n model: T.string().optional(),\n styling: T.enum([\n \"plain_css\",\n \"css_modules\",\n \"styled_components\",\n \"tailwind\",\n \"sass\",\n \"scss\",\n \"inline_styles\"\n ]),\n uiLibrary: T.enum([\"mui\", \"antd\", \"radix\", \"shadcn\", \"clean_react\"]).optional(),\n responsivePages: T.array(\n T.object({\n name: T.string(),\n framesId: T.array(T.string())\n })\n ).optional(),\n enableUILibraryTheming: T.boolean().optional(),\n enableCompactStructure: T.boolean().optional(),\n enableDisplayScreenModelId: T.boolean().optional(),\n enableGeneratePackageLock: T.boolean().optional(),\n enableAnimationsPreset: T.boolean().optional(),\n enableAutoSplit: T.boolean().optional(),\n autoSplitThreshold: T.number().optional(),\n url: T.string().url().optional(),\n codegenSettings: T.record(T.unknown()).optional()\n }),\n T.object({\n framework: T.literal(\"html\"),\n styling: T.enum([\"plain_css\", \"inline_styles\", \"tailwind\"]),\n enableTranslation: T.boolean().optional()\n })\n ])\n), Vn = (s) => {\n const e = Ln.safeParse(s);\n if (e.success === !1) {\n const t = new Error(\"Invalid codegen settings\");\n throw t.cause = e.error, t;\n }\n return e.data;\n}, Yt = /* @__PURE__ */ new Set([\n \"FRAME\",\n \"INSTANCE\",\n \"COMPONENT\",\n \"COMPONENT_SET\",\n \"GROUP\"\n]), Un = (s, e, t = { allowAutoSelectFirstNode: !0 }) => {\n const r = ds(s.document, e);\n if (!r)\n return {\n isValid: !1,\n reason: \"There is no node with the given id\"\n };\n if (r.type === \"CANVAS\") {\n const n = r.children.filter(\n (a) => Yt.has(a.type)\n );\n return n.length === 0 ? {\n isValid: !1,\n reason: \"Selected node is a page with no valid children\"\n } : n.length === 1 ? {\n isValid: !0,\n node: n[0],\n note: \"Selected node is a page with a single valid children - returning it instead\"\n } : t.allowAutoSelectFirstNode ? {\n isValid: !0,\n node: n[0],\n note: \"Selected node is a page with multiple valid children - returning the first one instead\"\n } : {\n isValid: !1,\n reason: \"Selected node is a page with multiple children\"\n };\n }\n return Yt.has(r.type) ? { isValid: !0, node: r } : {\n isValid: !1,\n reason: \"Selected node type is not supported\"\n };\n};\nvar A, Ye, ne, ws, Fe;\nclass ta {\n constructor({\n auth: e,\n apiBaseAddress: t = \"https://public-api.animaapp.com\"\n } = {}) {\n tt(this, ne);\n tt(this, A);\n tt(this, Ye);\n gt(this, Ye, t), e && (this.auth = e);\n }\n hasAuth() {\n return !!C(this, A);\n }\n set auth(e) {\n gt(this, A, e);\n }\n get headers() {\n const e = {\n \"Content-Type\": \"application/json\"\n };\n return C(this, A) && (e.Authorization = `Bearer ${C(this, A).token}`, \"teamId\" in C(this, A) && (e[\"X-Team-Id\"] = C(this, A).teamId)), e;\n }\n generateCode(n) {\n return I(this, arguments, function* (e, t = {}, r) {\n var c;\n const a = Vn(e.settings);\n e.figmaToken && (yield Te(this, ne, ws).call(this, e.fileKey, e.figmaToken, e.nodesId, { allowAutoSelectFirstNode: (c = a.allowAutoSelectFirstNode) != null ? c : !0 }, r));\n let i = e.tracking;\n C(this, A) && \"userId\" in C(this, A) && C(this, A).userId && (i != null && i.externalId || (i = { externalId: C(this, A).userId }));\n const o = {\n tracking: i,\n fileKey: e.fileKey,\n figmaToken: e.figmaToken,\n nodesId: e.nodesId,\n assetsStorage: e.assetsStorage,\n language: a.language,\n model: a.model,\n framework: a.framework,\n styling: a.styling,\n uiLibrary: a.uiLibrary,\n enableTranslation: a.enableTranslation,\n enableUILibraryTheming: a.enableUILibraryTheming,\n enableCompactStructure: a.enableCompactStructure,\n enableAutoSplit: a.enableAutoSplit,\n autoSplitThreshold: a.autoSplitThreshold,\n disableMarkedForExport: a.disableMarkedForExport,\n allowAutoSelectFirstNode: a.allowAutoSelectFirstNode,\n enableDisplayScreenModelId: a.enableDisplayScreenModelId,\n enableGeneratePackageLock: a.enableGeneratePackageLock,\n enableAnimationsPreset: a.enableAnimationsPreset,\n enableDisplayDataId: a.enableDisplayDataId,\n enableDisplayDataName: a.enableDisplayDataName,\n codegenSettings: a.codegenSettings,\n webhookUrl: e.webhookUrl\n };\n return Te(this, ne, Fe).call(this, \"/v1/codegen\", o, t, \"codegen\", r);\n });\n }\n generateCodeFromWebsite(n) {\n return I(this, arguments, function* (e, t = {}, r) {\n let a = e.tracking;\n C(this, A) && \"userId\" in C(this, A) && C(this, A).userId && (a != null && a.externalId || (a = { externalId: C(this, A).userId }));\n let i;\n if (e.mhtml)\n i = {\n type: \"mhtml\",\n mhtml: e.mhtml,\n url: e.url\n };\n else if (e.url)\n i = {\n type: \"url\",\n url: e.url\n };\n else\n throw new Error(\"Either 'url' or 'mhtml' must be provided\");\n const o = {\n tracking: a,\n assetsStorage: e.assetsStorage,\n params: {\n input: i,\n conventions: {\n framework: e.settings.framework,\n language: e.settings.language,\n styling: e.settings.styling\n },\n assetsStorage: {\n type: \"bundled\"\n }\n }\n };\n return Te(this, ne, Fe).call(this, \"/v1/l2c\", o, t, \"l2c\", r);\n });\n }\n /**\n * Generates code from a text prompt using AI.\n *\n * This method sends a prompt to the Anima API and generates code based on the description provided.\n * It supports real-time streaming of the generation process through Server-Sent Events (SSE).\n *\n * @param params - The parameters for code generation\n * @param params.prompt - The text prompt describing what code to generate\n * @param params.settings - Code generation settings (framework, language, styling, etc.)\n * @param params.assetsStorage - Optional asset storage configuration\n * @param params.tracking - Optional tracking information\n * @param params.webhookUrl - Optional webhook URL for completion notification\n * @param handler - Event handler for processing SSE messages during generation\n * @param signal - Optional AbortSignal to cancel the request\n * @returns Promise resolving to AnimaSDKResult with generated files and metadata\n *\n * @example\n * ```typescript\n * const result = await anima.generateCodeFromPrompt({\n * prompt: \"Create a login form with email and password fields\",\n * settings: {\n * framework: \"react\",\n * language: \"typescript\",\n * styling: \"tailwind\"\n * }\n * }, {\n * onStart: ({ sessionId }) => console.log(\"Started:\", sessionId),\n * onGeneratingCode: ({ progress }) => console.log(\"Progress:\", progress),\n * onCodegenCompleted: () => console.log(\"Generation completed!\")\n * });\n * ```\n */\n generateCodeFromPrompt(n) {\n return I(this, arguments, function* (e, t = {}, r) {\n var o;\n let a = e.tracking;\n C(this, A) && \"userId\" in C(this, A) && C(this, A).userId && (a != null && a.externalId || (a = { externalId: C(this, A).userId }));\n const i = {\n tracking: a,\n assetsStorage: e.assetsStorage,\n params: d({\n prompt: e.prompt,\n conventions: {\n language: e.settings.language,\n framework: e.settings.framework,\n styling: e.settings.styling,\n uiLibrary: e.settings.uiLibrary\n }\n }, (o = e.settings.codegenSettings) != null ? o : {}),\n webhookUrl: e.webhookUrl\n };\n return console.log(\"P2C Request Body:\", JSON.stringify(i, null, 2)), Te(this, ne, Fe).call(this, \"/v1/p2c\", i, t, \"p2c\", r);\n });\n }\n /**\n * @deprecated This method will be removed soon, please use `generateCodeFromWebsite` instead.\n */\n generateLink2Code(n) {\n return I(this, arguments, function* (e, t = {}, r) {\n let a = e.tracking;\n C(this, A) && \"userId\" in C(this, A) && C(this, A).userId && (a != null && a.externalId || (a = { externalId: C(this, A).userId }));\n const i = {\n tracking: a,\n assetsStorage: e.assetsStorage,\n params: e.params\n };\n return Te(this, ne, Fe).call(this, \"/v1/l2c\", i, t, \"l2c\", r);\n });\n }\n}\nA = new WeakMap(), Ye = new WeakMap(), ne = new WeakSet(), ws = function(e, t, r, n, a) {\n return I(this, null, function* () {\n let i;\n try {\n i = yield Or({\n fileKey: e,\n authToken: t,\n params: {\n geometry: \"paths\"\n },\n signal: a\n });\n } catch (u) {\n if (u instanceof Error && u.name === \"AbortError\")\n throw u;\n return;\n }\n const c = r.map(\n (u) => Un(i, u, n)\n ).find(\n (u) => !u.isValid\n );\n if (c)\n throw new me({\n name: \"Task Crashed\",\n reason: c.reason\n });\n });\n}, Fe = function(e, t, r, n, a) {\n return I(this, null, function* () {\n var v, j, M, F, W, ee, he, ie, L, oe, et;\n if (this.hasAuth() === !1)\n throw new Error('It needs to set \"auth\" before calling this method.');\n const i = {}, o = yield fetch(`${C(this, Ye)}${e}`, {\n method: \"POST\",\n headers: g(d({}, this.headers), {\n Accept: \"text/event-stream\"\n }),\n body: JSON.stringify(t),\n signal: a\n });\n if (!o.ok) {\n const xe = yield o.text();\n let E;\n try {\n E = JSON.parse(xe);\n } catch (ke) {\n }\n throw ((v = E == null ? void 0 : E.error) == null ? void 0 : v.name) === \"ZodError\" ? (console.log(\n \"Zod validation error:\",\n JSON.stringify(E.error.issues, null, 2)\n ), new me({\n name: \"HTTP error from Anima API\",\n reason: \"Invalid body payload\",\n detail: E.error.issues,\n status: o.status\n })) : typeof E == \"object\" ? new me({\n name: `Error \"${E}\"`,\n reason: \"Unknown\",\n status: o.status\n }) : new me({\n name: \"HTTP error from Anima API\",\n reason: xe,\n status: o.status\n });\n }\n if (!o.body)\n throw new me({\n name: \"Stream Error\",\n reason: \"Response body is null\",\n status: o.status\n });\n const c = o.body.getReader(), u = new TextDecoder();\n let f = \"\";\n try {\n for (; ; ) {\n const { done: xe, value: E } = yield c.read();\n if (xe)\n break;\n f += u.decode(E, { stream: !0 });\n const ke = f.split(`\n`);\n f = ke.pop() || \"\";\n for (const pe of ke)\n if (!(!pe.trim() || pe.startsWith(\":\")) && pe.startsWith(\"data: \")) {\n let b;\n try {\n b = JSON.parse(pe.slice(6));\n } catch (Kn) {\n continue;\n }\n switch (b.type) {\n case \"queueing\": {\n typeof r == \"function\" ? r(b) : (j = r.onQueueing) == null || j.call(r, {\n sessionId: b.sessionId\n });\n break;\n }\n case \"start\": {\n i.sessionId = b.sessionId, typeof r == \"function\" ? r(b) : (M = r.onStart) == null || M.call(r, { sessionId: b.sessionId });\n break;\n }\n case \"pre_codegen\": {\n n === \"codegen\" && (typeof r == \"function\" ? r(b) : (F = r.onPreCodegen) == null || F.call(r, {\n message: b.message\n }));\n break;\n }\n case \"assets_uploaded\": {\n typeof r == \"function\" ? r(b) : (W = r.onAssetsUploaded) == null || W.call(r);\n break;\n }\n case \"assets_list\": {\n i.assets = b.payload.assets, typeof r == \"function\" ? r(b) : (ee = r.onAssetsList) == null || ee.call(r, b.payload);\n break;\n }\n case \"figma_metadata\": {\n n === \"codegen\" && (i.figmaFileName = b.figmaFileName, i.figmaSelectedFrameName = b.figmaSelectedFrameName, typeof r == \"function\" ? r(b) : (he = r.onFigmaMetadata) == null || he.call(r, {\n figmaFileName: b.figmaFileName,\n figmaSelectedFrameName: b.figmaSelectedFrameName\n }));\n break;\n }\n case \"generating_code\": {\n b.payload.status === \"success\" && (i.files = b.payload.files), typeof r == \"function\" ? r(b) : (ie = r.onGeneratingCode) == null || ie.call(r, {\n status: b.payload.status,\n progress: b.payload.progress,\n files: b.payload.files\n });\n break;\n }\n case \"progress_messages_updated\": {\n typeof r == \"function\" ? r(b) : (L = r.onProgressMessagesUpdated) == null || L.call(\n r,\n b.payload.progressMessages\n );\n break;\n }\n case \"job_status_updated\": {\n typeof r == \"function\" ? r(b) : (oe = r.onJobStatusUpdated) == null || oe.call(r, b.payload.jobStatus);\n break;\n }\n case \"codegen_completed\":\n case \"generation_completed\": {\n typeof r == \"function\" ? r(b) : (et = r.onCodegenCompleted) == null || et.call(r);\n break;\n }\n case \"error\":\n throw new me({\n name: b.payload.errorName,\n reason: b.payload.reason\n });\n case \"done\":\n return i.tokenUsage = b.payload.tokenUsage, i.sessionId = b.payload.sessionId, i;\n }\n }\n }\n } finally {\n c.cancel();\n }\n throw new me({\n name: \"Connection\",\n reason: \"Connection closed before the 'done' message\",\n status: 500\n });\n });\n};\nconst sa = (s) => {\n var e;\n if (!s)\n return [!1, \"\", \"\"];\n try {\n const t = new URL(s), r = t.pathname;\n if (t.origin !== \"https://www.figma.com\")\n return [!1, \"\", \"\"];\n const n = t.toString();\n if (s !== n)\n return [!1, \"\", \"\"];\n const a = ((e = t.searchParams.get(\"node-id\")) != null ? e : \"\").replace(/-/g, \":\"), i = r.split(\"/\")[2];\n return [(r.startsWith(\"/file/\") && t.searchParams.get(\"type\") !== \"whiteboard\" || r.startsWith(\"/design/\") || r.startsWith(\"/proto/\")) && i.length === 22, i, a];\n } catch (t) {\n return [!1, \"\", \"\"];\n }\n}, ra = ({\n fileKey: s,\n nodeId: e,\n duplicate: t\n}) => {\n const r = new URL(\"https://www.figma.com\");\n return r.pathname = `design/${s}`, t && (r.pathname = `${r.pathname}/dummy/duplicate`), e && r.searchParams.set(\"node-id\", e.replace(\":\", \"-\")), r;\n};\nclass na extends Error {\n constructor(e, t) {\n super(e), this.response = t;\n }\n}\nconst aa = ({\n files: s,\n screenPath: e = \"src/screens\"\n}) => {\n const t = {}, r = /* @__PURE__ */ new Set();\n function n(a) {\n if (r.has(a) || !s[a])\n return;\n r.add(a), t[a] = s[a], Wn(s[a].content).forEach((o) => {\n try {\n const c = zn(a, o);\n if (c.startsWith(\"src/\")) {\n const u = c.split(\"/\").slice(0, -1).join(\"/\");\n Bn(s, u).forEach((v) => {\n r.has(v) || n(v);\n });\n }\n } catch (c) {\n console.warn(\n `Failed to resolve import ${o} in ${a}:`,\n c\n );\n }\n });\n }\n return Object.entries(s).forEach(([a, i]) => {\n a.startsWith(e) ? n(a) : a.startsWith(\"src/\") || (t[a] = i);\n }), t;\n};\nfunction Wn(s) {\n const e = /import.*?[\"']([^\"']+)[\"']/g, t = /export.*from\\s+[\"']([^\"']+)[\"']/g, r = [];\n let n;\n for (; (n = e.exec(s)) !== null; )\n r.push(n[1]);\n for (; (n = t.exec(s)) !== null; )\n r.push(n[1]);\n return [...new Set(r)];\n}\nfunction zn(s, e) {\n if (!e.startsWith(\".\"))\n return e;\n const t = s.split(\"/\").slice(0, -1), r = e.split(\"/\"), n = [...t];\n for (const a of r)\n a === \"..\" ? n.pop() : a !== \".\" && n.push(a);\n return n.join(\"/\");\n}\nfunction Bn(s, e) {\n return Object.keys(s).filter((t) => t.startsWith(e));\n}\nfunction ht(s, e, t) {\n return new ReadableStream({\n start(r) {\n t.call(s, e, (n) => {\n n.type === \"error\" || r.enqueue(n), (n.type === \"aborted\" || n.type === \"error\") && r.close();\n }).then((n) => {\n r.enqueue({\n type: \"done\",\n payload: {\n tokenUsage: n.tokenUsage,\n sessionId: n.sessionId\n }\n }), r.close();\n }).catch((n) => {\n r.enqueue({\n type: \"error\",\n payload: {\n name: \"name\" in n ? n.name : \"Unknown error\",\n message: \"message\" in n ? n.message : \"Unknown\",\n status: \"status\" in n ? n.status : void 0,\n detail: \"detail\" in n ? n.detail : void 0,\n errorPayload: \"payload\" in n ? n.payload : void 0\n }\n }), r.close();\n });\n }\n });\n}\nconst qn = (s, e) => ht(s, e, s.generateCode);\nfunction pt(s) {\n return I(this, null, function* () {\n var i, o, c, u;\n const [e, t] = s.tee(), r = yield e.getReader().read();\n if (r.done || !r.value || r.value.type === \"error\" && ((i = r.value.payload) != null && i.status))\n return new Response(JSON.stringify(r.value), {\n status: ((o = r.value) == null ? void 0 : o.type) === \"error\" && (u = (c = r.value.payload) == null ? void 0 : c.status) != null ? u : 500,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n const n = new TextEncoder(), a = t.pipeThrough(\n new TransformStream({\n transform(f, v) {\n const j = `event: ${f.type}\ndata: ${JSON.stringify(\n f\n )}\n\n`;\n v.enqueue(n.encode(j));\n }\n })\n );\n return new Response(a, {\n status: 200,\n headers: {\n \"Content-Type\": \"text/event-stream; charset=utf-8\",\n Connection: \"keep-alive\",\n \"Cache-Control\": \"no-cache\"\n }\n });\n });\n}\nconst ia = (s, e) => I(void 0, null, function* () {\n const t = qn(s, e);\n return pt(t);\n}), Hn = (s, e) => ht(s, e, s.generateCodeFromWebsite), oa = (s, e) => I(void 0, null, function* () {\n const t = Hn(s, e);\n return pt(t);\n}), Jn = (s, e) => ht(s, e, s.generateCodeFromPrompt), ca = (s, e) => I(void 0, null, function* () {\n const t = Jn(s, e);\n return pt(t);\n}), Gn = (s, e) => ht(s, e, s.generateLink2Code), ua = (s, e) => I(void 0, null, function* () {\n const t = Gn(s, e);\n return pt(t);\n});\nexport {\n ta as Anima,\n me as CodegenError,\n As as FigmaTokenIssue,\n Os as NotFound,\n Cs as RateLimitExceeded,\n Is as RequestTooLarge,\n na as ResponseError,\n js as UnknownFigmaApiException,\n ca as createCodeFromPromptResponseEventStream,\n Jn as createCodeFromPromptStream,\n oa as createCodeFromWebsiteResponseEventStream,\n Hn as createCodeFromWebsiteStream,\n ia as createCodegenResponseEventStream,\n qn as createCodegenStream,\n ua as createLink2CodeResponseEventStream,\n Gn as createLink2CodeStream,\n ds as findChildrenNode,\n ra as formatToFigmaLink,\n Qn as getFigmaApiErrorType,\n Or as getFigmaFile,\n ea as getFileNodes,\n aa as getRelatedScreenFiles,\n Zs as isFigmaTokenIssue,\n Un as isNodeCodegenCompatible,\n Ns as isNotFound,\n Rs as isRateLimitExceeded,\n Ms as isRequestTooLarge,\n Yn as isUnknownFigmaApiException,\n sa as isValidFigmaUrl,\n Vn as validateSettings,\n ns as wrapFigmaApiError\n};\n//# sourceMappingURL=index.js.map\n","class ParseError extends Error {\n constructor(message, options) {\n super(message), this.name = \"ParseError\", this.type = options.type, this.field = options.field, this.value = options.value, this.line = options.line;\n }\n}\nfunction noop(_arg) {\n}\nfunction createParser(callbacks) {\n if (typeof callbacks == \"function\")\n throw new TypeError(\n \"`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?\"\n );\n const { onEvent = noop, onError = noop, onRetry = noop, onComment } = callbacks;\n let incompleteLine = \"\", isFirstChunk = !0, id, data = \"\", eventType = \"\";\n function feed(newChunk) {\n const chunk = isFirstChunk ? newChunk.replace(/^\\xEF\\xBB\\xBF/, \"\") : newChunk, [complete, incomplete] = splitLines(`${incompleteLine}${chunk}`);\n for (const line of complete)\n parseLine(line);\n incompleteLine = incomplete, isFirstChunk = !1;\n }\n function parseLine(line) {\n if (line === \"\") {\n dispatchEvent();\n return;\n }\n if (line.startsWith(\":\")) {\n onComment && onComment(line.slice(line.startsWith(\": \") ? 2 : 1));\n return;\n }\n const fieldSeparatorIndex = line.indexOf(\":\");\n if (fieldSeparatorIndex !== -1) {\n const field = line.slice(0, fieldSeparatorIndex), offset = line[fieldSeparatorIndex + 1] === \" \" ? 2 : 1, value = line.slice(fieldSeparatorIndex + offset);\n processField(field, value, line);\n return;\n }\n processField(line, \"\", line);\n }\n function processField(field, value, line) {\n switch (field) {\n case \"event\":\n eventType = value;\n break;\n case \"data\":\n data = `${data}${value}\n`;\n break;\n case \"id\":\n id = value.includes(\"\\0\") ? void 0 : value;\n break;\n case \"retry\":\n /^\\d+$/.test(value) ? onRetry(parseInt(value, 10)) : onError(\n new ParseError(`Invalid \\`retry\\` value: \"${value}\"`, {\n type: \"invalid-retry\",\n value,\n line\n })\n );\n break;\n default:\n onError(\n new ParseError(\n `Unknown field \"${field.length > 20 ? `${field.slice(0, 20)}\\u2026` : field}\"`,\n { type: \"unknown-field\", field, value, line }\n )\n );\n break;\n }\n }\n function dispatchEvent() {\n data.length > 0 && onEvent({\n id,\n event: eventType || void 0,\n // If the data buffer's last character is a U+000A LINE FEED (LF) character,\n // then remove the last character from the data buffer.\n data: data.endsWith(`\n`) ? data.slice(0, -1) : data\n }), id = void 0, data = \"\", eventType = \"\";\n }\n function reset(options = {}) {\n incompleteLine && options.consume && parseLine(incompleteLine), isFirstChunk = !0, id = void 0, data = \"\", eventType = \"\", incompleteLine = \"\";\n }\n return { feed, reset };\n}\nfunction splitLines(chunk) {\n const lines = [];\n let incompleteLine = \"\", searchIndex = 0;\n for (; searchIndex < chunk.length; ) {\n const crIndex = chunk.indexOf(\"\\r\", searchIndex), lfIndex = chunk.indexOf(`\n`, searchIndex);\n let lineEnd = -1;\n if (crIndex !== -1 && lfIndex !== -1 ? lineEnd = Math.min(crIndex, lfIndex) : crIndex !== -1 ? lineEnd = crIndex : lfIndex !== -1 && (lineEnd = lfIndex), lineEnd === -1) {\n incompleteLine = chunk.slice(searchIndex);\n break;\n } else {\n const line = chunk.slice(searchIndex, lineEnd);\n lines.push(line), searchIndex = lineEnd + 1, chunk[searchIndex - 1] === \"\\r\" && chunk[searchIndex] === `\n` && searchIndex++;\n }\n }\n return [lines, incompleteLine];\n}\nexport {\n ParseError,\n createParser\n};\n//# sourceMappingURL=index.js.map\n","import { createParser } from \"eventsource-parser\";\nclass ErrorEvent extends Event {\n /**\n * Constructs a new `ErrorEvent` instance. This is typically not called directly,\n * but rather emitted by the `EventSource` object when an error occurs.\n *\n * @param type - The type of the event (should be \"error\")\n * @param errorEventInitDict - Optional properties to include in the error event\n */\n constructor(type, errorEventInitDict) {\n var _a, _b;\n super(type), this.code = (_a = errorEventInitDict == null ? void 0 : errorEventInitDict.code) != null ? _a : void 0, this.message = (_b = errorEventInitDict == null ? void 0 : errorEventInitDict.message) != null ? _b : void 0;\n }\n /**\n * Node.js \"hides\" the `message` and `code` properties of the `ErrorEvent` instance,\n * when it is `console.log`'ed. This makes it harder to debug errors. To ease debugging,\n * we explicitly include the properties in the `inspect` method.\n *\n * This is automatically called by Node.js when you `console.log` an instance of this class.\n *\n * @param _depth - The current depth\n * @param options - The options passed to `util.inspect`\n * @param inspect - The inspect function to use (prevents having to import it from `util`)\n * @returns A string representation of the error\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")](_depth, options, inspect) {\n return inspect(inspectableError(this), options);\n }\n /**\n * Deno \"hides\" the `message` and `code` properties of the `ErrorEvent` instance,\n * when it is `console.log`'ed. This makes it harder to debug errors. To ease debugging,\n * we explicitly include the properties in the `inspect` method.\n *\n * This is automatically called by Deno when you `console.log` an instance of this class.\n *\n * @param inspect - The inspect function to use (prevents having to import it from `util`)\n * @param options - The options passed to `Deno.inspect`\n * @returns A string representation of the error\n */\n [Symbol.for(\"Deno.customInspect\")](inspect, options) {\n return inspect(inspectableError(this), options);\n }\n}\nfunction syntaxError(message) {\n const DomException = globalThis.DOMException;\n return typeof DomException == \"function\" ? new DomException(message, \"SyntaxError\") : new SyntaxError(message);\n}\nfunction flattenError(err) {\n return err instanceof Error ? \"errors\" in err && Array.isArray(err.errors) ? err.errors.map(flattenError).join(\", \") : \"cause\" in err && err.cause instanceof Error ? `${err}: ${flattenError(err.cause)}` : err.message : `${err}`;\n}\nfunction inspectableError(err) {\n return {\n type: err.type,\n message: err.message,\n code: err.code,\n defaultPrevented: err.defaultPrevented,\n cancelable: err.cancelable,\n timeStamp: err.timeStamp\n };\n}\nvar __typeError = (msg) => {\n throw TypeError(msg);\n}, __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg), __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj)), __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value), __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), member.set(obj, value), value), __privateMethod = (obj, member, method) => (__accessCheck(obj, member, \"access private method\"), method), _readyState, _url, _redirectUrl, _withCredentials, _fetch, _reconnectInterval, _reconnectTimer, _lastEventId, _controller, _parser, _onError, _onMessage, _onOpen, _EventSource_instances, connect_fn, _onFetchResponse, _onFetchError, getRequestOptions_fn, _onEvent, _onRetryChange, failConnection_fn, scheduleReconnect_fn, _reconnect;\nclass EventSource extends EventTarget {\n constructor(url, eventSourceInitDict) {\n var _a, _b;\n super(), __privateAdd(this, _EventSource_instances), this.CONNECTING = 0, this.OPEN = 1, this.CLOSED = 2, __privateAdd(this, _readyState), __privateAdd(this, _url), __privateAdd(this, _redirectUrl), __privateAdd(this, _withCredentials), __privateAdd(this, _fetch), __privateAdd(this, _reconnectInterval), __privateAdd(this, _reconnectTimer), __privateAdd(this, _lastEventId, null), __privateAdd(this, _controller), __privateAdd(this, _parser), __privateAdd(this, _onError, null), __privateAdd(this, _onMessage, null), __privateAdd(this, _onOpen, null), __privateAdd(this, _onFetchResponse, async (response) => {\n var _a2;\n __privateGet(this, _parser).reset();\n const { body, redirected, status, headers } = response;\n if (status === 204) {\n __privateMethod(this, _EventSource_instances, failConnection_fn).call(this, \"Server sent HTTP 204, not reconnecting\", 204), this.close();\n return;\n }\n if (redirected ? __privateSet(this, _redirectUrl, new URL(response.url)) : __privateSet(this, _redirectUrl, void 0), status !== 200) {\n __privateMethod(this, _EventSource_instances, failConnection_fn).call(this, `Non-200 status code (${status})`, status);\n return;\n }\n if (!(headers.get(\"content-type\") || \"\").startsWith(\"text/event-stream\")) {\n __privateMethod(this, _EventSource_instances, failConnection_fn).call(this, 'Invalid content type, expected \"text/event-stream\"', status);\n return;\n }\n if (__privateGet(this, _readyState) === this.CLOSED)\n return;\n __privateSet(this, _readyState, this.OPEN);\n const openEvent = new Event(\"open\");\n if ((_a2 = __privateGet(this, _onOpen)) == null || _a2.call(this, openEvent), this.dispatchEvent(openEvent), typeof body != \"object\" || !body || !(\"getReader\" in body)) {\n __privateMethod(this, _EventSource_instances, failConnection_fn).call(this, \"Invalid response body, expected a web ReadableStream\", status), this.close();\n return;\n }\n const decoder = new TextDecoder(), reader = body.getReader();\n let open = !0;\n do {\n const { done, value } = await reader.read();\n value && __privateGet(this, _parser).feed(decoder.decode(value, { stream: !done })), done && (open = !1, __privateGet(this, _parser).reset(), __privateMethod(this, _EventSource_instances, scheduleReconnect_fn).call(this));\n } while (open);\n }), __privateAdd(this, _onFetchError, (err) => {\n __privateSet(this, _controller, void 0), !(err.name === \"AbortError\" || err.type === \"aborted\") && __privateMethod(this, _EventSource_instances, scheduleReconnect_fn).call(this, flattenError(err));\n }), __privateAdd(this, _onEvent, (event) => {\n typeof event.id == \"string\" && __privateSet(this, _lastEventId, event.id);\n const messageEvent = new MessageEvent(event.event || \"message\", {\n data: event.data,\n origin: __privateGet(this, _redirectUrl) ? __privateGet(this, _redirectUrl).origin : __privateGet(this, _url).origin,\n lastEventId: event.id || \"\"\n });\n __privateGet(this, _onMessage) && (!event.event || event.event === \"message\") && __privateGet(this, _onMessage).call(this, messageEvent), this.dispatchEvent(messageEvent);\n }), __privateAdd(this, _onRetryChange, (value) => {\n __privateSet(this, _reconnectInterval, value);\n }), __privateAdd(this, _reconnect, () => {\n __privateSet(this, _reconnectTimer, void 0), __privateGet(this, _readyState) === this.CONNECTING && __privateMethod(this, _EventSource_instances, connect_fn).call(this);\n });\n try {\n if (url instanceof URL)\n __privateSet(this, _url, url);\n else if (typeof url == \"string\")\n __privateSet(this, _url, new URL(url, getBaseURL()));\n else\n throw new Error(\"Invalid URL\");\n } catch {\n throw syntaxError(\"An invalid or illegal string was specified\");\n }\n __privateSet(this, _parser, createParser({\n onEvent: __privateGet(this, _onEvent),\n onRetry: __privateGet(this, _onRetryChange)\n })), __privateSet(this, _readyState, this.CONNECTING), __privateSet(this, _reconnectInterval, 3e3), __privateSet(this, _fetch, (_a = eventSourceInitDict == null ? void 0 : eventSourceInitDict.fetch) != null ? _a : globalThis.fetch), __privateSet(this, _withCredentials, (_b = eventSourceInitDict == null ? void 0 : eventSourceInitDict.withCredentials) != null ? _b : !1), __privateMethod(this, _EventSource_instances, connect_fn).call(this);\n }\n /**\n * Returns the state of this EventSource object's connection. It can have the values described below.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/readyState)\n *\n * Note: typed as `number` instead of `0 | 1 | 2` for compatibility with the `EventSource` interface,\n * defined in the TypeScript `dom` library.\n *\n * @public\n */\n get readyState() {\n return __privateGet(this, _readyState);\n }\n /**\n * Returns the URL providing the event stream.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/url)\n *\n * @public\n */\n get url() {\n return __privateGet(this, _url).href;\n }\n /**\n * Returns true if the credentials mode for connection requests to the URL providing the event stream is set to \"include\", and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/withCredentials)\n */\n get withCredentials() {\n return __privateGet(this, _withCredentials);\n }\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/error_event) */\n get onerror() {\n return __privateGet(this, _onError);\n }\n set onerror(value) {\n __privateSet(this, _onError, value);\n }\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/message_event) */\n get onmessage() {\n return __privateGet(this, _onMessage);\n }\n set onmessage(value) {\n __privateSet(this, _onMessage, value);\n }\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/open_event) */\n get onopen() {\n return __privateGet(this, _onOpen);\n }\n set onopen(value) {\n __privateSet(this, _onOpen, value);\n }\n addEventListener(type, listener, options) {\n const listen = listener;\n super.addEventListener(type, listen, options);\n }\n removeEventListener(type, listener, options) {\n const listen = listener;\n super.removeEventListener(type, listen, options);\n }\n /**\n * Aborts any instances of the fetch algorithm started for this EventSource object, and sets the readyState attribute to CLOSED.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/close)\n *\n * @public\n */\n close() {\n __privateGet(this, _reconnectTimer) && clearTimeout(__privateGet(this, _reconnectTimer)), __privateGet(this, _readyState) !== this.CLOSED && (__privateGet(this, _controller) && __privateGet(this, _controller).abort(), __privateSet(this, _readyState, this.CLOSED), __privateSet(this, _controller, void 0));\n }\n}\n_readyState = /* @__PURE__ */ new WeakMap(), _url = /* @__PURE__ */ new WeakMap(), _redirectUrl = /* @__PURE__ */ new WeakMap(), _withCredentials = /* @__PURE__ */ new WeakMap(), _fetch = /* @__PURE__ */ new WeakMap(), _reconnectInterval = /* @__PURE__ */ new WeakMap(), _reconnectTimer = /* @__PURE__ */ new WeakMap(), _lastEventId = /* @__PURE__ */ new WeakMap(), _controller = /* @__PURE__ */ new WeakMap(), _parser = /* @__PURE__ */ new WeakMap(), _onError = /* @__PURE__ */ new WeakMap(), _onMessage = /* @__PURE__ */ new WeakMap(), _onOpen = /* @__PURE__ */ new WeakMap(), _EventSource_instances = /* @__PURE__ */ new WeakSet(), /**\n* Connect to the given URL and start receiving events\n*\n* @internal\n*/\nconnect_fn = function() {\n __privateSet(this, _readyState, this.CONNECTING), __privateSet(this, _controller, new AbortController()), __privateGet(this, _fetch)(__privateGet(this, _url), __privateMethod(this, _EventSource_instances, getRequestOptions_fn).call(this)).then(__privateGet(this, _onFetchResponse)).catch(__privateGet(this, _onFetchError));\n}, _onFetchResponse = /* @__PURE__ */ new WeakMap(), _onFetchError = /* @__PURE__ */ new WeakMap(), /**\n* Get request options for the `fetch()` request\n*\n* @returns The request options\n* @internal\n*/\ngetRequestOptions_fn = function() {\n var _a;\n const init = {\n // [spec] Let `corsAttributeState` be `Anonymous`…\n // [spec] …will have their mode set to \"cors\"…\n mode: \"cors\",\n redirect: \"follow\",\n headers: { Accept: \"text/event-stream\", ...__privateGet(this, _lastEventId) ? { \"Last-Event-ID\": __privateGet(this, _lastEventId) } : void 0 },\n cache: \"no-store\",\n signal: (_a = __privateGet(this, _controller)) == null ? void 0 : _a.signal\n };\n return \"window\" in globalThis && (init.credentials = this.withCredentials ? \"include\" : \"same-origin\"), init;\n}, _onEvent = /* @__PURE__ */ new WeakMap(), _onRetryChange = /* @__PURE__ */ new WeakMap(), /**\n* Handles the process referred to in the EventSource specification as \"failing a connection\".\n*\n* @param error - The error causing the connection to fail\n* @param code - The HTTP status code, if available\n* @internal\n*/\nfailConnection_fn = function(message, code) {\n var _a;\n __privateGet(this, _readyState) !== this.CLOSED && __privateSet(this, _readyState, this.CLOSED);\n const errorEvent = new ErrorEvent(\"error\", { code, message });\n (_a = __privateGet(this, _onError)) == null || _a.call(this, errorEvent), this.dispatchEvent(errorEvent);\n}, /**\n* Schedules a reconnection attempt against the EventSource endpoint.\n*\n* @param message - The error causing the connection to fail\n* @param code - The HTTP status code, if available\n* @internal\n*/\nscheduleReconnect_fn = function(message, code) {\n var _a;\n if (__privateGet(this, _readyState) === this.CLOSED)\n return;\n __privateSet(this, _readyState, this.CONNECTING);\n const errorEvent = new ErrorEvent(\"error\", { code, message });\n (_a = __privateGet(this, _onError)) == null || _a.call(this, errorEvent), this.dispatchEvent(errorEvent), __privateSet(this, _reconnectTimer, setTimeout(__privateGet(this, _reconnect), __privateGet(this, _reconnectInterval)));\n}, _reconnect = /* @__PURE__ */ new WeakMap(), /**\n* ReadyState representing an EventSource currently trying to connect\n*\n* @public\n*/\nEventSource.CONNECTING = 0, /**\n* ReadyState representing an EventSource connection that is open (eg connected)\n*\n* @public\n*/\nEventSource.OPEN = 1, /**\n* ReadyState representing an EventSource connection that is closed (eg disconnected)\n*\n* @public\n*/\nEventSource.CLOSED = 2;\nfunction getBaseURL() {\n const doc = \"document\" in globalThis ? globalThis.document : void 0;\n return doc && typeof doc == \"object\" && \"baseURI\" in doc && typeof doc.baseURI == \"string\" ? doc.baseURI : void 0;\n}\nexport {\n ErrorEvent,\n EventSource\n};\n//# sourceMappingURL=index.js.map\n","// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n if (getArchtype(obj) === 0 /* Object */) {\n Reflect.ownKeys(obj).forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n } else {\n const proto = getPrototypeOf(base);\n if (proto !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto);\n return Object.assign(obj, base);\n }\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n Object.freeze(obj);\n if (deep)\n Object.entries(obj).forEach(([key, value]) => freeze(value, true));\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nfunction isFrozen(obj) {\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path)\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n finalize(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && Object.prototype.propertyIsEnumerable.call(targetObject, prop))\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n } else {\n copy = shallowCopy(value, true);\n }\n each(copy, (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n });\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map","import{freeze as n,produce as r}from\"immer\";import{useState as t,useCallback as o,useMemo as f,useReducer as u}from\"react\";function i(f){var u=t(function(){return n(\"function\"==typeof f?f():f,!0)}),i=u[1];return[u[0],o(function(t){i(\"function\"==typeof t?r(t):n(t))},[])]}function e(n,t,o){var i=f(function(){return r(n)},[n]);return u(i,t,o)}export{i as useImmer,e as useImmerReducer};\n//# sourceMappingURL=use-immer.module.mjs.map\n","import { arrayBufferToBase64 } from \"./utils\";\nimport type {\n AnimaSDKResult,\n GetCodeParams,\n GetCodeFromWebsiteParams,\n GetLink2CodeParams,\n StreamCodgenMessage,\n ProgressMessage,\n} from \"@animaapp/anima-sdk\";\nimport { CodegenError } from \"@animaapp/anima-sdk\";\nimport { EventSource } from \"eventsource\";\nimport { useImmer } from \"use-immer\";\n\n// How many times can we tolerate transient errors before terminating the request\nconst MAX_RETRIES_AFTER_ERROR = 10;\n\ntype LocalAssetsStorage =\n | { strategy: \"local\"; path: string }\n | { strategy: \"local\"; filePath: string; referencePath: string };\n\nexport type UseAnimaParams =\n | (Omit<GetCodeParams, \"assetsStorage\"> & {\n assetsStorage?: GetCodeParams[\"assetsStorage\"] | LocalAssetsStorage;\n })\n | (Omit<GetCodeFromWebsiteParams, \"assetsStorage\"> & {\n assetsStorage?:\n | GetCodeFromWebsiteParams[\"assetsStorage\"]\n | LocalAssetsStorage;\n })\n | (Omit<GetLink2CodeParams, \"assetsStorage\"> & {\n assetsStorage?: GetLink2CodeParams[\"assetsStorage\"] | LocalAssetsStorage;\n /** @deprecated Use GetCodeFromWebsiteParams instead. This will be removed in a future version. */\n });\n\ntype Status = \"idle\" | \"pending\" | \"success\" | \"aborted\" | \"error\";\n\ntype TaskStatus = \"pending\" | \"running\" | \"finished\";\n\ntype CodegenStatus = {\n status: Status;\n error: CodegenError | null;\n result: AnimaSDKResult | null;\n progressMessages: ProgressMessage[];\n tasks: {\n fetchDesign: { status: TaskStatus };\n codeGeneration: { status: TaskStatus; progress: number };\n uploadAssets: { status: TaskStatus };\n };\n jobSessionId: string | null;\n jobStatus: Record<string, any>;\n};\n\nconst defaultProgress: CodegenStatus = {\n status: \"idle\",\n error: null,\n result: null,\n progressMessages: [],\n tasks: {\n fetchDesign: { status: \"pending\" },\n codeGeneration: { status: \"pending\", progress: 0 },\n uploadAssets: { status: \"pending\" },\n },\n jobSessionId: null,\n jobStatus: {},\n};\n\ntype StreamMessageByType<T extends StreamCodgenMessage[\"type\"]> = Extract<\n StreamCodgenMessage,\n { type: T }\n>;\n\nconst getAssetsLocalStrategyParams = (\n localAssetsStorage: LocalAssetsStorage\n) => {\n if (\"path\" in localAssetsStorage) {\n return {\n filePath: localAssetsStorage.path.replace(/^\\//, \"\"),\n referencePath:\n localAssetsStorage.path === \"/\" ? \"\" : localAssetsStorage.path, // Workaround to avoid duplicated slashes in the URL. Ideally, the fix should be done in Codegen.\n };\n }\n\n return {\n filePath: localAssetsStorage.filePath.replace(/^\\//, \"\"),\n referencePath:\n localAssetsStorage.referencePath === \"/\"\n ? \"\"\n : localAssetsStorage.referencePath,\n };\n};\n\nexport const useAnimaCodegen = ({\n url,\n method = \"POST\",\n}: {\n url: string;\n method?: string;\n}) => {\n const [status, updateStatus] = useImmer<CodegenStatus>(defaultProgress);\n\n const getCode = async <T extends UseAnimaParams = UseAnimaParams>(\n params: T\n ) => {\n updateStatus((draft) => {\n draft.status = \"pending\";\n draft.error = null;\n draft.result = null;\n draft.tasks = defaultProgress.tasks;\n });\n\n const initialParams = structuredClone(params);\n\n if (params.assetsStorage?.strategy === \"local\") {\n const { referencePath } = getAssetsLocalStrategyParams(\n params.assetsStorage\n );\n\n params.assetsStorage = {\n strategy: \"external\",\n url: referencePath,\n };\n }\n\n // TODO: We have two workarounds here because of limitations on the `eventsource` package:\n // 1. We need to use the `fetch` function from the `EventSource` constructor to send the request with the correct method and body (https://github.com/EventSource/eventsource/issues/316#issuecomment-2525315835).\n // 2. We need to store the last fetch response to handle errors to read its body response, since it isn't expoted by the package (https://github.com/EventSource/eventsource/blob/8aa7057bccd7fb819372a3b2c1292e7b53424d52/src/EventSource.ts#L348-L376)\n // We might need to use other library, or do it from our self, to improve the code quality.\n let lastFetchResponse: ReturnType<typeof fetch>;\n const es = new EventSource(url, {\n fetch: (url, init) => {\n lastFetchResponse = fetch(url, {\n ...init,\n method,\n body: JSON.stringify(params),\n });\n\n return lastFetchResponse;\n },\n });\n\n const promise = new Promise<{\n result: AnimaSDKResult | null;\n error: CodegenError | null;\n }>((resolve) => {\n const result: Partial<AnimaSDKResult> = {};\n\n // Add specific event listeners\n es.addEventListener(\"start\", (event) => {\n const message = JSON.parse(event.data) as StreamMessageByType<\"start\">;\n result.sessionId = message.sessionId;\n\n updateStatus((draft) => {\n draft.tasks.fetchDesign.status = \"running\";\n });\n });\n\n es.addEventListener(\"queueing\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"queueing\">;\n\n updateStatus((draft) => {\n draft.jobSessionId = message.payload.sessionId;\n });\n });\n\n es.addEventListener(\"pre_codegen\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"pre_codegen\">;\n if (message.message === \"Anima model built\") {\n updateStatus((draft) => {\n draft.tasks.fetchDesign.status = \"finished\";\n draft.tasks.codeGeneration.status = \"running\";\n draft.tasks.uploadAssets.status = \"running\";\n });\n }\n });\n\n es.addEventListener(\"figma_metadata\", (e) => {\n const message = JSON.parse(\n e.data\n ) as StreamMessageByType<\"figma_metadata\">;\n result.figmaFileName = message.figmaFileName;\n result.figmaSelectedFrameName = message.figmaSelectedFrameName;\n });\n\n es.addEventListener(\"aborted\", () => {\n const error = new CodegenError({ name: \"Aborted\", reason: \"Unknown\" });\n\n updateStatus((draft) => {\n draft.status = \"aborted\";\n (draft.result = null), (draft.error = error);\n });\n\n resolve({\n result: null,\n error,\n });\n });\n\n es.addEventListener(\"generating_code\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"generating_code\">;\n if (message.payload.status === \"success\") {\n result.files = message.payload.files;\n }\n\n updateStatus((draft) => {\n draft.tasks.codeGeneration.progress = message.payload.progress;\n draft.tasks.codeGeneration.status = \"running\";\n });\n });\n\n es.addEventListener(\"progress_messages_updated\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"progress_messages_updated\">;\n\n updateStatus((draft) => {\n draft.progressMessages = message.payload.progressMessages;\n });\n });\n\n es.addEventListener(\"job_status_updated\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"job_status_updated\">;\n\n updateStatus((draft) => {\n draft.jobStatus = message.payload.jobStatus;\n });\n });\n\n es.addEventListener(\"codegen_completed\", () => {\n updateStatus((draft) => {\n draft.tasks.codeGeneration.status = \"finished\";\n });\n });\n\n es.addEventListener(\"generation_completed\", () => {\n updateStatus((draft) => {\n draft.tasks.codeGeneration.status = \"finished\";\n });\n });\n\n es.addEventListener(\"assets_uploaded\", () => {\n updateStatus((draft) => {\n draft.tasks.uploadAssets.status = \"finished\";\n });\n });\n\n es.addEventListener(\"assets_list\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"assets_list\">;\n\n result.assets = message.payload.assets;\n });\n\n let errorCount = 0;\n\n // TODO: For some reason, we receive errors even after the `done` event is triggered.\n es.addEventListener(\"error\", async (error: ErrorEvent | MessageEvent) => {\n console.warn(\n `Experienced error during code generation (attempt ${errorCount + 1} / ${MAX_RETRIES_AFTER_ERROR})`,\n error\n );\n\n let errorPayload: StreamMessageByType<\"error\"> | undefined;\n let errorStatusCode: number | undefined;\n\n // If true, then there's no point into keeping the event handler alive for retries.\n let isUnrecoverableError = false;\n\n try {\n if (error instanceof MessageEvent) {\n errorPayload = JSON.parse(error.data);\n } else {\n const response = await lastFetchResponse;\n errorStatusCode = response.status;\n try {\n errorPayload = await response.json();\n } catch {}\n }\n\n if (\n errorPayload?.payload?.name === \"Task Crashed\" ||\n errorStatusCode === 429\n ) {\n isUnrecoverableError = true;\n }\n } catch {}\n\n const codegenError = new CodegenError({\n name: errorPayload?.payload.name ?? \"Unknown error\",\n reason: errorPayload?.payload.message ?? \"Unknown\",\n status: errorPayload?.payload.status,\n detail: errorPayload?.payload.detail,\n });\n\n errorCount++;\n\n // It could happen that transient network errors cause the \"error\" event to be triggered temporarily.\n // In these cases, we ignore the error and retry the request, unless it's an unrecoverable error.\n let shouldTerminateRequest = false;\n if (errorCount > MAX_RETRIES_AFTER_ERROR) {\n console.error(\"Experienced too many errors, terminating request\");\n shouldTerminateRequest = true;\n } else if (isUnrecoverableError) {\n console.error(\"Experienced unrecoverable error, terminating request\");\n shouldTerminateRequest = true;\n }\n\n if (shouldTerminateRequest) {\n updateStatus((draft) => {\n draft.status = \"error\";\n draft.error = codegenError;\n });\n\n resolve({\n result: null,\n error: codegenError,\n });\n }\n });\n\n es.addEventListener(\"done\", (event) => {\n const message = JSON.parse(event.data) as StreamMessageByType<\"done\">;\n result.tokenUsage = message.payload.tokenUsage;\n result.sessionId = message.payload.sessionId;\n\n updateStatus((draft) => {\n draft.status = \"success\";\n draft.result = result as AnimaSDKResult;\n });\n\n resolve({ result: result as AnimaSDKResult, error: null });\n });\n });\n\n try {\n const { result: r, error } = await promise;\n\n const result = structuredClone(r);\n\n // Ideally, we should download the assets within the `assets_uploaded` event handler, since it'll improve the performance.\n // But for some reason, it doesn't work. So, we download the assets here.\n if (\n initialParams.assetsStorage?.strategy === \"local\" &&\n result?.assets?.length\n ) {\n const { filePath } = getAssetsLocalStrategyParams(\n initialParams.assetsStorage\n );\n\n const downloadAssetsPromises = result.assets.map(async (asset) => {\n const response = await fetch(asset.url);\n const buffer = await response.arrayBuffer();\n return {\n assetName: asset.name,\n base64: arrayBufferToBase64(buffer),\n };\n });\n\n const assets = await Promise.allSettled(downloadAssetsPromises);\n for (const assetPromise of assets) {\n const assetsList: Record<string, string> = {};\n if (assetPromise.status === \"fulfilled\") {\n const { assetName, base64 } = assetPromise.value;\n\n assetsList[assetName] = base64;\n\n const assetPath = filePath ? `${filePath}/${assetName}` : assetName;\n result.files[assetPath] = {\n content: base64,\n isBinary: true,\n };\n }\n }\n }\n\n if (error) {\n return { result: null, error };\n }\n\n return { result, error };\n } finally {\n es.close();\n }\n };\n\n return {\n getCode,\n status: status.status,\n progressMessages: status.progressMessages,\n jobSessionId: status.jobSessionId,\n jobStatus: status.jobStatus,\n tasks: status.tasks,\n error: status.error,\n result: status.result,\n };\n};\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","const FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nexport { ERROR_REVALIDATE_EVENT, FOCUS_EVENT, MUTATE_EVENT, RECONNECT_EVENT };\n","var has = Object.prototype.hasOwnProperty;\n\nexport function dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n","'use client';\nimport React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement } from 'react';\nimport * as revalidateEvents from './events.mjs';\nimport { dequal } from 'dequal/lite';\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst isLegacyDeno = isWindowDefined && 'Deno' in window;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || isLegacyDeno;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\nconst isObjectType = (value, type)=>OBJECT.prototype.toString.call(value) === `[object ${type}]`;\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const isDate = isObjectType(arg, 'Date');\n const isRegex = isObjectType(arg, 'RegExp');\n const isPlainObject = isObjectType(arg, 'Object');\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && !isRegex) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (Array.isArray(arg)) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (isPlainObject) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const startRevalidate = ()=>{\n const revalidators = EVENT_REVALIDATORS[key];\n const revalidate = isFunction(options.revalidate) ? options.revalidate(get().data, _k) : options.revalidate !== false;\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](revalidateEvents.MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data: committedData,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n const populateCachedData = populateCache(data, committedData);\n set({\n data: populateCachedData,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n } else {\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n Promise.resolve(startRevalidate()).then(()=>{\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = Object.create(null);\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = Object.create(null);\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n Object.create(null),\n Object.create(null),\n Object.create(null),\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, revalidateEvents.FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, revalidateEvents.RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = dequal;\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1, fallback: f1 } = a;\n const { use: u2, fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\nexport { noop as A, isPromiseLike as B, IS_REACT_LEGACY as I, OBJECT as O, SWRConfigContext as S, UNDEFINED as U, isFunction as a, SWRGlobalState as b, cache as c, defaultConfig as d, isUndefined as e, mergeConfigs as f, SWRConfig as g, initCache as h, isWindowDefined as i, mutate as j, compare as k, stableHash as l, mergeObjects as m, internalMutate as n, getTimestamp as o, preset as p, defaultConfigOptions as q, IS_SERVER as r, serialize as s, rAF as t, useIsomorphicLayoutEffect as u, slowConnection as v, isDocumentDefined as w, isLegacyDeno as x, hasRequestAnimationFrame as y, createCacheHelper as z };\n","const INFINITE_PREFIX = '$inf$';\n\nexport { INFINITE_PREFIX };\n","import { i as isWindowDefined, a as isFunction, m as mergeObjects, S as SWRConfigContext, d as defaultConfig, s as serialize, b as SWRGlobalState, c as cache, e as isUndefined, f as mergeConfigs } from './config-context-client-v7VOFo66.mjs';\nexport { I as IS_REACT_LEGACY, r as IS_SERVER, O as OBJECT, g as SWRConfig, U as UNDEFINED, k as compare, z as createCacheHelper, q as defaultConfigOptions, o as getTimestamp, y as hasRequestAnimationFrame, h as initCache, n as internalMutate, w as isDocumentDefined, x as isLegacyDeno, B as isPromiseLike, j as mutate, A as noop, p as preset, t as rAF, v as slowConnection, l as stableHash, u as useIsomorphicLayoutEffect } from './config-context-client-v7VOFo66.mjs';\nimport * as revalidateEvents from './events.mjs';\nexport { revalidateEvents };\nimport { INFINITE_PREFIX } from './constants.mjs';\nexport { INFINITE_PREFIX } from './constants.mjs';\nimport React, { useContext } from 'react';\nexport * from './types.mjs';\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n if (key.startsWith(INFINITE_PREFIX)) {\n // we want the infinite fetcher to be called.\n // handling of the PRELOAD cache happens there.\n return fetcher_(...args);\n }\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { SWRGlobalState, cache, defaultConfig, isFunction, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, normalize, preload, serialize, subscribeCallback, useSWRConfig, withArgs, withMiddleware };\n","import React, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { OBJECT as OBJECT$1, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, serialize as serialize$1, createCacheHelper, isUndefined as isUndefined$1, UNDEFINED as UNDEFINED$1, isPromiseLike, getTimestamp, isFunction as isFunction$1, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from '../_internal/index.mjs';\nexport { mutate, preload, useSWRConfig } from '../_internal/index.mjs';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\nconst isObjectType = (value, type)=>OBJECT.prototype.toString.call(value) === `[object ${type}]`;\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const isDate = isObjectType(arg, 'Date');\n const isRegex = isObjectType(arg, 'RegExp');\n const isPlainObject = isObjectType(arg, 'Object');\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && !isRegex) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (Array.isArray(arg)) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (isPlainObject) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// <reference types=\"react/experimental\" />\nconst use = React.use || // This extra generic is to avoid TypeScript mixing up the generic and JSX sytax\n// and emitting an error.\n// We assume that this is only for the `use(thenable)` case, not `use(context)`.\n// https://github.com/facebook/react/blob/aed00dacfb79d17c53218404c52b1c7aa59c4a89/packages/react-server/src/ReactFizzThenable.js#L45\n((thenable)=>{\n switch(thenable.status){\n case 'pending':\n throw thenable;\n case 'fulfilled':\n return thenable.value;\n case 'rejected':\n throw thenable.reason;\n default:\n thenable.status = 'pending';\n thenable.then((v)=>{\n thenable.status = 'fulfilled';\n thenable.value = v;\n }, (e)=>{\n thenable.status = 'rejected';\n thenable.reason = e;\n });\n throw thenable;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize$1(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n // Resolve the fallback data from either the inline option, or the global provider.\n // If it's a promise, we simply let React suspend and resolve it for us.\n const fallback = isUndefined$1(fallbackData) ? isUndefined$1(config.fallback) ? UNDEFINED$1 : config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined$1(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined$1(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n return revalidateIfStale !== false;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined$1(cachedData) ? fallback && isPromiseLike(fallback) ? use(fallback) : fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined$1(cachedData) ? isUndefined$1(laggyDataRef.current) ? data : laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined$1(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined$1(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined$1(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined$1(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined$1(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined$1(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined$1(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined$1(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n // Wait until the ongoing request is done. Deduplication is also\n // considered here.\n ;\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED$1;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined$1(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction$1(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined$1(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED$1, WITH_DEDUPE);\n let nextFocusRevalidatedAt = 0;\n if (getConfig().revalidateOnFocus) {\n const initNow = Date.now();\n nextFocusRevalidatedAt = initNow + getConfig().focusThrottleInterval;\n }\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined$1(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction$1(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined$1(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any fallback data. This causes hydration errors. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using Suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined$1(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined$1(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined$1(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n const swrResponse = {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n return swrResponse;\n};\nconst SWRConfig = OBJECT$1.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\n// useSWR\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n","import useSWR from \"swr\";\nimport { getFigmaFile } from \"@animaapp/anima-sdk\";\n\nexport const useFigmaFile = ({\n fileKey,\n authToken,\n enabled = true,\n params = {},\n}: {\n fileKey: string;\n authToken: string;\n enabled?: boolean;\n params?: {\n depth?: number;\n };\n}) => {\n const isEnabled = Boolean(enabled && fileKey && authToken);\n\n const { data, isLoading, error } = useSWR(\n [\"useFigmaFile\", fileKey, authToken, params],\n () => {\n if (!isEnabled) {\n return null;\n }\n\n return getFigmaFile({\n fileKey,\n authToken,\n params,\n });\n },\n {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n }\n );\n\n return {\n data: data ?? null,\n isLoading,\n error,\n };\n};\n"],"names":["arrayBufferToBase64","buffer","binary","bytes","len","i","xs","ks","Ts","Ft","Ss","Es","Dt","s","t","g","I","n","c","u","me","Qt","As","es","Cs","ts","Is","ss","Os","rs","js","ns","r","a","Ps","$s","Fs","Vt","Ds","Ls","Ut","as","Wt","V","Zt","Mt","S","z","R","K","N","Vs","Us","Ws","wt","zs","zt","Bs","f","v","j","M","F","W","ee","he","ie","L","oe","et","xe","E","ke","pe","b","qs","Hs","Pt","Js","Gs","Ks","Ce","Xs","Ys","xt","Bt","Qs","er","tr","yt","sr","rr","nr","ar","ir","or","cr","ur","te","P","qt","dr","lr","fr","hr","pr","kt","je","Tt","mr","st","ge","rt","St","is","gr","yr","vr","_r","br","Ht","Re","wr","vt","os","Et","xr","kr","ye","D","J","At","Ct","Ze","Tr","Jt","_t","Me","Sr","Er","Ar","G","It","cs","Cr","nt","Ir","ce","us","Or","e","k","Ot","p","re","l","Nr","U","Ie","ls","jr","at","it","Rr","h","Z","_","Ee","$","Nt","jt","_e","De","ot","fs","m","Pe","$e","Y","Gt","w","o","x","H","y","X","fe","q","Ne","We","ze","Ge","$t","Ke","Qe","Xe","Zr","Mr","Pr","$r","Fr","Dr","Lr","Vr","Ur","bt","Wr","zr","Br","qr","Hr","Jr","hs","Gr","ps","Kr","ms","Xr","Yr","Qr","B","en","ue","de","Le","be","ct","Ve","Ue","Oe","ve","ae","ut","Se","O","Q","gs","se","qe","He","le","Je","ft","Rt","Be","dt","we","Ae","lt","tn","Kt","ys","sn","rn","vs","_s","nn","an","bs","on","cn","un","dn","ln","fn","hn","pn","mn","gn","yn","vn","_n","bn","wn","xn","kn","Tn","Sn","En","An","Cn","In","On","Xt","Nn","jn","Rn","Zn","Mn","Pn","$n","Fn","Dn","T","ParseError","message","options","noop","_arg","createParser","callbacks","onEvent","onError","onRetry","onComment","incompleteLine","isFirstChunk","id","data","eventType","feed","newChunk","chunk","complete","incomplete","splitLines","line","parseLine","dispatchEvent","fieldSeparatorIndex","field","offset","value","processField","reset","lines","searchIndex","crIndex","lfIndex","lineEnd","ErrorEvent","type","errorEventInitDict","_a","_b","_depth","inspect","inspectableError","syntaxError","DomException","flattenError","err","__typeError","msg","__accessCheck","obj","member","__privateGet","getter","__privateAdd","__privateSet","setter","__privateMethod","method","_readyState","_url","_redirectUrl","_withCredentials","_fetch","_reconnectInterval","_reconnectTimer","_lastEventId","_controller","_parser","_onError","_onMessage","_onOpen","_EventSource_instances","connect_fn","_onFetchResponse","_onFetchError","getRequestOptions_fn","_onEvent","_onRetryChange","failConnection_fn","scheduleReconnect_fn","_reconnect","EventSource","url","eventSourceInitDict","response","__async","_a2","body","redirected","status","headers","openEvent","decoder","reader","open","done","event","messageEvent","getBaseURL","listener","listen","init","__spreadValues","code","errorEvent","doc","NOTHING","DRAFTABLE","DRAFT_STATE","errors","plugin","thing","die","error","args","getPrototypeOf","isDraft","isDraftable","isPlainObject","isMap","isSet","objectCtorString","proto","Ctor","each","iter","getArchtype","key","entry","index","state","has","prop","set","propOrOldValue","target","latest","shallowCopy","base","strict","isPlain","descriptors","keys","desc","freeze","deep","isFrozen","dontMutateFrozenCollections","plugins","getPlugin","pluginKey","currentScope","getCurrentScope","createScope","parent_","immer_","usePatchesInScope","scope","patchListener","revokeScope","leaveScope","revokeDraft","enterScope","immer2","draft","processResult","result","baseDraft","finalize","maybeFreeze","rootScope","path","childValue","finalizeProperty","resultEach","isSet2","parentState","targetObject","rootPath","targetIsSet","res","createProxyProxy","parent","isArray","traps","objectTraps","arrayTraps","revoke","proxy","source","readPropFromProto","peek","prepareCopy","createProxy","getDescriptorFromProto","current2","currentState","markChanged","owner","Immer2","config","recipe","defaultBase","self","base2","hasError","ip","patches","inversePatches","current","patch","applyPatchesImpl","currentImpl","copy","immer","produce","MAX_RETRIES_AFTER_ERROR","defaultProgress","getAssetsLocalStrategyParams","localAssetsStorage","useAnimaCodegen","updateStatus","useImmer","params","initialParams","referencePath","lastFetchResponse","__spreadProps","promise","resolve","CodegenError","errorCount","errorPayload","errorStatusCode","isUnrecoverableError","codegenError","_c","shouldTerminateRequest","filePath","downloadAssetsPromises","asset","assets","assetPromise","assetsList","assetName","base64","assetPath","React","require$$0","objectIs","useState","useEffect","useLayoutEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","_useState","inst","forceUpdate","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","didWarnOld18Alpha","didWarnUncachedGetSnapshot","cachedValue","useSyncExternalStoreShim_development","shimModule","require$$1","FOCUS_EVENT","RECONNECT_EVENT","MUTATE_EVENT","ERROR_REVALIDATE_EVENT","dequal","foo","bar","ctor","SWRGlobalState","UNDEFINED","OBJECT","isUndefined","isFunction","mergeObjects","isPromiseLike","EMPTY_CACHE","INITIAL_CACHE","STR_UNDEFINED","isWindowDefined","isDocumentDefined","isLegacyDeno","hasRequestAnimationFrame","createCacheHelper","cache","info","prev","online","isOnline","onWindowEvent","offWindowEvent","isVisible","visibilityState","initFocus","callback","initReconnect","onOnline","onOffline","preset","defaultConfigOptions","IS_REACT_LEGACY","IS_SERVER","rAF","useIsomorphicLayoutEffect","navigatorConnection","slowConnection","table","isObjectType","counter","stableHash","arg","isDate","isRegex","serialize","__timestamp","getTimestamp","internalMutate","_key","_data","_opts","populateCache","rollbackOnErrorOption","optimisticData","rollbackOnError","throwOnError","keyFilter","matchedKeys","mutateByKey","_k","get","EVENT_REVALIDATORS","MUTATION","FETCH","PRELOAD","startRevalidate","revalidators","revalidateEvents.MUTATE_EVENT","beforeMutationTs","hasOptimisticData","displayedData","currentData","committedData","populateCachedData","revalidateAllKeys","initCache","provider","opts","mutate","unmount","subscriptions","subs","initProvider","releaseFocus","revalidateEvents.FOCUS_EVENT","releaseReconnect","revalidateEvents.RECONNECT_EVENT","onErrorRetry","__","revalidate","maxRetryCount","currentRetryCount","timeout","compare","defaultConfig","mergeConfigs","u1","f1","u2","f2","SWRConfigContext","createContext","INFINITE_PREFIX","enableDevtools","use","setupDevTools","normalize","useSWRConfig","useContext","middleware","useSWRNext","key_","fetcher_","req","BUILT_IN_MIDDLEWARE","withArgs","hook","fallbackConfig","_config","next","subscribeCallback","keyedRevalidators","thenable","WITH_DEDUPE","useSWRHandler","fetcher","suspense","fallbackData","revalidateOnMount","revalidateIfStale","refreshInterval","refreshWhenHidden","refreshWhenOffline","keepPreviousData","fnArg","serialize$1","initialMountedRef","useRef","unmountedRef","keyRef","fetcherRef","configRef","getConfig","isActive","getCache","setCache","subscribeCache","getInitialCache","stateDependencies","fallback","isUndefined$1","UNDEFINED$1","isEqual","returnedData","useMemo","shouldStartRequest","getSelectedCache","snapshot","cachedData","initialData","clientSnapshot","serverSnapshot","memorizedSnapshot","newSnapshot","cached","useSyncExternalStore","useCallback","isInitialMount","hasRevalidator","laggyDataRef","shouldDoInitialRevalidation","defaultValidatingState","isValidating","isLoading","revalidateOpts","currentFetcher","newData","startAt","loading","shouldStartNewRequest","callbackSafeguard","finalState","finishRequestAndUpdateState","cleanupState","requestInfo","initialState","mutationInfo","cacheData","currentConfig","shouldRetryOnError","isFunction$1","revalidateEvents.ERROR_REVALIDATE_EVENT","boundMutate","softRevalidate","nextFocusRevalidatedAt","unsubEvents","now","timer","interval","execute","useSWR","useFigmaFile","fileKey","authToken","enabled","isEnabled","getFigmaFile"],"mappings":"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","x_google_ignoreList":[2,3,4,5,7,8,9,10,11,12,13,14,15]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/utils.ts","../../sdk/dist/index.js","../../node_modules/eventsource/node_modules/eventsource-parser/dist/index.js","../../node_modules/eventsource/dist/index.js","../../node_modules/immer/dist/immer.mjs","../../node_modules/use-immer/dist/use-immer.module.mjs","../src/useAnimaCodegen.ts","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../node_modules/use-sync-external-store/shim/index.js","../../node_modules/swr/dist/_internal/events.mjs","../../node_modules/dequal/lite/index.mjs","../../node_modules/swr/dist/_internal/config-context-client-v7VOFo66.mjs","../../node_modules/swr/dist/_internal/constants.mjs","../../node_modules/swr/dist/_internal/index.mjs","../../node_modules/swr/dist/index/index.mjs","../src/useFigmaFile.ts"],"sourcesContent":["export const arrayBufferToBase64 = (buffer: ArrayBuffer) => {\n let binary = \"\";\n const bytes = new Uint8Array(buffer);\n const len = bytes.byteLength;\n for (let i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n\n return btoa(binary);\n};\n","var xs = Object.defineProperty, ks = Object.defineProperties;\nvar Ts = Object.getOwnPropertyDescriptors;\nvar Ft = Object.getOwnPropertySymbols;\nvar Ss = Object.prototype.hasOwnProperty, Es = Object.prototype.propertyIsEnumerable;\nvar Lt = (s) => {\n throw TypeError(s);\n};\nvar Dt = (s, e, t) => e in s ? xs(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, d = (s, e) => {\n for (var t in e || (e = {}))\n Ss.call(e, t) && Dt(s, t, e[t]);\n if (Ft)\n for (var t of Ft(e))\n Es.call(e, t) && Dt(s, t, e[t]);\n return s;\n}, g = (s, e) => ks(s, Ts(e));\nvar mt = (s, e, t) => e.has(s) || Lt(\"Cannot \" + t);\nvar C = (s, e, t) => (mt(s, e, \"read from private field\"), t ? t.call(s) : e.get(s)), tt = (s, e, t) => e.has(s) ? Lt(\"Cannot add the same private member more than once\") : e instanceof WeakSet ? e.add(s) : e.set(s, t), gt = (s, e, t, r) => (mt(s, e, \"write to private field\"), r ? r.call(s, t) : e.set(s, t), t), Te = (s, e, t) => (mt(s, e, \"access private method\"), t);\nvar I = (s, e, t) => new Promise((r, n) => {\n var a = (c) => {\n try {\n o(t.next(c));\n } catch (u) {\n n(u);\n }\n }, i = (c) => {\n try {\n o(t.throw(c));\n } catch (u) {\n n(u);\n }\n }, o = (c) => c.done ? r(c.value) : Promise.resolve(c.value).then(a, i);\n o((t = t.apply(s, e)).next());\n});\nclass me extends Error {\n constructor({\n name: e,\n reason: t,\n status: r,\n detail: n\n }) {\n super(), this.name = e, this.message = t, this.detail = n, this.status = r;\n }\n}\nconst Qt = \"Figma Token Issue\";\nclass As extends Error {\n constructor({\n fileKey: e,\n reason: t,\n cause: r\n }) {\n super(Qt), this.fileKey = e, this.reason = t, this.cause = r;\n }\n}\nconst es = \"Rate Limit Exceeded\";\nclass Cs extends Error {\n constructor({ fileKey: e, cause: t }) {\n super(es), this.fileKey = e, this.cause = t;\n }\n}\nconst ts = \"Request Too Large\";\nclass Is extends Error {\n constructor({ fileKey: e, cause: t }) {\n super(ts), this.fileKey = e, this.cause = t;\n }\n}\nconst ss = \"Not Found\";\nclass Os extends Error {\n constructor({ fileKey: e, cause: t }) {\n super(ss), this.fileKey = e, this.cause = t;\n }\n}\nconst Ns = (s) => s.message === ss, rs = \"Unknown Figma API Exception\";\nclass js extends Error {\n constructor({ fileKey: e, cause: t }) {\n super(rs), this.name = \"UnknownFigmaApiException\", this.fileKey = e, this.cause = t;\n }\n}\nconst Yn = (s) => s.message === rs, Rs = (s) => s.message === es, Zs = (s) => [Qt, ...[\n \"Invalid Figma token\",\n \"Figma token expired\"\n]].includes(\n s.message\n), Ms = (s) => s.message === ts, ns = (s, e) => {\n var r;\n if (((r = s == null ? void 0 : s.cause) == null ? void 0 : r.message) === \"Fetch Error\") {\n const { err: n, status: a } = s.cause.body;\n if (a === 403)\n return new As({\n fileKey: e,\n reason: n,\n cause: s\n });\n if (a === 429)\n return new Cs({ fileKey: e, cause: s });\n if (a === 404)\n return new Os({ fileKey: e, cause: s });\n if (a === 400 && n.includes(\"Request too large\"))\n return new Is({ fileKey: e, cause: s });\n }\n return new js({ fileKey: e, cause: s });\n}, Qn = (s) => Ns(s) ? \"NotFound\" : Rs(s) ? \"RateLimitExceeded\" : Zs(s) ? \"FigmaTokenIssue\" : Ms(s) ? \"RequestTooLarge\" : \"UnknownFigmaApiException\";\nvar Ps = Object.defineProperty, $s = Object.defineProperties, Fs = Object.getOwnPropertyDescriptors, Vt = Object.getOwnPropertySymbols, Ds = Object.prototype.hasOwnProperty, Ls = Object.prototype.propertyIsEnumerable, Ut = (s, e) => (e = Symbol[s]) ? e : Symbol.for(\"Symbol.\" + s), as = (s) => {\n throw TypeError(s);\n}, Wt = (s, e, t) => e in s ? Ps(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, V = (s, e) => {\n for (var t in e || (e = {}))\n Ds.call(e, t) && Wt(s, t, e[t]);\n if (Vt)\n for (var t of Vt(e))\n Ls.call(e, t) && Wt(s, t, e[t]);\n return s;\n}, Zt = (s, e) => $s(s, Fs(e)), Mt = (s, e, t) => e.has(s) || as(\"Cannot \" + t), S = (s, e, t) => (Mt(s, e, \"read from private field\"), t ? t.call(s) : e.get(s)), z = (s, e, t) => e.has(s) ? as(\"Cannot add the same private member more than once\") : e instanceof WeakSet ? e.add(s) : e.set(s, t), R = (s, e, t, r) => (Mt(s, e, \"write to private field\"), e.set(s, t), t), K = (s, e, t) => (Mt(s, e, \"access private method\"), t), N = (s, e, t) => new Promise((r, n) => {\n var a = (c) => {\n try {\n o(t.next(c));\n } catch (u) {\n n(u);\n }\n }, i = (c) => {\n try {\n o(t.throw(c));\n } catch (u) {\n n(u);\n }\n }, o = (c) => c.done ? r(c.value) : Promise.resolve(c.value).then(a, i);\n o((t = t.apply(s, e)).next());\n}), Vs = (s, e, t) => (e = s[Ut(\"asyncIterator\")]) ? e.call(s) : (s = s[Ut(\"iterator\")](), e = {}, t = (r, n) => (n = s[r]) && (e[r] = (a) => new Promise((i, o, c) => (a = n.call(s, a), c = a.done, Promise.resolve(a.value).then((u) => i({ value: u, done: c }), o)))), t(\"next\"), t(\"return\"), e), Us = typeof globalThis != \"undefined\" ? globalThis : typeof window != \"undefined\" ? window : typeof global != \"undefined\" ? global : typeof self != \"undefined\" ? self : {};\nfunction Ws(s) {\n return s && s.__esModule && Object.prototype.hasOwnProperty.call(s, \"default\") ? s.default : s;\n}\nvar wt = { exports: {} }, zs = wt.exports, zt;\nfunction Bs() {\n return zt || (zt = 1, function(s, e) {\n (function(t, r) {\n s.exports = r();\n })(zs, function() {\n var t = typeof Promise == \"function\", r = typeof self == \"object\" ? self : Us, n = typeof Symbol != \"undefined\", a = typeof Map != \"undefined\", i = typeof Set != \"undefined\", o = typeof WeakMap != \"undefined\", c = typeof WeakSet != \"undefined\", u = typeof DataView != \"undefined\", f = n && typeof Symbol.iterator != \"undefined\", v = n && typeof Symbol.toStringTag != \"undefined\", j = i && typeof Set.prototype.entries == \"function\", M = a && typeof Map.prototype.entries == \"function\", F = j && Object.getPrototypeOf((/* @__PURE__ */ new Set()).entries()), W = M && Object.getPrototypeOf((/* @__PURE__ */ new Map()).entries()), ee = f && typeof Array.prototype[Symbol.iterator] == \"function\", he = ee && Object.getPrototypeOf([][Symbol.iterator]()), ie = f && typeof String.prototype[Symbol.iterator] == \"function\", L = ie && Object.getPrototypeOf(\"\"[Symbol.iterator]()), oe = 8, et = -1;\n function xe(E) {\n var ke = typeof E;\n if (ke !== \"object\")\n return ke;\n if (E === null)\n return \"null\";\n if (E === r)\n return \"global\";\n if (Array.isArray(E) && (v === !1 || !(Symbol.toStringTag in E)))\n return \"Array\";\n if (typeof window == \"object\" && window !== null) {\n if (typeof window.location == \"object\" && E === window.location)\n return \"Location\";\n if (typeof window.document == \"object\" && E === window.document)\n return \"Document\";\n if (typeof window.navigator == \"object\") {\n if (typeof window.navigator.mimeTypes == \"object\" && E === window.navigator.mimeTypes)\n return \"MimeTypeArray\";\n if (typeof window.navigator.plugins == \"object\" && E === window.navigator.plugins)\n return \"PluginArray\";\n }\n if ((typeof window.HTMLElement == \"function\" || typeof window.HTMLElement == \"object\") && E instanceof window.HTMLElement) {\n if (E.tagName === \"BLOCKQUOTE\")\n return \"HTMLQuoteElement\";\n if (E.tagName === \"TD\")\n return \"HTMLTableDataCellElement\";\n if (E.tagName === \"TH\")\n return \"HTMLTableHeaderCellElement\";\n }\n }\n var pe = v && E[Symbol.toStringTag];\n if (typeof pe == \"string\")\n return pe;\n var b = Object.getPrototypeOf(E);\n return b === RegExp.prototype ? \"RegExp\" : b === Date.prototype ? \"Date\" : t && b === Promise.prototype ? \"Promise\" : i && b === Set.prototype ? \"Set\" : a && b === Map.prototype ? \"Map\" : c && b === WeakSet.prototype ? \"WeakSet\" : o && b === WeakMap.prototype ? \"WeakMap\" : u && b === DataView.prototype ? \"DataView\" : a && b === W ? \"Map Iterator\" : i && b === F ? \"Set Iterator\" : ee && b === he ? \"Array Iterator\" : ie && b === L ? \"String Iterator\" : b === null ? \"Object\" : Object.prototype.toString.call(E).slice(oe, et);\n }\n return xe;\n });\n }(wt)), wt.exports;\n}\nvar qs = Bs();\nconst Hs = /* @__PURE__ */ Ws(qs), Pt = typeof Buffer != \"undefined\", Js = Pt && typeof Buffer.from != \"undefined\", Gs = Pt ? (\n /**\n * is value is Buffer?\n *\n * @param {*} value\n * @return {boolean}\n */\n function(s) {\n return Buffer.isBuffer(s);\n }\n) : (\n /**\n * return false\n *\n * NOTE: for Buffer unsupported\n *\n * @return {boolean}\n */\n function() {\n return !1;\n }\n), Ks = Js ? (\n /**\n * copy Buffer\n *\n * @param {Buffer} value\n * @return {Buffer}\n */\n function(s) {\n return Buffer.from(s);\n }\n) : Pt ? (\n /**\n * copy Buffer\n *\n * NOTE: for old node.js\n *\n * @param {Buffer} value\n * @return {Buffer}\n */\n function(s) {\n return new Buffer(s);\n }\n) : (\n /**\n * shallow copy\n *\n * NOTE: for Buffer unsupported\n *\n * @param {*}\n * @return {*}\n */\n function(s) {\n return s;\n }\n);\nfunction Ce(s) {\n return Gs(s) ? \"Buffer\" : Hs(s);\n}\nconst Xs = /* @__PURE__ */ new Set([\n \"Arguments\",\n \"Array\",\n \"Map\",\n \"Object\",\n \"Set\"\n]);\nfunction Ys(s, e, t = null) {\n switch (t || Ce(s)) {\n case \"Arguments\":\n case \"Array\":\n case \"Object\":\n return s[e];\n case \"Map\":\n return s.get(e);\n case \"Set\":\n return e;\n }\n}\nfunction xt(s) {\n return Xs.has(s);\n}\nfunction Bt(s, e, t, r = null) {\n switch (r || Ce(s)) {\n case \"Arguments\":\n case \"Array\":\n case \"Object\":\n s[e] = t;\n break;\n case \"Map\":\n s.set(e, t);\n break;\n case \"Set\":\n s.add(t);\n break;\n }\n return s;\n}\nconst Qs = typeof globalThis != \"undefined\" && globalThis !== null && globalThis.Object === Object && globalThis, er = typeof global != \"undefined\" && global !== null && global.Object === Object && global, tr = typeof self != \"undefined\" && self !== null && self.Object === Object && self, yt = Qs || er || tr || Function(\"return this\")();\nfunction sr(s) {\n return s.slice(0);\n}\nfunction rr(s) {\n return new Boolean(s.valueOf());\n}\nfunction nr(s) {\n return new DataView(s.buffer);\n}\nfunction ar(s) {\n return Ks(s);\n}\nfunction ir(s) {\n return new Date(s.getTime());\n}\nfunction or(s) {\n return new Number(s);\n}\nfunction cr(s) {\n return new RegExp(s.source, s.flags);\n}\nfunction ur(s) {\n return new String(s);\n}\nfunction te(s, e) {\n return yt[e].from ? yt[e].from(s) : new yt[e](s);\n}\nfunction P(s) {\n return s;\n}\nfunction qt() {\n return [];\n}\nfunction dr() {\n return /* @__PURE__ */ new Map();\n}\nfunction lr() {\n return {};\n}\nfunction fr() {\n return /* @__PURE__ */ new Set();\n}\nconst hr = /* @__PURE__ */ new Map([\n // deep copy\n [\"ArrayBuffer\", sr],\n [\"Boolean\", rr],\n [\"Buffer\", ar],\n [\"DataView\", nr],\n [\"Date\", ir],\n [\"Number\", or],\n [\"RegExp\", cr],\n [\"String\", ur],\n // typed arrays\n // TODO: pass bound function\n [\"Float32Array\", te],\n [\"Float64Array\", te],\n [\"Int16Array\", te],\n [\"Int32Array\", te],\n [\"Int8Array\", te],\n [\"Uint16Array\", te],\n [\"Uint32Array\", te],\n [\"Uint8Array\", te],\n [\"Uint8ClampedArray\", te],\n // shallow copy\n [\"Array Iterator\", P],\n [\"Map Iterator\", P],\n [\"Promise\", P],\n [\"Set Iterator\", P],\n [\"String Iterator\", P],\n [\"function\", P],\n [\"global\", P],\n // NOTE: WeakMap and WeakSet cannot get entries\n [\"WeakMap\", P],\n [\"WeakSet\", P],\n // primitives\n [\"boolean\", P],\n [\"null\", P],\n [\"number\", P],\n [\"string\", P],\n [\"symbol\", P],\n [\"undefined\", P],\n // collections\n // NOTE: return empty value, because recursively copy later.\n [\"Arguments\", qt],\n [\"Array\", qt],\n [\"Map\", dr],\n [\"Object\", lr],\n [\"Set\", fr]\n // NOTE: type-detect returns following types\n // 'Location'\n // 'Document'\n // 'MimeTypeArray'\n // 'PluginArray'\n // 'HTMLQuoteElement'\n // 'HTMLTableDataCellElement'\n // 'HTMLTableHeaderCellElement'\n // TODO: is type-detect never return 'object'?\n // 'object'\n]);\nfunction pr() {\n}\nfunction kt(s, e = null, t = pr) {\n arguments.length === 2 && typeof e == \"function\" && (t = e, e = null);\n const r = e || Ce(s), n = hr.get(r);\n if (r === \"Object\") {\n const a = t(s, r);\n if (a !== void 0)\n return a;\n }\n return n ? n(s, r) : s;\n}\nfunction je(s, e = {}) {\n typeof e == \"function\" && (e = {\n customizer: e\n });\n const {\n // TODO: before/after customizer\n customizer: t\n // TODO: max depth\n // depth = Infinity,\n } = e, r = Ce(s);\n if (!xt(r))\n return Tt(s, null, null, null);\n const n = kt(s, r, t), a = new WeakMap([[s, n]]), i = new WeakSet([s]);\n return Tt(s, n, a, i);\n}\nfunction Tt(s, e, t, r, n) {\n const a = Ce(s), i = kt(s, a);\n if (!xt(a))\n return i;\n let o;\n switch (a) {\n case \"Arguments\":\n case \"Array\":\n o = Object.keys(s);\n break;\n case \"Object\":\n o = Object.keys(s), o.push(...Object.getOwnPropertySymbols(s));\n break;\n case \"Map\":\n case \"Set\":\n o = s.keys();\n break;\n }\n for (let c of o) {\n const u = Ys(s, c, a);\n if (r.has(u))\n Bt(e, c, t.get(u), a);\n else {\n const f = Ce(u), v = kt(u, f);\n xt(f) && (t.set(u, v), r.add(u)), Bt(\n e,\n c,\n Tt(\n u,\n v,\n t,\n r\n ),\n a\n );\n }\n }\n return e;\n}\nconst mr = (s) => new Promise((e) => setTimeout(e, s));\nvar st, ge, rt, St, is;\nclass gr {\n constructor({ maxAttempts: e = 3, func: t }) {\n z(this, St), z(this, st), z(this, ge), z(this, rt), R(this, st, e), R(this, rt, t), R(this, ge, 0);\n }\n run() {\n return N(this, null, function* () {\n try {\n return yield S(this, rt).call(this);\n } catch (e) {\n if (R(this, ge, S(this, ge) + 1), S(this, ge) > S(this, st))\n throw console.error(\"Max attempts reached\"), e;\n const t = K(this, St, is).call(this);\n return yield mr(t), yield this.run();\n }\n });\n }\n}\nst = /* @__PURE__ */ new WeakMap(), ge = /* @__PURE__ */ new WeakMap(), rt = /* @__PURE__ */ new WeakMap(), St = /* @__PURE__ */ new WeakSet(), is = function() {\n return S(this, ge) * 1e3 * 1.5;\n};\nfunction yr() {\n return typeof CompressionStream != \"undefined\";\n}\nfunction vr(s) {\n return N(this, null, function* () {\n const e = new Blob([s]).stream().pipeThrough(new CompressionStream(\"gzip\")), t = [];\n try {\n for (var r = Vs(e), n, a, i; n = !(a = yield r.next()).done; n = !1) {\n const o = a.value;\n t.push(o);\n }\n } catch (o) {\n i = [o];\n } finally {\n try {\n n && (a = r.return) && (yield a.call(r));\n } finally {\n if (i)\n throw i[0];\n }\n }\n return yield _r(t);\n });\n}\nfunction _r(s) {\n return N(this, null, function* () {\n const e = yield new Blob(s).arrayBuffer();\n return new Uint8Array(e);\n });\n}\nclass br extends Error {\n constructor({ resource: e, api: t, args: r, cause: n }) {\n if (super(`API Error on resource \"${e}\" at api \"${t}\"`), this.causeProperties = {}, this.name = \"API Error\", this.resource = e, this.api = t, this.cause = n, this.args = r, n instanceof Error)\n for (const [i, o] of Object.entries(n))\n if (typeof Headers != \"undefined\" && o instanceof Headers) {\n const c = {};\n o.forEach((u, f) => {\n c[f] = u;\n }), this.causeProperties[i] = c;\n } else\n this.causeProperties[i] = o;\n const a = this.causeProperties.body;\n a && typeof a == \"object\" && \"code\" in a && (this.code = a.code);\n }\n}\nclass Ht extends Error {\n constructor({\n url: e,\n method: t,\n statusCode: r,\n requestHeaders: n,\n responseHeaders: a,\n body: i\n }) {\n if (super(\"Fetch Error\"), this.name = \"Fetch Error\", this.url = e, this.method = t, this.statusNumber = r, this.requestHeaders = n, this.responseHeaders = a, i)\n try {\n const o = JSON.parse(i);\n this.body = o;\n } catch (o) {\n this.body = i;\n }\n }\n}\nclass Re extends Error {\n constructor(e = {}) {\n const { canceled: t = !1 } = e;\n super(\"Abort Error\"), this.name = \"Abort Error\", this.canceled = t;\n }\n}\nclass wr extends Error {\n constructor(e) {\n super(`Async API Error: ${JSON.stringify(e)}`), this.name = \"Async API Error\", this.body = e;\n }\n}\nclass vt extends Error {\n constructor(e) {\n super(e), this.name = \"Request Validation Error\";\n }\n}\nfunction os() {\n return Array.from(\n { length: 32 },\n () => Math.floor(Math.random() * 256).toString(16).padStart(2, \"0\")\n ).join(\"\");\n}\nfunction Et() {\n return Math.floor(Date.now() / 1e3).toString();\n}\nconst xr = 5 * 60 * 1e3, kr = 1 * 1e3;\nvar ye, D, J, At, Ct, Ze;\nclass Tr {\n constructor({ fetch: e = globalThis.fetch.bind(globalThis), baseAddress: t }) {\n z(this, J), z(this, ye), z(this, D), this.baseAddress = t, R(this, ye, e), R(this, D, {}), this.plugins = [];\n }\n get headers() {\n throw new Error(\"Missing implementation\");\n }\n addPlugin(e) {\n this.plugins.push(e);\n }\n removePlugin(e) {\n this.plugins = this.plugins.filter((t) => t.name !== e);\n }\n withOptions(e = {}) {\n return R(this, D, e), this;\n }\n get(e) {\n return N(this, arguments, function* (t, r = {}) {\n const { overrideBaseAddress: n, overrideDefaultHeaders: a } = r, i = n != null ? n : this.baseAddress;\n let o = a != null ? a : this.headers;\n const c = je(S(this, D));\n return R(this, D, {}), c.extraHeaders && (o = V(V({}, o), c.extraHeaders)), c.requestValidation && (o = Zt(V({}, o), { \"X-Request-Nonce\": os(), \"X-Request-Timestamp\": Et() })), c.async ? yield K(this, J, Ct).call(this, `${i}${t}`, c.async, { headers: o }) : yield K(this, J, At).call(this, `${i}${t}`, c, { headers: o });\n });\n }\n post(e, t) {\n return N(this, arguments, function* (r, n, a = {}) {\n const i = je(S(this, D));\n return R(this, D, {}), K(this, J, Ze).call(this, r, \"POST\", n, a, i);\n });\n }\n put(e, t) {\n return N(this, arguments, function* (r, n, a = {}) {\n const i = je(S(this, D));\n return R(this, D, {}), K(this, J, Ze).call(this, r, \"PUT\", n, a, i);\n });\n }\n delete(e, t) {\n return N(this, arguments, function* (r, n, a = {}) {\n const i = je(S(this, D));\n return R(this, D, {}), K(this, J, Ze).call(this, r, \"DELETE\", n, a, i);\n });\n }\n patch(e, t) {\n return N(this, arguments, function* (r, n, a = {}) {\n const i = je(S(this, D));\n return R(this, D, {}), K(this, J, Ze).call(this, r, \"PATCH\", n, a, i);\n });\n }\n}\nye = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakSet(), At = function(s, e, t) {\n return N(this, null, function* () {\n const r = () => N(this, null, function* () {\n var c, u;\n try {\n return yield S(this, ye).call(this, s, V(V({}, t), e.abortSignal && { signal: e.abortSignal }));\n } catch (f) {\n throw f instanceof Error && f.name === \"AbortError\" ? new Re({ canceled: (u = (c = e.abortSignal) == null ? void 0 : c.aborted) != null ? u : !1 }) : f;\n }\n }), { headers: n } = t != null ? t : {}, a = (c, u) => {\n var f, v;\n return ((f = c == null ? void 0 : c.headers) == null ? void 0 : f.get(u)) || ((v = c == null ? void 0 : c.headersObject) == null ? void 0 : v[u]) || \"\";\n }, i = (c) => N(this, null, function* () {\n var u;\n if (!c.ok) {\n const v = yield c.text().catch();\n throw new Ht({\n url: s,\n method: (u = t == null ? void 0 : t.method) != null ? u : \"GET\",\n statusCode: c.status,\n requestHeaders: n,\n responseHeaders: c.headers,\n body: v\n });\n }\n if (e.requestValidation && process.env.UI_TESTS !== !0)\n try {\n const v = a(c, \"x-response-nonce\"), j = n == null ? void 0 : n[\"X-Request-Nonce\"];\n if (!v || v !== j)\n throw new vt(\"Response nonce mismatch\");\n const M = Number(a(c, \"x-response-timestamp\")), F = Number(Et()), W = 60 * 60 * 24;\n if (isNaN(M) || Math.abs(F - M) > W)\n throw new vt(\"Invalid response timestamp\");\n } catch (v) {\n const j = v instanceof Error ? v.message : \"Request validation failed\";\n throw new vt(j);\n }\n let f = yield c.text();\n try {\n f = JSON.parse(f);\n } catch (v) {\n }\n return f;\n });\n if (e.retry) {\n const c = yield new gr({\n maxAttempts: e.retry,\n func: r\n }).run();\n return yield i(c);\n }\n const o = yield r();\n return yield i(o);\n });\n}, Ct = function(s, e, t) {\n return N(this, null, function* () {\n var r, n;\n const {\n onProgress: a,\n abortSignal: i,\n pollingInterval: o = () => kr,\n maxTimeout: c = xr\n } = e, u = `${s}/async`, f = `${s}/async/job`;\n let v;\n try {\n v = yield S(this, ye).call(this, u, V(V({}, t), i && { signal: i }));\n } catch (F) {\n throw F instanceof Error && F.name === \"AbortError\" ? new Re({ canceled: (r = i == null ? void 0 : i.aborted) != null ? r : !1 }) : F;\n }\n if (!v.ok) {\n const F = yield v.text().catch();\n throw new Ht({\n url: s,\n method: (n = t == null ? void 0 : t.method) != null ? n : \"GET\",\n statusCode: v.status,\n requestHeaders: this.headers,\n responseHeaders: v.headers,\n body: F\n });\n }\n const j = yield v.json(), { job_id: M } = j;\n if (!M)\n throw new Error(\"Job ID not found in response\");\n return new Promise((F, W) => N(this, null, function* () {\n const ee = setTimeout(() => {\n W(new Error(\"Job timed out\"));\n }, c), he = (ie = 0) => N(this, null, function* () {\n if (i != null && i.aborted) {\n clearTimeout(ee), S(this, ye).call(this, `${f}/${M}/cancel`, { method: \"POST\", headers: this.headers }).then(() => {\n W(new Re({ canceled: !0 }));\n }).catch((L) => {\n W(new Re({ canceled: !1 }));\n });\n return;\n }\n try {\n const L = yield (yield S(this, ye).call(this, `${f}/${M}`, { headers: this.headers })).json();\n if (L.status === \"success\") {\n clearTimeout(ee);\n const oe = L.response_json;\n F(oe);\n } else if (L.status === \"failed\")\n clearTimeout(ee), W(new wr(L.response_json));\n else {\n a && a(L.response_json);\n const oe = o(ie);\n setTimeout(() => he(ie + 1), oe);\n }\n } catch (L) {\n W(L);\n }\n });\n he();\n }));\n });\n}, Ze = function(s, e, t, r, n) {\n return N(this, null, function* () {\n const { overrideBaseAddress: a, overrideDefaultHeaders: i } = r, o = a != null ? a : this.baseAddress;\n let c = i != null ? i : this.headers;\n n.extraHeaders && (c = V(V({}, c), n.extraHeaders)), n.requestValidation && (c = Zt(V({}, c), { \"X-Request-Nonce\": os(), \"X-Request-Timestamp\": Et() }));\n let u = t;\n return typeof FormData != \"undefined\" && t instanceof FormData ? delete c[\"Content-Type\"] : (u = r.skipBodyJsonStringify ? t : JSON.stringify(t), n.compress && yr() && (c[\"Content-Encoding\"] = \"gzip\", u = yield vr(u))), n.async ? yield K(this, J, Ct).call(this, `${o}${s}`, n.async, {\n method: e,\n headers: c,\n body: u\n }) : yield K(this, J, At).call(this, `${o}${s}`, n, { method: e, headers: c, body: u });\n });\n};\nconst Jt = (s, e, t, r) => s instanceof Re ? s : new br({ resource: e, api: String(t), args: r, cause: s }), _t = (s, e) => new Proxy(e, {\n get(t, r) {\n return (...n) => {\n var a;\n for (const o of s.plugins) {\n const c = (a = o.beforeApi) == null ? void 0 : a.call(o, { resource: t.resourceName, api: r, args: n });\n if (c !== void 0)\n return c;\n }\n let i;\n try {\n i = t[r](...n);\n } catch (o) {\n throw Jt(o, t.resourceName, r, n);\n }\n return i instanceof Promise ? i.catch((o) => {\n throw Jt(o, t.resourceName, r, n);\n }) : i;\n };\n }\n});\nvar Me;\nclass Sr {\n constructor(e) {\n z(this, Me), this.resourceName = \"Files\", R(this, Me, e);\n }\n get(e) {\n return N(this, arguments, function* ({ fileKey: t, params: r = {} }) {\n const n = new URLSearchParams(V({\n plugin_data: \"857346721138427857\"\n }, r)).toString(), a = `v1/files/${t}?${n}`;\n return yield S(this, Me).get(a);\n });\n }\n getImageFills(e) {\n return N(this, arguments, function* ({ fileKey: t }) {\n var r, n;\n const a = `v1/files/${t}/images`;\n return (n = (r = (yield S(this, Me).get(a)).meta) == null ? void 0 : r.images) != null ? n : {};\n });\n }\n}\nMe = /* @__PURE__ */ new WeakMap();\nconst Er = (s, e, t) => {\n const r = e.sort();\n return `${s}-${r.join(\"-\")}-${t}`;\n}, Ar = (s) => s ? s.ts > Date.now() - 1e3 * 30 : !1;\nvar G, It, cs;\nclass Cr {\n constructor(e) {\n z(this, It), z(this, G), this.resourceName = \"Images\", R(this, G, e);\n }\n /**\n * Return the URL for the _layer_ images for the given nodes.\n * Note: Use the `file.images` API to get the _source_ images used on the node fills, which has better quality.\n */\n get(e) {\n return N(this, arguments, function* ({ fileKey: t, nodeIds: r, format: n = \"jpg\", scale: a }) {\n const i = Er(t, r, n), o = S(this, G).cache.images.entries.get(i);\n if (Ar(o))\n return o.result;\n o && S(this, G).cache.images.entries.delete(i);\n const c = S(this, G).cache.images.pendingRequests.get(i);\n if (c)\n return c;\n const u = K(this, It, cs).call(this, i, t, r, n, a);\n S(this, G).cache.images.pendingRequests.set(i, u);\n try {\n return yield u;\n } finally {\n S(this, G).cache.images.pendingRequests.delete(i);\n }\n });\n }\n}\nG = /* @__PURE__ */ new WeakMap(), It = /* @__PURE__ */ new WeakSet(), cs = function(s, e, t, r, n) {\n return N(this, null, function* () {\n const a = yield S(this, G).get(\n `v1/images/${e}?ids=${t}&format=${r}${n ? `&scale=${n}` : \"\"}`\n );\n return S(this, G).cache.images.entries.set(s, {\n result: a,\n ts: Date.now()\n }), a;\n });\n};\nvar nt;\nclass Ir {\n constructor(e) {\n z(this, nt), this.resourceName = \"Nodes\", R(this, nt, e);\n }\n get(e) {\n return N(this, arguments, function* ({ fileKey: t, nodeIds: r, params: n = {} }) {\n const a = Zt(V({}, n), {\n ids: r.join(\",\")\n }), i = new URLSearchParams(V({\n plugin_data: \"857346721138427857\"\n }, a)).toString(), o = `v1/files/${t}/nodes?${i}`;\n return yield S(this, nt).get(o);\n });\n }\n}\nnt = /* @__PURE__ */ new WeakMap();\nvar ce;\nclass us extends Tr {\n constructor({\n baseAddress: e = \"https://api.figma.com/\",\n fetch: t = globalThis.fetch.bind(globalThis)\n } = {}) {\n super({ fetch: t, baseAddress: e }), z(this, ce, \"\"), this.cache = {\n images: {\n entries: /* @__PURE__ */ new Map(),\n pendingRequests: /* @__PURE__ */ new Map()\n }\n }, this.files = _t(this, new Sr(this)), this.nodes = _t(this, new Ir(this)), this.images = _t(this, new Cr(this));\n }\n set token(e) {\n if (!e.startsWith(\"figd_\") && !e.startsWith(\"figu_\"))\n throw new Error(\"Invalid Figma access token\");\n R(this, ce, e);\n }\n get token() {\n return S(this, ce);\n }\n get headers() {\n const e = {\n \"Content-Type\": \"application/json\"\n };\n return S(this, ce).startsWith(\"figd_\") ? e[\"X-FIGMA-TOKEN\"] = S(this, ce) : S(this, ce).startsWith(\"figu_\") && (e.Authorization = `Bearer ${S(this, ce)}`), e;\n }\n}\nce = /* @__PURE__ */ new WeakMap();\nconst Or = (a) => I(void 0, [a], function* ({\n fileKey: s,\n authToken: e,\n figmaRestApi: t = new us(),\n params: r = {},\n signal: n\n}) {\n e && (t.token = e);\n try {\n return yield t.withOptions({\n abortSignal: n\n }).files.get({\n fileKey: s,\n params: r\n });\n } catch (i) {\n throw i instanceof Error && i.name === \"AbortError\" ? i : (console.error(i), ns(i, s));\n }\n}), ea = (i) => I(void 0, [i], function* ({\n fileKey: s,\n authToken: e,\n nodeIds: t,\n figmaRestApi: r = new us(),\n params: n = {},\n signal: a\n}) {\n e && (r.token = e);\n try {\n return (yield r.withOptions({\n abortSignal: a\n }).nodes.get({\n fileKey: s,\n nodeIds: t,\n params: d({}, n)\n })).nodes;\n } catch (o) {\n throw o instanceof Error && o.name === \"AbortError\" ? o : ns(o, s);\n }\n}), ds = (s, e) => {\n if (s.id === e)\n return s;\n if (\"children\" in s)\n for (const t of s.children) {\n const r = ds(t, e);\n if (r)\n return r;\n }\n return null;\n};\nvar k;\n(function(s) {\n s.assertEqual = (n) => n;\n function e(n) {\n }\n s.assertIs = e;\n function t(n) {\n throw new Error();\n }\n s.assertNever = t, s.arrayToEnum = (n) => {\n const a = {};\n for (const i of n)\n a[i] = i;\n return a;\n }, s.getValidEnumValues = (n) => {\n const a = s.objectKeys(n).filter((o) => typeof n[n[o]] != \"number\"), i = {};\n for (const o of a)\n i[o] = n[o];\n return s.objectValues(i);\n }, s.objectValues = (n) => s.objectKeys(n).map(function(a) {\n return n[a];\n }), s.objectKeys = typeof Object.keys == \"function\" ? (n) => Object.keys(n) : (n) => {\n const a = [];\n for (const i in n)\n Object.prototype.hasOwnProperty.call(n, i) && a.push(i);\n return a;\n }, s.find = (n, a) => {\n for (const i of n)\n if (a(i))\n return i;\n }, s.isInteger = typeof Number.isInteger == \"function\" ? (n) => Number.isInteger(n) : (n) => typeof n == \"number\" && isFinite(n) && Math.floor(n) === n;\n function r(n, a = \" | \") {\n return n.map((i) => typeof i == \"string\" ? `'${i}'` : i).join(a);\n }\n s.joinValues = r, s.jsonStringifyReplacer = (n, a) => typeof a == \"bigint\" ? a.toString() : a;\n})(k || (k = {}));\nvar Ot;\n(function(s) {\n s.mergeShapes = (e, t) => d(d({}, e), t);\n})(Ot || (Ot = {}));\nconst p = k.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\"\n]), re = (s) => {\n switch (typeof s) {\n case \"undefined\":\n return p.undefined;\n case \"string\":\n return p.string;\n case \"number\":\n return isNaN(s) ? p.nan : p.number;\n case \"boolean\":\n return p.boolean;\n case \"function\":\n return p.function;\n case \"bigint\":\n return p.bigint;\n case \"symbol\":\n return p.symbol;\n case \"object\":\n return Array.isArray(s) ? p.array : s === null ? p.null : s.then && typeof s.then == \"function\" && s.catch && typeof s.catch == \"function\" ? p.promise : typeof Map != \"undefined\" && s instanceof Map ? p.map : typeof Set != \"undefined\" && s instanceof Set ? p.set : typeof Date != \"undefined\" && s instanceof Date ? p.date : p.object;\n default:\n return p.unknown;\n }\n}, l = k.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\"\n]), Nr = (s) => JSON.stringify(s, null, 2).replace(/\"([^\"]+)\":/g, \"$1:\");\nclass U extends Error {\n get errors() {\n return this.issues;\n }\n constructor(e) {\n super(), this.issues = [], this.addIssue = (r) => {\n this.issues = [...this.issues, r];\n }, this.addIssues = (r = []) => {\n this.issues = [...this.issues, ...r];\n };\n const t = new.target.prototype;\n Object.setPrototypeOf ? Object.setPrototypeOf(this, t) : this.__proto__ = t, this.name = \"ZodError\", this.issues = e;\n }\n format(e) {\n const t = e || function(a) {\n return a.message;\n }, r = { _errors: [] }, n = (a) => {\n for (const i of a.issues)\n if (i.code === \"invalid_union\")\n i.unionErrors.map(n);\n else if (i.code === \"invalid_return_type\")\n n(i.returnTypeError);\n else if (i.code === \"invalid_arguments\")\n n(i.argumentsError);\n else if (i.path.length === 0)\n r._errors.push(t(i));\n else {\n let o = r, c = 0;\n for (; c < i.path.length; ) {\n const u = i.path[c];\n c === i.path.length - 1 ? (o[u] = o[u] || { _errors: [] }, o[u]._errors.push(t(i))) : o[u] = o[u] || { _errors: [] }, o = o[u], c++;\n }\n }\n };\n return n(this), r;\n }\n static assert(e) {\n if (!(e instanceof U))\n throw new Error(`Not a ZodError: ${e}`);\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, k.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(e = (t) => t.message) {\n const t = {}, r = [];\n for (const n of this.issues)\n n.path.length > 0 ? (t[n.path[0]] = t[n.path[0]] || [], t[n.path[0]].push(e(n))) : r.push(e(n));\n return { formErrors: r, fieldErrors: t };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nU.create = (s) => new U(s);\nconst Ie = (s, e) => {\n let t;\n switch (s.code) {\n case l.invalid_type:\n s.received === p.undefined ? t = \"Required\" : t = `Expected ${s.expected}, received ${s.received}`;\n break;\n case l.invalid_literal:\n t = `Invalid literal value, expected ${JSON.stringify(s.expected, k.jsonStringifyReplacer)}`;\n break;\n case l.unrecognized_keys:\n t = `Unrecognized key(s) in object: ${k.joinValues(s.keys, \", \")}`;\n break;\n case l.invalid_union:\n t = \"Invalid input\";\n break;\n case l.invalid_union_discriminator:\n t = `Invalid discriminator value. Expected ${k.joinValues(s.options)}`;\n break;\n case l.invalid_enum_value:\n t = `Invalid enum value. Expected ${k.joinValues(s.options)}, received '${s.received}'`;\n break;\n case l.invalid_arguments:\n t = \"Invalid function arguments\";\n break;\n case l.invalid_return_type:\n t = \"Invalid function return type\";\n break;\n case l.invalid_date:\n t = \"Invalid date\";\n break;\n case l.invalid_string:\n typeof s.validation == \"object\" ? \"includes\" in s.validation ? (t = `Invalid input: must include \"${s.validation.includes}\"`, typeof s.validation.position == \"number\" && (t = `${t} at one or more positions greater than or equal to ${s.validation.position}`)) : \"startsWith\" in s.validation ? t = `Invalid input: must start with \"${s.validation.startsWith}\"` : \"endsWith\" in s.validation ? t = `Invalid input: must end with \"${s.validation.endsWith}\"` : k.assertNever(s.validation) : s.validation !== \"regex\" ? t = `Invalid ${s.validation}` : t = \"Invalid\";\n break;\n case l.too_small:\n s.type === \"array\" ? t = `Array must contain ${s.exact ? \"exactly\" : s.inclusive ? \"at least\" : \"more than\"} ${s.minimum} element(s)` : s.type === \"string\" ? t = `String must contain ${s.exact ? \"exactly\" : s.inclusive ? \"at least\" : \"over\"} ${s.minimum} character(s)` : s.type === \"number\" ? t = `Number must be ${s.exact ? \"exactly equal to \" : s.inclusive ? \"greater than or equal to \" : \"greater than \"}${s.minimum}` : s.type === \"date\" ? t = `Date must be ${s.exact ? \"exactly equal to \" : s.inclusive ? \"greater than or equal to \" : \"greater than \"}${new Date(Number(s.minimum))}` : t = \"Invalid input\";\n break;\n case l.too_big:\n s.type === \"array\" ? t = `Array must contain ${s.exact ? \"exactly\" : s.inclusive ? \"at most\" : \"less than\"} ${s.maximum} element(s)` : s.type === \"string\" ? t = `String must contain ${s.exact ? \"exactly\" : s.inclusive ? \"at most\" : \"under\"} ${s.maximum} character(s)` : s.type === \"number\" ? t = `Number must be ${s.exact ? \"exactly\" : s.inclusive ? \"less than or equal to\" : \"less than\"} ${s.maximum}` : s.type === \"bigint\" ? t = `BigInt must be ${s.exact ? \"exactly\" : s.inclusive ? \"less than or equal to\" : \"less than\"} ${s.maximum}` : s.type === \"date\" ? t = `Date must be ${s.exact ? \"exactly\" : s.inclusive ? \"smaller than or equal to\" : \"smaller than\"} ${new Date(Number(s.maximum))}` : t = \"Invalid input\";\n break;\n case l.custom:\n t = \"Invalid input\";\n break;\n case l.invalid_intersection_types:\n t = \"Intersection results could not be merged\";\n break;\n case l.not_multiple_of:\n t = `Number must be a multiple of ${s.multipleOf}`;\n break;\n case l.not_finite:\n t = \"Number must be finite\";\n break;\n default:\n t = e.defaultError, k.assertNever(s);\n }\n return { message: t };\n};\nlet ls = Ie;\nfunction jr(s) {\n ls = s;\n}\nfunction at() {\n return ls;\n}\nconst it = (s) => {\n const { data: e, path: t, errorMaps: r, issueData: n } = s, a = [...t, ...n.path || []], i = g(d({}, n), {\n path: a\n });\n if (n.message !== void 0)\n return g(d({}, n), {\n path: a,\n message: n.message\n });\n let o = \"\";\n const c = r.filter((u) => !!u).slice().reverse();\n for (const u of c)\n o = u(i, { data: e, defaultError: o }).message;\n return g(d({}, n), {\n path: a,\n message: o\n });\n}, Rr = [];\nfunction h(s, e) {\n const t = at(), r = it({\n issueData: e,\n data: s.data,\n path: s.path,\n errorMaps: [\n s.common.contextualErrorMap,\n // contextual error map is first priority\n s.schemaErrorMap,\n // then schema-bound map if available\n t,\n // then global override map\n t === Ie ? void 0 : Ie\n // then global default map\n ].filter((n) => !!n)\n });\n s.common.issues.push(r);\n}\nclass Z {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n this.value === \"valid\" && (this.value = \"dirty\");\n }\n abort() {\n this.value !== \"aborted\" && (this.value = \"aborted\");\n }\n static mergeArray(e, t) {\n const r = [];\n for (const n of t) {\n if (n.status === \"aborted\")\n return _;\n n.status === \"dirty\" && e.dirty(), r.push(n.value);\n }\n return { status: e.value, value: r };\n }\n static mergeObjectAsync(e, t) {\n return I(this, null, function* () {\n const r = [];\n for (const n of t) {\n const a = yield n.key, i = yield n.value;\n r.push({\n key: a,\n value: i\n });\n }\n return Z.mergeObjectSync(e, r);\n });\n }\n static mergeObjectSync(e, t) {\n const r = {};\n for (const n of t) {\n const { key: a, value: i } = n;\n if (a.status === \"aborted\" || i.status === \"aborted\")\n return _;\n a.status === \"dirty\" && e.dirty(), i.status === \"dirty\" && e.dirty(), a.value !== \"__proto__\" && (typeof i.value != \"undefined\" || n.alwaysSet) && (r[a.value] = i.value);\n }\n return { status: e.value, value: r };\n }\n}\nconst _ = Object.freeze({\n status: \"aborted\"\n}), Ee = (s) => ({ status: \"dirty\", value: s }), $ = (s) => ({ status: \"valid\", value: s }), Nt = (s) => s.status === \"aborted\", jt = (s) => s.status === \"dirty\", _e = (s) => s.status === \"valid\", De = (s) => typeof Promise != \"undefined\" && s instanceof Promise;\nfunction ot(s, e, t, r) {\n if (typeof e == \"function\" ? s !== e || !0 : !e.has(s)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return e.get(s);\n}\nfunction fs(s, e, t, r, n) {\n if (typeof e == \"function\" ? s !== e || !0 : !e.has(s)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return e.set(s, t), t;\n}\nvar m;\n(function(s) {\n s.errToObj = (e) => typeof e == \"string\" ? { message: e } : e || {}, s.toString = (e) => typeof e == \"string\" ? e : e == null ? void 0 : e.message;\n})(m || (m = {}));\nvar Pe, $e;\nclass Y {\n constructor(e, t, r, n) {\n this._cachedPath = [], this.parent = e, this.data = t, this._path = r, this._key = n;\n }\n get path() {\n return this._cachedPath.length || (this._key instanceof Array ? this._cachedPath.push(...this._path, ...this._key) : this._cachedPath.push(...this._path, this._key)), this._cachedPath;\n }\n}\nconst Gt = (s, e) => {\n if (_e(e))\n return { success: !0, data: e.value };\n if (!s.common.issues.length)\n throw new Error(\"Validation failed but no issues detected.\");\n return {\n success: !1,\n get error() {\n if (this._error)\n return this._error;\n const t = new U(s.common.issues);\n return this._error = t, this._error;\n }\n };\n};\nfunction w(s) {\n if (!s)\n return {};\n const { errorMap: e, invalid_type_error: t, required_error: r, description: n } = s;\n if (e && (t || r))\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n return e ? { errorMap: e, description: n } : { errorMap: (i, o) => {\n var c, u;\n const { message: f } = s;\n return i.code === \"invalid_enum_value\" ? { message: f != null ? f : o.defaultError } : typeof o.data == \"undefined\" ? { message: (c = f != null ? f : r) !== null && c !== void 0 ? c : o.defaultError } : i.code !== \"invalid_type\" ? { message: o.defaultError } : { message: (u = f != null ? f : t) !== null && u !== void 0 ? u : o.defaultError };\n }, description: n };\n}\nclass x {\n get description() {\n return this._def.description;\n }\n _getType(e) {\n return re(e.data);\n }\n _getOrReturnCtx(e, t) {\n return t || {\n common: e.parent.common,\n data: e.data,\n parsedType: re(e.data),\n schemaErrorMap: this._def.errorMap,\n path: e.path,\n parent: e.parent\n };\n }\n _processInputParams(e) {\n return {\n status: new Z(),\n ctx: {\n common: e.parent.common,\n data: e.data,\n parsedType: re(e.data),\n schemaErrorMap: this._def.errorMap,\n path: e.path,\n parent: e.parent\n }\n };\n }\n _parseSync(e) {\n const t = this._parse(e);\n if (De(t))\n throw new Error(\"Synchronous parse encountered promise.\");\n return t;\n }\n _parseAsync(e) {\n const t = this._parse(e);\n return Promise.resolve(t);\n }\n parse(e, t) {\n const r = this.safeParse(e, t);\n if (r.success)\n return r.data;\n throw r.error;\n }\n safeParse(e, t) {\n var r;\n const n = {\n common: {\n issues: [],\n async: (r = t == null ? void 0 : t.async) !== null && r !== void 0 ? r : !1,\n contextualErrorMap: t == null ? void 0 : t.errorMap\n },\n path: (t == null ? void 0 : t.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data: e,\n parsedType: re(e)\n }, a = this._parseSync({ data: e, path: n.path, parent: n });\n return Gt(n, a);\n }\n \"~validate\"(e) {\n var t, r;\n const n = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data: e,\n parsedType: re(e)\n };\n if (!this[\"~standard\"].async)\n try {\n const a = this._parseSync({ data: e, path: [], parent: n });\n return _e(a) ? {\n value: a.value\n } : {\n issues: n.common.issues\n };\n } catch (a) {\n !((r = (t = a == null ? void 0 : a.message) === null || t === void 0 ? void 0 : t.toLowerCase()) === null || r === void 0) && r.includes(\"encountered\") && (this[\"~standard\"].async = !0), n.common = {\n issues: [],\n async: !0\n };\n }\n return this._parseAsync({ data: e, path: [], parent: n }).then((a) => _e(a) ? {\n value: a.value\n } : {\n issues: n.common.issues\n });\n }\n parseAsync(e, t) {\n return I(this, null, function* () {\n const r = yield this.safeParseAsync(e, t);\n if (r.success)\n return r.data;\n throw r.error;\n });\n }\n safeParseAsync(e, t) {\n return I(this, null, function* () {\n const r = {\n common: {\n issues: [],\n contextualErrorMap: t == null ? void 0 : t.errorMap,\n async: !0\n },\n path: (t == null ? void 0 : t.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data: e,\n parsedType: re(e)\n }, n = this._parse({ data: e, path: r.path, parent: r }), a = yield De(n) ? n : Promise.resolve(n);\n return Gt(r, a);\n });\n }\n refine(e, t) {\n const r = (n) => typeof t == \"string\" || typeof t == \"undefined\" ? { message: t } : typeof t == \"function\" ? t(n) : t;\n return this._refinement((n, a) => {\n const i = e(n), o = () => a.addIssue(d({\n code: l.custom\n }, r(n)));\n return typeof Promise != \"undefined\" && i instanceof Promise ? i.then((c) => c ? !0 : (o(), !1)) : i ? !0 : (o(), !1);\n });\n }\n refinement(e, t) {\n return this._refinement((r, n) => e(r) ? !0 : (n.addIssue(typeof t == \"function\" ? t(r, n) : t), !1));\n }\n _refinement(e) {\n return new H({\n schema: this,\n typeName: y.ZodEffects,\n effect: { type: \"refinement\", refinement: e }\n });\n }\n superRefine(e) {\n return this._refinement(e);\n }\n constructor(e) {\n this.spa = this.safeParseAsync, this._def = e, this.parse = this.parse.bind(this), this.safeParse = this.safeParse.bind(this), this.parseAsync = this.parseAsync.bind(this), this.safeParseAsync = this.safeParseAsync.bind(this), this.spa = this.spa.bind(this), this.refine = this.refine.bind(this), this.refinement = this.refinement.bind(this), this.superRefine = this.superRefine.bind(this), this.optional = this.optional.bind(this), this.nullable = this.nullable.bind(this), this.nullish = this.nullish.bind(this), this.array = this.array.bind(this), this.promise = this.promise.bind(this), this.or = this.or.bind(this), this.and = this.and.bind(this), this.transform = this.transform.bind(this), this.brand = this.brand.bind(this), this.default = this.default.bind(this), this.catch = this.catch.bind(this), this.describe = this.describe.bind(this), this.pipe = this.pipe.bind(this), this.readonly = this.readonly.bind(this), this.isNullable = this.isNullable.bind(this), this.isOptional = this.isOptional.bind(this), this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (t) => this[\"~validate\"](t)\n };\n }\n optional() {\n return X.create(this, this._def);\n }\n nullable() {\n return fe.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return q.create(this);\n }\n promise() {\n return Ne.create(this, this._def);\n }\n or(e) {\n return We.create([this, e], this._def);\n }\n and(e) {\n return ze.create(this, e, this._def);\n }\n transform(e) {\n return new H(g(d({}, w(this._def)), {\n schema: this,\n typeName: y.ZodEffects,\n effect: { type: \"transform\", transform: e }\n }));\n }\n default(e) {\n const t = typeof e == \"function\" ? e : () => e;\n return new Ge(g(d({}, w(this._def)), {\n innerType: this,\n defaultValue: t,\n typeName: y.ZodDefault\n }));\n }\n brand() {\n return new $t(d({\n typeName: y.ZodBranded,\n type: this\n }, w(this._def)));\n }\n catch(e) {\n const t = typeof e == \"function\" ? e : () => e;\n return new Ke(g(d({}, w(this._def)), {\n innerType: this,\n catchValue: t,\n typeName: y.ZodCatch\n }));\n }\n describe(e) {\n const t = this.constructor;\n return new t(g(d({}, this._def), {\n description: e\n }));\n }\n pipe(e) {\n return Qe.create(this, e);\n }\n readonly() {\n return Xe.create(this);\n }\n isOptional() {\n return this.safeParse(void 0).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst Zr = /^c[^\\s-]{8,}$/i, Mr = /^[0-9a-z]+$/, Pr = /^[0-9A-HJKMNP-TV-Z]{26}$/i, $r = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i, Fr = /^[a-z0-9_-]{21}$/i, Dr = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/, Lr = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/, Vr = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i, Ur = \"^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$\";\nlet bt;\nconst Wr = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, zr = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/, Br = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/, qr = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, Hr = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/, Jr = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/, hs = \"((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))\", Gr = new RegExp(`^${hs}$`);\nfunction ps(s) {\n let e = \"([01]\\\\d|2[0-3]):[0-5]\\\\d:[0-5]\\\\d\";\n return s.precision ? e = `${e}\\\\.\\\\d{${s.precision}}` : s.precision == null && (e = `${e}(\\\\.\\\\d+)?`), e;\n}\nfunction Kr(s) {\n return new RegExp(`^${ps(s)}$`);\n}\nfunction ms(s) {\n let e = `${hs}T${ps(s)}`;\n const t = [];\n return t.push(s.local ? \"Z?\" : \"Z\"), s.offset && t.push(\"([+-]\\\\d{2}:?\\\\d{2})\"), e = `${e}(${t.join(\"|\")})`, new RegExp(`^${e}$`);\n}\nfunction Xr(s, e) {\n return !!((e === \"v4\" || !e) && Wr.test(s) || (e === \"v6\" || !e) && Br.test(s));\n}\nfunction Yr(s, e) {\n if (!Dr.test(s))\n return !1;\n try {\n const [t] = s.split(\".\"), r = t.replace(/-/g, \"+\").replace(/_/g, \"/\").padEnd(t.length + (4 - t.length % 4) % 4, \"=\"), n = JSON.parse(atob(r));\n return !(typeof n != \"object\" || n === null || !n.typ || !n.alg || e && n.alg !== e);\n } catch (t) {\n return !1;\n }\n}\nfunction Qr(s, e) {\n return !!((e === \"v4\" || !e) && zr.test(s) || (e === \"v6\" || !e) && qr.test(s));\n}\nclass B extends x {\n _parse(e) {\n if (this._def.coerce && (e.data = String(e.data)), this._getType(e) !== p.string) {\n const a = this._getOrReturnCtx(e);\n return h(a, {\n code: l.invalid_type,\n expected: p.string,\n received: a.parsedType\n }), _;\n }\n const r = new Z();\n let n;\n for (const a of this._def.checks)\n if (a.kind === \"min\")\n e.data.length < a.value && (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.too_small,\n minimum: a.value,\n type: \"string\",\n inclusive: !0,\n exact: !1,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"max\")\n e.data.length > a.value && (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.too_big,\n maximum: a.value,\n type: \"string\",\n inclusive: !0,\n exact: !1,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"length\") {\n const i = e.data.length > a.value, o = e.data.length < a.value;\n (i || o) && (n = this._getOrReturnCtx(e, n), i ? h(n, {\n code: l.too_big,\n maximum: a.value,\n type: \"string\",\n inclusive: !0,\n exact: !0,\n message: a.message\n }) : o && h(n, {\n code: l.too_small,\n minimum: a.value,\n type: \"string\",\n inclusive: !0,\n exact: !0,\n message: a.message\n }), r.dirty());\n } else if (a.kind === \"email\")\n Vr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"email\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"emoji\")\n bt || (bt = new RegExp(Ur, \"u\")), bt.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"emoji\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"uuid\")\n $r.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"uuid\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"nanoid\")\n Fr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"nanoid\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"cuid\")\n Zr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"cuid\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"cuid2\")\n Mr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"cuid2\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"ulid\")\n Pr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"ulid\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty());\n else if (a.kind === \"url\")\n try {\n new URL(e.data);\n } catch (i) {\n n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"url\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty();\n }\n else a.kind === \"regex\" ? (a.regex.lastIndex = 0, a.regex.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"regex\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty())) : a.kind === \"trim\" ? e.data = e.data.trim() : a.kind === \"includes\" ? e.data.includes(a.value, a.position) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: { includes: a.value, position: a.position },\n message: a.message\n }), r.dirty()) : a.kind === \"toLowerCase\" ? e.data = e.data.toLowerCase() : a.kind === \"toUpperCase\" ? e.data = e.data.toUpperCase() : a.kind === \"startsWith\" ? e.data.startsWith(a.value) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: { startsWith: a.value },\n message: a.message\n }), r.dirty()) : a.kind === \"endsWith\" ? e.data.endsWith(a.value) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: { endsWith: a.value },\n message: a.message\n }), r.dirty()) : a.kind === \"datetime\" ? ms(a).test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: \"datetime\",\n message: a.message\n }), r.dirty()) : a.kind === \"date\" ? Gr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: \"date\",\n message: a.message\n }), r.dirty()) : a.kind === \"time\" ? Kr(a).test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.invalid_string,\n validation: \"time\",\n message: a.message\n }), r.dirty()) : a.kind === \"duration\" ? Lr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"duration\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"ip\" ? Xr(e.data, a.version) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"ip\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"jwt\" ? Yr(e.data, a.alg) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"jwt\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"cidr\" ? Qr(e.data, a.version) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"cidr\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"base64\" ? Hr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"base64\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : a.kind === \"base64url\" ? Jr.test(e.data) || (n = this._getOrReturnCtx(e, n), h(n, {\n validation: \"base64url\",\n code: l.invalid_string,\n message: a.message\n }), r.dirty()) : k.assertNever(a);\n return { status: r.value, value: e.data };\n }\n _regex(e, t, r) {\n return this.refinement((n) => e.test(n), d({\n validation: t,\n code: l.invalid_string\n }, m.errToObj(r)));\n }\n _addCheck(e) {\n return new B(g(d({}, this._def), {\n checks: [...this._def.checks, e]\n }));\n }\n email(e) {\n return this._addCheck(d({ kind: \"email\" }, m.errToObj(e)));\n }\n url(e) {\n return this._addCheck(d({ kind: \"url\" }, m.errToObj(e)));\n }\n emoji(e) {\n return this._addCheck(d({ kind: \"emoji\" }, m.errToObj(e)));\n }\n uuid(e) {\n return this._addCheck(d({ kind: \"uuid\" }, m.errToObj(e)));\n }\n nanoid(e) {\n return this._addCheck(d({ kind: \"nanoid\" }, m.errToObj(e)));\n }\n cuid(e) {\n return this._addCheck(d({ kind: \"cuid\" }, m.errToObj(e)));\n }\n cuid2(e) {\n return this._addCheck(d({ kind: \"cuid2\" }, m.errToObj(e)));\n }\n ulid(e) {\n return this._addCheck(d({ kind: \"ulid\" }, m.errToObj(e)));\n }\n base64(e) {\n return this._addCheck(d({ kind: \"base64\" }, m.errToObj(e)));\n }\n base64url(e) {\n return this._addCheck(d({\n kind: \"base64url\"\n }, m.errToObj(e)));\n }\n jwt(e) {\n return this._addCheck(d({ kind: \"jwt\" }, m.errToObj(e)));\n }\n ip(e) {\n return this._addCheck(d({ kind: \"ip\" }, m.errToObj(e)));\n }\n cidr(e) {\n return this._addCheck(d({ kind: \"cidr\" }, m.errToObj(e)));\n }\n datetime(e) {\n var t, r;\n return typeof e == \"string\" ? this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: !1,\n local: !1,\n message: e\n }) : this._addCheck(d({\n kind: \"datetime\",\n precision: typeof (e == null ? void 0 : e.precision) == \"undefined\" ? null : e == null ? void 0 : e.precision,\n offset: (t = e == null ? void 0 : e.offset) !== null && t !== void 0 ? t : !1,\n local: (r = e == null ? void 0 : e.local) !== null && r !== void 0 ? r : !1\n }, m.errToObj(e == null ? void 0 : e.message)));\n }\n date(e) {\n return this._addCheck({ kind: \"date\", message: e });\n }\n time(e) {\n return typeof e == \"string\" ? this._addCheck({\n kind: \"time\",\n precision: null,\n message: e\n }) : this._addCheck(d({\n kind: \"time\",\n precision: typeof (e == null ? void 0 : e.precision) == \"undefined\" ? null : e == null ? void 0 : e.precision\n }, m.errToObj(e == null ? void 0 : e.message)));\n }\n duration(e) {\n return this._addCheck(d({ kind: \"duration\" }, m.errToObj(e)));\n }\n regex(e, t) {\n return this._addCheck(d({\n kind: \"regex\",\n regex: e\n }, m.errToObj(t)));\n }\n includes(e, t) {\n return this._addCheck(d({\n kind: \"includes\",\n value: e,\n position: t == null ? void 0 : t.position\n }, m.errToObj(t == null ? void 0 : t.message)));\n }\n startsWith(e, t) {\n return this._addCheck(d({\n kind: \"startsWith\",\n value: e\n }, m.errToObj(t)));\n }\n endsWith(e, t) {\n return this._addCheck(d({\n kind: \"endsWith\",\n value: e\n }, m.errToObj(t)));\n }\n min(e, t) {\n return this._addCheck(d({\n kind: \"min\",\n value: e\n }, m.errToObj(t)));\n }\n max(e, t) {\n return this._addCheck(d({\n kind: \"max\",\n value: e\n }, m.errToObj(t)));\n }\n length(e, t) {\n return this._addCheck(d({\n kind: \"length\",\n value: e\n }, m.errToObj(t)));\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(e) {\n return this.min(1, m.errToObj(e));\n }\n trim() {\n return new B(g(d({}, this._def), {\n checks: [...this._def.checks, { kind: \"trim\" }]\n }));\n }\n toLowerCase() {\n return new B(g(d({}, this._def), {\n checks: [...this._def.checks, { kind: \"toLowerCase\" }]\n }));\n }\n toUpperCase() {\n return new B(g(d({}, this._def), {\n checks: [...this._def.checks, { kind: \"toUpperCase\" }]\n }));\n }\n get isDatetime() {\n return !!this._def.checks.find((e) => e.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((e) => e.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((e) => e.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((e) => e.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((e) => e.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((e) => e.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((e) => e.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((e) => e.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((e) => e.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((e) => e.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((e) => e.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((e) => e.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((e) => e.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((e) => e.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((e) => e.kind === \"base64\");\n }\n get isBase64url() {\n return !!this._def.checks.find((e) => e.kind === \"base64url\");\n }\n get minLength() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"min\" && (e === null || t.value > e) && (e = t.value);\n return e;\n }\n get maxLength() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"max\" && (e === null || t.value < e) && (e = t.value);\n return e;\n }\n}\nB.create = (s) => {\n var e;\n return new B(d({\n checks: [],\n typeName: y.ZodString,\n coerce: (e = s == null ? void 0 : s.coerce) !== null && e !== void 0 ? e : !1\n }, w(s)));\n};\nfunction en(s, e) {\n const t = (s.toString().split(\".\")[1] || \"\").length, r = (e.toString().split(\".\")[1] || \"\").length, n = t > r ? t : r, a = parseInt(s.toFixed(n).replace(\".\", \"\")), i = parseInt(e.toFixed(n).replace(\".\", \"\"));\n return a % i / Math.pow(10, n);\n}\nclass ue extends x {\n constructor() {\n super(...arguments), this.min = this.gte, this.max = this.lte, this.step = this.multipleOf;\n }\n _parse(e) {\n if (this._def.coerce && (e.data = Number(e.data)), this._getType(e) !== p.number) {\n const a = this._getOrReturnCtx(e);\n return h(a, {\n code: l.invalid_type,\n expected: p.number,\n received: a.parsedType\n }), _;\n }\n let r;\n const n = new Z();\n for (const a of this._def.checks)\n a.kind === \"int\" ? k.isInteger(e.data) || (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: a.message\n }), n.dirty()) : a.kind === \"min\" ? (a.inclusive ? e.data < a.value : e.data <= a.value) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.too_small,\n minimum: a.value,\n type: \"number\",\n inclusive: a.inclusive,\n exact: !1,\n message: a.message\n }), n.dirty()) : a.kind === \"max\" ? (a.inclusive ? e.data > a.value : e.data >= a.value) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.too_big,\n maximum: a.value,\n type: \"number\",\n inclusive: a.inclusive,\n exact: !1,\n message: a.message\n }), n.dirty()) : a.kind === \"multipleOf\" ? en(e.data, a.value) !== 0 && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.not_multiple_of,\n multipleOf: a.value,\n message: a.message\n }), n.dirty()) : a.kind === \"finite\" ? Number.isFinite(e.data) || (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.not_finite,\n message: a.message\n }), n.dirty()) : k.assertNever(a);\n return { status: n.value, value: e.data };\n }\n gte(e, t) {\n return this.setLimit(\"min\", e, !0, m.toString(t));\n }\n gt(e, t) {\n return this.setLimit(\"min\", e, !1, m.toString(t));\n }\n lte(e, t) {\n return this.setLimit(\"max\", e, !0, m.toString(t));\n }\n lt(e, t) {\n return this.setLimit(\"max\", e, !1, m.toString(t));\n }\n setLimit(e, t, r, n) {\n return new ue(g(d({}, this._def), {\n checks: [\n ...this._def.checks,\n {\n kind: e,\n value: t,\n inclusive: r,\n message: m.toString(n)\n }\n ]\n }));\n }\n _addCheck(e) {\n return new ue(g(d({}, this._def), {\n checks: [...this._def.checks, e]\n }));\n }\n int(e) {\n return this._addCheck({\n kind: \"int\",\n message: m.toString(e)\n });\n }\n positive(e) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: !1,\n message: m.toString(e)\n });\n }\n negative(e) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: !1,\n message: m.toString(e)\n });\n }\n nonpositive(e) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: !0,\n message: m.toString(e)\n });\n }\n nonnegative(e) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: !0,\n message: m.toString(e)\n });\n }\n multipleOf(e, t) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: e,\n message: m.toString(t)\n });\n }\n finite(e) {\n return this._addCheck({\n kind: \"finite\",\n message: m.toString(e)\n });\n }\n safe(e) {\n return this._addCheck({\n kind: \"min\",\n inclusive: !0,\n value: Number.MIN_SAFE_INTEGER,\n message: m.toString(e)\n })._addCheck({\n kind: \"max\",\n inclusive: !0,\n value: Number.MAX_SAFE_INTEGER,\n message: m.toString(e)\n });\n }\n get minValue() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"min\" && (e === null || t.value > e) && (e = t.value);\n return e;\n }\n get maxValue() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"max\" && (e === null || t.value < e) && (e = t.value);\n return e;\n }\n get isInt() {\n return !!this._def.checks.find((e) => e.kind === \"int\" || e.kind === \"multipleOf\" && k.isInteger(e.value));\n }\n get isFinite() {\n let e = null, t = null;\n for (const r of this._def.checks) {\n if (r.kind === \"finite\" || r.kind === \"int\" || r.kind === \"multipleOf\")\n return !0;\n r.kind === \"min\" ? (t === null || r.value > t) && (t = r.value) : r.kind === \"max\" && (e === null || r.value < e) && (e = r.value);\n }\n return Number.isFinite(t) && Number.isFinite(e);\n }\n}\nue.create = (s) => new ue(d({\n checks: [],\n typeName: y.ZodNumber,\n coerce: (s == null ? void 0 : s.coerce) || !1\n}, w(s)));\nclass de extends x {\n constructor() {\n super(...arguments), this.min = this.gte, this.max = this.lte;\n }\n _parse(e) {\n if (this._def.coerce)\n try {\n e.data = BigInt(e.data);\n } catch (a) {\n return this._getInvalidInput(e);\n }\n if (this._getType(e) !== p.bigint)\n return this._getInvalidInput(e);\n let r;\n const n = new Z();\n for (const a of this._def.checks)\n a.kind === \"min\" ? (a.inclusive ? e.data < a.value : e.data <= a.value) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.too_small,\n type: \"bigint\",\n minimum: a.value,\n inclusive: a.inclusive,\n message: a.message\n }), n.dirty()) : a.kind === \"max\" ? (a.inclusive ? e.data > a.value : e.data >= a.value) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.too_big,\n type: \"bigint\",\n maximum: a.value,\n inclusive: a.inclusive,\n message: a.message\n }), n.dirty()) : a.kind === \"multipleOf\" ? e.data % a.value !== BigInt(0) && (r = this._getOrReturnCtx(e, r), h(r, {\n code: l.not_multiple_of,\n multipleOf: a.value,\n message: a.message\n }), n.dirty()) : k.assertNever(a);\n return { status: n.value, value: e.data };\n }\n _getInvalidInput(e) {\n const t = this._getOrReturnCtx(e);\n return h(t, {\n code: l.invalid_type,\n expected: p.bigint,\n received: t.parsedType\n }), _;\n }\n gte(e, t) {\n return this.setLimit(\"min\", e, !0, m.toString(t));\n }\n gt(e, t) {\n return this.setLimit(\"min\", e, !1, m.toString(t));\n }\n lte(e, t) {\n return this.setLimit(\"max\", e, !0, m.toString(t));\n }\n lt(e, t) {\n return this.setLimit(\"max\", e, !1, m.toString(t));\n }\n setLimit(e, t, r, n) {\n return new de(g(d({}, this._def), {\n checks: [\n ...this._def.checks,\n {\n kind: e,\n value: t,\n inclusive: r,\n message: m.toString(n)\n }\n ]\n }));\n }\n _addCheck(e) {\n return new de(g(d({}, this._def), {\n checks: [...this._def.checks, e]\n }));\n }\n positive(e) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: !1,\n message: m.toString(e)\n });\n }\n negative(e) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: !1,\n message: m.toString(e)\n });\n }\n nonpositive(e) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: !0,\n message: m.toString(e)\n });\n }\n nonnegative(e) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: !0,\n message: m.toString(e)\n });\n }\n multipleOf(e, t) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: e,\n message: m.toString(t)\n });\n }\n get minValue() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"min\" && (e === null || t.value > e) && (e = t.value);\n return e;\n }\n get maxValue() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"max\" && (e === null || t.value < e) && (e = t.value);\n return e;\n }\n}\nde.create = (s) => {\n var e;\n return new de(d({\n checks: [],\n typeName: y.ZodBigInt,\n coerce: (e = s == null ? void 0 : s.coerce) !== null && e !== void 0 ? e : !1\n }, w(s)));\n};\nclass Le extends x {\n _parse(e) {\n if (this._def.coerce && (e.data = !!e.data), this._getType(e) !== p.boolean) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.boolean,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nLe.create = (s) => new Le(d({\n typeName: y.ZodBoolean,\n coerce: (s == null ? void 0 : s.coerce) || !1\n}, w(s)));\nclass be extends x {\n _parse(e) {\n if (this._def.coerce && (e.data = new Date(e.data)), this._getType(e) !== p.date) {\n const a = this._getOrReturnCtx(e);\n return h(a, {\n code: l.invalid_type,\n expected: p.date,\n received: a.parsedType\n }), _;\n }\n if (isNaN(e.data.getTime())) {\n const a = this._getOrReturnCtx(e);\n return h(a, {\n code: l.invalid_date\n }), _;\n }\n const r = new Z();\n let n;\n for (const a of this._def.checks)\n a.kind === \"min\" ? e.data.getTime() < a.value && (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.too_small,\n message: a.message,\n inclusive: !0,\n exact: !1,\n minimum: a.value,\n type: \"date\"\n }), r.dirty()) : a.kind === \"max\" ? e.data.getTime() > a.value && (n = this._getOrReturnCtx(e, n), h(n, {\n code: l.too_big,\n message: a.message,\n inclusive: !0,\n exact: !1,\n maximum: a.value,\n type: \"date\"\n }), r.dirty()) : k.assertNever(a);\n return {\n status: r.value,\n value: new Date(e.data.getTime())\n };\n }\n _addCheck(e) {\n return new be(g(d({}, this._def), {\n checks: [...this._def.checks, e]\n }));\n }\n min(e, t) {\n return this._addCheck({\n kind: \"min\",\n value: e.getTime(),\n message: m.toString(t)\n });\n }\n max(e, t) {\n return this._addCheck({\n kind: \"max\",\n value: e.getTime(),\n message: m.toString(t)\n });\n }\n get minDate() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"min\" && (e === null || t.value > e) && (e = t.value);\n return e != null ? new Date(e) : null;\n }\n get maxDate() {\n let e = null;\n for (const t of this._def.checks)\n t.kind === \"max\" && (e === null || t.value < e) && (e = t.value);\n return e != null ? new Date(e) : null;\n }\n}\nbe.create = (s) => new be(d({\n checks: [],\n coerce: (s == null ? void 0 : s.coerce) || !1,\n typeName: y.ZodDate\n}, w(s)));\nclass ct extends x {\n _parse(e) {\n if (this._getType(e) !== p.symbol) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.symbol,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nct.create = (s) => new ct(d({\n typeName: y.ZodSymbol\n}, w(s)));\nclass Ve extends x {\n _parse(e) {\n if (this._getType(e) !== p.undefined) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.undefined,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nVe.create = (s) => new Ve(d({\n typeName: y.ZodUndefined\n}, w(s)));\nclass Ue extends x {\n _parse(e) {\n if (this._getType(e) !== p.null) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.null,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nUe.create = (s) => new Ue(d({\n typeName: y.ZodNull\n}, w(s)));\nclass Oe extends x {\n constructor() {\n super(...arguments), this._any = !0;\n }\n _parse(e) {\n return $(e.data);\n }\n}\nOe.create = (s) => new Oe(d({\n typeName: y.ZodAny\n}, w(s)));\nclass ve extends x {\n constructor() {\n super(...arguments), this._unknown = !0;\n }\n _parse(e) {\n return $(e.data);\n }\n}\nve.create = (s) => new ve(d({\n typeName: y.ZodUnknown\n}, w(s)));\nclass ae extends x {\n _parse(e) {\n const t = this._getOrReturnCtx(e);\n return h(t, {\n code: l.invalid_type,\n expected: p.never,\n received: t.parsedType\n }), _;\n }\n}\nae.create = (s) => new ae(d({\n typeName: y.ZodNever\n}, w(s)));\nclass ut extends x {\n _parse(e) {\n if (this._getType(e) !== p.undefined) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.void,\n received: r.parsedType\n }), _;\n }\n return $(e.data);\n }\n}\nut.create = (s) => new ut(d({\n typeName: y.ZodVoid\n}, w(s)));\nclass q extends x {\n _parse(e) {\n const { ctx: t, status: r } = this._processInputParams(e), n = this._def;\n if (t.parsedType !== p.array)\n return h(t, {\n code: l.invalid_type,\n expected: p.array,\n received: t.parsedType\n }), _;\n if (n.exactLength !== null) {\n const i = t.data.length > n.exactLength.value, o = t.data.length < n.exactLength.value;\n (i || o) && (h(t, {\n code: i ? l.too_big : l.too_small,\n minimum: o ? n.exactLength.value : void 0,\n maximum: i ? n.exactLength.value : void 0,\n type: \"array\",\n inclusive: !0,\n exact: !0,\n message: n.exactLength.message\n }), r.dirty());\n }\n if (n.minLength !== null && t.data.length < n.minLength.value && (h(t, {\n code: l.too_small,\n minimum: n.minLength.value,\n type: \"array\",\n inclusive: !0,\n exact: !1,\n message: n.minLength.message\n }), r.dirty()), n.maxLength !== null && t.data.length > n.maxLength.value && (h(t, {\n code: l.too_big,\n maximum: n.maxLength.value,\n type: \"array\",\n inclusive: !0,\n exact: !1,\n message: n.maxLength.message\n }), r.dirty()), t.common.async)\n return Promise.all([...t.data].map((i, o) => n.type._parseAsync(new Y(t, i, t.path, o)))).then((i) => Z.mergeArray(r, i));\n const a = [...t.data].map((i, o) => n.type._parseSync(new Y(t, i, t.path, o)));\n return Z.mergeArray(r, a);\n }\n get element() {\n return this._def.type;\n }\n min(e, t) {\n return new q(g(d({}, this._def), {\n minLength: { value: e, message: m.toString(t) }\n }));\n }\n max(e, t) {\n return new q(g(d({}, this._def), {\n maxLength: { value: e, message: m.toString(t) }\n }));\n }\n length(e, t) {\n return new q(g(d({}, this._def), {\n exactLength: { value: e, message: m.toString(t) }\n }));\n }\n nonempty(e) {\n return this.min(1, e);\n }\n}\nq.create = (s, e) => new q(d({\n type: s,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: y.ZodArray\n}, w(e)));\nfunction Se(s) {\n if (s instanceof O) {\n const e = {};\n for (const t in s.shape) {\n const r = s.shape[t];\n e[t] = X.create(Se(r));\n }\n return new O(g(d({}, s._def), {\n shape: () => e\n }));\n } else return s instanceof q ? new q(g(d({}, s._def), {\n type: Se(s.element)\n })) : s instanceof X ? X.create(Se(s.unwrap())) : s instanceof fe ? fe.create(Se(s.unwrap())) : s instanceof Q ? Q.create(s.items.map((e) => Se(e))) : s;\n}\nclass O extends x {\n constructor() {\n super(...arguments), this._cached = null, this.nonstrict = this.passthrough, this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const e = this._def.shape(), t = k.objectKeys(e);\n return this._cached = { shape: e, keys: t };\n }\n _parse(e) {\n if (this._getType(e) !== p.object) {\n const u = this._getOrReturnCtx(e);\n return h(u, {\n code: l.invalid_type,\n expected: p.object,\n received: u.parsedType\n }), _;\n }\n const { status: r, ctx: n } = this._processInputParams(e), { shape: a, keys: i } = this._getCached(), o = [];\n if (!(this._def.catchall instanceof ae && this._def.unknownKeys === \"strip\"))\n for (const u in n.data)\n i.includes(u) || o.push(u);\n const c = [];\n for (const u of i) {\n const f = a[u], v = n.data[u];\n c.push({\n key: { status: \"valid\", value: u },\n value: f._parse(new Y(n, v, n.path, u)),\n alwaysSet: u in n.data\n });\n }\n if (this._def.catchall instanceof ae) {\n const u = this._def.unknownKeys;\n if (u === \"passthrough\")\n for (const f of o)\n c.push({\n key: { status: \"valid\", value: f },\n value: { status: \"valid\", value: n.data[f] }\n });\n else if (u === \"strict\")\n o.length > 0 && (h(n, {\n code: l.unrecognized_keys,\n keys: o\n }), r.dirty());\n else if (u !== \"strip\") throw new Error(\"Internal ZodObject error: invalid unknownKeys value.\");\n } else {\n const u = this._def.catchall;\n for (const f of o) {\n const v = n.data[f];\n c.push({\n key: { status: \"valid\", value: f },\n value: u._parse(\n new Y(n, v, n.path, f)\n //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: f in n.data\n });\n }\n }\n return n.common.async ? Promise.resolve().then(() => I(this, null, function* () {\n const u = [];\n for (const f of c) {\n const v = yield f.key, j = yield f.value;\n u.push({\n key: v,\n value: j,\n alwaysSet: f.alwaysSet\n });\n }\n return u;\n })).then((u) => Z.mergeObjectSync(r, u)) : Z.mergeObjectSync(r, c);\n }\n get shape() {\n return this._def.shape();\n }\n strict(e) {\n return m.errToObj, new O(d(g(d({}, this._def), {\n unknownKeys: \"strict\"\n }), e !== void 0 ? {\n errorMap: (t, r) => {\n var n, a, i, o;\n const c = (i = (a = (n = this._def).errorMap) === null || a === void 0 ? void 0 : a.call(n, t, r).message) !== null && i !== void 0 ? i : r.defaultError;\n return t.code === \"unrecognized_keys\" ? {\n message: (o = m.errToObj(e).message) !== null && o !== void 0 ? o : c\n } : {\n message: c\n };\n }\n } : {}));\n }\n strip() {\n return new O(g(d({}, this._def), {\n unknownKeys: \"strip\"\n }));\n }\n passthrough() {\n return new O(g(d({}, this._def), {\n unknownKeys: \"passthrough\"\n }));\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(e) {\n return new O(g(d({}, this._def), {\n shape: () => d(d({}, this._def.shape()), e)\n }));\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(e) {\n return new O({\n unknownKeys: e._def.unknownKeys,\n catchall: e._def.catchall,\n shape: () => d(d({}, this._def.shape()), e._def.shape()),\n typeName: y.ZodObject\n });\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(e, t) {\n return this.augment({ [e]: t });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(e) {\n return new O(g(d({}, this._def), {\n catchall: e\n }));\n }\n pick(e) {\n const t = {};\n return k.objectKeys(e).forEach((r) => {\n e[r] && this.shape[r] && (t[r] = this.shape[r]);\n }), new O(g(d({}, this._def), {\n shape: () => t\n }));\n }\n omit(e) {\n const t = {};\n return k.objectKeys(this.shape).forEach((r) => {\n e[r] || (t[r] = this.shape[r]);\n }), new O(g(d({}, this._def), {\n shape: () => t\n }));\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return Se(this);\n }\n partial(e) {\n const t = {};\n return k.objectKeys(this.shape).forEach((r) => {\n const n = this.shape[r];\n e && !e[r] ? t[r] = n : t[r] = n.optional();\n }), new O(g(d({}, this._def), {\n shape: () => t\n }));\n }\n required(e) {\n const t = {};\n return k.objectKeys(this.shape).forEach((r) => {\n if (e && !e[r])\n t[r] = this.shape[r];\n else {\n let a = this.shape[r];\n for (; a instanceof X; )\n a = a._def.innerType;\n t[r] = a;\n }\n }), new O(g(d({}, this._def), {\n shape: () => t\n }));\n }\n keyof() {\n return gs(k.objectKeys(this.shape));\n }\n}\nO.create = (s, e) => new O(d({\n shape: () => s,\n unknownKeys: \"strip\",\n catchall: ae.create(),\n typeName: y.ZodObject\n}, w(e)));\nO.strictCreate = (s, e) => new O(d({\n shape: () => s,\n unknownKeys: \"strict\",\n catchall: ae.create(),\n typeName: y.ZodObject\n}, w(e)));\nO.lazycreate = (s, e) => new O(d({\n shape: s,\n unknownKeys: \"strip\",\n catchall: ae.create(),\n typeName: y.ZodObject\n}, w(e)));\nclass We extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e), r = this._def.options;\n function n(a) {\n for (const o of a)\n if (o.result.status === \"valid\")\n return o.result;\n for (const o of a)\n if (o.result.status === \"dirty\")\n return t.common.issues.push(...o.ctx.common.issues), o.result;\n const i = a.map((o) => new U(o.ctx.common.issues));\n return h(t, {\n code: l.invalid_union,\n unionErrors: i\n }), _;\n }\n if (t.common.async)\n return Promise.all(r.map((a) => I(this, null, function* () {\n const i = g(d({}, t), {\n common: g(d({}, t.common), {\n issues: []\n }),\n parent: null\n });\n return {\n result: yield a._parseAsync({\n data: t.data,\n path: t.path,\n parent: i\n }),\n ctx: i\n };\n }))).then(n);\n {\n let a;\n const i = [];\n for (const c of r) {\n const u = g(d({}, t), {\n common: g(d({}, t.common), {\n issues: []\n }),\n parent: null\n }), f = c._parseSync({\n data: t.data,\n path: t.path,\n parent: u\n });\n if (f.status === \"valid\")\n return f;\n f.status === \"dirty\" && !a && (a = { result: f, ctx: u }), u.common.issues.length && i.push(u.common.issues);\n }\n if (a)\n return t.common.issues.push(...a.ctx.common.issues), a.result;\n const o = i.map((c) => new U(c));\n return h(t, {\n code: l.invalid_union,\n unionErrors: o\n }), _;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nWe.create = (s, e) => new We(d({\n options: s,\n typeName: y.ZodUnion\n}, w(e)));\nconst se = (s) => s instanceof qe ? se(s.schema) : s instanceof H ? se(s.innerType()) : s instanceof He ? [s.value] : s instanceof le ? s.options : s instanceof Je ? k.objectValues(s.enum) : s instanceof Ge ? se(s._def.innerType) : s instanceof Ve ? [void 0] : s instanceof Ue ? [null] : s instanceof X ? [void 0, ...se(s.unwrap())] : s instanceof fe ? [null, ...se(s.unwrap())] : s instanceof $t || s instanceof Xe ? se(s.unwrap()) : s instanceof Ke ? se(s._def.innerType) : [];\nclass ft extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n if (t.parsedType !== p.object)\n return h(t, {\n code: l.invalid_type,\n expected: p.object,\n received: t.parsedType\n }), _;\n const r = this.discriminator, n = t.data[r], a = this.optionsMap.get(n);\n return a ? t.common.async ? a._parseAsync({\n data: t.data,\n path: t.path,\n parent: t\n }) : a._parseSync({\n data: t.data,\n path: t.path,\n parent: t\n }) : (h(t, {\n code: l.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [r]\n }), _);\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(e, t, r) {\n const n = /* @__PURE__ */ new Map();\n for (const a of t) {\n const i = se(a.shape[e]);\n if (!i.length)\n throw new Error(`A discriminator value for key \\`${e}\\` could not be extracted from all schema options`);\n for (const o of i) {\n if (n.has(o))\n throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);\n n.set(o, a);\n }\n }\n return new ft(d({\n typeName: y.ZodDiscriminatedUnion,\n discriminator: e,\n options: t,\n optionsMap: n\n }, w(r)));\n }\n}\nfunction Rt(s, e) {\n const t = re(s), r = re(e);\n if (s === e)\n return { valid: !0, data: s };\n if (t === p.object && r === p.object) {\n const n = k.objectKeys(e), a = k.objectKeys(s).filter((o) => n.indexOf(o) !== -1), i = d(d({}, s), e);\n for (const o of a) {\n const c = Rt(s[o], e[o]);\n if (!c.valid)\n return { valid: !1 };\n i[o] = c.data;\n }\n return { valid: !0, data: i };\n } else if (t === p.array && r === p.array) {\n if (s.length !== e.length)\n return { valid: !1 };\n const n = [];\n for (let a = 0; a < s.length; a++) {\n const i = s[a], o = e[a], c = Rt(i, o);\n if (!c.valid)\n return { valid: !1 };\n n.push(c.data);\n }\n return { valid: !0, data: n };\n } else return t === p.date && r === p.date && +s == +e ? { valid: !0, data: s } : { valid: !1 };\n}\nclass ze extends x {\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e), n = (a, i) => {\n if (Nt(a) || Nt(i))\n return _;\n const o = Rt(a.value, i.value);\n return o.valid ? ((jt(a) || jt(i)) && t.dirty(), { status: t.value, value: o.data }) : (h(r, {\n code: l.invalid_intersection_types\n }), _);\n };\n return r.common.async ? Promise.all([\n this._def.left._parseAsync({\n data: r.data,\n path: r.path,\n parent: r\n }),\n this._def.right._parseAsync({\n data: r.data,\n path: r.path,\n parent: r\n })\n ]).then(([a, i]) => n(a, i)) : n(this._def.left._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n }), this._def.right._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n }));\n }\n}\nze.create = (s, e, t) => new ze(d({\n left: s,\n right: e,\n typeName: y.ZodIntersection\n}, w(t)));\nclass Q extends x {\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.parsedType !== p.array)\n return h(r, {\n code: l.invalid_type,\n expected: p.array,\n received: r.parsedType\n }), _;\n if (r.data.length < this._def.items.length)\n return h(r, {\n code: l.too_small,\n minimum: this._def.items.length,\n inclusive: !0,\n exact: !1,\n type: \"array\"\n }), _;\n !this._def.rest && r.data.length > this._def.items.length && (h(r, {\n code: l.too_big,\n maximum: this._def.items.length,\n inclusive: !0,\n exact: !1,\n type: \"array\"\n }), t.dirty());\n const a = [...r.data].map((i, o) => {\n const c = this._def.items[o] || this._def.rest;\n return c ? c._parse(new Y(r, i, r.path, o)) : null;\n }).filter((i) => !!i);\n return r.common.async ? Promise.all(a).then((i) => Z.mergeArray(t, i)) : Z.mergeArray(t, a);\n }\n get items() {\n return this._def.items;\n }\n rest(e) {\n return new Q(g(d({}, this._def), {\n rest: e\n }));\n }\n}\nQ.create = (s, e) => {\n if (!Array.isArray(s))\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n return new Q(d({\n items: s,\n typeName: y.ZodTuple,\n rest: null\n }, w(e)));\n};\nclass Be extends x {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.parsedType !== p.object)\n return h(r, {\n code: l.invalid_type,\n expected: p.object,\n received: r.parsedType\n }), _;\n const n = [], a = this._def.keyType, i = this._def.valueType;\n for (const o in r.data)\n n.push({\n key: a._parse(new Y(r, o, r.path, o)),\n value: i._parse(new Y(r, r.data[o], r.path, o)),\n alwaysSet: o in r.data\n });\n return r.common.async ? Z.mergeObjectAsync(t, n) : Z.mergeObjectSync(t, n);\n }\n get element() {\n return this._def.valueType;\n }\n static create(e, t, r) {\n return t instanceof x ? new Be(d({\n keyType: e,\n valueType: t,\n typeName: y.ZodRecord\n }, w(r))) : new Be(d({\n keyType: B.create(),\n valueType: e,\n typeName: y.ZodRecord\n }, w(t)));\n }\n}\nclass dt extends x {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.parsedType !== p.map)\n return h(r, {\n code: l.invalid_type,\n expected: p.map,\n received: r.parsedType\n }), _;\n const n = this._def.keyType, a = this._def.valueType, i = [...r.data.entries()].map(([o, c], u) => ({\n key: n._parse(new Y(r, o, r.path, [u, \"key\"])),\n value: a._parse(new Y(r, c, r.path, [u, \"value\"]))\n }));\n if (r.common.async) {\n const o = /* @__PURE__ */ new Map();\n return Promise.resolve().then(() => I(this, null, function* () {\n for (const c of i) {\n const u = yield c.key, f = yield c.value;\n if (u.status === \"aborted\" || f.status === \"aborted\")\n return _;\n (u.status === \"dirty\" || f.status === \"dirty\") && t.dirty(), o.set(u.value, f.value);\n }\n return { status: t.value, value: o };\n }));\n } else {\n const o = /* @__PURE__ */ new Map();\n for (const c of i) {\n const u = c.key, f = c.value;\n if (u.status === \"aborted\" || f.status === \"aborted\")\n return _;\n (u.status === \"dirty\" || f.status === \"dirty\") && t.dirty(), o.set(u.value, f.value);\n }\n return { status: t.value, value: o };\n }\n }\n}\ndt.create = (s, e, t) => new dt(d({\n valueType: e,\n keyType: s,\n typeName: y.ZodMap\n}, w(t)));\nclass we extends x {\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.parsedType !== p.set)\n return h(r, {\n code: l.invalid_type,\n expected: p.set,\n received: r.parsedType\n }), _;\n const n = this._def;\n n.minSize !== null && r.data.size < n.minSize.value && (h(r, {\n code: l.too_small,\n minimum: n.minSize.value,\n type: \"set\",\n inclusive: !0,\n exact: !1,\n message: n.minSize.message\n }), t.dirty()), n.maxSize !== null && r.data.size > n.maxSize.value && (h(r, {\n code: l.too_big,\n maximum: n.maxSize.value,\n type: \"set\",\n inclusive: !0,\n exact: !1,\n message: n.maxSize.message\n }), t.dirty());\n const a = this._def.valueType;\n function i(c) {\n const u = /* @__PURE__ */ new Set();\n for (const f of c) {\n if (f.status === \"aborted\")\n return _;\n f.status === \"dirty\" && t.dirty(), u.add(f.value);\n }\n return { status: t.value, value: u };\n }\n const o = [...r.data.values()].map((c, u) => a._parse(new Y(r, c, r.path, u)));\n return r.common.async ? Promise.all(o).then((c) => i(c)) : i(o);\n }\n min(e, t) {\n return new we(g(d({}, this._def), {\n minSize: { value: e, message: m.toString(t) }\n }));\n }\n max(e, t) {\n return new we(g(d({}, this._def), {\n maxSize: { value: e, message: m.toString(t) }\n }));\n }\n size(e, t) {\n return this.min(e, t).max(e, t);\n }\n nonempty(e) {\n return this.min(1, e);\n }\n}\nwe.create = (s, e) => new we(d({\n valueType: s,\n minSize: null,\n maxSize: null,\n typeName: y.ZodSet\n}, w(e)));\nclass Ae extends x {\n constructor() {\n super(...arguments), this.validate = this.implement;\n }\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n if (t.parsedType !== p.function)\n return h(t, {\n code: l.invalid_type,\n expected: p.function,\n received: t.parsedType\n }), _;\n function r(o, c) {\n return it({\n data: o,\n path: t.path,\n errorMaps: [\n t.common.contextualErrorMap,\n t.schemaErrorMap,\n at(),\n Ie\n ].filter((u) => !!u),\n issueData: {\n code: l.invalid_arguments,\n argumentsError: c\n }\n });\n }\n function n(o, c) {\n return it({\n data: o,\n path: t.path,\n errorMaps: [\n t.common.contextualErrorMap,\n t.schemaErrorMap,\n at(),\n Ie\n ].filter((u) => !!u),\n issueData: {\n code: l.invalid_return_type,\n returnTypeError: c\n }\n });\n }\n const a = { errorMap: t.common.contextualErrorMap }, i = t.data;\n if (this._def.returns instanceof Ne) {\n const o = this;\n return $(function(...c) {\n return I(this, null, function* () {\n const u = new U([]), f = yield o._def.args.parseAsync(c, a).catch((M) => {\n throw u.addIssue(r(c, M)), u;\n }), v = yield Reflect.apply(i, this, f);\n return yield o._def.returns._def.type.parseAsync(v, a).catch((M) => {\n throw u.addIssue(n(v, M)), u;\n });\n });\n });\n } else {\n const o = this;\n return $(function(...c) {\n const u = o._def.args.safeParse(c, a);\n if (!u.success)\n throw new U([r(c, u.error)]);\n const f = Reflect.apply(i, this, u.data), v = o._def.returns.safeParse(f, a);\n if (!v.success)\n throw new U([n(f, v.error)]);\n return v.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...e) {\n return new Ae(g(d({}, this._def), {\n args: Q.create(e).rest(ve.create())\n }));\n }\n returns(e) {\n return new Ae(g(d({}, this._def), {\n returns: e\n }));\n }\n implement(e) {\n return this.parse(e);\n }\n strictImplement(e) {\n return this.parse(e);\n }\n static create(e, t, r) {\n return new Ae(d({\n args: e || Q.create([]).rest(ve.create()),\n returns: t || ve.create(),\n typeName: y.ZodFunction\n }, w(r)));\n }\n}\nclass qe extends x {\n get schema() {\n return this._def.getter();\n }\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n return this._def.getter()._parse({ data: t.data, path: t.path, parent: t });\n }\n}\nqe.create = (s, e) => new qe(d({\n getter: s,\n typeName: y.ZodLazy\n}, w(e)));\nclass He extends x {\n _parse(e) {\n if (e.data !== this._def.value) {\n const t = this._getOrReturnCtx(e);\n return h(t, {\n received: t.data,\n code: l.invalid_literal,\n expected: this._def.value\n }), _;\n }\n return { status: \"valid\", value: e.data };\n }\n get value() {\n return this._def.value;\n }\n}\nHe.create = (s, e) => new He(d({\n value: s,\n typeName: y.ZodLiteral\n}, w(e)));\nfunction gs(s, e) {\n return new le(d({\n values: s,\n typeName: y.ZodEnum\n }, w(e)));\n}\nclass le extends x {\n constructor() {\n super(...arguments), Pe.set(this, void 0);\n }\n _parse(e) {\n if (typeof e.data != \"string\") {\n const t = this._getOrReturnCtx(e), r = this._def.values;\n return h(t, {\n expected: k.joinValues(r),\n received: t.parsedType,\n code: l.invalid_type\n }), _;\n }\n if (ot(this, Pe) || fs(this, Pe, new Set(this._def.values)), !ot(this, Pe).has(e.data)) {\n const t = this._getOrReturnCtx(e), r = this._def.values;\n return h(t, {\n received: t.data,\n code: l.invalid_enum_value,\n options: r\n }), _;\n }\n return $(e.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const e = {};\n for (const t of this._def.values)\n e[t] = t;\n return e;\n }\n get Values() {\n const e = {};\n for (const t of this._def.values)\n e[t] = t;\n return e;\n }\n get Enum() {\n const e = {};\n for (const t of this._def.values)\n e[t] = t;\n return e;\n }\n extract(e, t = this._def) {\n return le.create(e, d(d({}, this._def), t));\n }\n exclude(e, t = this._def) {\n return le.create(this.options.filter((r) => !e.includes(r)), d(d({}, this._def), t));\n }\n}\nPe = /* @__PURE__ */ new WeakMap();\nle.create = gs;\nclass Je extends x {\n constructor() {\n super(...arguments), $e.set(this, void 0);\n }\n _parse(e) {\n const t = k.getValidEnumValues(this._def.values), r = this._getOrReturnCtx(e);\n if (r.parsedType !== p.string && r.parsedType !== p.number) {\n const n = k.objectValues(t);\n return h(r, {\n expected: k.joinValues(n),\n received: r.parsedType,\n code: l.invalid_type\n }), _;\n }\n if (ot(this, $e) || fs(this, $e, new Set(k.getValidEnumValues(this._def.values))), !ot(this, $e).has(e.data)) {\n const n = k.objectValues(t);\n return h(r, {\n received: r.data,\n code: l.invalid_enum_value,\n options: n\n }), _;\n }\n return $(e.data);\n }\n get enum() {\n return this._def.values;\n }\n}\n$e = /* @__PURE__ */ new WeakMap();\nJe.create = (s, e) => new Je(d({\n values: s,\n typeName: y.ZodNativeEnum\n}, w(e)));\nclass Ne extends x {\n unwrap() {\n return this._def.type;\n }\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n if (t.parsedType !== p.promise && t.common.async === !1)\n return h(t, {\n code: l.invalid_type,\n expected: p.promise,\n received: t.parsedType\n }), _;\n const r = t.parsedType === p.promise ? t.data : Promise.resolve(t.data);\n return $(r.then((n) => this._def.type.parseAsync(n, {\n path: t.path,\n errorMap: t.common.contextualErrorMap\n })));\n }\n}\nNe.create = (s, e) => new Ne(d({\n type: s,\n typeName: y.ZodPromise\n}, w(e)));\nclass H extends x {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === y.ZodEffects ? this._def.schema.sourceType() : this._def.schema;\n }\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e), n = this._def.effect || null, a = {\n addIssue: (i) => {\n h(r, i), i.fatal ? t.abort() : t.dirty();\n },\n get path() {\n return r.path;\n }\n };\n if (a.addIssue = a.addIssue.bind(a), n.type === \"preprocess\") {\n const i = n.transform(r.data, a);\n if (r.common.async)\n return Promise.resolve(i).then((o) => I(this, null, function* () {\n if (t.value === \"aborted\")\n return _;\n const c = yield this._def.schema._parseAsync({\n data: o,\n path: r.path,\n parent: r\n });\n return c.status === \"aborted\" ? _ : c.status === \"dirty\" || t.value === \"dirty\" ? Ee(c.value) : c;\n }));\n {\n if (t.value === \"aborted\")\n return _;\n const o = this._def.schema._parseSync({\n data: i,\n path: r.path,\n parent: r\n });\n return o.status === \"aborted\" ? _ : o.status === \"dirty\" || t.value === \"dirty\" ? Ee(o.value) : o;\n }\n }\n if (n.type === \"refinement\") {\n const i = (o) => {\n const c = n.refinement(o, a);\n if (r.common.async)\n return Promise.resolve(c);\n if (c instanceof Promise)\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n return o;\n };\n if (r.common.async === !1) {\n const o = this._def.schema._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n });\n return o.status === \"aborted\" ? _ : (o.status === \"dirty\" && t.dirty(), i(o.value), { status: t.value, value: o.value });\n } else\n return this._def.schema._parseAsync({ data: r.data, path: r.path, parent: r }).then((o) => o.status === \"aborted\" ? _ : (o.status === \"dirty\" && t.dirty(), i(o.value).then(() => ({ status: t.value, value: o.value }))));\n }\n if (n.type === \"transform\")\n if (r.common.async === !1) {\n const i = this._def.schema._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n });\n if (!_e(i))\n return i;\n const o = n.transform(i.value, a);\n if (o instanceof Promise)\n throw new Error(\"Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.\");\n return { status: t.value, value: o };\n } else\n return this._def.schema._parseAsync({ data: r.data, path: r.path, parent: r }).then((i) => _e(i) ? Promise.resolve(n.transform(i.value, a)).then((o) => ({ status: t.value, value: o })) : i);\n k.assertNever(n);\n }\n}\nH.create = (s, e, t) => new H(d({\n schema: s,\n typeName: y.ZodEffects,\n effect: e\n}, w(t)));\nH.createWithPreprocess = (s, e, t) => new H(d({\n schema: e,\n effect: { type: \"preprocess\", transform: s },\n typeName: y.ZodEffects\n}, w(t)));\nclass X extends x {\n _parse(e) {\n return this._getType(e) === p.undefined ? $(void 0) : this._def.innerType._parse(e);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nX.create = (s, e) => new X(d({\n innerType: s,\n typeName: y.ZodOptional\n}, w(e)));\nclass fe extends x {\n _parse(e) {\n return this._getType(e) === p.null ? $(null) : this._def.innerType._parse(e);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nfe.create = (s, e) => new fe(d({\n innerType: s,\n typeName: y.ZodNullable\n}, w(e)));\nclass Ge extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e);\n let r = t.data;\n return t.parsedType === p.undefined && (r = this._def.defaultValue()), this._def.innerType._parse({\n data: r,\n path: t.path,\n parent: t\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nGe.create = (s, e) => new Ge(d({\n innerType: s,\n typeName: y.ZodDefault,\n defaultValue: typeof e.default == \"function\" ? e.default : () => e.default\n}, w(e)));\nclass Ke extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e), r = g(d({}, t), {\n common: g(d({}, t.common), {\n issues: []\n })\n }), n = this._def.innerType._parse({\n data: r.data,\n path: r.path,\n parent: d({}, r)\n });\n return De(n) ? n.then((a) => ({\n status: \"valid\",\n value: a.status === \"valid\" ? a.value : this._def.catchValue({\n get error() {\n return new U(r.common.issues);\n },\n input: r.data\n })\n })) : {\n status: \"valid\",\n value: n.status === \"valid\" ? n.value : this._def.catchValue({\n get error() {\n return new U(r.common.issues);\n },\n input: r.data\n })\n };\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nKe.create = (s, e) => new Ke(d({\n innerType: s,\n typeName: y.ZodCatch,\n catchValue: typeof e.catch == \"function\" ? e.catch : () => e.catch\n}, w(e)));\nclass lt extends x {\n _parse(e) {\n if (this._getType(e) !== p.nan) {\n const r = this._getOrReturnCtx(e);\n return h(r, {\n code: l.invalid_type,\n expected: p.nan,\n received: r.parsedType\n }), _;\n }\n return { status: \"valid\", value: e.data };\n }\n}\nlt.create = (s) => new lt(d({\n typeName: y.ZodNaN\n}, w(s)));\nconst tn = Symbol(\"zod_brand\");\nclass $t extends x {\n _parse(e) {\n const { ctx: t } = this._processInputParams(e), r = t.data;\n return this._def.type._parse({\n data: r,\n path: t.path,\n parent: t\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass Qe extends x {\n _parse(e) {\n const { status: t, ctx: r } = this._processInputParams(e);\n if (r.common.async)\n return I(this, null, function* () {\n const a = yield this._def.in._parseAsync({\n data: r.data,\n path: r.path,\n parent: r\n });\n return a.status === \"aborted\" ? _ : a.status === \"dirty\" ? (t.dirty(), Ee(a.value)) : this._def.out._parseAsync({\n data: a.value,\n path: r.path,\n parent: r\n });\n });\n {\n const n = this._def.in._parseSync({\n data: r.data,\n path: r.path,\n parent: r\n });\n return n.status === \"aborted\" ? _ : n.status === \"dirty\" ? (t.dirty(), {\n status: \"dirty\",\n value: n.value\n }) : this._def.out._parseSync({\n data: n.value,\n path: r.path,\n parent: r\n });\n }\n }\n static create(e, t) {\n return new Qe({\n in: e,\n out: t,\n typeName: y.ZodPipeline\n });\n }\n}\nclass Xe extends x {\n _parse(e) {\n const t = this._def.innerType._parse(e), r = (n) => (_e(n) && (n.value = Object.freeze(n.value)), n);\n return De(t) ? t.then((n) => r(n)) : r(t);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nXe.create = (s, e) => new Xe(d({\n innerType: s,\n typeName: y.ZodReadonly\n}, w(e)));\nfunction Kt(s, e) {\n const t = typeof s == \"function\" ? s(e) : typeof s == \"string\" ? { message: s } : s;\n return typeof t == \"string\" ? { message: t } : t;\n}\nfunction ys(s, e = {}, t) {\n return s ? Oe.create().superRefine((r, n) => {\n var a, i;\n const o = s(r);\n if (o instanceof Promise)\n return o.then((c) => {\n var u, f;\n if (!c) {\n const v = Kt(e, r), j = (f = (u = v.fatal) !== null && u !== void 0 ? u : t) !== null && f !== void 0 ? f : !0;\n n.addIssue(g(d({ code: \"custom\" }, v), { fatal: j }));\n }\n });\n if (!o) {\n const c = Kt(e, r), u = (i = (a = c.fatal) !== null && a !== void 0 ? a : t) !== null && i !== void 0 ? i : !0;\n n.addIssue(g(d({ code: \"custom\" }, c), { fatal: u }));\n }\n }) : Oe.create();\n}\nconst sn = {\n object: O.lazycreate\n};\nvar y;\n(function(s) {\n s.ZodString = \"ZodString\", s.ZodNumber = \"ZodNumber\", s.ZodNaN = \"ZodNaN\", s.ZodBigInt = \"ZodBigInt\", s.ZodBoolean = \"ZodBoolean\", s.ZodDate = \"ZodDate\", s.ZodSymbol = \"ZodSymbol\", s.ZodUndefined = \"ZodUndefined\", s.ZodNull = \"ZodNull\", s.ZodAny = \"ZodAny\", s.ZodUnknown = \"ZodUnknown\", s.ZodNever = \"ZodNever\", s.ZodVoid = \"ZodVoid\", s.ZodArray = \"ZodArray\", s.ZodObject = \"ZodObject\", s.ZodUnion = \"ZodUnion\", s.ZodDiscriminatedUnion = \"ZodDiscriminatedUnion\", s.ZodIntersection = \"ZodIntersection\", s.ZodTuple = \"ZodTuple\", s.ZodRecord = \"ZodRecord\", s.ZodMap = \"ZodMap\", s.ZodSet = \"ZodSet\", s.ZodFunction = \"ZodFunction\", s.ZodLazy = \"ZodLazy\", s.ZodLiteral = \"ZodLiteral\", s.ZodEnum = \"ZodEnum\", s.ZodEffects = \"ZodEffects\", s.ZodNativeEnum = \"ZodNativeEnum\", s.ZodOptional = \"ZodOptional\", s.ZodNullable = \"ZodNullable\", s.ZodDefault = \"ZodDefault\", s.ZodCatch = \"ZodCatch\", s.ZodPromise = \"ZodPromise\", s.ZodBranded = \"ZodBranded\", s.ZodPipeline = \"ZodPipeline\", s.ZodReadonly = \"ZodReadonly\";\n})(y || (y = {}));\nconst rn = (s, e = {\n message: `Input not instance of ${s.name}`\n}) => ys((t) => t instanceof s, e), vs = B.create, _s = ue.create, nn = lt.create, an = de.create, bs = Le.create, on = be.create, cn = ct.create, un = Ve.create, dn = Ue.create, ln = Oe.create, fn = ve.create, hn = ae.create, pn = ut.create, mn = q.create, gn = O.create, yn = O.strictCreate, vn = We.create, _n = ft.create, bn = ze.create, wn = Q.create, xn = Be.create, kn = dt.create, Tn = we.create, Sn = Ae.create, En = qe.create, An = He.create, Cn = le.create, In = Je.create, On = Ne.create, Xt = H.create, Nn = X.create, jn = fe.create, Rn = H.createWithPreprocess, Zn = Qe.create, Mn = () => vs().optional(), Pn = () => _s().optional(), $n = () => bs().optional(), Fn = {\n string: (s) => B.create(g(d({}, s), { coerce: !0 })),\n number: (s) => ue.create(g(d({}, s), { coerce: !0 })),\n boolean: (s) => Le.create(g(d({}, s), {\n coerce: !0\n })),\n bigint: (s) => de.create(g(d({}, s), { coerce: !0 })),\n date: (s) => be.create(g(d({}, s), { coerce: !0 }))\n}, Dn = _;\nvar T = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n defaultErrorMap: Ie,\n setErrorMap: jr,\n getErrorMap: at,\n makeIssue: it,\n EMPTY_PATH: Rr,\n addIssueToContext: h,\n ParseStatus: Z,\n INVALID: _,\n DIRTY: Ee,\n OK: $,\n isAborted: Nt,\n isDirty: jt,\n isValid: _e,\n isAsync: De,\n get util() {\n return k;\n },\n get objectUtil() {\n return Ot;\n },\n ZodParsedType: p,\n getParsedType: re,\n ZodType: x,\n datetimeRegex: ms,\n ZodString: B,\n ZodNumber: ue,\n ZodBigInt: de,\n ZodBoolean: Le,\n ZodDate: be,\n ZodSymbol: ct,\n ZodUndefined: Ve,\n ZodNull: Ue,\n ZodAny: Oe,\n ZodUnknown: ve,\n ZodNever: ae,\n ZodVoid: ut,\n ZodArray: q,\n ZodObject: O,\n ZodUnion: We,\n ZodDiscriminatedUnion: ft,\n ZodIntersection: ze,\n ZodTuple: Q,\n ZodRecord: Be,\n ZodMap: dt,\n ZodSet: we,\n ZodFunction: Ae,\n ZodLazy: qe,\n ZodLiteral: He,\n ZodEnum: le,\n ZodNativeEnum: Je,\n ZodPromise: Ne,\n ZodEffects: H,\n ZodTransformer: H,\n ZodOptional: X,\n ZodNullable: fe,\n ZodDefault: Ge,\n ZodCatch: Ke,\n ZodNaN: lt,\n BRAND: tn,\n ZodBranded: $t,\n ZodPipeline: Qe,\n ZodReadonly: Xe,\n custom: ys,\n Schema: x,\n ZodSchema: x,\n late: sn,\n get ZodFirstPartyTypeKind() {\n return y;\n },\n coerce: Fn,\n any: ln,\n array: mn,\n bigint: an,\n boolean: bs,\n date: on,\n discriminatedUnion: _n,\n effect: Xt,\n enum: Cn,\n function: Sn,\n instanceof: rn,\n intersection: bn,\n lazy: En,\n literal: An,\n map: kn,\n nan: nn,\n nativeEnum: In,\n never: hn,\n null: dn,\n nullable: jn,\n number: _s,\n object: gn,\n oboolean: $n,\n onumber: Pn,\n optional: Nn,\n ostring: Mn,\n pipeline: Zn,\n preprocess: Rn,\n promise: On,\n record: xn,\n set: Tn,\n strictObject: yn,\n string: vs,\n symbol: cn,\n transformer: Xt,\n tuple: wn,\n undefined: un,\n union: vn,\n unknown: fn,\n void: pn,\n NEVER: Dn,\n ZodIssueCode: l,\n quotelessJson: Nr,\n ZodError: U\n});\nconst Ln = T.object({\n language: T.enum([\"typescript\", \"javascript\"]).optional(),\n disableMarkedForExport: T.boolean().optional(),\n allowAutoSelectFirstNode: T.boolean().optional().default(!0),\n enableDisplayDataId: T.boolean().optional(),\n enableDisplayDataName: T.boolean().optional()\n}).and(\n T.union([\n T.object({\n framework: T.literal(\"react\"),\n model: T.string().optional(),\n styling: T.enum([\n \"plain_css\",\n \"css_modules\",\n \"styled_components\",\n \"tailwind\",\n \"sass\",\n \"scss\",\n \"inline_styles\"\n ]),\n uiLibrary: T.enum([\"mui\", \"antd\", \"radix\", \"shadcn\", \"clean_react\"]).optional(),\n responsivePages: T.array(\n T.object({\n name: T.string(),\n framesId: T.array(T.string())\n })\n ).optional(),\n enableUILibraryTheming: T.boolean().optional(),\n enableCompactStructure: T.boolean().optional(),\n enableDisplayScreenModelId: T.boolean().optional(),\n enableGeneratePackageLock: T.boolean().optional(),\n enableAnimationsPreset: T.boolean().optional(),\n enableAutoSplit: T.boolean().optional(),\n autoSplitThreshold: T.number().optional(),\n url: T.string().url().optional(),\n codegenSettings: T.record(T.unknown()).optional()\n }),\n T.object({\n framework: T.literal(\"html\"),\n styling: T.enum([\"plain_css\", \"inline_styles\", \"tailwind\"]),\n enableTranslation: T.boolean().optional()\n })\n ])\n), Vn = (s) => {\n const e = Ln.safeParse(s);\n if (e.success === !1) {\n const t = new Error(\"Invalid codegen settings\");\n throw t.cause = e.error, t;\n }\n return e.data;\n}, Yt = /* @__PURE__ */ new Set([\n \"FRAME\",\n \"INSTANCE\",\n \"COMPONENT\",\n \"COMPONENT_SET\",\n \"GROUP\"\n]), Un = (s, e, t = { allowAutoSelectFirstNode: !0 }) => {\n const r = ds(s.document, e);\n if (!r)\n return {\n isValid: !1,\n reason: \"There is no node with the given id\"\n };\n if (r.type === \"CANVAS\") {\n const n = r.children.filter(\n (a) => Yt.has(a.type)\n );\n return n.length === 0 ? {\n isValid: !1,\n reason: \"Selected node is a page with no valid children\"\n } : n.length === 1 ? {\n isValid: !0,\n node: n[0],\n note: \"Selected node is a page with a single valid children - returning it instead\"\n } : t.allowAutoSelectFirstNode ? {\n isValid: !0,\n node: n[0],\n note: \"Selected node is a page with multiple valid children - returning the first one instead\"\n } : {\n isValid: !1,\n reason: \"Selected node is a page with multiple children\"\n };\n }\n return Yt.has(r.type) ? { isValid: !0, node: r } : {\n isValid: !1,\n reason: \"Selected node type is not supported\"\n };\n};\nvar A, Ye, ne, ws, Fe;\nclass ta {\n constructor({\n auth: e,\n apiBaseAddress: t = \"https://public-api.animaapp.com\"\n } = {}) {\n tt(this, ne);\n tt(this, A);\n tt(this, Ye);\n gt(this, Ye, t), e && (this.auth = e);\n }\n hasAuth() {\n return !!C(this, A);\n }\n set auth(e) {\n gt(this, A, e);\n }\n get headers() {\n const e = {\n \"Content-Type\": \"application/json\"\n };\n return C(this, A) && (e.Authorization = `Bearer ${C(this, A).token}`, \"teamId\" in C(this, A) && (e[\"X-Team-Id\"] = C(this, A).teamId)), e;\n }\n generateCode(n) {\n return I(this, arguments, function* (e, t = {}, r) {\n var c;\n const a = Vn(e.settings);\n e.figmaToken && (yield Te(this, ne, ws).call(this, e.fileKey, e.figmaToken, e.nodesId, { allowAutoSelectFirstNode: (c = a.allowAutoSelectFirstNode) != null ? c : !0 }, r));\n let i = e.tracking;\n C(this, A) && \"userId\" in C(this, A) && C(this, A).userId && (i != null && i.externalId || (i = { externalId: C(this, A).userId }));\n const o = {\n tracking: i,\n fileKey: e.fileKey,\n figmaToken: e.figmaToken,\n nodesId: e.nodesId,\n assetsStorage: e.assetsStorage,\n language: a.language,\n model: a.model,\n framework: a.framework,\n styling: a.styling,\n uiLibrary: a.uiLibrary,\n enableTranslation: a.enableTranslation,\n enableUILibraryTheming: a.enableUILibraryTheming,\n enableCompactStructure: a.enableCompactStructure,\n enableAutoSplit: a.enableAutoSplit,\n autoSplitThreshold: a.autoSplitThreshold,\n disableMarkedForExport: a.disableMarkedForExport,\n allowAutoSelectFirstNode: a.allowAutoSelectFirstNode,\n enableDisplayScreenModelId: a.enableDisplayScreenModelId,\n enableGeneratePackageLock: a.enableGeneratePackageLock,\n enableAnimationsPreset: a.enableAnimationsPreset,\n enableDisplayDataId: a.enableDisplayDataId,\n enableDisplayDataName: a.enableDisplayDataName,\n codegenSettings: a.codegenSettings,\n webhookUrl: e.webhookUrl\n };\n return Te(this, ne, Fe).call(this, \"/v1/codegen\", o, t, \"codegen\", r);\n });\n }\n generateCodeFromWebsite(n) {\n return I(this, arguments, function* (e, t = {}, r) {\n let a = e.tracking;\n C(this, A) && \"userId\" in C(this, A) && C(this, A).userId && (a != null && a.externalId || (a = { externalId: C(this, A).userId }));\n let i;\n if (e.mhtml)\n i = {\n type: \"mhtml\",\n mhtml: e.mhtml,\n url: e.url\n };\n else if (e.url)\n i = {\n type: \"url\",\n url: e.url\n };\n else\n throw new Error(\"Either 'url' or 'mhtml' must be provided\");\n let o;\n e.experimental_useNewReactEngine && (o = \"react-v2\");\n const c = {\n tracking: a,\n assetsStorage: e.assetsStorage,\n params: {\n input: i,\n conventions: {\n framework: e.settings.framework,\n language: e.settings.language,\n styling: e.settings.styling\n },\n assetsStorage: {\n type: \"bundled\"\n },\n engine: o\n }\n };\n return Te(this, ne, Fe).call(this, \"/v1/l2c\", c, t, \"l2c\", r);\n });\n }\n /**\n * Generates code from a text prompt using AI.\n *\n * This method sends a prompt to the Anima API and generates code based on the description provided.\n * It supports real-time streaming of the generation process through Server-Sent Events (SSE).\n *\n * @param params - The parameters for code generation\n * @param params.prompt - The text prompt describing what code to generate\n * @param params.settings - Code generation settings (framework, language, styling, etc.)\n * @param params.assetsStorage - Optional asset storage configuration\n * @param params.tracking - Optional tracking information\n * @param params.webhookUrl - Optional webhook URL for completion notification\n * @param handler - Event handler for processing SSE messages during generation\n * @param signal - Optional AbortSignal to cancel the request\n * @returns Promise resolving to AnimaSDKResult with generated files and metadata\n *\n * @example\n * ```typescript\n * const result = await anima.generateCodeFromPrompt({\n * prompt: \"Create a login form with email and password fields\",\n * settings: {\n * framework: \"react\",\n * language: \"typescript\",\n * styling: \"tailwind\"\n * }\n * }, {\n * onStart: ({ sessionId }) => console.log(\"Started:\", sessionId),\n * onGeneratingCode: ({ progress }) => console.log(\"Progress:\", progress),\n * onCodegenCompleted: () => console.log(\"Generation completed!\")\n * });\n * ```\n */\n generateCodeFromPrompt(n) {\n return I(this, arguments, function* (e, t = {}, r) {\n var o;\n let a = e.tracking;\n C(this, A) && \"userId\" in C(this, A) && C(this, A).userId && (a != null && a.externalId || (a = { externalId: C(this, A).userId }));\n const i = {\n tracking: a,\n assetsStorage: e.assetsStorage,\n params: d({\n prompt: e.prompt,\n images: e.images,\n conventions: {\n language: e.settings.language,\n framework: e.settings.framework,\n styling: e.settings.styling,\n uiLibrary: e.settings.uiLibrary\n }\n }, (o = e.settings.codegenSettings) != null ? o : {}),\n webhookUrl: e.webhookUrl\n };\n return console.log(\"P2C Request Body:\", JSON.stringify(i, null, 2)), Te(this, ne, Fe).call(this, \"/v1/p2c\", i, t, \"p2c\", r);\n });\n }\n /**\n * @deprecated This method will be removed soon, please use `generateCodeFromWebsite` instead.\n */\n generateLink2Code(n) {\n return I(this, arguments, function* (e, t = {}, r) {\n let a = e.tracking;\n C(this, A) && \"userId\" in C(this, A) && C(this, A).userId && (a != null && a.externalId || (a = { externalId: C(this, A).userId }));\n const i = {\n tracking: a,\n assetsStorage: e.assetsStorage,\n params: e.params\n };\n return Te(this, ne, Fe).call(this, \"/v1/l2c\", i, t, \"l2c\", r);\n });\n }\n}\nA = new WeakMap(), Ye = new WeakMap(), ne = new WeakSet(), ws = function(e, t, r, n, a) {\n return I(this, null, function* () {\n let i;\n try {\n i = yield Or({\n fileKey: e,\n authToken: t,\n params: {\n geometry: \"paths\"\n },\n signal: a\n });\n } catch (u) {\n if (u instanceof Error && u.name === \"AbortError\")\n throw u;\n return;\n }\n const c = r.map(\n (u) => Un(i, u, n)\n ).find(\n (u) => !u.isValid\n );\n if (c)\n throw new me({\n name: \"Task Crashed\",\n reason: c.reason\n });\n });\n}, Fe = function(e, t, r, n, a) {\n return I(this, null, function* () {\n var v, j, M, F, W, ee, he, ie, L, oe, et;\n if (this.hasAuth() === !1)\n throw new Error('It needs to set \"auth\" before calling this method.');\n const i = {}, o = yield fetch(`${C(this, Ye)}${e}`, {\n method: \"POST\",\n headers: g(d({}, this.headers), {\n Accept: \"text/event-stream\"\n }),\n body: JSON.stringify(t),\n signal: a\n });\n if (!o.ok) {\n const xe = yield o.text();\n let E;\n try {\n E = JSON.parse(xe);\n } catch (ke) {\n }\n throw ((v = E == null ? void 0 : E.error) == null ? void 0 : v.name) === \"ZodError\" ? (console.log(\n \"Zod validation error:\",\n JSON.stringify(E.error.issues, null, 2)\n ), new me({\n name: \"HTTP error from Anima API\",\n reason: \"Invalid body payload\",\n detail: E.error.issues,\n status: o.status\n })) : typeof E == \"object\" ? new me({\n name: `Error \"${E}\"`,\n reason: \"Unknown\",\n status: o.status\n }) : new me({\n name: \"HTTP error from Anima API\",\n reason: xe,\n status: o.status\n });\n }\n if (!o.body)\n throw new me({\n name: \"Stream Error\",\n reason: \"Response body is null\",\n status: o.status\n });\n const c = o.body.getReader(), u = new TextDecoder();\n let f = \"\";\n try {\n for (; ; ) {\n const { done: xe, value: E } = yield c.read();\n if (xe)\n break;\n f += u.decode(E, { stream: !0 });\n const ke = f.split(`\n`);\n f = ke.pop() || \"\";\n for (const pe of ke)\n if (!(!pe.trim() || pe.startsWith(\":\")) && pe.startsWith(\"data: \")) {\n let b;\n try {\n b = JSON.parse(pe.slice(6));\n } catch (Kn) {\n continue;\n }\n switch (b.type) {\n case \"queueing\": {\n typeof r == \"function\" ? r(b) : (j = r.onQueueing) == null || j.call(r, {\n sessionId: b.sessionId\n });\n break;\n }\n case \"start\": {\n i.sessionId = b.sessionId, typeof r == \"function\" ? r(b) : (M = r.onStart) == null || M.call(r, { sessionId: b.sessionId });\n break;\n }\n case \"pre_codegen\": {\n n === \"codegen\" && (typeof r == \"function\" ? r(b) : (F = r.onPreCodegen) == null || F.call(r, {\n message: b.message\n }));\n break;\n }\n case \"assets_uploaded\": {\n typeof r == \"function\" ? r(b) : (W = r.onAssetsUploaded) == null || W.call(r);\n break;\n }\n case \"assets_list\": {\n i.assets = b.payload.assets, typeof r == \"function\" ? r(b) : (ee = r.onAssetsList) == null || ee.call(r, b.payload);\n break;\n }\n case \"figma_metadata\": {\n n === \"codegen\" && (i.figmaFileName = b.figmaFileName, i.figmaSelectedFrameName = b.figmaSelectedFrameName, typeof r == \"function\" ? r(b) : (he = r.onFigmaMetadata) == null || he.call(r, {\n figmaFileName: b.figmaFileName,\n figmaSelectedFrameName: b.figmaSelectedFrameName\n }));\n break;\n }\n case \"generating_code\": {\n b.payload.status === \"success\" && (i.files = b.payload.files), typeof r == \"function\" ? r(b) : (ie = r.onGeneratingCode) == null || ie.call(r, {\n status: b.payload.status,\n progress: b.payload.progress,\n files: b.payload.files\n });\n break;\n }\n case \"progress_messages_updated\": {\n typeof r == \"function\" ? r(b) : (L = r.onProgressMessagesUpdated) == null || L.call(\n r,\n b.payload.progressMessages\n );\n break;\n }\n case \"job_status_updated\": {\n typeof r == \"function\" ? r(b) : (oe = r.onJobStatusUpdated) == null || oe.call(r, b.payload.jobStatus);\n break;\n }\n case \"codegen_completed\":\n case \"generation_completed\": {\n typeof r == \"function\" ? r(b) : (et = r.onCodegenCompleted) == null || et.call(r);\n break;\n }\n case \"error\":\n throw new me({\n name: b.payload.errorName,\n reason: b.payload.reason\n });\n case \"done\":\n return i.tokenUsage = b.payload.tokenUsage, i.sessionId = b.payload.sessionId, i;\n }\n }\n }\n } finally {\n c.cancel();\n }\n throw new me({\n name: \"Connection\",\n reason: \"Connection closed before the 'done' message\",\n status: 500\n });\n });\n};\nconst sa = (s) => {\n var e;\n if (!s)\n return [!1, \"\", \"\"];\n try {\n const t = new URL(s), r = t.pathname;\n if (t.origin !== \"https://www.figma.com\")\n return [!1, \"\", \"\"];\n const n = t.toString();\n if (s !== n)\n return [!1, \"\", \"\"];\n const a = ((e = t.searchParams.get(\"node-id\")) != null ? e : \"\").replace(/-/g, \":\"), i = r.split(\"/\")[2];\n return [(r.startsWith(\"/file/\") && t.searchParams.get(\"type\") !== \"whiteboard\" || r.startsWith(\"/design/\") || r.startsWith(\"/proto/\")) && i.length === 22, i, a];\n } catch (t) {\n return [!1, \"\", \"\"];\n }\n}, ra = ({\n fileKey: s,\n nodeId: e,\n duplicate: t\n}) => {\n const r = new URL(\"https://www.figma.com\");\n return r.pathname = `design/${s}`, t && (r.pathname = `${r.pathname}/dummy/duplicate`), e && r.searchParams.set(\"node-id\", e.replace(\":\", \"-\")), r;\n};\nclass na extends Error {\n constructor(e, t) {\n super(e), this.response = t;\n }\n}\nconst aa = ({\n files: s,\n screenPath: e = \"src/screens\"\n}) => {\n const t = {}, r = /* @__PURE__ */ new Set();\n function n(a) {\n if (r.has(a) || !s[a])\n return;\n r.add(a), t[a] = s[a], Wn(s[a].content).forEach((o) => {\n try {\n const c = zn(a, o);\n if (c.startsWith(\"src/\")) {\n const u = c.split(\"/\").slice(0, -1).join(\"/\");\n Bn(s, u).forEach((v) => {\n r.has(v) || n(v);\n });\n }\n } catch (c) {\n console.warn(\n `Failed to resolve import ${o} in ${a}:`,\n c\n );\n }\n });\n }\n return Object.entries(s).forEach(([a, i]) => {\n a.startsWith(e) ? n(a) : a.startsWith(\"src/\") || (t[a] = i);\n }), t;\n};\nfunction Wn(s) {\n const e = /import.*?[\"']([^\"']+)[\"']/g, t = /export.*from\\s+[\"']([^\"']+)[\"']/g, r = [];\n let n;\n for (; (n = e.exec(s)) !== null; )\n r.push(n[1]);\n for (; (n = t.exec(s)) !== null; )\n r.push(n[1]);\n return [...new Set(r)];\n}\nfunction zn(s, e) {\n if (!e.startsWith(\".\"))\n return e;\n const t = s.split(\"/\").slice(0, -1), r = e.split(\"/\"), n = [...t];\n for (const a of r)\n a === \"..\" ? n.pop() : a !== \".\" && n.push(a);\n return n.join(\"/\");\n}\nfunction Bn(s, e) {\n return Object.keys(s).filter((t) => t.startsWith(e));\n}\nfunction ht(s, e, t) {\n return new ReadableStream({\n start(r) {\n t.call(s, e, (n) => {\n n.type === \"error\" || r.enqueue(n), (n.type === \"aborted\" || n.type === \"error\") && r.close();\n }).then((n) => {\n r.enqueue({\n type: \"done\",\n payload: {\n tokenUsage: n.tokenUsage,\n sessionId: n.sessionId\n }\n }), r.close();\n }).catch((n) => {\n r.enqueue({\n type: \"error\",\n payload: {\n name: \"name\" in n ? n.name : \"Unknown error\",\n message: \"message\" in n ? n.message : \"Unknown\",\n status: \"status\" in n ? n.status : void 0,\n detail: \"detail\" in n ? n.detail : void 0,\n errorPayload: \"payload\" in n ? n.payload : void 0\n }\n }), r.close();\n });\n }\n });\n}\nconst qn = (s, e) => ht(s, e, s.generateCode);\nfunction pt(s) {\n return I(this, null, function* () {\n var i, o, c, u;\n const [e, t] = s.tee(), r = yield e.getReader().read();\n if (r.done || !r.value || r.value.type === \"error\" && ((i = r.value.payload) != null && i.status))\n return new Response(JSON.stringify(r.value), {\n status: ((o = r.value) == null ? void 0 : o.type) === \"error\" && (u = (c = r.value.payload) == null ? void 0 : c.status) != null ? u : 500,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n const n = new TextEncoder(), a = t.pipeThrough(\n new TransformStream({\n transform(f, v) {\n const j = `event: ${f.type}\ndata: ${JSON.stringify(\n f\n )}\n\n`;\n v.enqueue(n.encode(j));\n }\n })\n );\n return new Response(a, {\n status: 200,\n headers: {\n \"Content-Type\": \"text/event-stream; charset=utf-8\",\n Connection: \"keep-alive\",\n \"Cache-Control\": \"no-cache\"\n }\n });\n });\n}\nconst ia = (s, e) => I(void 0, null, function* () {\n const t = qn(s, e);\n return pt(t);\n}), Hn = (s, e) => ht(s, e, s.generateCodeFromWebsite), oa = (s, e) => I(void 0, null, function* () {\n const t = Hn(s, e);\n return pt(t);\n}), Jn = (s, e) => ht(s, e, s.generateCodeFromPrompt), ca = (s, e) => I(void 0, null, function* () {\n const t = Jn(s, e);\n return pt(t);\n}), Gn = (s, e) => ht(s, e, s.generateLink2Code), ua = (s, e) => I(void 0, null, function* () {\n const t = Gn(s, e);\n return pt(t);\n});\nexport {\n ta as Anima,\n me as CodegenError,\n As as FigmaTokenIssue,\n Os as NotFound,\n Cs as RateLimitExceeded,\n Is as RequestTooLarge,\n na as ResponseError,\n js as UnknownFigmaApiException,\n ca as createCodeFromPromptResponseEventStream,\n Jn as createCodeFromPromptStream,\n oa as createCodeFromWebsiteResponseEventStream,\n Hn as createCodeFromWebsiteStream,\n ia as createCodegenResponseEventStream,\n qn as createCodegenStream,\n ua as createLink2CodeResponseEventStream,\n Gn as createLink2CodeStream,\n ds as findChildrenNode,\n ra as formatToFigmaLink,\n Qn as getFigmaApiErrorType,\n Or as getFigmaFile,\n ea as getFileNodes,\n aa as getRelatedScreenFiles,\n Zs as isFigmaTokenIssue,\n Un as isNodeCodegenCompatible,\n Ns as isNotFound,\n Rs as isRateLimitExceeded,\n Ms as isRequestTooLarge,\n Yn as isUnknownFigmaApiException,\n sa as isValidFigmaUrl,\n Vn as validateSettings,\n ns as wrapFigmaApiError\n};\n//# sourceMappingURL=index.js.map\n","class ParseError extends Error {\n constructor(message, options) {\n super(message), this.name = \"ParseError\", this.type = options.type, this.field = options.field, this.value = options.value, this.line = options.line;\n }\n}\nfunction noop(_arg) {\n}\nfunction createParser(callbacks) {\n if (typeof callbacks == \"function\")\n throw new TypeError(\n \"`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?\"\n );\n const { onEvent = noop, onError = noop, onRetry = noop, onComment } = callbacks;\n let incompleteLine = \"\", isFirstChunk = !0, id, data = \"\", eventType = \"\";\n function feed(newChunk) {\n const chunk = isFirstChunk ? newChunk.replace(/^\\xEF\\xBB\\xBF/, \"\") : newChunk, [complete, incomplete] = splitLines(`${incompleteLine}${chunk}`);\n for (const line of complete)\n parseLine(line);\n incompleteLine = incomplete, isFirstChunk = !1;\n }\n function parseLine(line) {\n if (line === \"\") {\n dispatchEvent();\n return;\n }\n if (line.startsWith(\":\")) {\n onComment && onComment(line.slice(line.startsWith(\": \") ? 2 : 1));\n return;\n }\n const fieldSeparatorIndex = line.indexOf(\":\");\n if (fieldSeparatorIndex !== -1) {\n const field = line.slice(0, fieldSeparatorIndex), offset = line[fieldSeparatorIndex + 1] === \" \" ? 2 : 1, value = line.slice(fieldSeparatorIndex + offset);\n processField(field, value, line);\n return;\n }\n processField(line, \"\", line);\n }\n function processField(field, value, line) {\n switch (field) {\n case \"event\":\n eventType = value;\n break;\n case \"data\":\n data = `${data}${value}\n`;\n break;\n case \"id\":\n id = value.includes(\"\\0\") ? void 0 : value;\n break;\n case \"retry\":\n /^\\d+$/.test(value) ? onRetry(parseInt(value, 10)) : onError(\n new ParseError(`Invalid \\`retry\\` value: \"${value}\"`, {\n type: \"invalid-retry\",\n value,\n line\n })\n );\n break;\n default:\n onError(\n new ParseError(\n `Unknown field \"${field.length > 20 ? `${field.slice(0, 20)}\\u2026` : field}\"`,\n { type: \"unknown-field\", field, value, line }\n )\n );\n break;\n }\n }\n function dispatchEvent() {\n data.length > 0 && onEvent({\n id,\n event: eventType || void 0,\n // If the data buffer's last character is a U+000A LINE FEED (LF) character,\n // then remove the last character from the data buffer.\n data: data.endsWith(`\n`) ? data.slice(0, -1) : data\n }), id = void 0, data = \"\", eventType = \"\";\n }\n function reset(options = {}) {\n incompleteLine && options.consume && parseLine(incompleteLine), isFirstChunk = !0, id = void 0, data = \"\", eventType = \"\", incompleteLine = \"\";\n }\n return { feed, reset };\n}\nfunction splitLines(chunk) {\n const lines = [];\n let incompleteLine = \"\", searchIndex = 0;\n for (; searchIndex < chunk.length; ) {\n const crIndex = chunk.indexOf(\"\\r\", searchIndex), lfIndex = chunk.indexOf(`\n`, searchIndex);\n let lineEnd = -1;\n if (crIndex !== -1 && lfIndex !== -1 ? lineEnd = Math.min(crIndex, lfIndex) : crIndex !== -1 ? lineEnd = crIndex : lfIndex !== -1 && (lineEnd = lfIndex), lineEnd === -1) {\n incompleteLine = chunk.slice(searchIndex);\n break;\n } else {\n const line = chunk.slice(searchIndex, lineEnd);\n lines.push(line), searchIndex = lineEnd + 1, chunk[searchIndex - 1] === \"\\r\" && chunk[searchIndex] === `\n` && searchIndex++;\n }\n }\n return [lines, incompleteLine];\n}\nexport {\n ParseError,\n createParser\n};\n//# sourceMappingURL=index.js.map\n","import { createParser } from \"eventsource-parser\";\nclass ErrorEvent extends Event {\n /**\n * Constructs a new `ErrorEvent` instance. This is typically not called directly,\n * but rather emitted by the `EventSource` object when an error occurs.\n *\n * @param type - The type of the event (should be \"error\")\n * @param errorEventInitDict - Optional properties to include in the error event\n */\n constructor(type, errorEventInitDict) {\n var _a, _b;\n super(type), this.code = (_a = errorEventInitDict == null ? void 0 : errorEventInitDict.code) != null ? _a : void 0, this.message = (_b = errorEventInitDict == null ? void 0 : errorEventInitDict.message) != null ? _b : void 0;\n }\n /**\n * Node.js \"hides\" the `message` and `code` properties of the `ErrorEvent` instance,\n * when it is `console.log`'ed. This makes it harder to debug errors. To ease debugging,\n * we explicitly include the properties in the `inspect` method.\n *\n * This is automatically called by Node.js when you `console.log` an instance of this class.\n *\n * @param _depth - The current depth\n * @param options - The options passed to `util.inspect`\n * @param inspect - The inspect function to use (prevents having to import it from `util`)\n * @returns A string representation of the error\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")](_depth, options, inspect) {\n return inspect(inspectableError(this), options);\n }\n /**\n * Deno \"hides\" the `message` and `code` properties of the `ErrorEvent` instance,\n * when it is `console.log`'ed. This makes it harder to debug errors. To ease debugging,\n * we explicitly include the properties in the `inspect` method.\n *\n * This is automatically called by Deno when you `console.log` an instance of this class.\n *\n * @param inspect - The inspect function to use (prevents having to import it from `util`)\n * @param options - The options passed to `Deno.inspect`\n * @returns A string representation of the error\n */\n [Symbol.for(\"Deno.customInspect\")](inspect, options) {\n return inspect(inspectableError(this), options);\n }\n}\nfunction syntaxError(message) {\n const DomException = globalThis.DOMException;\n return typeof DomException == \"function\" ? new DomException(message, \"SyntaxError\") : new SyntaxError(message);\n}\nfunction flattenError(err) {\n return err instanceof Error ? \"errors\" in err && Array.isArray(err.errors) ? err.errors.map(flattenError).join(\", \") : \"cause\" in err && err.cause instanceof Error ? `${err}: ${flattenError(err.cause)}` : err.message : `${err}`;\n}\nfunction inspectableError(err) {\n return {\n type: err.type,\n message: err.message,\n code: err.code,\n defaultPrevented: err.defaultPrevented,\n cancelable: err.cancelable,\n timeStamp: err.timeStamp\n };\n}\nvar __typeError = (msg) => {\n throw TypeError(msg);\n}, __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg), __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj)), __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value), __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), member.set(obj, value), value), __privateMethod = (obj, member, method) => (__accessCheck(obj, member, \"access private method\"), method), _readyState, _url, _redirectUrl, _withCredentials, _fetch, _reconnectInterval, _reconnectTimer, _lastEventId, _controller, _parser, _onError, _onMessage, _onOpen, _EventSource_instances, connect_fn, _onFetchResponse, _onFetchError, getRequestOptions_fn, _onEvent, _onRetryChange, failConnection_fn, scheduleReconnect_fn, _reconnect;\nclass EventSource extends EventTarget {\n constructor(url, eventSourceInitDict) {\n var _a, _b;\n super(), __privateAdd(this, _EventSource_instances), this.CONNECTING = 0, this.OPEN = 1, this.CLOSED = 2, __privateAdd(this, _readyState), __privateAdd(this, _url), __privateAdd(this, _redirectUrl), __privateAdd(this, _withCredentials), __privateAdd(this, _fetch), __privateAdd(this, _reconnectInterval), __privateAdd(this, _reconnectTimer), __privateAdd(this, _lastEventId, null), __privateAdd(this, _controller), __privateAdd(this, _parser), __privateAdd(this, _onError, null), __privateAdd(this, _onMessage, null), __privateAdd(this, _onOpen, null), __privateAdd(this, _onFetchResponse, async (response) => {\n var _a2;\n __privateGet(this, _parser).reset();\n const { body, redirected, status, headers } = response;\n if (status === 204) {\n __privateMethod(this, _EventSource_instances, failConnection_fn).call(this, \"Server sent HTTP 204, not reconnecting\", 204), this.close();\n return;\n }\n if (redirected ? __privateSet(this, _redirectUrl, new URL(response.url)) : __privateSet(this, _redirectUrl, void 0), status !== 200) {\n __privateMethod(this, _EventSource_instances, failConnection_fn).call(this, `Non-200 status code (${status})`, status);\n return;\n }\n if (!(headers.get(\"content-type\") || \"\").startsWith(\"text/event-stream\")) {\n __privateMethod(this, _EventSource_instances, failConnection_fn).call(this, 'Invalid content type, expected \"text/event-stream\"', status);\n return;\n }\n if (__privateGet(this, _readyState) === this.CLOSED)\n return;\n __privateSet(this, _readyState, this.OPEN);\n const openEvent = new Event(\"open\");\n if ((_a2 = __privateGet(this, _onOpen)) == null || _a2.call(this, openEvent), this.dispatchEvent(openEvent), typeof body != \"object\" || !body || !(\"getReader\" in body)) {\n __privateMethod(this, _EventSource_instances, failConnection_fn).call(this, \"Invalid response body, expected a web ReadableStream\", status), this.close();\n return;\n }\n const decoder = new TextDecoder(), reader = body.getReader();\n let open = !0;\n do {\n const { done, value } = await reader.read();\n value && __privateGet(this, _parser).feed(decoder.decode(value, { stream: !done })), done && (open = !1, __privateGet(this, _parser).reset(), __privateMethod(this, _EventSource_instances, scheduleReconnect_fn).call(this));\n } while (open);\n }), __privateAdd(this, _onFetchError, (err) => {\n __privateSet(this, _controller, void 0), !(err.name === \"AbortError\" || err.type === \"aborted\") && __privateMethod(this, _EventSource_instances, scheduleReconnect_fn).call(this, flattenError(err));\n }), __privateAdd(this, _onEvent, (event) => {\n typeof event.id == \"string\" && __privateSet(this, _lastEventId, event.id);\n const messageEvent = new MessageEvent(event.event || \"message\", {\n data: event.data,\n origin: __privateGet(this, _redirectUrl) ? __privateGet(this, _redirectUrl).origin : __privateGet(this, _url).origin,\n lastEventId: event.id || \"\"\n });\n __privateGet(this, _onMessage) && (!event.event || event.event === \"message\") && __privateGet(this, _onMessage).call(this, messageEvent), this.dispatchEvent(messageEvent);\n }), __privateAdd(this, _onRetryChange, (value) => {\n __privateSet(this, _reconnectInterval, value);\n }), __privateAdd(this, _reconnect, () => {\n __privateSet(this, _reconnectTimer, void 0), __privateGet(this, _readyState) === this.CONNECTING && __privateMethod(this, _EventSource_instances, connect_fn).call(this);\n });\n try {\n if (url instanceof URL)\n __privateSet(this, _url, url);\n else if (typeof url == \"string\")\n __privateSet(this, _url, new URL(url, getBaseURL()));\n else\n throw new Error(\"Invalid URL\");\n } catch {\n throw syntaxError(\"An invalid or illegal string was specified\");\n }\n __privateSet(this, _parser, createParser({\n onEvent: __privateGet(this, _onEvent),\n onRetry: __privateGet(this, _onRetryChange)\n })), __privateSet(this, _readyState, this.CONNECTING), __privateSet(this, _reconnectInterval, 3e3), __privateSet(this, _fetch, (_a = eventSourceInitDict == null ? void 0 : eventSourceInitDict.fetch) != null ? _a : globalThis.fetch), __privateSet(this, _withCredentials, (_b = eventSourceInitDict == null ? void 0 : eventSourceInitDict.withCredentials) != null ? _b : !1), __privateMethod(this, _EventSource_instances, connect_fn).call(this);\n }\n /**\n * Returns the state of this EventSource object's connection. It can have the values described below.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/readyState)\n *\n * Note: typed as `number` instead of `0 | 1 | 2` for compatibility with the `EventSource` interface,\n * defined in the TypeScript `dom` library.\n *\n * @public\n */\n get readyState() {\n return __privateGet(this, _readyState);\n }\n /**\n * Returns the URL providing the event stream.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/url)\n *\n * @public\n */\n get url() {\n return __privateGet(this, _url).href;\n }\n /**\n * Returns true if the credentials mode for connection requests to the URL providing the event stream is set to \"include\", and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/withCredentials)\n */\n get withCredentials() {\n return __privateGet(this, _withCredentials);\n }\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/error_event) */\n get onerror() {\n return __privateGet(this, _onError);\n }\n set onerror(value) {\n __privateSet(this, _onError, value);\n }\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/message_event) */\n get onmessage() {\n return __privateGet(this, _onMessage);\n }\n set onmessage(value) {\n __privateSet(this, _onMessage, value);\n }\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/open_event) */\n get onopen() {\n return __privateGet(this, _onOpen);\n }\n set onopen(value) {\n __privateSet(this, _onOpen, value);\n }\n addEventListener(type, listener, options) {\n const listen = listener;\n super.addEventListener(type, listen, options);\n }\n removeEventListener(type, listener, options) {\n const listen = listener;\n super.removeEventListener(type, listen, options);\n }\n /**\n * Aborts any instances of the fetch algorithm started for this EventSource object, and sets the readyState attribute to CLOSED.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/close)\n *\n * @public\n */\n close() {\n __privateGet(this, _reconnectTimer) && clearTimeout(__privateGet(this, _reconnectTimer)), __privateGet(this, _readyState) !== this.CLOSED && (__privateGet(this, _controller) && __privateGet(this, _controller).abort(), __privateSet(this, _readyState, this.CLOSED), __privateSet(this, _controller, void 0));\n }\n}\n_readyState = /* @__PURE__ */ new WeakMap(), _url = /* @__PURE__ */ new WeakMap(), _redirectUrl = /* @__PURE__ */ new WeakMap(), _withCredentials = /* @__PURE__ */ new WeakMap(), _fetch = /* @__PURE__ */ new WeakMap(), _reconnectInterval = /* @__PURE__ */ new WeakMap(), _reconnectTimer = /* @__PURE__ */ new WeakMap(), _lastEventId = /* @__PURE__ */ new WeakMap(), _controller = /* @__PURE__ */ new WeakMap(), _parser = /* @__PURE__ */ new WeakMap(), _onError = /* @__PURE__ */ new WeakMap(), _onMessage = /* @__PURE__ */ new WeakMap(), _onOpen = /* @__PURE__ */ new WeakMap(), _EventSource_instances = /* @__PURE__ */ new WeakSet(), /**\n* Connect to the given URL and start receiving events\n*\n* @internal\n*/\nconnect_fn = function() {\n __privateSet(this, _readyState, this.CONNECTING), __privateSet(this, _controller, new AbortController()), __privateGet(this, _fetch)(__privateGet(this, _url), __privateMethod(this, _EventSource_instances, getRequestOptions_fn).call(this)).then(__privateGet(this, _onFetchResponse)).catch(__privateGet(this, _onFetchError));\n}, _onFetchResponse = /* @__PURE__ */ new WeakMap(), _onFetchError = /* @__PURE__ */ new WeakMap(), /**\n* Get request options for the `fetch()` request\n*\n* @returns The request options\n* @internal\n*/\ngetRequestOptions_fn = function() {\n var _a;\n const init = {\n // [spec] Let `corsAttributeState` be `Anonymous`…\n // [spec] …will have their mode set to \"cors\"…\n mode: \"cors\",\n redirect: \"follow\",\n headers: { Accept: \"text/event-stream\", ...__privateGet(this, _lastEventId) ? { \"Last-Event-ID\": __privateGet(this, _lastEventId) } : void 0 },\n cache: \"no-store\",\n signal: (_a = __privateGet(this, _controller)) == null ? void 0 : _a.signal\n };\n return \"window\" in globalThis && (init.credentials = this.withCredentials ? \"include\" : \"same-origin\"), init;\n}, _onEvent = /* @__PURE__ */ new WeakMap(), _onRetryChange = /* @__PURE__ */ new WeakMap(), /**\n* Handles the process referred to in the EventSource specification as \"failing a connection\".\n*\n* @param error - The error causing the connection to fail\n* @param code - The HTTP status code, if available\n* @internal\n*/\nfailConnection_fn = function(message, code) {\n var _a;\n __privateGet(this, _readyState) !== this.CLOSED && __privateSet(this, _readyState, this.CLOSED);\n const errorEvent = new ErrorEvent(\"error\", { code, message });\n (_a = __privateGet(this, _onError)) == null || _a.call(this, errorEvent), this.dispatchEvent(errorEvent);\n}, /**\n* Schedules a reconnection attempt against the EventSource endpoint.\n*\n* @param message - The error causing the connection to fail\n* @param code - The HTTP status code, if available\n* @internal\n*/\nscheduleReconnect_fn = function(message, code) {\n var _a;\n if (__privateGet(this, _readyState) === this.CLOSED)\n return;\n __privateSet(this, _readyState, this.CONNECTING);\n const errorEvent = new ErrorEvent(\"error\", { code, message });\n (_a = __privateGet(this, _onError)) == null || _a.call(this, errorEvent), this.dispatchEvent(errorEvent), __privateSet(this, _reconnectTimer, setTimeout(__privateGet(this, _reconnect), __privateGet(this, _reconnectInterval)));\n}, _reconnect = /* @__PURE__ */ new WeakMap(), /**\n* ReadyState representing an EventSource currently trying to connect\n*\n* @public\n*/\nEventSource.CONNECTING = 0, /**\n* ReadyState representing an EventSource connection that is open (eg connected)\n*\n* @public\n*/\nEventSource.OPEN = 1, /**\n* ReadyState representing an EventSource connection that is closed (eg disconnected)\n*\n* @public\n*/\nEventSource.CLOSED = 2;\nfunction getBaseURL() {\n const doc = \"document\" in globalThis ? globalThis.document : void 0;\n return doc && typeof doc == \"object\" && \"baseURI\" in doc && typeof doc.baseURI == \"string\" ? doc.baseURI : void 0;\n}\nexport {\n ErrorEvent,\n EventSource\n};\n//# sourceMappingURL=index.js.map\n","// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n if (getArchtype(obj) === 0 /* Object */) {\n Reflect.ownKeys(obj).forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n } else {\n const proto = getPrototypeOf(base);\n if (proto !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto);\n return Object.assign(obj, base);\n }\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n Object.freeze(obj);\n if (deep)\n Object.entries(obj).forEach(([key, value]) => freeze(value, true));\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nfunction isFrozen(obj) {\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path)\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n finalize(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && Object.prototype.propertyIsEnumerable.call(targetObject, prop))\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n } else {\n copy = shallowCopy(value, true);\n }\n each(copy, (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n });\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map","import{freeze as n,produce as r}from\"immer\";import{useState as t,useCallback as o,useMemo as f,useReducer as u}from\"react\";function i(f){var u=t(function(){return n(\"function\"==typeof f?f():f,!0)}),i=u[1];return[u[0],o(function(t){i(\"function\"==typeof t?r(t):n(t))},[])]}function e(n,t,o){var i=f(function(){return r(n)},[n]);return u(i,t,o)}export{i as useImmer,e as useImmerReducer};\n//# sourceMappingURL=use-immer.module.mjs.map\n","import { arrayBufferToBase64 } from \"./utils\";\nimport type {\n AnimaSDKResult,\n GetCodeParams,\n GetCodeFromWebsiteParams,\n GetLink2CodeParams,\n StreamCodgenMessage,\n ProgressMessage,\n} from \"@animaapp/anima-sdk\";\nimport { CodegenError } from \"@animaapp/anima-sdk\";\nimport { EventSource } from \"eventsource\";\nimport { useImmer } from \"use-immer\";\n\n// How many times can we tolerate transient errors before terminating the request\nconst MAX_RETRIES_AFTER_ERROR = 10;\n\ntype LocalAssetsStorage =\n | { strategy: \"local\"; path: string }\n | { strategy: \"local\"; filePath: string; referencePath: string };\n\nexport type UseAnimaParams =\n | (Omit<GetCodeParams, \"assetsStorage\"> & {\n assetsStorage?: GetCodeParams[\"assetsStorage\"] | LocalAssetsStorage;\n })\n | (Omit<GetCodeFromWebsiteParams, \"assetsStorage\"> & {\n assetsStorage?:\n | GetCodeFromWebsiteParams[\"assetsStorage\"]\n | LocalAssetsStorage;\n })\n | (Omit<GetLink2CodeParams, \"assetsStorage\"> & {\n assetsStorage?: GetLink2CodeParams[\"assetsStorage\"] | LocalAssetsStorage;\n /** @deprecated Use GetCodeFromWebsiteParams instead. This will be removed in a future version. */\n });\n\ntype Status = \"idle\" | \"pending\" | \"success\" | \"aborted\" | \"error\";\n\ntype TaskStatus = \"pending\" | \"running\" | \"finished\";\n\ntype CodegenStatus = {\n status: Status;\n error: CodegenError | null;\n result: AnimaSDKResult | null;\n progressMessages: ProgressMessage[];\n tasks: {\n fetchDesign: { status: TaskStatus };\n codeGeneration: { status: TaskStatus; progress: number };\n uploadAssets: { status: TaskStatus };\n };\n jobSessionId: string | null;\n jobStatus: Record<string, any>;\n};\n\nconst defaultProgress: CodegenStatus = {\n status: \"idle\",\n error: null,\n result: null,\n progressMessages: [],\n tasks: {\n fetchDesign: { status: \"pending\" },\n codeGeneration: { status: \"pending\", progress: 0 },\n uploadAssets: { status: \"pending\" },\n },\n jobSessionId: null,\n jobStatus: {},\n};\n\ntype StreamMessageByType<T extends StreamCodgenMessage[\"type\"]> = Extract<\n StreamCodgenMessage,\n { type: T }\n>;\n\nconst getAssetsLocalStrategyParams = (\n localAssetsStorage: LocalAssetsStorage\n) => {\n if (\"path\" in localAssetsStorage) {\n return {\n filePath: localAssetsStorage.path.replace(/^\\//, \"\"),\n referencePath:\n localAssetsStorage.path === \"/\" ? \"\" : localAssetsStorage.path, // Workaround to avoid duplicated slashes in the URL. Ideally, the fix should be done in Codegen.\n };\n }\n\n return {\n filePath: localAssetsStorage.filePath.replace(/^\\//, \"\"),\n referencePath:\n localAssetsStorage.referencePath === \"/\"\n ? \"\"\n : localAssetsStorage.referencePath,\n };\n};\n\nexport const useAnimaCodegen = ({\n url,\n method = \"POST\",\n}: {\n url: string;\n method?: string;\n}) => {\n const [status, updateStatus] = useImmer<CodegenStatus>(defaultProgress);\n\n const getCode = async <T extends UseAnimaParams = UseAnimaParams>(\n params: T\n ) => {\n updateStatus((draft) => {\n draft.status = \"pending\";\n draft.error = null;\n draft.result = null;\n draft.tasks = defaultProgress.tasks;\n });\n\n const initialParams = structuredClone(params);\n\n if (params.assetsStorage?.strategy === \"local\") {\n const { referencePath } = getAssetsLocalStrategyParams(\n params.assetsStorage\n );\n\n params.assetsStorage = {\n strategy: \"external\",\n url: referencePath,\n };\n }\n\n // TODO: We have two workarounds here because of limitations on the `eventsource` package:\n // 1. We need to use the `fetch` function from the `EventSource` constructor to send the request with the correct method and body (https://github.com/EventSource/eventsource/issues/316#issuecomment-2525315835).\n // 2. We need to store the last fetch response to handle errors to read its body response, since it isn't expoted by the package (https://github.com/EventSource/eventsource/blob/8aa7057bccd7fb819372a3b2c1292e7b53424d52/src/EventSource.ts#L348-L376)\n // We might need to use other library, or do it from our self, to improve the code quality.\n let lastFetchResponse: ReturnType<typeof fetch>;\n const es = new EventSource(url, {\n fetch: (url, init) => {\n lastFetchResponse = fetch(url, {\n ...init,\n method,\n body: JSON.stringify(params),\n });\n\n return lastFetchResponse;\n },\n });\n\n const promise = new Promise<{\n result: AnimaSDKResult | null;\n error: CodegenError | null;\n }>((resolve) => {\n const result: Partial<AnimaSDKResult> = {};\n\n // Add specific event listeners\n es.addEventListener(\"start\", (event) => {\n const message = JSON.parse(event.data) as StreamMessageByType<\"start\">;\n result.sessionId = message.sessionId;\n\n updateStatus((draft) => {\n draft.tasks.fetchDesign.status = \"running\";\n });\n });\n\n es.addEventListener(\"queueing\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"queueing\">;\n\n updateStatus((draft) => {\n draft.jobSessionId = message.payload.sessionId;\n });\n });\n\n es.addEventListener(\"pre_codegen\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"pre_codegen\">;\n if (message.message === \"Anima model built\") {\n updateStatus((draft) => {\n draft.tasks.fetchDesign.status = \"finished\";\n draft.tasks.codeGeneration.status = \"running\";\n draft.tasks.uploadAssets.status = \"running\";\n });\n }\n });\n\n es.addEventListener(\"figma_metadata\", (e) => {\n const message = JSON.parse(\n e.data\n ) as StreamMessageByType<\"figma_metadata\">;\n result.figmaFileName = message.figmaFileName;\n result.figmaSelectedFrameName = message.figmaSelectedFrameName;\n });\n\n es.addEventListener(\"aborted\", () => {\n const error = new CodegenError({ name: \"Aborted\", reason: \"Unknown\" });\n\n updateStatus((draft) => {\n draft.status = \"aborted\";\n (draft.result = null), (draft.error = error);\n });\n\n resolve({\n result: null,\n error,\n });\n });\n\n es.addEventListener(\"generating_code\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"generating_code\">;\n if (message.payload.status === \"success\") {\n result.files = message.payload.files;\n }\n\n updateStatus((draft) => {\n draft.tasks.codeGeneration.progress = message.payload.progress;\n draft.tasks.codeGeneration.status = \"running\";\n });\n });\n\n es.addEventListener(\"progress_messages_updated\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"progress_messages_updated\">;\n\n updateStatus((draft) => {\n draft.progressMessages = message.payload.progressMessages;\n });\n });\n\n es.addEventListener(\"job_status_updated\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"job_status_updated\">;\n\n updateStatus((draft) => {\n draft.jobStatus = message.payload.jobStatus;\n });\n });\n\n es.addEventListener(\"codegen_completed\", () => {\n updateStatus((draft) => {\n draft.tasks.codeGeneration.status = \"finished\";\n });\n });\n\n es.addEventListener(\"generation_completed\", () => {\n updateStatus((draft) => {\n draft.tasks.codeGeneration.status = \"finished\";\n });\n });\n\n es.addEventListener(\"assets_uploaded\", () => {\n updateStatus((draft) => {\n draft.tasks.uploadAssets.status = \"finished\";\n });\n });\n\n es.addEventListener(\"assets_list\", (event) => {\n const message = JSON.parse(\n event.data\n ) as StreamMessageByType<\"assets_list\">;\n\n result.assets = message.payload.assets;\n });\n\n let errorCount = 0;\n\n // TODO: For some reason, we receive errors even after the `done` event is triggered.\n es.addEventListener(\"error\", async (error: ErrorEvent | MessageEvent) => {\n console.warn(\n `Experienced error during code generation (attempt ${errorCount + 1} / ${MAX_RETRIES_AFTER_ERROR})`,\n error,\n );\n\n let errorPayload: StreamMessageByType<\"error\"> | undefined;\n let errorStatusCode: number | undefined;\n\n // If true, then there's no point into keeping the event handler alive for retries.\n let isUnrecoverableError = false;\n\n try {\n if (error instanceof MessageEvent) {\n errorPayload = JSON.parse(error.data);\n } else {\n const response = await lastFetchResponse;\n errorStatusCode = response.status;\n try {\n errorPayload = await response.json();\n } catch {}\n }\n\n if (\n errorPayload?.payload?.name === \"Task Crashed\" ||\n errorStatusCode === 429\n ) {\n isUnrecoverableError = true;\n }\n } catch {}\n\n const codegenError = new CodegenError({\n name: errorPayload?.payload.name ?? \"Unknown error\",\n reason: errorPayload?.payload.message ?? \"Unknown\",\n status: errorPayload?.payload.status,\n detail: errorPayload?.payload.detail,\n });\n\n errorCount++;\n\n // It could happen that transient network errors cause the \"error\" event to be triggered temporarily.\n // In these cases, we ignore the error and retry the request, unless it's an unrecoverable error.\n let shouldTerminateRequest = false;\n if (errorCount > MAX_RETRIES_AFTER_ERROR) {\n console.error(\"Experienced too many errors, terminating request\");\n shouldTerminateRequest = true;\n } else if (isUnrecoverableError) {\n console.error(\"Experienced unrecoverable error, terminating request\");\n shouldTerminateRequest = true;\n }\n\n if (shouldTerminateRequest) {\n updateStatus((draft) => {\n draft.status = \"error\";\n draft.error = codegenError;\n });\n\n resolve({\n result: null,\n error: codegenError,\n });\n }\n });\n\n es.addEventListener(\"done\", (event) => {\n const message = JSON.parse(event.data) as StreamMessageByType<\"done\">;\n result.tokenUsage = message.payload.tokenUsage;\n result.sessionId = message.payload.sessionId;\n\n updateStatus((draft) => {\n draft.status = \"success\";\n draft.result = result as AnimaSDKResult;\n });\n\n resolve({ result: result as AnimaSDKResult, error: null });\n });\n });\n\n try {\n const { result: r, error } = await promise;\n\n const result = structuredClone(r);\n\n // Ideally, we should download the assets within the `assets_uploaded` event handler, since it'll improve the performance.\n // But for some reason, it doesn't work. So, we download the assets here.\n if (\n initialParams.assetsStorage?.strategy === \"local\" &&\n result?.assets?.length\n ) {\n const { filePath } = getAssetsLocalStrategyParams(\n initialParams.assetsStorage\n );\n\n const downloadAssetsPromises = result.assets.map(async (asset) => {\n const response = await fetch(asset.url);\n const buffer = await response.arrayBuffer();\n return {\n assetName: asset.name,\n base64: arrayBufferToBase64(buffer),\n };\n });\n\n const assets = await Promise.allSettled(downloadAssetsPromises);\n for (const assetPromise of assets) {\n const assetsList: Record<string, string> = {};\n if (assetPromise.status === \"fulfilled\") {\n const { assetName, base64 } = assetPromise.value;\n\n assetsList[assetName] = base64;\n\n const assetPath = filePath ? `${filePath}/${assetName}` : assetName;\n result.files[assetPath] = {\n content: base64,\n isBinary: true,\n };\n }\n }\n }\n\n if (error) {\n return { result: null, error };\n }\n\n return { result, error };\n } finally {\n es.close();\n }\n };\n\n return {\n getCode,\n status: status.status,\n progressMessages: status.progressMessages,\n jobSessionId: status.jobSessionId,\n jobStatus: status.jobStatus,\n tasks: status.tasks,\n error: status.error,\n result: status.result,\n };\n};\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","const FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nexport { ERROR_REVALIDATE_EVENT, FOCUS_EVENT, MUTATE_EVENT, RECONNECT_EVENT };\n","var has = Object.prototype.hasOwnProperty;\n\nexport function dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n","'use client';\nimport React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement } from 'react';\nimport * as revalidateEvents from './events.mjs';\nimport { dequal } from 'dequal/lite';\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst isLegacyDeno = isWindowDefined && 'Deno' in window;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || isLegacyDeno;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\nconst isObjectType = (value, type)=>OBJECT.prototype.toString.call(value) === `[object ${type}]`;\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const isDate = isObjectType(arg, 'Date');\n const isRegex = isObjectType(arg, 'RegExp');\n const isPlainObject = isObjectType(arg, 'Object');\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && !isRegex) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (Array.isArray(arg)) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (isPlainObject) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const startRevalidate = ()=>{\n const revalidators = EVENT_REVALIDATORS[key];\n const revalidate = isFunction(options.revalidate) ? options.revalidate(get().data, _k) : options.revalidate !== false;\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](revalidateEvents.MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data: committedData,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n const populateCachedData = populateCache(data, committedData);\n set({\n data: populateCachedData,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n } else {\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n Promise.resolve(startRevalidate()).then(()=>{\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = Object.create(null);\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = Object.create(null);\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n Object.create(null),\n Object.create(null),\n Object.create(null),\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, revalidateEvents.FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, revalidateEvents.RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = dequal;\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1, fallback: f1 } = a;\n const { use: u2, fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\nexport { noop as A, isPromiseLike as B, IS_REACT_LEGACY as I, OBJECT as O, SWRConfigContext as S, UNDEFINED as U, isFunction as a, SWRGlobalState as b, cache as c, defaultConfig as d, isUndefined as e, mergeConfigs as f, SWRConfig as g, initCache as h, isWindowDefined as i, mutate as j, compare as k, stableHash as l, mergeObjects as m, internalMutate as n, getTimestamp as o, preset as p, defaultConfigOptions as q, IS_SERVER as r, serialize as s, rAF as t, useIsomorphicLayoutEffect as u, slowConnection as v, isDocumentDefined as w, isLegacyDeno as x, hasRequestAnimationFrame as y, createCacheHelper as z };\n","const INFINITE_PREFIX = '$inf$';\n\nexport { INFINITE_PREFIX };\n","import { i as isWindowDefined, a as isFunction, m as mergeObjects, S as SWRConfigContext, d as defaultConfig, s as serialize, b as SWRGlobalState, c as cache, e as isUndefined, f as mergeConfigs } from './config-context-client-v7VOFo66.mjs';\nexport { I as IS_REACT_LEGACY, r as IS_SERVER, O as OBJECT, g as SWRConfig, U as UNDEFINED, k as compare, z as createCacheHelper, q as defaultConfigOptions, o as getTimestamp, y as hasRequestAnimationFrame, h as initCache, n as internalMutate, w as isDocumentDefined, x as isLegacyDeno, B as isPromiseLike, j as mutate, A as noop, p as preset, t as rAF, v as slowConnection, l as stableHash, u as useIsomorphicLayoutEffect } from './config-context-client-v7VOFo66.mjs';\nimport * as revalidateEvents from './events.mjs';\nexport { revalidateEvents };\nimport { INFINITE_PREFIX } from './constants.mjs';\nexport { INFINITE_PREFIX } from './constants.mjs';\nimport React, { useContext } from 'react';\nexport * from './types.mjs';\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n if (key.startsWith(INFINITE_PREFIX)) {\n // we want the infinite fetcher to be called.\n // handling of the PRELOAD cache happens there.\n return fetcher_(...args);\n }\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { SWRGlobalState, cache, defaultConfig, isFunction, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, normalize, preload, serialize, subscribeCallback, useSWRConfig, withArgs, withMiddleware };\n","import React, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { OBJECT as OBJECT$1, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, serialize as serialize$1, createCacheHelper, isUndefined as isUndefined$1, UNDEFINED as UNDEFINED$1, isPromiseLike, getTimestamp, isFunction as isFunction$1, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from '../_internal/index.mjs';\nexport { mutate, preload, useSWRConfig } from '../_internal/index.mjs';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\nconst isObjectType = (value, type)=>OBJECT.prototype.toString.call(value) === `[object ${type}]`;\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const isDate = isObjectType(arg, 'Date');\n const isRegex = isObjectType(arg, 'RegExp');\n const isPlainObject = isObjectType(arg, 'Object');\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && !isRegex) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (Array.isArray(arg)) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (isPlainObject) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// <reference types=\"react/experimental\" />\nconst use = React.use || // This extra generic is to avoid TypeScript mixing up the generic and JSX sytax\n// and emitting an error.\n// We assume that this is only for the `use(thenable)` case, not `use(context)`.\n// https://github.com/facebook/react/blob/aed00dacfb79d17c53218404c52b1c7aa59c4a89/packages/react-server/src/ReactFizzThenable.js#L45\n((thenable)=>{\n switch(thenable.status){\n case 'pending':\n throw thenable;\n case 'fulfilled':\n return thenable.value;\n case 'rejected':\n throw thenable.reason;\n default:\n thenable.status = 'pending';\n thenable.then((v)=>{\n thenable.status = 'fulfilled';\n thenable.value = v;\n }, (e)=>{\n thenable.status = 'rejected';\n thenable.reason = e;\n });\n throw thenable;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize$1(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n // Resolve the fallback data from either the inline option, or the global provider.\n // If it's a promise, we simply let React suspend and resolve it for us.\n const fallback = isUndefined$1(fallbackData) ? isUndefined$1(config.fallback) ? UNDEFINED$1 : config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined$1(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined$1(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n return revalidateIfStale !== false;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined$1(cachedData) ? fallback && isPromiseLike(fallback) ? use(fallback) : fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined$1(cachedData) ? isUndefined$1(laggyDataRef.current) ? data : laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined$1(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined$1(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined$1(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined$1(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined$1(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined$1(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined$1(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined$1(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n // Wait until the ongoing request is done. Deduplication is also\n // considered here.\n ;\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED$1;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined$1(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction$1(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined$1(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED$1, WITH_DEDUPE);\n let nextFocusRevalidatedAt = 0;\n if (getConfig().revalidateOnFocus) {\n const initNow = Date.now();\n nextFocusRevalidatedAt = initNow + getConfig().focusThrottleInterval;\n }\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined$1(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction$1(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined$1(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any fallback data. This causes hydration errors. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using Suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined$1(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined$1(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined$1(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n const swrResponse = {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n return swrResponse;\n};\nconst SWRConfig = OBJECT$1.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\n// useSWR\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n","import useSWR from \"swr\";\nimport { getFigmaFile } from \"@animaapp/anima-sdk\";\n\nexport const useFigmaFile = ({\n fileKey,\n authToken,\n enabled = true,\n params = {},\n}: {\n fileKey: string;\n authToken: string;\n enabled?: boolean;\n params?: {\n depth?: number;\n };\n}) => {\n const isEnabled = Boolean(enabled && fileKey && authToken);\n\n const { data, isLoading, error } = useSWR(\n [\"useFigmaFile\", fileKey, authToken, params],\n () => {\n if (!isEnabled) {\n return null;\n }\n\n return getFigmaFile({\n fileKey,\n authToken,\n params,\n });\n },\n {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n }\n );\n\n return {\n data: data ?? null,\n isLoading,\n error,\n };\n};\n"],"names":["arrayBufferToBase64","buffer","binary","bytes","len","i","xs","ks","Ts","Ft","Ss","Es","Dt","s","t","g","I","n","c","u","me","Qt","As","es","Cs","ts","Is","ss","Os","rs","js","ns","r","a","Ps","$s","Fs","Vt","Ds","Ls","Ut","as","Wt","V","Zt","Mt","S","z","R","K","N","Vs","Us","Ws","wt","zs","zt","Bs","f","v","j","M","F","W","ee","he","ie","L","oe","et","xe","E","ke","pe","b","qs","Hs","Pt","Js","Gs","Ks","Ce","Xs","Ys","xt","Bt","Qs","er","tr","yt","sr","rr","nr","ar","ir","or","cr","ur","te","P","qt","dr","lr","fr","hr","pr","kt","je","Tt","mr","st","ge","rt","St","is","gr","yr","vr","_r","br","Ht","Re","wr","vt","os","Et","xr","kr","ye","D","J","At","Ct","Ze","Tr","Jt","_t","Me","Sr","Er","Ar","G","It","cs","Cr","nt","Ir","ce","us","Or","e","k","Ot","p","re","l","Nr","U","Ie","ls","jr","at","it","Rr","h","Z","_","Ee","$","Nt","jt","_e","De","ot","fs","m","Pe","$e","Y","Gt","w","o","x","H","y","X","fe","q","Ne","We","ze","Ge","$t","Ke","Qe","Xe","Zr","Mr","Pr","$r","Fr","Dr","Lr","Vr","Ur","bt","Wr","zr","Br","qr","Hr","Jr","hs","Gr","ps","Kr","ms","Xr","Yr","Qr","B","en","ue","de","Le","be","ct","Ve","Ue","Oe","ve","ae","ut","Se","O","Q","gs","se","qe","He","le","Je","ft","Rt","Be","dt","we","Ae","lt","tn","Kt","ys","sn","rn","vs","_s","nn","an","bs","on","cn","un","dn","ln","fn","hn","pn","mn","gn","yn","vn","_n","bn","wn","xn","kn","Tn","Sn","En","An","Cn","In","On","Xt","Nn","jn","Rn","Zn","Mn","Pn","$n","Fn","Dn","T","ParseError","message","options","noop","_arg","createParser","callbacks","onEvent","onError","onRetry","onComment","incompleteLine","isFirstChunk","id","data","eventType","feed","newChunk","chunk","complete","incomplete","splitLines","line","parseLine","dispatchEvent","fieldSeparatorIndex","field","offset","value","processField","reset","lines","searchIndex","crIndex","lfIndex","lineEnd","ErrorEvent","type","errorEventInitDict","_a","_b","_depth","inspect","inspectableError","syntaxError","DomException","flattenError","err","__typeError","msg","__accessCheck","obj","member","__privateGet","getter","__privateAdd","__privateSet","setter","__privateMethod","method","_readyState","_url","_redirectUrl","_withCredentials","_fetch","_reconnectInterval","_reconnectTimer","_lastEventId","_controller","_parser","_onError","_onMessage","_onOpen","_EventSource_instances","connect_fn","_onFetchResponse","_onFetchError","getRequestOptions_fn","_onEvent","_onRetryChange","failConnection_fn","scheduleReconnect_fn","_reconnect","EventSource","url","eventSourceInitDict","response","__async","_a2","body","redirected","status","headers","openEvent","decoder","reader","open","done","event","messageEvent","getBaseURL","listener","listen","init","__spreadValues","code","errorEvent","doc","NOTHING","DRAFTABLE","DRAFT_STATE","errors","plugin","thing","die","error","args","getPrototypeOf","isDraft","isDraftable","isPlainObject","isMap","isSet","objectCtorString","proto","Ctor","each","iter","getArchtype","key","entry","index","state","has","prop","set","propOrOldValue","target","latest","shallowCopy","base","strict","isPlain","descriptors","keys","desc","freeze","deep","isFrozen","dontMutateFrozenCollections","plugins","getPlugin","pluginKey","currentScope","getCurrentScope","createScope","parent_","immer_","usePatchesInScope","scope","patchListener","revokeScope","leaveScope","revokeDraft","enterScope","immer2","draft","processResult","result","baseDraft","finalize","maybeFreeze","rootScope","path","childValue","finalizeProperty","resultEach","isSet2","parentState","targetObject","rootPath","targetIsSet","res","createProxyProxy","parent","isArray","traps","objectTraps","arrayTraps","revoke","proxy","source","readPropFromProto","peek","prepareCopy","createProxy","getDescriptorFromProto","current2","currentState","markChanged","owner","Immer2","config","recipe","defaultBase","self","base2","hasError","ip","patches","inversePatches","current","patch","applyPatchesImpl","currentImpl","copy","immer","produce","MAX_RETRIES_AFTER_ERROR","defaultProgress","getAssetsLocalStrategyParams","localAssetsStorage","useAnimaCodegen","updateStatus","useImmer","params","initialParams","referencePath","lastFetchResponse","__spreadProps","promise","resolve","CodegenError","errorCount","errorPayload","errorStatusCode","isUnrecoverableError","codegenError","_c","shouldTerminateRequest","filePath","downloadAssetsPromises","asset","assets","assetPromise","assetsList","assetName","base64","assetPath","React","require$$0","objectIs","useState","useEffect","useLayoutEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","_useState","inst","forceUpdate","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","didWarnOld18Alpha","didWarnUncachedGetSnapshot","cachedValue","useSyncExternalStoreShim_development","shimModule","require$$1","FOCUS_EVENT","RECONNECT_EVENT","MUTATE_EVENT","ERROR_REVALIDATE_EVENT","dequal","foo","bar","ctor","SWRGlobalState","UNDEFINED","OBJECT","isUndefined","isFunction","mergeObjects","isPromiseLike","EMPTY_CACHE","INITIAL_CACHE","STR_UNDEFINED","isWindowDefined","isDocumentDefined","isLegacyDeno","hasRequestAnimationFrame","createCacheHelper","cache","info","prev","online","isOnline","onWindowEvent","offWindowEvent","isVisible","visibilityState","initFocus","callback","initReconnect","onOnline","onOffline","preset","defaultConfigOptions","IS_REACT_LEGACY","IS_SERVER","rAF","useIsomorphicLayoutEffect","navigatorConnection","slowConnection","table","isObjectType","counter","stableHash","arg","isDate","isRegex","serialize","__timestamp","getTimestamp","internalMutate","_key","_data","_opts","populateCache","rollbackOnErrorOption","optimisticData","rollbackOnError","throwOnError","keyFilter","matchedKeys","mutateByKey","_k","get","EVENT_REVALIDATORS","MUTATION","FETCH","PRELOAD","startRevalidate","revalidators","revalidateEvents.MUTATE_EVENT","beforeMutationTs","hasOptimisticData","displayedData","currentData","committedData","populateCachedData","revalidateAllKeys","initCache","provider","opts","mutate","unmount","subscriptions","subs","initProvider","releaseFocus","revalidateEvents.FOCUS_EVENT","releaseReconnect","revalidateEvents.RECONNECT_EVENT","onErrorRetry","__","revalidate","maxRetryCount","currentRetryCount","timeout","compare","defaultConfig","mergeConfigs","u1","f1","u2","f2","SWRConfigContext","createContext","INFINITE_PREFIX","enableDevtools","use","setupDevTools","normalize","useSWRConfig","useContext","middleware","useSWRNext","key_","fetcher_","req","BUILT_IN_MIDDLEWARE","withArgs","hook","fallbackConfig","_config","next","subscribeCallback","keyedRevalidators","thenable","WITH_DEDUPE","useSWRHandler","fetcher","suspense","fallbackData","revalidateOnMount","revalidateIfStale","refreshInterval","refreshWhenHidden","refreshWhenOffline","keepPreviousData","fnArg","serialize$1","initialMountedRef","useRef","unmountedRef","keyRef","fetcherRef","configRef","getConfig","isActive","getCache","setCache","subscribeCache","getInitialCache","stateDependencies","fallback","isUndefined$1","UNDEFINED$1","isEqual","returnedData","useMemo","shouldStartRequest","getSelectedCache","snapshot","cachedData","initialData","clientSnapshot","serverSnapshot","memorizedSnapshot","newSnapshot","cached","useSyncExternalStore","useCallback","isInitialMount","hasRevalidator","laggyDataRef","shouldDoInitialRevalidation","defaultValidatingState","isValidating","isLoading","revalidateOpts","currentFetcher","newData","startAt","loading","shouldStartNewRequest","callbackSafeguard","finalState","finishRequestAndUpdateState","cleanupState","requestInfo","initialState","mutationInfo","cacheData","currentConfig","shouldRetryOnError","isFunction$1","revalidateEvents.ERROR_REVALIDATE_EVENT","boundMutate","softRevalidate","nextFocusRevalidatedAt","unsubEvents","now","timer","interval","execute","useSWR","useFigmaFile","fileKey","authToken","enabled","isEnabled","getFigmaFile"],"mappings":"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","x_google_ignoreList":[2,3,4,5,7,8,9,10,11,12,13,14,15]}
|